Loading packages/Keyguard/src/com/android/keyguard/KeyguardHostView.java +32 −14 Original line number Diff line number Diff line Loading @@ -57,6 +57,7 @@ import android.view.WindowManager; import android.widget.RemoteViews.OnClickHandler; import java.io.File; import java.lang.ref.WeakReference; import java.util.List; public class KeyguardHostView extends KeyguardViewBase { Loading Loading @@ -124,6 +125,8 @@ public class KeyguardHostView extends KeyguardViewBase { private final Rect mInsets = new Rect(); private MyOnClickHandler mOnClickHandler = new MyOnClickHandler(this); /*package*/ interface UserSwitcherCallback { void hideSecurityView(int duration); void showSecurityView(); Loading Loading @@ -812,13 +815,28 @@ public class KeyguardHostView extends KeyguardViewBase { } } private OnClickHandler mOnClickHandler = new OnClickHandler() { private static class MyOnClickHandler extends OnClickHandler { // weak reference to the hostView to avoid keeping a live reference // due to Binder GC linkages to AppWidgetHost. By the same token, // this click handler should not keep references to any large // objects. WeakReference<KeyguardHostView> mThis; MyOnClickHandler(KeyguardHostView hostView) { mThis = new WeakReference<KeyguardHostView>(hostView); } @Override public boolean onClickHandler(final View view, final android.app.PendingIntent pendingIntent, final Intent fillInIntent) { KeyguardHostView hostView = mThis.get(); if (hostView == null) { return false; } if (pendingIntent.isActivity()) { setOnDismissAction(new OnDismissAction() { hostView.setOnDismissAction(new OnDismissAction() { public boolean onDismiss() { try { // TODO: Unregister this handler if PendingIntent.FLAG_ONE_SHOT? Loading @@ -840,10 +858,10 @@ public class KeyguardHostView extends KeyguardViewBase { } }); if (mViewStateManager.isChallengeShowing()) { mViewStateManager.showBouncer(true); if (hostView.mViewStateManager.isChallengeShowing()) { hostView.mViewStateManager.showBouncer(true); } else { mCallback.dismiss(false); hostView.mCallback.dismiss(false); } return true; } else { Loading Loading
packages/Keyguard/src/com/android/keyguard/KeyguardHostView.java +32 −14 Original line number Diff line number Diff line Loading @@ -57,6 +57,7 @@ import android.view.WindowManager; import android.widget.RemoteViews.OnClickHandler; import java.io.File; import java.lang.ref.WeakReference; import java.util.List; public class KeyguardHostView extends KeyguardViewBase { Loading Loading @@ -124,6 +125,8 @@ public class KeyguardHostView extends KeyguardViewBase { private final Rect mInsets = new Rect(); private MyOnClickHandler mOnClickHandler = new MyOnClickHandler(this); /*package*/ interface UserSwitcherCallback { void hideSecurityView(int duration); void showSecurityView(); Loading Loading @@ -812,13 +815,28 @@ public class KeyguardHostView extends KeyguardViewBase { } } private OnClickHandler mOnClickHandler = new OnClickHandler() { private static class MyOnClickHandler extends OnClickHandler { // weak reference to the hostView to avoid keeping a live reference // due to Binder GC linkages to AppWidgetHost. By the same token, // this click handler should not keep references to any large // objects. WeakReference<KeyguardHostView> mThis; MyOnClickHandler(KeyguardHostView hostView) { mThis = new WeakReference<KeyguardHostView>(hostView); } @Override public boolean onClickHandler(final View view, final android.app.PendingIntent pendingIntent, final Intent fillInIntent) { KeyguardHostView hostView = mThis.get(); if (hostView == null) { return false; } if (pendingIntent.isActivity()) { setOnDismissAction(new OnDismissAction() { hostView.setOnDismissAction(new OnDismissAction() { public boolean onDismiss() { try { // TODO: Unregister this handler if PendingIntent.FLAG_ONE_SHOT? Loading @@ -840,10 +858,10 @@ public class KeyguardHostView extends KeyguardViewBase { } }); if (mViewStateManager.isChallengeShowing()) { mViewStateManager.showBouncer(true); if (hostView.mViewStateManager.isChallengeShowing()) { hostView.mViewStateManager.showBouncer(true); } else { mCallback.dismiss(false); hostView.mCallback.dismiss(false); } return true; } else { Loading