Loading services/core/java/com/android/server/wm/AppWindowToken.java +19 −7 Original line number Diff line number Diff line Loading @@ -53,7 +53,6 @@ import android.app.Activity; import android.content.res.Configuration; import android.graphics.Rect; import android.os.Binder; import android.os.Build; import android.os.Debug; import android.os.IBinder; import android.os.SystemClock; Loading Loading @@ -155,6 +154,9 @@ class AppWindowToken extends WindowToken implements WindowManagerService.AppFree StartingSurface startingSurface; boolean startingDisplayed; boolean startingMoved; // True if the hidden state of this token was forced to false due to a transferred starting // window. private boolean mHiddenSetFromTransferredStartingWindow; boolean firstWindowDrawn; private final WindowState.UpdateReportedVisibilityResults mReportedVisibilityResults = new WindowState.UpdateReportedVisibilityResults(); Loading Loading @@ -185,7 +187,7 @@ class AppWindowToken extends WindowToken implements WindowManagerService.AppFree ArrayDeque<Rect> mFrozenBounds = new ArrayDeque<>(); ArrayDeque<Configuration> mFrozenMergedConfig = new ArrayDeque<>(); private boolean mDisbalePreviewScreenshots; private boolean mDisablePreviewScreenshots; Task mLastParent; Loading Loading @@ -790,11 +792,17 @@ class AppWindowToken extends WindowToken implements WindowManagerService.AppFree if (getController() != null) { getController().removeStartingWindow(); } } else if (mChildren.size() == 0 && startingData != null) { } else if (mChildren.size() == 0) { // If this is the last window and we had requested a starting transition window, // well there is no point now. if (DEBUG_STARTING_WINDOW) Slog.v(TAG_WM, "Nulling last startingData"); startingData = null; if (mHiddenSetFromTransferredStartingWindow) { // We set the hidden state to false for the token from a transferred starting window. // We now reset it back to true since the starting window was the last window in the // token. hidden = true; } } else if (mChildren.size() == 1 && startingSurface != null && !isRelaunching()) { // If this is the last window except for a starting transition window, // we need to get rid of the starting transition. Loading Loading @@ -1171,6 +1179,7 @@ class AppWindowToken extends WindowToken implements WindowManagerService.AppFree "Removing starting " + tStartingWindow + " from " + fromToken); fromToken.removeChild(tStartingWindow); fromToken.postWindowRemoveStartingWindowCleanup(tStartingWindow); fromToken.mHiddenSetFromTransferredStartingWindow = false; addWindow(tStartingWindow); // Propagate other interesting state between the tokens. If the old token is displayed, Loading @@ -1186,6 +1195,7 @@ class AppWindowToken extends WindowToken implements WindowManagerService.AppFree if (!fromToken.hidden) { hidden = false; hiddenRequested = false; mHiddenSetFromTransferredStartingWindow = true; } setClientHidden(fromToken.mClientHidden); fromToken.mAppAnimator.transferCurrentAnimation( Loading Loading @@ -1544,7 +1554,7 @@ class AppWindowToken extends WindowToken implements WindowManagerService.AppFree * See {@link Activity#setDisablePreviewScreenshots}. */ void setDisablePreviewScreenshots(boolean disable) { mDisbalePreviewScreenshots = disable; mDisablePreviewScreenshots = disable; } /** Loading @@ -1556,7 +1566,7 @@ class AppWindowToken extends WindowToken implements WindowManagerService.AppFree * screenshot. */ boolean shouldUseAppThemeSnapshot() { return mDisbalePreviewScreenshots || forAllWindows(w -> (w.mAttrs.flags & FLAG_SECURE) != 0, return mDisablePreviewScreenshots || forAllWindows(w -> (w.mAttrs.flags & FLAG_SECURE) != 0, true /* topToBottom */); } Loading Loading @@ -1604,11 +1614,13 @@ class AppWindowToken extends WindowToken implements WindowManagerService.AppFree pw.print(" mIsExiting="); pw.println(mIsExiting); } if (startingWindow != null || startingSurface != null || startingDisplayed || startingMoved) { || startingDisplayed || startingMoved || mHiddenSetFromTransferredStartingWindow) { pw.print(prefix); pw.print("startingWindow="); pw.print(startingWindow); pw.print(" startingSurface="); pw.print(startingSurface); pw.print(" startingDisplayed="); pw.print(startingDisplayed); pw.print(" startingMoved="); pw.println(startingMoved); pw.print(" startingMoved="); pw.print(startingMoved); pw.println(" mHiddenSetFromTransferredStartingWindow=" + mHiddenSetFromTransferredStartingWindow); } if (!mFrozenBounds.isEmpty()) { pw.print(prefix); pw.print("mFrozenBounds="); pw.println(mFrozenBounds); Loading Loading
services/core/java/com/android/server/wm/AppWindowToken.java +19 −7 Original line number Diff line number Diff line Loading @@ -53,7 +53,6 @@ import android.app.Activity; import android.content.res.Configuration; import android.graphics.Rect; import android.os.Binder; import android.os.Build; import android.os.Debug; import android.os.IBinder; import android.os.SystemClock; Loading Loading @@ -155,6 +154,9 @@ class AppWindowToken extends WindowToken implements WindowManagerService.AppFree StartingSurface startingSurface; boolean startingDisplayed; boolean startingMoved; // True if the hidden state of this token was forced to false due to a transferred starting // window. private boolean mHiddenSetFromTransferredStartingWindow; boolean firstWindowDrawn; private final WindowState.UpdateReportedVisibilityResults mReportedVisibilityResults = new WindowState.UpdateReportedVisibilityResults(); Loading Loading @@ -185,7 +187,7 @@ class AppWindowToken extends WindowToken implements WindowManagerService.AppFree ArrayDeque<Rect> mFrozenBounds = new ArrayDeque<>(); ArrayDeque<Configuration> mFrozenMergedConfig = new ArrayDeque<>(); private boolean mDisbalePreviewScreenshots; private boolean mDisablePreviewScreenshots; Task mLastParent; Loading Loading @@ -790,11 +792,17 @@ class AppWindowToken extends WindowToken implements WindowManagerService.AppFree if (getController() != null) { getController().removeStartingWindow(); } } else if (mChildren.size() == 0 && startingData != null) { } else if (mChildren.size() == 0) { // If this is the last window and we had requested a starting transition window, // well there is no point now. if (DEBUG_STARTING_WINDOW) Slog.v(TAG_WM, "Nulling last startingData"); startingData = null; if (mHiddenSetFromTransferredStartingWindow) { // We set the hidden state to false for the token from a transferred starting window. // We now reset it back to true since the starting window was the last window in the // token. hidden = true; } } else if (mChildren.size() == 1 && startingSurface != null && !isRelaunching()) { // If this is the last window except for a starting transition window, // we need to get rid of the starting transition. Loading Loading @@ -1171,6 +1179,7 @@ class AppWindowToken extends WindowToken implements WindowManagerService.AppFree "Removing starting " + tStartingWindow + " from " + fromToken); fromToken.removeChild(tStartingWindow); fromToken.postWindowRemoveStartingWindowCleanup(tStartingWindow); fromToken.mHiddenSetFromTransferredStartingWindow = false; addWindow(tStartingWindow); // Propagate other interesting state between the tokens. If the old token is displayed, Loading @@ -1186,6 +1195,7 @@ class AppWindowToken extends WindowToken implements WindowManagerService.AppFree if (!fromToken.hidden) { hidden = false; hiddenRequested = false; mHiddenSetFromTransferredStartingWindow = true; } setClientHidden(fromToken.mClientHidden); fromToken.mAppAnimator.transferCurrentAnimation( Loading Loading @@ -1544,7 +1554,7 @@ class AppWindowToken extends WindowToken implements WindowManagerService.AppFree * See {@link Activity#setDisablePreviewScreenshots}. */ void setDisablePreviewScreenshots(boolean disable) { mDisbalePreviewScreenshots = disable; mDisablePreviewScreenshots = disable; } /** Loading @@ -1556,7 +1566,7 @@ class AppWindowToken extends WindowToken implements WindowManagerService.AppFree * screenshot. */ boolean shouldUseAppThemeSnapshot() { return mDisbalePreviewScreenshots || forAllWindows(w -> (w.mAttrs.flags & FLAG_SECURE) != 0, return mDisablePreviewScreenshots || forAllWindows(w -> (w.mAttrs.flags & FLAG_SECURE) != 0, true /* topToBottom */); } Loading Loading @@ -1604,11 +1614,13 @@ class AppWindowToken extends WindowToken implements WindowManagerService.AppFree pw.print(" mIsExiting="); pw.println(mIsExiting); } if (startingWindow != null || startingSurface != null || startingDisplayed || startingMoved) { || startingDisplayed || startingMoved || mHiddenSetFromTransferredStartingWindow) { pw.print(prefix); pw.print("startingWindow="); pw.print(startingWindow); pw.print(" startingSurface="); pw.print(startingSurface); pw.print(" startingDisplayed="); pw.print(startingDisplayed); pw.print(" startingMoved="); pw.println(startingMoved); pw.print(" startingMoved="); pw.print(startingMoved); pw.println(" mHiddenSetFromTransferredStartingWindow=" + mHiddenSetFromTransferredStartingWindow); } if (!mFrozenBounds.isEmpty()) { pw.print(prefix); pw.print("mFrozenBounds="); pw.println(mFrozenBounds); Loading