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

Commit 0dfd9110 authored by Caitlin Shkuratov's avatar Caitlin Shkuratov
Browse files

[Central Surfaces] Move SBNotifPresenter wake to PowerInteractor.

Bug: 277764509
Test: receive notif that can be expanded while on AOD -> tap on expand
button -> verify PowerInteractor#wakeUpIfDozing is called and device
wakes
Test: atest StatusBarNotificationPresenterTest
Change-Id: I7452a61853bf974eb2028ae2aac64a24f544a94d

Change-Id: Ide43c6140774003e3b9aba50a7a329630442a30b
parent c21fbef2
Loading
Loading
Loading
Loading
+5 −4
Original line number Original line Diff line number Diff line
@@ -22,7 +22,6 @@ import android.content.Context;
import android.os.PowerManager;
import android.os.PowerManager;
import android.os.RemoteException;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.ServiceManager;
import android.os.SystemClock;
import android.service.notification.StatusBarNotification;
import android.service.notification.StatusBarNotification;
import android.service.vr.IVrManager;
import android.service.vr.IVrManager;
import android.service.vr.IVrStateCallbacks;
import android.service.vr.IVrStateCallbacks;
@@ -36,6 +35,7 @@ import com.android.systemui.InitController;
import com.android.systemui.R;
import com.android.systemui.R;
import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.plugins.ActivityStarter.OnDismissAction;
import com.android.systemui.plugins.ActivityStarter.OnDismissAction;
import com.android.systemui.power.domain.interactor.PowerInteractor;
import com.android.systemui.shade.NotificationShadeWindowView;
import com.android.systemui.shade.NotificationShadeWindowView;
import com.android.systemui.shade.QuickSettingsController;
import com.android.systemui.shade.QuickSettingsController;
import com.android.systemui.shade.ShadeViewController;
import com.android.systemui.shade.ShadeViewController;
@@ -86,6 +86,7 @@ class StatusBarNotificationPresenter implements NotificationPresenter, CommandQu
    private final CentralSurfaces mCentralSurfaces;
    private final CentralSurfaces mCentralSurfaces;
    private final NotificationsInteractor mNotificationsInteractor;
    private final NotificationsInteractor mNotificationsInteractor;
    private final LockscreenShadeTransitionController mShadeTransitionController;
    private final LockscreenShadeTransitionController mShadeTransitionController;
    private final PowerInteractor mPowerInteractor;
    private final CommandQueue mCommandQueue;
    private final CommandQueue mCommandQueue;


    private final AccessibilityManager mAccessibilityManager;
    private final AccessibilityManager mAccessibilityManager;
@@ -115,6 +116,7 @@ class StatusBarNotificationPresenter implements NotificationPresenter, CommandQu
            CentralSurfaces centralSurfaces,
            CentralSurfaces centralSurfaces,
            NotificationsInteractor notificationsInteractor,
            NotificationsInteractor notificationsInteractor,
            LockscreenShadeTransitionController shadeTransitionController,
            LockscreenShadeTransitionController shadeTransitionController,
            PowerInteractor powerInteractor,
            CommandQueue commandQueue,
            CommandQueue commandQueue,
            NotificationLockscreenUserManager lockscreenUserManager,
            NotificationLockscreenUserManager lockscreenUserManager,
            SysuiStatusBarStateController sysuiStatusBarStateController,
            SysuiStatusBarStateController sysuiStatusBarStateController,
@@ -138,6 +140,7 @@ class StatusBarNotificationPresenter implements NotificationPresenter, CommandQu
        mCentralSurfaces = centralSurfaces;
        mCentralSurfaces = centralSurfaces;
        mNotificationsInteractor = notificationsInteractor;
        mNotificationsInteractor = notificationsInteractor;
        mShadeTransitionController = shadeTransitionController;
        mShadeTransitionController = shadeTransitionController;
        mPowerInteractor = powerInteractor;
        mCommandQueue = commandQueue;
        mCommandQueue = commandQueue;
        mLockscreenUserManager = lockscreenUserManager;
        mLockscreenUserManager = lockscreenUserManager;
        mStatusBarStateController = sysuiStatusBarStateController;
        mStatusBarStateController = sysuiStatusBarStateController;
@@ -238,9 +241,7 @@ class StatusBarNotificationPresenter implements NotificationPresenter, CommandQu
    public void onExpandClicked(NotificationEntry clickedEntry, View clickedView,
    public void onExpandClicked(NotificationEntry clickedEntry, View clickedView,
            boolean nowExpanded) {
            boolean nowExpanded) {
        mHeadsUpManager.setExpanded(clickedEntry, nowExpanded);
        mHeadsUpManager.setExpanded(clickedEntry, nowExpanded);
        mCentralSurfaces.wakeUpIfDozing(
        mPowerInteractor.wakeUpIfDozing("NOTIFICATION_CLICK", PowerManager.WAKE_REASON_GESTURE);
                SystemClock.uptimeMillis(), "NOTIFICATION_CLICK",
                PowerManager.WAKE_REASON_GESTURE);
        if (nowExpanded) {
        if (nowExpanded) {
            if (mStatusBarStateController.getState() == StatusBarState.KEYGUARD) {
            if (mStatusBarStateController.getState() == StatusBarState.KEYGUARD) {
                mShadeTransitionController.goToLockedShade(clickedEntry.getRow());
                mShadeTransitionController.goToLockedShade(clickedEntry.getRow());
+2 −0
Original line number Original line Diff line number Diff line
@@ -37,6 +37,7 @@ import com.android.systemui.InitController;
import com.android.systemui.SysuiTestCase;
import com.android.systemui.SysuiTestCase;
import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.power.domain.interactor.PowerInteractor;
import com.android.systemui.settings.FakeDisplayTracker;
import com.android.systemui.settings.FakeDisplayTracker;
import com.android.systemui.shade.NotificationShadeWindowView;
import com.android.systemui.shade.NotificationShadeWindowView;
import com.android.systemui.shade.QuickSettingsController;
import com.android.systemui.shade.QuickSettingsController;
@@ -127,6 +128,7 @@ public class StatusBarNotificationPresenterTest extends SysuiTestCase {
                mCentralSurfaces,
                mCentralSurfaces,
                mNotificationsInteractor,
                mNotificationsInteractor,
                mock(LockscreenShadeTransitionController.class),
                mock(LockscreenShadeTransitionController.class),
                mock(PowerInteractor.class),
                mCommandQueue,
                mCommandQueue,
                mock(NotificationLockscreenUserManager.class),
                mock(NotificationLockscreenUserManager.class),
                mock(SysuiStatusBarStateController.class),
                mock(SysuiStatusBarStateController.class),