Fix bug where DiscoveryBounce is not cancelled after state change. am: ed7d714805

am: 4ac3af1243

Change-Id: I91a12e2caf168ae669fc7bc18ab728002a9c4ca3
This commit is contained in:
Jon Miranda
2019-05-28 15:23:43 -07:00
committed by android-build-merger
@@ -30,6 +30,9 @@ import android.view.MotionEvent;
import com.android.launcher3.AbstractFloatingView;
import com.android.launcher3.Launcher;
import com.android.launcher3.LauncherState;
import com.android.launcher3.LauncherStateManager;
import com.android.launcher3.LauncherStateManager.StateListener;
import com.android.launcher3.R;
import com.android.launcher3.Utilities;
import com.android.launcher3.compat.UserManagerCompat;
@@ -52,6 +55,16 @@ public class DiscoveryBounce extends AbstractFloatingView {
private final Launcher mLauncher;
private final Animator mDiscoBounceAnimation;
private final StateListener mStateListener = new StateListener() {
@Override
public void onStateTransitionStart(LauncherState toState) {
handleClose(false);
}
@Override
public void onStateTransitionComplete(LauncherState finalState) {}
};
public DiscoveryBounce(Launcher launcher, float delta) {
super(launcher, null);
mLauncher = launcher;
@@ -67,6 +80,7 @@ public class DiscoveryBounce extends AbstractFloatingView {
}
});
mDiscoBounceAnimation.addListener(controller.getProgressAnimatorListener());
launcher.getStateManager().addStateListener(mStateListener);
}
@Override
@@ -105,6 +119,7 @@ public class DiscoveryBounce extends AbstractFloatingView {
// Reset the all-apps progress to what ever it was previously.
mLauncher.getAllAppsController().setProgress(mLauncher.getStateManager()
.getState().getVerticalProgress(mLauncher));
mLauncher.getStateManager().removeStateListener(mStateListener);
}
}