am d782c57d: am 5352411a: Merge "Move cache dir to its own class."

* commit 'd782c57d376f27e511692ac6259759dd5a0bdced':
  Move cache dir to its own class.
This commit is contained in:
Tim Murray
2015-04-07 21:12:59 +00:00
committed by Android Git Automerger
4 changed files with 54 additions and 34 deletions

View File

@ -97,7 +97,7 @@ import android.view.ViewRootImpl;
import android.view.Window;
import android.view.WindowManager;
import android.view.WindowManagerGlobal;
import android.renderscript.RenderScript;
import android.renderscript.RenderScriptCacheDir;
import android.security.AndroidKeyStoreProvider;
import com.android.internal.app.IVoiceInteractor;
@ -4294,7 +4294,7 @@ public final class ActivityThread {
// initialize the graphics disk caches
if (packages != null && packages.length == 1) {
HardwareRenderer.setupDiskCache(cacheDir);
RenderScript.setupDiskCache(cacheDir);
RenderScriptCacheDir.setupDiskCache(cacheDir);
}
} catch (RemoteException e) {
// Ignore

View File

@ -16,7 +16,6 @@
package android.renderscript;
import java.io.File;
import java.lang.reflect.Method;
import java.util.concurrent.locks.ReentrantReadWriteLock;
@ -130,8 +129,6 @@ public class RenderScript {
native void nContextInitToClient(long con);
native void nContextDeinitToClient(long con);
static File mCacheDir;
// this should be a monotonically increasing ID
// used in conjunction with the API version of a device
static final long sMinorID = 1;
@ -146,23 +143,6 @@ public class RenderScript {
return sMinorID;
}
/**
* Sets the directory to use as a persistent storage for the
* renderscript object file cache.
*
* @hide
* @param cacheDir A directory the current process can write to
*/
public static void setupDiskCache(File cacheDir) {
if (!sInitialized) {
Log.e(LOG_TAG, "RenderScript.setupDiskCache() called when disabled");
return;
}
// Defer creation of cache path to nScriptCCreate().
mCacheDir = cacheDir;
}
/**
* ContextType specifies the specific type of context to be created.
*

View File

@ -0,0 +1,40 @@
/*
* Copyright (C) 2008-2015 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.renderscript;
import java.io.File;
/**
* Used only for tracking the RenderScript cache directory.
* @hide
*/
public class RenderScriptCacheDir {
/**
* Sets the directory to use as a persistent storage for the
* renderscript object file cache.
*
* @hide
* @param cacheDir A directory the current process can write to
*/
public static void setupDiskCache(File cacheDir) {
// Defer creation of cache path to nScriptCCreate().
mCacheDir = cacheDir;
}
static File mCacheDir;
}

View File

@ -124,7 +124,7 @@ public class ScriptC extends Script {
// Create the RS cache path if we haven't done so already.
if (mCachePath == null) {
File f = new File(rs.mCacheDir, CACHE_PATH);
File f = new File(RenderScriptCacheDir.mCacheDir, CACHE_PATH);
mCachePath = f.getAbsolutePath();
f.mkdirs();
}
@ -135,7 +135,7 @@ public class ScriptC extends Script {
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(rs.mCacheDir, CACHE_PATH);
File f = new File(RenderScriptCacheDir.mCacheDir, CACHE_PATH);
mCachePath = f.getAbsolutePath();
f.mkdirs();
}