mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-03-04 18:06:48 +00:00
Merge "Fix crash bug when splitting with animations disabled" into tm-dev am: 602b46c399
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/17807433 Change-Id: I18ac8925b7cf520d4d123c6648dc0e7cbaf2a862 Ignore-AOSP-First: this is an automerge Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -107,7 +107,6 @@ public final class RecentsViewStateController extends
|
||||
*/
|
||||
private void handleSplitSelectionState(@NonNull LauncherState toState,
|
||||
@Nullable PendingAnimation builder) {
|
||||
LauncherState currentState = mLauncher.getStateManager().getState();
|
||||
boolean animate = builder != null;
|
||||
PagedOrientationHandler orientationHandler =
|
||||
((RecentsView) mLauncher.getOverviewPanel()).getPagedOrientationHandler();
|
||||
@@ -116,7 +115,7 @@ public final class RecentsViewStateController extends
|
||||
TASK_PRIMARY_SPLIT_TRANSLATION, TASK_SECONDARY_SPLIT_TRANSLATION,
|
||||
mLauncher.getDeviceProfile());
|
||||
|
||||
if (isSplitSelectionState(currentState, toState)) {
|
||||
if (toState == OVERVIEW_SPLIT_SELECT) {
|
||||
// Animation to "dismiss" selected taskView
|
||||
PendingAnimation splitSelectInitAnimation = mRecentsView.createSplitSelectInitAnimation(
|
||||
toState.getTransitionDuration(mLauncher));
|
||||
@@ -125,30 +124,18 @@ public final class RecentsViewStateController extends
|
||||
toState.getSplitSelectTranslation(mLauncher), LINEAR);
|
||||
splitSelectInitAnimation.setFloat(mRecentsView, taskViewsFloat.second, 0, LINEAR);
|
||||
|
||||
if (!animate && isSplitSelectionState(currentState, toState)) {
|
||||
if (!animate) {
|
||||
splitSelectInitAnimation.buildAnim().start();
|
||||
} else if (animate &&
|
||||
isSplitSelectionState(currentState, toState)) {
|
||||
} else {
|
||||
builder.add(splitSelectInitAnimation.buildAnim());
|
||||
}
|
||||
}
|
||||
|
||||
if (isSplitSelectionState(currentState, toState)) {
|
||||
mRecentsView.applySplitPrimaryScrollOffset();
|
||||
} else {
|
||||
mRecentsView.resetSplitPrimaryScrollOffset();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return true if {@param toState} is {@link LauncherState#OVERVIEW_SPLIT_SELECT}
|
||||
* and {@param fromState} is not {@link LauncherState#OVERVIEW_SPLIT_SELECT}
|
||||
*/
|
||||
private boolean isSplitSelectionState(@NonNull LauncherState fromState,
|
||||
@NonNull LauncherState toState) {
|
||||
return fromState != OVERVIEW_SPLIT_SELECT && toState == OVERVIEW_SPLIT_SELECT;
|
||||
}
|
||||
|
||||
private void setAlphas(PropertySetter propertySetter, StateAnimationConfig config,
|
||||
LauncherState state) {
|
||||
float clearAllButtonAlpha = state.areElementsVisible(mLauncher, CLEAR_ALL_BUTTON) ? 1 : 0;
|
||||
|
||||
Reference in New Issue
Block a user