diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/WifiAccessPointController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/WifiAccessPointController.java index 09e74720a645d..b800fbfb804f4 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/WifiAccessPointController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/WifiAccessPointController.java @@ -134,6 +134,9 @@ public class WifiAccessPointController { final List aps = new ArrayList(scanResults.size()); final ArraySet ssids = new ArraySet(); for (ScanResult scanResult : scanResults) { + if (scanResult == null) { + continue; + } final String ssid = scanResult.SSID; if (TextUtils.isEmpty(ssid) || ssids.contains(ssid)) continue; if (!configured.containsKey(ssid)) continue; diff --git a/services/core/java/com/android/server/wm/WindowAnimator.java b/services/core/java/com/android/server/wm/WindowAnimator.java index 4edd5cfda29f1..81cd6020c6078 100644 --- a/services/core/java/com/android/server/wm/WindowAnimator.java +++ b/services/core/java/com/android/server/wm/WindowAnimator.java @@ -248,6 +248,10 @@ public class WindowAnimator { mForceHiding = KEYGUARD_NOT_SHOWN; + final WindowState imeTarget = mService.mInputMethodTarget; + final boolean showImeOverKeyguard = imeTarget != null && imeTarget.isVisibleNow() && + (imeTarget.getAttrs().flags & FLAG_SHOW_WHEN_LOCKED) != 0; + for (int i = windows.size() - 1; i >= 0; i--) { WindowState win = windows.get(i); WindowStateAnimator winAnimator = win.mWinAnimator; @@ -312,7 +316,8 @@ public class WindowAnimator { + " hidden=" + win.mRootToken.hidden + " anim=" + win.mWinAnimator.mAnimation); } else if (mPolicy.canBeForceHidden(win, win.mAttrs)) { - final boolean hideWhenLocked = (flags & FLAG_SHOW_WHEN_LOCKED) == 0; + final boolean hideWhenLocked = (flags & FLAG_SHOW_WHEN_LOCKED) == 0 && + !(win.mIsImWindow && showImeOverKeyguard); final boolean changed; if (((mForceHiding == KEYGUARD_ANIMATING_IN) && (!winAnimator.isAnimating() || hideWhenLocked))