diff options
-rwxr-xr-x | services/core/java/com/android/server/am/ActivityManagerService.java | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java index 5852961..82469f4 100755 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -9339,11 +9339,13 @@ public final class ActivityManagerService extends ActivityManagerNative if (DEBUG_PROVIDER) { Slog.d(TAG, "Installing in existing process " + proc); } - checkTime(startTime, "getContentProviderImpl: scheduling install"); - proc.pubProviders.put(cpi.name, cpr); - try { - proc.thread.scheduleInstallProvider(cpi); - } catch (RemoteException e) { + if (!proc.pubProviders.containsKey(cpi.name)) { + checkTime(startTime, "getContentProviderImpl: scheduling install"); + proc.pubProviders.put(cpi.name, cpr); + try { + proc.thread.scheduleInstallProvider(cpi); + } catch (RemoteException e) { + } } } else { checkTime(startTime, "getContentProviderImpl: before start process"); |