Save deleted channels.
To discourage the pattern of deleting channels and
recreating them to get around user settings.
Behavior:
- Creating a deleted channel brings back the old channel
(with it's old settings)
- Updating a deleted channel fails
- public getChannel apis should not return deleted channels
Also align data clean up done when clearing data & uninstalling
a package
Test: runtest systemui-notification, cts, cts-verifier
Change-Id: If19c20311c978fd8d3b1cb8b234dc1e68c7356be
diff --git a/core/java/android/app/INotificationManager.aidl b/core/java/android/app/INotificationManager.aidl
index 07c21a5..f909af0 100644
--- a/core/java/android/app/INotificationManager.aidl
+++ b/core/java/android/app/INotificationManager.aidl
@@ -40,6 +40,7 @@
{
void cancelAllNotifications(String pkg, int userId);
+ void clearData(String pkg, int uid);
void enqueueToast(String pkg, ITransientNotification callback, int duration);
void cancelToast(String pkg, ITransientNotification callback);
void enqueueNotificationWithTag(String pkg, String opPkg, String tag, int id,
@@ -54,10 +55,10 @@
void createNotificationChannels(String pkg, in ParceledListSlice channelsList);
void updateNotificationChannelForPackage(String pkg, int uid, in NotificationChannel channel);
NotificationChannel getNotificationChannel(String pkg, String channelId);
- NotificationChannel getNotificationChannelForPackage(String pkg, int uid, String channelId);
+ NotificationChannel getNotificationChannelForPackage(String pkg, int uid, String channelId, boolean includeDeleted);
void deleteNotificationChannel(String pkg, String channelId);
ParceledListSlice getNotificationChannels(String pkg);
- ParceledListSlice getNotificationChannelsForPackage(String pkg, int uid);
+ ParceledListSlice getNotificationChannelsForPackage(String pkg, int uid, boolean includeDeleted);
// TODO: Remove this when callers have been migrated to the equivalent
// INotificationListener method.