Loading packages/SettingsLib/src/com/android/settingslib/applications/AppUtils.java +30 −0 Original line number Diff line number Diff line Loading @@ -19,10 +19,13 @@ package com.android.settingslib.applications; import android.app.Application; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.hardware.usb.IUsbManager; import android.net.Uri; import android.os.RemoteException; import android.os.SystemProperties; import android.os.UserHandle; Loading @@ -44,6 +47,15 @@ public class AppUtils { */ private static InstantAppDataProvider sInstantAppDataProvider = null; private static final Intent sBrowserIntent; static { sBrowserIntent = new Intent() .setAction(Intent.ACTION_VIEW) .addCategory(Intent.CATEGORY_BROWSABLE) .setData(Uri.parse("http:")); } public static CharSequence getLaunchByDefaultSummary(ApplicationsState.AppEntry appEntry, IUsbManager usbManager, PackageManager pm, Context context) { String packageName = appEntry.info.packageName; Loading Loading @@ -153,4 +165,22 @@ public class AppUtils { return com.android.settingslib.utils.applications.AppUtils.getAppContentDescription(context, packageName, userId); } /** * Returns a boolean indicating whether a given package is a browser app. * * An app is a "browser" if it has an activity resolution that wound up * marked with the 'handleAllWebDataURI' flag. */ public static boolean isBrowserApp(Context context, String packageName, int userId) { sBrowserIntent.setPackage(packageName); final List<ResolveInfo> list = context.getPackageManager().queryIntentActivitiesAsUser( sBrowserIntent, PackageManager.MATCH_ALL, userId); for (ResolveInfo info : list) { if (info.activityInfo != null && info.handleAllWebDataURI) { return true; } } return false; } } Loading
packages/SettingsLib/src/com/android/settingslib/applications/AppUtils.java +30 −0 Original line number Diff line number Diff line Loading @@ -19,10 +19,13 @@ package com.android.settingslib.applications; import android.app.Application; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.hardware.usb.IUsbManager; import android.net.Uri; import android.os.RemoteException; import android.os.SystemProperties; import android.os.UserHandle; Loading @@ -44,6 +47,15 @@ public class AppUtils { */ private static InstantAppDataProvider sInstantAppDataProvider = null; private static final Intent sBrowserIntent; static { sBrowserIntent = new Intent() .setAction(Intent.ACTION_VIEW) .addCategory(Intent.CATEGORY_BROWSABLE) .setData(Uri.parse("http:")); } public static CharSequence getLaunchByDefaultSummary(ApplicationsState.AppEntry appEntry, IUsbManager usbManager, PackageManager pm, Context context) { String packageName = appEntry.info.packageName; Loading Loading @@ -153,4 +165,22 @@ public class AppUtils { return com.android.settingslib.utils.applications.AppUtils.getAppContentDescription(context, packageName, userId); } /** * Returns a boolean indicating whether a given package is a browser app. * * An app is a "browser" if it has an activity resolution that wound up * marked with the 'handleAllWebDataURI' flag. */ public static boolean isBrowserApp(Context context, String packageName, int userId) { sBrowserIntent.setPackage(packageName); final List<ResolveInfo> list = context.getPackageManager().queryIntentActivitiesAsUser( sBrowserIntent, PackageManager.MATCH_ALL, userId); for (ResolveInfo info : list) { if (info.activityInfo != null && info.handleAllWebDataURI) { return true; } } return false; } }