aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2020-02-04 19:30:02 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2020-02-04 19:30:02 +0000
commita6b53117805483bf6a46eb24c75454bc9f74785f (patch)
tree9f12c4650b8a4cd542c7cd26e2ae5e502cc09479
parenta7c115e6afdddcbb7202adfecf5fc505fd4a577a (diff)
parent41a10142c651c7c74ac681b6b23a043148fbd481 (diff)
downloadTV-a6b53117805483bf6a46eb24c75454bc9f74785f.tar.gz
Simplify getting the customization package name. am: 8ce952b746 am: 41a10142c6
Change-Id: Id441d9dd85f7fcaa49b5f8c6b030523f2b7e3f07
-rw-r--r--common/src/com/android/tv/common/customization/CustomizationManager.java28
1 files changed, 11 insertions, 17 deletions
diff --git a/common/src/com/android/tv/common/customization/CustomizationManager.java b/common/src/com/android/tv/common/customization/CustomizationManager.java
index 6ec60fe4..94f1a4ed 100644
--- a/common/src/com/android/tv/common/customization/CustomizationManager.java
+++ b/common/src/com/android/tv/common/customization/CustomizationManager.java
@@ -32,6 +32,8 @@ import android.util.Log;
import com.android.tv.common.CommonConstants;
+import com.google.common.collect.Iterables;
+
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.ArrayList;
@@ -160,33 +162,25 @@ public class CustomizationManager {
private static String getCustomizationPackageName(Context context) {
if (sCustomizationPackage == null) {
-
List<PackageInfo> packageInfos =
context.getPackageManager()
.getPackagesHoldingPermissions(CUSTOMIZE_PERMISSIONS, 0);
sCustomizationPackage = getCustomizationPackageName(packageInfos);
}
-
return sCustomizationPackage;
}
@VisibleForTesting
static String getCustomizationPackageName(List<PackageInfo> packageInfos) {
- String packageName = "";
- if (!packageInfos.isEmpty()) {
- /** Iterate through all packages returning the first vendor customizer */
- for (PackageInfo packageInfo : packageInfos) {
- if (packageInfo.packageName.startsWith("com.android") == false) {
- packageName = packageInfo.packageName;
- break;
- }
- }
- /** If no vendor package found, return first in the list */
- if (TextUtils.isEmpty(packageName)) {
- packageName = packageInfos.get(0).packageName;
- }
- }
- return packageName;
+ Iterable<String> packageNames =
+ Iterables.transform(packageInfos, input -> input.packageName);
+
+ // Find the first vendor customizer
+ return Iterables.find(
+ packageNames,
+ input -> !input.startsWith("com.android"),
+ // else use the first one or blank
+ Iterables.getFirst(packageNames, ""));
}
/** Initialize TV customization options. Run this API only on the main thread. */