| Index: remoting/android/java/src/org/chromium/chromoting/DesktopView.java
|
| diff --git a/remoting/android/java/src/org/chromium/chromoting/DesktopView.java b/remoting/android/java/src/org/chromium/chromoting/DesktopView.java
|
| index 15ba26708d735e59153a9369cfca8866532f9d57..7aca40381705622b3efba5e329d27ff7b8aae5f9 100644
|
| --- a/remoting/android/java/src/org/chromium/chromoting/DesktopView.java
|
| +++ b/remoting/android/java/src/org/chromium/chromoting/DesktopView.java
|
| @@ -21,7 +21,12 @@ import org.chromium.chromoting.jni.Client;
|
| */
|
| public abstract class DesktopView extends SurfaceView {
|
| /** Used to define the animation feedback shown when a user touches the screen. */
|
| - public enum InputFeedbackType { NONE, SMALL_ANIMATION, LARGE_ANIMATION }
|
| + public enum InputFeedbackType {
|
| + NONE,
|
| + SHORT_TOUCH_ANIMATION,
|
| + LONG_TOUCH_ANIMATION,
|
| + LONG_TRACKPAD_ANIMATION
|
| + }
|
|
|
| protected final RenderData mRenderData;
|
| protected final TouchInputHandler mInputHandler;
|
| @@ -38,6 +43,7 @@ public abstract class DesktopView extends SurfaceView {
|
| protected final Event.Raisable<SizeChangedEventParameter> mOnHostSizeChanged =
|
| new Event.Raisable<>();
|
|
|
| + private final int mTinyFeedbackPixelRadius;
|
| private final int mSmallFeedbackPixelRadius;
|
| private final int mLargeFeedbackPixelRadius;
|
|
|
| @@ -58,11 +64,14 @@ public abstract class DesktopView extends SurfaceView {
|
| // Give this view keyboard focus, allowing us to customize the soft keyboard's settings.
|
| setFocusableInTouchMode(true);
|
|
|
| - mSmallFeedbackPixelRadius = getResources()
|
| - .getDimensionPixelSize(R.dimen.feedback_animation_radius_small);
|
| + mTinyFeedbackPixelRadius =
|
| + getResources().getDimensionPixelSize(R.dimen.feedback_animation_radius_tiny);
|
| +
|
| + mSmallFeedbackPixelRadius =
|
| + getResources().getDimensionPixelSize(R.dimen.feedback_animation_radius_small);
|
|
|
| - mLargeFeedbackPixelRadius = getResources()
|
| - .getDimensionPixelSize(R.dimen.feedback_animation_radius_large);
|
| + mLargeFeedbackPixelRadius =
|
| + getResources().getDimensionPixelSize(R.dimen.feedback_animation_radius_large);
|
| }
|
|
|
| // TODO(yuweih): move showActionBar and showKeyboard out of this abstract class.
|
| @@ -124,14 +133,19 @@ public abstract class DesktopView extends SurfaceView {
|
| * Returns the radius of the given feedback type.
|
| * 0.0f will be returned if no feedback should be shown.
|
| */
|
| - protected final float getFeedbackRadius(InputFeedbackType feedbackToShow) {
|
| + protected final float getFeedbackRadius(InputFeedbackType feedbackToShow, float scaleFactor) {
|
| switch (feedbackToShow) {
|
| case NONE:
|
| return 0.0f;
|
| - case SMALL_ANIMATION:
|
| - return mSmallFeedbackPixelRadius;
|
| - case LARGE_ANIMATION:
|
| - return mLargeFeedbackPixelRadius;
|
| + case SHORT_TOUCH_ANIMATION:
|
| + return mSmallFeedbackPixelRadius / scaleFactor;
|
| + case LONG_TOUCH_ANIMATION:
|
| + return mLargeFeedbackPixelRadius / scaleFactor;
|
| + case LONG_TRACKPAD_ANIMATION:
|
| + // The size of the longpress trackpad animation is supposed to be close to the size
|
| + // of the cursor so it doesn't need to be normalized and should be scaled with the
|
| + // canvas.
|
| + return mTinyFeedbackPixelRadius;
|
| default:
|
| // Unreachable, but required by Google Java style and findbugs.
|
| assert false : "Unreached";
|
|
|