diff --git a/app/src/main/java/io/github/sspanak/tt9/hacks/InputType.java b/app/src/main/java/io/github/sspanak/tt9/hacks/InputType.java index f49b9c1b..8e25788b 100644 --- a/app/src/main/java/io/github/sspanak/tt9/hacks/InputType.java +++ b/app/src/main/java/io/github/sspanak/tt9/hacks/InputType.java @@ -55,6 +55,13 @@ public class InputType extends StandardInputType { } + public boolean isCalculator() { + return field != null + && (field.packageName.endsWith("calculator") || field.packageName.endsWith(".calc")) + && (field.inputType & EditorInfo.TYPE_MASK_CLASS) == EditorInfo.TYPE_CLASS_NUMBER; + } + + /** * isDuoLingoReportBug * When reporting a bug in the Duolingo app, the text field is missing the TYPE_TEXT flag, which @@ -211,12 +218,10 @@ public class InputType extends StandardInputType { * they don't have a physical keyboard. * Beeps on CAT S22 Flip * The UI does not appear on Xiaomi Redmi 12c + * UI not hiding in 3rd-party calculators */ protected boolean isSpecialNumeric(Context context) { - return - field.packageName.contains("com.android.calculator") // there is "calculator2", hence the contains() - || isDumbPhoneDialer(context) - || isLgX100SDialer(); + return isCalculator() || isDumbPhoneDialer(context) || isLgX100SDialer(); }