Loading services/core/java/com/android/server/policy/PhoneWindowManager.java +5 −1 Original line number Diff line number Diff line Loading @@ -6397,6 +6397,9 @@ public class PhoneWindowManager implements WindowManagerPolicy { } mWindowManagerDrawComplete = true; if (mKeyguardDelegate != null) { mKeyguardDelegate.onDrawCompleteLw(); } } finishScreenTurningOn(); Loading Loading @@ -6866,7 +6869,8 @@ public class PhoneWindowManager implements WindowManagerPolicy { /** {@inheritDoc} */ @Override public void systemReady() { mKeyguardDelegate = new KeyguardServiceDelegate(mContext); mKeyguardDelegate = new KeyguardServiceDelegate(mContext, mWindowManagerFuncs.getWindowManagerLock()); mKeyguardDelegate.onSystemReady(); readCameraLensCoverState(); Loading services/core/java/com/android/server/policy/keyguard/KeyguardServiceDelegate.java +20 −2 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ import android.view.ViewGroup; import android.view.WindowManager; import android.view.WindowManagerPolicy.OnKeyguardExitResult; import com.android.internal.annotations.GuardedBy; import com.android.internal.policy.IKeyguardDrawnCallback; import com.android.internal.policy.IKeyguardExitCallback; import com.android.internal.policy.IKeyguardService; Loading @@ -43,6 +44,7 @@ public class KeyguardServiceDelegate { private static final int INTERACTIVE_STATE_AWAKE = 1; private static final int INTERACTIVE_STATE_GOING_TO_SLEEP = 2; private final Object mWindowManagerLock; protected KeyguardServiceWrapper mKeyguardService; private final Context mContext; private final View mScrim; // shown if keyguard crashes Loading @@ -50,6 +52,9 @@ public class KeyguardServiceDelegate { private final KeyguardState mKeyguardState = new KeyguardState(); private DrawnListener mDrawnListenerWhenConnect; @GuardedBy("mWindowManagerLock") private boolean mHideScrimPending; private static final class KeyguardState { KeyguardState() { // Assume keyguard is showing and secure until we know for sure. This is here in Loading Loading @@ -92,10 +97,12 @@ public class KeyguardServiceDelegate { @Override public void onDrawn() throws RemoteException { if (DEBUG) Log.v(TAG, "**** SHOWN CALLED ****"); synchronized (mWindowManagerLock) { mHideScrimPending = true; } if (mDrawnListener != null) { mDrawnListener.onDrawn(); } hideScrim(); } }; Loading @@ -116,7 +123,8 @@ public class KeyguardServiceDelegate { } }; public KeyguardServiceDelegate(Context context) { public KeyguardServiceDelegate(Context context, Object windowManagerLock) { mWindowManagerLock = windowManagerLock; mContext = context; mScrimHandler = UiThread.getHandler(); mScrim = createScrim(context, mScrimHandler); Loading Loading @@ -355,6 +363,16 @@ public class KeyguardServiceDelegate { } } /** * Called when all windows were fully drawn. */ public void onDrawCompleteLw() { if (mHideScrimPending) { hideScrim(); mHideScrimPending = false; } } private static View createScrim(Context context, Handler handler) { final View view = new View(context); Loading Loading
services/core/java/com/android/server/policy/PhoneWindowManager.java +5 −1 Original line number Diff line number Diff line Loading @@ -6397,6 +6397,9 @@ public class PhoneWindowManager implements WindowManagerPolicy { } mWindowManagerDrawComplete = true; if (mKeyguardDelegate != null) { mKeyguardDelegate.onDrawCompleteLw(); } } finishScreenTurningOn(); Loading Loading @@ -6866,7 +6869,8 @@ public class PhoneWindowManager implements WindowManagerPolicy { /** {@inheritDoc} */ @Override public void systemReady() { mKeyguardDelegate = new KeyguardServiceDelegate(mContext); mKeyguardDelegate = new KeyguardServiceDelegate(mContext, mWindowManagerFuncs.getWindowManagerLock()); mKeyguardDelegate.onSystemReady(); readCameraLensCoverState(); Loading
services/core/java/com/android/server/policy/keyguard/KeyguardServiceDelegate.java +20 −2 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ import android.view.ViewGroup; import android.view.WindowManager; import android.view.WindowManagerPolicy.OnKeyguardExitResult; import com.android.internal.annotations.GuardedBy; import com.android.internal.policy.IKeyguardDrawnCallback; import com.android.internal.policy.IKeyguardExitCallback; import com.android.internal.policy.IKeyguardService; Loading @@ -43,6 +44,7 @@ public class KeyguardServiceDelegate { private static final int INTERACTIVE_STATE_AWAKE = 1; private static final int INTERACTIVE_STATE_GOING_TO_SLEEP = 2; private final Object mWindowManagerLock; protected KeyguardServiceWrapper mKeyguardService; private final Context mContext; private final View mScrim; // shown if keyguard crashes Loading @@ -50,6 +52,9 @@ public class KeyguardServiceDelegate { private final KeyguardState mKeyguardState = new KeyguardState(); private DrawnListener mDrawnListenerWhenConnect; @GuardedBy("mWindowManagerLock") private boolean mHideScrimPending; private static final class KeyguardState { KeyguardState() { // Assume keyguard is showing and secure until we know for sure. This is here in Loading Loading @@ -92,10 +97,12 @@ public class KeyguardServiceDelegate { @Override public void onDrawn() throws RemoteException { if (DEBUG) Log.v(TAG, "**** SHOWN CALLED ****"); synchronized (mWindowManagerLock) { mHideScrimPending = true; } if (mDrawnListener != null) { mDrawnListener.onDrawn(); } hideScrim(); } }; Loading @@ -116,7 +123,8 @@ public class KeyguardServiceDelegate { } }; public KeyguardServiceDelegate(Context context) { public KeyguardServiceDelegate(Context context, Object windowManagerLock) { mWindowManagerLock = windowManagerLock; mContext = context; mScrimHandler = UiThread.getHandler(); mScrim = createScrim(context, mScrimHandler); Loading Loading @@ -355,6 +363,16 @@ public class KeyguardServiceDelegate { } } /** * Called when all windows were fully drawn. */ public void onDrawCompleteLw() { if (mHideScrimPending) { hideScrim(); mHideScrimPending = false; } } private static View createScrim(Context context, Handler handler) { final View view = new View(context); Loading