diff options
Diffstat (limited to 'java/src')
3 files changed, 40 insertions, 4 deletions
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java index 624c322a0..f041f4ecf 100644 --- a/java/src/com/android/inputmethod/latin/LatinIME.java +++ b/java/src/com/android/inputmethod/latin/LatinIME.java @@ -93,6 +93,9 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen private static final int QUICK_PRESS = 200; private static final int PENDING_IMS_CALLBACK_DURATION = 800; + // TODO: remove this + private static final boolean WORKAROUND_USE_LAST_BACKING_HEIGHT_WHEN_NOT_READY = true; + private static int sLastBackingHeight = 0; /** * The name of the scheme used by the Package Manager to warn of a new package installation, @@ -942,8 +945,15 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen // be considered. // See {@link android.inputmethodservice.InputMethodService#onComputeInsets}. final int extractHeight = isFullscreenMode() ? mExtractArea.getHeight() : 0; - final int backingHeight = (mKeyPreviewBackingView.getVisibility() == View.GONE) ? 0 - : mKeyPreviewBackingView.getHeight(); + final boolean backingGone = mKeyPreviewBackingView.getVisibility() == View.GONE; + int backingHeight = backingGone ? 0 : mKeyPreviewBackingView.getHeight(); + if (WORKAROUND_USE_LAST_BACKING_HEIGHT_WHEN_NOT_READY && !backingGone) { + if (backingHeight <= 0) { + backingHeight = sLastBackingHeight; + } else { + sLastBackingHeight = backingHeight; + } + } final int suggestionsHeight = (mSuggestionsContainer.getVisibility() == View.GONE) ? 0 : mSuggestionsContainer.getHeight(); final int extraHeight = extractHeight + backingHeight + suggestionsHeight; @@ -963,6 +973,11 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen } outInsets.contentTopInsets = touchY; outInsets.visibleTopInsets = touchY; + if (WORKAROUND_USE_LAST_BACKING_HEIGHT_WHEN_NOT_READY) { + if (LatinImeLogger.sDBG) { + Log.i(TAG, "--- insets: " + touchY + "," + backingHeight + "," + suggestionsHeight); + } + } } @Override diff --git a/java/src/com/android/inputmethod/latin/ResearchLogger.java b/java/src/com/android/inputmethod/latin/ResearchLogger.java index 92fb0c408..92a9633de 100644 --- a/java/src/com/android/inputmethod/latin/ResearchLogger.java +++ b/java/src/com/android/inputmethod/latin/ResearchLogger.java @@ -17,6 +17,7 @@ package com.android.inputmethod.latin; import android.content.SharedPreferences; +import android.content.SharedPreferences.Editor; import android.inputmethodservice.InputMethodService; import android.os.Build; import android.os.Handler; @@ -48,6 +49,7 @@ import java.nio.CharBuffer; import java.nio.channels.FileChannel; import java.nio.charset.Charset; import java.util.Map; +import java.util.UUID; /** * Logs the use of the LatinIME keyboard. @@ -60,6 +62,7 @@ import java.util.Map; public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChangeListener { private static final String TAG = ResearchLogger.class.getSimpleName(); private static final String PREF_USABILITY_STUDY_MODE = "usability_study_mode"; + private static final String PREF_RESEARCH_LOGGER_UUID_STRING = "pref_research_logger_uuid"; private static final boolean DEBUG = false; private static final ResearchLogger sInstance = new ResearchLogger(new LogFileManager()); @@ -577,6 +580,8 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang if (UnsLogGroup.LATINIME_ONSTARTINPUTVIEWINTERNAL_ENABLED) { final StringBuilder builder = new StringBuilder(); builder.append("onStartInputView: editorInfo:"); + builder.append("\tpackageName="); + builder.append(editorInfo.packageName); builder.append("\tinputType="); builder.append(Integer.toHexString(editorInfo.inputType)); builder.append("\timeOptions="); @@ -588,10 +593,23 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang Object value = entry.getValue(); builder.append("=" + ((value == null) ? "<null>" : value.toString())); } + builder.append("\tuuid="); builder.append(getUUID(prefs)); logUnstructured("LatinIME_onStartInputViewInternal", builder.toString()); } } + private static String getUUID(final SharedPreferences prefs) { + String uuidString = prefs.getString(PREF_RESEARCH_LOGGER_UUID_STRING, null); + if (null == uuidString) { + UUID uuid = UUID.randomUUID(); + uuidString = uuid.toString(); + Editor editor = prefs.edit(); + editor.putString(PREF_RESEARCH_LOGGER_UUID_STRING, uuidString); + editor.apply(); + } + return uuidString; + } + public static void latinIME_onUpdateSelection(final int lastSelectionStart, final int lastSelectionEnd, final int oldSelStart, final int oldSelEnd, final int newSelStart, final int newSelEnd, final int composingSpanStart, @@ -801,4 +819,4 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang logUnstructured("SuggestionsView_setSuggestions", mSuggestedWords.toString()); } } -}
\ No newline at end of file +} diff --git a/java/src/com/android/inputmethod/latin/makedict/MakedictLog.java b/java/src/com/android/inputmethod/latin/makedict/MakedictLog.java index cff8d6fd0..cdc04af10 100644 --- a/java/src/com/android/inputmethod/latin/makedict/MakedictLog.java +++ b/java/src/com/android/inputmethod/latin/makedict/MakedictLog.java @@ -20,9 +20,12 @@ package com.android.inputmethod.latin.makedict; * Wrapper to redirect log events to the right output medium. */ public class MakedictLog { + private static final boolean DEBUG = false; private static void print(String message) { - System.out.println(message); + if (DEBUG) { + System.out.println(message); + } } public static void d(String message) { |