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

Commit eedd70fc authored by Evan Laird's avatar Evan Laird
Browse files

Remove unneeded statusbar view references from StatusBar.java

- In two cases, the check for (mStatusBarView != null) was vestigial from
  when the shade shared a window with the status bar window.

- Removed an unused `getStatusBarView` method from ShadeControllerImpl

- Added a ConfigurationListener to PhoneStatusBarViewController so it
  could update its own resources instead of relying on statusbar for the
  callback

Test: atest SystemUITests
Bug: 209005990
Change-Id: I7c15ec862c75006d9992ea80037160b330d6d4ce
parent 534e7fe6
Loading
Loading
Loading
Loading
+16 −3
Original line number Diff line number Diff line
@@ -15,12 +15,14 @@
 */
package com.android.systemui.statusbar.phone

import android.content.res.Configuration
import android.graphics.Point
import android.view.View
import android.view.ViewGroup
import android.view.ViewTreeObserver
import com.android.systemui.R
import com.android.systemui.shared.animation.UnfoldMoveFromCenterAnimator
import com.android.systemui.statusbar.policy.ConfigurationController
import com.android.systemui.unfold.SysUIUnfoldComponent
import com.android.systemui.unfold.UNFOLD_STATUS_BAR
import com.android.systemui.unfold.util.ScopedUnfoldTransitionProgressProvider
@@ -35,9 +37,16 @@ class PhoneStatusBarViewController private constructor(
    view: PhoneStatusBarView,
    @Named(UNFOLD_STATUS_BAR) private val progressProvider: ScopedUnfoldTransitionProgressProvider?,
    private val moveFromCenterAnimationController: StatusBarMoveFromCenterAnimationController?,
    touchEventHandler: PhoneStatusBarView.TouchEventHandler
    touchEventHandler: PhoneStatusBarView.TouchEventHandler,
    private val configurationController: ConfigurationController
) : ViewController<PhoneStatusBarView>(view) {

    private val configurationListener = object : ConfigurationController.ConfigurationListener {
        override fun onConfigChanged(newConfig: Configuration?) {
            mView.updateResources()
        }
    }

    override fun onViewAttached() {
        moveFromCenterAnimationController?.let { animationController ->
            val statusBarLeftSide: View = mView.findViewById(R.id.status_bar_left_side)
@@ -66,11 +75,13 @@ class PhoneStatusBarViewController private constructor(
        }

        progressProvider?.setReadyToHandleTransition(true)
        configurationController.addCallback(configurationListener)
    }

    override fun onViewDetached() {
        progressProvider?.setReadyToHandleTransition(false)
        moveFromCenterAnimationController?.onViewDetached()
        configurationController.removeCallback(configurationListener)
    }

    init {
@@ -116,7 +127,8 @@ class PhoneStatusBarViewController private constructor(
    class Factory @Inject constructor(
        private val unfoldComponent: Optional<SysUIUnfoldComponent>,
        @Named(UNFOLD_STATUS_BAR)
        private val progressProvider: Optional<ScopedUnfoldTransitionProgressProvider>
        private val progressProvider: Optional<ScopedUnfoldTransitionProgressProvider>,
        private val configurationController: ConfigurationController
    ) {
        fun create(
            view: PhoneStatusBarView,
@@ -128,7 +140,8 @@ class PhoneStatusBarViewController private constructor(
                unfoldComponent.map {
                    it.getStatusBarMoveFromCenterAnimationController()
                }.getOrNull(),
                touchEventHandler
                touchEventHandler,
                configurationController
            )
    }
}
+0 −4
Original line number Diff line number Diff line
@@ -218,10 +218,6 @@ public class ShadeControllerImpl implements ShadeController {
        return getStatusBar().getNotificationShadeWindowView();
    }

    protected PhoneStatusBarView getStatusBarView() {
        return (PhoneStatusBarView) getStatusBar().getStatusBarView();
    }

    private NotificationPanelViewController getNotificationPanelViewController() {
        return getStatusBar().getPanelController();
    }
+2 −5
Original line number Diff line number Diff line
@@ -2715,9 +2715,6 @@ public class StatusBar extends CoreStartable implements
            mStatusBarWindowController.refreshStatusBarHeight();
        }

        if (mStatusBarView != null) {
            mStatusBarView.updateResources();
        }
        if (mNotificationPanelViewController != null) {
            mNotificationPanelViewController.updateResources();
        }
@@ -4192,7 +4189,7 @@ public class StatusBar extends CoreStartable implements

            if (userSetup != mUserSetup) {
                mUserSetup = userSetup;
                if (!mUserSetup && mStatusBarView != null) {
                if (!mUserSetup) {
                    animateCollapseQuickSettings();
                }
                if (mNotificationPanelViewController != null) {
@@ -4307,7 +4304,7 @@ public class StatusBar extends CoreStartable implements
                    updateTheme();
                    mNavigationBarController.touchAutoDim(mDisplayId);
                    Trace.beginSection("StatusBar#updateKeyguardState");
                    if (mState == StatusBarState.KEYGUARD && mStatusBarView != null) {
                    if (mState == StatusBarState.KEYGUARD) {
                        mNotificationPanelViewController.cancelPendingPanelCollapse();
                    }
                    updateDozingState();
+1 −3
Original line number Diff line number Diff line
@@ -529,9 +529,7 @@ public class StatusBarCommandQueueCallbacks implements CommandQueue.Callbacks {
            if (StatusBar.DEBUG_WINDOW_STATE) {
                Log.d(StatusBar.TAG, "Status bar " + windowStateToString(state));
            }
            if (mStatusBar.getStatusBarView() != null
                    && !showing
                    && mStatusBarStateController.getState() == StatusBarState.SHADE) {
            if (!showing && mStatusBarStateController.getState() == StatusBarState.SHADE) {
                mNotificationPanelViewController.collapsePanel(
                            false /* animate */, false /* delayed */, 1.0f /* speedUpFactor */);
            }
+5 −1
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ import androidx.test.filters.SmallTest
import androidx.test.platform.app.InstrumentationRegistry
import com.android.systemui.R
import com.android.systemui.SysuiTestCase
import com.android.systemui.statusbar.policy.ConfigurationController
import com.android.systemui.unfold.SysUIUnfoldComponent
import com.android.systemui.unfold.config.UnfoldTransitionConfig
import com.android.systemui.unfold.util.ScopedUnfoldTransitionProgressProvider
@@ -57,6 +58,8 @@ class PhoneStatusBarViewControllerTest : SysuiTestCase() {
    private lateinit var sysuiUnfoldComponent: SysUIUnfoldComponent
    @Mock
    private lateinit var progressProvider: ScopedUnfoldTransitionProgressProvider
    @Mock
    private lateinit var configurationController: ConfigurationController

    private lateinit var view: PhoneStatusBarView
    private lateinit var controller: PhoneStatusBarViewController
@@ -116,7 +119,8 @@ class PhoneStatusBarViewControllerTest : SysuiTestCase() {
    private fun createController(view: PhoneStatusBarView): PhoneStatusBarViewController {
        return PhoneStatusBarViewController.Factory(
            Optional.of(sysuiUnfoldComponent),
            Optional.of(progressProvider)
            Optional.of(progressProvider),
            configurationController
        ).create(view, touchEventHandler)
    }