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
This commit is contained in:
Evan Laird
2021-12-06 17:18:05 -05:00
parent 534e7fe611
commit eedd70fc21
5 changed files with 24 additions and 16 deletions

View File

@@ -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
)
}
}

View File

@@ -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();
}

View File

@@ -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();

View File

@@ -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 */);
}

View File

@@ -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)
}