Loading packages/SystemUI/compose/features/src/com/android/systemui/shade/ui/composable/ShadeHeader.kt +1 −1 Original line number Diff line number Diff line Loading @@ -675,7 +675,7 @@ private fun ShadeCarrierGroupKairos( val scope = rememberCoroutineScope() AndroidView( factory = { context -> ModernShadeCarrierGroupMobileView.constructAndBind( ModernShadeCarrierGroupMobileView.constructAndBindKairos( context = context, logger = iconsViewModel.logger, slot = "mobile_carrier_shade_group", Loading packages/SystemUI/src/com/android/systemui/shade/carrier/ShadeCarrierGroupController.java +1 −1 Original line number Diff line number Diff line Loading @@ -289,7 +289,7 @@ public class ShadeCarrierGroupController { mMobileContextProvider.getMobileContextForSub(iconData.subId, mContext); Pair<ModernShadeCarrierGroupMobileView, Job> viewAndJob = ModernShadeCarrierGroupMobileView.constructAndBind( ModernShadeCarrierGroupMobileView.constructAndBindKairos( mobileContext, mobileIconsViewModel.getLogger(), "mobile_carrier_shade_group", Loading packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/ui/binder/ShadeCarrierBinderKairos.kt +25 −9 Original line number Diff line number Diff line Loading @@ -24,19 +24,27 @@ import com.android.systemui.kairos.util.nameTag import com.android.systemui.lifecycle.repeatWhenWindowIsVisible import com.android.systemui.statusbar.pipeline.mobile.ui.viewmodel.ShadeCarrierGroupMobileIconViewModelKairos import com.android.systemui.util.AutoMarqueeTextView import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Job import kotlinx.coroutines.launch object ShadeCarrierBinderKairos { /** Binds the view to the view-model, continuing to update the former based on the latter */ @ExperimentalKairosApi suspend fun bind( fun bind( subId: Int, carrierTextView: AutoMarqueeTextView, viewModel: BuildSpec<ShadeCarrierGroupMobileIconViewModelKairos>, kairosNetwork: KairosNetwork, ) { scope: CoroutineScope, ): Pair<ShadeCarrierBinding, Job> { carrierTextView.isVisible = true val job = scope.launch { carrierTextView.repeatWhenWindowIsVisible { kairosNetwork.activateSpec(nameTag { "ShadeCarrierBinderKairos(subId=$subId).bind" }) { kairosNetwork.activateSpec( nameTag { "ShadeCarrierBinderKairos(subId=$subId).bind" } ) { viewModel.applySpec().carrierName.observe( name = nameTag { "ShadeCarrierBinderKairos(subId=$subId).carrierName" } ) { Loading @@ -45,4 +53,12 @@ object ShadeCarrierBinderKairos { } } } val binding = object : ShadeCarrierBinding { override fun setTextAppearance(resId: Int) { carrierTextView.setTextAppearance(resId) } } return binding to job } } packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/ui/view/ModernShadeCarrierGroupMobileView.kt +10 −3 Original line number Diff line number Diff line Loading @@ -119,7 +119,7 @@ class ModernShadeCarrierGroupMobileView(context: Context, attrs: AttributeSet?) */ @ExperimentalKairosApi @JvmStatic fun constructAndBind( fun constructAndBindKairos( context: Context, logger: MobileViewLogger, slot: String, Loading Loading @@ -161,13 +161,20 @@ class ModernShadeCarrierGroupMobileView(context: Context, attrs: AttributeSet?) val textView = view.requireViewById<AutoMarqueeTextView>(R.id.mobile_carrier_text) launch { val (shadeCarrierBinding, _) = ShadeCarrierBinderKairos.bind( subscriptionId, textView, buildSpec { viewModel }, kairosNetwork, this, ) view.binding = object : ModernShadeCarrierGroupMobileViewBinding { override fun setStyleAndTint(style: Int, fgColor: Int, bgColor: Int) { iconView.setStaticDrawableColor(fgColor, bgColor) shadeCarrierBinding.setTextAppearance(style) } } } } Loading Loading
packages/SystemUI/compose/features/src/com/android/systemui/shade/ui/composable/ShadeHeader.kt +1 −1 Original line number Diff line number Diff line Loading @@ -675,7 +675,7 @@ private fun ShadeCarrierGroupKairos( val scope = rememberCoroutineScope() AndroidView( factory = { context -> ModernShadeCarrierGroupMobileView.constructAndBind( ModernShadeCarrierGroupMobileView.constructAndBindKairos( context = context, logger = iconsViewModel.logger, slot = "mobile_carrier_shade_group", Loading
packages/SystemUI/src/com/android/systemui/shade/carrier/ShadeCarrierGroupController.java +1 −1 Original line number Diff line number Diff line Loading @@ -289,7 +289,7 @@ public class ShadeCarrierGroupController { mMobileContextProvider.getMobileContextForSub(iconData.subId, mContext); Pair<ModernShadeCarrierGroupMobileView, Job> viewAndJob = ModernShadeCarrierGroupMobileView.constructAndBind( ModernShadeCarrierGroupMobileView.constructAndBindKairos( mobileContext, mobileIconsViewModel.getLogger(), "mobile_carrier_shade_group", Loading
packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/ui/binder/ShadeCarrierBinderKairos.kt +25 −9 Original line number Diff line number Diff line Loading @@ -24,19 +24,27 @@ import com.android.systemui.kairos.util.nameTag import com.android.systemui.lifecycle.repeatWhenWindowIsVisible import com.android.systemui.statusbar.pipeline.mobile.ui.viewmodel.ShadeCarrierGroupMobileIconViewModelKairos import com.android.systemui.util.AutoMarqueeTextView import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Job import kotlinx.coroutines.launch object ShadeCarrierBinderKairos { /** Binds the view to the view-model, continuing to update the former based on the latter */ @ExperimentalKairosApi suspend fun bind( fun bind( subId: Int, carrierTextView: AutoMarqueeTextView, viewModel: BuildSpec<ShadeCarrierGroupMobileIconViewModelKairos>, kairosNetwork: KairosNetwork, ) { scope: CoroutineScope, ): Pair<ShadeCarrierBinding, Job> { carrierTextView.isVisible = true val job = scope.launch { carrierTextView.repeatWhenWindowIsVisible { kairosNetwork.activateSpec(nameTag { "ShadeCarrierBinderKairos(subId=$subId).bind" }) { kairosNetwork.activateSpec( nameTag { "ShadeCarrierBinderKairos(subId=$subId).bind" } ) { viewModel.applySpec().carrierName.observe( name = nameTag { "ShadeCarrierBinderKairos(subId=$subId).carrierName" } ) { Loading @@ -45,4 +53,12 @@ object ShadeCarrierBinderKairos { } } } val binding = object : ShadeCarrierBinding { override fun setTextAppearance(resId: Int) { carrierTextView.setTextAppearance(resId) } } return binding to job } }
packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/ui/view/ModernShadeCarrierGroupMobileView.kt +10 −3 Original line number Diff line number Diff line Loading @@ -119,7 +119,7 @@ class ModernShadeCarrierGroupMobileView(context: Context, attrs: AttributeSet?) */ @ExperimentalKairosApi @JvmStatic fun constructAndBind( fun constructAndBindKairos( context: Context, logger: MobileViewLogger, slot: String, Loading Loading @@ -161,13 +161,20 @@ class ModernShadeCarrierGroupMobileView(context: Context, attrs: AttributeSet?) val textView = view.requireViewById<AutoMarqueeTextView>(R.id.mobile_carrier_text) launch { val (shadeCarrierBinding, _) = ShadeCarrierBinderKairos.bind( subscriptionId, textView, buildSpec { viewModel }, kairosNetwork, this, ) view.binding = object : ModernShadeCarrierGroupMobileViewBinding { override fun setStyleAndTint(style: Int, fgColor: Int, bgColor: Int) { iconView.setStaticDrawableColor(fgColor, bgColor) shadeCarrierBinding.setTextAppearance(style) } } } } Loading