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

Commit 794f5ac1 authored by Heemin Seog's avatar Heemin Seog Committed by android-build-merger
Browse files

Merge "Send data warning intents with the current user" into qt-dev

am: f1f6146e

Change-Id: I49a23390164319ac67126a31642805e93c355403
parents 1c3efbc4 f1f6146e
Loading
Loading
Loading
Loading
+41 −9
Original line number Diff line number Diff line
@@ -217,6 +217,7 @@ import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.messages.nano.SystemMessageProto.SystemMessage;
import com.android.internal.notification.SystemNotificationChannels;
import com.android.internal.os.RoSystemProperties;
import com.android.internal.telephony.PhoneConstants;
import com.android.internal.util.ArrayUtils;
import com.android.internal.util.ConcurrentUtils;
@@ -1353,9 +1354,15 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
                        mContext, 0, snoozeIntent, PendingIntent.FLAG_UPDATE_CURRENT));

                final Intent viewIntent = buildViewDataUsageIntent(res, policy.template);
                // TODO: Resolve to single code path.
                if (isHeadlessSystemUserBuild()) {
                    builder.setContentIntent(PendingIntent.getActivityAsUser(
                            mContext, 0, viewIntent, PendingIntent.FLAG_UPDATE_CURRENT,
                            /* options= */ null, UserHandle.CURRENT));
                } else {
                    builder.setContentIntent(PendingIntent.getActivity(
                            mContext, 0, viewIntent, PendingIntent.FLAG_UPDATE_CURRENT));

                }
                break;
            }
            case TYPE_LIMIT: {
@@ -1375,8 +1382,15 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
                builder.setSmallIcon(R.drawable.stat_notify_disabled_data);

                final Intent intent = buildNetworkOverLimitIntent(res, policy.template);
                // TODO: Resolve to single code path.
                if (isHeadlessSystemUserBuild()) {
                    builder.setContentIntent(PendingIntent.getActivityAsUser(
                            mContext, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT,
                            /* options= */ null, UserHandle.CURRENT));
                } else {
                    builder.setContentIntent(PendingIntent.getActivity(
                            mContext, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT));
                }
                break;
            }
            case TYPE_LIMIT_SNOOZED: {
@@ -1399,8 +1413,15 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
                builder.setChannelId(SystemNotificationChannels.NETWORK_STATUS);

                final Intent intent = buildViewDataUsageIntent(res, policy.template);
                // TODO: Resolve to single code path.
                if (isHeadlessSystemUserBuild()) {
                    builder.setContentIntent(PendingIntent.getActivityAsUser(
                            mContext, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT,
                            /* options= */ null, UserHandle.CURRENT));
                } else {
                    builder.setContentIntent(PendingIntent.getActivity(
                            mContext, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT));
                }
                break;
            }
            case TYPE_RAPID: {
@@ -1419,8 +1440,15 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
                        mContext, 0, snoozeIntent, PendingIntent.FLAG_UPDATE_CURRENT));

                final Intent viewIntent = buildViewDataUsageIntent(res, policy.template);
                // TODO: Resolve to single code path.
                if (isHeadlessSystemUserBuild()) {
                    builder.setContentIntent(PendingIntent.getActivityAsUser(
                            mContext, 0, viewIntent, PendingIntent.FLAG_UPDATE_CURRENT,
                            /* options= */ null, UserHandle.CURRENT));
                } else {
                    builder.setContentIntent(PendingIntent.getActivity(
                            mContext, 0, viewIntent, PendingIntent.FLAG_UPDATE_CURRENT));
                }
                break;
            }
            default: {
@@ -5264,6 +5292,10 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
        return (bundle != null) ? bundle.getBoolean(key, defaultValue) : defaultValue;
    }

    private static boolean isHeadlessSystemUserBuild() {
        return RoSystemProperties.MULTIUSER_HEADLESS_SYSTEM_USER;
    }

    private class NotificationId {
        private final String mTag;
        private final int mId;