Update the PendingIntent to launch Settings on bg restriction alert

Bug: 203105544
Bug: 227947723
Bug: 227615380
Test: Manual - trigger a bg restriction alert and tap on it.
Change-Id: Iddfabb8b81a995b9f5839c88c34a0d453b733919
This commit is contained in:
Jing Ji
2022-04-05 16:04:08 -07:00
parent 17c1c80c0b
commit 8abd49be00

View File

@@ -2289,9 +2289,10 @@ public final class AppRestrictionController {
void postRequestBgRestrictedIfNecessary(String packageName, int uid) {
final Intent intent = new Intent(Settings.ACTION_VIEW_ADVANCED_POWER_USAGE_DETAIL);
intent.setData(Uri.fromParts(PACKAGE_SCHEME, packageName, null));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
final PendingIntent pendingIntent = PendingIntent.getActivityAsUser(mContext, 0,
intent, PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_IMMUTABLE, null,
intent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE, null,
UserHandle.of(UserHandle.getUserId(uid)));
Notification.Action[] actions = null;
final boolean hasForegroundServices =
@@ -2347,13 +2348,14 @@ public final class AppRestrictionController {
intent.addFlags(Intent.FLAG_RECEIVER_INCLUDE_BACKGROUND);
// Task manager runs in SystemUI, which is SYSTEM user only.
pendingIntent = PendingIntent.getBroadcastAsUser(mContext, 0,
intent, PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_IMMUTABLE,
intent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE,
UserHandle.SYSTEM);
} else {
final Intent intent = new Intent(Settings.ACTION_VIEW_ADVANCED_POWER_USAGE_DETAIL);
intent.setData(Uri.fromParts(PACKAGE_SCHEME, packageName, null));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
pendingIntent = PendingIntent.getActivityAsUser(mContext, 0,
intent, PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_IMMUTABLE,
intent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE,
null, UserHandle.of(UserHandle.getUserId(uid)));
}