summaryrefslogtreecommitdiffstats
path: root/packages/DefaultContainerService
diff options
context:
space:
mode:
authorNarayan Kamath <narayan@google.com>2014-06-03 13:58:35 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-06-03 13:58:35 +0000
commitc32a244e907719e03d0fae42b20401dcd2c595fc (patch)
tree6aa66d59b39ddf1a1e378fb60473a6b011dc4398 /packages/DefaultContainerService
parent5770f2bfab686bd455d5999a76eed7d16098f453 (diff)
parentdd2e9d3386d2d74f99f79bcad951ff5cdefa6fab (diff)
downloadframeworks_base-c32a244e907719e03d0fae42b20401dcd2c595fc.zip
frameworks_base-c32a244e907719e03d0fae42b20401dcd2c595fc.tar.gz
frameworks_base-c32a244e907719e03d0fae42b20401dcd2c595fc.tar.bz2
am dd2e9d33: am 7cb13f8a: Merge "Scan for renderscript files before deciding ABIs."
* commit 'dd2e9d3386d2d74f99f79bcad951ff5cdefa6fab': Scan for renderscript files before deciding ABIs.
Diffstat (limited to 'packages/DefaultContainerService')
-rw-r--r--packages/DefaultContainerService/src/com/android/defcontainer/DefaultContainerService.java19
1 files changed, 16 insertions, 3 deletions
diff --git a/packages/DefaultContainerService/src/com/android/defcontainer/DefaultContainerService.java b/packages/DefaultContainerService/src/com/android/defcontainer/DefaultContainerService.java
index b02aefc..e4de641 100644
--- a/packages/DefaultContainerService/src/com/android/defcontainer/DefaultContainerService.java
+++ b/packages/DefaultContainerService/src/com/android/defcontainer/DefaultContainerService.java
@@ -88,7 +88,7 @@ public class DefaultContainerService extends IntentService {
private IMediaContainerService.Stub mBinder = new IMediaContainerService.Stub() {
/**
* Creates a new container and copies resource there.
- * @param paackageURI the uri of resource to be copied. Can be either
+ * @param packageURI the uri of resource to be copied. Can be either
* a content uri or a file uri
* @param cid the id of the secure container that should
* be used for creating a secure container into which the resource
@@ -342,9 +342,22 @@ public class DefaultContainerService extends IntentService {
// The .apk file
String codePath = packageURI.getPath();
File codeFile = new File(codePath);
- String[] abiList = (abiOverride != null) ? new String[] { abiOverride }
- : Build.SUPPORTED_ABIS;
NativeLibraryHelper.ApkHandle handle = new NativeLibraryHelper.ApkHandle(codePath);
+ String[] abiList = Build.SUPPORTED_ABIS;
+ if (abiOverride != null) {
+ abiList = new String[] { abiList };
+ } else {
+ try {
+ if (Build.SUPPORTED_64_BIT_ABIS.length > 0 &&
+ NativeLibraryHelper.hasRenderscriptBitcode(handle)) {
+ abiList = Build.SUPPORTED_32_BIT_ABIS;
+ }
+ } catch (IOException ioe) {
+ Slog.w(TAG, "Problem determining ABI for: " + codeFile.getPath());
+ return null;
+ }
+ }
+
final int abi = NativeLibraryHelper.findSupportedAbi(handle, abiList);
// Calculate size of container needed to hold base APK.