summaryrefslogtreecommitdiffstats
path: root/graphics/java/android
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/java/android')
-rw-r--r--graphics/java/android/graphics/drawable/AnimatedRotateDrawable.java5
-rw-r--r--graphics/java/android/graphics/drawable/BitmapDrawable.java5
-rw-r--r--graphics/java/android/graphics/drawable/ClipDrawable.java5
-rw-r--r--graphics/java/android/graphics/drawable/ColorDrawable.java1
-rw-r--r--graphics/java/android/graphics/drawable/Drawable.java11
-rw-r--r--graphics/java/android/graphics/drawable/DrawableContainer.java5
-rw-r--r--graphics/java/android/graphics/drawable/GradientDrawable.java5
-rw-r--r--graphics/java/android/graphics/drawable/InsetDrawable.java7
-rw-r--r--graphics/java/android/graphics/drawable/LayerDrawable.java13
-rw-r--r--graphics/java/android/graphics/drawable/NinePatchDrawable.java9
-rw-r--r--graphics/java/android/graphics/drawable/RotateDrawable.java5
-rw-r--r--graphics/java/android/graphics/drawable/ScaleDrawable.java5
-rw-r--r--graphics/java/android/graphics/drawable/ShapeDrawable.java7
-rw-r--r--graphics/java/android/renderscript/RenderScript.java29
14 files changed, 101 insertions, 11 deletions
diff --git a/graphics/java/android/graphics/drawable/AnimatedRotateDrawable.java b/graphics/java/android/graphics/drawable/AnimatedRotateDrawable.java
index 34f9070..9042ce6 100644
--- a/graphics/java/android/graphics/drawable/AnimatedRotateDrawable.java
+++ b/graphics/java/android/graphics/drawable/AnimatedRotateDrawable.java
@@ -153,6 +153,11 @@ public class AnimatedRotateDrawable extends Drawable implements Drawable.Callbac
}
@Override
+ public int getAlpha() {
+ return mState.mDrawable.getAlpha();
+ }
+
+ @Override
public void setColorFilter(ColorFilter cf) {
mState.mDrawable.setColorFilter(cf);
}
diff --git a/graphics/java/android/graphics/drawable/BitmapDrawable.java b/graphics/java/android/graphics/drawable/BitmapDrawable.java
index 675c4b6..41765b3 100644
--- a/graphics/java/android/graphics/drawable/BitmapDrawable.java
+++ b/graphics/java/android/graphics/drawable/BitmapDrawable.java
@@ -456,6 +456,11 @@ public class BitmapDrawable extends Drawable {
}
@Override
+ public int getAlpha() {
+ return mBitmapState.mPaint.getAlpha();
+ }
+
+ @Override
public void setColorFilter(ColorFilter cf) {
mBitmapState.mPaint.setColorFilter(cf);
invalidateSelf();
diff --git a/graphics/java/android/graphics/drawable/ClipDrawable.java b/graphics/java/android/graphics/drawable/ClipDrawable.java
index b7429d4..dcfe20f 100644
--- a/graphics/java/android/graphics/drawable/ClipDrawable.java
+++ b/graphics/java/android/graphics/drawable/ClipDrawable.java
@@ -158,6 +158,11 @@ public class ClipDrawable extends Drawable implements Drawable.Callback {
}
@Override
+ public int getAlpha() {
+ return mClipState.mDrawable.getAlpha();
+ }
+
+ @Override
public void setColorFilter(ColorFilter cf) {
mClipState.mDrawable.setColorFilter(cf);
}
diff --git a/graphics/java/android/graphics/drawable/ColorDrawable.java b/graphics/java/android/graphics/drawable/ColorDrawable.java
index d11e554..61dd675 100644
--- a/graphics/java/android/graphics/drawable/ColorDrawable.java
+++ b/graphics/java/android/graphics/drawable/ColorDrawable.java
@@ -116,6 +116,7 @@ public class ColorDrawable extends Drawable {
*
* @return A value between 0 and 255.
*/
+ @Override
public int getAlpha() {
return mState.mUseColor >>> 24;
}
diff --git a/graphics/java/android/graphics/drawable/Drawable.java b/graphics/java/android/graphics/drawable/Drawable.java
index d5183d5..66f7a5e 100644
--- a/graphics/java/android/graphics/drawable/Drawable.java
+++ b/graphics/java/android/graphics/drawable/Drawable.java
@@ -411,6 +411,17 @@ public abstract class Drawable {
public abstract void setAlpha(int alpha);
/**
+ * Gets the current alpha value for the drawable. 0 means fully transparent,
+ * 255 means fully opaque. This method is implemented by
+ * Drawable subclasses and the value returned is specific to how that class treats alpha.
+ * The default return value is 255 if the class does not override this method to return a value
+ * specific to its use of alpha.
+ */
+ public int getAlpha() {
+ return 0xFF;
+ }
+
+ /**
* Specify an optional colorFilter for the drawable. Pass null to remove
* any filters.
*/
diff --git a/graphics/java/android/graphics/drawable/DrawableContainer.java b/graphics/java/android/graphics/drawable/DrawableContainer.java
index 8a4d598..40089be 100644
--- a/graphics/java/android/graphics/drawable/DrawableContainer.java
+++ b/graphics/java/android/graphics/drawable/DrawableContainer.java
@@ -114,6 +114,11 @@ public class DrawableContainer extends Drawable implements Drawable.Callback {
}
@Override
+ public int getAlpha() {
+ return mAlpha;
+ }
+
+ @Override
public void setDither(boolean dither) {
if (mDrawableContainerState.mDither != dither) {
mDrawableContainerState.mDither = dither;
diff --git a/graphics/java/android/graphics/drawable/GradientDrawable.java b/graphics/java/android/graphics/drawable/GradientDrawable.java
index b966bb4..d226c8c 100644
--- a/graphics/java/android/graphics/drawable/GradientDrawable.java
+++ b/graphics/java/android/graphics/drawable/GradientDrawable.java
@@ -639,6 +639,11 @@ public class GradientDrawable extends Drawable {
}
@Override
+ public int getAlpha() {
+ return mAlpha;
+ }
+
+ @Override
public void setDither(boolean dither) {
if (dither != mDither) {
mDither = dither;
diff --git a/graphics/java/android/graphics/drawable/InsetDrawable.java b/graphics/java/android/graphics/drawable/InsetDrawable.java
index 231234c..1507a9b 100644
--- a/graphics/java/android/graphics/drawable/InsetDrawable.java
+++ b/graphics/java/android/graphics/drawable/InsetDrawable.java
@@ -192,7 +192,12 @@ public class InsetDrawable extends Drawable implements Drawable.Callback
public void setAlpha(int alpha) {
mInsetState.mDrawable.setAlpha(alpha);
}
-
+
+ @Override
+ public int getAlpha() {
+ return mInsetState.mDrawable.getAlpha();
+ }
+
@Override
public void setColorFilter(ColorFilter cf) {
mInsetState.mDrawable.setColorFilter(cf);
diff --git a/graphics/java/android/graphics/drawable/LayerDrawable.java b/graphics/java/android/graphics/drawable/LayerDrawable.java
index dd692c6..dfbd986 100644
--- a/graphics/java/android/graphics/drawable/LayerDrawable.java
+++ b/graphics/java/android/graphics/drawable/LayerDrawable.java
@@ -402,7 +402,18 @@ public class LayerDrawable extends Drawable implements Drawable.Callback {
array[i].mDrawable.setAlpha(alpha);
}
}
-
+
+ @Override
+ public int getAlpha() {
+ final ChildDrawable[] array = mLayerState.mChildren;
+ if (mLayerState.mNum > 0) {
+ // All layers should have the same alpha set on them - just return the first one
+ return array[0].mDrawable.getAlpha();
+ } else {
+ return super.getAlpha();
+ }
+ }
+
@Override
public void setColorFilter(ColorFilter cf) {
final ChildDrawable[] array = mLayerState.mChildren;
diff --git a/graphics/java/android/graphics/drawable/NinePatchDrawable.java b/graphics/java/android/graphics/drawable/NinePatchDrawable.java
index a9dc22b..8429e24 100644
--- a/graphics/java/android/graphics/drawable/NinePatchDrawable.java
+++ b/graphics/java/android/graphics/drawable/NinePatchDrawable.java
@@ -251,6 +251,15 @@ public class NinePatchDrawable extends Drawable {
}
@Override
+ public int getAlpha() {
+ if (mPaint == null) {
+ // Fast common case -- normal alpha.
+ return 0xFF;
+ }
+ return getPaint().getAlpha();
+ }
+
+ @Override
public void setColorFilter(ColorFilter cf) {
if (mPaint == null && cf == null) {
// Fast common case -- leave at no color filter.
diff --git a/graphics/java/android/graphics/drawable/RotateDrawable.java b/graphics/java/android/graphics/drawable/RotateDrawable.java
index e987679..7cbc737 100644
--- a/graphics/java/android/graphics/drawable/RotateDrawable.java
+++ b/graphics/java/android/graphics/drawable/RotateDrawable.java
@@ -108,6 +108,11 @@ public class RotateDrawable extends Drawable implements Drawable.Callback {
mState.mDrawable.setAlpha(alpha);
}
+ @Override
+ public int getAlpha() {
+ return mState.mDrawable.getAlpha();
+ }
+
public void setColorFilter(ColorFilter cf) {
mState.mDrawable.setColorFilter(cf);
}
diff --git a/graphics/java/android/graphics/drawable/ScaleDrawable.java b/graphics/java/android/graphics/drawable/ScaleDrawable.java
index bd2b2f0..8a28b2b 100644
--- a/graphics/java/android/graphics/drawable/ScaleDrawable.java
+++ b/graphics/java/android/graphics/drawable/ScaleDrawable.java
@@ -177,6 +177,11 @@ public class ScaleDrawable extends Drawable implements Drawable.Callback {
}
@Override
+ public int getAlpha() {
+ return mScaleState.mDrawable.getAlpha();
+ }
+
+ @Override
public void setColorFilter(ColorFilter cf) {
mScaleState.mDrawable.setColorFilter(cf);
}
diff --git a/graphics/java/android/graphics/drawable/ShapeDrawable.java b/graphics/java/android/graphics/drawable/ShapeDrawable.java
index 1dbcddb..93f2dc6 100644
--- a/graphics/java/android/graphics/drawable/ShapeDrawable.java
+++ b/graphics/java/android/graphics/drawable/ShapeDrawable.java
@@ -252,7 +252,12 @@ public class ShapeDrawable extends Drawable {
mShapeState.mAlpha = alpha;
invalidateSelf();
}
-
+
+ @Override
+ public int getAlpha() {
+ return mShapeState.mAlpha;
+ }
+
@Override
public void setColorFilter(ColorFilter cf) {
mShapeState.mPaint.setColorFilter(cf);
diff --git a/graphics/java/android/renderscript/RenderScript.java b/graphics/java/android/renderscript/RenderScript.java
index 6f614c3..a2878b9 100644
--- a/graphics/java/android/renderscript/RenderScript.java
+++ b/graphics/java/android/renderscript/RenderScript.java
@@ -29,6 +29,7 @@ import android.graphics.SurfaceTexture;
import android.os.Process;
import android.util.Log;
import android.view.Surface;
+import android.os.SystemProperties;
@@ -56,20 +57,22 @@ public class RenderScript {
* We use a class initializer to allow the native code to cache some
* field offsets.
*/
- @SuppressWarnings({"FieldCanBeLocal", "UnusedDeclaration"})
+ @SuppressWarnings({"FieldCanBeLocal", "UnusedDeclaration"}) // TODO: now used locally; remove?
static boolean sInitialized;
native static void _nInit();
static {
sInitialized = false;
- try {
- System.loadLibrary("rs_jni");
- _nInit();
- sInitialized = true;
- } catch (UnsatisfiedLinkError e) {
- Log.e(LOG_TAG, "Error loading RS jni library: " + e);
- throw new RSRuntimeException("Error loading RS jni library: " + e);
+ if (!SystemProperties.getBoolean("config.disable_renderscript", false)) {
+ try {
+ System.loadLibrary("rs_jni");
+ _nInit();
+ sInitialized = true;
+ } catch (UnsatisfiedLinkError e) {
+ Log.e(LOG_TAG, "Error loading RS jni library: " + e);
+ throw new RSRuntimeException("Error loading RS jni library: " + e);
+ }
}
}
@@ -93,6 +96,11 @@ public class RenderScript {
* @param cacheDir A directory the current process can write to
*/
public static void setupDiskCache(File cacheDir) {
+ if (!sInitialized) {
+ Log.e(LOG_TAG, "RenderScript.setupDiskCache() called when disabled");
+ return;
+ }
+
// Defer creation of cache path to nScriptCCreate().
mCacheDir = cacheDir;
}
@@ -1121,6 +1129,11 @@ public class RenderScript {
* @return RenderScript
*/
public static RenderScript create(Context ctx, int sdkVersion, ContextType ct) {
+ if (!sInitialized) {
+ Log.e(LOG_TAG, "RenderScript.create() called when disabled; someone is likely to crash");
+ return null;
+ }
+
RenderScript rs = new RenderScript(ctx);
rs.mDev = rs.nDeviceCreate();