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

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

Don't show wallpaper when backdrop is visible

Hides the wallpaper when it's not needed and fixes
the unlock animation to not unnecessairly show the
wallpaper if neither the Keyguard nor the underlying
app need it.

Also fixes a bug where the enter animation had a background
set, which led to uglyness when no wallpaper is involved.

Bug: 27533740
Change-Id: I667c6f7ca6c0e1ff7e9f793c6ddc13f6da8387b1
parent 62006a72
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -2307,7 +2307,7 @@ public abstract class ActivityManagerNative extends Binder implements IActivityM

        case KEYGUARD_GOING_AWAY_TRANSACTION: {
            data.enforceInterface(IActivityManager.descriptor);
            keyguardGoingAway(data.readInt() != 0, data.readInt() != 0);
            keyguardGoingAway(data.readInt());
            reply.writeNoException();
            return true;
        }
@@ -5924,13 +5924,12 @@ class ActivityManagerProxy implements IActivityManager
        reply.recycle();
    }

    public void keyguardGoingAway(boolean disableWindowAnimations,
            boolean keyguardGoingToNotificationShade) throws RemoteException {
    public void keyguardGoingAway(int flags)
            throws RemoteException {
        Parcel data = Parcel.obtain();
        Parcel reply = Parcel.obtain();
        data.writeInterfaceToken(IActivityManager.descriptor);
        data.writeInt(disableWindowAnimations ? 1 : 0);
        data.writeInt(keyguardGoingToNotificationShade ? 1 : 0);
        data.writeInt(flags);
        mRemote.transact(KEYGUARD_GOING_AWAY_TRANSACTION, data, reply, 0);
        reply.readException();
        data.recycle();
+7 −2
Original line number Diff line number Diff line
@@ -475,8 +475,13 @@ public interface IActivityManager extends IInterface {

    public void keyguardWaitingForActivityDrawn() throws RemoteException;

    public void keyguardGoingAway(boolean disableWindowAnimations,
            boolean keyguardGoingToNotificationShade) throws RemoteException;
    /**
     * Notify the system that the keyguard is going away.
     *
     * @param flags See {@link android.view.WindowManagerPolicy#KEYGUARD_GOING_AWAY_FLAG_TO_SHADE}
     *              etc.
     */
    public void keyguardGoingAway(int flags) throws RemoteException;

    public boolean shouldUpRecreateTask(IBinder token, String destAffinity)
            throws RemoteException;
+1 −2
Original line number Diff line number Diff line
@@ -193,8 +193,7 @@ interface IWindowManager
    boolean isKeyguardSecure();
    boolean inKeyguardRestrictedInputMode();
    void dismissKeyguard();
    void keyguardGoingAway(boolean disableWindowAnimations,
            boolean keyguardGoingToNotificationShade);
    void keyguardGoingAway(int flags);

    void closeSystemDialogs(String reason);

+5 −0
Original line number Diff line number Diff line
@@ -91,6 +91,11 @@ public interface WindowManagerPolicy {
    public final static int FLAG_INTERACTIVE = 0x20000000;
    public final static int FLAG_PASS_TO_USER = 0x40000000;

    // Flags for IActivityManager.keyguardGoingAway()
    public final static int KEYGUARD_GOING_AWAY_FLAG_TO_SHADE = 1 << 0;
    public final static int KEYGUARD_GOING_AWAY_FLAG_NO_WINDOW_ANIMATIONS = 1 << 1;
    public final static int KEYGUARD_GOING_AWAY_FLAG_WITH_WALLPAPER = 1 << 2;

    // Flags used for indicating whether the internal and/or external input devices
    // of some type are available.
    public final static int PRESENCE_INTERNAL = 1 << 0;
+0 −1
Original line number Diff line number Diff line
@@ -16,7 +16,6 @@
  -->

<set xmlns:android="http://schemas.android.com/apk/res/android"
        android:background="#ff000000"
        android:detachWallpaper="true"
        android:shareInterpolator="false"
        android:startOffset="100">
Loading