Loading core/java/android/view/IWindowManager.aidl +1 −1 Original line number Diff line number Diff line Loading @@ -167,7 +167,7 @@ interface IWindowManager in CompatibilityInfo compatInfo, CharSequence nonLocalizedLabel, int labelRes, int icon, int logo, int windowFlags, IBinder transferFrom, boolean createIfNeeded); void setAppVisibility(IBinder token, boolean visible); void notifyAppStopped(IBinder token); void notifyAppStopped(IBinder token, boolean stopped); void startAppFreezingScreen(IBinder token, int configChanges); void stopAppFreezingScreen(IBinder token, boolean force); void removeAppToken(IBinder token); Loading services/core/java/com/android/server/am/ActivityStack.java +5 −1 Original line number Diff line number Diff line Loading @@ -1115,7 +1115,7 @@ final class ActivityStack { r.stopped = true; r.state = ActivityState.STOPPED; mWindowManager.notifyAppStopped(r.appToken); mWindowManager.notifyAppStopped(r.appToken, true); if (getVisibleBehindActivity() == r) { mStackSupervisor.requestVisibleBehindLocked(r, false); Loading Loading @@ -2247,6 +2247,10 @@ final class ActivityStack { next.app.thread.scheduleNewIntent(next.newIntents, next.appToken); } // Well the app will no longer be stopped. // Clear app token stopped state in window manager if needed. mWindowManager.notifyAppStopped(next.appToken, false); EventLog.writeEvent(EventLogTags.AM_RESUME_ACTIVITY, next.userId, System.identityHashCode(next), next.task.taskId, next.shortComponentName); Loading services/core/java/com/android/server/wm/AppWindowToken.java +17 −8 Original line number Diff line number Diff line Loading @@ -354,6 +354,11 @@ class AppWindowToken extends WindowToken { continue; } if (DEBUG_ADD_REMOVE) Slog.e(TAG_WM, "win=" + win + " destroySurfaces: mAppStopped=" + mAppStopped + " win.mWindowRemovalAllowed=" + win.mWindowRemovalAllowed + " win.mRemoveOnExit=" + win.mRemoveOnExit); win.destroyOrSaveSurface(); if (win.mRemoveOnExit) { win.mAnimatingExit = false; Loading @@ -372,16 +377,20 @@ class AppWindowToken extends WindowToken { } } // The application has stopped, so destroy any surfaces which were keeping alive // in case they were still being used. void notifyAppStopped() { if (DEBUG_ADD_REMOVE) Slog.v(TAG, "notifyAppStopped: " + this); mAppStopped = true; destroySurfaces(); /** * If the application has stopped it is okay to destroy any surfaces which were keeping alive * in case they were still being used. */ void notifyAppStopped(boolean stopped) { if (DEBUG_ADD_REMOVE) Slog.v(TAG, "notifyAppStopped: stopped=" + stopped + " " + this); mAppStopped = stopped; if (stopped) { destroySurfaces(); // Remove any starting window that was added for this app if they are still around. mTask.mService.scheduleRemoveStartingWindowLocked(this); } } /** * Checks whether we should save surfaces for this app. Loading services/core/java/com/android/server/wm/WindowManagerService.java +4 −2 Original line number Diff line number Diff line Loading @@ -4197,7 +4197,7 @@ public class WindowManagerService extends IWindowManager.Stub } @Override public void notifyAppStopped(IBinder token) { public void notifyAppStopped(IBinder token, boolean stopped) { if (!checkCallingPermission(android.Manifest.permission.MANAGE_APP_TOKENS, "notifyAppStopped()")) { throw new SecurityException("Requires MANAGE_APP_TOKENS permission"); Loading @@ -4210,7 +4210,7 @@ public class WindowManagerService extends IWindowManager.Stub Slog.w(TAG_WM, "Attempted to set visibility of non-existing app token: " + token); return; } wtoken.notifyAppStopped(); wtoken.notifyAppStopped(stopped); } } Loading Loading @@ -4247,6 +4247,8 @@ public class WindowManagerService extends IWindowManager.Stub wtoken.appDied = false; wtoken.removeAllWindows(); } else if (visible) { if (DEBUG_ADD_REMOVE) Slog.v( TAG_WM, "No longer Stopped: " + wtoken); wtoken.mAppStopped = false; wtoken.setWindowsExiting(false); } Loading tools/layoutlib/bridge/src/android/view/IWindowManagerImpl.java +1 −1 Original line number Diff line number Diff line Loading @@ -349,7 +349,7 @@ public class IWindowManagerImpl implements IWindowManager { } @Override public void notifyAppStopped(IBinder token) throws RemoteException { public void notifyAppStopped(IBinder token, boolean stopped) throws RemoteException { // TODO Auto-generated method stub } Loading Loading
core/java/android/view/IWindowManager.aidl +1 −1 Original line number Diff line number Diff line Loading @@ -167,7 +167,7 @@ interface IWindowManager in CompatibilityInfo compatInfo, CharSequence nonLocalizedLabel, int labelRes, int icon, int logo, int windowFlags, IBinder transferFrom, boolean createIfNeeded); void setAppVisibility(IBinder token, boolean visible); void notifyAppStopped(IBinder token); void notifyAppStopped(IBinder token, boolean stopped); void startAppFreezingScreen(IBinder token, int configChanges); void stopAppFreezingScreen(IBinder token, boolean force); void removeAppToken(IBinder token); Loading
services/core/java/com/android/server/am/ActivityStack.java +5 −1 Original line number Diff line number Diff line Loading @@ -1115,7 +1115,7 @@ final class ActivityStack { r.stopped = true; r.state = ActivityState.STOPPED; mWindowManager.notifyAppStopped(r.appToken); mWindowManager.notifyAppStopped(r.appToken, true); if (getVisibleBehindActivity() == r) { mStackSupervisor.requestVisibleBehindLocked(r, false); Loading Loading @@ -2247,6 +2247,10 @@ final class ActivityStack { next.app.thread.scheduleNewIntent(next.newIntents, next.appToken); } // Well the app will no longer be stopped. // Clear app token stopped state in window manager if needed. mWindowManager.notifyAppStopped(next.appToken, false); EventLog.writeEvent(EventLogTags.AM_RESUME_ACTIVITY, next.userId, System.identityHashCode(next), next.task.taskId, next.shortComponentName); Loading
services/core/java/com/android/server/wm/AppWindowToken.java +17 −8 Original line number Diff line number Diff line Loading @@ -354,6 +354,11 @@ class AppWindowToken extends WindowToken { continue; } if (DEBUG_ADD_REMOVE) Slog.e(TAG_WM, "win=" + win + " destroySurfaces: mAppStopped=" + mAppStopped + " win.mWindowRemovalAllowed=" + win.mWindowRemovalAllowed + " win.mRemoveOnExit=" + win.mRemoveOnExit); win.destroyOrSaveSurface(); if (win.mRemoveOnExit) { win.mAnimatingExit = false; Loading @@ -372,16 +377,20 @@ class AppWindowToken extends WindowToken { } } // The application has stopped, so destroy any surfaces which were keeping alive // in case they were still being used. void notifyAppStopped() { if (DEBUG_ADD_REMOVE) Slog.v(TAG, "notifyAppStopped: " + this); mAppStopped = true; destroySurfaces(); /** * If the application has stopped it is okay to destroy any surfaces which were keeping alive * in case they were still being used. */ void notifyAppStopped(boolean stopped) { if (DEBUG_ADD_REMOVE) Slog.v(TAG, "notifyAppStopped: stopped=" + stopped + " " + this); mAppStopped = stopped; if (stopped) { destroySurfaces(); // Remove any starting window that was added for this app if they are still around. mTask.mService.scheduleRemoveStartingWindowLocked(this); } } /** * Checks whether we should save surfaces for this app. Loading
services/core/java/com/android/server/wm/WindowManagerService.java +4 −2 Original line number Diff line number Diff line Loading @@ -4197,7 +4197,7 @@ public class WindowManagerService extends IWindowManager.Stub } @Override public void notifyAppStopped(IBinder token) { public void notifyAppStopped(IBinder token, boolean stopped) { if (!checkCallingPermission(android.Manifest.permission.MANAGE_APP_TOKENS, "notifyAppStopped()")) { throw new SecurityException("Requires MANAGE_APP_TOKENS permission"); Loading @@ -4210,7 +4210,7 @@ public class WindowManagerService extends IWindowManager.Stub Slog.w(TAG_WM, "Attempted to set visibility of non-existing app token: " + token); return; } wtoken.notifyAppStopped(); wtoken.notifyAppStopped(stopped); } } Loading Loading @@ -4247,6 +4247,8 @@ public class WindowManagerService extends IWindowManager.Stub wtoken.appDied = false; wtoken.removeAllWindows(); } else if (visible) { if (DEBUG_ADD_REMOVE) Slog.v( TAG_WM, "No longer Stopped: " + wtoken); wtoken.mAppStopped = false; wtoken.setWindowsExiting(false); } Loading
tools/layoutlib/bridge/src/android/view/IWindowManagerImpl.java +1 −1 Original line number Diff line number Diff line Loading @@ -349,7 +349,7 @@ public class IWindowManagerImpl implements IWindowManager { } @Override public void notifyAppStopped(IBinder token) throws RemoteException { public void notifyAppStopped(IBinder token, boolean stopped) throws RemoteException { // TODO Auto-generated method stub } Loading