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

Commit 660d0a7c authored by Beverly's avatar Beverly
Browse files

Inject DeviceConfig into SystemUI classes

So the tests don't actually register listeners to the DeviceConfig, but
can still test with a fake device config. Previously, tests were
registering and never unregistering a listener to the DeviceConfig.

Test: atest SystemUITests
Fixes: 150226783
Change-Id: I59aa77f337a95aa1890570f5a7e30fe9cd58036a
parent 969e1e27
Loading
Loading
Loading
Loading
+22 −12
Original line number Diff line number Diff line
@@ -96,6 +96,7 @@ import com.android.systemui.statusbar.phone.NotificationPanelViewController;
import com.android.systemui.statusbar.phone.NotificationShadeWindowController;
import com.android.systemui.statusbar.phone.StatusBar;
import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager;
import com.android.systemui.util.DeviceConfigProxy;
import com.android.systemui.util.InjectionInflationController;

import java.io.FileDescriptor;
@@ -378,6 +379,17 @@ public class KeyguardViewMediator extends SystemUI implements Dumpable {
    private IKeyguardDrawnCallback mDrawnCallback;
    private CharSequence mCustomMessage;

    private final DeviceConfig.OnPropertiesChangedListener mOnPropertiesChangedListener =
            new DeviceConfig.OnPropertiesChangedListener() {
            @Override
            public void onPropertiesChanged(DeviceConfig.Properties properties) {
                if (properties.getKeyset().contains(NAV_BAR_HANDLE_SHOW_OVER_LOCKSCREEN)) {
                    mShowHomeOverLockscreen = properties.getBoolean(
                            NAV_BAR_HANDLE_SHOW_OVER_LOCKSCREEN, true /* defaultValue */);
                }
            }
    };

    KeyguardUpdateMonitorCallback mUpdateCallback = new KeyguardUpdateMonitorCallback() {

        @Override
@@ -692,6 +704,8 @@ public class KeyguardViewMediator extends SystemUI implements Dumpable {
        }
    };

    private DeviceConfigProxy mDeviceConfig;

    /**
     * Injected constructor. See {@link KeyguardModule}.
     */
@@ -705,7 +719,8 @@ public class KeyguardViewMediator extends SystemUI implements Dumpable {
            DismissCallbackRegistry dismissCallbackRegistry,
            KeyguardUpdateMonitor keyguardUpdateMonitor, DumpManager dumpManager,
            @UiBackground Executor uiBgExecutor, PowerManager powerManager,
            TrustManager trustManager) {
            TrustManager trustManager,
            DeviceConfigProxy deviceConfig) {
        super(context);
        mFalsingManager = falsingManager;
        mLockPatternUtils = lockPatternUtils;
@@ -718,20 +733,15 @@ public class KeyguardViewMediator extends SystemUI implements Dumpable {
        mPM = powerManager;
        mTrustManager = trustManager;
        dumpManager.registerDumpable(getClass().getName(), this);
        mShowHomeOverLockscreen = DeviceConfig.getBoolean(
        mDeviceConfig = deviceConfig;
        mShowHomeOverLockscreen = mDeviceConfig.getBoolean(
                DeviceConfig.NAMESPACE_SYSTEMUI,
                NAV_BAR_HANDLE_SHOW_OVER_LOCKSCREEN,
                /* defaultValue = */ true);
        DeviceConfig.addOnPropertiesChangedListener(DeviceConfig.NAMESPACE_SYSTEMUI, mHandler::post,
                new DeviceConfig.OnPropertiesChangedListener() {
                    @Override
                    public void onPropertiesChanged(DeviceConfig.Properties properties) {
                        if (properties.getKeyset().contains(NAV_BAR_HANDLE_SHOW_OVER_LOCKSCREEN)) {
                            mShowHomeOverLockscreen = properties.getBoolean(
                                    NAV_BAR_HANDLE_SHOW_OVER_LOCKSCREEN, true /* defaultValue */);
                        }
                    }
                });
        mDeviceConfig.addOnPropertiesChangedListener(
                DeviceConfig.NAMESPACE_SYSTEMUI,
                mHandler::post,
                mOnPropertiesChangedListener);
    }

    public void userActivity() {
+5 −2
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.statusbar.phone.NotificationShadeWindowController;
import com.android.systemui.statusbar.phone.StatusBar;
import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager;
import com.android.systemui.util.DeviceConfigProxy;

import java.util.concurrent.Executor;

@@ -62,7 +63,8 @@ public class KeyguardModule {
            DumpManager dumpManager,
            PowerManager powerManager,
            TrustManager trustManager,
            @UiBackground Executor uiBgExecutor) {
            @UiBackground Executor uiBgExecutor,
            DeviceConfigProxy deviceConfig) {
        return new KeyguardViewMediator(
                context,
                falsingManager,
@@ -75,6 +77,7 @@ public class KeyguardModule {
                dumpManager,
                uiBgExecutor,
                powerManager,
                trustManager);
                trustManager,
                deviceConfig);
    }
}
+4 −2
Original line number Diff line number Diff line
@@ -48,6 +48,7 @@ import com.android.systemui.shared.system.InputConsumerController;
import com.android.systemui.shared.system.PinnedStackListenerForwarder.PinnedStackListener;
import com.android.systemui.shared.system.TaskStackChangeListener;
import com.android.systemui.shared.system.WindowManagerWrapper;
import com.android.systemui.util.DeviceConfigProxy;
import com.android.systemui.util.FloatingContentCoordinator;
import com.android.systemui.wm.DisplayChangeController;
import com.android.systemui.wm.DisplayController;
@@ -204,7 +205,8 @@ public class PipManager implements BasePipManager, PipTaskOrganizer.PipTransitio
    @Inject
    public PipManager(Context context, BroadcastDispatcher broadcastDispatcher,
            DisplayController displayController,
            FloatingContentCoordinator floatingContentCoordinator) {
            FloatingContentCoordinator floatingContentCoordinator,
            DeviceConfigProxy deviceConfig) {
        mContext = context;
        mActivityManager = ActivityManager.getService();

@@ -225,7 +227,7 @@ public class PipManager implements BasePipManager, PipTaskOrganizer.PipTransitio
                mInputConsumerController);
        mTouchHandler = new PipTouchHandler(context, mActivityManager, activityTaskManager,
                mMenuController, mInputConsumerController, mPipBoundsHandler, mPipTaskOrganizer,
                floatingContentCoordinator);
                floatingContentCoordinator, deviceConfig);
        mAppOpsListener = new PipAppOpsListener(context, mActivityManager,
                mTouchHandler.getMotionHelper());
        displayController.addDisplayChangingController(mRotationController);
+4 −2
Original line number Diff line number Diff line
@@ -41,6 +41,7 @@ import android.view.MotionEvent;
import com.android.internal.policy.TaskResizingAlgorithm;
import com.android.systemui.R;
import com.android.systemui.pip.PipBoundsHandler;
import com.android.systemui.util.DeviceConfigProxy;

import java.util.concurrent.Executor;

@@ -77,7 +78,8 @@ public class PipResizeGestureHandler {
    private int mCtrlType;

    public PipResizeGestureHandler(Context context, PipBoundsHandler pipBoundsHandler,
            PipTouchHandler pipTouchHandler, PipMotionHelper motionHelper) {
            PipTouchHandler pipTouchHandler, PipMotionHelper motionHelper,
            DeviceConfigProxy deviceConfig) {
        final Resources res = context.getResources();
        context.getDisplay().getMetrics(mDisplayMetrics);
        mDisplayId = context.getDisplayId();
@@ -93,7 +95,7 @@ public class PipResizeGestureHandler {
                DeviceConfig.NAMESPACE_SYSTEMUI,
                PIP_USER_RESIZE,
                /* defaultValue = */ false);
        DeviceConfig.addOnPropertiesChangedListener(DeviceConfig.NAMESPACE_SYSTEMUI, mMainExecutor,
        deviceConfig.addOnPropertiesChangedListener(DeviceConfig.NAMESPACE_SYSTEMUI, mMainExecutor,
                new DeviceConfig.OnPropertiesChangedListener() {
                    @Override
                    public void onPropertiesChanged(DeviceConfig.Properties properties) {
+5 −2
Original line number Diff line number Diff line
@@ -48,6 +48,7 @@ import com.android.systemui.pip.PipSnapAlgorithm;
import com.android.systemui.pip.PipTaskOrganizer;
import com.android.systemui.shared.system.InputConsumerController;
import com.android.systemui.statusbar.FlingAnimationUtils;
import com.android.systemui.util.DeviceConfigProxy;
import com.android.systemui.util.FloatingContentCoordinator;

import java.io.PrintWriter;
@@ -162,7 +163,8 @@ public class PipTouchHandler {
            InputConsumerController inputConsumerController,
            PipBoundsHandler pipBoundsHandler,
            PipTaskOrganizer pipTaskOrganizer,
            FloatingContentCoordinator floatingContentCoordinator) {
            FloatingContentCoordinator floatingContentCoordinator,
            DeviceConfigProxy deviceConfig) {
        // Initialize the Pip input consumer
        mContext = context;
        mActivityManager = activityManager;
@@ -177,7 +179,8 @@ public class PipTouchHandler {
        mMotionHelper = new PipMotionHelper(mContext, activityTaskManager, pipTaskOrganizer,
                mMenuController, mSnapAlgorithm, mFlingAnimationUtils, floatingContentCoordinator);
        mPipResizeGestureHandler =
                new PipResizeGestureHandler(context, pipBoundsHandler, this, mMotionHelper);
                new PipResizeGestureHandler(context, pipBoundsHandler, this, mMotionHelper,
                        deviceConfig);
        mTouchState = new PipTouchState(ViewConfiguration.get(context), mHandler,
                () -> mMenuController.showMenu(MENU_STATE_FULL, mMotionHelper.getBounds(),
                        mMovementBounds, true /* allowMenuTimeout */, willResizeMenu()));
Loading