diff options
| author | TreeHugger Robot <treehugger-gerrit@google.com> | 2021-12-16 21:36:32 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2021-12-16 21:36:32 +0000 |
| commit | ac68facca4581998db569e3ea10cfff80a7e0e50 (patch) | |
| tree | 1ea816a63d2fb593bdfbcd69fd3746acc36561d5 /core/java | |
| parent | 3486dfbfbe87bbf8aa65c14264681cd0f0087322 (diff) | |
| parent | 6307641de309913fc30d762f7335af29a27fb988 (diff) | |
Merge "Scribe in IMF: Handwriting support API 1/N"
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/view/inputmethod/InputMethodInfo.java | 34 |
1 files changed, 28 insertions, 6 deletions
diff --git a/core/java/android/view/inputmethod/InputMethodInfo.java b/core/java/android/view/inputmethod/InputMethodInfo.java index 96198c64fa56..7e6e6fd23654 100644 --- a/core/java/android/view/inputmethod/InputMethodInfo.java +++ b/core/java/android/view/inputmethod/InputMethodInfo.java @@ -141,6 +141,12 @@ public final class InputMethodInfo implements Parcelable { private final int mHandledConfigChanges; /** + * The flag whether this IME supports Handwriting using stylus input. + */ + private final boolean mSupportsStylusHandwriting; + + + /** * @param service the {@link ResolveInfo} corresponds in which the IME is implemented. * @return a unique ID to be returned by {@link #getId()}. We have used * {@link ComponentName#flattenToShortString()} for this purpose (and it is already @@ -234,6 +240,8 @@ public final class InputMethodInfo implements Parcelable { com.android.internal.R.styleable.InputMethod_showInInputMethodPicker, true); mHandledConfigChanges = sa.getInt( com.android.internal.R.styleable.InputMethod_configChanges, 0); + mSupportsStylusHandwriting = sa.getBoolean( + com.android.internal.R.styleable.InputMethod_supportsStylusHandwriting, false); sa.recycle(); final int depth = parser.getDepth(); @@ -323,6 +331,7 @@ public final class InputMethodInfo implements Parcelable { mService = ResolveInfo.CREATOR.createFromParcel(source); mSubtypes = new InputMethodSubtypeArray(source); mHandledConfigChanges = source.readInt(); + mSupportsStylusHandwriting = source.readBoolean(); mForceDefault = false; } @@ -335,7 +344,7 @@ public final class InputMethodInfo implements Parcelable { settingsActivity, null /* subtypes */, 0 /* isDefaultResId */, false /* forceDefault */, true /* supportsSwitchingToNextInputMethod */, false /* inlineSuggestionsEnabled */, false /* isVrOnly */, - 0 /* handledConfigChanges */); + 0 /* handledConfigChanges */, false /* supportsStylusHandwriting */); } /** @@ -349,7 +358,8 @@ public final class InputMethodInfo implements Parcelable { this(buildFakeResolveInfo(packageName, className, label), false /* isAuxIme */, settingsActivity, null /* subtypes */, 0 /* isDefaultResId */, false /* forceDefault */, true /* supportsSwitchingToNextInputMethod */, - false /* inlineSuggestionsEnabled */, false /* isVrOnly */, handledConfigChanges); + false /* inlineSuggestionsEnabled */, false /* isVrOnly */, handledConfigChanges, + false /* supportsStylusHandwriting */); } /** @@ -361,7 +371,8 @@ public final class InputMethodInfo implements Parcelable { boolean forceDefault) { this(ri, isAuxIme, settingsActivity, subtypes, isDefaultResId, forceDefault, true /* supportsSwitchingToNextInputMethod */, false /* inlineSuggestionsEnabled */, - false /* isVrOnly */, 0 /* handledconfigChanges */); + false /* isVrOnly */, 0 /* handledconfigChanges */, + false /* supportsStylusHandwriting */); } /** @@ -373,7 +384,7 @@ public final class InputMethodInfo implements Parcelable { boolean supportsSwitchingToNextInputMethod, boolean isVrOnly) { this(ri, isAuxIme, settingsActivity, subtypes, isDefaultResId, forceDefault, supportsSwitchingToNextInputMethod, false /* inlineSuggestionsEnabled */, isVrOnly, - 0 /* handledConfigChanges */); + 0 /* handledConfigChanges */, false /* supportsStylusHandwriting */); } /** @@ -383,7 +394,7 @@ public final class InputMethodInfo implements Parcelable { public InputMethodInfo(ResolveInfo ri, boolean isAuxIme, String settingsActivity, List<InputMethodSubtype> subtypes, int isDefaultResId, boolean forceDefault, boolean supportsSwitchingToNextInputMethod, boolean inlineSuggestionsEnabled, - boolean isVrOnly, int handledConfigChanges) { + boolean isVrOnly, int handledConfigChanges, boolean supportsStylusHandwriting) { final ServiceInfo si = ri.serviceInfo; mService = ri; mId = new ComponentName(si.packageName, si.name).flattenToShortString(); @@ -398,6 +409,7 @@ public final class InputMethodInfo implements Parcelable { mShowInInputMethodPicker = true; mIsVrOnly = isVrOnly; mHandledConfigChanges = handledConfigChanges; + mSupportsStylusHandwriting = supportsStylusHandwriting; } private static ResolveInfo buildFakeResolveInfo(String packageName, String className, @@ -556,6 +568,14 @@ public final class InputMethodInfo implements Parcelable { return mHandledConfigChanges; } + /** + * Returns if IME supports handwriting using stylus input. + * @attr ref android.R.styleable#InputMethod_supportsStylusHandwriting + */ + public boolean supportsStylusHandwriting() { + return mSupportsStylusHandwriting; + } + public void dump(Printer pw, String prefix) { pw.println(prefix + "mId=" + mId + " mSettingsActivityName=" + mSettingsActivityName @@ -563,7 +583,8 @@ public final class InputMethodInfo implements Parcelable { + " mSupportsSwitchingToNextInputMethod=" + mSupportsSwitchingToNextInputMethod + " mInlineSuggestionsEnabled=" + mInlineSuggestionsEnabled + " mSuppressesSpellChecker=" + mSuppressesSpellChecker - + " mShowInInputMethodPicker=" + mShowInInputMethodPicker); + + " mShowInInputMethodPicker=" + mShowInInputMethodPicker + + " mSupportsStylusHandwriting=" + mSupportsStylusHandwriting); pw.println(prefix + "mIsDefaultResId=0x" + Integer.toHexString(mIsDefaultResId)); pw.println(prefix + "Service:"); @@ -667,6 +688,7 @@ public final class InputMethodInfo implements Parcelable { mService.writeToParcel(dest, flags); mSubtypes.writeToParcel(dest); dest.writeInt(mHandledConfigChanges); + dest.writeBoolean(mSupportsStylusHandwriting); } /** |
