diff options
| -rw-r--r-- | services/core/java/com/android/server/am/ActivityStackSupervisor.java | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/services/core/java/com/android/server/am/ActivityStackSupervisor.java b/services/core/java/com/android/server/am/ActivityStackSupervisor.java index 45479e3f118e..b8261a43f9a9 100644 --- a/services/core/java/com/android/server/am/ActivityStackSupervisor.java +++ b/services/core/java/com/android/server/am/ActivityStackSupervisor.java @@ -2783,9 +2783,8 @@ public final class ActivityStackSupervisor implements DisplayListener { } // A non-top activity is reporting a visibility change. - if ((visible && (top.fullscreen || top.state != ActivityState.RESUMED)) || - top.app == null || top.app.thread == null) { - // Can't carry out this request. + if (visible && top.fullscreen) { + // Let the caller know that it can't be seen. if (DEBUG_VISIBLE_BEHIND) Slog.d(TAG, "requestVisibleBehind: returning top.fullscreen=" + top.fullscreen + " top.state=" + top.state + " top.app=" + top.app + " top.app.thread=" + top.app.thread); @@ -2807,9 +2806,12 @@ public final class ActivityStackSupervisor implements DisplayListener { mService.convertFromTranslucent(next.appToken); } } - try { - top.app.thread.scheduleBackgroundVisibleBehindChanged(top.appToken, visible); - } catch (RemoteException e) { + if (top.app != null && top.app.thread != null) { + // Notify the top app of the change. + try { + top.app.thread.scheduleBackgroundVisibleBehindChanged(top.appToken, visible); + } catch (RemoteException e) { + } } return true; } |