Chromium Code Reviews| Index: remoting/android/java/src/org/chromium/chromoting/FeedbackAnimator.java |
| diff --git a/remoting/android/java/src/org/chromium/chromoting/FeedbackAnimator.java b/remoting/android/java/src/org/chromium/chromoting/FeedbackAnimator.java |
| index 4a1ff236aee80de42dd5112a63e3c1946ce0c35d..317e680fa5dc258185e8a4cc5db73f033516e504 100644 |
| --- a/remoting/android/java/src/org/chromium/chromoting/FeedbackAnimator.java |
| +++ b/remoting/android/java/src/org/chromium/chromoting/FeedbackAnimator.java |
| @@ -10,6 +10,7 @@ import android.graphics.Point; |
| import android.graphics.RadialGradient; |
| import android.graphics.Shader; |
| import android.os.SystemClock; |
| +import android.view.View; |
| /** Helper class for displaying the press feedback animations. */ |
| public final class FeedbackAnimator |
| @@ -17,6 +18,9 @@ public final class FeedbackAnimator |
| /** Total duration of the animation, in milliseconds. */ |
| private static final float TOTAL_DURATION_MS = 220; |
| + private static float sSmallFeedbackPixelRadius = -1; |
| + private static float sLargeFeedbackPixelRadius = -1; |
| + |
| /** Start time of the animation, from {@link SystemClock#uptimeMillis()}. */ |
| private final long mStartTimeInMs; |
| @@ -42,16 +46,25 @@ public final class FeedbackAnimator |
| } |
| view.onPaint().addSelfRemovable(new FeedbackAnimator( |
| - getInputFeedbackSizeInPixels(feedbackType), pos)); |
| + getInputFeedbackSizeInPixels(feedbackType, view), pos)); |
| } |
| - private static float getInputFeedbackSizeInPixels(DesktopView.InputFeedbackType feedbackType) { |
| + private static float getInputFeedbackSizeInPixels(DesktopView.InputFeedbackType feedbackType, |
| + View view) { |
|
Lambros
2016/07/25 22:14:32
I think it's more idiomatic to pass a Context rath
|
| switch (feedbackType) { |
| case SMALL_ANIMATION: |
| - return 40.0f; |
| + if (sSmallFeedbackPixelRadius < 0) { |
| + sSmallFeedbackPixelRadius = view.getResources() |
| + .getDimensionPixelSize(R.dimen.feedback_animation_radius_small); |
|
Lambros
2016/07/25 22:14:32
The dp/pixel scaling factor is dependent on the Co
Lambros
2016/07/25 22:28:45
Actually, I'm not sure about this. The scaling fac
|
| + } |
| + return sSmallFeedbackPixelRadius; |
| case LARGE_ANIMATION: |
| - return 160.0f; |
| + if (sLargeFeedbackPixelRadius < 0) { |
| + sLargeFeedbackPixelRadius = view.getResources() |
| + .getDimensionPixelSize(R.dimen.feedback_animation_radius_large); |
| + } |
| + return sLargeFeedbackPixelRadius; |
| default: |
| // Unreachable, but required by Google Java style and findbugs. |