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

Commit f23350d0 authored by Matías Hernández's avatar Matías Hernández Committed by Android (Google) Code Review
Browse files

Merge "Use ParceledListSlice for ZenModeConfig and AutomaticZenRules" into tm-dev

parents 100f534d 74b1f887
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -122,7 +122,7 @@ public final class AutomaticZenRule implements Parcelable {
    public AutomaticZenRule(Parcel source) {
        enabled = source.readInt() == ENABLED;
        if (source.readInt() == ENABLED) {
            name = getTrimmedString(source.readString());
            name = getTrimmedString(source.readString8());
        }
        interruptionFilter = source.readInt();
        conditionId = getTrimmedUri(source.readParcelable(null, android.net.Uri.class));
@@ -133,7 +133,7 @@ public final class AutomaticZenRule implements Parcelable {
        creationTime = source.readLong();
        mZenPolicy = source.readParcelable(null, android.service.notification.ZenPolicy.class);
        mModified = source.readInt() == ENABLED;
        mPkg = source.readString();
        mPkg = source.readString8();
    }

    /**
@@ -279,7 +279,7 @@ public final class AutomaticZenRule implements Parcelable {
        dest.writeInt(enabled ? ENABLED : DISABLED);
        if (name != null) {
            dest.writeInt(1);
            dest.writeString(name);
            dest.writeString8(name);
        } else {
            dest.writeInt(0);
        }
@@ -290,7 +290,7 @@ public final class AutomaticZenRule implements Parcelable {
        dest.writeLong(creationTime);
        dest.writeParcelable(mZenPolicy, 0);
        dest.writeInt(mModified ? ENABLED : DISABLED);
        dest.writeString(mPkg);
        dest.writeString8(mPkg);
    }

    @Override
+1 −1
Original line number Diff line number Diff line
@@ -209,7 +209,7 @@ interface INotificationManager
    void setNotificationPolicyAccessGranted(String pkg, boolean granted);
    void setNotificationPolicyAccessGrantedForUser(String pkg, int userId, boolean granted);
    AutomaticZenRule getAutomaticZenRule(String id);
    List<ZenModeConfig.ZenRule> getZenRules();
    ParceledListSlice<ZenModeConfig.ZenRule> getZenRules();
    String addAutomaticZenRule(in AutomaticZenRule automaticZenRule, String pkg);
    boolean updateAutomaticZenRule(String id, in AutomaticZenRule automaticZenRule);
    boolean removeAutomaticZenRule(String id);
+2 −2
Original line number Diff line number Diff line
@@ -1198,9 +1198,9 @@ public class NotificationManager {
    public Map<String, AutomaticZenRule> getAutomaticZenRules() {
        INotificationManager service = getService();
        try {
            List<ZenModeConfig.ZenRule> rules = service.getZenRules();
            ParceledListSlice<ZenModeConfig.ZenRule> rules = service.getZenRules();
            Map<String, AutomaticZenRule> ruleMap = new HashMap<>();
            for (ZenModeConfig.ZenRule rule : rules) {
            for (ZenModeConfig.ZenRule rule : rules.getList()) {
                AutomaticZenRule azr = new AutomaticZenRule(rule.name, rule.component,
                        rule.configurationActivity, rule.conditionId, rule.zenPolicy,
                        zenModeToInterruptionFilter(rule.zenMode), rule.enabled,
+25 −17
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ import android.content.ComponentName;
import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.pm.ParceledListSlice;
import android.content.res.Resources;
import android.net.Uri;
import android.os.Build;
@@ -215,14 +216,21 @@ public class ZenModeConfig implements Parcelable {
        allowMessagesFrom = source.readInt();
        user = source.readInt();
        manualRule = source.readParcelable(null, android.service.notification.ZenModeConfig.ZenRule.class);
        final int len = source.readInt();
        int len = source.readInt();
        if (len > 0) {
            final String[] ids = new String[len];
            final ZenRule[] rules = new ZenRule[len];
            source.readStringArray(ids);
            source.readTypedArray(rules, ZenRule.CREATOR);
            source.readString8Array(ids);
            ParceledListSlice<?> parceledRules = source.readParcelable(
                    ZenRule.class.getClassLoader(), ParceledListSlice.class);
            List<?> rules = parceledRules != null ? parceledRules.getList() : new ArrayList<>();
            if (rules.size() != len) {
                Slog.wtf(TAG, String.format(
                        "Unexpected parceled rules count (%s != %s), throwing them out",
                        rules.size(), len));
                len = 0;
            }
            for (int i = 0; i < len; i++) {
                automaticRules.put(ids[i], rules[i]);
                automaticRules.put(ids[i], (ZenRule) rules.get(i));
            }
        }
        allowAlarms = source.readInt() == 1;
@@ -248,14 +256,14 @@ public class ZenModeConfig implements Parcelable {
        if (!automaticRules.isEmpty()) {
            final int len = automaticRules.size();
            final String[] ids = new String[len];
            final ZenRule[] rules = new ZenRule[len];
            final ArrayList<ZenRule> rules = new ArrayList<>();
            for (int i = 0; i < len; i++) {
                ids[i] = automaticRules.keyAt(i);
                rules[i] = automaticRules.valueAt(i);
                rules.add(automaticRules.valueAt(i));
            }
            dest.writeInt(len);
            dest.writeStringArray(ids);
            dest.writeTypedArray(rules, 0);
            dest.writeString8Array(ids);
            dest.writeParcelable(new ParceledListSlice<>(rules), flags);
        } else {
            dest.writeInt(0);
        }
@@ -1816,7 +1824,7 @@ public class ZenModeConfig implements Parcelable {
            enabled = source.readInt() == 1;
            snoozing = source.readInt() == 1;
            if (source.readInt() == 1) {
                name = source.readString();
                name = source.readString8();
            }
            zenMode = source.readInt();
            conditionId = source.readParcelable(null, android.net.Uri.class);
@@ -1824,15 +1832,15 @@ public class ZenModeConfig implements Parcelable {
            component = source.readParcelable(null, android.content.ComponentName.class);
            configurationActivity = source.readParcelable(null, android.content.ComponentName.class);
            if (source.readInt() == 1) {
                id = source.readString();
                id = source.readString8();
            }
            creationTime = source.readLong();
            if (source.readInt() == 1) {
                enabler = source.readString();
                enabler = source.readString8();
            }
            zenPolicy = source.readParcelable(null, android.service.notification.ZenPolicy.class);
            modified = source.readInt() == 1;
            pkg = source.readString();
            pkg = source.readString8();
        }

        @Override
@@ -1846,7 +1854,7 @@ public class ZenModeConfig implements Parcelable {
            dest.writeInt(snoozing ? 1 : 0);
            if (name != null) {
                dest.writeInt(1);
                dest.writeString(name);
                dest.writeString8(name);
            } else {
                dest.writeInt(0);
            }
@@ -1857,20 +1865,20 @@ public class ZenModeConfig implements Parcelable {
            dest.writeParcelable(configurationActivity, 0);
            if (id != null) {
                dest.writeInt(1);
                dest.writeString(id);
                dest.writeString8(id);
            } else {
                dest.writeInt(0);
            }
            dest.writeLong(creationTime);
            if (enabler != null) {
                dest.writeInt(1);
                dest.writeString(enabler);
                dest.writeString8(enabler);
            } else {
                dest.writeInt(0);
            }
            dest.writeParcelable(zenPolicy, 0);
            dest.writeInt(modified ? 1 : 0);
            dest.writeString(pkg);
            dest.writeString8(pkg);
        }

        @Override
+2 −2
Original line number Diff line number Diff line
@@ -4932,9 +4932,9 @@ public class NotificationManagerService extends SystemService {
        }
        @Override
        public List<ZenModeConfig.ZenRule> getZenRules() throws RemoteException {
        public ParceledListSlice<ZenModeConfig.ZenRule> getZenRules() throws RemoteException {
            enforcePolicyAccess(Binder.getCallingUid(), "getAutomaticZenRules");
            return mZenModeHelper.getZenRules();
            return new ParceledListSlice<ZenModeConfig.ZenRule>(mZenModeHelper.getZenRules());
        }
        @Override
Loading