Merge "Fix issues with docked stack not un-minimizing" into nyc-dev
This commit is contained in:
@@ -377,7 +377,7 @@ public class DockedStackDividerController implements DimLayerUser {
|
|||||||
|
|
||||||
// If the app that having visibility change is not the top visible one in the task,
|
// If the app that having visibility change is not the top visible one in the task,
|
||||||
// it does not affect whether the docked stack is minimized, ignore it.
|
// it does not affect whether the docked stack is minimized, ignore it.
|
||||||
if (task.getTopVisibleAppToken() == null || task.getTopVisibleAppToken() != wtoken) {
|
if (task.getTopAppToken() == null || task.getTopAppToken() != wtoken) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -598,7 +598,7 @@ public class DockedStackDividerController implements DimLayerUser {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private boolean animateForMinimizedDockedStack(long now) {
|
private boolean animateForMinimizedDockedStack(long now) {
|
||||||
final TaskStack stack = mDisplayContent.getDockedStackVisibleForUserLocked();
|
final TaskStack stack = mService.mStackIdToStack.get(DOCKED_STACK_ID);
|
||||||
if (!mAnimationStarted) {
|
if (!mAnimationStarted) {
|
||||||
mAnimationStarted = true;
|
mAnimationStarted = true;
|
||||||
mAnimationStartTime = now;
|
mAnimationStartTime = now;
|
||||||
|
|||||||
@@ -719,6 +719,10 @@ class Task implements DimLayer.DimLayerUser {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
AppWindowToken getTopAppToken() {
|
||||||
|
return mAppTokens.size() > 0 ? mAppTokens.get(mAppTokens.size() - 1) : null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isFullscreen() {
|
public boolean isFullscreen() {
|
||||||
if (useCurrentBounds()) {
|
if (useCurrentBounds()) {
|
||||||
|
|||||||
@@ -1098,6 +1098,14 @@ public class TaskStack implements DimLayer.DimLayerUser,
|
|||||||
pw.println(prefix + "mDeferDetach=" + mDeferDetach);
|
pw.println(prefix + "mDeferDetach=" + mDeferDetach);
|
||||||
pw.println(prefix + "mFullscreen=" + mFullscreen);
|
pw.println(prefix + "mFullscreen=" + mFullscreen);
|
||||||
pw.println(prefix + "mBounds=" + mBounds.toShortString());
|
pw.println(prefix + "mBounds=" + mBounds.toShortString());
|
||||||
|
if (mMinimizeAmount != 0f) {
|
||||||
|
pw.println(prefix + "mMinimizeAmout=" + mMinimizeAmount);
|
||||||
|
}
|
||||||
|
if (mAdjustedForIme) {
|
||||||
|
pw.println(prefix + "mAdjustedForIme=true");
|
||||||
|
pw.println(prefix + "mAdjustImeAmount=" + mAdjustImeAmount);
|
||||||
|
pw.println(prefix + "mAdjustDividerAmount=" + mAdjustDividerAmount);
|
||||||
|
}
|
||||||
if (!mAdjustedBounds.isEmpty()) {
|
if (!mAdjustedBounds.isEmpty()) {
|
||||||
pw.println(prefix + "mAdjustedBounds=" + mAdjustedBounds.toShortString());
|
pw.println(prefix + "mAdjustedBounds=" + mAdjustedBounds.toShortString());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4335,16 +4335,22 @@ public class WindowManagerService extends IWindowManager.Stub
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (visibilityChanged && !delayed) {
|
if (visibilityChanged) {
|
||||||
if (visible) {
|
if (visible && !delayed) {
|
||||||
// The token was made immediately visible, there will be no entrance animation.
|
// The token was made immediately visible, there will be no entrance animation.
|
||||||
// We need to inform the client the enter animation was finished.
|
// We need to inform the client the enter animation was finished.
|
||||||
wtoken.mEnteringAnimation = true;
|
wtoken.mEnteringAnimation = true;
|
||||||
mActivityManagerAppTransitionNotifier.onAppTransitionFinishedLocked(wtoken.token);
|
mActivityManagerAppTransitionNotifier.onAppTransitionFinishedLocked(wtoken.token);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!mClosingApps.contains(wtoken) && !mOpeningApps.contains(wtoken)) {
|
||||||
|
// The token is not closing nor opening, so even if there is an animation set, that
|
||||||
|
// doesn't mean that it goes through the normal app transition cycle so we have
|
||||||
|
// to inform the docked controller about visibility change.
|
||||||
getDefaultDisplayContentLocked().getDockedDividerController()
|
getDefaultDisplayContentLocked().getDockedDividerController()
|
||||||
.notifyAppVisibilityChanged(wtoken, visible);
|
.notifyAppVisibilityChanged(wtoken, visible);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return delayed;
|
return delayed;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user