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

Commit e679d1ad authored by Steve Elliott's avatar Steve Elliott
Browse files

Apply SBIV LayoutParams when added to NIC

Flag: ACONFIG com.android.systemui.notifications_icon_container_refactor TEAMFOOD
Bug: 318858608
Test: v2/sysui/suite/test-mapping-silver-e2e
Change-Id: I364a0c9ddede69822329e4201f025e72ce51851e
parent 57e6b7f4
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -187,7 +187,7 @@ object NotificationIconContainerViewBinder {
            configuration.getDimensionPixelSize(RInternal.dimen.status_bar_icon_size_sp)
        val iconHorizontalPaddingFlow: Flow<Int> =
            configuration.getDimensionPixelSize(R.dimen.status_bar_icon_horizontal_margin)
        val layoutParams: Flow<FrameLayout.LayoutParams> =
        val layoutParams: StateFlow<FrameLayout.LayoutParams> =
            combine(iconSizeFlow, iconHorizontalPaddingFlow, systemBarUtilsState.statusBarHeight) {
                    iconSize,
                    iconHPadding,
@@ -206,7 +206,7 @@ object NotificationIconContainerViewBinder {

    private suspend fun Flow<NotificationIconsViewData>.bindIcons(
        view: NotificationIconContainer,
        layoutParams: Flow<FrameLayout.LayoutParams>,
        layoutParams: StateFlow<FrameLayout.LayoutParams>,
        notifyBindingFailures: (Collection<String>) -> Unit,
        viewStore: IconViewStore,
        bindIcon: suspend (iconKey: String, view: StatusBarIconView) -> Unit,
@@ -259,7 +259,7 @@ object NotificationIconContainerViewBinder {
                            // added again.
                            removeTransientView(sbiv)
                        }
                        view.addView(sbiv)
                        view.addView(sbiv, layoutParams.value)
                        boundViewsByNotifKey.remove(notifKey)?.second?.cancel()
                        boundViewsByNotifKey[notifKey] =
                            Pair(
@@ -267,9 +267,11 @@ object NotificationIconContainerViewBinder {
                                launch {
                                    launch {
                                        layoutParams.collectTracingEach("SBIV#bindLayoutParams") {
                                            if (it != sbiv.layoutParams) {
                                                sbiv.layoutParams = it
                                            }
                                        }
                                    }
                                    bindIcon(notifKey, sbiv)
                                },
                            )