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

Commit 49b6d38f authored by Adam Powell's avatar Adam Powell Committed by Android (Google) Code Review
Browse files

Merge "Fix dodgy states of keyguard transport controls" into klp-dev

parents 905c50a2 bdb5ac7d
Loading
Loading
Loading
Loading
+17 −8
Original line number Diff line number Diff line
@@ -16,10 +16,6 @@

package com.android.keyguard;

import com.android.internal.widget.LockPatternUtils;
import com.android.keyguard.KeyguardSecurityModel.SecurityMode;
import com.android.keyguard.KeyguardUpdateMonitor.DisplayClientState;

import android.app.Activity;
import android.app.ActivityManager;
import android.app.ActivityOptions;
@@ -55,6 +51,9 @@ import android.view.MotionEvent;
import android.view.View;
import android.view.WindowManager;
import android.widget.RemoteViews.OnClickHandler;
import com.android.internal.widget.LockPatternUtils;
import com.android.keyguard.KeyguardSecurityModel.SecurityMode;
import com.android.keyguard.KeyguardUpdateMonitor.DisplayClientState;

import java.io.File;
import java.lang.ref.WeakReference;
@@ -280,7 +279,7 @@ public class KeyguardHostView extends KeyguardViewBase {
            if (newState != mTransportState) {
                mTransportState = newState;
                if (DEBUGXPORT) Log.v(TAG, "update widget: transport state changed");
                KeyguardHostView.this.post(mSwitchPageRunnable);
                KeyguardHostView.this.postShowAppropriateWidgetPage();
            }
        }
        @Override
@@ -292,7 +291,7 @@ public class KeyguardHostView extends KeyguardViewBase {
                if (newState != mTransportState) {
                    mTransportState = newState;
                    if (DEBUGXPORT) Log.v(TAG, "update widget: play state changed");
                    KeyguardHostView.this.post(mSwitchPageRunnable);
                    KeyguardHostView.this.postShowAppropriateWidgetPage();
                }
            }
        }
@@ -496,6 +495,7 @@ public class KeyguardHostView extends KeyguardViewBase {
    @Override
    protected void onDetachedFromWindow() {
        super.onDetachedFromWindow();
        removeCallbacks(mSwitchPageRunnable);
        mAppWidgetHost.stopListening();
        KeyguardUpdateMonitor.getInstance(mContext).removeCallback(mUpdateMonitorCallbacks);
    }
@@ -1438,7 +1438,7 @@ public class KeyguardHostView extends KeyguardViewBase {
        mAppWidgetToShow = ss.appWidgetToShow;
        setInsets(ss.insets);
        if (DEBUG) Log.d(TAG, "onRestoreInstanceState, transport=" + mTransportState);
        post(mSwitchPageRunnable);
        postShowAppropriateWidgetPage();
    }

    @Override
@@ -1471,13 +1471,22 @@ public class KeyguardHostView extends KeyguardViewBase {
        }
    }

    private void showAppropriateWidgetPage() {
    void showAppropriateWidgetPage() {
        int state = mTransportState;
        ensureTransportPresentOrRemoved(state);
        if (mAppWidgetContainer.isLayoutRequested()) {
            postShowAppropriateWidgetPage();
            return;
        }
        int pageToShow = getAppropriateWidgetPage(state);
        mAppWidgetContainer.setCurrentPage(pageToShow);
    }

    void postShowAppropriateWidgetPage() {
        removeCallbacks(mSwitchPageRunnable);
        post(mSwitchPageRunnable);
    }

    /**
     * Examines the current state and adds the transport to the widget pager when the state changes.
     *
+0 −1
Original line number Diff line number Diff line
@@ -40,7 +40,6 @@ import android.view.accessibility.AccessibilityManager;
import android.view.animation.DecelerateInterpolator;
import android.widget.FrameLayout;
import android.widget.TextClock;

import com.android.internal.widget.LockPatternUtils;

import java.util.ArrayList;