OSDN Git Service

Skip null values in Utils.safeForeach
authorBeverly <beverlyt@google.com>
Fri, 15 Jun 2018 15:04:02 +0000 (11:04 -0400)
committerBeverly <beverlyt@google.com>
Fri, 15 Jun 2018 15:04:02 +0000 (11:04 -0400)
Test: ZenModeControllerImplTest.java
Bug: 110209145
Change-Id: I4234be630c84444a70d8cb380ca6a692a4ff5cbc

packages/SystemUI/src/com/android/systemui/statusbar/policy/ZenModeControllerImpl.java
packages/SystemUI/src/com/android/systemui/util/Utils.java

index 2031b27..59b376f 100644 (file)
@@ -113,10 +113,6 @@ public class ZenModeControllerImpl extends CurrentUserTracker implements ZenMode
 
     @Override
     public void addCallback(Callback callback) {
-        if (callback == null) {
-            Slog.e(TAG, "Attempted to add a null callback.");
-            return;
-        }
         mCallbacks.add(callback);
     }
 
index eca6127..6812410 100644 (file)
@@ -26,11 +26,14 @@ public class Utils {
 
     /**
      * Allows lambda iteration over a list. It is done in reverse order so it is safe
-     * to add or remove items during the iteration.
+     * to add or remove items during the iteration.  Skips over null items.
      */
     public static <T> void safeForeach(List<T> list, Consumer<T> c) {
         for (int i = list.size() - 1; i >= 0; i--) {
-            c.accept(list.get(i));
+            T item = list.get(i);
+            if (item != null) {
+                c.accept(item);
+            }
         }
     }