summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Bernardo Rufino <brufino@google.com> 2021-03-17 14:31:44 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2021-03-17 14:31:44 +0000
commit689a571110610cceaf6d41a9e06ab4757ed5b8f3 (patch)
tree43bef4da85a4aeaa7814d20706e6ccd060709413
parent8b685d078e8ba53561531d23efe8ee7533c09ecd (diff)
parent5c405a0ab558d40c197c29fa8a368d149d48d33a (diff)
Merge "Shorten trampoline toast text" into sc-dev
-rwxr-xr-xservices/core/java/com/android/server/notification/NotificationManagerService.java25
1 files changed, 17 insertions, 8 deletions
diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java
index d5a9e3c0d4f8..e58836659189 100755
--- a/services/core/java/com/android/server/notification/NotificationManagerService.java
+++ b/services/core/java/com/android/server/notification/NotificationManagerService.java
@@ -10635,17 +10635,17 @@ public class NotificationManagerService extends SystemService {
return true;
}
}
- String toastMessage = "Indirect activity start from " + packageName;
String logcatMessage =
"Indirect notification activity start (trampoline) from " + packageName;
-
+ // Call to toast() method is posted to mHandler below to offload PM lookup from the
+ // activity start path
if (CompatChanges.isChangeEnabled(NOTIFICATION_TRAMPOLINE_BLOCK, uid)) {
- toast(toastMessage + " blocked.");
+ mHandler.post(() -> toast(packageName, uid, /* blocked */ true));
Slog.e(TAG, logcatMessage + " blocked");
return false;
} else {
if (mPackagesShown.add(packageName)) {
- toast(toastMessage + ". This will be blocked in S.");
+ mHandler.post(() -> toast(packageName, uid, /* blocked */ false));
}
Slog.w(TAG, logcatMessage + ", this should be avoided for performance reasons");
return true;
@@ -10661,10 +10661,19 @@ public class NotificationManagerService extends SystemService {
&& !CompatChanges.isChangeEnabled(NOTIFICATION_TRAMPOLINE_BLOCK, uid);
}
- private void toast(String message) {
- mUiHandler.post(() ->
- Toast.makeText(getUiContext(), message + "\nSee g.co/dev/trampolines.",
- Toast.LENGTH_LONG).show());
+ private void toast(String packageName, int uid, boolean blocked) {
+ final CharSequence label;
+ try {
+ label = mPackageManagerClient.getApplicationLabel(
+ mPackageManager.getApplicationInfo(packageName, 0,
+ UserHandle.getUserId(uid)));
+ } catch (RemoteException e) {
+ Slog.e(TAG, "Unexpected exception obtaining app label from PackageManager", e);
+ return;
+ }
+ mUiHandler.post(() -> Toast.makeText(getUiContext(),
+ label + " launch " + (blocked ? "blocked" : "will be blocked")
+ + "\ng.co/dev/trampolines", Toast.LENGTH_LONG).show());
}
}
}