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

Commit 4894e35f authored by Caitlin Shkuratov's avatar Caitlin Shkuratov Committed by Android (Google) Code Review
Browse files

Merge "[CS] 2/N: Define WallpaperRepository.wallpaperSupportsAmbientMode." into udc-qpr-dev

parents ca108697 f2337c5f
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -71,6 +71,7 @@ import com.android.systemui.statusbar.policy.IndividualSensorPrivacyControllerIm
import com.android.systemui.statusbar.policy.SensorPrivacyController;
import com.android.systemui.statusbar.policy.SensorPrivacyControllerImpl;
import com.android.systemui.volume.dagger.VolumeModule;
import com.android.systemui.wallpapers.dagger.WallpaperModule;

import dagger.Binds;
import dagger.Module;
@@ -106,6 +107,7 @@ import javax.inject.Named;
        StatusBarEventsModule.class,
        StartCentralSurfacesModule.class,
        VolumeModule.class,
        WallpaperModule.class,
        KeyboardShortcutsModule.class
})
public abstract class ReferenceSystemUIModule {
+8 −0
Original line number Diff line number Diff line
@@ -51,6 +51,7 @@ import com.android.systemui.shortcut.ShortcutKeyDispatcher
import com.android.systemui.statusbar.notification.InstantAppNotifier
import com.android.systemui.statusbar.phone.KeyguardLiftController
import com.android.systemui.statusbar.phone.LockscreenWallpaper
import com.android.systemui.statusbar.phone.ScrimController
import com.android.systemui.stylus.StylusUsiPowerStartable
import com.android.systemui.temporarydisplay.chipbar.ChipbarCoordinator
import com.android.systemui.theme.ThemeOverlayController
@@ -59,6 +60,7 @@ import com.android.systemui.usb.StorageNotification
import com.android.systemui.util.NotificationChannels
import com.android.systemui.util.StartBinderLoggerModule
import com.android.systemui.volume.VolumeUI
import com.android.systemui.wallpapers.dagger.WallpaperModule
import com.android.systemui.wmshell.WMShell
import dagger.Binds
import dagger.Module
@@ -72,6 +74,7 @@ import dagger.multibindings.IntoMap
    MultiUserUtilsModule::class,
    StartControlsStartableModule::class,
    StartBinderLoggerModule::class,
    WallpaperModule::class,
])
abstract class SystemUICoreStartableModule {
    /** Inject into AuthController.  */
@@ -316,4 +319,9 @@ abstract class SystemUICoreStartableModule {
    @IntoMap
    @ClassKey(LockscreenWallpaper::class)
    abstract fun bindLockscreenWallpaper(impl: LockscreenWallpaper): CoreStartable

    @Binds
    @IntoMap
    @ClassKey(ScrimController::class)
    abstract fun bindScrimController(impl: ScrimController): CoreStartable
}
+4 −1
Original line number Diff line number Diff line
@@ -3550,6 +3550,10 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces {
        }
    };

    /**
     * @deprecated See {@link com.android.systemui.wallpapers.data.repository.WallpaperRepository}
     * instead.
     */
    private final BroadcastReceiver mWallpaperChangedReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
@@ -3569,7 +3573,6 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces {
                    && (info != null && info.supportsAmbientMode());

            mNotificationShadeWindowController.setWallpaperSupportsAmbientMode(supportsAmbientMode);
            mScrimController.setWallpaperSupportsAmbientMode(supportsAmbientMode);
            mKeyguardViewMediator.setWallpaperSupportsAmbientMode(supportsAmbientMode);
        }
    };
+19 −2
Original line number Diff line number Diff line
@@ -48,6 +48,7 @@ import com.android.keyguard.BouncerPanelExpansionCalculator;
import com.android.keyguard.KeyguardUpdateMonitor;
import com.android.keyguard.KeyguardUpdateMonitorCallback;
import com.android.settingslib.Utils;
import com.android.systemui.CoreStartable;
import com.android.systemui.DejankUtils;
import com.android.systemui.Dumpable;
import com.android.systemui.R;
@@ -69,8 +70,10 @@ import com.android.systemui.statusbar.notification.stack.ViewState;
import com.android.systemui.statusbar.policy.ConfigurationController;
import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.util.AlarmTimeout;
import com.android.systemui.util.kotlin.JavaAdapter;
import com.android.systemui.util.wakelock.DelayedWakeLock;
import com.android.systemui.util.wakelock.WakeLock;
import com.android.systemui.wallpapers.data.repository.WallpaperRepository;

import java.io.PrintWriter;
import java.lang.annotation.Retention;
@@ -87,7 +90,8 @@ import kotlinx.coroutines.CoroutineDispatcher;
 * security method gets shown).
 */
@SysUISingleton
public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dumpable {
public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dumpable,
        CoreStartable {

    static final String TAG = "ScrimController";
    private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
@@ -205,6 +209,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
    private final KeyguardVisibilityCallback mKeyguardVisibilityCallback;
    private final Handler mHandler;
    private final Executor mMainExecutor;
    private final JavaAdapter mJavaAdapter;
    private final ScreenOffAnimationController mScreenOffAnimationController;
    private final KeyguardUnlockAnimationController mKeyguardUnlockAnimationController;
    private final StatusBarKeyguardViewManager mStatusBarKeyguardViewManager;
@@ -264,6 +269,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
    private boolean mKeyguardOccluded;

    private KeyguardTransitionInteractor mKeyguardTransitionInteractor;
    private final WallpaperRepository mWallpaperRepository;
    private CoroutineDispatcher mMainDispatcher;
    private boolean mIsBouncerToGoneTransitionRunning = false;
    private PrimaryBouncerToGoneTransitionViewModel mPrimaryBouncerToGoneTransitionViewModel;
@@ -293,11 +299,13 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
            DockManager dockManager,
            ConfigurationController configurationController,
            @Main Executor mainExecutor,
            JavaAdapter javaAdapter,
            ScreenOffAnimationController screenOffAnimationController,
            KeyguardUnlockAnimationController keyguardUnlockAnimationController,
            StatusBarKeyguardViewManager statusBarKeyguardViewManager,
            PrimaryBouncerToGoneTransitionViewModel primaryBouncerToGoneTransitionViewModel,
            KeyguardTransitionInteractor keyguardTransitionInteractor,
            WallpaperRepository wallpaperRepository,
            @Main CoroutineDispatcher mainDispatcher,
            LargeScreenShadeInterpolator largeScreenShadeInterpolator) {
        mScrimStateListener = lightBarController::setScrimState;
@@ -310,6 +318,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
        mKeyguardVisibilityCallback = new KeyguardVisibilityCallback();
        mHandler = handler;
        mMainExecutor = mainExecutor;
        mJavaAdapter = javaAdapter;
        mScreenOffAnimationController = screenOffAnimationController;
        mTimeTicker = new AlarmTimeout(alarmManager, this::onHideWallpaperTimeout,
                "hide_aod_wallpaper", mHandler);
@@ -341,9 +350,17 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
        mColors = new GradientColors();
        mPrimaryBouncerToGoneTransitionViewModel = primaryBouncerToGoneTransitionViewModel;
        mKeyguardTransitionInteractor = keyguardTransitionInteractor;
        mWallpaperRepository = wallpaperRepository;
        mMainDispatcher = mainDispatcher;
    }

    @Override
    public void start() {
        mJavaAdapter.alwaysCollectFlow(
                mWallpaperRepository.getWallpaperSupportsAmbientMode(),
                this::setWallpaperSupportsAmbientMode);
    }

    /**
     * Attach the controller to the supplied views.
     */
@@ -1531,7 +1548,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
        pw.println(mState.getMaxLightRevealScrimAlpha());
    }

    public void setWallpaperSupportsAmbientMode(boolean wallpaperSupportsAmbientMode) {
    private void setWallpaperSupportsAmbientMode(boolean wallpaperSupportsAmbientMode) {
        mWallpaperSupportsAmbientMode = wallpaperSupportsAmbientMode;
        ScrimState[] states = ScrimState.values();
        for (int i = 0; i < states.length; i++) {
+2 −0
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@ import com.android.systemui.recents.RecentsModule;
import com.android.systemui.statusbar.dagger.CentralSurfacesDependenciesModule;
import com.android.systemui.statusbar.notification.dagger.NotificationsModule;
import com.android.systemui.statusbar.notification.row.NotificationRowModule;
import com.android.systemui.wallpapers.dagger.NoopWallpaperModule;

import dagger.Subcomponent;

@@ -39,6 +40,7 @@ import dagger.Subcomponent;
        DefaultComponentBinder.class,
        DependencyProvider.class,
        KeyguardModule.class,
        NoopWallpaperModule.class,
        NotificationRowModule.class,
        NotificationsModule.class,
        RecentsModule.class,
Loading