Skip to content

Commit 93676f3

Browse files
committed
ConcurrentLinkedQueue to LinkedBlockingQueue
Switch renaming usages of ConcurrentLinkedQueue to LinkedBlockingQueue to avoid a possible crash on Android 12, due to a bug it has with it. While we haven't gotten any crash reports of these usages they could happen. See previous commit, ef581d2, for more details.
1 parent ef581d2 commit 93676f3

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

OneSignalSDK/onesignal/src/main/java/com/onesignal/UserStateSynchronizer.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
import java.util.HashMap;
1919
import java.util.Queue;
2020
import java.util.Set;
21-
import java.util.concurrent.ConcurrentLinkedQueue;
21+
import java.util.concurrent.LinkedBlockingQueue;
2222
import java.util.concurrent.atomic.AtomicBoolean;
2323

2424
import static com.onesignal.OSInAppMessageController.IN_APP_MESSAGES_JSON_KEY;
@@ -93,9 +93,9 @@ String getRegistrationId() {
9393

9494
// Maintain a list of handlers so that if the user calls
9595
// sendTags() multiple times it will call each callback
96-
final private Queue<ChangeTagsUpdateHandler> sendTagsHandlers = new ConcurrentLinkedQueue<>();
97-
final private Queue<OneSignal.OSInternalExternalUserIdUpdateCompletionHandler> externalUserIdUpdateHandlers = new ConcurrentLinkedQueue<>();
98-
final private Queue<OSDeviceInfoCompletionHandler> deviceInfoCompletionHandler = new ConcurrentLinkedQueue<>();
96+
final private Queue<ChangeTagsUpdateHandler> sendTagsHandlers = new LinkedBlockingQueue<>();
97+
final private Queue<OneSignal.OSInternalExternalUserIdUpdateCompletionHandler> externalUserIdUpdateHandlers = new LinkedBlockingQueue<>();
98+
final private Queue<OSDeviceInfoCompletionHandler> deviceInfoCompletionHandler = new LinkedBlockingQueue<>();
9999

100100
boolean hasQueuedHandlers() {
101101
return externalUserIdUpdateHandlers.size() > 0;

OneSignalSDK/unittest/src/test/java/com/onesignal/OneSignalPackagePrivateHelper.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@
2222
import java.util.ArrayList;
2323
import java.util.List;
2424
import java.util.Map;
25+
import java.util.Queue;
2526
import java.util.Set;
26-
import java.util.concurrent.ConcurrentLinkedQueue;
2727

2828
import static com.test.onesignal.TestHelpers.threadAndTaskWait;
2929
import static org.robolectric.Shadows.shadowOf;
@@ -295,7 +295,7 @@ public static DelayedConsentInitializationParameters OneSignal_delayedInitParams
295295
return OneSignal.getDelayedInitParams();
296296
}
297297

298-
public static ConcurrentLinkedQueue<Runnable> OneSignal_taskQueueWaitingForInit() {
298+
public static Queue<Runnable> OneSignal_taskQueueWaitingForInit() {
299299
return OneSignal.getTaskRemoteController().getTaskQueueWaitingForInit();
300300
}
301301

0 commit comments

Comments
 (0)