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

Commit ab41eecf authored by Chris Wren's avatar Chris Wren
Browse files

allow listeners to disable themselves

This decouples the user permisson grant from the
bound state of the listener. This allows listeners
that are only relevant sometimes to avoid being
bound as a foreground service all the time.

Bug: 19232554
Change-Id: I9ab078630af5a10c6878d3f19ba80661299713d5
parent 10b89dc5
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -33549,6 +33549,8 @@ package android.service.notification {
    method public void onNotificationRemoved(android.service.notification.StatusBarNotification, android.service.notification.NotificationListenerService.RankingMap);
    method public final void requestInterruptionFilter(int);
    method public final void requestListenerHints(int);
    method public static final void requestRebind(android.content.ComponentName) throws android.os.RemoteException;
    method public final void requestUnbind() throws android.os.RemoteException;
    method public final void setNotificationsShown(java.lang.String[]);
    field public static final java.lang.String CATEGORY_VR_NOTIFICATIONS = "android.intent.category.vr.notifications";
    field public static final int HINT_HOST_DISABLE_EFFECTS = 1; // 0x1
+2 −0
Original line number Diff line number Diff line
@@ -35694,6 +35694,8 @@ package android.service.notification {
    method public void registerAsSystemService(android.content.Context, android.content.ComponentName, int) throws android.os.RemoteException;
    method public final void requestInterruptionFilter(int);
    method public final void requestListenerHints(int);
    method public static final void requestRebind(android.content.ComponentName) throws android.os.RemoteException;
    method public final void requestUnbind() throws android.os.RemoteException;
    method public final void setNotificationsShown(java.lang.String[]);
    method public final void setOnNotificationPostedTrim(int);
    method public void unregisterAsSystemService() throws android.os.RemoteException;
+2 −0
Original line number Diff line number Diff line
@@ -33552,6 +33552,8 @@ package android.service.notification {
    method public void onNotificationRemoved(android.service.notification.StatusBarNotification, android.service.notification.NotificationListenerService.RankingMap);
    method public final void requestInterruptionFilter(int);
    method public final void requestListenerHints(int);
    method public static final void requestRebind(android.content.ComponentName) throws android.os.RemoteException;
    method public final void requestUnbind() throws android.os.RemoteException;
    method public final void setNotificationsShown(java.lang.String[]);
    field public static final java.lang.String CATEGORY_VR_NOTIFICATIONS = "android.intent.category.vr.notifications";
    field public static final int HINT_HOST_DISABLE_EFFECTS = 1; // 0x1
+3 −0
Original line number Diff line number Diff line
@@ -68,6 +68,9 @@ interface INotificationManager
    void cancelNotificationFromListener(in INotificationListener token, String pkg, String tag, int id);
    void cancelNotificationsFromListener(in INotificationListener token, in String[] keys);

    void requestBindListener(in ComponentName component);
    void requestUnbindListener(in INotificationListener token);

    void setNotificationsShownFromListener(in INotificationListener token, in String[] keys);

    ParceledListSlice getActiveNotificationsFromListener(in INotificationListener token, in String[] keys, int trim);
+5 −0
Original line number Diff line number Diff line
@@ -17,13 +17,18 @@
package android.service.notification;

import android.annotation.SdkConstant;
import android.annotation.SystemApi;
import android.app.INotificationManager;
import android.app.Notification;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.IBinder;
import android.os.Parcel;
import android.os.Parcelable;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.util.Log;

/**
Loading