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

Commit a08f454d 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

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

Change-Id: If5a158f002d392025ca6eebdfed0217cb0d81ef9
parents fddc0b08 daed7d6e
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);
            }
        }
    }