summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Matthew Sedam <matthewsedam@google.com> 2024-04-23 18:29:41 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2024-04-23 18:29:41 +0000
commit1a4cc7c08cd36c417a9b0d6f90e19283ed6ad089 (patch)
tree7670c9e0acece0d23333995ef5f5cb72941cd252
parent704a65ac4da47eb7fa5e6356fe92c3fdea15a527 (diff)
parentc3afd69e3d5a86256acfbb1ab78d4d3ebc829eb1 (diff)
Merge "ContextHubService: Start message sequence number randomly" into main
-rw-r--r--services/core/java/com/android/server/location/contexthub/ContextHubTransactionManager.java8
1 files changed, 6 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/location/contexthub/ContextHubTransactionManager.java b/services/core/java/com/android/server/location/contexthub/ContextHubTransactionManager.java
index b18871cbf809..a0dbfa082978 100644
--- a/services/core/java/com/android/server/location/contexthub/ContextHubTransactionManager.java
+++ b/services/core/java/com/android/server/location/contexthub/ContextHubTransactionManager.java
@@ -28,6 +28,7 @@ import java.util.ArrayDeque;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
+import java.util.Random;
import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.ScheduledThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
@@ -77,9 +78,12 @@ import java.util.concurrent.atomic.AtomicInteger;
private final AtomicInteger mNextAvailableId = new AtomicInteger();
/**
- * The next available message sequence number
+ * The next available message sequence number. We choose a random
+ * number to start with to avoid collisions and limit the bound to
+ * half of the max value to avoid overflow.
*/
- private final AtomicInteger mNextAvailableMessageSequenceNumber = new AtomicInteger();
+ private final AtomicInteger mNextAvailableMessageSequenceNumber =
+ new AtomicInteger(new Random().nextInt(Integer.MAX_VALUE / 2));
/*
* An executor and the future object for scheduling timeout timers