diff --git a/packages/SystemUI/res/layout/dream_overlay_status_bar_view.xml b/packages/SystemUI/res/layout/dream_overlay_status_bar_view.xml index c972624c04b1c..006b260434bc9 100644 --- a/packages/SystemUI/res/layout/dream_overlay_status_bar_view.xml +++ b/packages/SystemUI/res/layout/dream_overlay_status_bar_view.xml @@ -40,7 +40,6 @@ android:layout_height="match_parent" android:orientation="horizontal" android:gravity="center_vertical" - android:layout_marginEnd="@dimen/dream_overlay_status_bar_extra_margin" app:layout_constraintEnd_toStartOf="@+id/dream_overlay_system_status" /> @@ -84,7 +84,7 @@ android:id="@+id/dream_overlay_mic_off" android:layout_width="@dimen/dream_overlay_grey_chip_width" android:layout_height="match_parent" - android:layout_marginEnd="@dimen/dream_overlay_status_icon_margin" + android:layout_marginStart="@dimen/dream_overlay_status_icon_margin" android:src="@drawable/dream_overlay_mic_off" android:visibility="gone" android:contentDescription="@string/dream_overlay_status_bar_mic_off" /> @@ -93,7 +93,7 @@ android:id="@+id/dream_overlay_camera_off" android:layout_width="@dimen/dream_overlay_grey_chip_width" android:layout_height="match_parent" - android:layout_marginEnd="@dimen/dream_overlay_status_icon_margin" + android:layout_marginStart="@dimen/dream_overlay_status_icon_margin" android:src="@drawable/dream_overlay_camera_off" android:visibility="gone" android:contentDescription="@string/dream_overlay_status_bar_camera_off" /> @@ -102,7 +102,7 @@ android:id="@+id/dream_overlay_camera_mic_off" android:layout_width="@dimen/dream_overlay_grey_chip_width" android:layout_height="match_parent" - android:layout_marginEnd="@dimen/dream_overlay_status_icon_margin" + android:layout_marginStart="@dimen/dream_overlay_status_icon_margin" android:src="@drawable/dream_overlay_mic_and_camera_off" android:visibility="gone" android:contentDescription="@string/dream_overlay_status_bar_camera_mic_off" /> diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml index e0264c30eeece..1b169e2e1a31e 100644 --- a/packages/SystemUI/res/values/dimens.xml +++ b/packages/SystemUI/res/values/dimens.xml @@ -1464,7 +1464,7 @@ 8dp 6dp 56dp - 16dp + 8dp 86sp diff --git a/packages/SystemUI/src/com/android/systemui/dreams/DreamOverlayStatusBarView.java b/packages/SystemUI/src/com/android/systemui/dreams/DreamOverlayStatusBarView.java index 823255c38a846..f244cb009ba4a 100644 --- a/packages/SystemUI/src/com/android/systemui/dreams/DreamOverlayStatusBarView.java +++ b/packages/SystemUI/src/com/android/systemui/dreams/DreamOverlayStatusBarView.java @@ -61,6 +61,7 @@ public class DreamOverlayStatusBarView extends ConstraintLayout { private final Map mStatusIcons = new HashMap<>(); private ViewGroup mSystemStatusViewGroup; + private ViewGroup mExtraSystemStatusViewGroup; public DreamOverlayStatusBarView(Context context) { this(context, null); @@ -98,7 +99,8 @@ public class DreamOverlayStatusBarView extends ConstraintLayout { mStatusIcons.put(STATUS_ICON_PRIORITY_MODE_ON, fetchStatusIconForResId(R.id.dream_overlay_priority_mode)); - mSystemStatusViewGroup = findViewById(R.id.dream_overlay_extra_items); + mSystemStatusViewGroup = findViewById(R.id.dream_overlay_system_status); + mExtraSystemStatusViewGroup = findViewById(R.id.dream_overlay_extra_items); } void showIcon(@StatusIconType int iconType, boolean show, @Nullable String contentDescription) { @@ -110,11 +112,12 @@ public class DreamOverlayStatusBarView extends ConstraintLayout { icon.setContentDescription(contentDescription); } icon.setVisibility(show ? View.VISIBLE : View.GONE); + mSystemStatusViewGroup.setVisibility(areAnyStatusIconsVisible() ? View.VISIBLE : View.GONE); } void setExtraStatusBarItemViews(List views) { - removeAllStatusBarItemViews(); - views.forEach(view -> mSystemStatusViewGroup.addView(view)); + removeAllExtraStatusBarItemViews(); + views.forEach(view -> mExtraSystemStatusViewGroup.addView(view)); } private View fetchStatusIconForResId(int resId) { @@ -122,7 +125,16 @@ public class DreamOverlayStatusBarView extends ConstraintLayout { return Objects.requireNonNull(statusIcon); } - void removeAllStatusBarItemViews() { - mSystemStatusViewGroup.removeAllViews(); + void removeAllExtraStatusBarItemViews() { + mExtraSystemStatusViewGroup.removeAllViews(); + } + + private boolean areAnyStatusIconsVisible() { + for (int i = 0; i < mSystemStatusViewGroup.getChildCount(); i++) { + if (mSystemStatusViewGroup.getChildAt(i).getVisibility() == View.VISIBLE) { + return true; + } + } + return false; } } diff --git a/packages/SystemUI/src/com/android/systemui/dreams/DreamOverlayStatusBarViewController.java b/packages/SystemUI/src/com/android/systemui/dreams/DreamOverlayStatusBarViewController.java index 6f505504b1866..aa59cc666caab 100644 --- a/packages/SystemUI/src/com/android/systemui/dreams/DreamOverlayStatusBarViewController.java +++ b/packages/SystemUI/src/com/android/systemui/dreams/DreamOverlayStatusBarViewController.java @@ -192,7 +192,7 @@ public class DreamOverlayStatusBarViewController extends ViewController provider.removeCallback(mNotificationCountCallback)); mStatusBarItemsProvider.removeCallback(mStatusBarItemsProviderCallback); - mView.removeAllStatusBarItemViews(); + mView.removeAllExtraStatusBarItemViews(); 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 7f6b79b489392..4ebae98d1246d 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/dreams/DreamOverlayStatusBarViewControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/dreams/DreamOverlayStatusBarViewControllerTest.java @@ -310,7 +310,7 @@ public class DreamOverlayStatusBarViewControllerTest extends SysuiTestCase { @Test public void testOnViewDetachedRemovesViews() { mController.onViewDetached(); - verify(mView).removeAllStatusBarItemViews(); + verify(mView).removeAllExtraStatusBarItemViews(); } @Test