summaryrefslogtreecommitdiff
path: root/graphics/java/android/renderscript/RenderScript.java
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/java/android/renderscript/RenderScript.java')
-rw-r--r--graphics/java/android/renderscript/RenderScript.java29
1 files changed, 20 insertions, 9 deletions
diff --git a/graphics/java/android/renderscript/RenderScript.java b/graphics/java/android/renderscript/RenderScript.java
index c6dcff5f069b..5f93f5b769ec 100644
--- a/graphics/java/android/renderscript/RenderScript.java
+++ b/graphics/java/android/renderscript/RenderScript.java
@@ -18,6 +18,7 @@ package android.renderscript;
import java.lang.reflect.Field;
+import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.util.Config;
@@ -42,9 +43,9 @@ public class RenderScript {
@SuppressWarnings({"UnusedDeclaration", "deprecation"})
static final boolean LOG_ENABLED = DEBUG ? Config.LOGD : Config.LOGV;
+ private Context mApplicationContext;
-
- /*
+ /*
* We use a class initializer to allow the native code to cache some
* field offsets.
*/
@@ -416,9 +417,9 @@ public class RenderScript {
synchronized void nScriptCSetScript(byte[] script, int offset, int length) {
rsnScriptCSetScript(mContext, script, offset, length);
}
- native int rsnScriptCCreate(int con, String val);
- synchronized int nScriptCCreate(String val) {
- return rsnScriptCCreate(mContext, val);
+ native int rsnScriptCCreate(int con, String val, String cacheDir);
+ synchronized int nScriptCCreate(String resName, String cacheDir) {
+ return rsnScriptCCreate(mContext, resName, cacheDir);
}
native void rsnSamplerBegin(int con);
@@ -776,17 +777,27 @@ public class RenderScript {
}
}
- RenderScript() {
+ RenderScript(Context ctx) {
+ mApplicationContext = ctx.getApplicationContext();
}
/**
- * Create a basic RenderScript context.
+ * Gets the application context associated with the RenderScript context.
*
+ * @return The application context.
+ */
+ public final Context getApplicationContext() {
+ return mApplicationContext;
+ }
+
+ /**
+ * Create a basic RenderScript context.
*
+ * @param ctx The context.
* @return RenderScript
*/
- public static RenderScript create() {
- RenderScript rs = new RenderScript();
+ public static RenderScript create(Context ctx) {
+ RenderScript rs = new RenderScript(ctx);
rs.mDev = rs.nDeviceCreate();
rs.mContext = rs.nContextCreate(rs.mDev, 0);