Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit af61d43d authored by Tim Murray's avatar Tim Murray Committed by Android Git Automerger
Browse files

am 6d718c2f: Merge "Add support for setting the cache directory."

* commit '6d718c2f':
  Add support for setting the cache directory.
parents 5f8c17b9 6d718c2f
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package android.renderscript;

import java.io.File;
import java.lang.reflect.Method;
import java.util.concurrent.locks.ReentrantReadWriteLock;

@@ -231,6 +232,11 @@ public class RenderScript {
        validate();
        rsnContextSetPriority(mContext, p);
    }
    native void rsnContextSetCacheDir(long con, String cacheDir);
    synchronized void nContextSetCacheDir(String cacheDir) {
        validate();
        rsnContextSetCacheDir(mContext, cacheDir);
    }
    native void rsnContextDump(long con, int bits);
    synchronized void nContextDump(int bits) {
        validate();
@@ -1326,6 +1332,14 @@ public class RenderScript {
        if (rs.mContext == 0) {
            throw new RSDriverException("Failed to create RS context.");
        }

        // 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.mMessageThread = new MessageThread(rs);
        rs.mMessageThread.start();
        return rs;
+12 −0
Original line number Diff line number Diff line
@@ -689,6 +689,17 @@ nContextSetPriority(JNIEnv *_env, jobject _this, jlong con, jint p)
    rsContextSetPriority((RsContext)con, p);
}

static void
nContextSetCacheDir(JNIEnv *_env, jobject _this, jlong con, jstring cacheDir)
{
    AutoJavaStringToUTF8 cacheDirUTF(_env, cacheDir);

    if (kLogApi) {
        ALOGD("ContextSetCacheDir, con(%p), cacheDir(%s)", (RsContext)con, cacheDirUTF.c_str());
    }
    rsContextSetCacheDir((RsContext)con, cacheDirUTF.c_str(), cacheDirUTF.length());
}



static void
@@ -2312,6 +2323,7 @@ static JNINativeMethod methods[] = {
{"rsnContextCreateGL",               "(JIIIIIIIIIIIIFI)J",                    (void*)nContextCreateGL },
{"rsnContextFinish",                 "(J)V",                                  (void*)nContextFinish },
{"rsnContextSetPriority",            "(JI)V",                                 (void*)nContextSetPriority },
{"rsnContextSetCacheDir",            "(JLjava/lang/String;)V",                (void*)nContextSetCacheDir },
{"rsnContextSetSurface",             "(JIILandroid/view/Surface;)V",          (void*)nContextSetSurface },
{"rsnContextDestroy",                "(J)V",                                  (void*)nContextDestroy },
{"rsnContextDump",                   "(JI)V",                                 (void*)nContextDump },