summaryrefslogtreecommitdiff
path: root/core/java
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2021-12-16 21:36:32 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2021-12-16 21:36:32 +0000
commitac68facca4581998db569e3ea10cfff80a7e0e50 (patch)
tree1ea816a63d2fb593bdfbcd69fd3746acc36561d5 /core/java
parent3486dfbfbe87bbf8aa65c14264681cd0f0087322 (diff)
parent6307641de309913fc30d762f7335af29a27fb988 (diff)
Merge "Scribe in IMF: Handwriting support API 1/N"
Diffstat (limited to 'core/java')
-rw-r--r--core/java/android/view/inputmethod/InputMethodInfo.java34
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);
}
/**