diff options
| author | 2022-09-15 16:54:52 +0000 | |
|---|---|---|
| committer | 2022-09-15 16:54:52 +0000 | |
| commit | 4b3592ad94bb04ba563b2fdeecc9484dc4e2819d (patch) | |
| tree | 257d77d8c160483c76054f353026a20b5c65c553 | |
| parent | 2acc95b838ef9adadacae6119e47137bbbdcc911 (diff) | |
| parent | 69481d95aa2c2d8fc304118357b207acbae2aeae (diff) | |
Merge "Improve dream overlay status bar icon spacing." into tm-qpr-dev am: 69481d95aa
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19915294
Change-Id: Ibf6e4c17477b13e1331d6272783d97e8562daf14
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
5 files changed, 28 insertions, 16 deletions
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 c972624c04b1..006b260434bc 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" /> <LinearLayout @@ -48,14 +47,15 @@ android:layout_width="wrap_content" android:layout_height="match_parent" android:orientation="horizontal" - android:layout_marginStart="@dimen/dream_overlay_status_bar_extra_margin" + android:paddingStart="@dimen/dream_overlay_status_bar_extra_margin" + android:visibility="gone" app:layout_constraintEnd_toEndOf="parent"> <com.android.systemui.statusbar.AlphaOptimizedImageView android:id="@+id/dream_overlay_alarm_set" android:layout_width="@dimen/dream_overlay_status_bar_icon_size" 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/ic_alarm" android:tint="@android:color/white" android:visibility="gone" @@ -65,7 +65,7 @@ android:id="@+id/dream_overlay_priority_mode" android:layout_width="@dimen/dream_overlay_status_bar_icon_size" 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/ic_qs_dnd_on" android:tint="@android:color/white" android:visibility="gone" @@ -75,7 +75,7 @@ android:id="@+id/dream_overlay_wifi_status" android:layout_width="@dimen/dream_overlay_status_bar_icon_size" 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/ic_signal_wifi_off" android:visibility="gone" android:contentDescription="@string/dream_overlay_status_bar_wifi_off" /> @@ -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 e0264c30eeec..1b169e2e1a31 100644 --- a/packages/SystemUI/res/values/dimens.xml +++ b/packages/SystemUI/res/values/dimens.xml @@ -1464,7 +1464,7 @@ <dimen name="dream_overlay_camera_mic_off_indicator_size">8dp</dimen> <dimen name="dream_overlay_notification_indicator_size">6dp</dimen> <dimen name="dream_overlay_grey_chip_width">56dp</dimen> - <dimen name="dream_overlay_status_bar_extra_margin">16dp</dimen> + <dimen name="dream_overlay_status_bar_extra_margin">8dp</dimen> <!-- Dream overlay complications related dimensions --> <dimen name="dream_overlay_complication_clock_time_text_size">86sp</dimen> diff --git a/packages/SystemUI/src/com/android/systemui/dreams/DreamOverlayStatusBarView.java b/packages/SystemUI/src/com/android/systemui/dreams/DreamOverlayStatusBarView.java index 823255c38a84..f244cb009ba4 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<Integer, View> 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<View> 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 6f505504b186..aa59cc666caa 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<DreamOve mDreamOverlayNotificationCountProvider.ifPresent( provider -> 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 7f6b79b48939..4ebae98d1246 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 |