summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/src/com/android/systemui/biometrics/UdfpsKeyguardViewController.java2
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/QSFragment.java2
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/QSPanelController.java4
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/AmbientState.java19
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithm.java5
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelViewController.java5
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java2
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java2
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/qs/QSFragmentTest.java4
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/qs/QSPanelControllerTest.kt12
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutTest.java5
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithmTest.kt11
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java12
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManagerTest.java8
14 files changed, 59 insertions, 34 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsKeyguardViewController.java b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsKeyguardViewController.java
index f5f07c8ca989..1a726ce4448f 100644
--- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsKeyguardViewController.java
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsKeyguardViewController.java
@@ -475,7 +475,7 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud
public void onPanelExpansionChanged(
float fraction, boolean expanded, boolean tracking) {
mPanelExpansionFraction =
- mKeyguardViewManager.bouncerIsInTransit() ? BouncerPanelExpansionCalculator
+ mKeyguardViewManager.isBouncerInTransit() ? BouncerPanelExpansionCalculator
.aboutToShowBouncerProgress(fraction) : fraction;
updateAlpha();
}
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSFragment.java b/packages/SystemUI/src/com/android/systemui/qs/QSFragment.java
index a64b67023da8..4398d2898b4c 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSFragment.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSFragment.java
@@ -609,7 +609,7 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca
} else if (progress > 0 && view.getVisibility() != View.VISIBLE) {
view.setVisibility((View.VISIBLE));
}
- float alpha = mQSPanelController.bouncerInTransit()
+ float alpha = mQSPanelController.isBouncerInTransit()
? BouncerPanelExpansionCalculator.aboutToShowBouncerProgress(progress)
: ShadeInterpolation.getContentAlpha(progress);
view.setAlpha(alpha);
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSPanelController.java b/packages/SystemUI/src/com/android/systemui/qs/QSPanelController.java
index 5670836566ab..851307ac615f 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSPanelController.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSPanelController.java
@@ -254,8 +254,8 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {
*
* @return if bouncer is in transit
*/
- public boolean bouncerInTransit() {
- return mStatusBarKeyguardViewManager.bouncerIsInTransit();
+ public boolean isBouncerInTransit() {
+ return mStatusBarKeyguardViewManager.isBouncerInTransit();
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/AmbientState.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/AmbientState.java
index 2f1022a904e8..25999a7f8dba 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/AmbientState.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/AmbientState.java
@@ -31,6 +31,7 @@ import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow
import com.android.systemui.statusbar.notification.row.ExpandableView;
import com.android.systemui.statusbar.notification.stack.StackScrollAlgorithm.BypassController;
import com.android.systemui.statusbar.notification.stack.StackScrollAlgorithm.SectionProvider;
+import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager;
import javax.inject.Inject;
@@ -45,6 +46,10 @@ public class AmbientState {
private final SectionProvider mSectionProvider;
private final BypassController mBypassController;
+ /**
+ * Used to read bouncer states.
+ */
+ private StatusBarKeyguardViewManager mStatusBarKeyguardViewManager;
private int mScrollY;
private boolean mDimmed;
private ActivatableNotificationView mActivatedChild;
@@ -204,9 +209,11 @@ public class AmbientState {
public AmbientState(
Context context,
@NonNull SectionProvider sectionProvider,
- @NonNull BypassController bypassController) {
+ @NonNull BypassController bypassController,
+ @Nullable StatusBarKeyguardViewManager statusBarKeyguardViewManager) {
mSectionProvider = sectionProvider;
mBypassController = bypassController;
+ mStatusBarKeyguardViewManager = statusBarKeyguardViewManager;
reload(context);
}
@@ -661,4 +668,14 @@ public class AmbientState {
public int getStackTopMargin() {
return mStackTopMargin;
}
+
+ /**
+ * Check to see if we are about to show bouncer.
+ *
+ * @return if bouncer expansion is between 0 and 1.
+ */
+ public boolean isBouncerInTransit() {
+ return mStatusBarKeyguardViewManager != null
+ && mStatusBarKeyguardViewManager.isBouncerInTransit();
+ }
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithm.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithm.java
index c0971337a19f..9204c45ea1d5 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithm.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithm.java
@@ -27,6 +27,7 @@ import android.view.ViewGroup;
import androidx.annotation.VisibleForTesting;
import com.android.internal.policy.SystemBarUtils;
+import com.android.keyguard.BouncerPanelExpansionCalculator;
import com.android.systemui.R;
import com.android.systemui.animation.ShadeInterpolation;
import com.android.systemui.statusbar.EmptyShadeView;
@@ -431,7 +432,9 @@ public class StackScrollAlgorithm {
} else if (ambientState.isExpansionChanging()) {
// Adjust alpha for shade open & close.
float expansion = ambientState.getExpansionFraction();
- viewState.alpha = ShadeInterpolation.getContentAlpha(expansion);
+ viewState.alpha = ambientState.isBouncerInTransit()
+ ? BouncerPanelExpansionCalculator.aboutToShowBouncerProgress(expansion)
+ : ShadeInterpolation.getContentAlpha(expansion);
}
if (ambientState.isShadeExpanded() && view.mustStayOnScreen()
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelViewController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelViewController.java
index d492c57dfa0c..4ba8441fc9a6 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelViewController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelViewController.java
@@ -48,7 +48,6 @@ import android.view.animation.Interpolator;
import com.android.internal.jank.InteractionJankMonitor;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.util.LatencyTracker;
-import com.android.keyguard.BouncerPanelExpansionCalculator;
import com.android.systemui.DejankUtils;
import com.android.systemui.R;
import com.android.systemui.animation.Interpolators;
@@ -796,9 +795,7 @@ public abstract class PanelViewController {
}
mExpandedFraction = Math.min(1f,
maxPanelHeight == 0 ? 0 : mExpandedHeight / maxPanelHeight);
- mAmbientState.setExpansionFraction(mStatusBarKeyguardViewManager.bouncerIsInTransit()
- ? BouncerPanelExpansionCalculator.aboutToShowBouncerProgress(mExpandedFraction)
- : mExpandedFraction);
+ mAmbientState.setExpansionFraction(mExpandedFraction);
onHeightUpdated(mExpandedHeight);
updatePanelExpansionAndVisibility();
});
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
index cc2ff3fb4388..8c1ed19a8dcc 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
@@ -1074,7 +1074,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
}
private float getInterpolatedFraction() {
- if (mStatusBarKeyguardViewManager.bouncerIsInTransit()) {
+ if (mStatusBarKeyguardViewManager.isBouncerInTransit()) {
return BouncerPanelExpansionCalculator
.aboutToShowBouncerProgress(mPanelExpansionFraction);
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java
index ce1289e0885c..6ca94cccc452 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java
@@ -1378,7 +1378,7 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
/**
* Returns if bouncer expansion is between 0 and 1 non-inclusive.
*/
- public boolean bouncerIsInTransit() {
+ public boolean isBouncerInTransit() {
if (mBouncer == null) return false;
return mBouncer.inTransit();
diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/QSFragmentTest.java b/packages/SystemUI/tests/src/com/android/systemui/qs/QSFragmentTest.java
index f5d19e24bfa6..72601a65f414 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/qs/QSFragmentTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/qs/QSFragmentTest.java
@@ -190,7 +190,7 @@ public class QSFragmentTest extends SysuiBaseFragmentTest {
QSFragment fragment = resumeAndGetFragment();
enableSplitShade();
setStatusBarState(StatusBarState.KEYGUARD);
- when(mQSPanelController.bouncerInTransit()).thenReturn(false);
+ when(mQSPanelController.isBouncerInTransit()).thenReturn(false);
int transitionPxAmount = 123;
float transitionProgress = 0.5f;
@@ -206,7 +206,7 @@ public class QSFragmentTest extends SysuiBaseFragmentTest {
QSFragment fragment = resumeAndGetFragment();
enableSplitShade();
setStatusBarState(StatusBarState.KEYGUARD);
- when(mQSPanelController.bouncerInTransit()).thenReturn(true);
+ when(mQSPanelController.isBouncerInTransit()).thenReturn(true);
int transitionPxAmount = 123;
float transitionProgress = 0.5f;
diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/QSPanelControllerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/qs/QSPanelControllerTest.kt
index 689de50d5b4a..69d3f8b313c9 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/qs/QSPanelControllerTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/qs/QSPanelControllerTest.kt
@@ -61,7 +61,7 @@ class QSPanelControllerTest : SysuiTestCase() {
whenever(brightnessSliderFactory.create(any(), any())).thenReturn(brightnessSlider)
whenever(brightnessControllerFactory.create(any())).thenReturn(brightnessController)
whenever(qsPanel.resources).thenReturn(mContext.orCreateTestableResources.resources)
- whenever(statusBarKeyguardViewManager.bouncerIsInTransit()).thenReturn(false)
+ whenever(statusBarKeyguardViewManager.isBouncerInTransit()).thenReturn(false)
controller = QSPanelController(
qsPanel,
@@ -109,10 +109,10 @@ class QSPanelControllerTest : SysuiTestCase() {
}
@Test
- fun testBouncerIsInTransit() {
- whenever(statusBarKeyguardViewManager.bouncerIsInTransit()).thenReturn(true)
- assertThat(controller.bouncerInTransit()).isEqualTo(true)
- whenever(statusBarKeyguardViewManager.bouncerIsInTransit()).thenReturn(false)
- assertThat(controller.bouncerInTransit()).isEqualTo(false)
+ fun testIsBouncerInTransit() {
+ whenever(statusBarKeyguardViewManager.isBouncerInTransit()).thenReturn(true)
+ assertThat(controller.isBouncerInTransit()).isEqualTo(true)
+ whenever(statusBarKeyguardViewManager.isBouncerInTransit()).thenReturn(false)
+ assertThat(controller.isBouncerInTransit()).isEqualTo(false)
}
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutTest.java
index 7a92b96f40db..077f6bfc5f31 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutTest.java
@@ -64,6 +64,7 @@ import com.android.systemui.statusbar.notification.row.FooterView;
import com.android.systemui.statusbar.phone.CentralSurfaces;
import com.android.systemui.statusbar.phone.KeyguardBypassController;
import com.android.systemui.statusbar.phone.ShadeController;
+import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager;
import com.android.systemui.statusbar.phone.UnlockedScreenOffAnimationController;
import org.junit.Assert;
@@ -104,6 +105,7 @@ public class NotificationStackScrollLayoutTest extends SysuiTestCase {
@Mock private UnlockedScreenOffAnimationController mUnlockedScreenOffAnimationController;
@Mock private NotificationShelf mNotificationShelf;
@Mock private NotificationStackSizeCalculator mNotificationStackSizeCalculator;
+ @Mock private StatusBarKeyguardViewManager mStatusBarKeyguardViewManager;
@Before
@UiThreadTest
@@ -111,7 +113,8 @@ public class NotificationStackScrollLayoutTest extends SysuiTestCase {
allowTestableLooperAsMainThread();
// Interact with real instance of AmbientState.
- mAmbientState = new AmbientState(mContext, mNotificationSectionsManager, mBypassController);
+ mAmbientState = new AmbientState(mContext, mNotificationSectionsManager, mBypassController,
+ mStatusBarKeyguardViewManager);
// Inject dependencies before initializing the layout
mDependency.injectTestDependency(SysuiStatusBarStateController.class, mBarState);
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithmTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithmTest.kt
index 1da9bbcdb836..6b4dc5883f08 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithmTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithmTest.kt
@@ -8,6 +8,7 @@ import com.android.systemui.statusbar.EmptyShadeView
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow
import com.android.systemui.statusbar.notification.stack.StackScrollAlgorithm.BypassController
import com.android.systemui.statusbar.notification.stack.StackScrollAlgorithm.SectionProvider
+import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager
import com.google.common.truth.Truth.assertThat
import org.junit.Before
import org.junit.Test
@@ -21,10 +22,14 @@ class StackScrollAlgorithmTest : SysuiTestCase() {
private val stackScrollAlgorithm = StackScrollAlgorithm(context, hostView)
private val expandableViewState = ExpandableViewState()
private val notificationRow = mock(ExpandableNotificationRow::class.java)
+ private val mStatusBarKeyguardViewManager = mock(StatusBarKeyguardViewManager::class.java)
+
private val ambientState = AmbientState(
- context,
- SectionProvider { _, _ -> false },
- BypassController { false })
+ context,
+ SectionProvider { _, _ -> false },
+ BypassController { false },
+ mStatusBarKeyguardViewManager
+ )
@Before
fun setUp() {
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java
index 69d7932a81fb..ff2c05b04160 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java
@@ -1238,7 +1238,7 @@ public class ScrimControllerTest extends SysuiTestCase {
@Test
public void expansionNotificationAlpha_shadeLocked_bouncerActive_usesBouncerInterpolator() {
- when(mStatusBarKeyguardViewManager.bouncerIsInTransit()).thenReturn(true);
+ when(mStatusBarKeyguardViewManager.isBouncerInTransit()).thenReturn(true);
mScrimController.transitionTo(ScrimState.SHADE_LOCKED);
@@ -1254,7 +1254,7 @@ public class ScrimControllerTest extends SysuiTestCase {
@Test
public void expansionNotificationAlpha_shadeLocked_bouncerNotActive_usesShadeInterpolator() {
- when(mStatusBarKeyguardViewManager.bouncerIsInTransit()).thenReturn(false);
+ when(mStatusBarKeyguardViewManager.isBouncerInTransit()).thenReturn(false);
mScrimController.transitionTo(ScrimState.SHADE_LOCKED);
@@ -1269,7 +1269,7 @@ public class ScrimControllerTest extends SysuiTestCase {
@Test
public void notificationAlpha_unnocclusionAnimating_bouncerActive_usesKeyguardNotifAlpha() {
- when(mStatusBarKeyguardViewManager.bouncerIsInTransit()).thenReturn(true);
+ when(mStatusBarKeyguardViewManager.isBouncerInTransit()).thenReturn(true);
mScrimController.transitionTo(ScrimState.KEYGUARD);
mScrimController.setUnocclusionAnimationRunning(true);
@@ -1290,7 +1290,7 @@ public class ScrimControllerTest extends SysuiTestCase {
@Test
public void notificationAlpha_unnocclusionAnimating_bouncerNotActive_usesKeyguardNotifAlpha() {
- when(mStatusBarKeyguardViewManager.bouncerIsInTransit()).thenReturn(false);
+ when(mStatusBarKeyguardViewManager.isBouncerInTransit()).thenReturn(false);
mScrimController.transitionTo(ScrimState.KEYGUARD);
mScrimController.setUnocclusionAnimationRunning(true);
@@ -1311,7 +1311,7 @@ public class ScrimControllerTest extends SysuiTestCase {
@Test
public void notificationAlpha_inKeyguardState_bouncerActive_usesInvertedBouncerInterpolator() {
- when(mStatusBarKeyguardViewManager.bouncerIsInTransit()).thenReturn(true);
+ when(mStatusBarKeyguardViewManager.isBouncerInTransit()).thenReturn(true);
mScrimController.transitionTo(ScrimState.KEYGUARD);
@@ -1330,7 +1330,7 @@ public class ScrimControllerTest extends SysuiTestCase {
@Test
public void notificationAlpha_inKeyguardState_bouncerNotActive_usesInvertedShadeInterpolator() {
- when(mStatusBarKeyguardViewManager.bouncerIsInTransit()).thenReturn(false);
+ when(mStatusBarKeyguardViewManager.isBouncerInTransit()).thenReturn(false);
mScrimController.transitionTo(ScrimState.KEYGUARD);
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManagerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManagerTest.java
index 90cbf540004e..2b018727eb98 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManagerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManagerTest.java
@@ -438,12 +438,12 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase {
}
@Test
- public void testBouncerIsInTransit() {
+ public void testIsBouncerInTransit() {
when(mBouncer.inTransit()).thenReturn(true);
- Truth.assertThat(mStatusBarKeyguardViewManager.bouncerIsInTransit()).isTrue();
+ Truth.assertThat(mStatusBarKeyguardViewManager.isBouncerInTransit()).isTrue();
when(mBouncer.inTransit()).thenReturn(false);
- Truth.assertThat(mStatusBarKeyguardViewManager.bouncerIsInTransit()).isFalse();
+ Truth.assertThat(mStatusBarKeyguardViewManager.isBouncerInTransit()).isFalse();
mBouncer = null;
- Truth.assertThat(mStatusBarKeyguardViewManager.bouncerIsInTransit()).isFalse();
+ Truth.assertThat(mStatusBarKeyguardViewManager.isBouncerInTransit()).isFalse();
}
}