Loading services/core/java/com/android/server/am/ActivityRecord.java +1 −1 Original line number Diff line number Diff line Loading @@ -2278,7 +2278,7 @@ final class ActivityRecord extends ConfigurationContainer implements AppWindowCo } /** Returns true if the configuration is compatible with this activity. */ private boolean isConfigurationCompatible(Configuration config) { boolean isConfigurationCompatible(Configuration config) { final int orientation = mWindowContainerController != null ? mWindowContainerController.getOrientation() : info.screenOrientation; if (isFixedOrientationPortrait(orientation) Loading services/core/java/com/android/server/am/ActivityStack.java +17 −3 Original line number Diff line number Diff line Loading @@ -655,11 +655,11 @@ class ActivityStack<T extends StackWindowController> extends ConfigurationContai } } final ActivityRecord topRunningActivityLocked() { ActivityRecord topRunningActivityLocked() { return topRunningActivityLocked(false /* focusableOnly */); } final ActivityRecord topRunningActivityLocked(boolean focusableOnly) { private ActivityRecord topRunningActivityLocked(boolean focusableOnly) { for (int taskNdx = mTaskHistory.size() - 1; taskNdx >= 0; --taskNdx) { ActivityRecord r = mTaskHistory.get(taskNdx).topRunningActivityLocked(); if (r != null && (!focusableOnly || r.isFocusable())) { Loading @@ -669,7 +669,21 @@ class ActivityStack<T extends StackWindowController> extends ConfigurationContai return null; } final ActivityRecord topRunningNonDelayedActivityLocked(ActivityRecord notTop) { ActivityRecord topRunningNonOverlayTaskActivity() { for (int taskNdx = mTaskHistory.size() - 1; taskNdx >= 0; --taskNdx) { final TaskRecord task = mTaskHistory.get(taskNdx); final ArrayList<ActivityRecord> activities = task.mActivities; for (int activityNdx = activities.size() - 1; activityNdx >= 0; --activityNdx) { final ActivityRecord r = activities.get(activityNdx); if (!r.finishing && !r.mTaskOverlay) { return r; } } } return null; } ActivityRecord topRunningNonDelayedActivityLocked(ActivityRecord notTop) { for (int taskNdx = mTaskHistory.size() - 1; taskNdx >= 0; --taskNdx) { final TaskRecord task = mTaskHistory.get(taskNdx); final ArrayList<ActivityRecord> activities = task.mActivities; Loading services/core/java/com/android/server/am/PinnedActivityStack.java +16 −2 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.server.am; import android.app.RemoteAction; import android.content.res.Configuration; import android.graphics.Rect; import com.android.server.am.ActivityStackSupervisor.ActivityContainer; Loading Loading @@ -50,9 +51,22 @@ class PinnedActivityStack extends ActivityStack<PinnedStackWindowController> void animateResizePinnedStack(Rect sourceHintBounds, Rect toBounds, int animationDuration, boolean schedulePipModeChangedOnAnimationEnd) { if (skipResizeAnimation(toBounds == null /* toFullscreen */)) { mService.moveTasksToFullscreenStack(mStackId, true /* onTop */); } else { getWindowContainerController().animateResizePinnedStack(toBounds, sourceHintBounds, animationDuration, schedulePipModeChangedOnAnimationEnd); } } private boolean skipResizeAnimation(boolean toFullscreen) { if (!toFullscreen) { return false; } final Configuration parentConfig = getParent().getConfiguration(); final ActivityRecord top = topRunningNonOverlayTaskActivity(); return top != null && !top.isConfigurationCompatible(parentConfig); } void setPictureInPictureAspectRatio(float aspectRatio) { getWindowContainerController().setPictureInPictureAspectRatio(aspectRatio); Loading Loading
services/core/java/com/android/server/am/ActivityRecord.java +1 −1 Original line number Diff line number Diff line Loading @@ -2278,7 +2278,7 @@ final class ActivityRecord extends ConfigurationContainer implements AppWindowCo } /** Returns true if the configuration is compatible with this activity. */ private boolean isConfigurationCompatible(Configuration config) { boolean isConfigurationCompatible(Configuration config) { final int orientation = mWindowContainerController != null ? mWindowContainerController.getOrientation() : info.screenOrientation; if (isFixedOrientationPortrait(orientation) Loading
services/core/java/com/android/server/am/ActivityStack.java +17 −3 Original line number Diff line number Diff line Loading @@ -655,11 +655,11 @@ class ActivityStack<T extends StackWindowController> extends ConfigurationContai } } final ActivityRecord topRunningActivityLocked() { ActivityRecord topRunningActivityLocked() { return topRunningActivityLocked(false /* focusableOnly */); } final ActivityRecord topRunningActivityLocked(boolean focusableOnly) { private ActivityRecord topRunningActivityLocked(boolean focusableOnly) { for (int taskNdx = mTaskHistory.size() - 1; taskNdx >= 0; --taskNdx) { ActivityRecord r = mTaskHistory.get(taskNdx).topRunningActivityLocked(); if (r != null && (!focusableOnly || r.isFocusable())) { Loading @@ -669,7 +669,21 @@ class ActivityStack<T extends StackWindowController> extends ConfigurationContai return null; } final ActivityRecord topRunningNonDelayedActivityLocked(ActivityRecord notTop) { ActivityRecord topRunningNonOverlayTaskActivity() { for (int taskNdx = mTaskHistory.size() - 1; taskNdx >= 0; --taskNdx) { final TaskRecord task = mTaskHistory.get(taskNdx); final ArrayList<ActivityRecord> activities = task.mActivities; for (int activityNdx = activities.size() - 1; activityNdx >= 0; --activityNdx) { final ActivityRecord r = activities.get(activityNdx); if (!r.finishing && !r.mTaskOverlay) { return r; } } } return null; } ActivityRecord topRunningNonDelayedActivityLocked(ActivityRecord notTop) { for (int taskNdx = mTaskHistory.size() - 1; taskNdx >= 0; --taskNdx) { final TaskRecord task = mTaskHistory.get(taskNdx); final ArrayList<ActivityRecord> activities = task.mActivities; Loading
services/core/java/com/android/server/am/PinnedActivityStack.java +16 −2 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.server.am; import android.app.RemoteAction; import android.content.res.Configuration; import android.graphics.Rect; import com.android.server.am.ActivityStackSupervisor.ActivityContainer; Loading Loading @@ -50,9 +51,22 @@ class PinnedActivityStack extends ActivityStack<PinnedStackWindowController> void animateResizePinnedStack(Rect sourceHintBounds, Rect toBounds, int animationDuration, boolean schedulePipModeChangedOnAnimationEnd) { if (skipResizeAnimation(toBounds == null /* toFullscreen */)) { mService.moveTasksToFullscreenStack(mStackId, true /* onTop */); } else { getWindowContainerController().animateResizePinnedStack(toBounds, sourceHintBounds, animationDuration, schedulePipModeChangedOnAnimationEnd); } } private boolean skipResizeAnimation(boolean toFullscreen) { if (!toFullscreen) { return false; } final Configuration parentConfig = getParent().getConfiguration(); final ActivityRecord top = topRunningNonOverlayTaskActivity(); return top != null && !top.isConfigurationCompatible(parentConfig); } void setPictureInPictureAspectRatio(float aspectRatio) { getWindowContainerController().setPictureInPictureAspectRatio(aspectRatio); Loading