Block trampolines for browsers w/ targetSdk >= T

As agreed with Chrome team during S change for trampolines
(go/notification-trampolines), we would enforce the restrictions even
for browsers once they target T.

Bug: 227752274
Test: Working on CTS
Change-Id: I930cc87bd82e5266bab5fa3e50ef7a883ddb2078
This commit is contained in:
Bernardo Rufino
2022-04-13 17:00:46 +01:00
parent ddb497d64a
commit ccff4fa545

View File

@@ -459,6 +459,15 @@ public class NotificationManagerService extends SystemService {
@EnabledAfter(targetSdkVersion = Build.VERSION_CODES.R)
private static final long NOTIFICATION_TRAMPOLINE_BLOCK = 167676448L;
/**
* Activity starts coming from broadcast receivers or services in response to notification and
* notification action clicks will be blocked for UX and performance reasons for previously
* exempt role holders (browser).
*/
@ChangeId
@EnabledAfter(targetSdkVersion = Build.VERSION_CODES.S_V2)
private static final long NOTIFICATION_TRAMPOLINE_BLOCK_FOR_EXEMPT_ROLES = 227752274L;
/**
* Whether a notification listeners can understand new, more specific, cancellation reasons.
*/
@@ -11540,7 +11549,8 @@ public class NotificationManagerService extends SystemService {
private boolean blockTrampoline(int uid) {
if (mRoleObserver != null && mRoleObserver.isUidExemptFromTrampolineRestrictions(uid)) {
return false;
return CompatChanges.isChangeEnabled(NOTIFICATION_TRAMPOLINE_BLOCK_FOR_EXEMPT_ROLES,
uid);
}
return CompatChanges.isChangeEnabled(NOTIFICATION_TRAMPOLINE_BLOCK, uid);
}