Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(461)

Unified Diff: remoting/android/java/src/org/chromium/chromoting/DesktopView.java

Issue 2272793003: [Remoting Android] New touch feedback texture (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Reviewer's Feedback Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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";
« no previous file with comments | « remoting/android/java/res/values/dimens.xml ('k') | remoting/android/java/src/org/chromium/chromoting/GlDesktopView.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698