[RenderScript] update the ScriptGroup2 API after name field is added.
bug: 20247311
Change-Id: Iee06cf7087ce8caad56c7530b7dae327f39f5554
diff --git a/v8/renderscript/java/src/android/support/v8/renderscript/RenderScript.java b/v8/renderscript/java/src/android/support/v8/renderscript/RenderScript.java
index d275905..7922b9e 100644
--- a/v8/renderscript/java/src/android/support/v8/renderscript/RenderScript.java
+++ b/v8/renderscript/java/src/android/support/v8/renderscript/RenderScript.java
@@ -812,10 +812,12 @@
rsnClosureSetGlobal(mContext, closureID, fieldID, value, size);
}
- native long rsnScriptGroup2Create(long con, String cachePath, long[] closures);
- synchronized long nScriptGroup2Create(String cachePath, long[] closures) {
+ native long rsnScriptGroup2Create(long con, String name, String cachePath,
+ long[] closures);
+ synchronized long nScriptGroup2Create(String name, String cachePath,
+ long[] closures) {
validate();
- return rsnScriptGroup2Create(mContext, cachePath, closures);
+ return rsnScriptGroup2Create(mContext, name, cachePath, closures);
}
native void rsnScriptGroup2Execute(long con, long groupID);
diff --git a/v8/renderscript/java/src/android/support/v8/renderscript/ScriptGroup2.java b/v8/renderscript/java/src/android/support/v8/renderscript/ScriptGroup2.java
index cb2400a..1e3d3d3 100644
--- a/v8/renderscript/java/src/android/support/v8/renderscript/ScriptGroup2.java
+++ b/v8/renderscript/java/src/android/support/v8/renderscript/ScriptGroup2.java
@@ -300,6 +300,7 @@
}
}
+ String mName;
List<Closure> mClosures;
List<UnboundValue> mInputs;
Future[] mOutputs;
@@ -310,14 +311,14 @@
super(id, rs);
}
- ScriptGroup2(RenderScript rs, List<Closure> closures,
+ ScriptGroup2(RenderScript rs, String name, List<Closure> closures,
List<UnboundValue> inputs, Future[] outputs) {
super(0, rs);
if (android.os.Build.VERSION.SDK_INT < MIN_API_VERSION && rs.isUseNative()) {
throw new RSRuntimeException("ScriptGroup2 not supported in this API level");
}
-
+ mName = name;
mClosures = closures;
mInputs = inputs;
mOutputs = outputs;
@@ -327,7 +328,7 @@
closureIDs[i] = closures.get(i).getID(rs);
}
String cachePath = rs.getApplicationContext().getCacheDir().toString();
- long id = rs.nScriptGroup2Create(cachePath, closureIDs);
+ long id = rs.nScriptGroup2Create(name, cachePath, closureIDs);
setID(id);
}
@@ -429,8 +430,12 @@
return addInvoke(invoke, args.toArray(), bindingMap);
}
- public ScriptGroup2 create(Future... outputs) {
- ScriptGroup2 ret = new ScriptGroup2(mRS, mClosures, mInputs, outputs);
+ public ScriptGroup2 create(String name, Future... outputs) {
+ if (name == null || name.isEmpty() || name.length() > 100 ||
+ !name.equals(name.replaceAll("[^a-zA-Z0-9-]", "_"))) {
+ throw new RSIllegalArgumentException("invalid script group name");
+ }
+ ScriptGroup2 ret = new ScriptGroup2(mRS, name, mClosures, mInputs, outputs);
return ret;
}