Merge change 23499 into donut
* changes:
Fix content provider
diff --git a/services/java/com/android/server/am/ActivityManagerService.java b/services/java/com/android/server/am/ActivityManagerService.java
index 5d34d00..ad4d5da 100644
--- a/services/java/com/android/server/am/ActivityManagerService.java
+++ b/services/java/com/android/server/am/ActivityManagerService.java
@@ -7325,6 +7325,8 @@
// In this case the provider is a single instance, so we can
// return it right away.
if (r != null) {
+ if(true) Log.v(TAG, "Adding content provider requested by "+
+ r.processName +" from process "+cpr.info.processName);
r.conProviders.add(cpr);
cpr.clients.add(r);
} else {
@@ -7435,6 +7437,8 @@
mProvidersByName.put(name, cpr);
if (r != null) {
+ if(true) Log.v(TAG, "Adding content provider requested by "+
+ r.processName +" from process "+cpr.info.processName);
r.conProviders.add(cpr);
cpr.clients.add(r);
} else {
@@ -7490,7 +7494,7 @@
ContentProviderRecord cpr = (ContentProviderRecord)mProvidersByName.get(name);
if(cpr == null) {
//remove from mProvidersByClass
- if(localLOGV) Log.v(TAG, name+" content provider not found in providers list");
+ if(true) Log.v(TAG, name+" content provider not found in providers list");
return;
}
final ProcessRecord r = getRecordForAppLocked(caller);
@@ -7501,11 +7505,11 @@
}
//update content provider record entry info
ContentProviderRecord localCpr = (ContentProviderRecord) mProvidersByClass.get(cpr.info.name);
- if(localLOGV) Log.v(TAG, "Removing content provider requested by "+
- r.info.processName+" from process "+localCpr.appInfo.processName);
- if(localCpr.appInfo.processName == r.info.processName) {
+ if(true) Log.v(TAG, "Removing content provider requested by "+
+ r.processName+" from process "+localCpr.info.processName);
+ if(localCpr.app == r) {
//should not happen. taken care of as a local provider
- if(localLOGV) Log.v(TAG, "local provider doing nothing Ignoring other names");
+ if(true) Log.v(TAG, "local provider doing nothing Ignoring other names");
return;
} else {
localCpr.clients.remove(r);