Update notification FSI logic for when device is considered dreaming

This change uses StatusBarStateController to check if the device is
dreaming, since that state is based on the dreaming broadcasts which are
only sent after the dream has finished waking up. This means that
StatusBarContoller.isDreaming will remain true during the wake-up phase
of the dream, therefore allowing full-screen intents in notifications.

This change also removes the RPC to DreamManagerService, since the dream
state is locally cached in StatusBarController

Fixes: 265977861
Test: atest StatusBarStateControllerImplTest
Test: atest NotificationInterruptStateProviderImplTest
Test: atest CentralSurfacesImplTest
Change-Id: I8e97fdb064c4b23517d69498638769aac26f419f
This commit is contained in:
Lucas Silva
2023-03-14 15:01:18 -04:00
parent aede9255f3
commit 236b845e2b
8 changed files with 50 additions and 52 deletions

View File

@@ -49,6 +49,13 @@ public interface StatusBarStateController {
*/ */
boolean isPulsing(); boolean isPulsing();
/**
* Is device dreaming. This method is more inclusive than
* {@link android.service.dreams.IDreamManager.isDreaming}, as it will return true during the
* dream's wake-up phase.
*/
boolean isDreaming();
/** /**
* Adds a state listener * Adds a state listener
*/ */

View File

@@ -56,6 +56,7 @@ import com.android.systemui.plugins.statusbar.StatusBarStateController.StateList
import com.android.systemui.shade.ShadeExpansionStateManager; import com.android.systemui.shade.ShadeExpansionStateManager;
import com.android.systemui.statusbar.notification.stack.StackStateAnimator; import com.android.systemui.statusbar.notification.stack.StackStateAnimator;
import com.android.systemui.statusbar.policy.CallbackController; import com.android.systemui.statusbar.policy.CallbackController;
import com.android.systemui.util.Compile;
import java.io.PrintWriter; import java.io.PrintWriter;
import java.util.ArrayList; import java.util.ArrayList;
@@ -299,7 +300,7 @@ public class StatusBarStateControllerImpl implements
@Override @Override
public boolean setIsDreaming(boolean isDreaming) { public boolean setIsDreaming(boolean isDreaming) {
if (Log.isLoggable(TAG, Log.DEBUG)) { if (Log.isLoggable(TAG, Log.DEBUG) || Compile.IS_DEBUG) {
Log.d(TAG, "setIsDreaming:" + isDreaming); Log.d(TAG, "setIsDreaming:" + isDreaming);
} }
if (mIsDreaming == isDreaming) { if (mIsDreaming == isDreaming) {
@@ -320,6 +321,11 @@ public class StatusBarStateControllerImpl implements
return true; return true;
} }
@Override
public boolean isDreaming() {
return mIsDreaming;
}
@Override @Override
public void setAndInstrumentDozeAmount(View view, float dozeAmount, boolean animated) { public void setAndInstrumentDozeAmount(View view, float dozeAmount, boolean animated) {
if (mDarkAnimator != null && mDarkAnimator.isRunning()) { if (mDarkAnimator != null && mDarkAnimator.isRunning()) {
@@ -580,6 +586,7 @@ public class StatusBarStateControllerImpl implements
pw.println(" mLeaveOpenOnKeyguardHide=" + mLeaveOpenOnKeyguardHide); pw.println(" mLeaveOpenOnKeyguardHide=" + mLeaveOpenOnKeyguardHide);
pw.println(" mKeyguardRequested=" + mKeyguardRequested); pw.println(" mKeyguardRequested=" + mKeyguardRequested);
pw.println(" mIsDozing=" + mIsDozing); pw.println(" mIsDozing=" + mIsDozing);
pw.println(" mIsDreaming=" + mIsDreaming);
pw.println(" mListeners{" + mListeners.size() + "}="); pw.println(" mListeners{" + mListeners.size() + "}=");
for (RankedListener rl : mListeners) { for (RankedListener rl : mListeners) {
pw.println(" " + rl.mListener); pw.println(" " + rl.mListener);

View File

@@ -28,12 +28,9 @@ import android.database.ContentObserver;
import android.hardware.display.AmbientDisplayConfiguration; import android.hardware.display.AmbientDisplayConfiguration;
import android.os.Handler; import android.os.Handler;
import android.os.PowerManager; import android.os.PowerManager;
import android.os.RemoteException;
import android.os.SystemProperties; import android.os.SystemProperties;
import android.provider.Settings; import android.provider.Settings;
import android.service.dreams.IDreamManager;
import android.service.notification.StatusBarNotification; import android.service.notification.StatusBarNotification;
import android.util.Log;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
@@ -70,7 +67,6 @@ public class NotificationInterruptStateProviderImpl implements NotificationInter
private final KeyguardStateController mKeyguardStateController; private final KeyguardStateController mKeyguardStateController;
private final ContentResolver mContentResolver; private final ContentResolver mContentResolver;
private final PowerManager mPowerManager; private final PowerManager mPowerManager;
private final IDreamManager mDreamManager;
private final AmbientDisplayConfiguration mAmbientDisplayConfiguration; private final AmbientDisplayConfiguration mAmbientDisplayConfiguration;
private final BatteryController mBatteryController; private final BatteryController mBatteryController;
private final HeadsUpManager mHeadsUpManager; private final HeadsUpManager mHeadsUpManager;
@@ -112,7 +108,6 @@ public class NotificationInterruptStateProviderImpl implements NotificationInter
public NotificationInterruptStateProviderImpl( public NotificationInterruptStateProviderImpl(
ContentResolver contentResolver, ContentResolver contentResolver,
PowerManager powerManager, PowerManager powerManager,
IDreamManager dreamManager,
AmbientDisplayConfiguration ambientDisplayConfiguration, AmbientDisplayConfiguration ambientDisplayConfiguration,
BatteryController batteryController, BatteryController batteryController,
StatusBarStateController statusBarStateController, StatusBarStateController statusBarStateController,
@@ -126,7 +121,6 @@ public class NotificationInterruptStateProviderImpl implements NotificationInter
UserTracker userTracker) { UserTracker userTracker) {
mContentResolver = contentResolver; mContentResolver = contentResolver;
mPowerManager = powerManager; mPowerManager = powerManager;
mDreamManager = dreamManager;
mBatteryController = batteryController; mBatteryController = batteryController;
mAmbientDisplayConfiguration = ambientDisplayConfiguration; mAmbientDisplayConfiguration = ambientDisplayConfiguration;
mStatusBarStateController = statusBarStateController; mStatusBarStateController = statusBarStateController;
@@ -287,7 +281,9 @@ public class NotificationInterruptStateProviderImpl implements NotificationInter
} }
// If the device is currently dreaming, then launch the FullScreenIntent // If the device is currently dreaming, then launch the FullScreenIntent
if (isDreaming()) { // We avoid using IDreamManager#isDreaming here as that method will return false during
// the dream's wake-up phase.
if (mStatusBarStateController.isDreaming()) {
return getDecisionGivenSuppression(FullScreenIntentDecision.FSI_DEVICE_IS_DREAMING, return getDecisionGivenSuppression(FullScreenIntentDecision.FSI_DEVICE_IS_DREAMING,
suppressedByDND); suppressedByDND);
} }
@@ -365,16 +361,6 @@ public class NotificationInterruptStateProviderImpl implements NotificationInter
} }
} }
} }
private boolean isDreaming() {
try {
return mDreamManager.isDreaming();
} catch (RemoteException e) {
Log.e(TAG, "Failed to query dream manager.", e);
return false;
}
}
private boolean shouldHeadsUpWhenAwake(NotificationEntry entry, boolean log) { private boolean shouldHeadsUpWhenAwake(NotificationEntry entry, boolean log) {
StatusBarNotification sbn = entry.getSbn(); StatusBarNotification sbn = entry.getSbn();
@@ -424,7 +410,7 @@ public class NotificationInterruptStateProviderImpl implements NotificationInter
return false; return false;
} }
boolean inUse = mPowerManager.isScreenOn() && !isDreaming(); boolean inUse = mPowerManager.isScreenOn() && !mStatusBarStateController.isDreaming();
if (!inUse) { if (!inUse) {
if (log) mLogger.logNoHeadsUpNotInUse(entry); if (log) mLogger.logNoHeadsUpNotInUse(entry);

View File

@@ -167,4 +167,13 @@ class StatusBarStateControllerImplTest : SysuiTestCase() {
controller.setIsDreaming(false) controller.setIsDreaming(false)
verify(listener).onDreamingChanged(false) verify(listener).onDreamingChanged(false)
} }
@Test
fun testSetDreamState_getterReturnsCurrentState() {
controller.setIsDreaming(true)
assertTrue(controller.isDreaming())
controller.setIsDreaming(false)
assertFalse(controller.isDreaming())
}
} }

View File

@@ -54,7 +54,6 @@ import android.hardware.display.AmbientDisplayConfiguration;
import android.os.Handler; import android.os.Handler;
import android.os.PowerManager; import android.os.PowerManager;
import android.os.RemoteException; import android.os.RemoteException;
import android.service.dreams.IDreamManager;
import android.testing.AndroidTestingRunner; import android.testing.AndroidTestingRunner;
import androidx.test.filters.SmallTest; import androidx.test.filters.SmallTest;
@@ -94,8 +93,6 @@ public class NotificationInterruptStateProviderImplTest extends SysuiTestCase {
@Mock @Mock
PowerManager mPowerManager; PowerManager mPowerManager;
@Mock @Mock
IDreamManager mDreamManager;
@Mock
AmbientDisplayConfiguration mAmbientDisplayConfiguration; AmbientDisplayConfiguration mAmbientDisplayConfiguration;
@Mock @Mock
StatusBarStateController mStatusBarStateController; StatusBarStateController mStatusBarStateController;
@@ -133,7 +130,6 @@ public class NotificationInterruptStateProviderImplTest extends SysuiTestCase {
new NotificationInterruptStateProviderImpl( new NotificationInterruptStateProviderImpl(
mContext.getContentResolver(), mContext.getContentResolver(),
mPowerManager, mPowerManager,
mDreamManager,
mAmbientDisplayConfiguration, mAmbientDisplayConfiguration,
mBatteryController, mBatteryController,
mStatusBarStateController, mStatusBarStateController,
@@ -157,7 +153,7 @@ public class NotificationInterruptStateProviderImplTest extends SysuiTestCase {
when(mHeadsUpManager.isSnoozed(any())).thenReturn(false); when(mHeadsUpManager.isSnoozed(any())).thenReturn(false);
when(mStatusBarStateController.isDozing()).thenReturn(false); when(mStatusBarStateController.isDozing()).thenReturn(false);
when(mDreamManager.isDreaming()).thenReturn(false); when(mStatusBarStateController.isDreaming()).thenReturn(false);
when(mPowerManager.isScreenOn()).thenReturn(true); when(mPowerManager.isScreenOn()).thenReturn(true);
} }
@@ -359,7 +355,7 @@ public class NotificationInterruptStateProviderImplTest extends SysuiTestCase {
// Also not in use if screen is on but we're showing screen saver / "dreaming" // Also not in use if screen is on but we're showing screen saver / "dreaming"
when(mPowerManager.isDeviceIdleMode()).thenReturn(true); when(mPowerManager.isDeviceIdleMode()).thenReturn(true);
when(mDreamManager.isDreaming()).thenReturn(true); when(mStatusBarStateController.isDreaming()).thenReturn(true);
assertThat(mNotifInterruptionStateProvider.shouldHeadsUp(entry)).isFalse(); assertThat(mNotifInterruptionStateProvider.shouldHeadsUp(entry)).isFalse();
} }
@@ -539,7 +535,7 @@ public class NotificationInterruptStateProviderImplTest extends SysuiTestCase {
public void testShouldNotFullScreen_notPendingIntent() throws RemoteException { public void testShouldNotFullScreen_notPendingIntent() throws RemoteException {
NotificationEntry entry = createNotification(IMPORTANCE_HIGH); NotificationEntry entry = createNotification(IMPORTANCE_HIGH);
when(mPowerManager.isInteractive()).thenReturn(true); when(mPowerManager.isInteractive()).thenReturn(true);
when(mDreamManager.isDreaming()).thenReturn(false); when(mStatusBarStateController.isDreaming()).thenReturn(false);
when(mStatusBarStateController.getState()).thenReturn(SHADE); when(mStatusBarStateController.getState()).thenReturn(SHADE);
assertThat(mNotifInterruptionStateProvider.getFullScreenIntentDecision(entry)) assertThat(mNotifInterruptionStateProvider.getFullScreenIntentDecision(entry))
@@ -558,7 +554,7 @@ public class NotificationInterruptStateProviderImplTest extends SysuiTestCase {
.setSuppressedVisualEffects(SUPPRESSED_EFFECT_FULL_SCREEN_INTENT) .setSuppressedVisualEffects(SUPPRESSED_EFFECT_FULL_SCREEN_INTENT)
.build(); .build();
when(mPowerManager.isInteractive()).thenReturn(false); when(mPowerManager.isInteractive()).thenReturn(false);
when(mDreamManager.isDreaming()).thenReturn(false); when(mStatusBarStateController.isDreaming()).thenReturn(false);
when(mStatusBarStateController.getState()).thenReturn(SHADE); when(mStatusBarStateController.getState()).thenReturn(SHADE);
assertThat(mNotifInterruptionStateProvider.getFullScreenIntentDecision(entry)) assertThat(mNotifInterruptionStateProvider.getFullScreenIntentDecision(entry))
@@ -577,7 +573,7 @@ public class NotificationInterruptStateProviderImplTest extends SysuiTestCase {
.setSuppressedVisualEffects(SUPPRESSED_EFFECT_FULL_SCREEN_INTENT) .setSuppressedVisualEffects(SUPPRESSED_EFFECT_FULL_SCREEN_INTENT)
.build(); .build();
when(mPowerManager.isInteractive()).thenReturn(false); when(mPowerManager.isInteractive()).thenReturn(false);
when(mDreamManager.isDreaming()).thenReturn(false); when(mStatusBarStateController.isDreaming()).thenReturn(false);
when(mStatusBarStateController.getState()).thenReturn(SHADE); when(mStatusBarStateController.getState()).thenReturn(SHADE);
assertThat(mNotifInterruptionStateProvider.getFullScreenIntentDecision(entry)) assertThat(mNotifInterruptionStateProvider.getFullScreenIntentDecision(entry))
@@ -599,7 +595,7 @@ public class NotificationInterruptStateProviderImplTest extends SysuiTestCase {
public void testShouldNotFullScreen_notHighImportance() throws RemoteException { public void testShouldNotFullScreen_notHighImportance() throws RemoteException {
NotificationEntry entry = createFsiNotification(IMPORTANCE_DEFAULT, /* silenced */ false); NotificationEntry entry = createFsiNotification(IMPORTANCE_DEFAULT, /* silenced */ false);
when(mPowerManager.isInteractive()).thenReturn(true); when(mPowerManager.isInteractive()).thenReturn(true);
when(mDreamManager.isDreaming()).thenReturn(false); when(mStatusBarStateController.isDreaming()).thenReturn(false);
when(mStatusBarStateController.getState()).thenReturn(SHADE); when(mStatusBarStateController.getState()).thenReturn(SHADE);
assertThat(mNotifInterruptionStateProvider.getFullScreenIntentDecision(entry)) assertThat(mNotifInterruptionStateProvider.getFullScreenIntentDecision(entry))
@@ -621,7 +617,7 @@ public class NotificationInterruptStateProviderImplTest extends SysuiTestCase {
public void testShouldNotFullScreen_isGroupAlertSilenced() throws RemoteException { public void testShouldNotFullScreen_isGroupAlertSilenced() throws RemoteException {
NotificationEntry entry = createFsiNotification(IMPORTANCE_HIGH, /* silenced */ true); NotificationEntry entry = createFsiNotification(IMPORTANCE_HIGH, /* silenced */ true);
when(mPowerManager.isInteractive()).thenReturn(false); when(mPowerManager.isInteractive()).thenReturn(false);
when(mDreamManager.isDreaming()).thenReturn(true); when(mStatusBarStateController.isDreaming()).thenReturn(true);
when(mStatusBarStateController.getState()).thenReturn(KEYGUARD); when(mStatusBarStateController.getState()).thenReturn(KEYGUARD);
assertThat(mNotifInterruptionStateProvider.getFullScreenIntentDecision(entry)) assertThat(mNotifInterruptionStateProvider.getFullScreenIntentDecision(entry))
@@ -651,7 +647,7 @@ public class NotificationInterruptStateProviderImplTest extends SysuiTestCase {
public void testShouldFullScreen_notInteractive() throws RemoteException { public void testShouldFullScreen_notInteractive() throws RemoteException {
NotificationEntry entry = createFsiNotification(IMPORTANCE_HIGH, /* silenced */ false); NotificationEntry entry = createFsiNotification(IMPORTANCE_HIGH, /* silenced */ false);
when(mPowerManager.isInteractive()).thenReturn(false); when(mPowerManager.isInteractive()).thenReturn(false);
when(mDreamManager.isDreaming()).thenReturn(false); when(mStatusBarStateController.isDreaming()).thenReturn(false);
when(mStatusBarStateController.getState()).thenReturn(SHADE); when(mStatusBarStateController.getState()).thenReturn(SHADE);
assertThat(mNotifInterruptionStateProvider.getFullScreenIntentDecision(entry)) assertThat(mNotifInterruptionStateProvider.getFullScreenIntentDecision(entry))
@@ -673,7 +669,7 @@ public class NotificationInterruptStateProviderImplTest extends SysuiTestCase {
public void testShouldFullScreen_isDreaming() throws RemoteException { public void testShouldFullScreen_isDreaming() throws RemoteException {
NotificationEntry entry = createFsiNotification(IMPORTANCE_HIGH, /* silenced */ false); NotificationEntry entry = createFsiNotification(IMPORTANCE_HIGH, /* silenced */ false);
when(mPowerManager.isInteractive()).thenReturn(true); when(mPowerManager.isInteractive()).thenReturn(true);
when(mDreamManager.isDreaming()).thenReturn(true); when(mStatusBarStateController.isDreaming()).thenReturn(true);
when(mStatusBarStateController.getState()).thenReturn(SHADE); when(mStatusBarStateController.getState()).thenReturn(SHADE);
assertThat(mNotifInterruptionStateProvider.getFullScreenIntentDecision(entry)) assertThat(mNotifInterruptionStateProvider.getFullScreenIntentDecision(entry))
@@ -695,7 +691,7 @@ public class NotificationInterruptStateProviderImplTest extends SysuiTestCase {
public void testShouldFullScreen_onKeyguard() throws RemoteException { public void testShouldFullScreen_onKeyguard() throws RemoteException {
NotificationEntry entry = createFsiNotification(IMPORTANCE_HIGH, /* silenced */ false); NotificationEntry entry = createFsiNotification(IMPORTANCE_HIGH, /* silenced */ false);
when(mPowerManager.isInteractive()).thenReturn(true); when(mPowerManager.isInteractive()).thenReturn(true);
when(mDreamManager.isDreaming()).thenReturn(false); when(mStatusBarStateController.isDreaming()).thenReturn(false);
when(mStatusBarStateController.getState()).thenReturn(KEYGUARD); when(mStatusBarStateController.getState()).thenReturn(KEYGUARD);
assertThat(mNotifInterruptionStateProvider.getFullScreenIntentDecision(entry)) assertThat(mNotifInterruptionStateProvider.getFullScreenIntentDecision(entry))
@@ -718,7 +714,7 @@ public class NotificationInterruptStateProviderImplTest extends SysuiTestCase {
NotificationEntry entry = createFsiNotification(IMPORTANCE_HIGH, /* silenced */ false); NotificationEntry entry = createFsiNotification(IMPORTANCE_HIGH, /* silenced */ false);
when(mPowerManager.isInteractive()).thenReturn(true); when(mPowerManager.isInteractive()).thenReturn(true);
when(mPowerManager.isScreenOn()).thenReturn(true); when(mPowerManager.isScreenOn()).thenReturn(true);
when(mDreamManager.isDreaming()).thenReturn(false); when(mStatusBarStateController.isDreaming()).thenReturn(false);
when(mStatusBarStateController.getState()).thenReturn(SHADE); when(mStatusBarStateController.getState()).thenReturn(SHADE);
assertThat(mNotifInterruptionStateProvider.getFullScreenIntentDecision(entry)) assertThat(mNotifInterruptionStateProvider.getFullScreenIntentDecision(entry))
@@ -735,7 +731,7 @@ public class NotificationInterruptStateProviderImplTest extends SysuiTestCase {
NotificationEntry entry = createFsiNotification(IMPORTANCE_HIGH, /* silenced */ false); NotificationEntry entry = createFsiNotification(IMPORTANCE_HIGH, /* silenced */ false);
when(mPowerManager.isInteractive()).thenReturn(true); when(mPowerManager.isInteractive()).thenReturn(true);
when(mPowerManager.isScreenOn()).thenReturn(true); when(mPowerManager.isScreenOn()).thenReturn(true);
when(mDreamManager.isDreaming()).thenReturn(false); when(mStatusBarStateController.isDreaming()).thenReturn(false);
when(mStatusBarStateController.getState()).thenReturn(SHADE); when(mStatusBarStateController.getState()).thenReturn(SHADE);
when(mHeadsUpManager.isSnoozed("a")).thenReturn(true); when(mHeadsUpManager.isSnoozed("a")).thenReturn(true);
@@ -754,7 +750,7 @@ public class NotificationInterruptStateProviderImplTest extends SysuiTestCase {
NotificationEntry entry = createFsiNotification(IMPORTANCE_HIGH, /* silenced */ false); NotificationEntry entry = createFsiNotification(IMPORTANCE_HIGH, /* silenced */ false);
when(mPowerManager.isInteractive()).thenReturn(true); when(mPowerManager.isInteractive()).thenReturn(true);
when(mPowerManager.isScreenOn()).thenReturn(true); when(mPowerManager.isScreenOn()).thenReturn(true);
when(mDreamManager.isDreaming()).thenReturn(false); when(mStatusBarStateController.isDreaming()).thenReturn(false);
when(mStatusBarStateController.getState()).thenReturn(SHADE); when(mStatusBarStateController.getState()).thenReturn(SHADE);
when(mHeadsUpManager.isSnoozed("a")).thenReturn(true); when(mHeadsUpManager.isSnoozed("a")).thenReturn(true);
when(mKeyguardStateController.isShowing()).thenReturn(true); when(mKeyguardStateController.isShowing()).thenReturn(true);
@@ -775,7 +771,7 @@ public class NotificationInterruptStateProviderImplTest extends SysuiTestCase {
NotificationEntry entry = createFsiNotification(IMPORTANCE_HIGH, /* silenced */ false); NotificationEntry entry = createFsiNotification(IMPORTANCE_HIGH, /* silenced */ false);
when(mPowerManager.isInteractive()).thenReturn(true); when(mPowerManager.isInteractive()).thenReturn(true);
when(mPowerManager.isScreenOn()).thenReturn(true); when(mPowerManager.isScreenOn()).thenReturn(true);
when(mDreamManager.isDreaming()).thenReturn(false); when(mStatusBarStateController.isDreaming()).thenReturn(false);
when(mStatusBarStateController.getState()).thenReturn(SHADE); when(mStatusBarStateController.getState()).thenReturn(SHADE);
when(mHeadsUpManager.isSnoozed("a")).thenReturn(true); when(mHeadsUpManager.isSnoozed("a")).thenReturn(true);
when(mKeyguardStateController.isShowing()).thenReturn(true); when(mKeyguardStateController.isShowing()).thenReturn(true);
@@ -800,7 +796,7 @@ public class NotificationInterruptStateProviderImplTest extends SysuiTestCase {
NotificationEntry entry = createFsiNotification(IMPORTANCE_HIGH, /* silenced */ false); NotificationEntry entry = createFsiNotification(IMPORTANCE_HIGH, /* silenced */ false);
when(mPowerManager.isInteractive()).thenReturn(true); when(mPowerManager.isInteractive()).thenReturn(true);
when(mPowerManager.isScreenOn()).thenReturn(true); when(mPowerManager.isScreenOn()).thenReturn(true);
when(mDreamManager.isDreaming()).thenReturn(false); when(mStatusBarStateController.isDreaming()).thenReturn(false);
when(mStatusBarStateController.getState()).thenReturn(SHADE_LOCKED); when(mStatusBarStateController.getState()).thenReturn(SHADE_LOCKED);
when(mHeadsUpManager.isSnoozed("a")).thenReturn(true); when(mHeadsUpManager.isSnoozed("a")).thenReturn(true);
when(mKeyguardStateController.isShowing()).thenReturn(true); when(mKeyguardStateController.isShowing()).thenReturn(true);
@@ -821,7 +817,7 @@ public class NotificationInterruptStateProviderImplTest extends SysuiTestCase {
NotificationEntry entry = createFsiNotification(IMPORTANCE_HIGH, /* silenced */ false); NotificationEntry entry = createFsiNotification(IMPORTANCE_HIGH, /* silenced */ false);
when(mPowerManager.isInteractive()).thenReturn(true); when(mPowerManager.isInteractive()).thenReturn(true);
when(mPowerManager.isScreenOn()).thenReturn(true); when(mPowerManager.isScreenOn()).thenReturn(true);
when(mDreamManager.isDreaming()).thenReturn(false); when(mStatusBarStateController.isDreaming()).thenReturn(false);
when(mStatusBarStateController.getState()).thenReturn(SHADE_LOCKED); when(mStatusBarStateController.getState()).thenReturn(SHADE_LOCKED);
when(mHeadsUpManager.isSnoozed("a")).thenReturn(true); when(mHeadsUpManager.isSnoozed("a")).thenReturn(true);
when(mKeyguardStateController.isShowing()).thenReturn(true); when(mKeyguardStateController.isShowing()).thenReturn(true);
@@ -846,7 +842,7 @@ public class NotificationInterruptStateProviderImplTest extends SysuiTestCase {
NotificationEntry entry = createFsiNotification(IMPORTANCE_HIGH, /* silenced */ false); NotificationEntry entry = createFsiNotification(IMPORTANCE_HIGH, /* silenced */ false);
when(mPowerManager.isInteractive()).thenReturn(true); when(mPowerManager.isInteractive()).thenReturn(true);
when(mPowerManager.isScreenOn()).thenReturn(true); when(mPowerManager.isScreenOn()).thenReturn(true);
when(mDreamManager.isDreaming()).thenReturn(false); when(mStatusBarStateController.isDreaming()).thenReturn(false);
when(mStatusBarStateController.getState()).thenReturn(SHADE); when(mStatusBarStateController.getState()).thenReturn(SHADE);
when(mHeadsUpManager.isSnoozed("a")).thenReturn(true); when(mHeadsUpManager.isSnoozed("a")).thenReturn(true);
when(mKeyguardStateController.isShowing()).thenReturn(false); when(mKeyguardStateController.isShowing()).thenReturn(false);
@@ -892,7 +888,7 @@ public class NotificationInterruptStateProviderImplTest extends SysuiTestCase {
NotificationEntry entry = createFsiNotification(IMPORTANCE_HIGH, /* silenced */ false); NotificationEntry entry = createFsiNotification(IMPORTANCE_HIGH, /* silenced */ false);
when(mPowerManager.isInteractive()).thenReturn(true); when(mPowerManager.isInteractive()).thenReturn(true);
when(mPowerManager.isScreenOn()).thenReturn(true); when(mPowerManager.isScreenOn()).thenReturn(true);
when(mDreamManager.isDreaming()).thenReturn(false); when(mStatusBarStateController.isDreaming()).thenReturn(false);
when(mStatusBarStateController.getState()).thenReturn(SHADE); when(mStatusBarStateController.getState()).thenReturn(SHADE);
when(mHeadsUpManager.isSnoozed("a")).thenReturn(true); when(mHeadsUpManager.isSnoozed("a")).thenReturn(true);
when(mKeyguardStateController.isShowing()).thenReturn(false); when(mKeyguardStateController.isShowing()).thenReturn(false);

View File

@@ -347,7 +347,6 @@ public class CentralSurfacesImplTest extends SysuiTestCase {
mNotificationInterruptStateProvider = mNotificationInterruptStateProvider =
new TestableNotificationInterruptStateProviderImpl(mContext.getContentResolver(), new TestableNotificationInterruptStateProviderImpl(mContext.getContentResolver(),
mPowerManager, mPowerManager,
mDreamManager,
mAmbientDisplayConfiguration, mAmbientDisplayConfiguration,
mStatusBarStateController, mStatusBarStateController,
mKeyguardStateController, mKeyguardStateController,
@@ -730,7 +729,7 @@ public class CentralSurfacesImplTest extends SysuiTestCase {
public void testShouldHeadsUp_nonSuppressedGroupSummary() throws Exception { public void testShouldHeadsUp_nonSuppressedGroupSummary() throws Exception {
when(mPowerManager.isScreenOn()).thenReturn(true); when(mPowerManager.isScreenOn()).thenReturn(true);
when(mHeadsUpManager.isSnoozed(anyString())).thenReturn(false); when(mHeadsUpManager.isSnoozed(anyString())).thenReturn(false);
when(mDreamManager.isDreaming()).thenReturn(false); when(mStatusBarStateController.isDreaming()).thenReturn(false);
Notification n = new Notification.Builder(getContext(), "a") Notification n = new Notification.Builder(getContext(), "a")
.setGroup("a") .setGroup("a")
@@ -753,7 +752,7 @@ public class CentralSurfacesImplTest extends SysuiTestCase {
public void testShouldHeadsUp_suppressedGroupSummary() throws Exception { public void testShouldHeadsUp_suppressedGroupSummary() throws Exception {
when(mPowerManager.isScreenOn()).thenReturn(true); when(mPowerManager.isScreenOn()).thenReturn(true);
when(mHeadsUpManager.isSnoozed(anyString())).thenReturn(false); when(mHeadsUpManager.isSnoozed(anyString())).thenReturn(false);
when(mDreamManager.isDreaming()).thenReturn(false); when(mStatusBarStateController.isDreaming()).thenReturn(false);
Notification n = new Notification.Builder(getContext(), "a") Notification n = new Notification.Builder(getContext(), "a")
.setGroup("a") .setGroup("a")
@@ -776,7 +775,7 @@ public class CentralSurfacesImplTest extends SysuiTestCase {
public void testShouldHeadsUp_suppressedHeadsUp() throws Exception { public void testShouldHeadsUp_suppressedHeadsUp() throws Exception {
when(mPowerManager.isScreenOn()).thenReturn(true); when(mPowerManager.isScreenOn()).thenReturn(true);
when(mHeadsUpManager.isSnoozed(anyString())).thenReturn(false); when(mHeadsUpManager.isSnoozed(anyString())).thenReturn(false);
when(mDreamManager.isDreaming()).thenReturn(false); when(mStatusBarStateController.isDreaming()).thenReturn(false);
Notification n = new Notification.Builder(getContext(), "a").build(); Notification n = new Notification.Builder(getContext(), "a").build();
@@ -797,7 +796,7 @@ public class CentralSurfacesImplTest extends SysuiTestCase {
public void testShouldHeadsUp_noSuppressedHeadsUp() throws Exception { public void testShouldHeadsUp_noSuppressedHeadsUp() throws Exception {
when(mPowerManager.isScreenOn()).thenReturn(true); when(mPowerManager.isScreenOn()).thenReturn(true);
when(mHeadsUpManager.isSnoozed(anyString())).thenReturn(false); when(mHeadsUpManager.isSnoozed(anyString())).thenReturn(false);
when(mDreamManager.isDreaming()).thenReturn(false); when(mStatusBarStateController.isDreaming()).thenReturn(false);
Notification n = new Notification.Builder(getContext(), "a").build(); Notification n = new Notification.Builder(getContext(), "a").build();
@@ -1400,7 +1399,6 @@ public class CentralSurfacesImplTest extends SysuiTestCase {
TestableNotificationInterruptStateProviderImpl( TestableNotificationInterruptStateProviderImpl(
ContentResolver contentResolver, ContentResolver contentResolver,
PowerManager powerManager, PowerManager powerManager,
IDreamManager dreamManager,
AmbientDisplayConfiguration ambientDisplayConfiguration, AmbientDisplayConfiguration ambientDisplayConfiguration,
StatusBarStateController controller, StatusBarStateController controller,
KeyguardStateController keyguardStateController, KeyguardStateController keyguardStateController,
@@ -1415,7 +1413,6 @@ public class CentralSurfacesImplTest extends SysuiTestCase {
super( super(
contentResolver, contentResolver,
powerManager, powerManager,
dreamManager,
ambientDisplayConfiguration, ambientDisplayConfiguration,
batteryController, batteryController,
controller, controller,

View File

@@ -339,7 +339,6 @@ public class BubblesTest extends SysuiTestCase {
TestableNotificationInterruptStateProviderImpl interruptionStateProvider = TestableNotificationInterruptStateProviderImpl interruptionStateProvider =
new TestableNotificationInterruptStateProviderImpl(mContext.getContentResolver(), new TestableNotificationInterruptStateProviderImpl(mContext.getContentResolver(),
mock(PowerManager.class), mock(PowerManager.class),
mock(IDreamManager.class),
mock(AmbientDisplayConfiguration.class), mock(AmbientDisplayConfiguration.class),
mock(StatusBarStateController.class), mock(StatusBarStateController.class),
mock(KeyguardStateController.class), mock(KeyguardStateController.class),

View File

@@ -20,7 +20,6 @@ import android.content.ContentResolver;
import android.hardware.display.AmbientDisplayConfiguration; import android.hardware.display.AmbientDisplayConfiguration;
import android.os.Handler; import android.os.Handler;
import android.os.PowerManager; import android.os.PowerManager;
import android.service.dreams.IDreamManager;
import com.android.internal.logging.UiEventLogger; import com.android.internal.logging.UiEventLogger;
import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.plugins.statusbar.StatusBarStateController;
@@ -39,7 +38,6 @@ public class TestableNotificationInterruptStateProviderImpl
TestableNotificationInterruptStateProviderImpl( TestableNotificationInterruptStateProviderImpl(
ContentResolver contentResolver, ContentResolver contentResolver,
PowerManager powerManager, PowerManager powerManager,
IDreamManager dreamManager,
AmbientDisplayConfiguration ambientDisplayConfiguration, AmbientDisplayConfiguration ambientDisplayConfiguration,
StatusBarStateController statusBarStateController, StatusBarStateController statusBarStateController,
KeyguardStateController keyguardStateController, KeyguardStateController keyguardStateController,
@@ -53,7 +51,6 @@ public class TestableNotificationInterruptStateProviderImpl
UserTracker userTracker) { UserTracker userTracker) {
super(contentResolver, super(contentResolver,
powerManager, powerManager,
dreamManager,
ambientDisplayConfiguration, ambientDisplayConfiguration,
batteryController, batteryController,
statusBarStateController, statusBarStateController,