diff options
| -rw-r--r-- | rs/java/android/renderscript/RenderScript.java | 27 | ||||
| -rw-r--r-- | rs/java/android/renderscript/ScriptC.java | 25 | ||||
| -rw-r--r-- | rs/java/android/renderscript/ScriptGroup.java | 2 |
3 files changed, 25 insertions, 29 deletions
diff --git a/rs/java/android/renderscript/RenderScript.java b/rs/java/android/renderscript/RenderScript.java index 425569cd8fa1..9beaba301072 100644 --- a/rs/java/android/renderscript/RenderScript.java +++ b/rs/java/android/renderscript/RenderScript.java @@ -1387,6 +1387,27 @@ public class RenderScript { } /** + * Name of the file that holds the object cache. + */ + private static String mCachePath; + + /** + * Gets the path to the code cache. + */ + static synchronized String getCachePath() { + if (mCachePath == null) { + final String CACHE_PATH = "com.android.renderscript.cache"; + if (RenderScriptCacheDir.mCacheDir == null) { + throw new RSRuntimeException("RenderScript code cache directory uninitialized."); + } + File f = new File(RenderScriptCacheDir.mCacheDir, CACHE_PATH); + mCachePath = f.getAbsolutePath(); + f.mkdirs(); + } + return mCachePath; + } + + /** * Create a RenderScript context. * * @param ctx The context. @@ -1415,11 +1436,7 @@ public class RenderScript { } // set up cache directory for entire context - final String CACHE_PATH = "com.android.renderscript.cache"; - File f = new File(RenderScriptCacheDir.mCacheDir, CACHE_PATH); - String mCachePath = f.getAbsolutePath(); - f.mkdirs(); - rs.nContextSetCacheDir(mCachePath); + rs.nContextSetCacheDir(RenderScript.getCachePath()); rs.mMessageThread = new MessageThread(rs); rs.mMessageThread.start(); diff --git a/rs/java/android/renderscript/ScriptC.java b/rs/java/android/renderscript/ScriptC.java index bf706c131e85..00ebe5756589 100644 --- a/rs/java/android/renderscript/ScriptC.java +++ b/rs/java/android/renderscript/ScriptC.java @@ -84,13 +84,6 @@ public class ScriptC extends Script { setID(id); } - /** - * Name of the file that holds the object cache. - */ - private static final String CACHE_PATH = "com.android.renderscript.cache"; - - static String mCachePath; - private static synchronized long internalCreate(RenderScript rs, Resources resources, int resourceID) { byte[] pgm; int pgmLength; @@ -122,26 +115,12 @@ public class ScriptC extends Script { String resName = resources.getResourceEntryName(resourceID); - // Create the RS cache path if we haven't done so already. - if (mCachePath == null) { - File f = new File(RenderScriptCacheDir.mCacheDir, CACHE_PATH); - mCachePath = f.getAbsolutePath(); - f.mkdirs(); - } // Log.v(TAG, "Create script for resource = " + resName); - return rs.nScriptCCreate(resName, mCachePath, pgm, pgmLength); + return rs.nScriptCCreate(resName, RenderScript.getCachePath(), pgm, pgmLength); } private static synchronized long internalStringCreate(RenderScript rs, String resName, byte[] bitcode) { - // Create the RS cache path if we haven't done so already. - if (mCachePath == null) { - File f = new File(RenderScriptCacheDir.mCacheDir, CACHE_PATH); - mCachePath = f.getAbsolutePath(); - f.mkdirs(); - } // Log.v(TAG, "Create script for resource = " + resName); - return rs.nScriptCCreate(resName, mCachePath, bitcode, bitcode.length); + return rs.nScriptCCreate(resName, RenderScript.getCachePath(), bitcode, bitcode.length); } - - } diff --git a/rs/java/android/renderscript/ScriptGroup.java b/rs/java/android/renderscript/ScriptGroup.java index 9bbacbc0d84c..9357c3bb0428 100644 --- a/rs/java/android/renderscript/ScriptGroup.java +++ b/rs/java/android/renderscript/ScriptGroup.java @@ -396,7 +396,7 @@ public final class ScriptGroup extends BaseObj { for (int i = 0; i < closureIDs.length; i++) { closureIDs[i] = closures.get(i).getID(rs); } - long id = rs.nScriptGroup2Create(name, ScriptC.mCachePath, closureIDs); + long id = rs.nScriptGroup2Create(name, RenderScript.getCachePath(), closureIDs); setID(id); } |