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

Commit 09e517c5 authored by Vinit Nayak's avatar Vinit Nayak Committed by Android (Google) Code Review
Browse files

Merge "Extract SysUi state management out of OverviewProxyService"

parents f468327f 59b114e6
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -41,6 +41,7 @@ import com.android.systemui.dock.DockManager;
import com.android.systemui.fragments.FragmentService;
import com.android.systemui.keyguard.ScreenLifecycle;
import com.android.systemui.keyguard.WakefulnessLifecycle;
import com.android.systemui.model.SysUiState;
import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.plugins.DarkIconDispatcher;
import com.android.systemui.plugins.FalsingManager;
@@ -304,6 +305,7 @@ public class Dependency extends SystemUI {
    @Inject Lazy<ChannelEditorDialogController> mChannelEditorDialogController;
    @Inject Lazy<INotificationManager> mINotificationManager;
    @Inject Lazy<FalsingManager> mFalsingManager;
    @Inject Lazy<SysUiState> mSysUiStateFlagsContainer;

    @Inject
    public Dependency() {
@@ -482,6 +484,7 @@ public class Dependency extends SystemUI {
        mProviders.put(ChannelEditorDialogController.class, mChannelEditorDialogController::get);
        mProviders.put(INotificationManager.class, mINotificationManager::get);
        mProviders.put(FalsingManager.class, mFalsingManager::get);
        mProviders.put(SysUiState.class, mSysUiStateFlagsContainer::get);

        // TODO(b/118592525): to support multi-display , we start to add something which is
        //                    per-display, while others may be global. I think it's time to add
+1 −0
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ import com.android.internal.widget.LockPatternUtils;
import com.android.keyguard.KeyguardUpdateMonitor;
import com.android.keyguard.ViewMediatorCallback;
import com.android.systemui.keyguard.DismissCallbackRegistry;
import com.android.systemui.model.SysUiState;
import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.statusbar.KeyguardIndicationController;
+8 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import android.annotation.Nullable;
import android.content.Context;
import android.content.pm.PackageManager;

import com.android.systemui.model.SysUiState;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.statusbar.phone.KeyguardLiftController;
import com.android.systemui.util.AsyncSensorManager;
@@ -47,4 +48,11 @@ public abstract class SystemUIModule {
        }
        return new KeyguardLiftController(context, statusBarStateController, asyncSensorManager);
    }


    @Singleton
    @Provides
    static SysUiState provideSysUiState() {
        return new SysUiState();
    }
}
+8 −12
Original line number Diff line number Diff line
@@ -22,8 +22,8 @@ import androidx.annotation.Nullable;

import com.android.systemui.Dependency;
import com.android.systemui.assist.AssistHandleBehaviorController.BehaviorController;
import com.android.systemui.model.SysUiState;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.recents.OverviewProxyService;
import com.android.systemui.shared.system.QuickStepContract;

import java.io.PrintWriter;
@@ -41,15 +41,11 @@ final class AssistHandleLikeHomeBehavior implements BehaviorController {
                    handleDozingChanged(isDozing);
                }
            };
    private final OverviewProxyService.OverviewProxyListener mOverviewProxyListener =
            new OverviewProxyService.OverviewProxyListener() {
        @Override
        public void onSystemUiStateChanged(int sysuiStateFlags) {
            handleSystemUiStateChange(sysuiStateFlags);
        }
    };

    private final SysUiState.SysUiStateCallback mSysUiStateCallback =
            this::handleSystemUiStateChange;
    private final StatusBarStateController mStatusBarStateController;
    private final OverviewProxyService mOverviewProxyService;
    private final SysUiState mSysUiFlagContainer;

    private boolean mIsDozing;
    private boolean mIsHomeHandleHiding;
@@ -58,7 +54,7 @@ final class AssistHandleLikeHomeBehavior implements BehaviorController {

    AssistHandleLikeHomeBehavior() {
        mStatusBarStateController = Dependency.get(StatusBarStateController.class);
        mOverviewProxyService = Dependency.get(OverviewProxyService.class);
        mSysUiFlagContainer = Dependency.get(SysUiState.class);
    }

    @Override
@@ -66,14 +62,14 @@ final class AssistHandleLikeHomeBehavior implements BehaviorController {
        mAssistHandleCallbacks = callbacks;
        mIsDozing = mStatusBarStateController.isDozing();
        mStatusBarStateController.addCallback(mStatusBarStateListener);
        mOverviewProxyService.addCallback(mOverviewProxyListener);
        mSysUiFlagContainer.addCallback(mSysUiStateCallback);
        callbackForCurrentState();
    }

    @Override
    public void onModeDeactivated() {
        mAssistHandleCallbacks = null;
        mOverviewProxyService.removeCallback(mOverviewProxyListener);
        mSysUiFlagContainer.removeCallback(mSysUiStateCallback);
    }

    private static boolean isHomeHandleHiding(int sysuiStateFlags) {
+8 −5
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@ import androidx.annotation.Nullable;
import com.android.internal.config.sysui.SystemUiDeviceConfigFlags;
import com.android.systemui.Dependency;
import com.android.systemui.assist.AssistHandleBehaviorController.BehaviorController;
import com.android.systemui.model.SysUiState;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.recents.OverviewProxyService;
import com.android.systemui.shared.system.ActivityManagerWrapper;
@@ -107,12 +108,10 @@ final class AssistHandleReminderExpBehavior implements BehaviorController {
                public void onOverviewShown(boolean fromHome) {
                    handleOverviewShown();
                }

                @Override
                public void onSystemUiStateChanged(int sysuiStateFlags) {
                    handleSystemUiStateChanged(sysuiStateFlags);
                }
            };

    private final SysUiState.SysUiStateCallback mSysUiStateCallback =
            this::handleSystemUiStateChanged;
    private final BroadcastReceiver mDefaultHomeBroadcastReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
@@ -127,6 +126,7 @@ final class AssistHandleReminderExpBehavior implements BehaviorController {
    private final StatusBarStateController mStatusBarStateController;
    private final ActivityManagerWrapper mActivityManagerWrapper;
    private final OverviewProxyService mOverviewProxyService;
    private final SysUiState mSysUiFlagContainer;

    private boolean mOnLockscreen;
    private boolean mIsDozing;
@@ -154,6 +154,7 @@ final class AssistHandleReminderExpBehavior implements BehaviorController {
        mStatusBarStateController = Dependency.get(StatusBarStateController.class);
        mActivityManagerWrapper = ActivityManagerWrapper.getInstance();
        mOverviewProxyService = Dependency.get(OverviewProxyService.class);
        mSysUiFlagContainer = Dependency.get(SysUiState.class);
        mDefaultHomeIntentFilter = new IntentFilter();
        for (String action : DEFAULT_HOME_CHANGE_ACTIONS) {
            mDefaultHomeIntentFilter.addAction(action);
@@ -174,6 +175,7 @@ final class AssistHandleReminderExpBehavior implements BehaviorController {
        mRunningTaskId = runningTaskInfo == null ? 0 : runningTaskInfo.taskId;
        mActivityManagerWrapper.registerTaskStackListener(mTaskStackChangeListener);
        mOverviewProxyService.addCallback(mOverviewProxyListener);
        mSysUiFlagContainer.addCallback(mSysUiStateCallback);

        mLearningTimeElapsed = Settings.Secure.getLong(
                context.getContentResolver(), LEARNING_TIME_ELAPSED_KEY, /* default = */ 0);
@@ -199,6 +201,7 @@ final class AssistHandleReminderExpBehavior implements BehaviorController {
        mStatusBarStateController.removeCallback(mStatusBarStateListener);
        mActivityManagerWrapper.unregisterTaskStackListener(mTaskStackChangeListener);
        mOverviewProxyService.removeCallback(mOverviewProxyListener);
        mSysUiFlagContainer.removeCallback(mSysUiStateCallback);
    }

    @Override
Loading