Loading core/java/com/android/internal/policy/IKeyguardStateCallback.aidl +1 −0 Original line number Diff line number Diff line Loading @@ -20,4 +20,5 @@ interface IKeyguardStateCallback { void onSimSecureStateChanged(boolean simSecure); void onInputRestrictedStateChanged(boolean inputRestricted); void onTrustedChanged(boolean trusted); void onHasLockscreenWallpaperChanged(boolean hasLockscreenWallpaper); } No newline at end of file packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java +26 −0 Original line number Diff line number Diff line Loading @@ -271,6 +271,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab private boolean mBouncer; // true if bouncerIsOrWillBeShowing private boolean mAuthInterruptActive; private boolean mNeedsSlowUnlockTransition; private boolean mHasLockscreenWallpaper; private boolean mAssistantVisible; private boolean mKeyguardOccluded; private boolean mOccludingAppRequestingFp; Loading Loading @@ -2531,6 +2532,31 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab } } /** * Update the state whether Keyguard currently has a lockscreen wallpaper. * * @param hasLockscreenWallpaper Whether Keyguard has a lockscreen wallpaper. */ public void setHasLockscreenWallpaper(boolean hasLockscreenWallpaper) { Assert.isMainThread(); if (hasLockscreenWallpaper != mHasLockscreenWallpaper) { mHasLockscreenWallpaper = hasLockscreenWallpaper; for (int i = 0; i < mCallbacks.size(); i++) { KeyguardUpdateMonitorCallback cb = mCallbacks.get(i).get(); if (cb != null) { cb.onHasLockscreenWallpaperChanged(hasLockscreenWallpaper); } } } } /** * @return Whether Keyguard has a lockscreen wallpaper. */ public boolean hasLockscreenWallpaper() { return mHasLockscreenWallpaper; } /** * Handle {@link #MSG_DPM_STATE_CHANGED} */ Loading packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitorCallback.java +5 −0 Original line number Diff line number Diff line Loading @@ -291,6 +291,11 @@ public class KeyguardUpdateMonitorCallback { */ public void onStrongAuthStateChanged(int userId) { } /** * Called when the state whether we have a lockscreen wallpaper has changed. */ public void onHasLockscreenWallpaperChanged(boolean hasLockscreenWallpaper) { } /** * Called when the dream's window state is changed. * @param dreaming true if the dream's window has been created and is visible Loading packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java +23 −0 Original line number Diff line number Diff line Loading @@ -670,6 +670,13 @@ public class KeyguardViewMediator extends SystemUI implements Dumpable, } } } @Override public void onHasLockscreenWallpaperChanged(boolean hasLockscreenWallpaper) { synchronized (KeyguardViewMediator.this) { notifyHasLockscreenWallpaperChanged(hasLockscreenWallpaper); } } }; ViewMediatorCallback mViewMediatorCallback = new ViewMediatorCallback() { Loading Loading @@ -2866,6 +2873,21 @@ public class KeyguardViewMediator extends SystemUI implements Dumpable, } } private void notifyHasLockscreenWallpaperChanged(boolean hasLockscreenWallpaper) { int size = mKeyguardStateCallbacks.size(); for (int i = size - 1; i >= 0; i--) { try { mKeyguardStateCallbacks.get(i).onHasLockscreenWallpaperChanged( hasLockscreenWallpaper); } catch (RemoteException e) { Slog.w(TAG, "Failed to call onHasLockscreenWallpaperChanged", e); if (e instanceof DeadObjectException) { mKeyguardStateCallbacks.remove(i); } } } } public void addStateMonitorCallback(IKeyguardStateCallback callback) { synchronized (this) { mKeyguardStateCallbacks.add(callback); Loading @@ -2875,6 +2897,7 @@ public class KeyguardViewMediator extends SystemUI implements Dumpable, callback.onInputRestrictedStateChanged(mInputRestricted); callback.onTrustedChanged(mUpdateMonitor.getUserHasTrust( KeyguardUpdateMonitor.getCurrentUser())); callback.onHasLockscreenWallpaperChanged(mUpdateMonitor.hasLockscreenWallpaper()); } catch (RemoteException e) { Slog.w(TAG, "Failed to call to IKeyguardStateCallback", e); } Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/LockscreenWallpaper.java +2 −0 Original line number Diff line number Diff line Loading @@ -119,6 +119,7 @@ public class LockscreenWallpaper extends IWallpaperManagerCallback.Stub implemen LoaderResult result = loadBitmap(mCurrentUserId, mSelectedUser); if (result.success) { mCached = true; mUpdateMonitor.setHasLockscreenWallpaper(result.bitmap != null); mCache = result.bitmap; } return mCache; Loading Loading @@ -234,6 +235,7 @@ public class LockscreenWallpaper extends IWallpaperManagerCallback.Stub implemen if (result.success) { mCached = true; mCache = result.bitmap; mUpdateMonitor.setHasLockscreenWallpaper(result.bitmap != null); mMediaManager.updateMediaMetaData( true /* metaDataChanged */, true /* allowEnterAnimation */); } Loading Loading
core/java/com/android/internal/policy/IKeyguardStateCallback.aidl +1 −0 Original line number Diff line number Diff line Loading @@ -20,4 +20,5 @@ interface IKeyguardStateCallback { void onSimSecureStateChanged(boolean simSecure); void onInputRestrictedStateChanged(boolean inputRestricted); void onTrustedChanged(boolean trusted); void onHasLockscreenWallpaperChanged(boolean hasLockscreenWallpaper); } No newline at end of file
packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java +26 −0 Original line number Diff line number Diff line Loading @@ -271,6 +271,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab private boolean mBouncer; // true if bouncerIsOrWillBeShowing private boolean mAuthInterruptActive; private boolean mNeedsSlowUnlockTransition; private boolean mHasLockscreenWallpaper; private boolean mAssistantVisible; private boolean mKeyguardOccluded; private boolean mOccludingAppRequestingFp; Loading Loading @@ -2531,6 +2532,31 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab } } /** * Update the state whether Keyguard currently has a lockscreen wallpaper. * * @param hasLockscreenWallpaper Whether Keyguard has a lockscreen wallpaper. */ public void setHasLockscreenWallpaper(boolean hasLockscreenWallpaper) { Assert.isMainThread(); if (hasLockscreenWallpaper != mHasLockscreenWallpaper) { mHasLockscreenWallpaper = hasLockscreenWallpaper; for (int i = 0; i < mCallbacks.size(); i++) { KeyguardUpdateMonitorCallback cb = mCallbacks.get(i).get(); if (cb != null) { cb.onHasLockscreenWallpaperChanged(hasLockscreenWallpaper); } } } } /** * @return Whether Keyguard has a lockscreen wallpaper. */ public boolean hasLockscreenWallpaper() { return mHasLockscreenWallpaper; } /** * Handle {@link #MSG_DPM_STATE_CHANGED} */ Loading
packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitorCallback.java +5 −0 Original line number Diff line number Diff line Loading @@ -291,6 +291,11 @@ public class KeyguardUpdateMonitorCallback { */ public void onStrongAuthStateChanged(int userId) { } /** * Called when the state whether we have a lockscreen wallpaper has changed. */ public void onHasLockscreenWallpaperChanged(boolean hasLockscreenWallpaper) { } /** * Called when the dream's window state is changed. * @param dreaming true if the dream's window has been created and is visible Loading
packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java +23 −0 Original line number Diff line number Diff line Loading @@ -670,6 +670,13 @@ public class KeyguardViewMediator extends SystemUI implements Dumpable, } } } @Override public void onHasLockscreenWallpaperChanged(boolean hasLockscreenWallpaper) { synchronized (KeyguardViewMediator.this) { notifyHasLockscreenWallpaperChanged(hasLockscreenWallpaper); } } }; ViewMediatorCallback mViewMediatorCallback = new ViewMediatorCallback() { Loading Loading @@ -2866,6 +2873,21 @@ public class KeyguardViewMediator extends SystemUI implements Dumpable, } } private void notifyHasLockscreenWallpaperChanged(boolean hasLockscreenWallpaper) { int size = mKeyguardStateCallbacks.size(); for (int i = size - 1; i >= 0; i--) { try { mKeyguardStateCallbacks.get(i).onHasLockscreenWallpaperChanged( hasLockscreenWallpaper); } catch (RemoteException e) { Slog.w(TAG, "Failed to call onHasLockscreenWallpaperChanged", e); if (e instanceof DeadObjectException) { mKeyguardStateCallbacks.remove(i); } } } } public void addStateMonitorCallback(IKeyguardStateCallback callback) { synchronized (this) { mKeyguardStateCallbacks.add(callback); Loading @@ -2875,6 +2897,7 @@ public class KeyguardViewMediator extends SystemUI implements Dumpable, callback.onInputRestrictedStateChanged(mInputRestricted); callback.onTrustedChanged(mUpdateMonitor.getUserHasTrust( KeyguardUpdateMonitor.getCurrentUser())); callback.onHasLockscreenWallpaperChanged(mUpdateMonitor.hasLockscreenWallpaper()); } catch (RemoteException e) { Slog.w(TAG, "Failed to call to IKeyguardStateCallback", e); } Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/LockscreenWallpaper.java +2 −0 Original line number Diff line number Diff line Loading @@ -119,6 +119,7 @@ public class LockscreenWallpaper extends IWallpaperManagerCallback.Stub implemen LoaderResult result = loadBitmap(mCurrentUserId, mSelectedUser); if (result.success) { mCached = true; mUpdateMonitor.setHasLockscreenWallpaper(result.bitmap != null); mCache = result.bitmap; } return mCache; Loading Loading @@ -234,6 +235,7 @@ public class LockscreenWallpaper extends IWallpaperManagerCallback.Stub implemen if (result.success) { mCached = true; mCache = result.bitmap; mUpdateMonitor.setHasLockscreenWallpaper(result.bitmap != null); mMediaManager.updateMediaMetaData( true /* metaDataChanged */, true /* allowEnterAnimation */); } Loading