Loading packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBar.java +10 −2 Original line number Diff line number Diff line Loading @@ -118,8 +118,10 @@ import com.android.systemui.statusbar.phone.DozeParameters; import com.android.systemui.statusbar.phone.HeadsUpManagerPhone; import com.android.systemui.statusbar.phone.KeyguardBypassController; import com.android.systemui.statusbar.phone.LightBarController; import com.android.systemui.statusbar.phone.LockscreenWallpaper; import com.android.systemui.statusbar.phone.NotificationGroupAlertTransferHelper; import com.android.systemui.statusbar.phone.NotificationGroupManager; import com.android.systemui.statusbar.phone.ScrimController; import com.android.systemui.statusbar.phone.StatusBar; import com.android.systemui.statusbar.phone.StatusBarIconController; import com.android.systemui.statusbar.phone.StatusBarWindowController; Loading Loading @@ -154,6 +156,7 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt private static final float FLING_ANIMATION_MAX_TIME = 0.5f; // acceleration rate for the fling animation private static final float FLING_SPEED_UP_FACTOR = 0.6f; private final ScrimController mScrimController; private float mOpeningVelocity = DEFAULT_FLING_VELOCITY; private float mClosingVelocity = DEFAULT_FLING_VELOCITY; Loading Loading @@ -310,7 +313,9 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt StatusBarWindowController statusBarWindowController, StatusBarWindowViewController.Builder statusBarWindowViewControllerBuild, NotifLog notifLog, DozeParameters dozeParameters) { DozeParameters dozeParameters, ScrimController scrimController, Lazy<LockscreenWallpaper> lockscreenWallpaperLazy) { super( context, featureFlags, Loading Loading @@ -368,8 +373,11 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt statusBarWindowController, statusBarWindowViewControllerBuild, notifLog, dozeParameters); dozeParameters, scrimController, lockscreenWallpaperLazy); mNavigationBarController = navigationBarController; mScrimController = scrimController; } @Override Loading packages/SystemUI/src/com/android/systemui/DependencyProvider.java +16 −2 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ import android.app.AlarmManager; import android.app.IActivityManager; import android.app.INotificationManager; import android.app.IWallpaperManager; import android.app.WallpaperManager; import android.content.Context; import android.content.res.Resources; import android.hardware.SensorPrivacyManager; Loading Loading @@ -95,7 +96,7 @@ public class DependencyProvider { @Singleton @Provides @Named(TIME_TICK_HANDLER_NAME) public Handler provideHandler() { public Handler provideTimeTickHandler() { HandlerThread thread = new HandlerThread("TimeTick"); thread.start(); return new Handler(thread.getLooper()); Loading Loading @@ -133,6 +134,12 @@ public class DependencyProvider { return new Handler(mainLooper); } /** */ @Provides public Handler provideHandler() { return new Handler(); } @Singleton @Provides public DataSaverController provideDataSaverController(NetworkController networkController) { Loading Loading @@ -297,11 +304,18 @@ public class DependencyProvider { /** */ @Provides public IWallpaperManager provideWallPaperManager() { @Nullable public IWallpaperManager provideIWallpaperManager() { return IWallpaperManager.Stub.asInterface( ServiceManager.getService(Context.WALLPAPER_SERVICE)); } /** */ @Provides public WallpaperManager providesWallpaperManager(Context context) { return (WallpaperManager) context.getSystemService(Context.WALLPAPER_SERVICE); } /** */ @Provides public WindowManager providesWindowManager(Context context) { Loading packages/SystemUI/src/com/android/systemui/SystemUIFactory.java +0 −19 Original line number Diff line number Diff line Loading @@ -17,7 +17,6 @@ package com.android.systemui; import android.annotation.NonNull; import android.app.AlarmManager; import android.content.Context; import android.os.Handler; import android.os.Looper; Loading @@ -25,8 +24,6 @@ import android.util.Log; import android.view.ViewGroup; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.colorextraction.ColorExtractor.GradientColors; import com.android.internal.util.function.TriConsumer; import com.android.internal.widget.LockPatternUtils; import com.android.keyguard.KeyguardUpdateMonitor; import com.android.keyguard.ViewMediatorCallback; Loading @@ -35,22 +32,16 @@ import com.android.systemui.plugins.FalsingManager; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.statusbar.KeyguardIndicationController; import com.android.systemui.statusbar.NotificationMediaManager; import com.android.systemui.statusbar.ScrimView; import com.android.systemui.statusbar.notification.NotificationWakeUpCoordinator; import com.android.systemui.statusbar.phone.DozeParameters; import com.android.systemui.statusbar.phone.KeyguardBouncer; import com.android.systemui.statusbar.phone.KeyguardBypassController; import com.android.systemui.statusbar.phone.LockIcon; import com.android.systemui.statusbar.phone.LockscreenWallpaper; import com.android.systemui.statusbar.phone.NotificationIconAreaController; import com.android.systemui.statusbar.phone.ScrimController; import com.android.systemui.statusbar.phone.ScrimState; import com.android.systemui.statusbar.phone.StatusBar; import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager; import com.android.systemui.statusbar.policy.KeyguardStateController; import java.util.function.Consumer; import dagger.Module; import dagger.Provides; Loading Loading @@ -143,16 +134,6 @@ public class SystemUIFactory { new Handler(Looper.getMainLooper())); } public ScrimController createScrimController(ScrimView scrimBehind, ScrimView scrimInFront, ScrimView scrimForBubble, LockscreenWallpaper lockscreenWallpaper, TriConsumer<ScrimState, Float, GradientColors> scrimStateListener, Consumer<Integer> scrimVisibleListener, DozeParameters dozeParameters, AlarmManager alarmManager, KeyguardStateController keyguardStateController) { return new ScrimController(scrimBehind, scrimInFront, scrimForBubble, scrimStateListener, scrimVisibleListener, dozeParameters, alarmManager, keyguardStateController); } public NotificationIconAreaController createNotificationIconAreaController(Context context, StatusBar statusBar, NotificationWakeUpCoordinator wakeUpCoordinator, Loading packages/SystemUI/src/com/android/systemui/doze/DozeFactory.java +16 −12 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.systemui.doze; import android.annotation.Nullable; import android.app.AlarmManager; import android.app.Application; import android.app.IWallpaperManager; Loading Loading @@ -54,14 +55,17 @@ public class DozeFactory { private final DockManager mDockManager; private final IWallpaperManager mWallpaperManager; private final ProximitySensor mProximitySensor; private final DelayedWakeLock.Builder mDelayedWakeLockBuilder; private final Handler mHandler; @Inject public DozeFactory(FalsingManager falsingManager, DozeLog dozeLog, DozeParameters dozeParameters, BatteryController batteryController, AsyncSensorManager asyncSensorManager, AlarmManager alarmManager, WakefulnessLifecycle wakefulnessLifecycle, KeyguardUpdateMonitor keyguardUpdateMonitor, DockManager dockManager, IWallpaperManager wallpaperManager, ProximitySensor proximitySensor) { DockManager dockManager, @Nullable IWallpaperManager wallpaperManager, ProximitySensor proximitySensor, DelayedWakeLock.Builder delayedWakeLockBuilder, Handler handler) { mFalsingManager = falsingManager; mDozeLog = dozeLog; mDozeParameters = dozeParameters; Loading @@ -73,15 +77,15 @@ public class DozeFactory { mDockManager = dockManager; mWallpaperManager = wallpaperManager; mProximitySensor = proximitySensor; mDelayedWakeLockBuilder = delayedWakeLockBuilder; mHandler = handler; } /** Creates a DozeMachine with its parts for {@code dozeService}. */ public DozeMachine assembleMachine(DozeService dozeService) { DozeMachine assembleMachine(DozeService dozeService) { DozeHost host = getHost(dozeService); AmbientDisplayConfiguration config = new AmbientDisplayConfiguration(dozeService); Handler handler = new Handler(); WakeLock wakeLock = new DelayedWakeLock(handler, WakeLock.createPartial(dozeService, "Doze")); WakeLock wakeLock = mDelayedWakeLockBuilder.setHandler(mHandler).setTag("Doze").build(); DozeMachine.Service wrappedService = dozeService; wrappedService = new DozeBrightnessHostForwarder(wrappedService, host); Loading @@ -93,20 +97,20 @@ public class DozeFactory { DozeMachine machine = new DozeMachine(wrappedService, config, wakeLock, mWakefulnessLifecycle, mBatteryController, mDozeLog); machine.setParts(new DozeMachine.Part[]{ new DozePauser(handler, machine, mAlarmManager, mDozeParameters.getPolicy()), new DozePauser(mHandler, machine, mAlarmManager, mDozeParameters.getPolicy()), new DozeFalsingManagerAdapter(mFalsingManager), createDozeTriggers(dozeService, mAsyncSensorManager, host, mAlarmManager, config, mDozeParameters, handler, wakeLock, machine, mDockManager, mDozeLog), createDozeUi(dozeService, host, wakeLock, machine, handler, mAlarmManager, mDozeParameters, mHandler, wakeLock, machine, mDockManager, mDozeLog), createDozeUi(dozeService, host, wakeLock, machine, mHandler, mAlarmManager, mDozeParameters, mDozeLog), new DozeScreenState(wrappedService, handler, host, mDozeParameters, wakeLock), new DozeScreenState(wrappedService, mHandler, host, mDozeParameters, wakeLock), createDozeScreenBrightness(dozeService, wrappedService, mAsyncSensorManager, host, mDozeParameters, handler), mDozeParameters, mHandler), new DozeWallpaperState( mWallpaperManager, getBiometricUnlockController(dozeService), mDozeParameters), new DozeDockHandler(dozeService, machine, host, config, handler, mDockManager), new DozeDockHandler(dozeService, machine, host, config, mHandler, mDockManager), new DozeAuthRemover(dozeService) }); Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/LockscreenWallpaper.java +25 −13 Original line number Diff line number Diff line Loading @@ -22,7 +22,6 @@ import android.app.IWallpaperManager; import android.app.IWallpaperManagerCallback; import android.app.WallpaperColors; import android.app.WallpaperManager; import android.content.Context; import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.BitmapFactory; Loading @@ -35,7 +34,6 @@ import android.os.AsyncTask; import android.os.Handler; import android.os.ParcelFileDescriptor; import android.os.RemoteException; import android.os.ServiceManager; import android.os.UserHandle; import android.util.Log; Loading @@ -47,9 +45,13 @@ import libcore.io.IoUtils; import java.util.Objects; import javax.inject.Inject; import javax.inject.Singleton; /** * Manages the lockscreen wallpaper. */ @Singleton public class LockscreenWallpaper extends IWallpaperManagerCallback.Stub implements Runnable { private static final String TAG = "LockscreenWallpaper"; Loading @@ -57,9 +59,8 @@ public class LockscreenWallpaper extends IWallpaperManagerCallback.Stub implemen private final NotificationMediaManager mMediaManager = Dependency.get(NotificationMediaManager.class); private final StatusBar mBar; private final WallpaperManager mWallpaperManager; private final Handler mH; private Handler mH; private final KeyguardUpdateMonitor mUpdateMonitor; private boolean mCached; Loading @@ -70,25 +71,32 @@ public class LockscreenWallpaper extends IWallpaperManagerCallback.Stub implemen private UserHandle mSelectedUser; private AsyncTask<Void, Void, LoaderResult> mLoader; public LockscreenWallpaper(Context ctx, StatusBar bar, Handler h) { mBar = bar; mH = h; mWallpaperManager = (WallpaperManager) ctx.getSystemService(Context.WALLPAPER_SERVICE); @Inject public LockscreenWallpaper(WallpaperManager wallpaperManager, @Nullable IWallpaperManager iWallpaperManager, KeyguardUpdateMonitor keyguardUpdateMonitor) { mWallpaperManager = wallpaperManager; mCurrentUserId = ActivityManager.getCurrentUser(); mUpdateMonitor = Dependency.get(KeyguardUpdateMonitor.class); mUpdateMonitor = keyguardUpdateMonitor; IWallpaperManager service = IWallpaperManager.Stub.asInterface( ServiceManager.getService(Context.WALLPAPER_SERVICE)); if (service != null) { if (iWallpaperManager != null) { // Service is disabled on some devices like Automotive try { service.setLockWallpaperCallback(this); iWallpaperManager.setLockWallpaperCallback(this); } catch (RemoteException e) { Log.e(TAG, "System dead?" + e); } } } void setHandler(Handler handler) { if (mH != null) { Log.wtfStack(TAG, "Handler has already been set. Trying to double initialize?"); return; } mH = handler; } public Bitmap getBitmap() { if (mCached) { return mCache; Loading Loading @@ -176,6 +184,10 @@ public class LockscreenWallpaper extends IWallpaperManagerCallback.Stub implemen } private void postUpdateWallpaper() { if (mH == null) { Log.wtfStack(TAG, "Trying to use LockscreenWallpaper before initialization."); return; } mH.removeCallbacks(this); mH.post(this); } Loading Loading
packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBar.java +10 −2 Original line number Diff line number Diff line Loading @@ -118,8 +118,10 @@ import com.android.systemui.statusbar.phone.DozeParameters; import com.android.systemui.statusbar.phone.HeadsUpManagerPhone; import com.android.systemui.statusbar.phone.KeyguardBypassController; import com.android.systemui.statusbar.phone.LightBarController; import com.android.systemui.statusbar.phone.LockscreenWallpaper; import com.android.systemui.statusbar.phone.NotificationGroupAlertTransferHelper; import com.android.systemui.statusbar.phone.NotificationGroupManager; import com.android.systemui.statusbar.phone.ScrimController; import com.android.systemui.statusbar.phone.StatusBar; import com.android.systemui.statusbar.phone.StatusBarIconController; import com.android.systemui.statusbar.phone.StatusBarWindowController; Loading Loading @@ -154,6 +156,7 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt private static final float FLING_ANIMATION_MAX_TIME = 0.5f; // acceleration rate for the fling animation private static final float FLING_SPEED_UP_FACTOR = 0.6f; private final ScrimController mScrimController; private float mOpeningVelocity = DEFAULT_FLING_VELOCITY; private float mClosingVelocity = DEFAULT_FLING_VELOCITY; Loading Loading @@ -310,7 +313,9 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt StatusBarWindowController statusBarWindowController, StatusBarWindowViewController.Builder statusBarWindowViewControllerBuild, NotifLog notifLog, DozeParameters dozeParameters) { DozeParameters dozeParameters, ScrimController scrimController, Lazy<LockscreenWallpaper> lockscreenWallpaperLazy) { super( context, featureFlags, Loading Loading @@ -368,8 +373,11 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt statusBarWindowController, statusBarWindowViewControllerBuild, notifLog, dozeParameters); dozeParameters, scrimController, lockscreenWallpaperLazy); mNavigationBarController = navigationBarController; mScrimController = scrimController; } @Override Loading
packages/SystemUI/src/com/android/systemui/DependencyProvider.java +16 −2 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ import android.app.AlarmManager; import android.app.IActivityManager; import android.app.INotificationManager; import android.app.IWallpaperManager; import android.app.WallpaperManager; import android.content.Context; import android.content.res.Resources; import android.hardware.SensorPrivacyManager; Loading Loading @@ -95,7 +96,7 @@ public class DependencyProvider { @Singleton @Provides @Named(TIME_TICK_HANDLER_NAME) public Handler provideHandler() { public Handler provideTimeTickHandler() { HandlerThread thread = new HandlerThread("TimeTick"); thread.start(); return new Handler(thread.getLooper()); Loading Loading @@ -133,6 +134,12 @@ public class DependencyProvider { return new Handler(mainLooper); } /** */ @Provides public Handler provideHandler() { return new Handler(); } @Singleton @Provides public DataSaverController provideDataSaverController(NetworkController networkController) { Loading Loading @@ -297,11 +304,18 @@ public class DependencyProvider { /** */ @Provides public IWallpaperManager provideWallPaperManager() { @Nullable public IWallpaperManager provideIWallpaperManager() { return IWallpaperManager.Stub.asInterface( ServiceManager.getService(Context.WALLPAPER_SERVICE)); } /** */ @Provides public WallpaperManager providesWallpaperManager(Context context) { return (WallpaperManager) context.getSystemService(Context.WALLPAPER_SERVICE); } /** */ @Provides public WindowManager providesWindowManager(Context context) { Loading
packages/SystemUI/src/com/android/systemui/SystemUIFactory.java +0 −19 Original line number Diff line number Diff line Loading @@ -17,7 +17,6 @@ package com.android.systemui; import android.annotation.NonNull; import android.app.AlarmManager; import android.content.Context; import android.os.Handler; import android.os.Looper; Loading @@ -25,8 +24,6 @@ import android.util.Log; import android.view.ViewGroup; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.colorextraction.ColorExtractor.GradientColors; import com.android.internal.util.function.TriConsumer; import com.android.internal.widget.LockPatternUtils; import com.android.keyguard.KeyguardUpdateMonitor; import com.android.keyguard.ViewMediatorCallback; Loading @@ -35,22 +32,16 @@ import com.android.systemui.plugins.FalsingManager; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.statusbar.KeyguardIndicationController; import com.android.systemui.statusbar.NotificationMediaManager; import com.android.systemui.statusbar.ScrimView; import com.android.systemui.statusbar.notification.NotificationWakeUpCoordinator; import com.android.systemui.statusbar.phone.DozeParameters; import com.android.systemui.statusbar.phone.KeyguardBouncer; import com.android.systemui.statusbar.phone.KeyguardBypassController; import com.android.systemui.statusbar.phone.LockIcon; import com.android.systemui.statusbar.phone.LockscreenWallpaper; import com.android.systemui.statusbar.phone.NotificationIconAreaController; import com.android.systemui.statusbar.phone.ScrimController; import com.android.systemui.statusbar.phone.ScrimState; import com.android.systemui.statusbar.phone.StatusBar; import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager; import com.android.systemui.statusbar.policy.KeyguardStateController; import java.util.function.Consumer; import dagger.Module; import dagger.Provides; Loading Loading @@ -143,16 +134,6 @@ public class SystemUIFactory { new Handler(Looper.getMainLooper())); } public ScrimController createScrimController(ScrimView scrimBehind, ScrimView scrimInFront, ScrimView scrimForBubble, LockscreenWallpaper lockscreenWallpaper, TriConsumer<ScrimState, Float, GradientColors> scrimStateListener, Consumer<Integer> scrimVisibleListener, DozeParameters dozeParameters, AlarmManager alarmManager, KeyguardStateController keyguardStateController) { return new ScrimController(scrimBehind, scrimInFront, scrimForBubble, scrimStateListener, scrimVisibleListener, dozeParameters, alarmManager, keyguardStateController); } public NotificationIconAreaController createNotificationIconAreaController(Context context, StatusBar statusBar, NotificationWakeUpCoordinator wakeUpCoordinator, Loading
packages/SystemUI/src/com/android/systemui/doze/DozeFactory.java +16 −12 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.systemui.doze; import android.annotation.Nullable; import android.app.AlarmManager; import android.app.Application; import android.app.IWallpaperManager; Loading Loading @@ -54,14 +55,17 @@ public class DozeFactory { private final DockManager mDockManager; private final IWallpaperManager mWallpaperManager; private final ProximitySensor mProximitySensor; private final DelayedWakeLock.Builder mDelayedWakeLockBuilder; private final Handler mHandler; @Inject public DozeFactory(FalsingManager falsingManager, DozeLog dozeLog, DozeParameters dozeParameters, BatteryController batteryController, AsyncSensorManager asyncSensorManager, AlarmManager alarmManager, WakefulnessLifecycle wakefulnessLifecycle, KeyguardUpdateMonitor keyguardUpdateMonitor, DockManager dockManager, IWallpaperManager wallpaperManager, ProximitySensor proximitySensor) { DockManager dockManager, @Nullable IWallpaperManager wallpaperManager, ProximitySensor proximitySensor, DelayedWakeLock.Builder delayedWakeLockBuilder, Handler handler) { mFalsingManager = falsingManager; mDozeLog = dozeLog; mDozeParameters = dozeParameters; Loading @@ -73,15 +77,15 @@ public class DozeFactory { mDockManager = dockManager; mWallpaperManager = wallpaperManager; mProximitySensor = proximitySensor; mDelayedWakeLockBuilder = delayedWakeLockBuilder; mHandler = handler; } /** Creates a DozeMachine with its parts for {@code dozeService}. */ public DozeMachine assembleMachine(DozeService dozeService) { DozeMachine assembleMachine(DozeService dozeService) { DozeHost host = getHost(dozeService); AmbientDisplayConfiguration config = new AmbientDisplayConfiguration(dozeService); Handler handler = new Handler(); WakeLock wakeLock = new DelayedWakeLock(handler, WakeLock.createPartial(dozeService, "Doze")); WakeLock wakeLock = mDelayedWakeLockBuilder.setHandler(mHandler).setTag("Doze").build(); DozeMachine.Service wrappedService = dozeService; wrappedService = new DozeBrightnessHostForwarder(wrappedService, host); Loading @@ -93,20 +97,20 @@ public class DozeFactory { DozeMachine machine = new DozeMachine(wrappedService, config, wakeLock, mWakefulnessLifecycle, mBatteryController, mDozeLog); machine.setParts(new DozeMachine.Part[]{ new DozePauser(handler, machine, mAlarmManager, mDozeParameters.getPolicy()), new DozePauser(mHandler, machine, mAlarmManager, mDozeParameters.getPolicy()), new DozeFalsingManagerAdapter(mFalsingManager), createDozeTriggers(dozeService, mAsyncSensorManager, host, mAlarmManager, config, mDozeParameters, handler, wakeLock, machine, mDockManager, mDozeLog), createDozeUi(dozeService, host, wakeLock, machine, handler, mAlarmManager, mDozeParameters, mHandler, wakeLock, machine, mDockManager, mDozeLog), createDozeUi(dozeService, host, wakeLock, machine, mHandler, mAlarmManager, mDozeParameters, mDozeLog), new DozeScreenState(wrappedService, handler, host, mDozeParameters, wakeLock), new DozeScreenState(wrappedService, mHandler, host, mDozeParameters, wakeLock), createDozeScreenBrightness(dozeService, wrappedService, mAsyncSensorManager, host, mDozeParameters, handler), mDozeParameters, mHandler), new DozeWallpaperState( mWallpaperManager, getBiometricUnlockController(dozeService), mDozeParameters), new DozeDockHandler(dozeService, machine, host, config, handler, mDockManager), new DozeDockHandler(dozeService, machine, host, config, mHandler, mDockManager), new DozeAuthRemover(dozeService) }); Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/LockscreenWallpaper.java +25 −13 Original line number Diff line number Diff line Loading @@ -22,7 +22,6 @@ import android.app.IWallpaperManager; import android.app.IWallpaperManagerCallback; import android.app.WallpaperColors; import android.app.WallpaperManager; import android.content.Context; import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.BitmapFactory; Loading @@ -35,7 +34,6 @@ import android.os.AsyncTask; import android.os.Handler; import android.os.ParcelFileDescriptor; import android.os.RemoteException; import android.os.ServiceManager; import android.os.UserHandle; import android.util.Log; Loading @@ -47,9 +45,13 @@ import libcore.io.IoUtils; import java.util.Objects; import javax.inject.Inject; import javax.inject.Singleton; /** * Manages the lockscreen wallpaper. */ @Singleton public class LockscreenWallpaper extends IWallpaperManagerCallback.Stub implements Runnable { private static final String TAG = "LockscreenWallpaper"; Loading @@ -57,9 +59,8 @@ public class LockscreenWallpaper extends IWallpaperManagerCallback.Stub implemen private final NotificationMediaManager mMediaManager = Dependency.get(NotificationMediaManager.class); private final StatusBar mBar; private final WallpaperManager mWallpaperManager; private final Handler mH; private Handler mH; private final KeyguardUpdateMonitor mUpdateMonitor; private boolean mCached; Loading @@ -70,25 +71,32 @@ public class LockscreenWallpaper extends IWallpaperManagerCallback.Stub implemen private UserHandle mSelectedUser; private AsyncTask<Void, Void, LoaderResult> mLoader; public LockscreenWallpaper(Context ctx, StatusBar bar, Handler h) { mBar = bar; mH = h; mWallpaperManager = (WallpaperManager) ctx.getSystemService(Context.WALLPAPER_SERVICE); @Inject public LockscreenWallpaper(WallpaperManager wallpaperManager, @Nullable IWallpaperManager iWallpaperManager, KeyguardUpdateMonitor keyguardUpdateMonitor) { mWallpaperManager = wallpaperManager; mCurrentUserId = ActivityManager.getCurrentUser(); mUpdateMonitor = Dependency.get(KeyguardUpdateMonitor.class); mUpdateMonitor = keyguardUpdateMonitor; IWallpaperManager service = IWallpaperManager.Stub.asInterface( ServiceManager.getService(Context.WALLPAPER_SERVICE)); if (service != null) { if (iWallpaperManager != null) { // Service is disabled on some devices like Automotive try { service.setLockWallpaperCallback(this); iWallpaperManager.setLockWallpaperCallback(this); } catch (RemoteException e) { Log.e(TAG, "System dead?" + e); } } } void setHandler(Handler handler) { if (mH != null) { Log.wtfStack(TAG, "Handler has already been set. Trying to double initialize?"); return; } mH = handler; } public Bitmap getBitmap() { if (mCached) { return mCache; Loading Loading @@ -176,6 +184,10 @@ public class LockscreenWallpaper extends IWallpaperManagerCallback.Stub implemen } private void postUpdateWallpaper() { if (mH == null) { Log.wtfStack(TAG, "Trying to use LockscreenWallpaper before initialization."); return; } mH.removeCallbacks(this); mH.post(this); } Loading