Merge "Only dispatch onMove event to BackAnimation in one place." into tm-qpr-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
bbccf67ed3
@@ -42,7 +42,6 @@ import com.android.systemui.plugins.NavigationEdgeBackPlugin
|
|||||||
import com.android.systemui.statusbar.VibratorHelper
|
import com.android.systemui.statusbar.VibratorHelper
|
||||||
import com.android.systemui.statusbar.policy.ConfigurationController
|
import com.android.systemui.statusbar.policy.ConfigurationController
|
||||||
import com.android.systemui.util.ViewController
|
import com.android.systemui.util.ViewController
|
||||||
import com.android.wm.shell.back.BackAnimation
|
|
||||||
import java.io.PrintWriter
|
import java.io.PrintWriter
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
import kotlin.math.abs
|
import kotlin.math.abs
|
||||||
@@ -119,7 +118,7 @@ class BackPanelController private constructor(
|
|||||||
private val latencyTracker: LatencyTracker
|
private val latencyTracker: LatencyTracker
|
||||||
) {
|
) {
|
||||||
/** Construct a [BackPanelController]. */
|
/** Construct a [BackPanelController]. */
|
||||||
fun create(context: Context, backAnimation: BackAnimation?): BackPanelController {
|
fun create(context: Context): BackPanelController {
|
||||||
val backPanelController = BackPanelController(
|
val backPanelController = BackPanelController(
|
||||||
context,
|
context,
|
||||||
windowManager,
|
windowManager,
|
||||||
|
|||||||
@@ -574,10 +574,10 @@ public class EdgeBackGestureHandler extends CurrentUserTracker
|
|||||||
private void resetEdgeBackPlugin() {
|
private void resetEdgeBackPlugin() {
|
||||||
if (mIsNewBackAffordanceEnabled) {
|
if (mIsNewBackAffordanceEnabled) {
|
||||||
setEdgeBackPlugin(
|
setEdgeBackPlugin(
|
||||||
mBackPanelControllerFactory.create(mContext, mBackAnimation));
|
mBackPanelControllerFactory.create(mContext));
|
||||||
} else {
|
} else {
|
||||||
setEdgeBackPlugin(
|
setEdgeBackPlugin(
|
||||||
new NavigationBarEdgePanel(mContext, mBackAnimation, mLatencyTracker));
|
new NavigationBarEdgePanel(mContext, mLatencyTracker));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -43,7 +43,6 @@ import android.view.View;
|
|||||||
import android.view.WindowManager;
|
import android.view.WindowManager;
|
||||||
import android.view.animation.Interpolator;
|
import android.view.animation.Interpolator;
|
||||||
import android.view.animation.PathInterpolator;
|
import android.view.animation.PathInterpolator;
|
||||||
import android.window.BackEvent;
|
|
||||||
|
|
||||||
import androidx.core.graphics.ColorUtils;
|
import androidx.core.graphics.ColorUtils;
|
||||||
import androidx.dynamicanimation.animation.DynamicAnimation;
|
import androidx.dynamicanimation.animation.DynamicAnimation;
|
||||||
@@ -59,7 +58,6 @@ import com.android.systemui.animation.Interpolators;
|
|||||||
import com.android.systemui.plugins.NavigationEdgeBackPlugin;
|
import com.android.systemui.plugins.NavigationEdgeBackPlugin;
|
||||||
import com.android.systemui.shared.navigationbar.RegionSamplingHelper;
|
import com.android.systemui.shared.navigationbar.RegionSamplingHelper;
|
||||||
import com.android.systemui.statusbar.VibratorHelper;
|
import com.android.systemui.statusbar.VibratorHelper;
|
||||||
import com.android.wm.shell.back.BackAnimation;
|
|
||||||
|
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
import java.util.concurrent.Executor;
|
import java.util.concurrent.Executor;
|
||||||
@@ -283,14 +281,11 @@ public class NavigationBarEdgePanel extends View implements NavigationEdgeBackPl
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
private BackCallback mBackCallback;
|
private BackCallback mBackCallback;
|
||||||
private BackAnimation mBackAnimation;
|
|
||||||
|
|
||||||
public NavigationBarEdgePanel(Context context,
|
public NavigationBarEdgePanel(Context context, LatencyTracker latencyTracker) {
|
||||||
BackAnimation backAnimation, LatencyTracker latencyTracker) {
|
|
||||||
super(context);
|
super(context);
|
||||||
|
|
||||||
mWindowManager = context.getSystemService(WindowManager.class);
|
mWindowManager = context.getSystemService(WindowManager.class);
|
||||||
mBackAnimation = backAnimation;
|
|
||||||
mVibratorHelper = Dependency.get(VibratorHelper.class);
|
mVibratorHelper = Dependency.get(VibratorHelper.class);
|
||||||
|
|
||||||
mDensity = context.getResources().getDisplayMetrics().density;
|
mDensity = context.getResources().getDisplayMetrics().density;
|
||||||
@@ -360,7 +355,6 @@ public class NavigationBarEdgePanel extends View implements NavigationEdgeBackPl
|
|||||||
.getDimension(R.dimen.navigation_edge_action_drag_threshold);
|
.getDimension(R.dimen.navigation_edge_action_drag_threshold);
|
||||||
mSwipeProgressThreshold = context.getResources()
|
mSwipeProgressThreshold = context.getResources()
|
||||||
.getDimension(R.dimen.navigation_edge_action_progress_threshold);
|
.getDimension(R.dimen.navigation_edge_action_progress_threshold);
|
||||||
initializeBackAnimation();
|
|
||||||
|
|
||||||
setVisibility(GONE);
|
setVisibility(GONE);
|
||||||
|
|
||||||
@@ -388,17 +382,6 @@ public class NavigationBarEdgePanel extends View implements NavigationEdgeBackPl
|
|||||||
mLatencyTracker = latencyTracker;
|
mLatencyTracker = latencyTracker;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setBackAnimation(BackAnimation backAnimation) {
|
|
||||||
mBackAnimation = backAnimation;
|
|
||||||
initializeBackAnimation();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void initializeBackAnimation() {
|
|
||||||
if (mBackAnimation != null) {
|
|
||||||
mBackAnimation.setSwipeThresholds(mSwipeTriggerThreshold, mSwipeProgressThreshold);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onDestroy() {
|
public void onDestroy() {
|
||||||
cancelFailsafe();
|
cancelFailsafe();
|
||||||
@@ -484,12 +467,6 @@ public class NavigationBarEdgePanel extends View implements NavigationEdgeBackPl
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onMotionEvent(MotionEvent event) {
|
public void onMotionEvent(MotionEvent event) {
|
||||||
if (mBackAnimation != null) {
|
|
||||||
mBackAnimation.onBackMotion(
|
|
||||||
event.getX(), event.getY(),
|
|
||||||
event.getActionMasked(),
|
|
||||||
mIsLeftPanel ? BackEvent.EDGE_LEFT : BackEvent.EDGE_RIGHT);
|
|
||||||
}
|
|
||||||
if (mVelocityTracker == null) {
|
if (mVelocityTracker == null) {
|
||||||
mVelocityTracker = VelocityTracker.obtain();
|
mVelocityTracker = VelocityTracker.obtain();
|
||||||
}
|
}
|
||||||
@@ -903,9 +880,6 @@ public class NavigationBarEdgePanel extends View implements NavigationEdgeBackPl
|
|||||||
// Whenever the trigger back state changes the existing translation animation should be
|
// Whenever the trigger back state changes the existing translation animation should be
|
||||||
// cancelled
|
// cancelled
|
||||||
mTranslationAnimation.cancel();
|
mTranslationAnimation.cancel();
|
||||||
if (mBackAnimation != null) {
|
|
||||||
mBackAnimation.setTriggerBack(triggerBack);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user