Merge "Overview - leave modal state on orientation changes." into sc-v2-dev

This commit is contained in:
TreeHugger Robot
2021-07-27 08:01:10 +00:00
committed by Android (Google) Code Review
3 changed files with 14 additions and 6 deletions
@@ -24,6 +24,7 @@ import android.animation.AnimatorSet;
import android.annotation.TargetApi; import android.annotation.TargetApi;
import android.app.ActivityManager.RunningTaskInfo; import android.app.ActivityManager.RunningTaskInfo;
import android.content.Context; import android.content.Context;
import android.content.res.Configuration;
import android.os.Build; import android.os.Build;
import android.util.AttributeSet; import android.util.AttributeSet;
import android.view.MotionEvent; import android.view.MotionEvent;
@@ -36,11 +37,10 @@ import com.android.launcher3.statemanager.StateManager.StateListener;
import com.android.quickstep.FallbackActivityInterface; import com.android.quickstep.FallbackActivityInterface;
import com.android.quickstep.GestureState; import com.android.quickstep.GestureState;
import com.android.quickstep.RecentsActivity; import com.android.quickstep.RecentsActivity;
import com.android.quickstep.util.TaskViewSimulator;
import com.android.quickstep.util.SplitSelectStateController; import com.android.quickstep.util.SplitSelectStateController;
import com.android.quickstep.util.TaskViewSimulator;
import com.android.quickstep.views.OverviewActionsView; import com.android.quickstep.views.OverviewActionsView;
import com.android.quickstep.views.RecentsView; import com.android.quickstep.views.RecentsView;
import com.android.quickstep.views.SplitPlaceholderView;
import com.android.quickstep.views.TaskView; import com.android.quickstep.views.TaskView;
import com.android.systemui.shared.recents.model.Task; import com.android.systemui.shared.recents.model.Task;
import com.android.systemui.shared.recents.model.Task.TaskKey; import com.android.systemui.shared.recents.model.Task.TaskKey;
@@ -184,6 +184,7 @@ public class FallbackRecentsView extends RecentsView<RecentsActivity, RecentsSta
} else { } else {
if (mActivity.isInState(RecentsState.MODAL_TASK)) { if (mActivity.isInState(RecentsState.MODAL_TASK)) {
mActivity.getStateManager().goToState(DEFAULT); mActivity.getStateManager().goToState(DEFAULT);
resetModalVisuals();
} }
} }
} }
@@ -221,4 +222,12 @@ public class FallbackRecentsView extends RecentsView<RecentsActivity, RecentsSta
// Do not let touch escape to siblings below this view. // Do not let touch escape to siblings below this view.
return result || mActivity.getStateManager().getState().overviewUi(); return result || mActivity.getStateManager().getState().overviewUi();
} }
@Override
protected void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// Reset modal state if full configuration changes
setModalStateEnabled(false);
}
} }
@@ -227,6 +227,7 @@ public class LauncherRecentsView extends RecentsView<BaseQuickstepLauncher, Laun
} else { } else {
if (mActivity.isInState(LauncherState.OVERVIEW_MODAL_TASK)) { if (mActivity.isInState(LauncherState.OVERVIEW_MODAL_TASK)) {
mActivity.getStateManager().goToState(LauncherState.OVERVIEW); mActivity.getStateManager().goToState(LauncherState.OVERVIEW);
resetModalVisuals();
} }
} }
} }
@@ -254,9 +255,6 @@ public class LauncherRecentsView extends RecentsView<BaseQuickstepLauncher, Laun
super.onConfigurationChanged(newConfig); super.onConfigurationChanged(newConfig);
// If overview is in modal state when rotate, reset it to overview state without running // If overview is in modal state when rotate, reset it to overview state without running
// animation. // animation.
if (mActivity.isInState(OVERVIEW_MODAL_TASK)) { setModalStateEnabled(false);
mActivity.getStateManager().goToState(LauncherState.OVERVIEW, false);
resetModalVisuals();
}
} }
} }
@@ -1383,6 +1383,7 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
|| !mOrientationHandler.equals(oldOrientationHandler)) { || !mOrientationHandler.equals(oldOrientationHandler)) {
// Changed orientations, update controllers so they intercept accordingly. // Changed orientations, update controllers so they intercept accordingly.
mActivity.getDragLayer().recreateControllers(); mActivity.getDragLayer().recreateControllers();
setModalStateEnabled(false);
} }
boolean isInLandscape = mOrientationState.getTouchRotation() != ROTATION_0 boolean isInLandscape = mOrientationState.getTouchRotation() != ROTATION_0