Merge "Fix issues with docked stack not un-minimizing" into nyc-dev
am: b72b265c85
* commit 'b72b265c85b2315c306de78d00365087c24375ce':
Fix issues with docked stack not un-minimizing
Change-Id: I086bcba89e42a8b85004ad177297c8b2f34d70b1
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,
|
||||
// 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;
|
||||
}
|
||||
|
||||
@@ -598,7 +598,7 @@ public class DockedStackDividerController implements DimLayerUser {
|
||||
}
|
||||
|
||||
private boolean animateForMinimizedDockedStack(long now) {
|
||||
final TaskStack stack = mDisplayContent.getDockedStackVisibleForUserLocked();
|
||||
final TaskStack stack = mService.mStackIdToStack.get(DOCKED_STACK_ID);
|
||||
if (!mAnimationStarted) {
|
||||
mAnimationStarted = true;
|
||||
mAnimationStartTime = now;
|
||||
|
||||
@@ -719,6 +719,10 @@ class Task implements DimLayer.DimLayerUser {
|
||||
return null;
|
||||
}
|
||||
|
||||
AppWindowToken getTopAppToken() {
|
||||
return mAppTokens.size() > 0 ? mAppTokens.get(mAppTokens.size() - 1) : null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFullscreen() {
|
||||
if (useCurrentBounds()) {
|
||||
|
||||
@@ -1098,6 +1098,14 @@ public class TaskStack implements DimLayer.DimLayerUser,
|
||||
pw.println(prefix + "mDeferDetach=" + mDeferDetach);
|
||||
pw.println(prefix + "mFullscreen=" + mFullscreen);
|
||||
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()) {
|
||||
pw.println(prefix + "mAdjustedBounds=" + mAdjustedBounds.toShortString());
|
||||
}
|
||||
|
||||
@@ -4335,15 +4335,21 @@ public class WindowManagerService extends IWindowManager.Stub
|
||||
}
|
||||
}
|
||||
|
||||
if (visibilityChanged && !delayed) {
|
||||
if (visible) {
|
||||
if (visibilityChanged) {
|
||||
if (visible && !delayed) {
|
||||
// The token was made immediately visible, there will be no entrance animation.
|
||||
// We need to inform the client the enter animation was finished.
|
||||
wtoken.mEnteringAnimation = true;
|
||||
mActivityManagerAppTransitionNotifier.onAppTransitionFinishedLocked(wtoken.token);
|
||||
}
|
||||
getDefaultDisplayContentLocked().getDockedDividerController()
|
||||
.notifyAppVisibilityChanged(wtoken, visible);
|
||||
|
||||
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()
|
||||
.notifyAppVisibilityChanged(wtoken, visible);
|
||||
}
|
||||
}
|
||||
|
||||
return delayed;
|
||||
|
||||
Reference in New Issue
Block a user