diff options
8 files changed, 20 insertions, 9 deletions
diff --git a/java/AndroidManifest.xml b/java/AndroidManifest.xml index ac84c3388..633c68be3 100644 --- a/java/AndroidManifest.xml +++ b/java/AndroidManifest.xml @@ -54,6 +54,13 @@ <permission android:name="com.android.inputmethod.latin.HIDE_SOFT_INPUT" android:protectionLevel="signature"/> + <!-- To query enabled input methods. --> + <queries> + <intent> + <action android:name="android.view.InputMethod" /> + </intent> + </queries> + <application android:label="@string/english_ime_name" android:icon="@drawable/ic_launcher_keyboard" android:supportsRtl="true" @@ -65,7 +72,8 @@ <service android:name="LatinIME" android:label="@string/english_ime_name" android:permission="android.permission.BIND_INPUT_METHOD" - android:exported="true"> + android:exported="true" + android:visibleToInstantApps="true"> <intent-filter> <action android:name="android.view.InputMethod"/> </intent-filter> @@ -149,7 +157,7 @@ <activity android:name="com.android.inputmethod.dictionarypack.DownloadOverMeteredDialog" android:theme="@style/platformActivityTheme" android:label="@string/dictionary_install_over_metered_network_prompt" - android:exported="true"> + android:exported="false"> <intent-filter> <action android:name="android.intent.action.MAIN"/> </intent-filter> diff --git a/java/src/com/android/inputmethod/dictionarypack/DownloadManagerWrapper.java b/java/src/com/android/inputmethod/dictionarypack/DownloadManagerWrapper.java index 6f6b02637..e2e9a7e44 100644 --- a/java/src/com/android/inputmethod/dictionarypack/DownloadManagerWrapper.java +++ b/java/src/com/android/inputmethod/dictionarypack/DownloadManagerWrapper.java @@ -26,6 +26,7 @@ import android.os.ParcelFileDescriptor; import android.util.Log; import java.io.FileNotFoundException; +import java.util.Arrays; import javax.annotation.Nullable; @@ -62,7 +63,8 @@ public class DownloadManagerWrapper { // We couldn't remove the file from DownloadManager. Apparently, the database can't // be opened. It may be a problem with file system corruption. In any case, there is // not much we can do apart from avoiding crashing. - Log.e(TAG, "Can't remove files with ID " + ids + " from download manager", e); + Log.e(TAG, "Can't remove files with ID " + Arrays.toString(ids) + + " from download manager", e); } } diff --git a/java/src/com/android/inputmethod/keyboard/PointerTracker.java b/java/src/com/android/inputmethod/keyboard/PointerTracker.java index 9764cb389..c0ac1c054 100644 --- a/java/src/com/android/inputmethod/keyboard/PointerTracker.java +++ b/java/src/com/android/inputmethod/keyboard/PointerTracker.java @@ -281,7 +281,7 @@ public final class PointerTracker implements PointerTrackerQueue.Element, if (DEBUG_LISTENER) { final String output = code == Constants.CODE_OUTPUT_TEXT ? key.getOutputText() : Constants.printableCode(code); - Log.d(TAG, String.format("[%d] onCodeInput: %4d %4d %s%s%s", mPointerId, x, y, + Log.d(TAG, String.format("[%d] onCodeInput: %4d %4d %s%s%s%s", mPointerId, x, y, output, ignoreModifierKey ? " ignoreModifier" : "", altersCode ? " altersCode" : "", key.isEnabled() ? "" : " disabled")); } diff --git a/java/src/com/android/inputmethod/latin/utils/CursorAnchorInfoUtils.java b/java/src/com/android/inputmethod/latin/utils/CursorAnchorInfoUtils.java index c90d30c42..41090c054 100644 --- a/java/src/com/android/inputmethod/latin/utils/CursorAnchorInfoUtils.java +++ b/java/src/com/android/inputmethod/latin/utils/CursorAnchorInfoUtils.java @@ -216,7 +216,7 @@ public final class CursorAnchorInfoUtils { if (isTopLeftVisible || isBottomRightVisible) { characterBoundsFlags |= CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION; } - if (!isTopLeftVisible || !isTopLeftVisible) { + if (!isTopLeftVisible || !isBottomRightVisible) { characterBoundsFlags |= CursorAnchorInfo.FLAG_HAS_INVISIBLE_REGION; } if (isRtl) { diff --git a/tests/src/com/android/inputmethod/keyboard/layout/expected/ExpectedKeyOutput.java b/tests/src/com/android/inputmethod/keyboard/layout/expected/ExpectedKeyOutput.java index e7b0f091d..e2b98bc69 100644 --- a/tests/src/com/android/inputmethod/keyboard/layout/expected/ExpectedKeyOutput.java +++ b/tests/src/com/android/inputmethod/keyboard/layout/expected/ExpectedKeyOutput.java @@ -131,7 +131,7 @@ abstract class ExpectedKeyOutput { @Override boolean hasSameKeyOutput(final String text) { - return text.equals(text); + return mText.equals(text); } @Override diff --git a/tests/src/com/android/inputmethod/latin/makedict/Ver2DictEncoder.java b/tests/src/com/android/inputmethod/latin/makedict/Ver2DictEncoder.java index c63b972eb..b5694caa3 100644 --- a/tests/src/com/android/inputmethod/latin/makedict/Ver2DictEncoder.java +++ b/tests/src/com/android/inputmethod/latin/makedict/Ver2DictEncoder.java @@ -34,6 +34,7 @@ import java.util.Comparator; import java.util.HashMap; import java.util.Iterator; import java.util.Map.Entry; +import java.util.Objects; /** * An implementation of DictEncoder for version 2 binary dictionary. @@ -100,7 +101,7 @@ public class Ver2DictEncoder implements DictEncoder { Collections.sort(codePointOccurrenceArray, new Comparator<Entry<Integer, Integer>>() { @Override public int compare(final Entry<Integer, Integer> a, final Entry<Integer, Integer> b) { - if (a.getValue() != b.getValue()) { + if (!Objects.equals(a.getValue(), b.getValue())) { return b.getValue().compareTo(a.getValue()); } return b.getKey().compareTo(a.getKey()); diff --git a/tools/dicttool/tests/com/android/inputmethod/latin/dicttool/BinaryDictOffdeviceUtilsTests.java b/tools/dicttool/tests/com/android/inputmethod/latin/dicttool/BinaryDictOffdeviceUtilsTests.java index 84d36a0c3..d3ecc9154 100644 --- a/tools/dicttool/tests/com/android/inputmethod/latin/dicttool/BinaryDictOffdeviceUtilsTests.java +++ b/tools/dicttool/tests/com/android/inputmethod/latin/dicttool/BinaryDictOffdeviceUtilsTests.java @@ -162,7 +162,7 @@ public class BinaryDictOffdeviceUtilsTests extends TestCase { options.put("locale", "en_US"); options.put("version", Integer.toString(mRandom.nextInt())); // Add some random options for test - final int numberOfOptionsToAdd = mRandom.nextInt() % (MAX_NUMBER_OF_OPTIONS_TO_ADD + 1); + final int numberOfOptionsToAdd = mRandom.nextInt(MAX_NUMBER_OF_OPTIONS_TO_ADD + 1); for (int i = 0; i < numberOfOptionsToAdd; ++i) { options.put(sWords.get(2 * i), sWords.get(2 * 1 + 1)); } diff --git a/tools/dicttool/tests/com/android/inputmethod/latin/makedict/FusionDictionaryTest.java b/tools/dicttool/tests/com/android/inputmethod/latin/makedict/FusionDictionaryTest.java index 626023920..901d0cef3 100644 --- a/tools/dicttool/tests/com/android/inputmethod/latin/makedict/FusionDictionaryTest.java +++ b/tools/dicttool/tests/com/android/inputmethod/latin/makedict/FusionDictionaryTest.java @@ -47,7 +47,7 @@ public class FusionDictionaryTest extends TestCase { */ private String generateWord(final Random random) { StringBuilder builder = new StringBuilder("a"); - int count = random.nextInt() % 30; + int count = random.nextInt(30); while (count > 0) { final long r = Math.abs(random.nextInt()); if (r < 0) continue; |