Skip to content

Commit 679d987

Browse files
markvdouwsamdozor
andauthored
fix: SQDSDK-5597 - Get ad id in background thread (#463)
* fix: only delete branch if all succeeds * Get ad id in background thread * Removing unused import --------- Co-authored-by: Sam Dozor <[email protected]>
1 parent c7287b6 commit 679d987

File tree

2 files changed

+10
-11
lines changed

2 files changed

+10
-11
lines changed

android-core/src/androidTest/kotlin/com.mparticle/internal/UpdateAdIdIdentityTest.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ class UpdateAdIdIdentityTest : BaseCleanInstallEachTest() {
2525
)
2626

2727
// execute CheckAdIdRunnable without a current user
28-
AppStateManager.CheckAdIdRunnable("newAdId", "oldAdId").run()
28+
MParticle.getInstance()!!.Internal().configManager
29+
AppStateManager.CheckAdIdRunnable(MParticle.getInstance()!!.Internal().configManager).run()
2930
assertNull(MParticle.getInstance()!!.Identity().currentUser)
3031

3132
// set a current user
@@ -44,8 +45,7 @@ class UpdateAdIdIdentityTest : BaseCleanInstallEachTest() {
4445
request.asIdentityRequest().body.identity_changes.let {
4546
it.size == 1 &&
4647
it[0].let { identityChange ->
47-
identityChange["new_value"] == "newAdId" &&
48-
identityChange["old_value"] == "oldAdId"
48+
identityChange["new_value"] == "someId"
4949
}
5050
}
5151
}.let {

android-core/src/main/java/com/mparticle/internal/AppStateManager.java

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -173,9 +173,7 @@ public void onActivityResumed(Activity activity) {
173173
initialize(mCurrentActivityName, previousSessionUri, previousSessionParameters, previousSessionPackage);
174174
} else if (isBackgrounded() && mLastStoppedTime.get() > 0) {
175175
isBackToForeground = true;
176-
MPUtility.AdIdInfo adIdInfo = MPUtility.getAdIdInfo(mContext);
177-
String currentGoogleAdId = (adIdInfo == null ? null : (adIdInfo.isLimitAdTrackingEnabled ? null : adIdInfo.id));
178-
mMessageManager.postToMessageThread(new CheckAdIdRunnable(currentGoogleAdId, mConfigManager.getPreviousAdId()));
176+
mMessageManager.postToMessageThread(new CheckAdIdRunnable(mConfigManager));
179177
logStateTransition(Constants.StateTransitionType.STATE_TRANS_FORE,
180178
mCurrentActivityName,
181179
mLastStoppedTime.get() - mLastForegroundTime,
@@ -446,16 +444,17 @@ public WeakReference<Activity> getCurrentActivity() {
446444
}
447445

448446
static class CheckAdIdRunnable implements Runnable {
449-
String currentAdId;
450-
String previousAdId;
447+
ConfigManager configManager;
451448

452-
CheckAdIdRunnable(@Nullable String currentAdId, @Nullable String previousAdId) {
453-
this.currentAdId = currentAdId;
454-
this.previousAdId = previousAdId;
449+
CheckAdIdRunnable(@Nullable ConfigManager configManager) {
450+
this.configManager = configManager;
455451
}
456452

457453
@Override
458454
public void run() {
455+
MPUtility.AdIdInfo adIdInfo = MPUtility.getAdIdInfo(MParticle.getInstance().Internal().getAppStateManager().mContext);
456+
String currentAdId = (adIdInfo == null ? null : (adIdInfo.isLimitAdTrackingEnabled ? null : adIdInfo.id));
457+
String previousAdId = configManager.getPreviousAdId();
459458
if (currentAdId != null && !currentAdId.equals(previousAdId)) {
460459
MParticle instance = MParticle.getInstance();
461460
if (instance != null) {

0 commit comments

Comments
 (0)