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

Commit a3760a47 authored by Adrian Roos's avatar Adrian Roos
Browse files

Show lockscreen wallpaper on SIM screens

Also fixes a bug where the lockscreen wallpaper was
showing in occluded mode and where the regular wallpaper
was flashing when going back from occluded mode.

Change-Id: Ibe6404acc4ed5db8807b3ef223b149e841730c8f
Fixes: 28271756
parent 9fa8b545
Loading
Loading
Loading
Loading
+14 −3
Original line number Diff line number Diff line
@@ -1985,19 +1985,29 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
                artworkDrawable = new BitmapDrawable(mBackdropBack.getResources(), artworkBitmap);
            }
        }
        boolean allowWhenShade = false;
        if (ENABLE_LOCKSCREEN_WALLPAPER && artworkDrawable == null) {
            Bitmap lockWallpaper = mLockscreenWallpaper.getBitmap();
            if (lockWallpaper != null) {
                artworkDrawable = new LockscreenWallpaper.WallpaperDrawable(
                        mBackdropBack.getResources(), lockWallpaper);
                // We're in the SHADE mode on the SIM screen - yet we still need to show
                // the lockscreen wallpaper in that mode.
                allowWhenShade = mStatusBarKeyguardViewManager != null
                        && mStatusBarKeyguardViewManager.isShowing();
            }
        }

        boolean hideBecauseOccluded = mStatusBarKeyguardViewManager != null
                && mStatusBarKeyguardViewManager.isOccluded();

        final boolean hasArtwork = artworkDrawable != null;

        if ((hasArtwork || DEBUG_MEDIA_FAKE_ARTWORK) && mState != StatusBarState.SHADE
        if ((hasArtwork || DEBUG_MEDIA_FAKE_ARTWORK)
                && (mState != StatusBarState.SHADE || allowWhenShade)
                && mFingerprintUnlockController.getMode()
                        != FingerprintUnlockController.MODE_WAKE_AND_UNLOCK_PULSING) {
                        != FingerprintUnlockController.MODE_WAKE_AND_UNLOCK_PULSING
                && !hideBecauseOccluded) {
            // time to show some art!
            if (mBackdrop.getVisibility() != View.VISIBLE) {
                mBackdrop.setVisibility(View.VISIBLE);
@@ -2065,7 +2075,8 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
                    Log.v(TAG, "DEBUG_MEDIA: Fading out album artwork");
                }
                if (mFingerprintUnlockController.getMode()
                        == FingerprintUnlockController.MODE_WAKE_AND_UNLOCK_PULSING) {
                        == FingerprintUnlockController.MODE_WAKE_AND_UNLOCK_PULSING
                        || hideBecauseOccluded) {

                    // We are unlocking directly - no animation!
                    mBackdrop.setVisibility(View.GONE);
+1 −0
Original line number Diff line number Diff line
@@ -247,6 +247,7 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
            }
        }
        mOccluded = occluded;
        mPhoneStatusBar.updateMediaMetaData(false, false);
        mStatusBarWindowManager.setKeyguardOccluded(occluded);
        reset();
    }
+0 −1
Original line number Diff line number Diff line
@@ -5145,7 +5145,6 @@ public class PhoneWindowManager implements WindowManagerPolicy {
            mKeyguardOccluded = false;
            mKeyguardDelegate.setOccluded(false);
            mStatusBar.getAttrs().privateFlags |= PRIVATE_FLAG_KEYGUARD;
            mStatusBar.getAttrs().flags |= FLAG_SHOW_WALLPAPER;
            return true;
        } else if (!wasOccluded && isOccluded && showing) {
            mKeyguardOccluded = true;