Fix issue with alphas not being applied to the same view on unlock am: acb755ce9e

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/16333337

Change-Id: I665fcf83cbef465e3f2bf4a419f85159691549c3
This commit is contained in:
Winson Chung
2021-11-24 21:47:11 +00:00
committed by Automerger Merge Worker
2 changed files with 27 additions and 29 deletions

View File

@@ -108,6 +108,7 @@ public class NavigationBarView extends FrameLayout implements
private final int mNavColorSampleMargin;
private final SysUiState mSysUiFlagContainer;
// The current view is one of mHorizontal or mVertical depending on the current configuration
View mCurrentView = null;
private View mVertical;
private View mHorizontal;
@@ -370,12 +371,6 @@ public class NavigationBarView extends FrameLayout implements
}
}
@Override
protected boolean onSetAlpha(int alpha) {
Log.e(TAG, "onSetAlpha", new Throwable());
return super.onSetAlpha(alpha);
}
public void setAutoHideController(AutoHideController autoHideController) {
mAutoHideController = autoHideController;
}
@@ -474,6 +469,18 @@ public class NavigationBarView extends FrameLayout implements
return mCurrentView;
}
/**
* Applies {@param consumer} to each of the nav bar views.
*/
public void forEachView(Consumer<View> consumer) {
if (mVertical != null) {
consumer.accept(mVertical);
}
if (mHorizontal != null) {
consumer.accept(mHorizontal);
}
}
public RotationButtonController getRotationButtonController() {
return mRotationButtonController;
}

View File

@@ -552,12 +552,13 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
public void onStartedWakingUp() {
mStatusBar.getNotificationShadeWindowView().getWindowInsetsController()
.setAnimationsDisabled(false);
View currentView = getCurrentNavBarView();
if (currentView != null) {
currentView.animate()
.alpha(1f)
.setDuration(NAV_BAR_CONTENT_FADE_DURATION)
.start();
NavigationBarView navBarView = mStatusBar.getNavigationBarView();
if (navBarView != null) {
navBarView.forEachView(view ->
view.animate()
.alpha(1f)
.setDuration(NAV_BAR_CONTENT_FADE_DURATION)
.start());
}
}
@@ -565,12 +566,13 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
public void onStartedGoingToSleep() {
mStatusBar.getNotificationShadeWindowView().getWindowInsetsController()
.setAnimationsDisabled(true);
View currentView = getCurrentNavBarView();
if (currentView != null) {
currentView.animate()
.alpha(0f)
.setDuration(NAV_BAR_CONTENT_FADE_DURATION)
.start();
NavigationBarView navBarView = mStatusBar.getNavigationBarView();
if (navBarView != null) {
navBarView.forEachView(view ->
view.animate()
.alpha(0f)
.setDuration(NAV_BAR_CONTENT_FADE_DURATION)
.start());
}
}
@@ -996,17 +998,6 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
mStatusBar.onKeyguardViewManagerStatesUpdated();
}
/**
* Updates the visibility of the nav bar content views.
*/
private void updateNavigationBarContentVisibility(boolean navBarContentVisible) {
final NavigationBarView navBarView = mStatusBar.getNavigationBarView();
if (navBarView != null && navBarView.getCurrentView() != null) {
final View currentView = navBarView.getCurrentView();
currentView.setVisibility(navBarContentVisible ? View.VISIBLE : View.INVISIBLE);
}
}
private View getCurrentNavBarView() {
final NavigationBarView navBarView = mStatusBar.getNavigationBarView();
return navBarView != null ? navBarView.getCurrentView() : null;