diff options
-rw-r--r-- | core/java/android/service/notification/IStatusBarNotificationHolder.aidl | 1 | ||||
-rw-r--r-- | services/core/java/com/android/server/notification/NotificationManagerService.java | 7 |
2 files changed, 6 insertions, 2 deletions
diff --git a/core/java/android/service/notification/IStatusBarNotificationHolder.aidl b/core/java/android/service/notification/IStatusBarNotificationHolder.aidl index fd6b59e..c25cdb2 100644 --- a/core/java/android/service/notification/IStatusBarNotificationHolder.aidl +++ b/core/java/android/service/notification/IStatusBarNotificationHolder.aidl @@ -20,5 +20,6 @@ import android.service.notification.StatusBarNotification; /** @hide */ interface IStatusBarNotificationHolder { + /** Fetch the held StatusBarNotification. This method should only be called once per Holder */ StatusBarNotification get(); } diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java index a56f783..280db73 100644 --- a/services/core/java/com/android/server/notification/NotificationManagerService.java +++ b/services/core/java/com/android/server/notification/NotificationManagerService.java @@ -2965,15 +2965,18 @@ public class NotificationManagerService extends SystemService { */ private static final class StatusBarNotificationHolder extends IStatusBarNotificationHolder.Stub { - private final StatusBarNotification mValue; + private StatusBarNotification mValue; public StatusBarNotificationHolder(StatusBarNotification value) { mValue = value; } + /** Get the held value and clear it. This function should only be called once per holder */ @Override public StatusBarNotification get() { - return mValue; + StatusBarNotification value = mValue; + mValue = null; + return value; } } } |