Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit da706900 authored by Dianne Hackborn's avatar Dianne Hackborn
Browse files

Fix content provider

parent 56205fea
Loading
Loading
Loading
Loading
+9 −5
Original line number Diff line number Diff line
@@ -7325,6 +7325,8 @@ public final class ActivityManagerService extends ActivityManagerNative implemen
                // 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 @@ public final class ActivityManagerService extends ActivityManagerNative implemen
                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 @@ public final class ActivityManagerService extends ActivityManagerNative implemen
            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 @@ public final class ActivityManagerService extends ActivityManagerNative implemen
            }
            //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);