From 6f72384dd0407d3729e4e0ab56e431bebdc7235d Mon Sep 17 00:00:00 2001 From: Shashank Suhane Date: Tue, 6 Aug 2024 14:19:43 +0200 Subject: [PATCH 01/13] fix: version dependency as per maven spec --- Adjust/sdk-core/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Adjust/sdk-core/build.gradle b/Adjust/sdk-core/build.gradle index fc6635e71..415eefce3 100644 --- a/Adjust/sdk-core/build.gradle +++ b/Adjust/sdk-core/build.gradle @@ -220,7 +220,7 @@ def customizePomForAar(pom) { dependency { groupId 'com.adjust.signature' artifactId 'adjust-android-signature' - version '3+' + version '[3.20.0, 4.0.0)' scope 'compile' } } From 1a1d843efed8af71b09ea23e3165facd062dff0e Mon Sep 17 00:00:00 2001 From: Mahdi ZTD Date: Thu, 22 Aug 2024 14:10:00 +0200 Subject: [PATCH 02/13] refac: add signature library as a dependency on examples app --- Adjust/examples/example-app-fbpixel/build.gradle | 1 + Adjust/examples/example-app-java/build.gradle | 1 + Adjust/examples/example-app-keyboard/build.gradle | 1 + Adjust/examples/example-app-kotlin/build.gradle | 1 + Adjust/examples/example-app-tv/build.gradle | 1 + Adjust/examples/example-app-webbridge/build.gradle | 1 + 6 files changed, 6 insertions(+) diff --git a/Adjust/examples/example-app-fbpixel/build.gradle b/Adjust/examples/example-app-fbpixel/build.gradle index 2fc022ec1..06281d56a 100644 --- a/Adjust/examples/example-app-fbpixel/build.gradle +++ b/Adjust/examples/example-app-fbpixel/build.gradle @@ -35,4 +35,5 @@ dependencies { implementation project(':sdk-core') implementation project(':plugins:sdk-plugin-webbridge') + implementation 'com.adjust.signature:adjust-android-signature:3+' } diff --git a/Adjust/examples/example-app-java/build.gradle b/Adjust/examples/example-app-java/build.gradle index 31dcdb40d..868be5b75 100644 --- a/Adjust/examples/example-app-java/build.gradle +++ b/Adjust/examples/example-app-java/build.gradle @@ -38,4 +38,5 @@ dependencies { implementation 'com.google.android.gms:play-services-appset:16.0.2' implementation project(':sdk-core') + implementation 'com.adjust.signature:adjust-android-signature:3+' } diff --git a/Adjust/examples/example-app-keyboard/build.gradle b/Adjust/examples/example-app-keyboard/build.gradle index 622c1d309..4e061fe26 100644 --- a/Adjust/examples/example-app-keyboard/build.gradle +++ b/Adjust/examples/example-app-keyboard/build.gradle @@ -38,4 +38,5 @@ dependencies { implementation 'com.google.android.gms:play-services-appset:16.0.2' implementation project(':sdk-core') + implementation 'com.adjust.signature:adjust-android-signature:3+' } diff --git a/Adjust/examples/example-app-kotlin/build.gradle b/Adjust/examples/example-app-kotlin/build.gradle index c2d6fb129..171d2fbe4 100644 --- a/Adjust/examples/example-app-kotlin/build.gradle +++ b/Adjust/examples/example-app-kotlin/build.gradle @@ -35,4 +35,5 @@ dependencies { implementation 'com.google.android.gms:play-services-appset:16.0.2' implementation project(':sdk-core') + implementation 'com.adjust.signature:adjust-android-signature:3+' } diff --git a/Adjust/examples/example-app-tv/build.gradle b/Adjust/examples/example-app-tv/build.gradle index 31dcdb40d..868be5b75 100755 --- a/Adjust/examples/example-app-tv/build.gradle +++ b/Adjust/examples/example-app-tv/build.gradle @@ -38,4 +38,5 @@ dependencies { implementation 'com.google.android.gms:play-services-appset:16.0.2' implementation project(':sdk-core') + implementation 'com.adjust.signature:adjust-android-signature:3+' } diff --git a/Adjust/examples/example-app-webbridge/build.gradle b/Adjust/examples/example-app-webbridge/build.gradle index c681a5251..008555960 100644 --- a/Adjust/examples/example-app-webbridge/build.gradle +++ b/Adjust/examples/example-app-webbridge/build.gradle @@ -33,4 +33,5 @@ dependencies { implementation project(':sdk-core') implementation project(':plugins:sdk-plugin-webbridge') + implementation 'com.adjust.signature:adjust-android-signature:3+' } From ebd508106246514c368bfcca6c7215880082f0c0 Mon Sep 17 00:00:00 2001 From: uerceg Date: Wed, 4 Sep 2024 00:33:39 +0200 Subject: [PATCH 03/13] test: add ability to test last deep link getter --- .../com/adjust/testapp/AdjustCommandExecutor.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Adjust/tests/test-app-core/src/main/java/com/adjust/testapp/AdjustCommandExecutor.java b/Adjust/tests/test-app-core/src/main/java/com/adjust/testapp/AdjustCommandExecutor.java index 72ecc4f59..0682ffc05 100644 --- a/Adjust/tests/test-app-core/src/main/java/com/adjust/testapp/AdjustCommandExecutor.java +++ b/Adjust/tests/test-app-core/src/main/java/com/adjust/testapp/AdjustCommandExecutor.java @@ -31,6 +31,7 @@ import com.adjust.sdk.OnDeferredDeeplinkResponseListener; import com.adjust.sdk.OnEventTrackingFailedListener; import com.adjust.sdk.OnEventTrackingSucceededListener; +import com.adjust.sdk.OnLastDeeplinkReadListener; import com.adjust.sdk.OnPurchaseVerificationFinishedListener; import com.adjust.sdk.OnSessionTrackingFailedListener; import com.adjust.sdk.OnSessionTrackingSucceededListener; @@ -93,6 +94,7 @@ public void executeCommand(final Command sentCommand) { case "verifyTrack": verifyTrack(); break; case "processDeeplink" : processDeeplink(); break; case "attributionGetter" : attributionGetter(); break; + case "getLastDeeplink" : getLastDeeplink(); break; //case "testBegin": testBegin(); break; // case "testEnd": testEnd(); break; } @@ -883,6 +885,17 @@ private void attributionGetter() { }); } + private void getLastDeeplink() { + final String localBasePath = basePath; + Adjust.getLastDeeplink(context, new OnLastDeeplinkReadListener() { + @Override + public void onLastDeeplinkRead(Uri deeplink) { + MainActivity.testLibrary.addInfoToSend("last_deeplink", deeplink == null ? "" : deeplink.toString()); + MainActivity.testLibrary.sendInfoToServer(localBasePath); + } + }); + } + /* private void testBegin() { if (command.containsParameter("teardown")) { From 64aeee038658d9ea72f83e41855fcb852a600976 Mon Sep 17 00:00:00 2001 From: uerceg Date: Mon, 16 Sep 2024 08:29:22 +0200 Subject: [PATCH 04/13] fix: fix typo in suppress log level enum name --- .../java/com/adjust/sdk/webbridge/AdjustBridgeInstance.java | 5 +---- .../sdk-core/src/main/java/com/adjust/sdk/AdjustConfig.java | 2 +- Adjust/sdk-core/src/main/java/com/adjust/sdk/LogLevel.java | 2 +- .../main/java/com/adjust/testapp/AdjustCommandExecutor.java | 2 +- 4 files changed, 4 insertions(+), 7 deletions(-) diff --git a/Adjust/plugins/sdk-plugin-webbridge/src/main/java/com/adjust/sdk/webbridge/AdjustBridgeInstance.java b/Adjust/plugins/sdk-plugin-webbridge/src/main/java/com/adjust/sdk/webbridge/AdjustBridgeInstance.java index 25b00196c..9c751fa64 100644 --- a/Adjust/plugins/sdk-plugin-webbridge/src/main/java/com/adjust/sdk/webbridge/AdjustBridgeInstance.java +++ b/Adjust/plugins/sdk-plugin-webbridge/src/main/java/com/adjust/sdk/webbridge/AdjustBridgeInstance.java @@ -1,10 +1,7 @@ package com.adjust.sdk.webbridge; -import android.annotation.TargetApi; import android.net.Uri; import android.os.Build; -import android.os.Bundle; -import android.app.Activity; import android.webkit.JavascriptInterface; import android.webkit.WebView; import android.app.Application; @@ -185,7 +182,7 @@ public void initSdk(String adjustConfigString) { } else if (logLevelString.equalsIgnoreCase(LOG_LEVEL_ASSERT)) { adjustConfig.setLogLevel(LogLevel.ASSERT); } else if (logLevelString.equalsIgnoreCase(LOG_LEVEL_SUPPRESS)) { - adjustConfig.setLogLevel(LogLevel.SUPRESS); + adjustConfig.setLogLevel(LogLevel.SUPPRESS); } } diff --git a/Adjust/sdk-core/src/main/java/com/adjust/sdk/AdjustConfig.java b/Adjust/sdk-core/src/main/java/com/adjust/sdk/AdjustConfig.java index 2a1e06312..918d2f66a 100644 --- a/Adjust/sdk-core/src/main/java/com/adjust/sdk/AdjustConfig.java +++ b/Adjust/sdk-core/src/main/java/com/adjust/sdk/AdjustConfig.java @@ -63,7 +63,7 @@ private void init(Context context, String appToken, String environment, boolean logger = AdjustFactory.getLogger(); // default values if (allowSuppressLogLevel && AdjustConfig.ENVIRONMENT_PRODUCTION.equals(environment)) { - setLogLevel(LogLevel.SUPRESS, environment); + setLogLevel(LogLevel.SUPPRESS, environment); } else { setLogLevel(LogLevel.INFO, environment); } diff --git a/Adjust/sdk-core/src/main/java/com/adjust/sdk/LogLevel.java b/Adjust/sdk-core/src/main/java/com/adjust/sdk/LogLevel.java index ea9a1eb23..82a88c5e1 100644 --- a/Adjust/sdk-core/src/main/java/com/adjust/sdk/LogLevel.java +++ b/Adjust/sdk-core/src/main/java/com/adjust/sdk/LogLevel.java @@ -6,7 +6,7 @@ * Created by pfms on 11/03/15. */ public enum LogLevel { - VERBOSE(Log.VERBOSE), DEBUG(Log.DEBUG), INFO(Log.INFO), WARN(Log.WARN), ERROR(Log.ERROR), ASSERT(Log.ASSERT), SUPRESS(8); + VERBOSE(Log.VERBOSE), DEBUG(Log.DEBUG), INFO(Log.INFO), WARN(Log.WARN), ERROR(Log.ERROR), ASSERT(Log.ASSERT), SUPPRESS(8); final int androidLogLevel; LogLevel(final int androidLogLevel) { diff --git a/Adjust/tests/test-app-core/src/main/java/com/adjust/testapp/AdjustCommandExecutor.java b/Adjust/tests/test-app-core/src/main/java/com/adjust/testapp/AdjustCommandExecutor.java index 0682ffc05..a22a1a51a 100644 --- a/Adjust/tests/test-app-core/src/main/java/com/adjust/testapp/AdjustCommandExecutor.java +++ b/Adjust/tests/test-app-core/src/main/java/com/adjust/testapp/AdjustCommandExecutor.java @@ -267,7 +267,7 @@ private void config() { break; case "assert": logLevel = LogLevel.ASSERT; break; - case "suppress": logLevel = LogLevel.SUPRESS; + case "suppress": logLevel = LogLevel.SUPPRESS; break; } Log.d("TestApp", logLevel.toString()); From 45ea746cc55ef0d12b638948cb53397a66b2aae9 Mon Sep 17 00:00:00 2001 From: uerceg Date: Mon, 16 Sep 2024 11:10:43 +0200 Subject: [PATCH 05/13] chore: remove post body print from the logs --- .../main/java/com/adjust/sdk/network/ActivityPackageSender.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/Adjust/sdk-core/src/main/java/com/adjust/sdk/network/ActivityPackageSender.java b/Adjust/sdk-core/src/main/java/com/adjust/sdk/network/ActivityPackageSender.java index 69d0dbbef..59d9b0a40 100644 --- a/Adjust/sdk-core/src/main/java/com/adjust/sdk/network/ActivityPackageSender.java +++ b/Adjust/sdk-core/src/main/java/com/adjust/sdk/network/ActivityPackageSender.java @@ -417,8 +417,6 @@ private DataOutputStream configConnectionForPOST(final HttpsURLConnection connec sendingParameters, signedParameters); - logger.debug("Post body: %s", postBodyString); - if (postBodyString == null) { return null; } From d9ea414da781caa229c093879d88c1bd761e97c3 Mon Sep 17 00:00:00 2001 From: uerceg Date: Mon, 16 Sep 2024 11:11:50 +0200 Subject: [PATCH 06/13] chore: make request retry log message a bit clearer --- .../src/main/java/com/adjust/sdk/PackageHandler.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Adjust/sdk-core/src/main/java/com/adjust/sdk/PackageHandler.java b/Adjust/sdk-core/src/main/java/com/adjust/sdk/PackageHandler.java index 02785193e..8f67ac6b0 100644 --- a/Adjust/sdk-core/src/main/java/com/adjust/sdk/PackageHandler.java +++ b/Adjust/sdk-core/src/main/java/com/adjust/sdk/PackageHandler.java @@ -193,7 +193,10 @@ public void run() { totalWaitTimeSeconds += waitTimeSeconds; - logger.verbose("Waiting for %s seconds before retrying the %d time", secondsString, retries); + logger.verbose("Waiting for %s seconds before retrying %s for the %d time", + secondsString, + responseData.activityPackage.getActivityKind().toString(), + retries); scheduler.schedule(runnable, waitTimeMilliSeconds); responseData.activityPackage.setWaitBeforeSendTimeSeconds(responseData.activityPackage.getWaitBeforeSendTimeSeconds() + waitTimeSeconds); } From f80d7f22c2ee40570ba21533de6bd4b1bf742321 Mon Sep 17 00:00:00 2001 From: uerceg Date: Wed, 4 Sep 2024 00:59:44 +0200 Subject: [PATCH 07/13] test: fix handling of value param in tps sharing options in web bridge command executor --- .../test-app-webbridge/src/main/assets/command_executor.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Adjust/tests/test-app-webbridge/src/main/assets/command_executor.js b/Adjust/tests/test-app-webbridge/src/main/assets/command_executor.js index ba2f99b4b..698d45a9b 100644 --- a/Adjust/tests/test-app-webbridge/src/main/assets/command_executor.js +++ b/Adjust/tests/test-app-webbridge/src/main/assets/command_executor.js @@ -566,7 +566,7 @@ AdjustCommandExecutor.prototype.thirdPartySharing = function(params) { for (var i = 0; i < partnerSharingSettings.length; i = i + 3) { var partnerName = partnerSharingSettings[i]; var key = partnerSharingSettings[i + 1]; - var value = partnerSharingSettings[i + 2]; + var value = partnerSharingSettings[i + 2] == 'true'; adjustThirdPartySharing.addPartnerSharingSetting(partnerName, key, value); } } From 1e9441075ac1bb7b6311e6b5328d3425536d9aca Mon Sep 17 00:00:00 2001 From: uerceg Date: Wed, 4 Sep 2024 01:00:04 +0200 Subject: [PATCH 08/13] refac: add input params type validation for certain public web bridge apis --- .../src/main/assets/adjust.js | 16 ++++++++++++++++ .../src/main/assets/adjust_event.js | 8 ++++++++ .../main/assets/adjust_third_party_sharing.js | 8 ++++++++ 3 files changed, 32 insertions(+) diff --git a/Adjust/plugins/sdk-plugin-webbridge/src/main/assets/adjust.js b/Adjust/plugins/sdk-plugin-webbridge/src/main/assets/adjust.js index 9c8dfc5de..421b50376 100644 --- a/Adjust/plugins/sdk-plugin-webbridge/src/main/assets/adjust.js +++ b/Adjust/plugins/sdk-plugin-webbridge/src/main/assets/adjust.js @@ -89,24 +89,40 @@ var Adjust = { addGlobalCallbackParameter: function(key, value) { if (AdjustBridge) { + if (typeof key !== 'string' || typeof value !== 'string') { + console.log('Passed key or value is not of string type'); + return; + } AdjustBridge.addGlobalCallbackParameter(key, value); } }, addGlobalPartnerParameter: function(key, value) { if (AdjustBridge) { + if (typeof key !== 'string' || typeof value !== 'string') { + console.log('Passed key or value is not of string type'); + return; + } AdjustBridge.addGlobalPartnerParameter(key, value); } }, removeGlobalCallbackParameter: function(key) { if (AdjustBridge) { + if (typeof key !== 'string') { + console.log('Passed key is not of string type'); + return; + } AdjustBridge.removeGlobalCallbackParameter(key); } }, removeGlobalPartnerParameter: function(key) { if (AdjustBridge) { + if (typeof key !== 'string') { + console.log('Passed key is not of string type'); + return; + } AdjustBridge.removeGlobalPartnerParameter(key); } }, diff --git a/Adjust/plugins/sdk-plugin-webbridge/src/main/assets/adjust_event.js b/Adjust/plugins/sdk-plugin-webbridge/src/main/assets/adjust_event.js index 190f05913..ff16c00fc 100644 --- a/Adjust/plugins/sdk-plugin-webbridge/src/main/assets/adjust_event.js +++ b/Adjust/plugins/sdk-plugin-webbridge/src/main/assets/adjust_event.js @@ -14,11 +14,19 @@ AdjustEvent.prototype.setRevenue = function(revenue, currency) { }; AdjustEvent.prototype.addCallbackParameter = function(key, value) { + if (typeof key !== 'string' || typeof value !== 'string') { + console.log('Passed key or value is not of string type'); + return; + } this.callbackParameters.push(key); this.callbackParameters.push(value); }; AdjustEvent.prototype.addPartnerParameter = function(key, value) { + if (typeof key !== 'string' || typeof value !== 'string') { + console.log('Passed key or value is not of string type'); + return; + } this.partnerParameters.push(key); this.partnerParameters.push(value); }; diff --git a/Adjust/plugins/sdk-plugin-webbridge/src/main/assets/adjust_third_party_sharing.js b/Adjust/plugins/sdk-plugin-webbridge/src/main/assets/adjust_third_party_sharing.js index 2fd6b66ac..86df1a270 100644 --- a/Adjust/plugins/sdk-plugin-webbridge/src/main/assets/adjust_third_party_sharing.js +++ b/Adjust/plugins/sdk-plugin-webbridge/src/main/assets/adjust_third_party_sharing.js @@ -5,12 +5,20 @@ function AdjustThirdPartySharing(isEnabled) { } AdjustThirdPartySharing.prototype.addGranularOption = function(partnerName, key, value) { + if (typeof partnerName !== 'string' || typeof key !== 'string' || typeof value !== 'string') { + console.log('Passed partnerName, key or value is not of string type'); + return; + } this.granularOptions.push(partnerName); this.granularOptions.push(key); this.granularOptions.push(value); }; AdjustThirdPartySharing.prototype.addPartnerSharingSetting = function(partnerName, key, value) { + if (typeof partnerName !== 'string' || typeof key !== 'string' || typeof value !== 'boolean') { + console.log('Passed partnerName or key is not of string type or value is not of boolean type'); + return; + } this.partnerSharingSettings.push(partnerName); this.partnerSharingSettings.push(key); this.partnerSharingSettings.push(value); From 8dbf138ba5ada40e8eb3c8b22f5200c903230f92 Mon Sep 17 00:00:00 2001 From: Shashank Suhane Date: Tue, 17 Sep 2024 10:24:56 +0200 Subject: [PATCH 09/13] refac: update log message to indicate its from Adjust --- .../sdk-plugin-webbridge/src/main/assets/adjust.js | 8 ++++---- .../sdk-plugin-webbridge/src/main/assets/adjust_event.js | 4 ++-- .../src/main/assets/adjust_third_party_sharing.js | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Adjust/plugins/sdk-plugin-webbridge/src/main/assets/adjust.js b/Adjust/plugins/sdk-plugin-webbridge/src/main/assets/adjust.js index 421b50376..04bb5c983 100644 --- a/Adjust/plugins/sdk-plugin-webbridge/src/main/assets/adjust.js +++ b/Adjust/plugins/sdk-plugin-webbridge/src/main/assets/adjust.js @@ -90,7 +90,7 @@ var Adjust = { addGlobalCallbackParameter: function(key, value) { if (AdjustBridge) { if (typeof key !== 'string' || typeof value !== 'string') { - console.log('Passed key or value is not of string type'); + console.log('[Adjust]: Passed key or value is not of string type'); return; } AdjustBridge.addGlobalCallbackParameter(key, value); @@ -100,7 +100,7 @@ var Adjust = { addGlobalPartnerParameter: function(key, value) { if (AdjustBridge) { if (typeof key !== 'string' || typeof value !== 'string') { - console.log('Passed key or value is not of string type'); + console.log('[Adjust]: Passed key or value is not of string type'); return; } AdjustBridge.addGlobalPartnerParameter(key, value); @@ -110,7 +110,7 @@ var Adjust = { removeGlobalCallbackParameter: function(key) { if (AdjustBridge) { if (typeof key !== 'string') { - console.log('Passed key is not of string type'); + console.log('[Adjust]: Passed key is not of string type'); return; } AdjustBridge.removeGlobalCallbackParameter(key); @@ -120,7 +120,7 @@ var Adjust = { removeGlobalPartnerParameter: function(key) { if (AdjustBridge) { if (typeof key !== 'string') { - console.log('Passed key is not of string type'); + console.log('[Adjust]: Passed key is not of string type'); return; } AdjustBridge.removeGlobalPartnerParameter(key); diff --git a/Adjust/plugins/sdk-plugin-webbridge/src/main/assets/adjust_event.js b/Adjust/plugins/sdk-plugin-webbridge/src/main/assets/adjust_event.js index ff16c00fc..6a82d94ef 100644 --- a/Adjust/plugins/sdk-plugin-webbridge/src/main/assets/adjust_event.js +++ b/Adjust/plugins/sdk-plugin-webbridge/src/main/assets/adjust_event.js @@ -15,7 +15,7 @@ AdjustEvent.prototype.setRevenue = function(revenue, currency) { AdjustEvent.prototype.addCallbackParameter = function(key, value) { if (typeof key !== 'string' || typeof value !== 'string') { - console.log('Passed key or value is not of string type'); + console.log('[Adjust]: Passed key or value is not of string type'); return; } this.callbackParameters.push(key); @@ -24,7 +24,7 @@ AdjustEvent.prototype.addCallbackParameter = function(key, value) { AdjustEvent.prototype.addPartnerParameter = function(key, value) { if (typeof key !== 'string' || typeof value !== 'string') { - console.log('Passed key or value is not of string type'); + console.log('[Adjust]: Passed key or value is not of string type'); return; } this.partnerParameters.push(key); diff --git a/Adjust/plugins/sdk-plugin-webbridge/src/main/assets/adjust_third_party_sharing.js b/Adjust/plugins/sdk-plugin-webbridge/src/main/assets/adjust_third_party_sharing.js index 86df1a270..210d0b730 100644 --- a/Adjust/plugins/sdk-plugin-webbridge/src/main/assets/adjust_third_party_sharing.js +++ b/Adjust/plugins/sdk-plugin-webbridge/src/main/assets/adjust_third_party_sharing.js @@ -6,7 +6,7 @@ function AdjustThirdPartySharing(isEnabled) { AdjustThirdPartySharing.prototype.addGranularOption = function(partnerName, key, value) { if (typeof partnerName !== 'string' || typeof key !== 'string' || typeof value !== 'string') { - console.log('Passed partnerName, key or value is not of string type'); + console.log('[Adjust]: Passed partnerName, key or value is not of string type'); return; } this.granularOptions.push(partnerName); @@ -16,7 +16,7 @@ AdjustThirdPartySharing.prototype.addGranularOption = function(partnerName, key, AdjustThirdPartySharing.prototype.addPartnerSharingSetting = function(partnerName, key, value) { if (typeof partnerName !== 'string' || typeof key !== 'string' || typeof value !== 'boolean') { - console.log('Passed partnerName or key is not of string type or value is not of boolean type'); + console.log('[Adjust]: Passed partnerName or key is not of string type or value is not of boolean type'); return; } this.partnerSharingSettings.push(partnerName); From 38c64b7c9e29c0165b41cf4cbd854e3a970bd6aa Mon Sep 17 00:00:00 2001 From: Mahdi ZTD Date: Tue, 3 Sep 2024 12:06:23 +0200 Subject: [PATCH 10/13] refac: make setSendingReferrersAsNotSent calls from background thread --- .../src/main/java/com/adjust/sdk/AdjustInstance.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Adjust/sdk-core/src/main/java/com/adjust/sdk/AdjustInstance.java b/Adjust/sdk-core/src/main/java/com/adjust/sdk/AdjustInstance.java index f790053e9..55bb46468 100644 --- a/Adjust/sdk-core/src/main/java/com/adjust/sdk/AdjustInstance.java +++ b/Adjust/sdk-core/src/main/java/com/adjust/sdk/AdjustInstance.java @@ -4,6 +4,8 @@ import android.content.Context; import com.adjust.sdk.scheduler.AsyncTaskExecutor; +import com.adjust.sdk.scheduler.SingleThreadCachedScheduler; +import com.adjust.sdk.scheduler.ThreadExecutor; import java.util.List; import java.util.ArrayList; @@ -780,7 +782,8 @@ private String getCachedDeeplink(final Context context) { * @param context Application context */ private void setSendingReferrersAsNotSent(final Context context) { - SharedPreferencesManager.getDefaultInstance(context).setSendingReferrersAsNotSent(); + ThreadExecutor executor = new SingleThreadCachedScheduler("AdjustInstance"); + executor.submit(() -> SharedPreferencesManager.getDefaultInstance(context).setSendingReferrersAsNotSent()); } /** From bf69e7dc90e370ba5525c0cf99b1e81cd72ee2c9 Mon Sep 17 00:00:00 2001 From: Shashank Suhane Date: Wed, 18 Sep 2024 10:51:19 +0200 Subject: [PATCH 11/13] feat: update version number to 5.0.1 --- Adjust/build.gradle | 2 +- Adjust/plugins/sdk-plugin-huawei-referrer/build.gradle | 2 +- Adjust/plugins/sdk-plugin-imei/build.gradle | 2 +- Adjust/plugins/sdk-plugin-meta-referrer/build.gradle | 2 +- Adjust/plugins/sdk-plugin-oaid/build.gradle | 2 +- Adjust/plugins/sdk-plugin-samsung-clouddev/build.gradle | 2 +- Adjust/plugins/sdk-plugin-samsung-referrer/build.gradle | 2 +- Adjust/plugins/sdk-plugin-vivo-referrer/build.gradle | 2 +- Adjust/plugins/sdk-plugin-webbridge/build.gradle | 2 +- Adjust/plugins/sdk-plugin-webbridge/src/main/assets/adjust.js | 2 +- Adjust/plugins/sdk-plugin-xiaomi-referrer/build.gradle | 2 +- Adjust/sdk-core/src/main/java/com/adjust/sdk/Adjust.java | 2 +- Adjust/sdk-core/src/main/java/com/adjust/sdk/Constants.java | 2 +- VERSION | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/Adjust/build.gradle b/Adjust/build.gradle index 54ab560ce..cca3a075d 100644 --- a/Adjust/build.gradle +++ b/Adjust/build.gradle @@ -9,7 +9,7 @@ ext { coreMinSdkVersion = 21 coreCompileSdkVersion = 34 coreTargetSdkVersion = 34 - coreVersionName = '5.0.0' + coreVersionName = '5.0.1' defaultVersionCode = 1 webbridgeMinSdkVersion = 21 samsungReferrerMinSdkVersion = 21 diff --git a/Adjust/plugins/sdk-plugin-huawei-referrer/build.gradle b/Adjust/plugins/sdk-plugin-huawei-referrer/build.gradle index 7b73ed803..a2cb7cb6e 100644 --- a/Adjust/plugins/sdk-plugin-huawei-referrer/build.gradle +++ b/Adjust/plugins/sdk-plugin-huawei-referrer/build.gradle @@ -27,7 +27,7 @@ dependencies { // Add SDK via module. compileOnly project(':sdk-core') // Add SDK via Maven. - // implementation 'com.adjust.sdk:adjust-android:5.0.0' + // implementation 'com.adjust.sdk:adjust-android:5.0.1' } // read local properties diff --git a/Adjust/plugins/sdk-plugin-imei/build.gradle b/Adjust/plugins/sdk-plugin-imei/build.gradle index 998017363..55a929a39 100644 --- a/Adjust/plugins/sdk-plugin-imei/build.gradle +++ b/Adjust/plugins/sdk-plugin-imei/build.gradle @@ -30,7 +30,7 @@ dependencies { // Add SDK via module. compileOnly project(':sdk-core') // Add SDK via Maven. - // implementation 'com.adjust.sdk:adjust-android:5.0.0' + // implementation 'com.adjust.sdk:adjust-android:5.0.1' } // read local properties diff --git a/Adjust/plugins/sdk-plugin-meta-referrer/build.gradle b/Adjust/plugins/sdk-plugin-meta-referrer/build.gradle index d323d77c1..f948e4811 100644 --- a/Adjust/plugins/sdk-plugin-meta-referrer/build.gradle +++ b/Adjust/plugins/sdk-plugin-meta-referrer/build.gradle @@ -27,7 +27,7 @@ dependencies { // Add SDK via module. compileOnly project(':sdk-core') // Add SDK via Maven. - // implementation 'com.adjust.sdk:adjust-android:5.0.0' + // implementation 'com.adjust.sdk:adjust-android:5.0.1' } // read local properties diff --git a/Adjust/plugins/sdk-plugin-oaid/build.gradle b/Adjust/plugins/sdk-plugin-oaid/build.gradle index e31469172..06bfc4403 100644 --- a/Adjust/plugins/sdk-plugin-oaid/build.gradle +++ b/Adjust/plugins/sdk-plugin-oaid/build.gradle @@ -33,7 +33,7 @@ dependencies { // Add SDK via module. compileOnly project(':sdk-core') // Add SDK via Maven. - // implementation 'com.adjust.sdk:adjust-android:5.0.0' + // implementation 'com.adjust.sdk:adjust-android:5.0.1' implementation 'com.huawei.hms:ads-identifier:3.4.56.300' } diff --git a/Adjust/plugins/sdk-plugin-samsung-clouddev/build.gradle b/Adjust/plugins/sdk-plugin-samsung-clouddev/build.gradle index 9cdbec696..e1022308f 100644 --- a/Adjust/plugins/sdk-plugin-samsung-clouddev/build.gradle +++ b/Adjust/plugins/sdk-plugin-samsung-clouddev/build.gradle @@ -27,7 +27,7 @@ dependencies { // Add SDK via module. compileOnly project(':sdk-core') // Add SDK via Maven. - // implementation 'com.adjust.sdk:adjust-android:5.0.0' + // implementation 'com.adjust.sdk:adjust-android:5.0.1' // Add Samsung clouddev lib. compileOnly fileTree(include: ['*.aar'], dir: 'libs') diff --git a/Adjust/plugins/sdk-plugin-samsung-referrer/build.gradle b/Adjust/plugins/sdk-plugin-samsung-referrer/build.gradle index a5016793e..ee802c672 100644 --- a/Adjust/plugins/sdk-plugin-samsung-referrer/build.gradle +++ b/Adjust/plugins/sdk-plugin-samsung-referrer/build.gradle @@ -27,7 +27,7 @@ dependencies { // Add SDK via module. compileOnly project(':sdk-core') // Add SDK via Maven. - // implementation 'com.adjust.sdk:adjust-android:5.0.0' + // implementation 'com.adjust.sdk:adjust-android:5.0.1' // Add Samsung referrer lib via Maven. implementation 'store.galaxy.samsung.installreferrer:samsung_galaxystore_install_referrer:3.0.1' diff --git a/Adjust/plugins/sdk-plugin-vivo-referrer/build.gradle b/Adjust/plugins/sdk-plugin-vivo-referrer/build.gradle index 4b371257c..4d3cc1a55 100644 --- a/Adjust/plugins/sdk-plugin-vivo-referrer/build.gradle +++ b/Adjust/plugins/sdk-plugin-vivo-referrer/build.gradle @@ -30,7 +30,7 @@ dependencies { // Add SDK via module. compileOnly project(':sdk-core') // Add SDK via Maven. - // implementation 'com.adjust.sdk:adjust-android:5.0.0' + // implementation 'com.adjust.sdk:adjust-android:5.0.1' } // read local properties diff --git a/Adjust/plugins/sdk-plugin-webbridge/build.gradle b/Adjust/plugins/sdk-plugin-webbridge/build.gradle index 39812fca6..e8f306a70 100644 --- a/Adjust/plugins/sdk-plugin-webbridge/build.gradle +++ b/Adjust/plugins/sdk-plugin-webbridge/build.gradle @@ -30,7 +30,7 @@ dependencies { // Add SDK via module. compileOnly project(':sdk-core') // Add SDK via Maven. - // implementation 'com.adjust.sdk:adjust-android:5.0.0' + // implementation 'com.adjust.sdk:adjust-android:5.0.1' } // read local properties diff --git a/Adjust/plugins/sdk-plugin-webbridge/src/main/assets/adjust.js b/Adjust/plugins/sdk-plugin-webbridge/src/main/assets/adjust.js index 04bb5c983..68a0e3932 100644 --- a/Adjust/plugins/sdk-plugin-webbridge/src/main/assets/adjust.js +++ b/Adjust/plugins/sdk-plugin-webbridge/src/main/assets/adjust.js @@ -259,7 +259,7 @@ var Adjust = { if (this.adjustConfig) { return this.adjustConfig.getSdkPrefix(); } else { - return 'web-bridge5.0.0'; + return 'web-bridge5.0.1'; } }, diff --git a/Adjust/plugins/sdk-plugin-xiaomi-referrer/build.gradle b/Adjust/plugins/sdk-plugin-xiaomi-referrer/build.gradle index 221be585e..50e298e1e 100644 --- a/Adjust/plugins/sdk-plugin-xiaomi-referrer/build.gradle +++ b/Adjust/plugins/sdk-plugin-xiaomi-referrer/build.gradle @@ -31,7 +31,7 @@ dependencies { // Add SDK via module. compileOnly project(':sdk-core') // Add SDK via Maven. - // implementation 'com.adjust.sdk:adjust-android:5.0.0' + // implementation 'com.adjust.sdk:adjust-android:5.0.1' // Add xiaomi referrer lib via Maven. implementation 'com.miui.referrer:homereferrer:1.0.0.6' diff --git a/Adjust/sdk-core/src/main/java/com/adjust/sdk/Adjust.java b/Adjust/sdk-core/src/main/java/com/adjust/sdk/Adjust.java index 73acef793..537d060b0 100644 --- a/Adjust/sdk-core/src/main/java/com/adjust/sdk/Adjust.java +++ b/Adjust/sdk-core/src/main/java/com/adjust/sdk/Adjust.java @@ -32,7 +32,7 @@ private Adjust() { */ public static synchronized AdjustInstance getDefaultInstance() { @SuppressWarnings("unused") - String VERSION = "!SDK-VERSION-STRING!:com.adjust.sdk:adjust-android:5.0.0"; + String VERSION = "!SDK-VERSION-STRING!:com.adjust.sdk:adjust-android:5.0.1"; if (defaultInstance == null) { defaultInstance = new AdjustInstance(); diff --git a/Adjust/sdk-core/src/main/java/com/adjust/sdk/Constants.java b/Adjust/sdk-core/src/main/java/com/adjust/sdk/Constants.java index 6b3ff6050..1f53427f7 100644 --- a/Adjust/sdk-core/src/main/java/com/adjust/sdk/Constants.java +++ b/Adjust/sdk-core/src/main/java/com/adjust/sdk/Constants.java @@ -37,7 +37,7 @@ public interface Constants { String SCHEME = "https"; String AUTHORITY = "app.adjust.com"; - String CLIENT_SDK = "android5.0.0"; + String CLIENT_SDK = "android5.0.1"; String LOGTAG = "Adjust"; String REFTAG = "reftag"; String INSTALL_REFERRER = "install_referrer"; diff --git a/VERSION b/VERSION index 0062ac971..6b244dcd6 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -5.0.0 +5.0.1 From 2824b39d4361f83c68a8655106e2a26bf27492cb Mon Sep 17 00:00:00 2001 From: Shashank Suhane Date: Wed, 18 Sep 2024 11:00:49 +0200 Subject: [PATCH 12/13] docs: update changelog --- CHANGELOG.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 294640742..6836c8fc6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,13 @@ +### Version 5.0.1 (18th September 2024) +#### Fixed +- Fixed ANR while reading referrer from Shared Preferences during SDK initialization. + +#### Changed +- Added input parameter validations in certain public Webbrdige APIs. +- Updated log messages to add more clarity and other improvements. + +--- + ### Version 5.0.0 (2nd August 2024) We're excited to release our major new SDK version (v5). Among many internal improvements, our spoofing protection solution is now included out of the box, reinforcing our commitment to accurate, actionable, and fraud-free data. From 7ec7f13c2fe5fa9dce4329d1065c57ca24764617 Mon Sep 17 00:00:00 2001 From: uerceg Date: Wed, 18 Sep 2024 11:30:22 +0200 Subject: [PATCH 13/13] docs: update changelog --- CHANGELOG.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6836c8fc6..e22a438da 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,11 @@ ### Version 5.0.1 (18th September 2024) #### Fixed -- Fixed ANR while reading referrer from Shared Preferences during SDK initialization. +- Fixed ANR while reading install referrer from Shared Preferences during SDK initialization. +- Fixed typo in `SUPPRESS` log level constant and renamed it from `SUPRESS to SUPPRESS` (https://github.com/adjust/android_sdk/issues/613). #### Changed -- Added input parameter validations in certain public Webbrdige APIs. -- Updated log messages to add more clarity and other improvements. +- Added validation when passing callback / partner parameters and third party sharing granular options / partner sharing setting parameters in web bridge. +- Updated some log messages to add more clarity. ---