Stale cache management to address a P1 bug # 3296131.
Change-Id: I593f35a91c4a14c055828f8989fe01b9e7790039
diff --git a/graphics/jni/android_renderscript_RenderScript.cpp b/graphics/jni/android_renderscript_RenderScript.cpp
index 493653a..9da4428 100644
--- a/graphics/jni/android_renderscript_RenderScript.cpp
+++ b/graphics/jni/android_renderscript_RenderScript.cpp
@@ -902,12 +902,14 @@
}
static jint
-nScriptCCreate(JNIEnv *_env, jobject _this, RsContext con, jstring resName, jstring cacheDir)
+nScriptCCreate(JNIEnv *_env, jobject _this, RsContext con, jstring packageName, jstring resName, jstring cacheDir)
{
LOG_API("nScriptCCreate, con(%p)", con);
+ const char* packageNameUTF = _env->GetStringUTFChars(packageName, NULL);
const char* resNameUTF = _env->GetStringUTFChars(resName, NULL);
const char* cacheDirUTF = _env->GetStringUTFChars(cacheDir, NULL);
- jint i = (jint)rsScriptCCreate(con, resNameUTF, cacheDirUTF);
+ jint i = (jint)rsScriptCCreate(con, packageNameUTF, resNameUTF, cacheDirUTF);
+ _env->ReleaseStringUTFChars(packageName, packageNameUTF);
_env->ReleaseStringUTFChars(resName, resNameUTF);
_env->ReleaseStringUTFChars(cacheDir, cacheDirUTF);
return i;
@@ -1301,7 +1303,7 @@
{"rsnScriptCBegin", "(I)V", (void*)nScriptCBegin },
{"rsnScriptCSetScript", "(I[BII)V", (void*)nScriptCSetScript },
-{"rsnScriptCCreate", "(ILjava/lang/String;Ljava/lang/String;)I", (void*)nScriptCCreate },
+{"rsnScriptCCreate", "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)I", (void*)nScriptCCreate },
{"rsnProgramStoreBegin", "(III)V", (void*)nProgramStoreBegin },
{"rsnProgramStoreDepthFunc", "(II)V", (void*)nProgramStoreDepthFunc },