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

Commit 7c8b2750 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Remove Dependency.get(MAIN_HANDLER) from NotificationLockscreenUserManagerImpl"

parents 122eed5d 9427d1fc
Loading
Loading
Loading
Loading
+0 −8
Original line number Diff line number Diff line
@@ -27,7 +27,6 @@ import android.os.HandlerThread;
import android.os.Looper;
import android.os.Process;
import android.os.ServiceManager;
import android.os.UserManager;
import android.util.DisplayMetrics;
import android.view.IWindowManager;
import android.view.LayoutInflater;
@@ -235,13 +234,6 @@ public class DependencyProvider {
        return new AlwaysOnDisplayPolicy(context);
    }

    /** */
    @Singleton
    @Provides
    public UserManager providesUserManager(Context context) {
        return context.getSystemService(UserManager.class);
    }

    /** */
    @Provides
    public ViewMediatorCallback providesViewMediatorCallback(KeyguardViewMediator viewMediator) {
+14 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import android.app.IActivityManager;
import android.app.IWallpaperManager;
import android.app.KeyguardManager;
import android.app.WallpaperManager;
import android.app.admin.DevicePolicyManager;
import android.content.Context;
import android.content.res.Resources;
import android.hardware.SensorPrivacyManager;
@@ -31,6 +32,7 @@ import android.os.Handler;
import android.os.PowerManager;
import android.os.ServiceManager;
import android.os.UserHandle;
import android.os.UserManager;
import android.service.dreams.DreamService;
import android.service.dreams.IDreamManager;
import android.view.IWindowManager;
@@ -67,6 +69,12 @@ public class SystemServicesModule {
        return context.getSystemService(AlarmManager.class);
    }

    @Provides
    @Singleton
    static DevicePolicyManager provideDevicePolicyManager(Context context) {
        return context.getSystemService(DevicePolicyManager.class);
    }

    @Singleton
    @Provides
    static IActivityManager provideIActivityManager() {
@@ -146,6 +154,12 @@ public class SystemServicesModule {
        return context.getSystemService(SensorPrivacyManager.class);
    }

    @Provides
    @Singleton
    static UserManager provideUserManager(Context context) {
        return context.getSystemService(UserManager.class);
    }

    @Provides
    static WallpaperManager provideWallpaperManager(Context context) {
        return (WallpaperManager) context.getSystemService(Context.WALLPAPER_SERVICE);
+24 −15
Original line number Diff line number Diff line
@@ -32,8 +32,8 @@ import android.content.IntentFilter;
import android.content.IntentSender;
import android.content.pm.UserInfo;
import android.database.ContentObserver;
import android.os.Handler;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.UserHandle;
import android.os.UserManager;
import android.provider.Settings;
@@ -48,6 +48,7 @@ import com.android.keyguard.KeyguardUpdateMonitor;
import com.android.systemui.Dependency;
import com.android.systemui.Dumpable;
import com.android.systemui.broadcast.BroadcastDispatcher;
import com.android.systemui.dagger.qualifiers.MainHandler;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.plugins.statusbar.StatusBarStateController.StateListener;
import com.android.systemui.recents.OverviewProxyService;
@@ -76,10 +77,8 @@ public class NotificationLockscreenUserManagerImpl implements
    private static final String TAG = "LockscreenUserManager";
    private static final boolean ENABLE_LOCK_SCREEN_ALLOW_REMOTE_INPUT = false;

    private final DeviceProvisionedController mDeviceProvisionedController =
            Dependency.get(DeviceProvisionedController.class);
    private final KeyguardStateController mKeyguardStateController = Dependency.get(
            KeyguardStateController.class);
    private final DeviceProvisionedController mDeviceProvisionedController;
    private final KeyguardStateController mKeyguardStateController;

    // Lazy
    private NotificationEntryManager mEntryManager;
@@ -168,6 +167,7 @@ public class NotificationLockscreenUserManagerImpl implements
    };

    protected final Context mContext;
    private final Handler mMainHandler;
    protected final SparseArray<UserInfo> mCurrentProfiles = new SparseArray<>();

    protected int mCurrentUserId = 0;
@@ -184,24 +184,33 @@ public class NotificationLockscreenUserManagerImpl implements

    @Inject
    public NotificationLockscreenUserManagerImpl(Context context,
            BroadcastDispatcher broadcastDispatcher) {
            BroadcastDispatcher broadcastDispatcher,
            DevicePolicyManager devicePolicyManager,
            UserManager userManager,
            IStatusBarService iStatusBarService,
            KeyguardManager keyguardManager,
            StatusBarStateController statusBarStateController,
            @MainHandler Handler mainHandler,
            DeviceProvisionedController deviceProvisionedController,
            KeyguardStateController keyguardStateController) {
        mContext = context;
        mDevicePolicyManager = (DevicePolicyManager) mContext.getSystemService(
                Context.DEVICE_POLICY_SERVICE);
        mUserManager = (UserManager) mContext.getSystemService(Context.USER_SERVICE);
        mMainHandler = mainHandler;
        mDevicePolicyManager = devicePolicyManager;
        mUserManager = userManager;
        mCurrentUserId = ActivityManager.getCurrentUser();
        mBarService = IStatusBarService.Stub.asInterface(
                ServiceManager.getService(Context.STATUS_BAR_SERVICE));
        Dependency.get(StatusBarStateController.class).addCallback(this);
        mBarService = iStatusBarService;
        statusBarStateController.addCallback(this);
        mLockPatternUtils = new LockPatternUtils(context);
        mKeyguardManager = context.getSystemService(KeyguardManager.class);
        mKeyguardManager = keyguardManager;
        mBroadcastDispatcher = broadcastDispatcher;
        mDeviceProvisionedController = deviceProvisionedController;
        mKeyguardStateController = keyguardStateController;
    }

    public void setUpWithPresenter(NotificationPresenter presenter) {
        mPresenter = presenter;

        mLockscreenSettingsObserver = new ContentObserver(Dependency.get(Dependency.MAIN_HANDLER)) {
        mLockscreenSettingsObserver = new ContentObserver(mMainHandler) {
            @Override
            public void onChange(boolean selfChange) {
                // We don't know which user changed LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS or
@@ -215,7 +224,7 @@ public class NotificationLockscreenUserManagerImpl implements
            }
        };

        mSettingsObserver = new ContentObserver(Dependency.get(Dependency.MAIN_HANDLER)) {
        mSettingsObserver = new ContentObserver(mMainHandler) {
            @Override
            public void onChange(boolean selfChange) {
                updateLockscreenNotificationSetting();
+28 −12
Original line number Diff line number Diff line
@@ -31,6 +31,8 @@ import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;

import android.app.ActivityManager;
import android.app.KeyguardManager;
import android.app.admin.DevicePolicyManager;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
@@ -45,12 +47,13 @@ import android.testing.TestableLooper;

import androidx.test.filters.SmallTest;

import com.android.internal.statusbar.IStatusBarService;
import com.android.systemui.Dependency;
import com.android.systemui.SysuiTestCase;
import com.android.systemui.broadcast.BroadcastDispatcher;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.statusbar.notification.NotificationEntryManager;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager;
import com.android.systemui.statusbar.policy.DeviceProvisionedController;
import com.android.systemui.statusbar.policy.KeyguardStateController;

@@ -66,14 +69,28 @@ import org.mockito.MockitoAnnotations;
@RunWith(AndroidTestingRunner.class)
@TestableLooper.RunWithLooper
public class NotificationLockscreenUserManagerTest extends SysuiTestCase {
    @Mock private NotificationPresenter mPresenter;
    @Mock private UserManager mUserManager;
    @Mock
    private NotificationPresenter mPresenter;
    @Mock
    private UserManager mUserManager;

    // Dependency mocks:
    @Mock private NotificationEntryManager mEntryManager;
    @Mock private DeviceProvisionedController mDeviceProvisionedController;
    @Mock private StatusBarKeyguardViewManager mKeyguardViewManager;
    @Mock private BroadcastDispatcher mBroadcastDispatcher;
    @Mock
    private NotificationEntryManager mEntryManager;
    @Mock
    private DevicePolicyManager mDevicePolicyManager;
    @Mock
    private IStatusBarService mIStatusBarService;
    @Mock
    private KeyguardManager mKeyguardManager;
    @Mock
    private DeviceProvisionedController mDeviceProvisionedController;
    @Mock
    private StatusBarStateController mStatusBarStateController;
    @Mock
    private BroadcastDispatcher mBroadcastDispatcher;
    @Mock
    private KeyguardStateController mKeyguardStateController;

    private int mCurrentUserId;
    private TestNotificationLockscreenUserManager mLockscreenUserManager;
@@ -82,11 +99,7 @@ public class NotificationLockscreenUserManagerTest extends SysuiTestCase {
    public void setUp() {
        MockitoAnnotations.initMocks(this);
        mDependency.injectTestDependency(NotificationEntryManager.class, mEntryManager);
        mDependency.injectTestDependency(DeviceProvisionedController.class,
                mDeviceProvisionedController);
        mDependency.injectMockDependency(KeyguardStateController.class);

        mContext.addMockSystemService(UserManager.class, mUserManager);
        mCurrentUserId = ActivityManager.getCurrentUser();

        when(mUserManager.getProfiles(mCurrentUserId)).thenReturn(Lists.newArrayList(
@@ -196,7 +209,10 @@ public class NotificationLockscreenUserManagerTest extends SysuiTestCase {
    private class TestNotificationLockscreenUserManager
            extends NotificationLockscreenUserManagerImpl {
        public TestNotificationLockscreenUserManager(Context context) {
            super(context, mBroadcastDispatcher);
            super(context, mBroadcastDispatcher, mDevicePolicyManager, mUserManager,
                    mIStatusBarService, NotificationLockscreenUserManagerTest.this.mKeyguardManager,
                    mStatusBarStateController, Handler.createAsync(Looper.myLooper()),
                    mDeviceProvisionedController, mKeyguardStateController);
        }

        public BroadcastReceiver getBaseBroadcastReceiverForTest() {