Loading services/core/java/com/android/server/notification/NotificationManagerService.java +17 −8 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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()); } } } Loading
services/core/java/com/android/server/notification/NotificationManagerService.java +17 −8 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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()); } } }