From abfc8bba86f7ac8dd3693728a213e7d7c427bdff Mon Sep 17 00:00:00 2001 From: Tim Van Patten Date: Fri, 3 Jan 2025 09:49:26 -0700 Subject: Update logging in getAnglePackageName() The ANGLE APK may not be present if ANGLE is the native driver. However, we still want to attempt to load the ANGLE APK if it's present so we use the latest/developer libraries. If the APK is not present, this can lead to misleading log messages such as: Invalid number of ANGLE packages. Required: 1, Found: 0 It is not "invalid" for zero ANGLE APKs to be installed when ANGLE is the native driver. Update the logging to separate out when: * No APKs are installed, omitting the "invalid" messaging. * Too many ANGLE packages are found, since there should never be >1. This also removes the redundant logging from setupAngleFromApk(). Also cleans up ".get(0)" to ".getFirst()", to remove a warning. Bug: 372694741 Test: Manual verification of log message with ANGLE as native driver. Change-Id: Icf820b44c4c7391f08d17d44a59951ba6340a2d0 --- core/java/android/os/GraphicsEnvironment.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/core/java/android/os/GraphicsEnvironment.java b/core/java/android/os/GraphicsEnvironment.java index beb9a935a6ee..0f1140efe22b 100644 --- a/core/java/android/os/GraphicsEnvironment.java +++ b/core/java/android/os/GraphicsEnvironment.java @@ -479,9 +479,11 @@ public class GraphicsEnvironment { final List resolveInfos = pm.queryIntentActivities(intent, PackageManager.MATCH_SYSTEM_ONLY); - if (resolveInfos.size() != 1) { - Log.v(TAG, "Invalid number of ANGLE packages. Required: 1, Found: " - + resolveInfos.size()); + if (resolveInfos.isEmpty()) { + Log.v(TAG, "No ANGLE packages installed."); + return ""; + } else if (resolveInfos.size() > 1) { + Log.v(TAG, "Too many ANGLE packages found: " + resolveInfos.size()); if (DEBUG) { for (ResolveInfo resolveInfo : resolveInfos) { Log.d(TAG, "Found ANGLE package: " + resolveInfo.activityInfo.packageName); @@ -491,7 +493,7 @@ public class GraphicsEnvironment { } // Must be exactly 1 ANGLE PKG found to get here. - return resolveInfos.get(0).activityInfo.packageName; + return resolveInfos.getFirst().activityInfo.packageName; } /** @@ -580,7 +582,6 @@ public class GraphicsEnvironment { if (angleInfo == null) { anglePkgName = getAnglePackageName(packageManager); if (TextUtils.isEmpty(anglePkgName)) { - Log.v(TAG, "Failed to find ANGLE package."); return false; } -- cgit v1.2.3-59-g8ed1b