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

Commit ef28c8a2 authored by Xin Guan's avatar Xin Guan Committed by Android (Google) Code Review
Browse files

Merge "Fix ActivityManager cleanup for disabled providers" into main

parents edecae25 e46a1c99
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -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++) {
@@ -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--) {