diff options
| author | 2014-12-01 00:16:38 +0000 | |
|---|---|---|
| committer | 2014-12-01 00:16:41 +0000 | |
| commit | 255963742982daf46eb665a2934bd61e7ed95c81 (patch) | |
| tree | ad50f6bbe6c6184de03c9305b01bd6460f83dde3 | |
| parent | 94ac906b103b0f03eca2000815bf306209f33109 (diff) | |
| parent | 105add8d1aebad3904a8863860fa596712151f65 (diff) | |
Merge "[ActivityManager] Prevent provider from been created twice."
| -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 3b7680ada21d..a6fa670ab13b 100755 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -9484,11 +9484,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"); |