diff options
author | Sunny Goyal <sunnygoyal@google.com> | 2017-04-17 10:03:01 -0700 |
---|---|---|
committer | Sunny Goyal <sunnygoyal@google.com> | 2017-04-17 10:03:29 -0700 |
commit | 135c1be5a319b826cbe954a30132a08e3973ffb8 (patch) | |
tree | df1508f40f460dce5b9a734f904de06758d4c4c2 /src/com/android/launcher3/compat | |
parent | cd4cc97f6f761b8cc377821a2214432a376dd4f8 (diff) | |
download | android_packages_apps_Trebuchet-135c1be5a319b826cbe954a30132a08e3973ffb8.tar.gz android_packages_apps_Trebuchet-135c1be5a319b826cbe954a30132a08e3973ffb8.tar.bz2 android_packages_apps_Trebuchet-135c1be5a319b826cbe954a30132a08e3973ffb8.zip |
Updating getApplicationInfo to handle NameNotFoundException
Bug: 37324177
Change-Id: If4caf7c61667fc874e7dbaff9f8c48b2c2cc107f
Diffstat (limited to 'src/com/android/launcher3/compat')
-rw-r--r-- | src/com/android/launcher3/compat/LauncherAppsCompatVO.java | 18 |
1 files changed, 15 insertions, 3 deletions
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 |