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

Commit 202cc536 authored by Brad Ebinger's avatar Brad Ebinger Committed by Automerger Merge Worker
Browse files

Merge "Fix NPE occurring while accessing the token Map in AppSmsManager" am:...

Merge "Fix NPE occurring while accessing the token Map in AppSmsManager" am: 94d7d75b am: daed7d6e am: a08f454d

Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/telephony/+/1621048

Change-Id: Ia3489443319f2f850460058059d00aec08022a3e
parents ab1c87d9 a08f454d
Loading
Loading
Loading
Loading
+8 −6
Original line number Diff line number Diff line
@@ -36,8 +36,8 @@ import com.android.internal.annotations.GuardedBy;
import com.android.internal.util.Preconditions;

import java.security.SecureRandom;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.TimeUnit;


@@ -187,9 +187,10 @@ public class AppSmsManager {
    private void removeExpiredTokenLocked() {
        final long currentTimeMillis = System.currentTimeMillis();

        final Set<String> keySet = mTokenMap.keySet();
        for (String token : keySet) {
            AppRequestInfo request = mTokenMap.get(token);
        Iterator<Map.Entry<String, AppRequestInfo>> iterator = mTokenMap.entrySet().iterator();
        while (iterator.hasNext()) {
            Map.Entry<String, AppRequestInfo> entry = iterator.next();
            AppRequestInfo request = entry.getValue();
            if (request.packageBasedToken
                    && (currentTimeMillis - TIMEOUT_MILLIS > request.timestamp)) {
                // Send the provided intent with SMS retriever status
@@ -202,8 +203,9 @@ public class AppSmsManager {
                } catch (PendingIntent.CanceledException e) {
                    // do nothing
                }

                removeRequestLocked(request);
                // Remove from mTokenMap and mPackageMap
                iterator.remove();
                mPackageMap.remove(entry.getValue().packageName);
            }
        }
    }