Skip to content

Commit 3011f64

Browse files
Dianne HackbornAndroid (Google) Code Review
authored andcommitted
Merge "Fix issue #22912704: "android.process.acore has stopped" dialog keeps popping up" into mnc-dev
2 parents 7290d93 + 28ec27c commit 3011f64

4 files changed

Lines changed: 9 additions & 5 deletions

File tree

core/java/android/app/ApplicationPackageManager.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -777,7 +777,9 @@ public ProviderInfo resolveContentProviderAsUser(String name, int flags, int use
777777
public List<ProviderInfo> queryContentProviders(String processName,
778778
int uid, int flags) {
779779
try {
780-
return mPM.queryContentProviders(processName, uid, flags);
780+
ParceledListSlice<ProviderInfo> slice
781+
= mPM.queryContentProviders(processName, uid, flags);
782+
return slice != null ? slice.getList() : null;
781783
} catch (RemoteException e) {
782784
throw new RuntimeException("Package manager has died", e);
783785
}

core/java/android/content/pm/IPackageManager.aidl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ interface IPackageManager {
203203
void querySyncProviders(inout List<String> outNames,
204204
inout List<ProviderInfo> outInfo);
205205

206-
List<ProviderInfo> queryContentProviders(
206+
ParceledListSlice queryContentProviders(
207207
String processName, int uid, int flags);
208208

209209
InstrumentationInfo getInstrumentationInfo(

services/core/java/com/android/server/am/ActivityManagerService.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9154,9 +9154,10 @@ public void showLockTaskEscapeMessage(IBinder token) {
91549154
private final List<ProviderInfo> generateApplicationProvidersLocked(ProcessRecord app) {
91559155
List<ProviderInfo> providers = null;
91569156
try {
9157-
providers = AppGlobals.getPackageManager().
9157+
ParceledListSlice<ProviderInfo> slice = AppGlobals.getPackageManager().
91589158
queryContentProviders(app.processName, app.uid,
91599159
STOCK_PM_FLAGS | PackageManager.GET_URI_PERMISSION_PATTERNS);
9160+
providers = slice != null ? slice.getList() : null;
91609161
} catch (RemoteException ex) {
91619162
}
91629163
if (DEBUG_MU) Slog.v(TAG_MU,

services/core/java/com/android/server/pm/PackageManagerService.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5435,7 +5435,7 @@ public void querySyncProviders(List<String> outNames, List<ProviderInfo> outInfo
54355435
}
54365436

54375437
@Override
5438-
public List<ProviderInfo> queryContentProviders(String processName,
5438+
public ParceledListSlice<ProviderInfo> queryContentProviders(String processName,
54395439
int uid, int flags) {
54405440
ArrayList<ProviderInfo> finalList = null;
54415441
// reader
@@ -5467,9 +5467,10 @@ public List<ProviderInfo> queryContentProviders(String processName,
54675467

54685468
if (finalList != null) {
54695469
Collections.sort(finalList, mProviderInitOrderSorter);
5470+
return new ParceledListSlice<ProviderInfo>(finalList);
54705471
}
54715472

5472-
return finalList;
5473+
return null;
54735474
}
54745475

54755476
@Override

0 commit comments

Comments
 (0)