summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Craig Mautner <cmautner@google.com> 2014-12-01 00:16:38 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2014-12-01 00:16:41 +0000
commit255963742982daf46eb665a2934bd61e7ed95c81 (patch)
treead50f6bbe6c6184de03c9305b01bd6460f83dde3
parent94ac906b103b0f03eca2000815bf306209f33109 (diff)
parent105add8d1aebad3904a8863860fa596712151f65 (diff)
Merge "[ActivityManager] Prevent provider from been created twice."
-rwxr-xr-xservices/core/java/com/android/server/am/ActivityManagerService.java12
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");