Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 689a5711 authored by Bernardo Rufino's avatar Bernardo Rufino Committed by Android (Google) Code Review
Browse files

Merge "Shorten trampoline toast text" into sc-dev

parents 8b685d07 5c405a0a
Loading
Loading
Loading
Loading
+17 −8
Original line number Diff line number Diff line
@@ -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());
        }
    }
}