Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 82ed7d52 authored by Will Leshner's avatar Will Leshner
Browse files

Improve dream overlay status bar icon spacing.

The spacing between various dream overlay status
bar items, and between items and the status bar
left margin, needed some tweaking to be more
consistent.

Bug: 245994345
Test: atest DreamOverlayStatusBarViewController

Change-Id: I542d7a258cd944d83f34f8edd6d6a8832265145f
parent 16770a53
Loading
Loading
Loading
Loading
+8 −8
Original line number Diff line number Diff line
@@ -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" />
+1 −1
Original line number Diff line number Diff line
@@ -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>
+17 −5
Original line number Diff line number Diff line
@@ -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;
    }
}
+1 −1
Original line number Diff line number Diff line
@@ -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;
+1 −1
Original line number Diff line number Diff line
@@ -310,7 +310,7 @@ public class DreamOverlayStatusBarViewControllerTest extends SysuiTestCase {
    @Test
    public void testOnViewDetachedRemovesViews() {
        mController.onViewDetached();
        verify(mView).removeAllStatusBarItemViews();
        verify(mView).removeAllExtraStatusBarItemViews();
    }

    @Test