OSDN Git Service

Fixed a bug where the clearable flag was set inconsistently
authorSelim Cinek <cinek@google.com>
Tue, 11 Nov 2014 18:16:18 +0000 (19:16 +0100)
committerSelim Cinek <cinek@google.com>
Tue, 11 Nov 2014 18:16:18 +0000 (19:16 +0100)
This could lead to undismissable notifications.

Bug: 17758698
Change-Id: I60ccbe24686c5b8bc46bfb52e590cef71ed7a190

packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java

index 725a1a8..5613a6e 100644 (file)
@@ -1486,8 +1486,6 @@ public abstract class BaseStatusBar extends SystemUI implements
             entry.autoRedacted = true;
         }
 
-        row.setClearable(sbn.isClearable());
-
         if (MULTIUSER_DEBUG) {
             TextView debug = (TextView) row.findViewById(R.id.debug_info);
             if (debug != null) {
index f8332ea..7345440 100644 (file)
@@ -118,6 +118,7 @@ public class ExpandableNotificationRow extends ActivatableNotificationView {
 
     public void setStatusBarNotification(StatusBarNotification statusBarNotification) {
         mStatusBarNotification = statusBarNotification;
+        updateVetoButton();
     }
 
     public StatusBarNotification getStatusBarNotification() {
@@ -303,17 +304,7 @@ public class ExpandableNotificationRow extends ActivatableNotificationView {
      * @return Can the underlying notification be cleared?
      */
     public boolean isClearable() {
-        return mClearable;
-    }
-
-    /**
-     * Set whether the notification can be cleared.
-     *
-     * @param clearable
-     */
-    public void setClearable(boolean clearable) {
-        mClearable = clearable;
-        updateVetoButton();
+        return mStatusBarNotification != null && mStatusBarNotification.isClearable();
     }
 
     /**