Loading policy/src/com/android/internal/policy/impl/PhoneWindowManager.java +1 −1 Original line number Diff line number Diff line Loading @@ -3899,7 +3899,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { } public void dismissKeyguardLw() { if (!mKeyguardMediator.isSecure()) { if (mKeyguardMediator.isDismissable()) { if (mKeyguardMediator.isShowing()) { mHandler.post(new Runnable() { public void run() { Loading policy/src/com/android/internal/policy/impl/keyguard/CameraWidgetFrame.java +0 −10 Original line number Diff line number Diff line Loading @@ -188,16 +188,6 @@ public class CameraWidgetFrame extends KeyguardWidgetFrame implements View.OnCli return iv; } @Override public void setPivotX(float pivotX) { // don't pivot me } @Override public void setPivotY(float pivotY) { // don't pivot me } public void render() { final Throwable[] thrown = new Throwable[1]; final Bitmap[] offscreen = new Bitmap[1]; Loading policy/src/com/android/internal/policy/impl/keyguard/KeyguardActivityLauncher.java +15 −6 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ import android.provider.MediaStore; import android.util.Log; import android.view.WindowManager; import com.android.internal.policy.impl.keyguard.KeyguardSecurityCallback.OnDismissAction; import com.android.internal.widget.LockPatternUtils; import java.util.List; Loading Loading @@ -160,10 +161,8 @@ public abstract class KeyguardActivityLauncher { | Intent.FLAG_ACTIVITY_CLEAR_TOP); boolean isSecure = lockPatternUtils.isSecure(); if (!isSecure || showsWhileLocked) { if (!isSecure) try { ActivityManagerNative.getDefault().dismissKeyguardOnNextActivity(); } catch (RemoteException e) { Log.w(TAG, "can't dismiss keyguard on launch"); if (!isSecure) { dismissKeyguardOnNextActivity(); } try { if (DEBUG) Log.d(TAG, String.format("Starting activity for intent %s at %s", Loading @@ -176,16 +175,26 @@ public abstract class KeyguardActivityLauncher { // Create a runnable to start the activity and ask the user to enter their // credentials. KeyguardSecurityCallback callback = getCallback(); callback.setOnDismissRunnable(new Runnable() { callback.setOnDismissAction(new OnDismissAction() { @Override public void run() { public boolean onDismiss() { dismissKeyguardOnNextActivity(); startActivityForCurrentUser(intent, animation, worker, onStarted); return true; } }); callback.dismiss(false); } } private void dismissKeyguardOnNextActivity() { try { ActivityManagerNative.getDefault().dismissKeyguardOnNextActivity(); } catch (RemoteException e) { Log.w(TAG, "can't dismiss keyguard on launch"); } } private void startActivityForCurrentUser(final Intent intent, final Bundle options, Handler worker, final Runnable onStarted) { final UserHandle user = new UserHandle(UserHandle.USER_CURRENT); Loading policy/src/com/android/internal/policy/impl/keyguard/KeyguardHostView.java +28 −21 Original line number Diff line number Diff line Loading @@ -50,6 +50,7 @@ import android.view.animation.AnimationUtils; import android.widget.RemoteViews.OnClickHandler; import com.android.internal.R; import com.android.internal.policy.impl.keyguard.KeyguardSecurityCallback.OnDismissAction; import com.android.internal.policy.impl.keyguard.KeyguardSecurityModel.SecurityMode; import com.android.internal.widget.LockPatternUtils; Loading Loading @@ -79,7 +80,7 @@ public class KeyguardHostView extends KeyguardViewBase { private boolean mBootCompleted = false; private boolean mCheckAppWidgetConsistencyOnBootCompleted = false; protected Runnable mLaunchRunnable; protected OnDismissAction mDismissAction; protected int mFailedAttempts; private LockPatternUtils mLockPatternUtils; Loading Loading @@ -364,8 +365,8 @@ public class KeyguardHostView extends KeyguardViewBase { } @Override public void setOnDismissRunnable(Runnable runnable) { KeyguardHostView.this.setOnDismissRunnable(runnable); public void setOnDismissAction(OnDismissAction action) { KeyguardHostView.this.setOnDismissAction(action); } }; Loading Loading @@ -569,13 +570,18 @@ public class KeyguardHostView extends KeyguardViewBase { // If there's a pending runnable because the user interacted with a widget // and we're leaving keyguard, then run it. if (mLaunchRunnable != null) { mLaunchRunnable.run(); mLaunchRunnable = null; boolean deferKeyguardDone = false; if (mDismissAction != null) { deferKeyguardDone = mDismissAction.onDismiss(); mDismissAction = null; } if (mViewMediatorCallback != null) { if (deferKeyguardDone) { mViewMediatorCallback.keyguardDonePending(); } else { mViewMediatorCallback.keyguardDone(true); } } } else { mViewStateManager.showBouncer(true); } Loading @@ -587,8 +593,8 @@ public class KeyguardHostView extends KeyguardViewBase { final android.app.PendingIntent pendingIntent, final Intent fillInIntent) { if (pendingIntent.isActivity()) { setOnDismissRunnable(new Runnable() { public void run() { setOnDismissAction(new OnDismissAction() { public boolean onDismiss() { try { // TODO: Unregister this handler if PendingIntent.FLAG_ONE_SHOT? Context context = view.getContext(); Loading @@ -605,6 +611,7 @@ public class KeyguardHostView extends KeyguardViewBase { android.util.Log.e(TAG, "Cannot send pending intent due to " + "unknown exception: ", e); } return false; } }); Loading Loading @@ -633,7 +640,7 @@ public class KeyguardHostView extends KeyguardViewBase { } @Override public void setOnDismissRunnable(Runnable runnable) { public void setOnDismissAction(OnDismissAction action) { } @Override Loading Loading @@ -668,11 +675,11 @@ public class KeyguardHostView extends KeyguardViewBase { } /** * Sets a runnable to run when keyguard is dismissed * @param runnable * Sets an action to perform when keyguard is dismissed. * @param action */ protected void setOnDismissRunnable(Runnable runnable) { mLaunchRunnable = runnable; protected void setOnDismissAction(OnDismissAction action) { mDismissAction = action; } private KeyguardSecurityView getSecurityView(SecurityMode securityMode) { Loading Loading @@ -757,7 +764,7 @@ public class KeyguardHostView extends KeyguardViewBase { if (securityMode == SecurityMode.None) { // Discard current runnable if we're switching back to the selector view setOnDismissRunnable(null); setOnDismissAction(null); } mCurrentSecuritySelection = securityMode; } Loading policy/src/com/android/internal/policy/impl/keyguard/KeyguardSecurityCallback.java +9 −3 Original line number Diff line number Diff line Loading @@ -17,6 +17,12 @@ package com.android.internal.policy.impl.keyguard; public interface KeyguardSecurityCallback { /*package*/ interface OnDismissAction { /* returns true if the dismiss should be deferred */ boolean onDismiss(); } /** * Dismiss the given security screen. * @param securityVerified true if the user correctly entered credentials for the given screen. Loading Loading @@ -58,9 +64,9 @@ public interface KeyguardSecurityCallback { void showBackupSecurity(); /** * Sets a runnable to launch after the user successfully enters their credentials. * @param runnable * Sets an action to perform after the user successfully enters their credentials. * @param action */ void setOnDismissRunnable(Runnable runnable); void setOnDismissAction(OnDismissAction action); } Loading
policy/src/com/android/internal/policy/impl/PhoneWindowManager.java +1 −1 Original line number Diff line number Diff line Loading @@ -3899,7 +3899,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { } public void dismissKeyguardLw() { if (!mKeyguardMediator.isSecure()) { if (mKeyguardMediator.isDismissable()) { if (mKeyguardMediator.isShowing()) { mHandler.post(new Runnable() { public void run() { Loading
policy/src/com/android/internal/policy/impl/keyguard/CameraWidgetFrame.java +0 −10 Original line number Diff line number Diff line Loading @@ -188,16 +188,6 @@ public class CameraWidgetFrame extends KeyguardWidgetFrame implements View.OnCli return iv; } @Override public void setPivotX(float pivotX) { // don't pivot me } @Override public void setPivotY(float pivotY) { // don't pivot me } public void render() { final Throwable[] thrown = new Throwable[1]; final Bitmap[] offscreen = new Bitmap[1]; Loading
policy/src/com/android/internal/policy/impl/keyguard/KeyguardActivityLauncher.java +15 −6 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ import android.provider.MediaStore; import android.util.Log; import android.view.WindowManager; import com.android.internal.policy.impl.keyguard.KeyguardSecurityCallback.OnDismissAction; import com.android.internal.widget.LockPatternUtils; import java.util.List; Loading Loading @@ -160,10 +161,8 @@ public abstract class KeyguardActivityLauncher { | Intent.FLAG_ACTIVITY_CLEAR_TOP); boolean isSecure = lockPatternUtils.isSecure(); if (!isSecure || showsWhileLocked) { if (!isSecure) try { ActivityManagerNative.getDefault().dismissKeyguardOnNextActivity(); } catch (RemoteException e) { Log.w(TAG, "can't dismiss keyguard on launch"); if (!isSecure) { dismissKeyguardOnNextActivity(); } try { if (DEBUG) Log.d(TAG, String.format("Starting activity for intent %s at %s", Loading @@ -176,16 +175,26 @@ public abstract class KeyguardActivityLauncher { // Create a runnable to start the activity and ask the user to enter their // credentials. KeyguardSecurityCallback callback = getCallback(); callback.setOnDismissRunnable(new Runnable() { callback.setOnDismissAction(new OnDismissAction() { @Override public void run() { public boolean onDismiss() { dismissKeyguardOnNextActivity(); startActivityForCurrentUser(intent, animation, worker, onStarted); return true; } }); callback.dismiss(false); } } private void dismissKeyguardOnNextActivity() { try { ActivityManagerNative.getDefault().dismissKeyguardOnNextActivity(); } catch (RemoteException e) { Log.w(TAG, "can't dismiss keyguard on launch"); } } private void startActivityForCurrentUser(final Intent intent, final Bundle options, Handler worker, final Runnable onStarted) { final UserHandle user = new UserHandle(UserHandle.USER_CURRENT); Loading
policy/src/com/android/internal/policy/impl/keyguard/KeyguardHostView.java +28 −21 Original line number Diff line number Diff line Loading @@ -50,6 +50,7 @@ import android.view.animation.AnimationUtils; import android.widget.RemoteViews.OnClickHandler; import com.android.internal.R; import com.android.internal.policy.impl.keyguard.KeyguardSecurityCallback.OnDismissAction; import com.android.internal.policy.impl.keyguard.KeyguardSecurityModel.SecurityMode; import com.android.internal.widget.LockPatternUtils; Loading Loading @@ -79,7 +80,7 @@ public class KeyguardHostView extends KeyguardViewBase { private boolean mBootCompleted = false; private boolean mCheckAppWidgetConsistencyOnBootCompleted = false; protected Runnable mLaunchRunnable; protected OnDismissAction mDismissAction; protected int mFailedAttempts; private LockPatternUtils mLockPatternUtils; Loading Loading @@ -364,8 +365,8 @@ public class KeyguardHostView extends KeyguardViewBase { } @Override public void setOnDismissRunnable(Runnable runnable) { KeyguardHostView.this.setOnDismissRunnable(runnable); public void setOnDismissAction(OnDismissAction action) { KeyguardHostView.this.setOnDismissAction(action); } }; Loading Loading @@ -569,13 +570,18 @@ public class KeyguardHostView extends KeyguardViewBase { // If there's a pending runnable because the user interacted with a widget // and we're leaving keyguard, then run it. if (mLaunchRunnable != null) { mLaunchRunnable.run(); mLaunchRunnable = null; boolean deferKeyguardDone = false; if (mDismissAction != null) { deferKeyguardDone = mDismissAction.onDismiss(); mDismissAction = null; } if (mViewMediatorCallback != null) { if (deferKeyguardDone) { mViewMediatorCallback.keyguardDonePending(); } else { mViewMediatorCallback.keyguardDone(true); } } } else { mViewStateManager.showBouncer(true); } Loading @@ -587,8 +593,8 @@ public class KeyguardHostView extends KeyguardViewBase { final android.app.PendingIntent pendingIntent, final Intent fillInIntent) { if (pendingIntent.isActivity()) { setOnDismissRunnable(new Runnable() { public void run() { setOnDismissAction(new OnDismissAction() { public boolean onDismiss() { try { // TODO: Unregister this handler if PendingIntent.FLAG_ONE_SHOT? Context context = view.getContext(); Loading @@ -605,6 +611,7 @@ public class KeyguardHostView extends KeyguardViewBase { android.util.Log.e(TAG, "Cannot send pending intent due to " + "unknown exception: ", e); } return false; } }); Loading Loading @@ -633,7 +640,7 @@ public class KeyguardHostView extends KeyguardViewBase { } @Override public void setOnDismissRunnable(Runnable runnable) { public void setOnDismissAction(OnDismissAction action) { } @Override Loading Loading @@ -668,11 +675,11 @@ public class KeyguardHostView extends KeyguardViewBase { } /** * Sets a runnable to run when keyguard is dismissed * @param runnable * Sets an action to perform when keyguard is dismissed. * @param action */ protected void setOnDismissRunnable(Runnable runnable) { mLaunchRunnable = runnable; protected void setOnDismissAction(OnDismissAction action) { mDismissAction = action; } private KeyguardSecurityView getSecurityView(SecurityMode securityMode) { Loading Loading @@ -757,7 +764,7 @@ public class KeyguardHostView extends KeyguardViewBase { if (securityMode == SecurityMode.None) { // Discard current runnable if we're switching back to the selector view setOnDismissRunnable(null); setOnDismissAction(null); } mCurrentSecuritySelection = securityMode; } Loading
policy/src/com/android/internal/policy/impl/keyguard/KeyguardSecurityCallback.java +9 −3 Original line number Diff line number Diff line Loading @@ -17,6 +17,12 @@ package com.android.internal.policy.impl.keyguard; public interface KeyguardSecurityCallback { /*package*/ interface OnDismissAction { /* returns true if the dismiss should be deferred */ boolean onDismiss(); } /** * Dismiss the given security screen. * @param securityVerified true if the user correctly entered credentials for the given screen. Loading Loading @@ -58,9 +64,9 @@ public interface KeyguardSecurityCallback { void showBackupSecurity(); /** * Sets a runnable to launch after the user successfully enters their credentials. * @param runnable * Sets an action to perform after the user successfully enters their credentials. * @param action */ void setOnDismissRunnable(Runnable runnable); void setOnDismissAction(OnDismissAction action); }