Merge "Prevent INTERACT_ACROSS_USERS exception in DefaultDialerManager." into oc-mr1-dev

am: dc79e248cb

Change-Id: I6bc7419ba260050281d83e33f7f328ec5ccb3cd8
This commit is contained in:
Tyler Gunn
2017-09-05 21:04:52 +00:00
committed by android-build-merger

View File

@@ -170,7 +170,7 @@ public class DefaultDialerManager {
final Intent dialIntentWithTelScheme = new Intent(Intent.ACTION_DIAL);
dialIntentWithTelScheme.setData(Uri.fromParts(PhoneAccount.SCHEME_TEL, "", null));
return filterByIntent(context, packageNames, dialIntentWithTelScheme);
return filterByIntent(context, packageNames, dialIntentWithTelScheme, userId);
}
public static List<String> getInstalledDialerApplications(Context context) {
@@ -204,17 +204,18 @@ public class DefaultDialerManager {
*
* @param context A valid context
* @param packageNames List of package names to filter.
* @param userId The UserId
* @return The filtered list.
*/
private static List<String> filterByIntent(Context context, List<String> packageNames,
Intent intent) {
Intent intent, int userId) {
if (packageNames == null || packageNames.isEmpty()) {
return new ArrayList<>();
}
final List<String> result = new ArrayList<>();
final List<ResolveInfo> resolveInfoList = context.getPackageManager()
.queryIntentActivities(intent, 0);
.queryIntentActivitiesAsUser(intent, 0, userId);
final int length = resolveInfoList.size();
for (int i = 0; i < length; i++) {
final ActivityInfo info = resolveInfoList.get(i).activityInfo;