aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
Diffstat (limited to 'java')
-rw-r--r--java/AndroidManifest.xml8
-rw-r--r--java/res/drawable-hdpi/ic_setup_wizard.pngbin702 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/ic_setup_wizard.pngbin626 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/ic_setup_wizard.pngbin737 -> 0 bytes
-rw-r--r--java/res/drawable-xxhdpi/ic_setup_wizard.pngbin892 -> 0 bytes
-rw-r--r--java/res/mipmap-hdpi/ic_ime_settings.pngbin2307 -> 0 bytes
-rw-r--r--java/res/mipmap-hdpi/ic_launcher_keyboard.pngbin0 -> 7646 bytes
-rw-r--r--java/res/mipmap-mdpi/ic_ime_settings.pngbin2074 -> 0 bytes
-rw-r--r--java/res/mipmap-mdpi/ic_launcher_keyboard.pngbin0 -> 4349 bytes
-rw-r--r--java/res/mipmap-xhdpi/ic_ime_settings.pngbin3070 -> 0 bytes
-rw-r--r--java/res/mipmap-xhdpi/ic_launcher_keyboard.pngbin0 -> 12231 bytes
-rw-r--r--java/res/mipmap-xxhdpi/ic_ime_settings.pngbin2644 -> 0 bytes
-rw-r--r--java/res/mipmap-xxhdpi/ic_launcher_keyboard.pngbin0 -> 21221 bytes
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/GesturePreviewTrail.java29
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/GestureStrokeWithPreviewPoints.java8
-rw-r--r--java/src/com/android/inputmethod/latin/RichInputMethodManager.java17
-rw-r--r--java/src/com/android/inputmethod/latin/SubtypeSwitcher.java2
17 files changed, 49 insertions, 15 deletions
diff --git a/java/AndroidManifest.xml b/java/AndroidManifest.xml
index 4a8b95516..e39ca18ee 100644
--- a/java/AndroidManifest.xml
+++ b/java/AndroidManifest.xml
@@ -32,7 +32,7 @@
<uses-permission android:name="android.permission.WRITE_USER_DICTIONARY" />
<application android:label="@string/english_ime_name"
- android:icon="@mipmap/ic_ime_settings"
+ android:icon="@mipmap/ic_launcher_keyboard"
android:killAfterRestore="false"
android:supportsRtl="true">
@@ -56,7 +56,9 @@
<activity android:name=".setup.SetupActivity"
android:label="@string/english_ime_name"
- android:icon="@drawable/ic_setup_wizard">
+ android:icon="@mipmap/ic_launcher_keyboard"
+ android:launchMode="singleTop"
+ android:clearTaskOnLaunch="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
@@ -125,7 +127,6 @@
<activity android:name="com.android.inputmethod.dictionarypack.DictionarySettingsActivity"
android:label="@string/dictionary_settings_title"
- android:icon="@mipmap/ic_ime_settings"
android:theme="@android:style/Theme.Holo"
android:uiOptions="splitActionBarWhenNarrow">
<intent-filter>
@@ -135,7 +136,6 @@
<activity android:name="com.android.inputmethod.dictionarypack.DownloadOverMeteredDialog"
android:label="@string/dictionary_install_over_metered_network_prompt"
- android:icon="@mipmap/ic_ime_settings"
android:theme="@android:style/Theme.Holo">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
diff --git a/java/res/drawable-hdpi/ic_setup_wizard.png b/java/res/drawable-hdpi/ic_setup_wizard.png
deleted file mode 100644
index 38fca6d9d..000000000
--- a/java/res/drawable-hdpi/ic_setup_wizard.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/ic_setup_wizard.png b/java/res/drawable-mdpi/ic_setup_wizard.png
deleted file mode 100644
index 66e62b820..000000000
--- a/java/res/drawable-mdpi/ic_setup_wizard.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/ic_setup_wizard.png b/java/res/drawable-xhdpi/ic_setup_wizard.png
deleted file mode 100644
index 53f70a617..000000000
--- a/java/res/drawable-xhdpi/ic_setup_wizard.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xxhdpi/ic_setup_wizard.png b/java/res/drawable-xxhdpi/ic_setup_wizard.png
deleted file mode 100644
index 6414b4f36..000000000
--- a/java/res/drawable-xxhdpi/ic_setup_wizard.png
+++ /dev/null
Binary files differ
diff --git a/java/res/mipmap-hdpi/ic_ime_settings.png b/java/res/mipmap-hdpi/ic_ime_settings.png
deleted file mode 100644
index 486c70d34..000000000
--- a/java/res/mipmap-hdpi/ic_ime_settings.png
+++ /dev/null
Binary files differ
diff --git a/java/res/mipmap-hdpi/ic_launcher_keyboard.png b/java/res/mipmap-hdpi/ic_launcher_keyboard.png
new file mode 100644
index 000000000..36b1ccae2
--- /dev/null
+++ b/java/res/mipmap-hdpi/ic_launcher_keyboard.png
Binary files differ
diff --git a/java/res/mipmap-mdpi/ic_ime_settings.png b/java/res/mipmap-mdpi/ic_ime_settings.png
deleted file mode 100644
index 75f4afb60..000000000
--- a/java/res/mipmap-mdpi/ic_ime_settings.png
+++ /dev/null
Binary files differ
diff --git a/java/res/mipmap-mdpi/ic_launcher_keyboard.png b/java/res/mipmap-mdpi/ic_launcher_keyboard.png
new file mode 100644
index 000000000..67ef189ff
--- /dev/null
+++ b/java/res/mipmap-mdpi/ic_launcher_keyboard.png
Binary files differ
diff --git a/java/res/mipmap-xhdpi/ic_ime_settings.png b/java/res/mipmap-xhdpi/ic_ime_settings.png
deleted file mode 100644
index bbf191975..000000000
--- a/java/res/mipmap-xhdpi/ic_ime_settings.png
+++ /dev/null
Binary files differ
diff --git a/java/res/mipmap-xhdpi/ic_launcher_keyboard.png b/java/res/mipmap-xhdpi/ic_launcher_keyboard.png
new file mode 100644
index 000000000..b33208332
--- /dev/null
+++ b/java/res/mipmap-xhdpi/ic_launcher_keyboard.png
Binary files differ
diff --git a/java/res/mipmap-xxhdpi/ic_ime_settings.png b/java/res/mipmap-xxhdpi/ic_ime_settings.png
deleted file mode 100644
index 16fc693ef..000000000
--- a/java/res/mipmap-xxhdpi/ic_ime_settings.png
+++ /dev/null
Binary files differ
diff --git a/java/res/mipmap-xxhdpi/ic_launcher_keyboard.png b/java/res/mipmap-xxhdpi/ic_launcher_keyboard.png
new file mode 100644
index 000000000..acc424fe2
--- /dev/null
+++ b/java/res/mipmap-xxhdpi/ic_launcher_keyboard.png
Binary files differ
diff --git a/java/src/com/android/inputmethod/keyboard/internal/GesturePreviewTrail.java b/java/src/com/android/inputmethod/keyboard/internal/GesturePreviewTrail.java
index 7fd1bedcb..761d9dcd6 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/GesturePreviewTrail.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/GesturePreviewTrail.java
@@ -18,6 +18,7 @@ package com.android.inputmethod.keyboard.internal;
import android.content.res.TypedArray;
import android.graphics.Canvas;
+import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.Rect;
@@ -35,12 +36,19 @@ import com.android.inputmethod.latin.ResizableIntArray;
* @attr ref R.styleable#MainKeyboardView_gesturePreviewTrailWidth
*/
final class GesturePreviewTrail {
+ public static final boolean DBG_SHOW_POINTS = false;
+ public static final int POINT_TYPE_SAMPLED = 0;
+ public static final int POINT_TYPE_INTERPOLATED = 1;
+ public static final int POINT_TYPE_COMPROMISED = 2;
+
private static final int DEFAULT_CAPACITY = GestureStrokeWithPreviewPoints.PREVIEW_CAPACITY;
// These three {@link ResizableIntArray}s should be synchronized by {@link #mEventTimes}.
private final ResizableIntArray mXCoordinates = new ResizableIntArray(DEFAULT_CAPACITY);
private final ResizableIntArray mYCoordinates = new ResizableIntArray(DEFAULT_CAPACITY);
private final ResizableIntArray mEventTimes = new ResizableIntArray(DEFAULT_CAPACITY);
+ private final ResizableIntArray mPointTypes = new ResizableIntArray(
+ DBG_SHOW_POINTS ? DEFAULT_CAPACITY : 0);
private int mCurrentStrokeId = -1;
// The wall time of the zero value in {@link #mEventTimes}
private long mCurrentTimeBase;
@@ -75,9 +83,9 @@ final class GesturePreviewTrail {
R.styleable.MainKeyboardView_gesturePreviewTrailShadowRatio, 0);
mTrailShadowEnabled = (trailShadowRatioInt > 0);
mTrailShadowRatio = (float)trailShadowRatioInt / (float)PERCENTAGE_INT;
- mFadeoutStartDelay = mainKeyboardViewAttr.getInt(
+ mFadeoutStartDelay = DBG_SHOW_POINTS ? 2000 : mainKeyboardViewAttr.getInt(
R.styleable.MainKeyboardView_gesturePreviewTrailFadeoutStartDelay, 0);
- mFadeoutDuration = mainKeyboardViewAttr.getInt(
+ mFadeoutDuration = DBG_SHOW_POINTS ? 200 : mainKeyboardViewAttr.getInt(
R.styleable.MainKeyboardView_gesturePreviewTrailFadeoutDuration, 0);
mTrailLingerDuration = mFadeoutStartDelay + mFadeoutDuration;
mUpdateInterval = mainKeyboardViewAttr.getInt(
@@ -125,7 +133,7 @@ final class GesturePreviewTrail {
final int lastInterpolatedIndex = (strokeId == mCurrentStrokeId)
? mLastInterpolatedDrawIndex : trailSize;
mLastInterpolatedDrawIndex = stroke.interpolateStrokeAndReturnStartIndexOfLastSegment(
- lastInterpolatedIndex, mEventTimes, mXCoordinates, mYCoordinates);
+ lastInterpolatedIndex, mEventTimes, mXCoordinates, mYCoordinates, mPointTypes);
if (strokeId != mCurrentStrokeId) {
final int elapsedTime = (int)(downTime - mCurrentTimeBase);
for (int i = mTrailStartIndex; i < trailSize; i++) {
@@ -204,6 +212,7 @@ final class GesturePreviewTrail {
final int[] eventTimes = mEventTimes.getPrimitiveArray();
final int[] xCoords = mXCoordinates.getPrimitiveArray();
final int[] yCoords = mYCoordinates.getPrimitiveArray();
+ final int[] pointTypes = mPointTypes.getPrimitiveArray();
final int sinceDown = (int)(SystemClock.uptimeMillis() - mCurrentTimeBase);
int startIndex;
for (startIndex = mTrailStartIndex; startIndex < trailSize; startIndex++) {
@@ -246,6 +255,17 @@ final class GesturePreviewTrail {
final int alpha = getAlpha(elapsedTime, params);
paint.setAlpha(alpha);
canvas.drawPath(path, paint);
+ if (DBG_SHOW_POINTS) {
+ if (pointTypes[i] == POINT_TYPE_INTERPOLATED) {
+ paint.setColor(Color.RED);
+ } else if (pointTypes[i] == POINT_TYPE_SAMPLED) {
+ paint.setColor(0xFFA000FF);
+ } else {
+ paint.setColor(Color.GREEN);
+ }
+ canvas.drawCircle(p1x - 1, p1y - 1, 2, paint);
+ paint.setColor(params.mTrailColor);
+ }
}
}
p1x = p2x;
@@ -265,6 +285,9 @@ final class GesturePreviewTrail {
mEventTimes.setLength(newSize);
mXCoordinates.setLength(newSize);
mYCoordinates.setLength(newSize);
+ if (DBG_SHOW_POINTS) {
+ mPointTypes.setLength(newSize);
+ }
// The start index of the last segment of the stroke
// {@link mLastInterpolatedDrawIndex} should also be updated because all array
// elements have just been shifted for compaction or been zeroed.
diff --git a/java/src/com/android/inputmethod/keyboard/internal/GestureStrokeWithPreviewPoints.java b/java/src/com/android/inputmethod/keyboard/internal/GestureStrokeWithPreviewPoints.java
index 312fd2160..ccb8802c6 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/GestureStrokeWithPreviewPoints.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/GestureStrokeWithPreviewPoints.java
@@ -152,7 +152,7 @@ public final class GestureStrokeWithPreviewPoints extends GestureStroke {
*/
public int interpolateStrokeAndReturnStartIndexOfLastSegment(final int lastInterpolatedIndex,
final ResizableIntArray eventTimes, final ResizableIntArray xCoords,
- final ResizableIntArray yCoords) {
+ final ResizableIntArray yCoords, final ResizableIntArray types) {
final int size = mPreviewEventTimes.getLength();
final int[] pt = mPreviewEventTimes.getPrimitiveArray();
final int[] px = mPreviewXCoordinates.getPrimitiveArray();
@@ -189,11 +189,17 @@ public final class GestureStrokeWithPreviewPoints extends GestureStroke {
eventTimes.add(d1, (int)(dt * t) + t1);
xCoords.add(d1, (int)mInterpolator.mInterpolatedX);
yCoords.add(d1, (int)mInterpolator.mInterpolatedY);
+ if (GesturePreviewTrail.DBG_SHOW_POINTS) {
+ types.add(d1, GesturePreviewTrail.POINT_TYPE_INTERPOLATED);
+ }
d1++;
}
eventTimes.add(d1, pt[p2]);
xCoords.add(d1, px[p2]);
yCoords.add(d1, py[p2]);
+ if (GesturePreviewTrail.DBG_SHOW_POINTS) {
+ types.add(d1, GesturePreviewTrail.POINT_TYPE_SAMPLED);
+ }
}
return lastInterpolatedDrawIndex;
}
diff --git a/java/src/com/android/inputmethod/latin/RichInputMethodManager.java b/java/src/com/android/inputmethod/latin/RichInputMethodManager.java
index 3f7be99e5..94513e635 100644
--- a/java/src/com/android/inputmethod/latin/RichInputMethodManager.java
+++ b/java/src/com/android/inputmethod/latin/RichInputMethodManager.java
@@ -100,6 +100,12 @@ public final class RichInputMethodManager {
throw new RuntimeException("Input method id for " + packageName + " not found.");
}
+ public List<InputMethodSubtype> getMyEnabledInputMethodSubtypeList(
+ boolean allowsImplicitlySelectedSubtypes) {
+ return mImmWrapper.mImm.getEnabledInputMethodSubtypeList(
+ mInputMethodInfoOfThisIme, allowsImplicitlySelectedSubtypes);
+ }
+
public boolean switchToNextInputMethod(final IBinder token, final boolean onlyCurrentIme) {
if (mImmWrapper.switchToNextInputMethod(token, onlyCurrentIme)) {
return true;
@@ -116,8 +122,8 @@ public final class RichInputMethodManager {
final boolean onlyCurrentIme) {
final InputMethodManager imm = mImmWrapper.mImm;
final InputMethodSubtype currentSubtype = imm.getCurrentInputMethodSubtype();
- final List<InputMethodSubtype> enabledSubtypes = imm.getEnabledInputMethodSubtypeList(
- mInputMethodInfoOfThisIme, true /* allowsImplicitlySelectedSubtypes */);
+ final List<InputMethodSubtype> enabledSubtypes = getMyEnabledInputMethodSubtypeList(
+ true /* allowsImplicitlySelectedSubtypes */);
final int currentIndex = getSubtypeIndexInList(currentSubtype, enabledSubtypes);
if (currentIndex == INDEX_NOT_FOUND) {
Log.w(TAG, "Can't find current subtype in enabled subtypes: subtype="
@@ -214,8 +220,8 @@ public final class RichInputMethodManager {
final InputMethodSubtype subtype) {
final boolean subtypeEnabled = checkIfSubtypeBelongsToThisImeAndEnabled(subtype);
final boolean subtypeExplicitlyEnabled = checkIfSubtypeBelongsToList(
- subtype, mImmWrapper.mImm.getEnabledInputMethodSubtypeList(
- mInputMethodInfoOfThisIme, false /* allowsImplicitlySelectedSubtypes */));
+ subtype, getMyEnabledInputMethodSubtypeList(
+ false /* allowsImplicitlySelectedSubtypes */));
return subtypeEnabled && !subtypeExplicitlyEnabled;
}
@@ -312,8 +318,7 @@ public final class RichInputMethodManager {
if (filteredImisCount > 1) {
return true;
}
- final List<InputMethodSubtype> subtypes =
- mImmWrapper.mImm.getEnabledInputMethodSubtypeList(null, true);
+ final List<InputMethodSubtype> subtypes = getMyEnabledInputMethodSubtypeList(true);
int keyboardCount = 0;
// imm.getEnabledInputMethodSubtypeList(null, true) will return the current IME's
// both explicitly and implicitly enabled input method subtype.
diff --git a/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java b/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java
index bef8a3cf1..282b5794f 100644
--- a/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java
+++ b/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java
@@ -115,7 +115,7 @@ public final class SubtypeSwitcher {
*/
public void updateParametersOnStartInputView() {
final List<InputMethodSubtype> enabledSubtypesOfThisIme =
- mRichImm.getInputMethodManager().getEnabledInputMethodSubtypeList(null, true);
+ mRichImm.getMyEnabledInputMethodSubtypeList(true);
mNeedsToDisplayLanguage.updateEnabledSubtypeCount(enabledSubtypesOfThisIme.size());
updateShortcutIME();
}