summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Bernardo Rufino <brufino@google.com> 2020-12-02 09:48:07 +0000
committer Bernardo Rufino <brufino@google.com> 2020-12-02 09:56:26 +0000
commit0c002a2914147d98d90e59fac2fc983ee49499a1 (patch)
tree7d60f2ff61d40321dca16cc51f1183d89b2badda
parentc1b0c8bc6d714289ba113c72a4101cd167a1fd90 (diff)
Suppress untrusted touches toast for Snapchat
We are aware of the issue (b/173297887) and working on a fix, however the toast is annoying dogfooders and the app compat reset only lasts during a reboot lifecycle. Bug: 158002302 Bug: 173297887 Test: Open Snapchat, try to trigger toast, see logcat message and no toast. Change-Id: I02e0473154f38531f67c686df9a01e7faed0ca98
-rw-r--r--services/core/java/com/android/server/input/InputManagerService.java15
1 files changed, 15 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/input/InputManagerService.java b/services/core/java/com/android/server/input/InputManagerService.java
index f2eb5af51616..42aad7d7ad5c 100644
--- a/services/core/java/com/android/server/input/InputManagerService.java
+++ b/services/core/java/com/android/server/input/InputManagerService.java
@@ -95,6 +95,7 @@ import com.android.internal.annotations.GuardedBy;
import com.android.internal.messages.nano.SystemMessageProto.SystemMessage;
import com.android.internal.notification.SystemNotificationChannels;
import com.android.internal.os.SomeArgs;
+import com.android.internal.util.ArrayUtils;
import com.android.internal.util.DumpUtils;
import com.android.internal.util.XmlUtils;
import com.android.server.DisplayThread;
@@ -146,6 +147,16 @@ public class InputManagerService extends IInputManager.Stub
private static final int DEFAULT_VIBRATION_MAGNITUDE = 192;
+ /**
+ * We know the issue and are working to fix it, so suppressing the toast to not annoy
+ * dogfooders.
+ *
+ * TODO(b/169067926): Remove this
+ */
+ private static final String[] PACKAGE_BLOCKLIST_FOR_UNTRUSTED_TOUCHES_TOAST = {
+ "com.snapchat.android" // b/173297887
+ };
+
// Pointer to native input manager service object.
private final long mPtr;
@@ -2091,6 +2102,10 @@ public class InputManagerService extends IInputManager.Stub
// Native callback
private void notifyUntrustedTouch(String packageName) {
// TODO(b/169067926): Remove toast after gathering feedback on dogfood.
+ if (ArrayUtils.contains(PACKAGE_BLOCKLIST_FOR_UNTRUSTED_TOUCHES_TOAST, packageName)) {
+ Log.i(TAG, "Suppressing untrusted touch toast for " + packageName);
+ return;
+ }
DisplayThread.getHandler().post(() ->
Toast.makeText(mContext,
"Touch obscured by " + packageName