From 135c1be5a319b826cbe954a30132a08e3973ffb8 Mon Sep 17 00:00:00 2001 From: Sunny Goyal Date: Mon, 17 Apr 2017 10:03:01 -0700 Subject: Updating getApplicationInfo to handle NameNotFoundException Bug: 37324177 Change-Id: If4caf7c61667fc874e7dbaff9f8c48b2c2cc107f --- .../android/launcher3/compat/LauncherAppsCompatVO.java | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'src/com/android/launcher3/compat') diff --git a/src/com/android/launcher3/compat/LauncherAppsCompatVO.java b/src/com/android/launcher3/compat/LauncherAppsCompatVO.java index 95f2e74f4..d145539c7 100644 --- a/src/com/android/launcher3/compat/LauncherAppsCompatVO.java +++ b/src/com/android/launcher3/compat/LauncherAppsCompatVO.java @@ -16,10 +16,12 @@ package com.android.launcher3.compat; +import android.annotation.TargetApi; import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.pm.LauncherActivityInfo; import android.content.pm.LauncherApps; +import android.content.pm.PackageManager; import android.os.Build; import android.os.Process; import android.os.UserHandle; @@ -33,6 +35,7 @@ import java.lang.reflect.Method; import java.util.ArrayList; import java.util.List; +@TargetApi(26) public class LauncherAppsCompatVO extends LauncherAppsCompatVL { LauncherAppsCompatVO(Context context) { @@ -41,9 +44,18 @@ public class LauncherAppsCompatVO extends LauncherAppsCompatVL { @Override public ApplicationInfo getApplicationInfo(String packageName, int flags, UserHandle user) { - ApplicationInfo info = mLauncherApps.getApplicationInfo(packageName, flags, user); - return info == null || (info.flags & ApplicationInfo.FLAG_INSTALLED) == 0 || !info.enabled - ? null : info; + try { + // TODO: Temporary workaround until the API signature is updated + if (false) { + throw new PackageManager.NameNotFoundException(); + } + + ApplicationInfo info = mLauncherApps.getApplicationInfo(packageName, flags, user); + return (info.flags & ApplicationInfo.FLAG_INSTALLED) == 0 || !info.enabled + ? null : info; + } catch (PackageManager.NameNotFoundException e) { + return null; + } } @Override -- cgit v1.2.3