Loading services/core/java/com/android/server/am/ContentProviderHelper.java +6 −0 Original line number Diff line number Diff line Loading @@ -1806,10 +1806,12 @@ public class ContentProviderHelper { ActivityManagerService.WAIT_FOR_CONTENT_PROVIDER_TIMEOUT_MSG, cpr); } final int userId = UserHandle.getUserId(cpr.uid); boolean removed = false; // Don't remove from provider map if it doesn't match // could be a new content provider is starting if (mProviderMap.getProviderByClass(cpr.name, userId) == cpr) { mProviderMap.removeProviderByClass(cpr.name, userId); removed = true; } String[] names = cpr.info.authority.split(";"); for (int j = 0; j < names.length; j++) { Loading @@ -1817,8 +1819,12 @@ public class ContentProviderHelper { // could be a new content provider is starting if (mProviderMap.getProviderByName(names[j], userId) == cpr) { mProviderMap.removeProviderByName(names[j], userId); removed = true; } } if (removed && cpr.proc != null) { cpr.proc.mProviders.removeProvider(cpr.info.name); } } for (int i = cpr.connections.size() - 1; i >= 0; i--) { Loading Loading
services/core/java/com/android/server/am/ContentProviderHelper.java +6 −0 Original line number Diff line number Diff line Loading @@ -1806,10 +1806,12 @@ public class ContentProviderHelper { ActivityManagerService.WAIT_FOR_CONTENT_PROVIDER_TIMEOUT_MSG, cpr); } final int userId = UserHandle.getUserId(cpr.uid); boolean removed = false; // Don't remove from provider map if it doesn't match // could be a new content provider is starting if (mProviderMap.getProviderByClass(cpr.name, userId) == cpr) { mProviderMap.removeProviderByClass(cpr.name, userId); removed = true; } String[] names = cpr.info.authority.split(";"); for (int j = 0; j < names.length; j++) { Loading @@ -1817,8 +1819,12 @@ public class ContentProviderHelper { // could be a new content provider is starting if (mProviderMap.getProviderByName(names[j], userId) == cpr) { mProviderMap.removeProviderByName(names[j], userId); removed = true; } } if (removed && cpr.proc != null) { cpr.proc.mProviders.removeProvider(cpr.info.name); } } for (int i = cpr.connections.size() - 1; i >= 0; i--) { Loading