Loading policy/src/com/android/internal/policy/impl/PhoneWindowManager.java +0 −1 Original line number Diff line number Diff line Loading @@ -2165,7 +2165,6 @@ public class PhoneWindowManager implements WindowManagerPolicy { } mStatusBar = win; mStatusBarController.setWindow(win); mKeyguardDelegate.hideScrim(); break; case TYPE_NAVIGATION_BAR: mContext.enforceCallingOrSelfPermission( Loading policy/src/com/android/internal/policy/impl/keyguard/KeyguardServiceDelegate.java +14 −6 Original line number Diff line number Diff line Loading @@ -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() { Loading @@ -46,6 +47,7 @@ public class KeyguardServiceDelegate { showing = true; showingAndNotOccluded = true; secure = true; deviceHasKeyguard = true; } boolean showing; boolean showingAndNotOccluded; Loading @@ -54,6 +56,7 @@ public class KeyguardServiceDelegate { boolean secure; boolean dreaming; boolean systemIsReady; boolean deviceHasKeyguard; public boolean enabled; public boolean dismissable; public int offReason; Loading Loading @@ -111,10 +114,12 @@ public class KeyguardServiceDelegate { intent.setClassName(KEYGUARD_PACKAGE, KEYGUARD_CLASS); if (!context.bindServiceAsUser(intent, mKeyguardConnection, Context.BIND_AUTO_CREATE, UserHandle.OWNER)) { if (DEBUG) Log.v(TAG, "*** Keyguard: can't bind to " + KEYGUARD_CLASS); Log.v(TAG, "*** Keyguard: can't bind to " + KEYGUARD_CLASS); mKeyguardState.showing = false; mKeyguardState.showingAndNotOccluded = false; mKeyguardState.secure = false; mKeyguardState.deviceHasKeyguard = false; hideScrim(); } else { if (DEBUG) Log.v(TAG, "*** Keyguard started"); } Loading @@ -130,7 +135,9 @@ 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)); mShowListenerWhenConnect = null; } if (mKeyguardState.bootCompleted) { mKeyguardService.onBootCompleted(); Loading Loading @@ -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; } Loading Loading @@ -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 Loading @@ -292,6 +299,7 @@ public class KeyguardServiceDelegate { } public void showScrim() { if (!mKeyguardState.deviceHasKeyguard) return; mScrim.post(new Runnable() { @Override public void run() { Loading Loading
policy/src/com/android/internal/policy/impl/PhoneWindowManager.java +0 −1 Original line number Diff line number Diff line Loading @@ -2165,7 +2165,6 @@ public class PhoneWindowManager implements WindowManagerPolicy { } mStatusBar = win; mStatusBarController.setWindow(win); mKeyguardDelegate.hideScrim(); break; case TYPE_NAVIGATION_BAR: mContext.enforceCallingOrSelfPermission( Loading
policy/src/com/android/internal/policy/impl/keyguard/KeyguardServiceDelegate.java +14 −6 Original line number Diff line number Diff line Loading @@ -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() { Loading @@ -46,6 +47,7 @@ public class KeyguardServiceDelegate { showing = true; showingAndNotOccluded = true; secure = true; deviceHasKeyguard = true; } boolean showing; boolean showingAndNotOccluded; Loading @@ -54,6 +56,7 @@ public class KeyguardServiceDelegate { boolean secure; boolean dreaming; boolean systemIsReady; boolean deviceHasKeyguard; public boolean enabled; public boolean dismissable; public int offReason; Loading Loading @@ -111,10 +114,12 @@ public class KeyguardServiceDelegate { intent.setClassName(KEYGUARD_PACKAGE, KEYGUARD_CLASS); if (!context.bindServiceAsUser(intent, mKeyguardConnection, Context.BIND_AUTO_CREATE, UserHandle.OWNER)) { if (DEBUG) Log.v(TAG, "*** Keyguard: can't bind to " + KEYGUARD_CLASS); Log.v(TAG, "*** Keyguard: can't bind to " + KEYGUARD_CLASS); mKeyguardState.showing = false; mKeyguardState.showingAndNotOccluded = false; mKeyguardState.secure = false; mKeyguardState.deviceHasKeyguard = false; hideScrim(); } else { if (DEBUG) Log.v(TAG, "*** Keyguard started"); } Loading @@ -130,7 +135,9 @@ 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)); mShowListenerWhenConnect = null; } if (mKeyguardState.bootCompleted) { mKeyguardService.onBootCompleted(); Loading Loading @@ -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; } Loading Loading @@ -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 Loading @@ -292,6 +299,7 @@ public class KeyguardServiceDelegate { } public void showScrim() { if (!mKeyguardState.deviceHasKeyguard) return; mScrim.post(new Runnable() { @Override public void run() { Loading