From fec7d6216831f901e94b82d25f908bde503cc67e Mon Sep 17 00:00:00 2001 From: sspanak Date: Mon, 6 Jan 2025 16:05:58 +0200 Subject: [PATCH] fixed Predictive mode missing in Android 15 Contacts app (thank you for wasting my time, Google) --- .../io/github/sspanak/tt9/hacks/InputType.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) 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 7954c28c..e3173ef1 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 @@ -11,6 +11,19 @@ public class InputType extends StandardInputType { super(inputConnection, inputField); } + + /** + * isContactsAndroid15Field + * "First Name" and "Last Name" fields in Android 15 are specified absolutely incorrectly. + * Thank you for wasting my time, Google! + */ + private boolean isContactsAndroid15Field() { + return + isAppField("com.google.android.contacts", 8288) + && field.privateImeOptions.contains("requestPhoneticOutput"); + } + + /** * isDeezerSearchBar * The field for searching songs and artists in Deezer does not support composing text, which @@ -177,7 +190,7 @@ public class InputType extends StandardInputType { */ @Override protected boolean isDefectiveText() { - return isDuoLingoReportBug(); + return isDuoLingoReportBug() || isContactsAndroid15Field(); } /**