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

Commit 0ce62411 authored by Evan Laird's avatar Evan Laird
Browse files

[sb] end-side roaming indicator

I think we can all acknowledge this is cuter

Test: manual via demo mode
Bug: 399416492
Flag: com.android.settingslib.flags.new_status_bar_icons
Change-Id: I1aee3ee1314a7f0755e8886c11f7db4843878585
parent f004bb23
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -83,6 +83,7 @@
                android:adjustViewBounds="true"
                systemui:hasOverlappingRendering="false"
                />
            <!-- TODO(b/314812750): this can be removed once the flag is rolled out -->
            <ImageView
                android:id="@+id/mobile_roaming"
                android:layout_width="wrap_content"
@@ -93,5 +94,14 @@
                android:contentDescription="@string/data_connection_roaming"
                android:visibility="gone" />
        </FrameLayout>
        <ImageView
            android:id="@+id/mobile_roaming_updated"
            android:layout_width="wrap_content"
            android:layout_height="@dimen/status_bar_mobile_roam_size_updated"
            android:layout_marginStart="@dimen/status_bar_mobile_type_container_margin_end"
            android:layout_marginTop="1sp"
            android:visibility="gone"
            android:src="@drawable/stat_sys_roaming_updated"
            android:contentDescription="@string/data_connection_roaming"/>
    </com.android.keyguard.AlphaOptimizedLinearLayout>
</merge>
+3 −0
Original line number Diff line number Diff line
@@ -240,6 +240,9 @@
    <!-- Size of the view displaying the mobile roam icon in the status bar. This value should
        match the viewport size of drawable stat_sys_roaming -->
    <dimen name="status_bar_mobile_roam_size">8sp</dimen>
    <!-- Size of the roaming indicator. This indicator is positioned at the end of the mobile
        group -->
    <dimen name="status_bar_mobile_roam_size_updated">10sp</dimen>

    <!-- Spacing before the airplane mode icon if there are any icons preceding it. -->
    <dimen name="status_bar_airplane_spacer_width">4sp</dimen>
+9 −2
Original line number Diff line number Diff line
@@ -38,6 +38,7 @@ import com.android.systemui.plugins.DarkIconDispatcher
import com.android.systemui.res.R
import com.android.systemui.statusbar.StatusBarIconView
import com.android.systemui.statusbar.StatusBarIconView.STATE_HIDDEN
import com.android.systemui.statusbar.core.NewStatusBarIcons
import com.android.systemui.statusbar.pipeline.mobile.domain.model.SignalIconModel
import com.android.systemui.statusbar.pipeline.mobile.ui.MobileViewLogger
import com.android.systemui.statusbar.pipeline.mobile.ui.viewmodel.LocationBasedMobileViewModel
@@ -71,6 +72,7 @@ object MobileIconBinder {
        val mobileDrawable = SignalDrawable(view.context)
        val roamingView = view.requireViewById<ImageView>(R.id.mobile_roaming)
        val roamingSpace = view.requireViewById<Space>(R.id.mobile_roaming_space)
        val endSideRoamingView = view.requireViewById<ImageView>(R.id.mobile_roaming_updated)
        val dotView = view.requireViewById<StatusBarIconView>(R.id.status_bar_dot)

        view.isVisible = viewModel.isVisible.value
@@ -211,10 +213,14 @@ object MobileIconBinder {
                    // Set the roaming indicator
                    launch {
                        viewModel.roaming.distinctUntilChanged().collect { isRoaming ->
                            if (NewStatusBarIcons.isEnabled) {
                                endSideRoamingView.isVisible = isRoaming
                            } else {
                                roamingView.isVisible = isRoaming
                                roamingSpace.isVisible = isRoaming
                            }
                        }
                    }

                    if (statusBarStaticInoutIndicators()) {
                        // Set the opacity of the activity indicators
@@ -263,6 +269,7 @@ object MobileIconBinder {
                            }

                            roamingView.imageTintList = tint
                            endSideRoamingView.imageTintList = tint
                            activityIn.imageTintList = tint
                            activityOut.imageTintList = tint
                            dotView.setDecorColor(colors.tint)