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

Commit cbac1e48 authored by Andreas Gampe's avatar Andreas Gampe
Browse files

Accounts: Fix TokenCache maps access

Found by Errorprone.

Bug: 73288226
Test: mmma frameworks/base/services
Change-Id: I203745415cbad6fad6f72008fc5632086d2a4505
parent 95372e87
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -125,7 +125,7 @@ import java.util.Objects;
                 * This is recursive, but it won't spiral out of control because LruCache is
                 * thread safe and the Evictor can only be removed once.
                 */
                Evictor evictor = mTokenEvictors.remove(oldVal.token);
                Evictor evictor = mTokenEvictors.remove(new Pair<>(k.account.type, oldVal.token));
                if (evictor != null) {
                    evictor.evict();
                }
@@ -134,12 +134,13 @@ import java.util.Objects;

        public void putToken(Key k, Value v) {
            // Prepare for removal by token string.
            Evictor tokenEvictor = mTokenEvictors.get(v.token);
            Pair<String, String> mapKey = new Pair<>(k.account.type, v.token);
            Evictor tokenEvictor = mTokenEvictors.get(mapKey);
            if (tokenEvictor == null) {
                tokenEvictor = new Evictor();
            }
            tokenEvictor.add(k);
            mTokenEvictors.put(new Pair<>(k.account.type, v.token), tokenEvictor);
            mTokenEvictors.put(mapKey, tokenEvictor);

            // Prepare for removal by associated account.
            Evictor accountEvictor = mAccountEvictors.get(k.account);