summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Jared Duke <jdduke@google.com> 2022-01-27 22:45:47 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2022-01-27 22:45:47 +0000
commit5ff99b87c50948e37394d5c769ce9173f5c7028b (patch)
tree6dab44aeb37b57ed02b561551982b45080a4058b
parent15ceb0bb37c3248dc1438043e28c07615a8a07df (diff)
parent912b87abee7676acd5317f82dbaeec6f0823d656 (diff)
Merge "Avoid reflection with ObjectAnimator"
-rw-r--r--core/java/android/inputmethodservice/navigationbar/DeadZone.java17
-rw-r--r--packages/SystemUI/src/com/android/systemui/ExpandHelper.java17
-rw-r--r--packages/SystemUI/src/com/android/systemui/navigationbar/buttons/DeadZone.java17
3 files changed, 48 insertions, 3 deletions
diff --git a/core/java/android/inputmethodservice/navigationbar/DeadZone.java b/core/java/android/inputmethodservice/navigationbar/DeadZone.java
index cd857369bc5a..4adc84bf0b6f 100644
--- a/core/java/android/inputmethodservice/navigationbar/DeadZone.java
+++ b/core/java/android/inputmethodservice/navigationbar/DeadZone.java
@@ -27,6 +27,7 @@ import android.content.res.Configuration;
import android.content.res.Resources;
import android.graphics.Canvas;
import android.os.SystemClock;
+import android.util.FloatProperty;
import android.util.Log;
import android.view.MotionEvent;
import android.view.Surface;
@@ -46,6 +47,20 @@ final class DeadZone {
public static final int VERTICAL = 1; // Consume taps along the left edge.
private static final boolean CHATTY = true; // print to logcat when we eat a click
+
+ private static final FloatProperty<DeadZone> FLASH_PROPERTY =
+ new FloatProperty<DeadZone>("DeadZoneFlash") {
+ @Override
+ public void setValue(DeadZone object, float value) {
+ object.setFlash(value);
+ }
+
+ @Override
+ public Float get(DeadZone object) {
+ return object.getFlash();
+ }
+ };
+
private final NavigationBarView mNavigationBarView;
private boolean mShouldFlash;
@@ -63,7 +78,7 @@ final class DeadZone {
private final Runnable mDebugFlash = new Runnable() {
@Override
public void run() {
- ObjectAnimator.ofFloat(DeadZone.this, "flash", 1f, 0f).setDuration(150).start();
+ ObjectAnimator.ofFloat(DeadZone.this, FLASH_PROPERTY, 1f, 0f).setDuration(150).start();
}
};
diff --git a/packages/SystemUI/src/com/android/systemui/ExpandHelper.java b/packages/SystemUI/src/com/android/systemui/ExpandHelper.java
index 0b967b7c5e67..f00615bc0fe6 100644
--- a/packages/SystemUI/src/com/android/systemui/ExpandHelper.java
+++ b/packages/SystemUI/src/com/android/systemui/ExpandHelper.java
@@ -23,6 +23,7 @@ import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.animation.ObjectAnimator;
import android.content.Context;
+import android.util.FloatProperty;
import android.util.Log;
import android.view.Gravity;
import android.view.HapticFeedbackConstants;
@@ -69,6 +70,19 @@ public class ExpandHelper implements Gefingerpoken {
// 2f: maximum brightness is stretching a 1U to 3U, or a 4U to 6U
private static final float STRETCH_INTERVAL = 2f;
+ private static final FloatProperty<ViewScaler> VIEW_SCALER_HEIGHT_PROPERTY =
+ new FloatProperty<ViewScaler>("ViewScalerHeight") {
+ @Override
+ public void setValue(ViewScaler object, float value) {
+ object.setHeight(value);
+ }
+
+ @Override
+ public Float get(ViewScaler object) {
+ return object.getHeight();
+ }
+ };
+
@SuppressWarnings("unused")
private Context mContext;
@@ -147,6 +161,7 @@ public class ExpandHelper implements Gefingerpoken {
public void setView(ExpandableView v) {
mView = v;
}
+
public void setHeight(float h) {
if (DEBUG_SCALE) Log.v(TAG, "SetHeight: setting to " + h);
mView.setActualHeight((int) h);
@@ -176,7 +191,7 @@ public class ExpandHelper implements Gefingerpoken {
mCallback = callback;
mScaler = new ViewScaler();
mGravity = Gravity.TOP;
- mScaleAnimation = ObjectAnimator.ofFloat(mScaler, "height", 0f);
+ mScaleAnimation = ObjectAnimator.ofFloat(mScaler, VIEW_SCALER_HEIGHT_PROPERTY, 0f);
mPullGestureMinXSpan = mContext.getResources().getDimension(R.dimen.pull_span_min);
final ViewConfiguration configuration = ViewConfiguration.get(mContext);
diff --git a/packages/SystemUI/src/com/android/systemui/navigationbar/buttons/DeadZone.java b/packages/SystemUI/src/com/android/systemui/navigationbar/buttons/DeadZone.java
index 7e5b5548237b..7fb58f0d8fc6 100644
--- a/packages/SystemUI/src/com/android/systemui/navigationbar/buttons/DeadZone.java
+++ b/packages/SystemUI/src/com/android/systemui/navigationbar/buttons/DeadZone.java
@@ -20,6 +20,7 @@ import android.animation.ObjectAnimator;
import android.content.res.Resources;
import android.graphics.Canvas;
import android.os.SystemClock;
+import android.util.FloatProperty;
import android.util.Slog;
import android.view.MotionEvent;
import android.view.Surface;
@@ -44,6 +45,20 @@ public class DeadZone {
public static final int VERTICAL = 1; // Consume taps along the left edge.
private static final boolean CHATTY = true; // print to logcat when we eat a click
+
+ private static final FloatProperty<DeadZone> FLASH_PROPERTY =
+ new FloatProperty<DeadZone>("DeadZoneFlash") {
+ @Override
+ public void setValue(DeadZone object, float value) {
+ object.setFlash(value);
+ }
+
+ @Override
+ public Float get(DeadZone object) {
+ return object.getFlash();
+ }
+ };
+
private final NavigationBarController mNavBarController;
private final NavigationBarView mNavigationBarView;
@@ -63,7 +78,7 @@ public class DeadZone {
private final Runnable mDebugFlash = new Runnable() {
@Override
public void run() {
- ObjectAnimator.ofFloat(DeadZone.this, "flash", 1f, 0f).setDuration(150).start();
+ ObjectAnimator.ofFloat(DeadZone.this, FLASH_PROPERTY, 1f, 0f).setDuration(150).start();
}
};