From 1709856238c61a2103a4827df1786f1d63fcd744 Mon Sep 17 00:00:00 2001 From: Yang Ni Date: Mon, 6 Apr 2015 16:58:57 -0700 Subject: [PATCH] Add a name to ScriptGroup2.Builder.create method The name is not used in any meaningful way yet, but would be used to name the file for generated code for fused kernels in other coming CLs. A script group name cannot be null or empty, or longer than 100 characters. It can only contain letters, digits, '-', or '_'. Change-Id: I95fdbf58e6689da91ca98c2057dfa1a803d3b27b --- api/current.txt | 2 +- api/system-current.txt | 2 +- rs/java/android/renderscript/ScriptGroup2.java | 8 +++++++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/api/current.txt b/api/current.txt index cb63af78dd41a..d5625e1c26d74 100644 --- a/api/current.txt +++ b/api/current.txt @@ -27623,7 +27623,7 @@ package android.renderscript { method public android.renderscript.ScriptGroup2.Closure addInvoke(android.renderscript.Script.InvokeID, java.lang.Object...); method public android.renderscript.ScriptGroup2.Closure addKernel(android.renderscript.Script.KernelID, android.renderscript.Type, java.lang.Object[], java.util.Map); method public android.renderscript.ScriptGroup2.Closure addKernel(android.renderscript.Script.KernelID, android.renderscript.Type, java.lang.Object...); - method public android.renderscript.ScriptGroup2 create(android.renderscript.ScriptGroup2.Future...); + method public android.renderscript.ScriptGroup2 create(java.lang.String, android.renderscript.ScriptGroup2.Future...); } public static class ScriptGroup2.Closure extends android.renderscript.BaseObj { diff --git a/api/system-current.txt b/api/system-current.txt index 7ef00083840ab..3bc35d17ba3ff 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -29609,7 +29609,7 @@ package android.renderscript { method public android.renderscript.ScriptGroup2.Closure addInvoke(android.renderscript.Script.InvokeID, java.lang.Object...); method public android.renderscript.ScriptGroup2.Closure addKernel(android.renderscript.Script.KernelID, android.renderscript.Type, java.lang.Object[], java.util.Map); method public android.renderscript.ScriptGroup2.Closure addKernel(android.renderscript.Script.KernelID, android.renderscript.Type, java.lang.Object...); - method public android.renderscript.ScriptGroup2 create(android.renderscript.ScriptGroup2.Future...); + method public android.renderscript.ScriptGroup2 create(java.lang.String, android.renderscript.ScriptGroup2.Future...); } public static class ScriptGroup2.Closure extends android.renderscript.BaseObj { diff --git a/rs/java/android/renderscript/ScriptGroup2.java b/rs/java/android/renderscript/ScriptGroup2.java index 9d73ac44ab5d7..e762eb7b58259 100644 --- a/rs/java/android/renderscript/ScriptGroup2.java +++ b/rs/java/android/renderscript/ScriptGroup2.java @@ -549,11 +549,17 @@ public class ScriptGroup2 extends BaseObj { /** * Creates a script group * + * @param name name for the script group. Legal names can only contain letters, digits, + * '-', or '_'. The name can be no longer than 100 characters. * @param outputs futures intended as outputs of the script group * @return a script group */ - public ScriptGroup2 create(Future... 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, mClosures, mInputs, outputs); return ret; }