isStylusHwAvailable considers Scribe preference

Take the user preference into consideration as well to return if stylus
handwriting is available.

Bug: 228514000
Test: atest StylusHandwritingTest
Change-Id: Iaa2e758ebf8fa30978c43de067ed40a8ad08d9b5
This commit is contained in:
Taran Singh
2022-06-21 16:09:28 -07:00
parent 20af690d0e
commit 0099726f09

View File

@@ -1421,12 +1421,21 @@ public final class InputMethodManager {
}
/**
* Returns {@code true} if currently selected IME supports Stylus handwriting.
* Returns {@code true} if currently selected IME supports Stylus handwriting & is enabled.
* If the method returns {@code false}, {@link #startStylusHandwriting(View)} shouldn't be
* called and Stylus touch should continue as normal touch input.
* @see #startStylusHandwriting(View)
*/
public boolean isStylusHandwritingAvailable() {
final Context fallbackContext = ActivityThread.currentApplication();
if (fallbackContext == null) {
return false;
}
if (Settings.Global.getInt(fallbackContext.getContentResolver(),
Settings.Global.STYLUS_HANDWRITING_ENABLED, 0) == 0) {
Log.d(TAG, "Stylus handwriting is not enabled in settings.");
return false;
}
try {
return mService.isStylusHandwritingAvailable();
} catch (RemoteException e) {