Moving Workspace states into a separate file
Bug: 67678570
Change-Id: I5c63b4df29ca0f58a0223fb1919abc132576a1b6
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index a80e62b..24e7083 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -17,7 +17,7 @@
package com.android.launcher3;
import static com.android.launcher3.LauncherAnimUtils.SPRING_LOADED_EXIT_NEXT_FRAME;
-import static com.android.launcher3.LauncherAnimUtils.SPRING_LOADED_EXIT_SHORT_TIMEOUT;
+import static com.android.launcher3.LauncherAnimUtils.SPRING_LOADED_EXIT_DELAY;
import static com.android.launcher3.logging.LoggerUtils.newContainerTarget;
import static com.android.launcher3.util.RunnableWithId.RUNNABLE_ID_BIND_APPS;
import static com.android.launcher3.util.RunnableWithId.RUNNABLE_ID_BIND_WIDGETS;
@@ -581,7 +581,7 @@
Runnable exitSpringLoaded = new Runnable() {
@Override
public void run() {
- exitSpringLoadedDragMode(SPRING_LOADED_EXIT_SHORT_TIMEOUT);
+ exitSpringLoadedDragMode(SPRING_LOADED_EXIT_DELAY);
}
};
@@ -761,7 +761,7 @@
@Override
public void run() {
completeAddAppWidget(appWidgetId, requestArgs, layout, null);
- exitSpringLoadedDragMode(SPRING_LOADED_EXIT_SHORT_TIMEOUT);
+ exitSpringLoadedDragMode(SPRING_LOADED_EXIT_DELAY);
}
};
} else if (resultCode == RESULT_CANCELED) {
@@ -1712,7 +1712,7 @@
@Override
public void run() {
// Exit spring loaded mode if necessary after adding the widget
- exitSpringLoadedDragMode(SPRING_LOADED_EXIT_SHORT_TIMEOUT);
+ exitSpringLoadedDragMode(SPRING_LOADED_EXIT_DELAY);
}
};
completeAddAppWidget(appWidgetId, info, boundWidget, addFlowHandler.getProviderInfo(this));
@@ -2460,11 +2460,11 @@
public boolean showWorkspace(boolean animated, Runnable onCompleteRunnable) {
boolean changed = mState != State.WORKSPACE ||
- mWorkspace.getState() != Workspace.State.NORMAL;
+ mWorkspace.getState() != LauncherState.NORMAL;
if (changed || mAllAppsController.isTransitioning()) {
mWorkspace.setVisibility(View.VISIBLE);
mStateTransitionAnimation.startAnimationToWorkspace(mState, mWorkspace.getState(),
- Workspace.State.NORMAL, animated, onCompleteRunnable);
+ LauncherState.NORMAL, animated, onCompleteRunnable);
// Set focus to the AppsCustomize button
if (mAllAppsButton != null) {
@@ -2509,7 +2509,7 @@
}
mWorkspace.setVisibility(View.VISIBLE);
mStateTransitionAnimation.startAnimationToWorkspace(mState, mWorkspace.getState(),
- Workspace.State.OVERVIEW, animated, postAnimRunnable);
+ LauncherState.OVERVIEW, animated, postAnimRunnable);
setState(State.WORKSPACE);
// If animated from long press, then don't allow any of the controller in the drag
@@ -2583,7 +2583,7 @@
InstallShortcutReceiver.enableInstallQueue(InstallShortcutReceiver.FLAG_DRAG_AND_DROP);
mStateTransitionAnimation.startAnimationToWorkspace(mState, mWorkspace.getState(),
- Workspace.State.SPRING_LOADED, true /* animated */,
+ LauncherState.SPRING_LOADED, true /* animated */,
null /* onCompleteRunnable */);
setState(State.WORKSPACE_SPRING_LOADED);
}
@@ -2608,11 +2608,6 @@
mExitSpringLoadedModeRunnable = new Runnable() {
@Override
public void run() {
- // TODO(hyunyoungs): verify if this hack is still needed, if not, delete.
- //
- // Before we show workspace, hide all apps again because
- // exitSpringLoadedDragMode made it visible. This is a bit hacky; we should
- // clean up our state transition functions
showWorkspace(true, onCompleteRunnable);
mExitSpringLoadedModeRunnable = null;
}
diff --git a/src/com/android/launcher3/LauncherAnimUtils.java b/src/com/android/launcher3/LauncherAnimUtils.java
index 02f05c3..3585110 100644
--- a/src/com/android/launcher3/LauncherAnimUtils.java
+++ b/src/com/android/launcher3/LauncherAnimUtils.java
@@ -37,7 +37,7 @@
public static final int ALL_APPS_TRANSITION_MS = 320;
public static final int OVERVIEW_TRANSITION_MS = 250;
public static final int SPRING_LOADED_TRANSITION_MS = 150;
- public static final int SPRING_LOADED_EXIT_SHORT_TIMEOUT = 500;
+ public static final int SPRING_LOADED_EXIT_DELAY = 500;
public static final int SPRING_LOADED_EXIT_NEXT_FRAME = 0;
static WeakHashMap<Animator, Object> sAnimators = new WeakHashMap<Animator, Object>();
diff --git a/src/com/android/launcher3/LauncherState.java b/src/com/android/launcher3/LauncherState.java
new file mode 100644
index 0000000..8ddc491
--- /dev/null
+++ b/src/com/android/launcher3/LauncherState.java
@@ -0,0 +1,71 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.launcher3;
+
+import static android.view.View.IMPORTANT_FOR_ACCESSIBILITY_AUTO;
+import static android.view.View.IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS;
+
+import static com.android.launcher3.LauncherAnimUtils.ALL_APPS_TRANSITION_MS;
+import static com.android.launcher3.LauncherAnimUtils.OVERVIEW_TRANSITION_MS;
+import static com.android.launcher3.LauncherAnimUtils.SPRING_LOADED_TRANSITION_MS;
+import static com.android.launcher3.StateFlags.FLAG_DISABLE_ACCESSIBILITY;
+import static com.android.launcher3.StateFlags.FLAG_HIDE_HOTSEAT;
+import static com.android.launcher3.StateFlags.FLAG_MULTI_PAGE;
+import static com.android.launcher3.StateFlags.FLAG_SHOW_SCRIM;
+
+import com.android.launcher3.userevent.nano.LauncherLogProto.ContainerType;
+
+interface StateFlags {
+ int FLAG_SHOW_SCRIM = 1 << 0;
+ int FLAG_MULTI_PAGE = 1 << 1;
+ int FLAG_HIDE_HOTSEAT = 1 << 2;
+ int FLAG_DISABLE_ACCESSIBILITY = 1 << 3;
+}
+
+/**
+ * Various states for launcher
+ */
+public enum LauncherState {
+
+ NORMAL (ContainerType.WORKSPACE, 0, 0),
+ ALL_APPS (ContainerType.ALLAPPS, ALL_APPS_TRANSITION_MS, FLAG_DISABLE_ACCESSIBILITY),
+ SPRING_LOADED (ContainerType.WORKSPACE, SPRING_LOADED_TRANSITION_MS,
+ FLAG_SHOW_SCRIM | FLAG_MULTI_PAGE | FLAG_DISABLE_ACCESSIBILITY),
+ OVERVIEW (ContainerType.OVERVIEW, OVERVIEW_TRANSITION_MS,
+ FLAG_SHOW_SCRIM | FLAG_MULTI_PAGE | FLAG_HIDE_HOTSEAT);
+
+ public final int containerType;
+
+ public final boolean hasMultipleVisiblePages;
+ public final int workspaceAccessibilityFlag;
+
+ // Properties related to state transition animation.
+ public final boolean hasScrim;
+ public final boolean hideHotseat;
+ public final int transitionDuration;
+
+ LauncherState(int containerType, int transitionDuration, int flags) {
+ this.containerType = containerType;
+ this.transitionDuration = transitionDuration;
+
+ this.hasScrim = (flags & FLAG_SHOW_SCRIM) != 0;
+ this.hasMultipleVisiblePages = (flags & FLAG_MULTI_PAGE) != 0;
+ this.hideHotseat = (flags & FLAG_HIDE_HOTSEAT) != 0;
+ this.workspaceAccessibilityFlag = (flags & FLAG_DISABLE_ACCESSIBILITY) != 0
+ ? IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS
+ : IMPORTANT_FOR_ACCESSIBILITY_AUTO;
+ }
+}
diff --git a/src/com/android/launcher3/LauncherStateTransitionAnimation.java b/src/com/android/launcher3/LauncherStateTransitionAnimation.java
index 9c83e3c..f07f1bf 100644
--- a/src/com/android/launcher3/LauncherStateTransitionAnimation.java
+++ b/src/com/android/launcher3/LauncherStateTransitionAnimation.java
@@ -100,7 +100,7 @@
cancelAnimation();
if (!animated) {
- mLauncher.getWorkspace().setState(Workspace.State.NORMAL_HIDDEN);
+ mLauncher.getWorkspace().setState(LauncherState.ALL_APPS);
mAllAppsController.finishPullUp();
toView.setTranslationX(0.0f);
@@ -129,7 +129,7 @@
mConfig.reset();
mAllAppsController.animateToAllApps(animation, mConfig);
- mLauncher.getWorkspace().setStateWithAnimation(Workspace.State.NORMAL_HIDDEN,
+ mLauncher.getWorkspace().setStateWithAnimation(LauncherState.ALL_APPS,
layerViews, animation, mConfig);
Runnable startAnimRunnable = new StartAnimRunnable(animation, toView);
@@ -146,11 +146,11 @@
* Starts an animation to the workspace from the current overlay view.
*/
public void startAnimationToWorkspace(final Launcher.State fromState,
- final Workspace.State fromWorkspaceState, final Workspace.State toWorkspaceState,
+ final LauncherState fromWorkspaceState, final LauncherState toWorkspaceState,
final boolean animated, final Runnable onCompleteRunnable) {
- if (toWorkspaceState != Workspace.State.NORMAL &&
- toWorkspaceState != Workspace.State.SPRING_LOADED &&
- toWorkspaceState != Workspace.State.OVERVIEW) {
+ if (toWorkspaceState != LauncherState.NORMAL &&
+ toWorkspaceState != LauncherState.SPRING_LOADED &&
+ toWorkspaceState != LauncherState.OVERVIEW) {
Log.e(TAG, "Unexpected call to startAnimationToWorkspace");
}
@@ -166,8 +166,8 @@
/**
* Starts an animation to the workspace from the apps view.
*/
- private void startAnimationToWorkspaceFromAllApps(final Workspace.State fromWorkspaceState,
- final Workspace.State toWorkspaceState, boolean animated,
+ private void startAnimationToWorkspaceFromAllApps(final LauncherState fromWorkspaceState,
+ final LauncherState toWorkspaceState, boolean animated,
final Runnable onCompleteRunnable) {
final AllAppsContainerView fromView = mLauncher.getAppsView();
// If for some reason our views aren't initialized, don't animate
@@ -180,7 +180,7 @@
cancelAnimation();
if (!animated) {
- if (fromWorkspaceState == Workspace.State.NORMAL_HIDDEN) {
+ if (fromWorkspaceState == LauncherState.ALL_APPS) {
mAllAppsController.finishPullDown();
}
fromView.setVisibility(View.GONE);
@@ -233,8 +233,8 @@
/**
* Starts an animation to the workspace from another workspace state, e.g. normal to overview.
*/
- private void startAnimationToNewWorkspaceState(final Workspace.State fromWorkspaceState,
- final Workspace.State toWorkspaceState, final boolean animated,
+ private void startAnimationToNewWorkspaceState(final LauncherState fromWorkspaceState,
+ final LauncherState toWorkspaceState, final boolean animated,
final Runnable onCompleteRunnable) {
final View fromWorkspace = mLauncher.getWorkspace();
// Cancel the current animation
diff --git a/src/com/android/launcher3/PinchAnimationManager.java b/src/com/android/launcher3/PinchAnimationManager.java
index 10f35bd..bbe8e89 100644
--- a/src/com/android/launcher3/PinchAnimationManager.java
+++ b/src/com/android/launcher3/PinchAnimationManager.java
@@ -28,8 +28,8 @@
import com.android.launcher3.userevent.nano.LauncherLogProto.Action;
import com.android.launcher3.userevent.nano.LauncherLogProto.ContainerType;
-import static com.android.launcher3.Workspace.State.NORMAL;
-import static com.android.launcher3.Workspace.State.OVERVIEW;
+import static com.android.launcher3.LauncherState.NORMAL;
+import static com.android.launcher3.LauncherState.OVERVIEW;
/**
* Manages the animations that play as the user pinches to/from overview mode.
@@ -141,12 +141,12 @@
* @param threshold One of {@link PinchThresholdManager#THRESHOLD_ONE},
* {@link PinchThresholdManager#THRESHOLD_TWO}, or
* {@link PinchThresholdManager#THRESHOLD_THREE}
- * @param startState {@link Workspace.State#NORMAL} or {@link Workspace.State#OVERVIEW}.
- * @param goingTowards {@link Workspace.State#NORMAL} or {@link Workspace.State#OVERVIEW}.
+ * @param startState {@link LauncherState#NORMAL} or {@link LauncherState#OVERVIEW}.
+ * @param goingTowards {@link LauncherState#NORMAL} or {@link LauncherState#OVERVIEW}.
* Note that this doesn't have to be the opposite of startState;
*/
- public void animateThreshold(float threshold, Workspace.State startState,
- Workspace.State goingTowards) {
+ public void animateThreshold(float threshold, LauncherState startState,
+ LauncherState goingTowards) {
if (threshold == PinchThresholdManager.THRESHOLD_ONE) {
if (startState == OVERVIEW) {
animateOverviewPanelButtons(goingTowards == OVERVIEW);
diff --git a/src/com/android/launcher3/PinchThresholdManager.java b/src/com/android/launcher3/PinchThresholdManager.java
index 52aac17..8cbc33d 100644
--- a/src/com/android/launcher3/PinchThresholdManager.java
+++ b/src/com/android/launcher3/PinchThresholdManager.java
@@ -68,10 +68,10 @@
}
if (mPassedThreshold != previousPassedThreshold) {
- Workspace.State fromState = mWorkspace.isInOverviewMode() ? Workspace.State.OVERVIEW
- : Workspace.State.NORMAL;
- Workspace.State toState = mWorkspace.isInOverviewMode() ? Workspace.State.NORMAL
- : Workspace.State.OVERVIEW;
+ LauncherState fromState = mWorkspace.isInOverviewMode() ? LauncherState.OVERVIEW
+ : LauncherState.NORMAL;
+ LauncherState toState = mWorkspace.isInOverviewMode() ? LauncherState.NORMAL
+ : LauncherState.OVERVIEW;
float thresholdToAnimate = mPassedThreshold;
if (mPassedThreshold < previousPassedThreshold) {
// User reversed pinch, so heading back to the state that they started from.
diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java
index b57ce63..213eaad 100644
--- a/src/com/android/launcher3/Workspace.java
+++ b/src/com/android/launcher3/Workspace.java
@@ -17,8 +17,7 @@
package com.android.launcher3;
import static com.android.launcher3.LauncherAnimUtils.SPRING_LOADED_EXIT_NEXT_FRAME;
-import static com.android.launcher3.LauncherAnimUtils.SPRING_LOADED_EXIT_SHORT_TIMEOUT;
-import static com.android.launcher3.LauncherAnimUtils.ALL_APPS_TRANSITION_MS;
+import static com.android.launcher3.LauncherAnimUtils.SPRING_LOADED_EXIT_DELAY;
import static com.android.launcher3.LauncherAnimUtils.OVERVIEW_TRANSITION_MS;
import static com.android.launcher3.LauncherAnimUtils.SPRING_LOADED_TRANSITION_MS;
@@ -185,33 +184,6 @@
private SpringLoadedDragController mSpringLoadedDragController;
private final float mOverviewModeShrinkFactor;
- // State variable that indicates whether the pages are small (ie when you're
- // in all apps or customize mode)
-
- public enum State {
- NORMAL (false, ContainerType.WORKSPACE, false, 1, 0),
- NORMAL_HIDDEN (false, ContainerType.ALLAPPS, false, 1, ALL_APPS_TRANSITION_MS),
- SPRING_LOADED (true, ContainerType.WORKSPACE, true, 1, SPRING_LOADED_TRANSITION_MS),
- OVERVIEW (true, ContainerType.OVERVIEW, true, 0, OVERVIEW_TRANSITION_MS);
-
- public final boolean hasMultipleVisiblePages;
- public final int containerType;
-
- // Properties related to state transition animation.
- public final boolean hasScrim;
- public final float hotseatAlpha;
- public final int transitionDuration;
-
- State(boolean hasMultipleVisiblePages, int containerType,
- boolean hasScrim, float hotseatAlpha, int transitionDuration) {
- this.hasMultipleVisiblePages = hasMultipleVisiblePages;
- this.containerType = containerType;
- this.hasScrim = hasScrim;
- this.hotseatAlpha = hotseatAlpha;
- this.transitionDuration = transitionDuration;
- }
- }
-
// Direction used for moving the workspace and hotseat UI
public enum Direction {
X (TRANSLATION_X),
@@ -238,7 +210,7 @@
private final float[] mHotseatAlpha = new float[] {1, 1, 1};
@ViewDebug.ExportedProperty(category = "launcher")
- private State mState = State.NORMAL;
+ private LauncherState mState = LauncherState.NORMAL;
private boolean mIsSwitchingState = false;
boolean mChildrenLayersEnabled = true;
@@ -1447,16 +1419,16 @@
}
public boolean workspaceInModalState() {
- return mState != State.NORMAL;
+ return mState != LauncherState.NORMAL;
}
/** Returns whether a drag should be allowed to be started from the current workspace state. */
public boolean workspaceIconsCanBeDragged() {
- return mState == State.NORMAL || mState == State.SPRING_LOADED;
+ return mState == LauncherState.NORMAL || mState == LauncherState.SPRING_LOADED;
}
private void updateChildrenLayersEnabled() {
- boolean small = mState == State.OVERVIEW || mIsSwitchingState;
+ boolean small = mState == LauncherState.OVERVIEW || mIsSwitchingState;
boolean enableChildrenLayers = small || isPageInTransition();
if (enableChildrenLayers != mChildrenLayersEnabled) {
@@ -1576,7 +1548,7 @@
}
public boolean isInOverviewMode() {
- return mState == State.OVERVIEW;
+ return mState == LauncherState.OVERVIEW;
}
public void snapToPageFromOverView(int whichPage) {
@@ -1626,9 +1598,9 @@
/**
- * Sets the current workspace {@link State} and updates the UI without any animations
+ * Sets the current workspace {@link LauncherState} and updates the UI without any animations
*/
- public void setState(State toState) {
+ public void setState(LauncherState toState) {
// Update the current state
mState = toState;
mStateTransitionAnimation.setState(mState);
@@ -1640,11 +1612,11 @@
}
/**
- * Sets the current workspace {@link State}, while animating the UI
+ * Sets the current workspace {@link LauncherState}, then animates the UI
*/
- public void setStateWithAnimation(State toState, AnimationLayerSet layerViews, AnimatorSet anim,
- AnimationConfig config) {
- final State fromState = mState;
+ public void setStateWithAnimation(LauncherState toState, AnimationLayerSet layerViews,
+ AnimatorSet anim, AnimationConfig config) {
+ final LauncherState fromState = mState;
// Update the current state
mState = toState;
@@ -1662,7 +1634,7 @@
anim.addListener(listener);
}
- public State getState() {
+ public LauncherState getState() {
return mState;
}
@@ -1673,14 +1645,12 @@
for (int i = 0; i < total; i++) {
updateAccessibilityFlags((CellLayout) getPageAt(i), i);
}
- setImportantForAccessibility((mState == State.NORMAL || mState == State.OVERVIEW)
- ? IMPORTANT_FOR_ACCESSIBILITY_AUTO
- : IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS);
+ setImportantForAccessibility(mState.workspaceAccessibilityFlag);
}
}
private void updateAccessibilityFlags(CellLayout page, int pageNo) {
- if (mState == State.OVERVIEW) {
+ if (mState == LauncherState.OVERVIEW) {
page.setImportantForAccessibility(IMPORTANT_FOR_ACCESSIBILITY_YES);
page.getShortcutsAndWidgets().setImportantForAccessibility(
IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS);
@@ -1694,11 +1664,9 @@
page.setAccessibilityDelegate(mPagesAccessibilityDelegate);
}
} else {
- int accessible = mState == State.NORMAL ?
- IMPORTANT_FOR_ACCESSIBILITY_AUTO :
- IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS;
page.setImportantForAccessibility(IMPORTANT_FOR_ACCESSIBILITY_NO);
- page.getShortcutsAndWidgets().setImportantForAccessibility(accessible);
+ page.getShortcutsAndWidgets()
+ .setImportantForAccessibility(mState.workspaceAccessibilityFlag);
page.setContentDescription(null);
page.setAccessibilityDelegate(null);
}
@@ -1717,11 +1685,11 @@
}
private void onStartStateTransition() {
- if (mState == State.SPRING_LOADED) {
+ if (mState == LauncherState.SPRING_LOADED) {
// Show the page indicator at the same time as the rest of the transition.
showPageIndicatorAtCurrentScroll();
}
- getPageIndicator().setShouldAutoHide(mState != State.SPRING_LOADED);
+ getPageIndicator().setShouldAutoHide(mState != LauncherState.SPRING_LOADED);
}
public void onEndStateTransition() {
@@ -1730,7 +1698,7 @@
mForceDrawAdjacentPages = false;
mTransitionProgress = 1;
- if (mState == State.OVERVIEW) {
+ if (mState == LauncherState.OVERVIEW) {
enableFreeScroll();
} else {
disableFreeScroll();
@@ -1840,7 +1808,7 @@
private boolean transitionStateShouldAllowDrop() {
return ((!isSwitchingState() || mTransitionProgress > ALLOW_DROP_TRANSITION_PROGRESS) &&
- (mState == State.NORMAL || mState == State.SPRING_LOADED));
+ (mState == LauncherState.NORMAL || mState == LauncherState.SPRING_LOADED));
}
/**
@@ -2111,7 +2079,7 @@
dropTargetLayout, mTargetCell, distance, false, d.dragView) ||
addToExistingFolderIfNecessary(cell, dropTargetLayout, mTargetCell,
distance, d, false)) {
- mLauncher.exitSpringLoadedDragMode(SPRING_LOADED_EXIT_SHORT_TIMEOUT);
+ mLauncher.exitSpringLoadedDragMode(SPRING_LOADED_EXIT_DELAY);
return;
}
@@ -2250,7 +2218,7 @@
parent.onDropChild(cell);
mLauncher.exitSpringLoadedDragMode(
- SPRING_LOADED_EXIT_SHORT_TIMEOUT, onCompleteRunnable);
+ SPRING_LOADED_EXIT_DELAY, onCompleteRunnable);
}
if (d.stateAnnouncer != null && !droppedOnOriginalCell) {
@@ -2782,7 +2750,7 @@
final long screenId = getIdForScreen(cellLayout);
if (!mLauncher.isHotseatLayout(cellLayout)
&& screenId != getScreenIdForPageIndex(mCurrentPage)
- && mState != State.SPRING_LOADED) {
+ && mState != LauncherState.SPRING_LOADED) {
snapToPage(getPageIndexForScreenId(screenId));
}
@@ -2857,7 +2825,7 @@
animationStyle, finalView, true);
} else {
// This is for other drag/drop cases, like dragging from All Apps
- mLauncher.exitSpringLoadedDragMode(SPRING_LOADED_EXIT_SHORT_TIMEOUT);
+ mLauncher.exitSpringLoadedDragMode(SPRING_LOADED_EXIT_DELAY);
View view;
@@ -3601,7 +3569,7 @@
@Override
public boolean enableFreeScroll() {
- if (getState() == State.OVERVIEW) {
+ if (getState() == LauncherState.OVERVIEW) {
return super.enableFreeScroll();
} else {
Log.w(TAG, "enableFreeScroll called but not in overview: state=" + getState());
diff --git a/src/com/android/launcher3/WorkspaceStateTransitionAnimation.java b/src/com/android/launcher3/WorkspaceStateTransitionAnimation.java
index 9d9e9fb..8e215b0 100644
--- a/src/com/android/launcher3/WorkspaceStateTransitionAnimation.java
+++ b/src/com/android/launcher3/WorkspaceStateTransitionAnimation.java
@@ -33,7 +33,6 @@
import android.view.animation.DecelerateInterpolator;
import com.android.launcher3.LauncherStateTransitionAnimation.AnimationConfig;
-import com.android.launcher3.Workspace.State;
import com.android.launcher3.anim.AnimationLayerSet;
/**
@@ -163,17 +162,17 @@
mWorkspaceFadeInAdjacentScreens = grid.shouldFadeAdjacentWorkspaceScreens();
}
- public void setState(Workspace.State toState) {
+ public void setState(LauncherState toState) {
setWorkspaceProperty(toState, NO_ANIM_PROPERTY_SETTER);
}
- public void setStateWithAnimation(Workspace.State fromState, Workspace.State toState,
+ public void setStateWithAnimation(LauncherState fromState, LauncherState toState,
AnimatorSet anim, AnimationLayerSet layerViews, AnimationConfig config) {
- long duration = config.getDuration(toState == State.NORMAL
+ long duration = config.getDuration(toState == LauncherState.NORMAL
? fromState.transitionDuration : toState.transitionDuration);
- AnimatedPropertySetter proertSetter =
+ AnimatedPropertySetter propertySetter =
new AnimatedPropertySetter(duration, layerViews, anim);
- setWorkspaceProperty(toState, proertSetter);
+ setWorkspaceProperty(toState, propertySetter);
}
public float getFinalScale() {
@@ -183,7 +182,7 @@
/**
* Starts a transition animation for the workspace.
*/
- private void setWorkspaceProperty(Workspace.State state, PropertySetter propertySetter) {
+ private void setWorkspaceProperty(LauncherState state, PropertySetter propertySetter) {
// Update the workspace state
int finalBackgroundAlpha = state.hasScrim ? 255 : 0;
@@ -211,13 +210,13 @@
// Only animate the page alpha when we actually fade pages
if (mWorkspaceFadeInAdjacentScreens) {
- float finalAlpha = state == State.NORMAL && i != toPage ? 0 : 1f;
+ float finalAlpha = state == LauncherState.NORMAL && i != toPage ? 0 : 1f;
propertySetter.setFloat(cl.getShortcutsAndWidgets(), View.ALPHA,
finalAlpha, mZoomInInterpolator);
}
}
- float finalHotseatAlpha = state.hotseatAlpha;
+ float finalHotseatAlpha = state.hideHotseat ? 0f : 1f;
// This is true when transitioning between:
// - Overview <-> Workspace
diff --git a/src/com/android/launcher3/dragndrop/DragController.java b/src/com/android/launcher3/dragndrop/DragController.java
index 8386f8f..10bd67d 100644
--- a/src/com/android/launcher3/dragndrop/DragController.java
+++ b/src/com/android/launcher3/dragndrop/DragController.java
@@ -16,7 +16,7 @@
package com.android.launcher3.dragndrop;
-import static com.android.launcher3.LauncherAnimUtils.SPRING_LOADED_EXIT_SHORT_TIMEOUT;
+import static com.android.launcher3.LauncherAnimUtils.SPRING_LOADED_EXIT_DELAY;
import android.content.ComponentName;
import android.content.res.Resources;
@@ -263,7 +263,7 @@
if (!accepted) {
// If it was not accepted, cleanup the state. If it was accepted, it is the
// responsibility of the drop target to cleanup the state.
- mLauncher.exitSpringLoadedDragMode(SPRING_LOADED_EXIT_SHORT_TIMEOUT);
+ mLauncher.exitSpringLoadedDragMode(SPRING_LOADED_EXIT_DELAY);
mDragObject.deferDragViewCleanupPostAnimation = false;
}
diff --git a/src/com/android/launcher3/dragndrop/PinShortcutRequestActivityInfo.java b/src/com/android/launcher3/dragndrop/PinShortcutRequestActivityInfo.java
index 1da7834..52167bb 100644
--- a/src/com/android/launcher3/dragndrop/PinShortcutRequestActivityInfo.java
+++ b/src/com/android/launcher3/dragndrop/PinShortcutRequestActivityInfo.java
@@ -83,7 +83,7 @@
public com.android.launcher3.ShortcutInfo createShortcutInfo() {
// Total duration for the drop animation to complete.
long duration = mContext.getResources().getInteger(R.integer.config_dropAnimMaxDuration) +
- LauncherAnimUtils.SPRING_LOADED_EXIT_SHORT_TIMEOUT +
+ LauncherAnimUtils.SPRING_LOADED_EXIT_DELAY +
LauncherAnimUtils.SPRING_LOADED_TRANSITION_MS;
// Delay the actual accept() call until the drop animation is complete.
return LauncherAppsCompatVO.createShortcutInfoFromPinItemRequest(
diff --git a/src/com/android/launcher3/folder/Folder.java b/src/com/android/launcher3/folder/Folder.java
index fae420e..fcc4f0e 100644
--- a/src/com/android/launcher3/folder/Folder.java
+++ b/src/com/android/launcher3/folder/Folder.java
@@ -16,7 +16,7 @@
package com.android.launcher3.folder;
-import static com.android.launcher3.LauncherAnimUtils.SPRING_LOADED_EXIT_SHORT_TIMEOUT;
+import static com.android.launcher3.LauncherAnimUtils.SPRING_LOADED_EXIT_DELAY;
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
@@ -1243,7 +1243,7 @@
mInfo.setOption(FolderInfo.FLAG_MULTI_PAGE_ANIMATION, true, mLauncher.getModelWriter());
}
- mLauncher.exitSpringLoadedDragMode(SPRING_LOADED_EXIT_SHORT_TIMEOUT);
+ mLauncher.exitSpringLoadedDragMode(SPRING_LOADED_EXIT_DELAY);
if (d.stateAnnouncer != null) {
d.stateAnnouncer.completeAction(R.string.item_moved);
}