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

Commit 2f93dfc2 authored by Matías Hernández's avatar Matías Hernández Committed by Automerger Merge Worker
Browse files

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

parents d6cbe5be f23350d0
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