summaryrefslogtreecommitdiffstats
path: root/policy/src
diff options
context:
space:
mode:
authorJim Miller <jaggies@google.com>2014-12-11 23:41:03 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-12-11 23:41:03 +0000
commit0ca6b7f98085c079ccfb4b799fba5f570380a827 (patch)
treeed7f4d19feaa11d7691ee7a71d304eda789f8126 /policy/src
parentb21a7ad02e43900ea5480e796cb1518bd5829e3f (diff)
parent4841a787b3380ba045a465e347668729b19f3d79 (diff)
downloadframeworks_base-0ca6b7f98085c079ccfb4b799fba5f570380a827.zip
frameworks_base-0ca6b7f98085c079ccfb4b799fba5f570380a827.tar.gz
frameworks_base-0ca6b7f98085c079ccfb4b799fba5f570380a827.tar.bz2
am 4841a787: Merge "Attempt to fix keyguard missing bug" into lmp-mr1-dev
* commit '4841a787b3380ba045a465e347668729b19f3d79': Attempt to fix keyguard missing bug
Diffstat (limited to 'policy/src')
-rw-r--r--policy/src/com/android/internal/policy/impl/keyguard/KeyguardServiceDelegate.java17
1 files changed, 12 insertions, 5 deletions
diff --git a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardServiceDelegate.java b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardServiceDelegate.java
index 618ba1e..e499299 100644
--- a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardServiceDelegate.java
+++ b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardServiceDelegate.java
@@ -37,6 +37,7 @@ public class KeyguardServiceDelegate {
private final Context mContext;
private final View mScrim; // shown if keyguard crashes
private final KeyguardState mKeyguardState = new KeyguardState();
+ private ShowListener mShowListenerWhenConnect;
/* package */ static final class KeyguardState {
KeyguardState() {
@@ -130,7 +131,13 @@ public class KeyguardServiceDelegate {
// If the system is ready, it means keyguard crashed and restarted.
mKeyguardService.onSystemReady();
// This is used to hide the scrim once keyguard displays.
- mKeyguardService.onScreenTurnedOn(new KeyguardShowDelegate(null));
+ mKeyguardService.onScreenTurnedOn(new KeyguardShowDelegate(
+ mShowListenerWhenConnect));
+ if (mShowListenerWhenConnect != null) {
+ Log.v(TAG, "*** hiding scrim because keyguard wasn't ready");
+ mShowListenerWhenConnect = null;
+ hideScrim();
+ }
}
if (mKeyguardState.bootCompleted) {
mKeyguardService.onBootCompleted();
@@ -212,9 +219,10 @@ public class KeyguardServiceDelegate {
} else {
// try again when we establish a connection
Slog.w(TAG, "onScreenTurnedOn(): no keyguard service!");
- // This shouldn't happen, but if it does, invoke the listener immediately
- // to avoid a dark screen...
- showListener.onShown(null);
+ // This shouldn't happen, but if it does, show the scrim immediately and
+ // invoke the listener's callback after the service actually connects.
+ mShowListenerWhenConnect = showListener;
+ showScrim();
}
mKeyguardState.screenIsOn = true;
}
@@ -280,7 +288,6 @@ public class KeyguardServiceDelegate {
lp.setTitle("KeyguardScrim");
WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
wm.addView(view, lp);
- view.setVisibility(View.GONE);
// Disable pretty much everything in statusbar until keyguard comes back and we know
// the state of the world.
view.setSystemUiVisibility(View.STATUS_BAR_DISABLE_HOME