summaryrefslogtreecommitdiff
path: root/graphics/java
diff options
context:
space:
mode:
authorHaamed Gheibi <haamed@google.com>2021-07-12 20:47:45 +0000
committerHaamed Gheibi <haamed@google.com>2021-07-14 18:21:17 +0000
commit02a7ee5d65cb8d40fd1dde9aaf6b5ead9222a5a6 (patch)
tree6fb30a5bc0d0e7fadd37d62cdba537c4d5d9237b /graphics/java
parentbab7c6ab6b363574baaace4df576c1abb67f4507 (diff)
parentfa0439912edd9559d7c0f46bef2b2898de68f50f (diff)
Merge SP1A.210709.002
Change-Id: I4610885d5d770d858895057cdd9fea387a5e33dd
Diffstat (limited to 'graphics/java')
-rw-r--r--graphics/java/android/graphics/BLASTBufferQueue.java8
-rw-r--r--graphics/java/android/graphics/HardwareRenderer.java7
-rw-r--r--graphics/java/android/graphics/drawable/RippleDrawable.java12
3 files changed, 18 insertions, 9 deletions
diff --git a/graphics/java/android/graphics/BLASTBufferQueue.java b/graphics/java/android/graphics/BLASTBufferQueue.java
index 3badb5f2b4d9..d13f1d3c17c3 100644
--- a/graphics/java/android/graphics/BLASTBufferQueue.java
+++ b/graphics/java/android/graphics/BLASTBufferQueue.java
@@ -147,4 +147,12 @@ public final class BLASTBufferQueue {
nativeMergeWithNextTransaction(mNativeObject, t.mNativeObject, frameNumber);
}
+ /**
+ * Merge the transaction passed in to the next transaction in BlastBufferQueue.
+ * @param nativeTransaction native handle passed from native c/c++ code.
+ */
+ public void mergeWithNextTransaction(long nativeTransaction, long frameNumber) {
+ nativeMergeWithNextTransaction(mNativeObject, nativeTransaction, frameNumber);
+ }
+
}
diff --git a/graphics/java/android/graphics/HardwareRenderer.java b/graphics/java/android/graphics/HardwareRenderer.java
index e141d5178570..fe04f0dd4c83 100644
--- a/graphics/java/android/graphics/HardwareRenderer.java
+++ b/graphics/java/android/graphics/HardwareRenderer.java
@@ -912,7 +912,7 @@ public class HardwareRenderer {
* @param aSurfaceControlNativeObj ASurfaceControl native object handle
* @param frame The id of the frame being drawn.
*/
- void onMergeTransaction(long aSurfaceTranactionNativeObj,
+ boolean onMergeTransaction(long aSurfaceTranactionNativeObj,
long aSurfaceControlNativeObj, long frame);
}
@@ -1304,6 +1304,11 @@ public class HardwareRenderer {
*/
public static native void preload();
+ /**
+ * @hide
+ */
+ public static native boolean isWebViewOverlaysEnabled();
+
/** @hide */
protected static native void setupShadersDiskCache(String cacheFile, String skiaCacheFile);
diff --git a/graphics/java/android/graphics/drawable/RippleDrawable.java b/graphics/java/android/graphics/drawable/RippleDrawable.java
index 8aba87ba3c8f..b994ad20320b 100644
--- a/graphics/java/android/graphics/drawable/RippleDrawable.java
+++ b/graphics/java/android/graphics/drawable/RippleDrawable.java
@@ -184,7 +184,6 @@ public class RippleDrawable extends LayerDrawable {
private PorterDuffColorFilter mMaskColorFilter;
private PorterDuffColorFilter mFocusColorFilter;
private boolean mHasValidMask;
- private int mComputedRadius = -1;
/** The current ripple. May be actively animating or pending entry. */
private RippleForeground mRipple;
@@ -390,8 +389,6 @@ public class RippleDrawable extends LayerDrawable {
if (mRipple != null) {
mRipple.onBoundsChange();
}
-
- mComputedRadius = Math.round(computeRadius());
invalidateSelf();
}
@@ -750,7 +747,7 @@ public class RippleDrawable extends LayerDrawable {
if (mBackground != null) {
mBackground.onHotspotBoundsChanged();
}
- float newRadius = Math.round(computeRadius());
+ float newRadius = Math.round(getComputedRadius());
for (int i = 0; i < mRunningAnimations.size(); i++) {
RippleAnimationSession s = mRunningAnimations.get(i);
s.setRadius(newRadius);
@@ -939,14 +936,13 @@ public class RippleDrawable extends LayerDrawable {
}
private float computeRadius() {
- Rect b = getDirtyBounds();
- float radius = (float) Math.sqrt(b.width() * b.width() + b.height() * b.height()) / 2;
- return radius;
+ final float halfWidth = mHotspotBounds.width() / 2.0f;
+ final float halfHeight = mHotspotBounds.height() / 2.0f;
+ return (float) Math.sqrt(halfWidth * halfWidth + halfHeight * halfHeight);
}
private int getComputedRadius() {
if (mState.mMaxRadius >= 0) return mState.mMaxRadius;
- if (mComputedRadius >= 0) return mComputedRadius;
return (int) computeRadius();
}