diff options
| author | 2019-05-08 19:46:13 +0000 | |
|---|---|---|
| committer | 2019-05-08 19:46:13 +0000 | |
| commit | ea5576ef7e0932ed3d7eb4cbffd74e7b863c8da1 (patch) | |
| tree | 790e6eab3ef67ebdc0d69bfb8aa285d58329a915 | |
| parent | 3d8f771d95897ef9df827ba2e953361ffd3a188d (diff) | |
| parent | 41149c3031438ab801892ebb7100336ef614ba77 (diff) | |
Merge "ANGLE: Reorder debug package check" into qt-dev
| -rw-r--r-- | core/java/android/os/GraphicsEnvironment.java | 42 |
1 files changed, 25 insertions, 17 deletions
diff --git a/core/java/android/os/GraphicsEnvironment.java b/core/java/android/os/GraphicsEnvironment.java index 7dbc16a56a7b..1868d0596acc 100644 --- a/core/java/android/os/GraphicsEnvironment.java +++ b/core/java/android/os/GraphicsEnvironment.java @@ -618,28 +618,36 @@ public class GraphicsEnvironment { return false; } - final String anglePkgName = getAnglePackageName(pm); - if (anglePkgName.isEmpty()) { - Log.e(TAG, "Failed to find ANGLE package."); - return false; - } + ApplicationInfo angleInfo = null; - final ApplicationInfo angleInfo; - String angleDebugPackage = getAngleDebugPackage(context, bundle); - if (!angleDebugPackage.isEmpty()) { - Log.i(TAG, "ANGLE debug package enabled: " + angleDebugPackage); + // If the developer has specified a debug package over ADB, attempt to find it + String anglePkgName = getAngleDebugPackage(context, bundle); + if (!anglePkgName.isEmpty()) { + Log.i(TAG, "ANGLE debug package enabled: " + anglePkgName); try { // Note the debug package does not have to be pre-installed - angleInfo = pm.getApplicationInfo(angleDebugPackage, 0); + angleInfo = pm.getApplicationInfo(anglePkgName, 0); } catch (PackageManager.NameNotFoundException e) { - Log.w(TAG, "ANGLE debug package '" + angleDebugPackage + "' not installed"); + Log.w(TAG, "ANGLE debug package '" + anglePkgName + "' not installed"); return false; } - } else { - try { - angleInfo = pm.getApplicationInfo(anglePkgName, PackageManager.MATCH_SYSTEM_ONLY); - } catch (PackageManager.NameNotFoundException e) { - Log.w(TAG, "ANGLE package '" + anglePkgName + "' not installed"); + } + + // Otherwise, check to see if ANGLE is properly installed + if (angleInfo == null) { + anglePkgName = getAnglePackageName(pm); + if (!anglePkgName.isEmpty()) { + Log.i(TAG, "ANGLE package enabled: " + anglePkgName); + try { + // Production ANGLE libraries must be pre-installed as a system app + angleInfo = pm.getApplicationInfo(anglePkgName, + PackageManager.MATCH_SYSTEM_ONLY); + } catch (PackageManager.NameNotFoundException e) { + Log.w(TAG, "ANGLE package '" + anglePkgName + "' not installed"); + return false; + } + } else { + Log.e(TAG, "Failed to find ANGLE package."); return false; } } @@ -700,7 +708,7 @@ public class GraphicsEnvironment { private boolean setupAndUseAngle(Context context, String packageName) { // Need to make sure we are evaluating ANGLE usage for the correct circumstances if (!setupAngle(context, null, context.getPackageManager(), packageName)) { - Log.v(TAG, "Package '" + packageName + "' should use not ANGLE"); + Log.v(TAG, "Package '" + packageName + "' should not use ANGLE"); return false; } |