| Index: chrome/android/webapk/shell_apk/src/org/chromium/webapk/shell_apk/WebApkUtils.java
|
| diff --git a/chrome/android/webapk/shell_apk/src/org/chromium/webapk/shell_apk/WebApkUtils.java b/chrome/android/webapk/shell_apk/src/org/chromium/webapk/shell_apk/WebApkUtils.java
|
| index bf6a0d6eff11ec572645b205d9c6117eff913ebf..7a7a22b29aa84e2f4369892296978901029ed478 100644
|
| --- a/chrome/android/webapk/shell_apk/src/org/chromium/webapk/shell_apk/WebApkUtils.java
|
| +++ b/chrome/android/webapk/shell_apk/src/org/chromium/webapk/shell_apk/WebApkUtils.java
|
| @@ -45,14 +45,10 @@ public class WebApkUtils {
|
| */
|
| public static String getHostBrowserPackageName(Context context) {
|
| if (sHostPackage != null) return sHostPackage;
|
| + Bundle metaData = getMetaDataBundle(context);
|
| String hostPackage = null;
|
| - try {
|
| - ApplicationInfo ai = context.getPackageManager().getApplicationInfo(
|
| - context.getPackageName(), PackageManager.GET_META_DATA);
|
| - Bundle bundle = ai.metaData;
|
| - hostPackage = bundle.getString("runtimeHost");
|
| - } catch (NameNotFoundException e) {
|
| - e.printStackTrace();
|
| + if (metaData != null) {
|
| + hostPackage = metaData.getString("runtimeHost");
|
| }
|
| // Set {@link sHostPackage} to a non-null value so that the value is computed only once.
|
| sHostPackage = hostPackage != null ? hostPackage : "";
|
| @@ -79,4 +75,21 @@ public class WebApkUtils {
|
| }
|
| return -1;
|
| }
|
| +
|
| + /**
|
| + * Returns the meta data bundle for the application associated with
|
| + * passed in Context.
|
| + * @param context A context.
|
| + */
|
| + public static Bundle getMetaDataBundle(Context context) {
|
| + try {
|
| + PackageManager packageManager = context.getPackageManager();
|
| + ApplicationInfo appInfo = packageManager.getApplicationInfo(
|
| + context.getPackageName(), PackageManager.GET_META_DATA);
|
| + return appInfo.metaData;
|
| + } catch (NameNotFoundException e) {
|
| + e.printStackTrace();
|
| + }
|
| + return null;
|
| + }
|
| }
|
|
|