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

Commit 233a5f97 authored by Julia Reynolds's avatar Julia Reynolds
Browse files

Implement notification ranking by topic.

Including sensitive notification visibility & DND bypass.

Bug: 22451710
Change-Id: I5f3a0c6d59de0495cb904bad6f886eb29ed4bda4
parent 3f72604b
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -4867,6 +4867,7 @@ package android.app {
    field public static final int PRIORITY_MAX = 2; // 0x2
    field public static final int PRIORITY_MIN = -2; // 0xfffffffe
    field public static final deprecated int STREAM_DEFAULT = -1; // 0xffffffff
    field public static final java.lang.String TOPIC_DEFAULT = "system_default_topic";
    field public static final int VISIBILITY_PRIVATE = 0; // 0x0
    field public static final int VISIBILITY_PUBLIC = 1; // 0x1
    field public static final int VISIBILITY_SECRET = -1; // 0xffffffff
+1 −0
Original line number Diff line number Diff line
@@ -4985,6 +4985,7 @@ package android.app {
    field public static final int PRIORITY_MAX = 2; // 0x2
    field public static final int PRIORITY_MIN = -2; // 0xfffffffe
    field public static final deprecated int STREAM_DEFAULT = -1; // 0xffffffff
    field public static final java.lang.String TOPIC_DEFAULT = "system_default_topic";
    field public static final int VISIBILITY_PRIVATE = 0; // 0x0
    field public static final int VISIBILITY_PUBLIC = 1; // 0x1
    field public static final int VISIBILITY_SECRET = -1; // 0xffffffff
+5 −5
Original line number Diff line number Diff line
@@ -47,11 +47,11 @@ interface INotificationManager
    void setNotificationsEnabledForPackage(String pkg, int uid, boolean enabled);
    boolean areNotificationsEnabledForPackage(String pkg, int uid);

    void setPackagePriority(String pkg, int uid, int priority);
    int getPackagePriority(String pkg, int uid);

    void setPackageVisibilityOverride(String pkg, int uid, int visibility);
    int getPackageVisibilityOverride(String pkg, int uid);
    ParceledListSlice getTopics(String pkg, int uid);
    void setTopicVisibilityOverride(String pkg, int uid, in Notification.Topic topic, int visibility);
    int getTopicVisibilityOverride(String pkg, int uid, in Notification.Topic topic);
    void setTopicPriority(String pkg, int uid, in Notification.Topic topic, int priority);
    int getTopicPriority(String pkg, int uid, in Notification.Topic topic);

    // TODO: Remove this when callers have been migrated to the equivalent
    // INotificationListener method.
+1 −0
Original line number Diff line number Diff line
@@ -17,3 +17,4 @@
package android.app;

parcelable Notification;
parcelable Notification.Topic;
+8 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import android.annotation.DrawableRes;
import android.annotation.IntDef;
import android.annotation.SdkConstant;
import android.annotation.SdkConstant.SdkConstantType;
import android.annotation.SystemApi;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ApplicationInfo;
@@ -1433,6 +1434,9 @@ public class Notification implements Parcelable
                };
    }

    @SystemApi
    public static final String TOPIC_DEFAULT = "system_default_topic";

    private Topic topic;

    public Topic getTopic() {
@@ -3419,6 +3423,10 @@ public class Notification implements Parcelable
                mN.extras.putStringArray(EXTRA_PEOPLE,
                        mPersonList.toArray(new String[mPersonList.size()]));
            }
            if (mN.topic == null) {
                mN.topic = new Topic(TOPIC_DEFAULT, mContext.getString(
                        R.string.default_notification_topic_label));
            }
            return mN;
        }

Loading