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

Commit e288c066 authored by Caitlin Shkuratov's avatar Caitlin Shkuratov
Browse files

[Central Surfaces] Make LockIconView(&Controller) a singleton.

Bug: 277762009
Test: compiles
Test: verify lock icon appears correctly
Test: verify lock icon updates to unlocked on face auth device
Test: verify lock icon supports fingerprint unlock
Test: atest LockIconViewControllerTest
Change-Id: Idab6285b829e820007adf9c483d74515e0985e2b
parent fa5de702
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -56,6 +56,7 @@ import com.android.systemui.R;
import com.android.systemui.biometrics.AuthController;
import com.android.systemui.biometrics.AuthRippleController;
import com.android.systemui.biometrics.UdfpsController;
import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.dump.DumpManager;
import com.android.systemui.flags.FeatureFlags;
@@ -66,7 +67,6 @@ import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.VibratorHelper;
import com.android.systemui.statusbar.phone.dagger.CentralSurfacesComponent;
import com.android.systemui.statusbar.policy.ConfigurationController;
import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.util.ViewController;
@@ -84,7 +84,7 @@ import javax.inject.Inject;
 * For devices with UDFPS, the lock icon will show at the sensor location. Else, the lock
 * icon will show a set distance from the bottom of the device.
 */
@CentralSurfacesComponent.CentralSurfacesScope
@SysUISingleton
public class LockIconViewController extends ViewController<LockIconView> implements Dumpable {
    private static final String TAG = "LockIconViewController";
    private static final float sDefaultDensity =
+1 −0
Original line number Diff line number Diff line
@@ -163,6 +163,7 @@ public class NotificationShadeWindowViewController {
        mStatusBarKeyguardViewManager = statusBarKeyguardViewManager;
        mStatusBarWindowStateController = statusBarWindowStateController;
        mLockIconViewController = lockIconViewController;
        mLockIconViewController.init();
        mService = centralSurfaces;
        mNotificationShadeWindowController = controller;
        mKeyguardUnlockAnimationController = keyguardUnlockAnimationController;
+10 −0
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package com.android.systemui.shade

import android.view.LayoutInflater
import com.android.keyguard.LockIconView
import com.android.systemui.CoreStartable
import com.android.systemui.R
import com.android.systemui.biometrics.AuthRippleController
@@ -89,5 +90,14 @@ abstract class ShadeModule {
        ): AuthRippleView? {
            return notificationShadeWindowView.findViewById(R.id.auth_ripple)
        }

        // TODO(b/277762009): Only allow this view's controller to inject the view. See above.
        @Provides
        @SysUISingleton
        fun providesLockIconView(
            notificationShadeWindowView: NotificationShadeWindowView,
        ): LockIconView {
            return notificationShadeWindowView.findViewById(R.id.lock_icon_view)
        }
    }
}
+0 −1
Original line number Diff line number Diff line
@@ -1660,7 +1660,6 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces {
        mShadeController.setNotificationPanelViewController(npvc);
        mShadeController.setNotificationShadeWindowViewController(
                mNotificationShadeWindowViewController);
        mCentralSurfacesComponent.getLockIconViewController().init();
        mStackScrollerController =
                mCentralSurfacesComponent.getNotificationStackScrollLayoutController();
        mQsController = mCentralSurfacesComponent.getQuickSettingsController();
+0 −7
Original line number Diff line number Diff line
@@ -20,8 +20,6 @@ import static com.android.systemui.statusbar.phone.dagger.StatusBarViewModule.ST

import static java.lang.annotation.RetentionPolicy.RUNTIME;

import com.android.keyguard.LockIconViewController;
import com.android.systemui.biometrics.AuthRippleController;
import com.android.systemui.shade.NotificationPanelViewController;
import com.android.systemui.shade.NotificationShadeWindowView;
import com.android.systemui.shade.NotificationShadeWindowViewController;
@@ -116,11 +114,6 @@ public interface CentralSurfacesComponent {
    /** Creates a QuickSettingsController. */
    QuickSettingsController getQuickSettingsController();

    /**
     * Creates a LockIconViewController. Must be init after creation.
     */
    LockIconViewController getLockIconViewController();

    /**
     * Creates a StatusBarHeadsUpChangeListener.
     */
Loading