OSDN Git Service

If the menu hasn't been created yet don't do things with it
authorMady Mellor <madym@google.com>
Wed, 21 Jun 2017 00:18:53 +0000 (17:18 -0700)
committerandroid-build-team Robot <android-build-team-robot@google.com>
Thu, 29 Jun 2017 04:37:47 +0000 (04:37 +0000)
Test: runtest systemui
Fixes: 62594598
Change-Id: I1050e2b2bf1ece960d19ad13cb6a9bf71512db57
(cherry picked from commit 0b3f004acbb0eef38ee5e8d920e934f7ab2f7cde)
(cherry picked from commit 104be2e0196fec5198b866834d19a26e938d4afc)

packages/SystemUI/src/com/android/systemui/statusbar/NotificationMenuRow.java
packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationMenuRowTest.java

index c09da21..bd4a1df 100644 (file)
@@ -417,7 +417,7 @@ public class NotificationMenuRow implements NotificationMenuRowPlugin, View.OnCl
 
     @Override
     public void onHeightUpdate() {
-        if (mParent == null || mMenuItems.size() == 0) {
+        if (mParent == null || mMenuItems.size() == 0 || mMenuContainer == null) {
             return;
         }
         int parentHeight = mParent.getCollapsedHeight();
@@ -477,7 +477,7 @@ public class NotificationMenuRow implements NotificationMenuRowPlugin, View.OnCl
 
     private void setMenuLocation() {
         boolean showOnLeft = mTranslation > 0;
-        if ((mIconsPlaced && showOnLeft == mOnLeft) || mSnapping
+        if ((mIconsPlaced && showOnLeft == mOnLeft) || mSnapping || mMenuContainer == null
                 || !mMenuContainer.isAttachedToWindow()) {
             // Do nothing
             return;
index e0d8042..4aa9877 100644 (file)
@@ -57,4 +57,10 @@ public class NotificationMenuRowTest extends LeakCheckedTest {
         row.createMenu(null);
         assertTrue(row.getMenuView() != null);
     }
+
+    @Test
+    public void testResetUncreatedMenu() {
+        NotificationMenuRowPlugin row = new NotificationMenuRow(mContext);
+        row.resetMenu();
+    }
 }