diff options
| author | 2022-08-23 14:13:47 +0000 | |
|---|---|---|
| committer | 2022-08-23 14:13:47 +0000 | |
| commit | b94e608ff9f08329ae248a3045b7616a0ae61c23 (patch) | |
| tree | ac0c387a7ff2badfbe4f1a830b0fae17a0115b07 | |
| parent | 39276b1fdfd8e2ed1b551d83430df6464bd27126 (diff) | |
| parent | 5b29a93863c08beef6548b35f3a5b906c7e47f40 (diff) | |
Merge "Remove views from StatusBarView when View is detached." into tm-qpr-dev
3 files changed, 12 insertions, 1 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/dreams/DreamOverlayStatusBarView.java b/packages/SystemUI/src/com/android/systemui/dreams/DreamOverlayStatusBarView.java index 7e4a108aadf1..823255c38a84 100644 --- a/packages/SystemUI/src/com/android/systemui/dreams/DreamOverlayStatusBarView.java +++ b/packages/SystemUI/src/com/android/systemui/dreams/DreamOverlayStatusBarView.java @@ -113,7 +113,7 @@ public class DreamOverlayStatusBarView extends ConstraintLayout { } void setExtraStatusBarItemViews(List<View> views) { - mSystemStatusViewGroup.removeAllViews(); + removeAllStatusBarItemViews(); views.forEach(view -> mSystemStatusViewGroup.addView(view)); } @@ -121,4 +121,8 @@ public class DreamOverlayStatusBarView extends ConstraintLayout { final View statusIcon = findViewById(resId); return Objects.requireNonNull(statusIcon); } + + void removeAllStatusBarItemViews() { + mSystemStatusViewGroup.removeAllViews(); + } } diff --git a/packages/SystemUI/src/com/android/systemui/dreams/DreamOverlayStatusBarViewController.java b/packages/SystemUI/src/com/android/systemui/dreams/DreamOverlayStatusBarViewController.java index 65cfae1ac14b..6f505504b186 100644 --- a/packages/SystemUI/src/com/android/systemui/dreams/DreamOverlayStatusBarViewController.java +++ b/packages/SystemUI/src/com/android/systemui/dreams/DreamOverlayStatusBarViewController.java @@ -192,6 +192,7 @@ public class DreamOverlayStatusBarViewController extends ViewController<DreamOve mDreamOverlayNotificationCountProvider.ifPresent( provider -> provider.removeCallback(mNotificationCountCallback)); mStatusBarItemsProvider.removeCallback(mStatusBarItemsProviderCallback); + mView.removeAllStatusBarItemViews(); mTouchInsetSession.clear(); mIsAttached = false; diff --git a/packages/SystemUI/tests/src/com/android/systemui/dreams/DreamOverlayStatusBarViewControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/dreams/DreamOverlayStatusBarViewControllerTest.java index 01309f86a137..7f6b79b48939 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/dreams/DreamOverlayStatusBarViewControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/dreams/DreamOverlayStatusBarViewControllerTest.java @@ -308,6 +308,12 @@ public class DreamOverlayStatusBarViewControllerTest extends SysuiTestCase { } @Test + public void testOnViewDetachedRemovesViews() { + mController.onViewDetached(); + verify(mView).removeAllStatusBarItemViews(); + } + + @Test public void testWifiIconHiddenWhenWifiBecomesAvailable() { // Make sure wifi starts out unavailable when onViewAttached is called, and then returns // true on the second query. |