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

Commit 94dd5ff9 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge changes I04a3c82a,Ib776e895 into main

* changes:
  [flexiglass] detach old battery ComposeViews
  [flexi] Change ViewCompositionStrategy for ComposeViews
parents c3e63e2e 9a3e69de
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -36,7 +36,7 @@ import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.ComposeView
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.ViewCompositionStrategy.DisposeOnViewTreeLifecycleDestroyed
import androidx.compose.ui.platform.ViewCompositionStrategy
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import androidx.compose.ui.viewinterop.AndroidView
@@ -47,6 +47,7 @@ import com.android.systemui.common.shared.model.Icon as IconModel
import com.android.systemui.common.ui.compose.Icon
import com.android.systemui.common.ui.compose.windowinsets.LocalDisplayCutout
import com.android.systemui.res.R
import com.android.systemui.scene.shared.flag.SceneContainerFlag
import com.android.systemui.shade.NotificationPanelView
import com.android.systemui.shade.ShadeViewStateProvider
import com.android.systemui.statusbar.phone.KeyguardStatusBarView
@@ -123,7 +124,13 @@ constructor(

    private fun createSignOutButtonView(context: Context): ComposeView {
        return ComposeView(context).apply {
            setViewCompositionStrategy(DisposeOnViewTreeLifecycleDestroyed)
            setViewCompositionStrategy(
                if (SceneContainerFlag.isEnabled) {
                    ViewCompositionStrategy.Default
                } else {
                    ViewCompositionStrategy.DisposeOnViewTreeLifecycleDestroyed
                }
            )
            setContent { PlatformTheme { SignOutButton() } }
        }
    }
+11 −3
Original line number Diff line number Diff line
@@ -168,6 +168,7 @@ public class KeyguardStatusBarViewController extends ViewController<KeyguardStat
    private final DreamViewModel mDreamViewModel;
    private final KeyguardInteractor mKeyguardInteractor;

    @Nullable private ComposeView mBatteryComposeView;
    private ViewGroup mSystemIconsContainer;
    private final StatusOverlayHoverListenerFactory mStatusOverlayHoverListenerFactory;

@@ -448,6 +449,9 @@ public class KeyguardStatusBarViewController extends ViewController<KeyguardStat
                this::updateViewState
        );
        mStatusOverlayHoverListenerFactory = statusOverlayHoverListenerFactory;
        if (NewStatusBarIcons.isEnabled() && SceneContainerFlag.isEnabled()) {
            mBatteryComposeView = createAndBindComposeBattery();
        }
    }

    private StatusBarContentInsetsProvider insetsProvider() {
@@ -529,9 +533,10 @@ public class KeyguardStatusBarViewController extends ViewController<KeyguardStat
            collectFlow(mView, mKeyguardInteractor.primaryBouncerShowing, x -> updateViewState());
        }
        if (NewStatusBarIcons.isEnabled()) {
            ComposeView batteryComposeView = createAndBindComposeBattery();

            mSystemIconsContainer.addView(batteryComposeView, -1);
            if (!SceneContainerFlag.isEnabled()) {
                mBatteryComposeView = createAndBindComposeBattery();
            }
            mSystemIconsContainer.addView(mBatteryComposeView, -1);
            // Set the margins for the system icons appropriately
            AlphaOptimizedLinearLayout systemIcons =
                    mSystemIconsContainer.findViewById(R.id.statusIcons);
@@ -573,6 +578,9 @@ public class KeyguardStatusBarViewController extends ViewController<KeyguardStat
        }
        if (SceneContainerFlag.isEnabled()) {
            mKeyguardStateController.removeCallback(mKeyguardStateControllerCallback);
            if (mBatteryComposeView != null) {
                mSystemIconsContainer.removeView(mBatteryComposeView);
            }
        }
    }

+6 −1
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle
import androidx.lifecycle.repeatOnLifecycle
import com.android.compose.theme.PlatformTheme
import com.android.systemui.lifecycle.repeatWhenAttached
import com.android.systemui.scene.shared.flag.SceneContainerFlag
import com.android.systemui.statusbar.phone.domain.interactor.IsAreaDark
import com.android.systemui.statusbar.pipeline.battery.ui.composable.BatteryWithChargeStatus
import com.android.systemui.statusbar.pipeline.battery.ui.composable.ShowPercentMode
@@ -48,7 +49,11 @@ object BatteryWithPercentViewBinder {
                view.apply {
                    isVisible = true
                    setViewCompositionStrategy(
                        if (SceneContainerFlag.isEnabled) {
                            ViewCompositionStrategy.Default
                        } else {
                            ViewCompositionStrategy.DisposeOnViewTreeLifecycleDestroyed
                        }
                    )
                    setContent {
                        PlatformTheme {
+6 −1
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@ import com.android.compose.theme.PlatformTheme
import com.android.systemui.compose.modifiers.sysuiResTag
import com.android.systemui.lifecycle.rememberViewModel
import com.android.systemui.lifecycle.repeatWhenAttached
import com.android.systemui.scene.shared.flag.SceneContainerFlag
import com.android.systemui.statusbar.phone.domain.interactor.IsAreaDark
import com.android.systemui.statusbar.pipeline.battery.ui.composable.UnifiedBattery
import com.android.systemui.statusbar.pipeline.battery.ui.viewmodel.BatteryViewModel
@@ -51,7 +52,11 @@ object UnifiedBatteryViewBinder {
                view.apply {
                    isVisible = true
                    setViewCompositionStrategy(
                        if (SceneContainerFlag.isEnabled) {
                            ViewCompositionStrategy.Default
                        } else {
                            ViewCompositionStrategy.DisposeOnViewTreeLifecycleDestroyed
                        }
                    )
                    setContent {
                        PlatformTheme {
+6 −1
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ import com.android.systemui.kairos.ExperimentalKairosApi
import com.android.systemui.kairos.KairosNetwork
import com.android.systemui.lifecycle.rememberViewModel
import com.android.systemui.lifecycle.repeatWhenAttached
import com.android.systemui.scene.shared.flag.SceneContainerFlag
import com.android.systemui.statusbar.pipeline.mobile.StatusBarMobileIconKairos
import com.android.systemui.statusbar.pipeline.mobile.ui.viewmodel.MobileIconsViewModel
import com.android.systemui.statusbar.pipeline.mobile.ui.viewmodel.StackedMobileIconViewModel
@@ -57,7 +58,11 @@ object StackedMobileIconBinder {
                repeatOnLifecycle(Lifecycle.State.STARTED) {
                    view.composeView.apply {
                        setViewCompositionStrategy(
                            if (SceneContainerFlag.isEnabled) {
                                ViewCompositionStrategy.Default
                            } else {
                                ViewCompositionStrategy.DisposeOnViewTreeLifecycleDestroyed
                            }
                        )
                        setContent {
                            val viewModel: StackedMobileIconViewModel =
Loading