diff --git a/LimeStudio/app/build.gradle b/LimeStudio/app/build.gradle
index f95b748..7d7e4f1 100644
--- a/LimeStudio/app/build.gradle
+++ b/LimeStudio/app/build.gradle
@@ -34,8 +34,8 @@ android {
minSdkVersion 23
targetSdkVersion 30
- versionCode 642
- versionName '6.4.2'
+ versionCode 650
+ versionName '6.5.0'
}
buildTypes {
release {
diff --git a/LimeStudio/app/src/main/java/net/toload/main/hd/LIMEService.java b/LimeStudio/app/src/main/java/net/toload/main/hd/LIMEService.java
index e3b1b52..73fd00c 100644
--- a/LimeStudio/app/src/main/java/net/toload/main/hd/LIMEService.java
+++ b/LimeStudio/app/src/main/java/net/toload/main/hd/LIMEService.java
@@ -1527,23 +1527,23 @@ private void commitTyped(InputConnection ic) {
* Candidate Hint Handlings -- Start
*/
private static final int HINT_COUNT = 5;
- private static final int HIDE_HINT_INTERVAL = 1000 * 3;
+ private static final int HIDE_HINT_INTERVAL = 1000 * 5;
private Timer timer = null;
+ private String hint = "";
private void candidateHintAddWord(String word) {
candidateHintView.setVisibility(View.VISIBLE);
- if (mCandidateView != null) {
- candidateHintView.setTextColor(mCandidateView.mColorNormalText);
- }
- String newHint = (candidateHintView.getText() + word);
+ String newHint = hint + word;
if (newHint.length() > HINT_COUNT) {
candidateHintView.setText(newHint.substring(newHint.length()-HINT_COUNT));
} else {
candidateHintView.setText(newHint);
}
+ hint = candidateHintView.getText().toString();
if (timer != null) {
timer.cancel();
+ timer = null;
}
timer = new Timer();
timer.schedule(new TimerTask() {
@@ -1556,12 +1556,30 @@ public void run() {
}, HIDE_HINT_INTERVAL);
}
- private void clearCandidateHint(){
- candidateHintView.post(new Runnable() {
- @Override
- public void run() {
- candidateHintView.setText("");
+ private void candidateHintAddComposing(String composingText) {
+ candidateHintView.post(() -> {
+ candidateHintView.setVisibility(View.VISIBLE);
+ candidateHintView.setText(hint + composingText);
+ if (timer != null) {
+ timer.cancel();
+ timer = null;
}
+ timer = new Timer();
+ timer.schedule(new TimerTask() {
+ @Override
+ public void run() {
+ clearCandidateHint();
+ timer = null;
+ }
+
+ }, HIDE_HINT_INTERVAL);
+ });
+ }
+
+ private void clearCandidateHint(){
+ candidateHintView.post(() -> {
+ candidateHintView.setText("");
+ hint = "";
});
}
@@ -2342,6 +2360,9 @@ public void run() {
// Show composing window if keyToKeyname got different string. Revised by Jeremy '11,6,4
if (SearchSrv.getTablename() != null) {
String keynameString = SearchSrv.keyToKeyname(finalKeyString); //.toLowerCase(Locale.US)); moved to LimeDB
+ if (mLIMEPref.shouldShowTypedWord()) {
+ candidateHintAddComposing(keynameString);
+ }
if (mCandidateView != null
&& !keynameString.toUpperCase(Locale.US).equals(finalKeyString.toUpperCase(Locale.US))
&& !keynameString.trim().equals("")
@@ -2957,6 +2978,9 @@ private void initialViewAndSwitcher(boolean forceRecreate) {
mCandidateViewInInputView.setService(this);
candidateHintView = mCandidateInInputView.findViewById(R.id.candidate_hint);
+ if (mCandidateView != null) {
+ candidateHintView.setTextColor(mCandidateView.mColorNormalText);
+ }
}
if (mCandidateView != mCandidateViewInInputView)
mCandidateView = mCandidateViewInInputView;
diff --git a/LimeStudio/app/src/main/java/net/toload/main/hd/keyboard/LIMEBaseKeyboard.java b/LimeStudio/app/src/main/java/net/toload/main/hd/keyboard/LIMEBaseKeyboard.java
index d28eb42..c0454cc 100644
--- a/LimeStudio/app/src/main/java/net/toload/main/hd/keyboard/LIMEBaseKeyboard.java
+++ b/LimeStudio/app/src/main/java/net/toload/main/hd/keyboard/LIMEBaseKeyboard.java
@@ -224,12 +224,12 @@ public class LIMEBaseKeyboard {
/**
* Reserved space in the middle in unit of columns for separated keyboard in landscape mode.
*/
- protected static int mReservedColumnsForSplitedKeyboard = 3;
+ protected static int mReservedColumnsForSplitedKeyboard = 2;
/**
* Key width reduction scale for separated keyboard in landscape mode.
*/
- protected static float mSplitedKeyWidthScale = 0.8f;
+ protected static float mSplitedKeyWidthScale = 1.2f;
/**
* Key width for separated keyboard in landscape mode.
diff --git a/LimeStudio/app/src/main/res/values-land/config.xml b/LimeStudio/app/src/main/res/values-land/config.xml
index a8aec84..0fb4561 100644
--- a/LimeStudio/app/src/main/res/values-land/config.xml
+++ b/LimeStudio/app/src/main/res/values-land/config.xml
@@ -24,5 +24,5 @@
-->
- 3
+ 2
diff --git a/LimeStudio/app/src/main/res/values-zh-rCN/strings_settings.xml b/LimeStudio/app/src/main/res/values-zh-rCN/strings_settings.xml
index 45bf91e..9c4c4e8 100644
--- a/LimeStudio/app/src/main/res/values-zh-rCN/strings_settings.xml
+++ b/LimeStudio/app/src/main/res/values-zh-rCN/strings_settings.xml
@@ -784,11 +784,11 @@
- 2
+ - 5
+ - 10
+ - 15
- 20
- - 30
- 40
- - 50
- - 60
\ No newline at end of file
diff --git a/LimeStudio/app/src/main/res/values/strings_settings.xml b/LimeStudio/app/src/main/res/values/strings_settings.xml
index dfeab9f..f7d3804 100644
--- a/LimeStudio/app/src/main/res/values/strings_settings.xml
+++ b/LimeStudio/app/src/main/res/values/strings_settings.xml
@@ -788,11 +788,11 @@
- 2
- - 20
- - 30
- - 40
- - 50
- - 60
+ - 1
+ - 3
+ - 5
+ - 10
+ - 15
\ No newline at end of file