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

Commit bc74de67 authored by You Kim's avatar You Kim Committed by Dianne Hackborn
Browse files

Wrong argument: handleUnstableProviderDiedLocked

mProvider is HashMap<ProviderKey, ProviderClientRecord>. String
is not correct object for KEY. Complete removal using iterator.

Bug: 11086495

Change-Id: I51e4576544ef02ede6f96938689dd4e43ec6eb4f
parent c8670bbd
Loading
Loading
Loading
Loading
+6 −7
Original line number Diff line number Diff line
@@ -4636,15 +4636,14 @@ public final class ActivityThread {
            if (DEBUG_PROVIDER) Slog.v(TAG, "Cleaning up dead provider "
                    + provider + " " + prc.holder.info.name);
            mProviderRefCountMap.remove(provider);
            if (prc.client != null && prc.client.mNames != null) {
                for (String name : prc.client.mNames) {
                    ProviderClientRecord pr = mProviderMap.get(name);
            for (int i=mProviderMap.size()-1; i>=0; i--) {
                ProviderClientRecord pr = mProviderMap.valueAt(i);
                if (pr != null && pr.mProvider.asBinder() == provider) {
                        Slog.i(TAG, "Removing dead content provider: " + name);
                        mProviderMap.remove(name);
                    }
                    Slog.i(TAG, "Removing dead content provider:" + pr.mProvider.toString());
                    mProviderMap.removeAt(i);
                }
            }

            if (fromClient) {
                // We found out about this due to execution in our client
                // code.  Tell the activity manager about it now, to ensure