Merge "Fix dodgy states of keyguard transport controls" into klp-dev
This commit is contained in:
@ -16,10 +16,6 @@
|
|||||||
|
|
||||||
package com.android.keyguard;
|
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.Activity;
|
||||||
import android.app.ActivityManager;
|
import android.app.ActivityManager;
|
||||||
import android.app.ActivityOptions;
|
import android.app.ActivityOptions;
|
||||||
@ -55,6 +51,9 @@ import android.view.MotionEvent;
|
|||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.WindowManager;
|
import android.view.WindowManager;
|
||||||
import android.widget.RemoteViews.OnClickHandler;
|
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.io.File;
|
||||||
import java.lang.ref.WeakReference;
|
import java.lang.ref.WeakReference;
|
||||||
@ -280,7 +279,7 @@ public class KeyguardHostView extends KeyguardViewBase {
|
|||||||
if (newState != mTransportState) {
|
if (newState != mTransportState) {
|
||||||
mTransportState = newState;
|
mTransportState = newState;
|
||||||
if (DEBUGXPORT) Log.v(TAG, "update widget: transport state changed");
|
if (DEBUGXPORT) Log.v(TAG, "update widget: transport state changed");
|
||||||
KeyguardHostView.this.post(mSwitchPageRunnable);
|
KeyguardHostView.this.postShowAppropriateWidgetPage();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
@ -292,7 +291,7 @@ public class KeyguardHostView extends KeyguardViewBase {
|
|||||||
if (newState != mTransportState) {
|
if (newState != mTransportState) {
|
||||||
mTransportState = newState;
|
mTransportState = newState;
|
||||||
if (DEBUGXPORT) Log.v(TAG, "update widget: play state changed");
|
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
|
@Override
|
||||||
protected void onDetachedFromWindow() {
|
protected void onDetachedFromWindow() {
|
||||||
super.onDetachedFromWindow();
|
super.onDetachedFromWindow();
|
||||||
|
removeCallbacks(mSwitchPageRunnable);
|
||||||
mAppWidgetHost.stopListening();
|
mAppWidgetHost.stopListening();
|
||||||
KeyguardUpdateMonitor.getInstance(mContext).removeCallback(mUpdateMonitorCallbacks);
|
KeyguardUpdateMonitor.getInstance(mContext).removeCallback(mUpdateMonitorCallbacks);
|
||||||
}
|
}
|
||||||
@ -1438,7 +1438,7 @@ public class KeyguardHostView extends KeyguardViewBase {
|
|||||||
mAppWidgetToShow = ss.appWidgetToShow;
|
mAppWidgetToShow = ss.appWidgetToShow;
|
||||||
setInsets(ss.insets);
|
setInsets(ss.insets);
|
||||||
if (DEBUG) Log.d(TAG, "onRestoreInstanceState, transport=" + mTransportState);
|
if (DEBUG) Log.d(TAG, "onRestoreInstanceState, transport=" + mTransportState);
|
||||||
post(mSwitchPageRunnable);
|
postShowAppropriateWidgetPage();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -1471,13 +1471,22 @@ public class KeyguardHostView extends KeyguardViewBase {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void showAppropriateWidgetPage() {
|
void showAppropriateWidgetPage() {
|
||||||
int state = mTransportState;
|
int state = mTransportState;
|
||||||
ensureTransportPresentOrRemoved(state);
|
ensureTransportPresentOrRemoved(state);
|
||||||
|
if (mAppWidgetContainer.isLayoutRequested()) {
|
||||||
|
postShowAppropriateWidgetPage();
|
||||||
|
return;
|
||||||
|
}
|
||||||
int pageToShow = getAppropriateWidgetPage(state);
|
int pageToShow = getAppropriateWidgetPage(state);
|
||||||
mAppWidgetContainer.setCurrentPage(pageToShow);
|
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.
|
* Examines the current state and adds the transport to the widget pager when the state changes.
|
||||||
*
|
*
|
||||||
|
@ -40,7 +40,6 @@ import android.view.accessibility.AccessibilityManager;
|
|||||||
import android.view.animation.DecelerateInterpolator;
|
import android.view.animation.DecelerateInterpolator;
|
||||||
import android.widget.FrameLayout;
|
import android.widget.FrameLayout;
|
||||||
import android.widget.TextClock;
|
import android.widget.TextClock;
|
||||||
|
|
||||||
import com.android.internal.widget.LockPatternUtils;
|
import com.android.internal.widget.LockPatternUtils;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
Reference in New Issue
Block a user