Merge "Fixing quickswitch window not properly aligned in split-screen" into sc-dev
diff --git a/quickstep/src/com/android/launcher3/appprediction/PredictionRowView.java b/quickstep/src/com/android/launcher3/appprediction/PredictionRowView.java
index de04082..6afbf9a 100644
--- a/quickstep/src/com/android/launcher3/appprediction/PredictionRowView.java
+++ b/quickstep/src/com/android/launcher3/appprediction/PredictionRowView.java
@@ -96,6 +96,13 @@
private void updateVisibility() {
setVisibility(mPredictionsEnabled ? VISIBLE : GONE);
+ if (mLauncher.getAppsView() != null) {
+ if (mPredictionsEnabled) {
+ mLauncher.getAppsView().getAppsStore().registerIconContainer(this);
+ } else {
+ mLauncher.getAppsView().getAppsStore().unregisterIconContainer(this);
+ }
+ }
}
@Override
diff --git a/src/com/android/launcher3/allapps/AllAppsStore.java b/src/com/android/launcher3/allapps/AllAppsStore.java
index 2443b83..7bc3eec 100644
--- a/src/com/android/launcher3/allapps/AllAppsStore.java
+++ b/src/com/android/launcher3/allapps/AllAppsStore.java
@@ -132,7 +132,7 @@
}
public void registerIconContainer(ViewGroup container) {
- if (container != null) {
+ if (container != null && !mIconContainers.contains(container)) {
mIconContainers.add(container);
}
}
diff --git a/src/com/android/launcher3/allapps/DiscoveryBounce.java b/src/com/android/launcher3/allapps/DiscoveryBounce.java
index d8ef18e..be261f7 100644
--- a/src/com/android/launcher3/allapps/DiscoveryBounce.java
+++ b/src/com/android/launcher3/allapps/DiscoveryBounce.java
@@ -20,16 +20,17 @@
import android.animation.Animator;
import android.animation.AnimatorInflater;
-import android.animation.AnimatorListenerAdapter;
import android.os.Handler;
import android.os.UserManager;
import android.view.MotionEvent;
+import android.view.View;
import com.android.launcher3.AbstractFloatingView;
import com.android.launcher3.Launcher;
import com.android.launcher3.LauncherState;
import com.android.launcher3.R;
import com.android.launcher3.Utilities;
+import com.android.launcher3.anim.AnimatorListeners;
import com.android.launcher3.statemanager.StateManager.StateListener;
import com.android.launcher3.util.OnboardingPrefs;
@@ -53,21 +54,15 @@
public void onStateTransitionComplete(LauncherState finalState) {}
};
- public DiscoveryBounce(Launcher launcher, float delta) {
+ public DiscoveryBounce(Launcher launcher) {
super(launcher, null);
mLauncher = launcher;
- AllAppsTransitionController controller = mLauncher.getAllAppsController();
mDiscoBounceAnimation =
AnimatorInflater.loadAnimator(launcher, R.animator.discovery_bounce);
- mDiscoBounceAnimation.setTarget(new VerticalProgressWrapper(controller, delta));
- mDiscoBounceAnimation.addListener(new AnimatorListenerAdapter() {
- @Override
- public void onAnimationEnd(Animator animation) {
- handleClose(false);
- }
- });
- mDiscoBounceAnimation.addListener(controller.getProgressAnimatorListener());
+ mDiscoBounceAnimation.setTarget(new VerticalProgressWrapper(
+ launcher.getHotseat(), mLauncher.getDragLayer().getHeight()));
+ mDiscoBounceAnimation.addListener(AnimatorListeners.forEndCallback(this::handleClose));
launcher.getStateManager().addStateListener(mStateListener);
}
@@ -104,9 +99,9 @@
if (mIsOpen) {
mIsOpen = false;
mLauncher.getDragLayer().removeView(this);
- // Reset the all-apps progress to what ever it was previously.
- mLauncher.getAllAppsController().setProgress(mLauncher.getStateManager()
- .getState().getVerticalProgress(mLauncher));
+ // Reset the translation to what ever it was previously.
+ mLauncher.getHotseat().setTranslationY(mLauncher.getStateManager().getState()
+ .getHotseatScaleAndTranslation(mLauncher).translationY);
mLauncher.getStateManager().removeStateListener(mStateListener);
}
}
@@ -141,29 +136,28 @@
return;
}
onboardingPrefs.incrementEventCount(OnboardingPrefs.HOME_BOUNCE_COUNT);
-
- new DiscoveryBounce(launcher, 0).show();
+ new DiscoveryBounce(launcher).show();
}
/**
- * A wrapper around {@link AllAppsTransitionController} allowing a fixed shift in the value.
+ * A wrapper around hotseat animator allowing a fixed shift in the value.
*/
public static class VerticalProgressWrapper {
- private final float mDelta;
- private final AllAppsTransitionController mController;
+ private final View mView;
+ private final float mLimit;
- private VerticalProgressWrapper(AllAppsTransitionController controller, float delta) {
- mController = controller;
- mDelta = delta;
+ private VerticalProgressWrapper(View view, float limit) {
+ mView = view;
+ mLimit = limit;
}
public float getProgress() {
- return mController.getProgress() + mDelta;
+ return 1 + mView.getTranslationY() / mLimit;
}
public void setProgress(float progress) {
- mController.setProgress(progress - mDelta);
+ mView.setTranslationY(mLimit * (progress - 1));
}
}
}
diff --git a/src/com/android/launcher3/views/FloatingIconView.java b/src/com/android/launcher3/views/FloatingIconView.java
index 3027db6..872adec 100644
--- a/src/com/android/launcher3/views/FloatingIconView.java
+++ b/src/com/android/launcher3/views/FloatingIconView.java
@@ -580,11 +580,6 @@
if (originalView instanceof IconLabelDotView) {
setIconAndDotVisible(originalView, true);
}
- if (originalView instanceof BubbleTextView) {
- BubbleTextView btv = (BubbleTextView) originalView;
- btv.setIconVisible(true);
- btv.setForceHideDot(true);
- }
view.finish(dragLayer);
}
} else {
diff --git a/src/com/android/launcher3/widget/PendingAppWidgetHostView.java b/src/com/android/launcher3/widget/PendingAppWidgetHostView.java
index 47f30be..d3a0190 100644
--- a/src/com/android/launcher3/widget/PendingAppWidgetHostView.java
+++ b/src/com/android/launcher3/widget/PendingAppWidgetHostView.java
@@ -85,7 +85,6 @@
setBackgroundResource(R.drawable.pending_widget_bg);
setWillNotDraw(false);
- setElevation(getResources().getDimension(R.dimen.pending_widget_elevation));
updateAppWidget(null);
setOnClickListener(ItemClickHandler.INSTANCE);