Merge "Prevent INTERACT_ACROSS_USERS exception in DefaultDialerManager." into oc-mr1-dev
am: dc79e248cb
Change-Id: I6bc7419ba260050281d83e33f7f328ec5ccb3cd8
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user