Merge "Migrate DEBUG_ANIM logcat message to ProtoLog." into tm-dev
This commit is contained in:
commit
f51bb0783b
@ -29,6 +29,8 @@ import static android.view.WindowManager.TRANSIT_OLD_WALLPAPER_INTRA_CLOSE;
|
||||
import static android.view.WindowManager.TRANSIT_OLD_WALLPAPER_INTRA_OPEN;
|
||||
import static android.view.WindowManager.TRANSIT_OPEN;
|
||||
|
||||
import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_ANIM;
|
||||
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.Nullable;
|
||||
import android.app.ActivityManager;
|
||||
@ -60,6 +62,7 @@ import android.view.animation.ScaleAnimation;
|
||||
import android.view.animation.TranslateAnimation;
|
||||
|
||||
import com.android.internal.R;
|
||||
import com.android.internal.protolog.common.ProtoLog;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -295,9 +298,9 @@ public class TransitionAnimation {
|
||||
@Nullable
|
||||
private AttributeCache.Entry getCachedAnimations(LayoutParams lp) {
|
||||
if (mDebug) {
|
||||
Slog.v(mTag, "Loading animations: layout params pkg="
|
||||
+ (lp != null ? lp.packageName : null)
|
||||
+ " resId=0x" + (lp != null ? Integer.toHexString(lp.windowAnimations) : null));
|
||||
ProtoLog.v(WM_DEBUG_ANIM, "Loading animations: layout params pkg=%s resId=0x%x",
|
||||
lp != null ? lp.packageName : null,
|
||||
lp != null ? lp.windowAnimations : 0);
|
||||
}
|
||||
if (lp != null && lp.windowAnimations != 0) {
|
||||
// If this is a system resource, don't try to load it from the
|
||||
@ -309,7 +312,7 @@ public class TransitionAnimation {
|
||||
packageName = DEFAULT_PACKAGE;
|
||||
}
|
||||
if (mDebug) {
|
||||
Slog.v(mTag, "Loading animations: picked package=" + packageName);
|
||||
ProtoLog.v(WM_DEBUG_ANIM, "Loading animations: picked package=%s", packageName);
|
||||
}
|
||||
return AttributeCache.instance().get(packageName, resId,
|
||||
com.android.internal.R.styleable.WindowAnimation);
|
||||
@ -320,16 +323,16 @@ public class TransitionAnimation {
|
||||
@Nullable
|
||||
private AttributeCache.Entry getCachedAnimations(String packageName, int resId) {
|
||||
if (mDebug) {
|
||||
Slog.v(mTag, "Loading animations: package="
|
||||
+ packageName + " resId=0x" + Integer.toHexString(resId));
|
||||
ProtoLog.v(WM_DEBUG_ANIM, "Loading animations: package=%s resId=0x%x",
|
||||
packageName, resId);
|
||||
}
|
||||
if (packageName != null) {
|
||||
if ((resId & 0xFF000000) == 0x01000000) {
|
||||
packageName = DEFAULT_PACKAGE;
|
||||
}
|
||||
if (mDebug) {
|
||||
Slog.v(mTag, "Loading animations: picked package="
|
||||
+ packageName);
|
||||
ProtoLog.v(WM_DEBUG_ANIM, "Loading animations: picked package=%s",
|
||||
packageName);
|
||||
}
|
||||
return AttributeCache.instance().get(packageName, resId,
|
||||
com.android.internal.R.styleable.WindowAnimation);
|
||||
|
@ -60,6 +60,7 @@ public enum ProtoLogGroup implements IProtoLogGroup {
|
||||
Consts.TAG_WM),
|
||||
WM_DEBUG_APP_TRANSITIONS(Consts.ENABLE_DEBUG, Consts.ENABLE_LOG_TO_PROTO_DEBUG, false,
|
||||
Consts.TAG_WM),
|
||||
WM_DEBUG_ANIM(Consts.ENABLE_DEBUG, Consts.ENABLE_LOG_TO_PROTO_DEBUG, false, Consts.TAG_WM),
|
||||
WM_DEBUG_APP_TRANSITIONS_ANIM(Consts.ENABLE_DEBUG, Consts.ENABLE_LOG_TO_PROTO_DEBUG, false,
|
||||
Consts.TAG_WM),
|
||||
WM_DEBUG_RECENTS_ANIMATIONS(Consts.ENABLE_DEBUG, Consts.ENABLE_LOG_TO_PROTO_DEBUG, false,
|
||||
|
@ -67,6 +67,12 @@
|
||||
"group": "WM_DEBUG_TASKS",
|
||||
"at": "com\/android\/server\/wm\/Task.java"
|
||||
},
|
||||
"-2052051397": {
|
||||
"message": "Clear animatingExit: reason=destroySurface win=%s",
|
||||
"level": "DEBUG",
|
||||
"group": "WM_DEBUG_ANIM",
|
||||
"at": "com\/android\/server\/wm\/WindowState.java"
|
||||
},
|
||||
"-2049725903": {
|
||||
"message": "Task back pressed on root taskId=%d",
|
||||
"level": "VERBOSE",
|
||||
@ -133,6 +139,12 @@
|
||||
"group": "WM_DEBUG_SYNC_ENGINE",
|
||||
"at": "com\/android\/server\/wm\/BLASTSyncEngine.java"
|
||||
},
|
||||
"-1969928125": {
|
||||
"message": "Animation start for %s, anim=%s",
|
||||
"level": "DEBUG",
|
||||
"group": "WM_DEBUG_ANIM",
|
||||
"at": "com\/android\/server\/wm\/SurfaceAnimator.java"
|
||||
},
|
||||
"-1963461591": {
|
||||
"message": "Removing %s from %s",
|
||||
"level": "VERBOSE",
|
||||
@ -169,6 +181,12 @@
|
||||
"group": "WM_DEBUG_STARTING_WINDOW",
|
||||
"at": "com\/android\/server\/wm\/ActivityRecord.java"
|
||||
},
|
||||
"-1933723759": {
|
||||
"message": "Clear animatingExit: reason=relayoutVisibleWindow win=%s",
|
||||
"level": "DEBUG",
|
||||
"group": "WM_DEBUG_ANIM",
|
||||
"at": "com\/android\/server\/wm\/WindowState.java"
|
||||
},
|
||||
"-1924376693": {
|
||||
"message": " Setting Ready-group to %b. group=%s from %s",
|
||||
"level": "VERBOSE",
|
||||
@ -631,6 +649,12 @@
|
||||
"group": "WM_DEBUG_ADD_REMOVE",
|
||||
"at": "com\/android\/server\/wm\/ActivityRecord.java"
|
||||
},
|
||||
"-1471518109": {
|
||||
"message": "Set animatingExit: reason=onAppVisibilityChanged win=%s",
|
||||
"level": "DEBUG",
|
||||
"group": "WM_DEBUG_ANIM",
|
||||
"at": "com\/android\/server\/wm\/WindowState.java"
|
||||
},
|
||||
"-1468740466": {
|
||||
"message": "Moving to PAUSED: %s (starting in paused state)",
|
||||
"level": "VERBOSE",
|
||||
@ -769,6 +793,12 @@
|
||||
"group": "WM_DEBUG_CONTENT_RECORDING",
|
||||
"at": "com\/android\/server\/wm\/ContentRecorder.java"
|
||||
},
|
||||
"-1318478129": {
|
||||
"message": "applyAnimation: win=%s anim=%d attr=0x%x a=%s transit=%d type=%d isEntrance=%b Callers %s",
|
||||
"level": "VERBOSE",
|
||||
"group": "WM_DEBUG_ANIM",
|
||||
"at": "com\/android\/server\/wm\/WindowStateAnimator.java"
|
||||
},
|
||||
"-1311436264": {
|
||||
"message": "Unregister task fragment organizer=%s uid=%d pid=%d",
|
||||
"level": "VERBOSE",
|
||||
@ -799,12 +829,24 @@
|
||||
"group": "WM_DEBUG_TASKS",
|
||||
"at": "com\/android\/server\/wm\/ActivityStarter.java"
|
||||
},
|
||||
"-1303628829": {
|
||||
"message": "**** STARTING EXIT",
|
||||
"level": "INFO",
|
||||
"group": "WM_DEBUG_ANIM",
|
||||
"at": "com\/android\/server\/wm\/DisplayPolicy.java"
|
||||
},
|
||||
"-1292329638": {
|
||||
"message": "Added starting %s: startingWindow=%s startingView=%s",
|
||||
"level": "VERBOSE",
|
||||
"group": "WM_DEBUG_STARTING_WINDOW",
|
||||
"at": "com\/android\/server\/wm\/ActivityRecord.java"
|
||||
},
|
||||
"-1288007399": {
|
||||
"message": "performShowLocked: mDrawState=HAS_DRAWN in %s",
|
||||
"level": "VERBOSE",
|
||||
"group": "WM_DEBUG_ANIM",
|
||||
"at": "com\/android\/server\/wm\/WindowState.java"
|
||||
},
|
||||
"-1270731689": {
|
||||
"message": "Attempted to set replacing window on app token with no content %s",
|
||||
"level": "WARN",
|
||||
@ -853,6 +895,12 @@
|
||||
"group": "WM_DEBUG_RECENTS_ANIMATIONS",
|
||||
"at": "com\/android\/server\/wm\/RecentsAnimationController.java"
|
||||
},
|
||||
"-1209252064": {
|
||||
"message": "Clear animatingExit: reason=clearAnimatingFlags win=%s",
|
||||
"level": "DEBUG",
|
||||
"group": "WM_DEBUG_ANIM",
|
||||
"at": "com\/android\/server\/wm\/WindowState.java"
|
||||
},
|
||||
"-1207757583": {
|
||||
"message": "startAnimation(): Notify animation start: %s",
|
||||
"level": "DEBUG",
|
||||
@ -1237,6 +1285,12 @@
|
||||
"group": "WM_DEBUG_CONFIGURATION",
|
||||
"at": "com\/android\/server\/wm\/ActivityRecord.java"
|
||||
},
|
||||
"-799003045": {
|
||||
"message": "Set animatingExit: reason=remove\/replaceWindow win=%s",
|
||||
"level": "VERBOSE",
|
||||
"group": "WM_DEBUG_ANIM",
|
||||
"at": "com\/android\/server\/wm\/WindowState.java"
|
||||
},
|
||||
"-784959154": {
|
||||
"message": "Attempted to add private presentation window to a non-private display. Aborting.",
|
||||
"level": "WARN",
|
||||
@ -1699,6 +1753,12 @@
|
||||
"group": "WM_DEBUG_WINDOW_TRANSITIONS",
|
||||
"at": "com\/android\/server\/wm\/Transition.java"
|
||||
},
|
||||
"-347866078": {
|
||||
"message": "Setting move animation on %s",
|
||||
"level": "VERBOSE",
|
||||
"group": "WM_DEBUG_ANIM",
|
||||
"at": "com\/android\/server\/wm\/WindowState.java"
|
||||
},
|
||||
"-344488673": {
|
||||
"message": "Finishing drawing window %s: mDrawState=%s",
|
||||
"level": "VERBOSE",
|
||||
@ -1723,6 +1783,12 @@
|
||||
"group": "WM_DEBUG_ADD_REMOVE",
|
||||
"at": "com\/android\/server\/wm\/WindowState.java"
|
||||
},
|
||||
"-319689203": {
|
||||
"message": "Reparenting to original parent: %s for %s",
|
||||
"level": "INFO",
|
||||
"group": "WM_DEBUG_ANIM",
|
||||
"at": "com\/android\/server\/wm\/SurfaceAnimator.java"
|
||||
},
|
||||
"-317761482": {
|
||||
"message": "Create sleep token: tag=%s, displayId=%d",
|
||||
"level": "DEBUG",
|
||||
@ -1831,6 +1897,18 @@
|
||||
"group": "WM_DEBUG_APP_TRANSITIONS",
|
||||
"at": "com\/android\/server\/wm\/WindowState.java"
|
||||
},
|
||||
"-208664771": {
|
||||
"message": "Reparenting to leash for %s",
|
||||
"level": "INFO",
|
||||
"group": "WM_DEBUG_ANIM",
|
||||
"at": "com\/android\/server\/wm\/SurfaceAnimator.java"
|
||||
},
|
||||
"-203358733": {
|
||||
"message": "commitFinishDrawingLocked: mDrawState=READY_TO_SHOW %s",
|
||||
"level": "INFO",
|
||||
"group": "WM_DEBUG_ANIM",
|
||||
"at": "com\/android\/server\/wm\/WindowStateAnimator.java"
|
||||
},
|
||||
"-198463978": {
|
||||
"message": "updateRotationUnchecked: alwaysSendConfiguration=%b forceRelayout=%b",
|
||||
"level": "VERBOSE",
|
||||
@ -1927,6 +2005,12 @@
|
||||
"group": "WM_DEBUG_RECENTS_ANIMATIONS",
|
||||
"at": "com\/android\/server\/wm\/RecentsAnimation.java"
|
||||
},
|
||||
"-91393839": {
|
||||
"message": "Set animatingExit: reason=remove\/applyAnimation win=%s",
|
||||
"level": "VERBOSE",
|
||||
"group": "WM_DEBUG_ANIM",
|
||||
"at": "com\/android\/server\/wm\/WindowState.java"
|
||||
},
|
||||
"-90559682": {
|
||||
"message": "Config is skipping already pausing %s",
|
||||
"level": "VERBOSE",
|
||||
@ -1993,6 +2077,12 @@
|
||||
"group": "WM_DEBUG_APP_TRANSITIONS_ANIM",
|
||||
"at": "com\/android\/server\/wm\/WindowContainer.java"
|
||||
},
|
||||
"-32102932": {
|
||||
"message": "Error sending initial configuration change to WindowContainer overlay",
|
||||
"level": "ERROR",
|
||||
"group": "WM_DEBUG_ANIM",
|
||||
"at": "com\/android\/server\/wm\/WindowContainer.java"
|
||||
},
|
||||
"-23020844": {
|
||||
"message": "Back: Reset surfaces",
|
||||
"level": "DEBUG",
|
||||
@ -2227,6 +2317,12 @@
|
||||
"group": "WM_DEBUG_RECENTS_ANIMATIONS",
|
||||
"at": "com\/android\/server\/wm\/Task.java"
|
||||
},
|
||||
"215077284": {
|
||||
"message": "Animation start delayed for %s",
|
||||
"level": "INFO",
|
||||
"group": "WM_DEBUG_ANIM",
|
||||
"at": "com\/android\/server\/wm\/SurfaceAnimator.java"
|
||||
},
|
||||
"221540118": {
|
||||
"message": "mUserActivityTimeout set to %d",
|
||||
"level": "DEBUG",
|
||||
@ -2317,6 +2413,12 @@
|
||||
"group": "WM_DEBUG_APP_TRANSITIONS_ANIM",
|
||||
"at": "com\/android\/server\/wm\/AppTransition.java"
|
||||
},
|
||||
"283489582": {
|
||||
"message": "Clear animatingExit: reason=exitAnimationDone win=%s",
|
||||
"level": "DEBUG",
|
||||
"group": "WM_DEBUG_ANIM",
|
||||
"at": "com\/android\/server\/wm\/WindowState.java"
|
||||
},
|
||||
"288485303": {
|
||||
"message": "Attempted to set remove mode to a display that does not exist: %d",
|
||||
"level": "WARN",
|
||||
@ -2389,6 +2491,12 @@
|
||||
"group": "WM_DEBUG_STATES",
|
||||
"at": "com\/android\/server\/wm\/TaskFragment.java"
|
||||
},
|
||||
"341360111": {
|
||||
"message": "selectAnimation in %s: transit=%d",
|
||||
"level": "INFO",
|
||||
"group": "WM_DEBUG_ANIM",
|
||||
"at": "com\/android\/server\/wm\/DisplayPolicy.java"
|
||||
},
|
||||
"342460966": {
|
||||
"message": "DRAG %s: pos=(%d,%d)",
|
||||
"level": "INFO",
|
||||
@ -2455,6 +2563,12 @@
|
||||
"group": "WM_DEBUG_STATES",
|
||||
"at": "com\/android\/server\/wm\/TaskFragment.java"
|
||||
},
|
||||
"385595355": {
|
||||
"message": "Starting animation on %s: type=%d, anim=%s",
|
||||
"level": "VERBOSE",
|
||||
"group": "WM_DEBUG_ANIM",
|
||||
"at": "com\/android\/server\/wm\/WindowContainer.java"
|
||||
},
|
||||
"397105698": {
|
||||
"message": "grantEmbeddedWindowFocus remove request for win=%s dropped since no candidate was found",
|
||||
"level": "VERBOSE",
|
||||
@ -2467,6 +2581,12 @@
|
||||
"group": "WM_DEBUG_STATES",
|
||||
"at": "com\/android\/server\/wm\/ActivityRecord.java"
|
||||
},
|
||||
"397862437": {
|
||||
"message": "Cancelling animation restarting=%b for %s",
|
||||
"level": "INFO",
|
||||
"group": "WM_DEBUG_ANIM",
|
||||
"at": "com\/android\/server\/wm\/SurfaceAnimator.java"
|
||||
},
|
||||
"399841913": {
|
||||
"message": "SURFACE RECOVER DESTROY: %s",
|
||||
"level": "INFO",
|
||||
@ -2833,6 +2953,12 @@
|
||||
"group": "WM_DEBUG_RECENTS_ANIMATIONS",
|
||||
"at": "com\/android\/server\/wm\/RecentsAnimation.java"
|
||||
},
|
||||
"769218938": {
|
||||
"message": "Loaded animation %s for %s, duration: %d, stack=%s",
|
||||
"level": "INFO",
|
||||
"group": "WM_DEBUG_ANIM",
|
||||
"at": "com\/android\/server\/wm\/WindowContainer.java"
|
||||
},
|
||||
"778774915": {
|
||||
"message": "Unable to record task since feature is disabled %d",
|
||||
"level": "VERBOSE",
|
||||
@ -2989,6 +3115,12 @@
|
||||
"group": "WM_DEBUG_REMOTE_ANIMATIONS",
|
||||
"at": "com\/android\/server\/wm\/RemoteAnimationController.java"
|
||||
},
|
||||
"975275467": {
|
||||
"message": "Set animatingExit: reason=remove\/isAnimating win=%s",
|
||||
"level": "VERBOSE",
|
||||
"group": "WM_DEBUG_ANIM",
|
||||
"at": "com\/android\/server\/wm\/WindowState.java"
|
||||
},
|
||||
"979347997": {
|
||||
"message": "Launch on display check: disallow activity embedding without permission.",
|
||||
"level": "DEBUG",
|
||||
@ -3157,6 +3289,12 @@
|
||||
"group": "WM_DEBUG_WINDOW_ORGANIZER",
|
||||
"at": "com\/android\/server\/wm\/DisplayAreaOrganizerController.java"
|
||||
},
|
||||
"1164325516": {
|
||||
"message": "onExitAnimationDone in %s: exiting=%b remove=%b selfAnimating=%b anim=%s",
|
||||
"level": "VERBOSE",
|
||||
"group": "WM_DEBUG_ANIM",
|
||||
"at": "com\/android\/server\/wm\/WindowState.java"
|
||||
},
|
||||
"1166381079": {
|
||||
"message": "Execute app transition: %s, displayId: %d Callers=%s",
|
||||
"level": "WARN",
|
||||
@ -3301,6 +3439,12 @@
|
||||
"group": "WM_DEBUG_WINDOW_TRANSITIONS",
|
||||
"at": "com\/android\/server\/wm\/TransitionController.java"
|
||||
},
|
||||
"1335791109": {
|
||||
"message": "createSurface %s: mDrawState=DRAW_PENDING",
|
||||
"level": "INFO",
|
||||
"group": "WM_DEBUG_ANIM",
|
||||
"at": "com\/android\/server\/wm\/WindowStateAnimator.java"
|
||||
},
|
||||
"1337596507": {
|
||||
"message": "Sending to proc %s new compat %s",
|
||||
"level": "VERBOSE",
|
||||
@ -3715,6 +3859,12 @@
|
||||
"group": "WM_DEBUG_APP_TRANSITIONS",
|
||||
"at": "com\/android\/server\/wm\/ActivityRecord.java"
|
||||
},
|
||||
"1810209625": {
|
||||
"message": "Animation done in %s: exiting=%b, reportedVisible=%b",
|
||||
"level": "VERBOSE",
|
||||
"group": "WM_DEBUG_ANIM",
|
||||
"at": "com\/android\/server\/wm\/WindowStateAnimator.java"
|
||||
},
|
||||
"1822314934": {
|
||||
"message": "Expected target rootTask=%s to restored behind rootTask=%s but it is behind rootTask=%s",
|
||||
"level": "WARN",
|
||||
@ -3793,6 +3943,12 @@
|
||||
"group": "WM_DEBUG_WINDOW_ORGANIZER",
|
||||
"at": "com\/android\/server\/wm\/DisplayAreaPolicyBuilder.java"
|
||||
},
|
||||
"1878927091": {
|
||||
"message": "prepareSurface: No changes in animation for %s",
|
||||
"level": "VERBOSE",
|
||||
"group": "WM_DEBUG_ANIM",
|
||||
"at": "com\/android\/server\/wm\/WindowStateAnimator.java"
|
||||
},
|
||||
"1891501279": {
|
||||
"message": "cancelAnimation(): reason=%s",
|
||||
"level": "DEBUG",
|
||||
@ -3895,6 +4051,12 @@
|
||||
"group": "WM_DEBUG_FOCUS_LIGHT",
|
||||
"at": "com\/android\/server\/wm\/InputMonitor.java"
|
||||
},
|
||||
"2010476671": {
|
||||
"message": "Animation done in %s: reportedVisible=%b okToDisplay=%b okToAnimate=%b startingDisplayed=%b",
|
||||
"level": "VERBOSE",
|
||||
"group": "WM_DEBUG_ANIM",
|
||||
"at": "com\/android\/server\/wm\/ActivityRecord.java"
|
||||
},
|
||||
"2018454757": {
|
||||
"message": "WS.removeImmediately: %s Already removed...",
|
||||
"level": "VERBOSE",
|
||||
@ -3907,6 +4069,12 @@
|
||||
"group": "WM_DEBUG_STARTING_WINDOW",
|
||||
"at": "com\/android\/server\/wm\/ActivityRecord.java"
|
||||
},
|
||||
"2019765997": {
|
||||
"message": "selectRotationAnimation topFullscreen=%s rotationAnimation=%d forceJumpcut=%b",
|
||||
"level": "INFO",
|
||||
"group": "WM_DEBUG_ANIM",
|
||||
"at": "com\/android\/server\/wm\/DisplayRotation.java"
|
||||
},
|
||||
"2022422429": {
|
||||
"message": "createAnimationAdapter(): container=%s",
|
||||
"level": "DEBUG",
|
||||
@ -3961,6 +4129,12 @@
|
||||
"group": "WM_DEBUG_WINDOW_INSETS",
|
||||
"at": "com\/android\/server\/wm\/InsetsSourceProvider.java"
|
||||
},
|
||||
"2075693141": {
|
||||
"message": "Set animatingExit: reason=startExitingAnimation\/%s win=%s",
|
||||
"level": "DEBUG",
|
||||
"group": "WM_DEBUG_ANIM",
|
||||
"at": "com\/android\/server\/wm\/WindowManagerService.java"
|
||||
},
|
||||
"2083556954": {
|
||||
"message": "Set mOrientationChanging of %s",
|
||||
"level": "VERBOSE",
|
||||
@ -4020,6 +4194,9 @@
|
||||
"WM_DEBUG_ADD_REMOVE": {
|
||||
"tag": "WindowManager"
|
||||
},
|
||||
"WM_DEBUG_ANIM": {
|
||||
"tag": "WindowManager"
|
||||
},
|
||||
"WM_DEBUG_APP_TRANSITIONS": {
|
||||
"tag": "WindowManager"
|
||||
},
|
||||
|
@ -116,6 +116,7 @@ import static android.view.WindowManager.TRANSIT_FLAG_OPEN_BEHIND;
|
||||
import static android.view.WindowManager.TRANSIT_OLD_UNSET;
|
||||
|
||||
import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_ADD_REMOVE;
|
||||
import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_ANIM;
|
||||
import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_APP_TRANSITIONS;
|
||||
import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_APP_TRANSITIONS_ANIM;
|
||||
import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_CONFIGURATION;
|
||||
@ -216,7 +217,6 @@ import static com.android.server.wm.WindowContainer.AnimationFlags.CHILDREN;
|
||||
import static com.android.server.wm.WindowContainer.AnimationFlags.PARENTS;
|
||||
import static com.android.server.wm.WindowContainer.AnimationFlags.TRANSITION;
|
||||
import static com.android.server.wm.WindowContainerChildProto.ACTIVITY;
|
||||
import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_ANIM;
|
||||
import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_CONFIGURATION;
|
||||
import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_LAYOUT_REPEATS;
|
||||
import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_STARTING_WINDOW_VERBOSE;
|
||||
@ -7237,11 +7237,9 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
|
||||
|
||||
getDisplayContent().computeImeTargetIfNeeded(this);
|
||||
|
||||
if (DEBUG_ANIM) Slog.v(TAG, "Animation done in " + this
|
||||
+ ": reportedVisible=" + reportedVisible
|
||||
+ " okToDisplay=" + okToDisplay()
|
||||
+ " okToAnimate=" + okToAnimate()
|
||||
+ " startingDisplayed=" + startingDisplayed);
|
||||
ProtoLog.v(WM_DEBUG_ANIM, "Animation done in %s"
|
||||
+ ": reportedVisible=%b okToDisplay=%b okToAnimate=%b startingDisplayed=%b",
|
||||
this, reportedVisible, okToDisplay(), okToAnimate(), startingDisplayed);
|
||||
|
||||
// clean up thumbnail window
|
||||
if (mThumbnail != null) {
|
||||
|
@ -81,11 +81,11 @@ import static com.android.internal.R.styleable.WindowAnimation_wallpaperIntraOpe
|
||||
import static com.android.internal.R.styleable.WindowAnimation_wallpaperIntraOpenExitAnimation;
|
||||
import static com.android.internal.R.styleable.WindowAnimation_wallpaperOpenEnterAnimation;
|
||||
import static com.android.internal.R.styleable.WindowAnimation_wallpaperOpenExitAnimation;
|
||||
import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_ANIM;
|
||||
import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_APP_TRANSITIONS;
|
||||
import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_APP_TRANSITIONS_ANIM;
|
||||
import static com.android.server.wm.AppTransitionProto.APP_TRANSITION_STATE;
|
||||
import static com.android.server.wm.AppTransitionProto.LAST_USED_APP_TRANSITION;
|
||||
import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_ANIM;
|
||||
import static com.android.server.wm.WindowManagerDebugConfig.TAG_WITH_CLASS_NAME;
|
||||
import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM;
|
||||
import static com.android.server.wm.WindowManagerInternal.AppTransitionListener;
|
||||
@ -130,6 +130,7 @@ import android.view.animation.TranslateAnimation;
|
||||
|
||||
import com.android.internal.annotations.VisibleForTesting;
|
||||
import com.android.internal.policy.TransitionAnimation;
|
||||
import com.android.internal.protolog.ProtoLogImpl;
|
||||
import com.android.internal.protolog.common.ProtoLog;
|
||||
import com.android.internal.util.DumpUtils.Dump;
|
||||
import com.android.internal.util.function.pooled.PooledLambda;
|
||||
@ -237,7 +238,8 @@ public class AppTransition implements Dump {
|
||||
mService = service;
|
||||
mHandler = new Handler(service.mH.getLooper());
|
||||
mDisplayContent = displayContent;
|
||||
mTransitionAnimation = new TransitionAnimation(context, DEBUG_ANIM, TAG);
|
||||
mTransitionAnimation = new TransitionAnimation(
|
||||
context, ProtoLogImpl.isEnabled(WM_DEBUG_ANIM), TAG);
|
||||
|
||||
mGridLayoutRecentsEnabled = SystemProperties.getBoolean("ro.recents.grid", false);
|
||||
|
||||
|
@ -75,6 +75,7 @@ import static android.view.WindowManagerPolicyConstants.NAV_BAR_LEFT;
|
||||
import static android.view.WindowManagerPolicyConstants.NAV_BAR_RIGHT;
|
||||
import static android.window.DisplayAreaOrganizer.FEATURE_UNDEFINED;
|
||||
|
||||
import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_ANIM;
|
||||
import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_SCREEN_ON;
|
||||
import static com.android.server.policy.PhoneWindowManager.TOAST_WINDOW_TIMEOUT;
|
||||
import static com.android.server.policy.WindowManagerPolicy.TRANSIT_ENTER;
|
||||
@ -83,7 +84,6 @@ import static com.android.server.policy.WindowManagerPolicy.TRANSIT_HIDE;
|
||||
import static com.android.server.policy.WindowManagerPolicy.TRANSIT_PREVIEW_DONE;
|
||||
import static com.android.server.policy.WindowManagerPolicy.TRANSIT_SHOW;
|
||||
import static com.android.server.policy.WindowManagerPolicy.WindowManagerFuncs.LID_ABSENT;
|
||||
import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_ANIM;
|
||||
import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_LAYOUT;
|
||||
import static com.android.server.wm.WindowManagerDebugConfig.TAG_WITH_CLASS_NAME;
|
||||
import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM;
|
||||
@ -1366,8 +1366,7 @@ public class DisplayPolicy {
|
||||
* @return Resource ID of the actual animation to use, or {@link #ANIMATION_NONE} for none.
|
||||
*/
|
||||
int selectAnimation(WindowState win, int transit) {
|
||||
if (DEBUG_ANIM) Slog.i(TAG, "selectAnimation in " + win
|
||||
+ ": transit=" + transit);
|
||||
ProtoLog.i(WM_DEBUG_ANIM, "selectAnimation in %s: transit=%d", win, transit);
|
||||
if (win == mStatusBar) {
|
||||
if (transit == TRANSIT_EXIT
|
||||
|| transit == TRANSIT_HIDE) {
|
||||
@ -1460,7 +1459,7 @@ public class DisplayPolicy {
|
||||
// with old content because home is easier to have different UI states.
|
||||
return ANIMATION_NONE;
|
||||
}
|
||||
if (DEBUG_ANIM) Slog.i(TAG, "**** STARTING EXIT");
|
||||
ProtoLog.i(WM_DEBUG_ANIM, "**** STARTING EXIT");
|
||||
return R.anim.app_starting_exit;
|
||||
}
|
||||
}
|
||||
|
@ -24,6 +24,7 @@ import static android.view.WindowManager.LayoutParams.ROTATION_ANIMATION_JUMPCUT
|
||||
import static android.view.WindowManager.LayoutParams.ROTATION_ANIMATION_ROTATE;
|
||||
import static android.view.WindowManager.LayoutParams.ROTATION_ANIMATION_SEAMLESS;
|
||||
|
||||
import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_ANIM;
|
||||
import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_ORIENTATION;
|
||||
import static com.android.server.policy.WindowManagerPolicy.WindowManagerFuncs.LID_OPEN;
|
||||
import static com.android.server.wm.DisplayRotationProto.FIXED_TO_USER_ROTATION_MODE;
|
||||
@ -32,7 +33,6 @@ import static com.android.server.wm.DisplayRotationProto.IS_FIXED_TO_USER_ROTATI
|
||||
import static com.android.server.wm.DisplayRotationProto.LAST_ORIENTATION;
|
||||
import static com.android.server.wm.DisplayRotationProto.ROTATION;
|
||||
import static com.android.server.wm.DisplayRotationProto.USER_ROTATION;
|
||||
import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_ANIM;
|
||||
import static com.android.server.wm.WindowManagerDebugConfig.TAG_WITH_CLASS_NAME;
|
||||
import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM;
|
||||
import static com.android.server.wm.WindowManagerService.WINDOWS_FREEZING_SCREENS_ACTIVE;
|
||||
@ -747,10 +747,11 @@ public class DisplayRotation {
|
||||
final boolean forceJumpcut = !mDisplayPolicy.isScreenOnFully()
|
||||
|| !mService.mPolicy.okToAnimate(false /* ignoreScreenOn */);
|
||||
final WindowState topFullscreen = mDisplayPolicy.getTopFullscreenOpaqueWindow();
|
||||
if (DEBUG_ANIM) Slog.i(TAG, "selectRotationAnimation topFullscreen="
|
||||
+ topFullscreen + " rotationAnimation="
|
||||
+ (topFullscreen == null ? 0 : topFullscreen.getAttrs().rotationAnimation)
|
||||
+ " forceJumpcut=" + forceJumpcut);
|
||||
ProtoLog.i(WM_DEBUG_ANIM, "selectRotationAnimation topFullscreen=%s"
|
||||
+ " rotationAnimation=%d forceJumpcut=%b",
|
||||
topFullscreen,
|
||||
topFullscreen == null ? 0 : topFullscreen.getAttrs().rotationAnimation,
|
||||
forceJumpcut);
|
||||
if (forceJumpcut) {
|
||||
mTmpRotationAnim.mExit = R.anim.rotation_animation_jump_exit;
|
||||
mTmpRotationAnim.mEnter = R.anim.rotation_animation_enter;
|
||||
|
@ -110,7 +110,7 @@ class RemoteAnimationController implements DeathRecipient {
|
||||
ProtoLog.d(WM_DEBUG_REMOTE_ANIMATIONS,
|
||||
"goodToGo(): Animation canceled already");
|
||||
onAnimationFinished();
|
||||
invokeAnimationCancelled();
|
||||
invokeAnimationCancelled("already_cancelled");
|
||||
return;
|
||||
}
|
||||
|
||||
@ -129,7 +129,7 @@ class RemoteAnimationController implements DeathRecipient {
|
||||
"goodToGo(): No apps to animate, mPendingAnimations=%d",
|
||||
mPendingAnimations.size());
|
||||
onAnimationFinished();
|
||||
invokeAnimationCancelled();
|
||||
invokeAnimationCancelled("no_app_targets");
|
||||
return;
|
||||
}
|
||||
|
||||
@ -169,7 +169,7 @@ class RemoteAnimationController implements DeathRecipient {
|
||||
mCanceled = true;
|
||||
}
|
||||
onAnimationFinished();
|
||||
invokeAnimationCancelled();
|
||||
invokeAnimationCancelled(reason);
|
||||
}
|
||||
|
||||
private void writeStartDebugStatement() {
|
||||
@ -296,7 +296,8 @@ class RemoteAnimationController implements DeathRecipient {
|
||||
ProtoLog.i(WM_DEBUG_REMOTE_ANIMATIONS, "Finishing remote animation");
|
||||
}
|
||||
|
||||
private void invokeAnimationCancelled() {
|
||||
private void invokeAnimationCancelled(String reason) {
|
||||
ProtoLog.d(WM_DEBUG_REMOTE_ANIMATIONS, "cancelAnimation(): reason=%s", reason);
|
||||
try {
|
||||
mRemoteAnimationAdapter.getRunner().onAnimationCancelled();
|
||||
} catch (RemoteException e) {
|
||||
|
@ -16,10 +16,10 @@
|
||||
|
||||
package com.android.server.wm;
|
||||
|
||||
import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_ANIM;
|
||||
import static com.android.server.wm.SurfaceAnimatorProto.ANIMATION_ADAPTER;
|
||||
import static com.android.server.wm.SurfaceAnimatorProto.ANIMATION_START_DELAYED;
|
||||
import static com.android.server.wm.SurfaceAnimatorProto.LEASH;
|
||||
import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_ANIM;
|
||||
import static com.android.server.wm.WindowManagerDebugConfig.TAG_WITH_CLASS_NAME;
|
||||
import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM;
|
||||
|
||||
@ -32,8 +32,11 @@ import android.view.SurfaceControl;
|
||||
import android.view.SurfaceControl.Transaction;
|
||||
|
||||
import com.android.internal.annotations.VisibleForTesting;
|
||||
import com.android.internal.protolog.ProtoLogImpl;
|
||||
import com.android.internal.protolog.common.ProtoLog;
|
||||
|
||||
import java.io.PrintWriter;
|
||||
import java.io.StringWriter;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.util.function.Supplier;
|
||||
@ -185,10 +188,16 @@ class SurfaceAnimator {
|
||||
}
|
||||
mAnimatable.onLeashAnimationStarting(t, mLeash);
|
||||
if (mAnimationStartDelayed) {
|
||||
if (DEBUG_ANIM) Slog.i(TAG, "Animation start delayed");
|
||||
ProtoLog.i(WM_DEBUG_ANIM, "Animation start delayed for %s", mAnimatable);
|
||||
return;
|
||||
}
|
||||
mAnimation.startAnimation(mLeash, t, type, mInnerAnimationFinishedCallback);
|
||||
if (ProtoLogImpl.isEnabled(WM_DEBUG_ANIM)) {
|
||||
StringWriter sw = new StringWriter();
|
||||
PrintWriter pw = new PrintWriter(sw);
|
||||
mAnimation.dump(pw, "");
|
||||
ProtoLog.d(WM_DEBUG_ANIM, "Animation start for %s, anim=%s", mAnimatable, sw);
|
||||
}
|
||||
if (snapshotAnim != null) {
|
||||
mSnapshot = freezer.takeSnapshotForAnimation();
|
||||
if (mSnapshot == null) {
|
||||
@ -340,7 +349,8 @@ class SurfaceAnimator {
|
||||
* to another animator.
|
||||
*/
|
||||
private void cancelAnimation(Transaction t, boolean restarting, boolean forwardCancel) {
|
||||
if (DEBUG_ANIM) Slog.i(TAG, "Cancelling animation restarting=" + restarting);
|
||||
ProtoLog.i(WM_DEBUG_ANIM, "Cancelling animation restarting=%b for %s",
|
||||
restarting, mAnimatable);
|
||||
final SurfaceControl leash = mLeash;
|
||||
final AnimationAdapter animation = mAnimation;
|
||||
final @AnimationType int animationType = mAnimationType;
|
||||
@ -419,7 +429,8 @@ class SurfaceAnimator {
|
||||
final boolean reparent = surface != null && (curAnimationLeash == null
|
||||
|| curAnimationLeash.equals(leash));
|
||||
if (reparent) {
|
||||
if (DEBUG_ANIM) Slog.i(TAG, "Reparenting to original parent: " + parent);
|
||||
ProtoLog.i(WM_DEBUG_ANIM, "Reparenting to original parent: %s for %s",
|
||||
parent, animatable);
|
||||
// We shouldn't really need these isValid checks but we do
|
||||
// b/130364451
|
||||
if (surface.isValid() && parent != null && parent.isValid()) {
|
||||
@ -444,7 +455,7 @@ class SurfaceAnimator {
|
||||
static SurfaceControl createAnimationLeash(Animatable animatable, SurfaceControl surface,
|
||||
Transaction t, @AnimationType int type, int width, int height, int x, int y,
|
||||
boolean hidden, Supplier<Transaction> transactionFactory) {
|
||||
if (DEBUG_ANIM) Slog.i(TAG, "Reparenting to leash");
|
||||
ProtoLog.i(WM_DEBUG_ANIM, "Reparenting to leash for %s", animatable);
|
||||
final SurfaceControl.Builder builder = animatable.makeAnimationLeash()
|
||||
.setParent(animatable.getAnimationLeashParent())
|
||||
.setName(surface + " - animation-leash of " + animationTypeToString(type))
|
||||
|
@ -33,6 +33,7 @@ import static android.view.SurfaceControl.Transaction;
|
||||
import static android.view.WindowManager.LayoutParams.INVALID_WINDOW_TYPE;
|
||||
import static android.view.WindowManager.TRANSIT_CHANGE;
|
||||
|
||||
import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_ANIM;
|
||||
import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_APP_TRANSITIONS;
|
||||
import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_APP_TRANSITIONS_ANIM;
|
||||
import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_ORIENTATION;
|
||||
@ -58,10 +59,8 @@ import static com.android.server.wm.WindowContainerProto.SURFACE_ANIMATOR;
|
||||
import static com.android.server.wm.WindowContainerProto.SURFACE_CONTROL;
|
||||
import static com.android.server.wm.WindowContainerProto.VISIBLE;
|
||||
import static com.android.server.wm.WindowManagerDebugConfig.DEBUG;
|
||||
import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_ANIM;
|
||||
import static com.android.server.wm.WindowManagerDebugConfig.TAG_WITH_CLASS_NAME;
|
||||
import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM;
|
||||
import static com.android.server.wm.WindowManagerService.logWithStack;
|
||||
import static com.android.server.wm.WindowStateAnimator.ROOT_TASK_CLIP_AFTER_ANIM;
|
||||
|
||||
import android.annotation.CallSuper;
|
||||
@ -106,6 +105,7 @@ import android.window.WindowContainerToken;
|
||||
import com.android.internal.R;
|
||||
import com.android.internal.annotations.VisibleForTesting;
|
||||
import com.android.internal.graphics.ColorUtils;
|
||||
import com.android.internal.protolog.ProtoLogImpl;
|
||||
import com.android.internal.protolog.common.ProtoLog;
|
||||
import com.android.internal.util.ToBooleanFunction;
|
||||
import com.android.server.wm.SurfaceAnimator.Animatable;
|
||||
@ -2726,9 +2726,8 @@ class WindowContainer<E extends WindowContainer> extends ConfigurationContainer<
|
||||
@Nullable OnAnimationFinishedCallback animationFinishedCallback,
|
||||
@Nullable Runnable animationCancelledCallback,
|
||||
@Nullable AnimationAdapter snapshotAnim) {
|
||||
if (DEBUG_ANIM) {
|
||||
Slog.v(TAG, "Starting animation on " + this + ": type=" + type + ", anim=" + anim);
|
||||
}
|
||||
ProtoLog.v(WM_DEBUG_ANIM, "Starting animation on %s: type=%d, anim=%s",
|
||||
this, type, anim);
|
||||
|
||||
// TODO: This should use isVisible() but because isVisible has a really weird meaning at
|
||||
// the moment this doesn't work for all animatable window containers.
|
||||
@ -3097,9 +3096,9 @@ class WindowContainer<E extends WindowContainer> extends ConfigurationContainer<
|
||||
// ActivityOption#makeCustomAnimation or WindowManager#overridePendingTransition.
|
||||
a.restrictDuration(MAX_APP_TRANSITION_DURATION);
|
||||
}
|
||||
if (DEBUG_ANIM) {
|
||||
logWithStack(TAG, "Loaded animation " + a + " for " + this
|
||||
+ ", duration: " + ((a != null) ? a.getDuration() : 0));
|
||||
if (ProtoLogImpl.isEnabled(WM_DEBUG_ANIM)) {
|
||||
ProtoLog.i(WM_DEBUG_ANIM, "Loaded animation %s for %s, duration: %d, stack=%s",
|
||||
a, this, ((a != null) ? a.getDuration() : 0), Debug.getCallers(20));
|
||||
}
|
||||
final int containingWidth = frame.width();
|
||||
final int containingHeight = frame.height();
|
||||
@ -3871,7 +3870,8 @@ class WindowContainer<E extends WindowContainer> extends ConfigurationContainer<
|
||||
try {
|
||||
overlay.getRemoteInterface().onConfigurationChanged(getConfiguration());
|
||||
} catch (Exception e) {
|
||||
Slog.e(TAG, "Error sending initial configuration change to WindowContainer overlay");
|
||||
ProtoLog.e(WM_DEBUG_ANIM,
|
||||
"Error sending initial configuration change to WindowContainer overlay");
|
||||
removeTrustedOverlay(overlay);
|
||||
}
|
||||
}
|
||||
|
@ -34,7 +34,6 @@ public class WindowManagerDebugConfig {
|
||||
static final String TAG_WM = "WindowManager";
|
||||
|
||||
static final boolean DEBUG = false;
|
||||
static final boolean DEBUG_ANIM = false;
|
||||
static final boolean DEBUG_LAYOUT = false;
|
||||
static final boolean DEBUG_LAYERS = false;
|
||||
static final boolean DEBUG_INPUT = false;
|
||||
|
@ -97,6 +97,7 @@ import static android.view.displayhash.DisplayHashResultCallback.DISPLAY_HASH_ER
|
||||
import static android.window.WindowProviderService.isWindowProviderService;
|
||||
|
||||
import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_ADD_REMOVE;
|
||||
import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_ANIM;
|
||||
import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_BOOT;
|
||||
import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_FOCUS;
|
||||
import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_FOCUS_LIGHT;
|
||||
@ -2560,7 +2561,9 @@ public class WindowManagerService extends IWindowManager.Stub
|
||||
transit = WindowManagerPolicy.TRANSIT_PREVIEW_DONE;
|
||||
}
|
||||
|
||||
String reason = null;
|
||||
if (win.isWinVisibleLw() && winAnimator.applyAnimationLocked(transit, false)) {
|
||||
reason = "applyAnimation";
|
||||
focusMayChange = true;
|
||||
win.mAnimatingExit = true;
|
||||
} else if (win.mDisplayContent.okToAnimate() && win.isExitAnimationRunningSelfOrParent()) {
|
||||
@ -2570,6 +2573,7 @@ public class WindowManagerService extends IWindowManager.Stub
|
||||
} else if (win.mDisplayContent.okToAnimate()
|
||||
&& win.mDisplayContent.mWallpaperController.isWallpaperTarget(win)
|
||||
&& win.mAttrs.type != TYPE_NOTIFICATION_SHADE) {
|
||||
reason = "isWallpaperTarget";
|
||||
// If the wallpaper is currently behind this app window, we need to change both of them
|
||||
// inside of a transaction to avoid artifacts.
|
||||
// For NotificationShade, sysui is in charge of running window animation and it updates
|
||||
@ -2585,6 +2589,10 @@ public class WindowManagerService extends IWindowManager.Stub
|
||||
win.mDestroying = true;
|
||||
win.destroySurface(false, stopped);
|
||||
}
|
||||
if (reason != null) {
|
||||
ProtoLog.d(WM_DEBUG_ANIM, "Set animatingExit: reason=startExitingAnimation/%s win=%s",
|
||||
reason, win);
|
||||
}
|
||||
if (mAccessibilityController.hasCallbacks()) {
|
||||
mAccessibilityController.onWindowTransition(win, transit);
|
||||
}
|
||||
|
@ -106,6 +106,7 @@ import static android.view.WindowManagerPolicyConstants.TYPE_LAYER_MULTIPLIER;
|
||||
import static android.view.WindowManagerPolicyConstants.TYPE_LAYER_OFFSET;
|
||||
|
||||
import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_ADD_REMOVE;
|
||||
import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_ANIM;
|
||||
import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_APP_TRANSITIONS;
|
||||
import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_BACK_PREVIEW;
|
||||
import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_FOCUS;
|
||||
@ -140,7 +141,6 @@ import static com.android.server.wm.WindowContainer.AnimationFlags.PARENTS;
|
||||
import static com.android.server.wm.WindowContainer.AnimationFlags.TRANSITION;
|
||||
import static com.android.server.wm.WindowContainerChildProto.WINDOW;
|
||||
import static com.android.server.wm.WindowManagerDebugConfig.DEBUG;
|
||||
import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_ANIM;
|
||||
import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_CONFIGURATION;
|
||||
import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_INPUT_METHOD;
|
||||
import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_POWER;
|
||||
@ -252,6 +252,7 @@ import android.window.IOnBackInvokedCallback;
|
||||
|
||||
import com.android.internal.annotations.VisibleForTesting;
|
||||
import com.android.internal.policy.KeyInterceptionInfo;
|
||||
import com.android.internal.protolog.ProtoLogImpl;
|
||||
import com.android.internal.protolog.common.ProtoLog;
|
||||
import com.android.internal.util.FrameworkStatsLog;
|
||||
import com.android.internal.util.ToBooleanFunction;
|
||||
@ -262,6 +263,7 @@ import com.android.server.wm.SurfaceAnimator.AnimationType;
|
||||
import dalvik.annotation.optimization.NeverCompile;
|
||||
|
||||
import java.io.PrintWriter;
|
||||
import java.io.StringWriter;
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
@ -2241,6 +2243,8 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
|
||||
// Mark all relevant flags for that onExitAnimationDone will proceed all the way
|
||||
// to actually remove it.
|
||||
if (!visible && isVisibleNow && mActivityRecord.isAnimating(PARENTS | TRANSITION)) {
|
||||
ProtoLog.d(WM_DEBUG_ANIM,
|
||||
"Set animatingExit: reason=onAppVisibilityChanged win=%s", this);
|
||||
mAnimatingExit = true;
|
||||
mRemoveOnExit = true;
|
||||
mWindowRemovalAllowed = true;
|
||||
@ -2580,6 +2584,8 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
|
||||
// been removed. We probably need another flag to indicate that window removal
|
||||
// should be deffered vs. overloading the flag that says we are playing an exit
|
||||
// animation.
|
||||
ProtoLog.v(WM_DEBUG_ANIM,
|
||||
"Set animatingExit: reason=remove/replaceWindow win=%s", this);
|
||||
mAnimatingExit = true;
|
||||
mReplacingRemoveRequested = true;
|
||||
return;
|
||||
@ -2608,6 +2614,8 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
|
||||
|
||||
// Try starting an animation.
|
||||
if (mWinAnimator.applyAnimationLocked(transit, false)) {
|
||||
ProtoLog.v(WM_DEBUG_ANIM,
|
||||
"Set animatingExit: reason=remove/applyAnimation win=%s", this);
|
||||
mAnimatingExit = true;
|
||||
|
||||
// mAnimatingExit affects canAffectSystemUiFlags(). Run layout such that
|
||||
@ -2634,6 +2642,8 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
|
||||
// The exit animation is running or should run... wait for it!
|
||||
ProtoLog.v(WM_DEBUG_ADD_REMOVE,
|
||||
"Not removing %s due to exit animation", this);
|
||||
ProtoLog.v(WM_DEBUG_ANIM, "Set animatingExit: reason=remove/isAnimating win=%s",
|
||||
this);
|
||||
setupWindowForRemoveOnExit();
|
||||
if (mActivityRecord != null) {
|
||||
mActivityRecord.updateReportedVisibilityLocked();
|
||||
@ -3593,6 +3603,7 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
|
||||
// Clear animating flags now, since the surface is now gone. (Note this is true even
|
||||
// if the surface is saved, to outside world the surface is still NO_SURFACE.)
|
||||
mAnimatingExit = false;
|
||||
ProtoLog.d(WM_DEBUG_ANIM, "Clear animatingExit: reason=destroySurface win=%s", this);
|
||||
|
||||
if (useBLASTSync()) {
|
||||
immediatelyNotifyBlastSync();
|
||||
@ -4663,8 +4674,7 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
|
||||
|
||||
// Force the show in the next prepareSurfaceLocked() call.
|
||||
mWinAnimator.mLastAlpha = -1;
|
||||
if (DEBUG_ANIM) Slog.v(TAG,
|
||||
"performShowLocked: mDrawState=HAS_DRAWN in " + this);
|
||||
ProtoLog.v(WM_DEBUG_ANIM, "performShowLocked: mDrawState=HAS_DRAWN in %s", this);
|
||||
mWinAnimator.mDrawState = HAS_DRAWN;
|
||||
mWmService.scheduleAnimationLocked();
|
||||
|
||||
@ -5047,9 +5057,17 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
|
||||
}
|
||||
|
||||
void onExitAnimationDone() {
|
||||
if (DEBUG_ANIM) Slog.v(TAG, "onExitAnimationDone in " + this
|
||||
+ ": exiting=" + mAnimatingExit + " remove=" + mRemoveOnExit
|
||||
+ " selfAnimating=" + isAnimating());
|
||||
if (ProtoLogImpl.isEnabled(WM_DEBUG_ANIM)) {
|
||||
final AnimationAdapter animationAdapter = mSurfaceAnimator.getAnimation();
|
||||
StringWriter sw = new StringWriter();
|
||||
if (animationAdapter != null) {
|
||||
PrintWriter pw = new PrintWriter(sw);
|
||||
animationAdapter.dump(pw, "");
|
||||
}
|
||||
ProtoLog.v(WM_DEBUG_ANIM, "onExitAnimationDone in %s"
|
||||
+ ": exiting=%b remove=%b selfAnimating=%b anim=%s",
|
||||
this, mAnimatingExit, mRemoveOnExit, isAnimating(), sw);
|
||||
}
|
||||
|
||||
if (!mChildren.isEmpty()) {
|
||||
// Copying to a different list as multiple children can be removed.
|
||||
@ -5103,6 +5121,7 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
|
||||
}
|
||||
}
|
||||
mAnimatingExit = false;
|
||||
ProtoLog.d(WM_DEBUG_ANIM, "Clear animatingExit: reason=exitAnimationDone win=%s", this);
|
||||
getDisplayContent().mWallpaperController.hideWallpapers(this);
|
||||
}
|
||||
|
||||
@ -5134,6 +5153,8 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
|
||||
// show up with wrong position or scale.
|
||||
if (mAnimatingExit) {
|
||||
mAnimatingExit = false;
|
||||
ProtoLog.d(WM_DEBUG_ANIM, "Clear animatingExit: reason=clearAnimatingFlags win=%s",
|
||||
this);
|
||||
didSomething = true;
|
||||
}
|
||||
if (mDestroying) {
|
||||
@ -5208,6 +5229,8 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
|
||||
cancelAnimation();
|
||||
}
|
||||
mAnimatingExit = false;
|
||||
ProtoLog.d(WM_DEBUG_ANIM, "Clear animatingExit: reason=relayoutVisibleWindow win=%s",
|
||||
this);
|
||||
}
|
||||
if (mDestroying) {
|
||||
mDestroying = false;
|
||||
@ -5292,7 +5315,7 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
|
||||
return;
|
||||
}
|
||||
|
||||
if (DEBUG_ANIM) Slog.v(TAG, "Setting move animation on " + this);
|
||||
ProtoLog.v(WM_DEBUG_ANIM, "Setting move animation on %s", this);
|
||||
final Point oldPosition = new Point();
|
||||
final Point newPosition = new Point();
|
||||
transformFrameToSurfacePosition(mWindowFrames.mLastFrame.left, mWindowFrames.mLastFrame.top,
|
||||
|
@ -23,6 +23,7 @@ import static android.view.WindowManager.LayoutParams.TYPE_BASE_APPLICATION;
|
||||
import static android.view.WindowManager.LayoutParams.TYPE_INPUT_METHOD;
|
||||
import static android.view.WindowManager.TRANSIT_OLD_NONE;
|
||||
|
||||
import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_ANIM;
|
||||
import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_DRAW;
|
||||
import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_ORIENTATION;
|
||||
import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_STARTING_WINDOW;
|
||||
@ -34,7 +35,6 @@ import static com.android.server.wm.SurfaceAnimator.ANIMATION_TYPE_WINDOW_ANIMAT
|
||||
import static com.android.server.wm.WindowContainer.AnimationFlags.PARENTS;
|
||||
import static com.android.server.wm.WindowContainer.AnimationFlags.TRANSITION;
|
||||
import static com.android.server.wm.WindowManagerDebugConfig.DEBUG;
|
||||
import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_ANIM;
|
||||
import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_LAYOUT_REPEATS;
|
||||
import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_STARTING_WINDOW_VERBOSE;
|
||||
import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_VISIBILITY;
|
||||
@ -60,6 +60,7 @@ import android.view.WindowManager.LayoutParams;
|
||||
import android.view.animation.Animation;
|
||||
import android.view.animation.AnimationUtils;
|
||||
|
||||
import com.android.internal.protolog.ProtoLogImpl;
|
||||
import com.android.internal.protolog.common.ProtoLog;
|
||||
import com.android.server.policy.WindowManagerPolicy;
|
||||
|
||||
@ -178,10 +179,9 @@ class WindowStateAnimator {
|
||||
|
||||
void onAnimationFinished() {
|
||||
// Done animating, clean up.
|
||||
if (DEBUG_ANIM) Slog.v(
|
||||
TAG, "Animation done in " + this + ": exiting=" + mWin.mAnimatingExit
|
||||
+ ", reportedVisible="
|
||||
+ (mWin.mActivityRecord != null && mWin.mActivityRecord.reportedVisible));
|
||||
ProtoLog.v(WM_DEBUG_ANIM, "Animation done in %s: exiting=%b, reportedVisible=%b",
|
||||
this, mWin.mAnimatingExit,
|
||||
(mWin.mActivityRecord != null && mWin.mActivityRecord.reportedVisible));
|
||||
|
||||
mWin.checkPolicyVisibilityChange();
|
||||
final DisplayContent displayContent = mWin.getDisplayContent();
|
||||
@ -264,9 +264,8 @@ class WindowStateAnimator {
|
||||
if (mDrawState != COMMIT_DRAW_PENDING && mDrawState != READY_TO_SHOW) {
|
||||
return false;
|
||||
}
|
||||
if (DEBUG_ANIM) {
|
||||
Slog.i(TAG, "commitFinishDrawingLocked: mDrawState=READY_TO_SHOW " + mSurfaceController);
|
||||
}
|
||||
ProtoLog.i(WM_DEBUG_ANIM, "commitFinishDrawingLocked: mDrawState=READY_TO_SHOW %s",
|
||||
mSurfaceController);
|
||||
mDrawState = READY_TO_SHOW;
|
||||
boolean result = false;
|
||||
final ActivityRecord activity = mWin.mActivityRecord;
|
||||
@ -298,9 +297,7 @@ class WindowStateAnimator {
|
||||
|
||||
w.setHasSurface(false);
|
||||
|
||||
if (DEBUG_ANIM) {
|
||||
Slog.i(TAG, "createSurface " + this + ": mDrawState=DRAW_PENDING");
|
||||
}
|
||||
ProtoLog.i(WM_DEBUG_ANIM, "createSurface %s: mDrawState=DRAW_PENDING", this);
|
||||
|
||||
resetDrawState();
|
||||
|
||||
@ -503,8 +500,8 @@ class WindowStateAnimator {
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (DEBUG_ANIM && mWin.isAnimating(TRANSITION | PARENTS)) {
|
||||
Slog.v(TAG, "prepareSurface: No changes in animation for " + this);
|
||||
if (mWin.isAnimating(TRANSITION | PARENTS)) {
|
||||
ProtoLog.v(WM_DEBUG_ANIM, "prepareSurface: No changes in animation for %s", this);
|
||||
}
|
||||
}
|
||||
|
||||
@ -646,15 +643,12 @@ class WindowStateAnimator {
|
||||
mWin.mAttrs, attr, TRANSIT_OLD_NONE);
|
||||
}
|
||||
}
|
||||
if (DEBUG_ANIM) Slog.v(TAG,
|
||||
"applyAnimation: win=" + this
|
||||
+ " anim=" + anim + " attr=0x" + Integer.toHexString(attr)
|
||||
+ " a=" + a
|
||||
+ " transit=" + transit
|
||||
+ " type=" + mAttrType
|
||||
+ " isEntrance=" + isEntrance + " Callers " + Debug.getCallers(3));
|
||||
if (ProtoLogImpl.isEnabled(WM_DEBUG_ANIM)) {
|
||||
ProtoLog.v(WM_DEBUG_ANIM, "applyAnimation: win=%s"
|
||||
+ " anim=%d attr=0x%x a=%s transit=%d type=%d isEntrance=%b Callers %s",
|
||||
this, anim, attr, a, transit, mAttrType, isEntrance, Debug.getCallers(20));
|
||||
}
|
||||
if (a != null) {
|
||||
if (DEBUG_ANIM) logWithStack(TAG, "Loaded animation " + a + " for " + this);
|
||||
Trace.traceBegin(Trace.TRACE_TAG_WINDOW_MANAGER, "WSA#startAnimation");
|
||||
mWin.startAnimation(a);
|
||||
Trace.traceEnd(Trace.TRACE_TAG_WINDOW_MANAGER);
|
||||
|
Loading…
x
Reference in New Issue
Block a user