From 2b798cdde52f7027dca20a18d8037f0ef8f98e09 Mon Sep 17 00:00:00 2001 From: Nipun Singh <88689850+nsingh-branch@users.noreply.github.com> Date: Tue, 1 Oct 2024 13:51:20 -0700 Subject: [PATCH 01/14] [SDK-2487] Reverted minimum sdk version change (#1224) Reverted minimum sdk version change --- ChangeLog.md | 4 ++++ gradle.properties | 6 +++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/ChangeLog.md b/ChangeLog.md index e658d83b1..3f68bf528 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -1,4 +1,8 @@ # Branch Android SDK change log +- v5.12.4 + * _*Master Release*_ - Sep 30, 2024 + - Reverted the minimum SDK build version back to 21 + - v5.12.3 * _*Master Release*_ - Sep 25, 2024 - Fix to properly fetch install referrers when using deferred init in plugins diff --git a/gradle.properties b/gradle.properties index 24c90d5e2..539df2579 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,5 @@ -VERSION_NAME=5.12.3 -VERSION_CODE=051403 +VERSION_NAME=5.12.4 +VERSION_CODE=051404 GROUP=io.branch.sdk.android POM_DESCRIPTION=Use the Branch SDK (branch.io) to create and power the links that point back to your apps for all of these things and more. Branch makes it incredibly simple to create powerful deep links that can pass data across app install and open while handling all edge cases (using on desktop vs. mobile vs. already having the app installed, etc). Best of all, it is really simple to start using the links for your own app: only 2 lines of code to register the deep link router and one more line of code to create the links with custom data. @@ -13,7 +13,7 @@ POM_LICENCE_DIST=repo POM_DEVELOPER_ID=branch POM_DEVELOPER_NAME=Branch Metrics -ANDROID_BUILD_SDK_VERSION_MINIMUM=23 +ANDROID_BUILD_SDK_VERSION_MINIMUM=21 ANDROID_BUILD_SDK_VERSION_COMPILE=34 ANDROID_BUILD_TOOLS_VERSION=34.0.0 android.useAndroidX=true From 9c1fa9e65ab2986cfabdeca4e5cfa705f5e0267d Mon Sep 17 00:00:00 2001 From: rob-gioia-branch Date: Wed, 9 Oct 2024 16:28:15 -0400 Subject: [PATCH 02/14] Got deep link validator dialog showing Got deep link validator dialog showing --- .../branchandroidtestbed/MainActivity.java | 2 + Branch-SDK/build.gradle.kts | 1 + .../referral/validators/LinkingValidator.java | 30 +++++++ .../validators/LinkingValidatorDialog.java | 15 ++++ .../src/main/res/drawable/branch_icon.png | Bin 0 -> 25058 bytes .../res/layout/dialog_linking_validator.xml | 78 ++++++++++++++++++ 6 files changed, 126 insertions(+) create mode 100644 Branch-SDK/src/main/java/io/branch/referral/validators/LinkingValidator.java create mode 100644 Branch-SDK/src/main/java/io/branch/referral/validators/LinkingValidatorDialog.java create mode 100644 Branch-SDK/src/main/res/drawable/branch_icon.png create mode 100644 Branch-SDK/src/main/res/layout/dialog_linking_validator.xml diff --git a/Branch-SDK-TestBed/src/main/java/io/branch/branchandroidtestbed/MainActivity.java b/Branch-SDK-TestBed/src/main/java/io/branch/branchandroidtestbed/MainActivity.java index cc7d1a4d2..7fb5209ac 100644 --- a/Branch-SDK-TestBed/src/main/java/io/branch/branchandroidtestbed/MainActivity.java +++ b/Branch-SDK-TestBed/src/main/java/io/branch/branchandroidtestbed/MainActivity.java @@ -55,6 +55,7 @@ import io.branch.referral.util.LinkProperties; import io.branch.referral.util.ProductCategory; import io.branch.referral.util.ShareSheetStyle; +import io.branch.referral.validators.LinkingValidator; public class MainActivity extends Activity { private EditText txtShortUrl; @@ -661,6 +662,7 @@ protected void onStart() { // IMP : Do not make this call in your production app //IntegrationValidator.validate(MainActivity.this); + LinkingValidator.validate(MainActivity.this); } diff --git a/Branch-SDK/build.gradle.kts b/Branch-SDK/build.gradle.kts index 1040ccbb8..5d03b308f 100644 --- a/Branch-SDK/build.gradle.kts +++ b/Branch-SDK/build.gradle.kts @@ -19,6 +19,7 @@ dependencies { implementation(kotlin("stdlib-jdk8")) implementation("androidx.annotation:annotation:1.4.0") implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutinesVersion") + implementation("androidx.constraintlayout:constraintlayout:2.1.4") // --- optional dependencies ----- // Please note that the Branch SDK does not require any of the below optional dependencies to operate. diff --git a/Branch-SDK/src/main/java/io/branch/referral/validators/LinkingValidator.java b/Branch-SDK/src/main/java/io/branch/referral/validators/LinkingValidator.java new file mode 100644 index 000000000..7c122ef4c --- /dev/null +++ b/Branch-SDK/src/main/java/io/branch/referral/validators/LinkingValidator.java @@ -0,0 +1,30 @@ +package io.branch.referral.validators; + +import android.content.Context; +import android.view.WindowManager; + +import java.util.Objects; + +public class LinkingValidator { + private static LinkingValidator instance; + private LinkingValidatorDialog linkingValidatorDialog; + + private LinkingValidator(Context context) { } + + public static void validate(Context context) { + if (instance == null) { + instance = new LinkingValidator(context); + } + instance.linkingValidatorDialog = new LinkingValidatorDialog(context); + instance.validateDeepLinkRouting(context); + } + + private void validateDeepLinkRouting(Context context) { + WindowManager.LayoutParams lp = new WindowManager.LayoutParams(); + lp.copyFrom(Objects.requireNonNull(instance.linkingValidatorDialog.getWindow()).getAttributes()); + lp.width = WindowManager.LayoutParams.MATCH_PARENT; + lp.height = 1000; + instance.linkingValidatorDialog.show(); + instance.linkingValidatorDialog.getWindow().setAttributes(lp); + } +} diff --git a/Branch-SDK/src/main/java/io/branch/referral/validators/LinkingValidatorDialog.java b/Branch-SDK/src/main/java/io/branch/referral/validators/LinkingValidatorDialog.java new file mode 100644 index 000000000..a65ca1da4 --- /dev/null +++ b/Branch-SDK/src/main/java/io/branch/referral/validators/LinkingValidatorDialog.java @@ -0,0 +1,15 @@ +package io.branch.referral.validators; + +import android.app.Dialog; +import android.content.Context; +import android.view.Window; +import io.branch.referral.R; + +public class LinkingValidatorDialog extends Dialog { + + public LinkingValidatorDialog(final Context context) { + super(context); + requestWindowFeature(Window.FEATURE_NO_TITLE); + this.setContentView(R.layout.dialog_linking_validator); + } +} diff --git a/Branch-SDK/src/main/res/drawable/branch_icon.png b/Branch-SDK/src/main/res/drawable/branch_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..195fa54215822779cbaeac75c70940730f3d4d03 GIT binary patch literal 25058 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 literal 0 HcmV?d00001 diff --git a/Branch-SDK/src/main/res/layout/dialog_linking_validator.xml b/Branch-SDK/src/main/res/layout/dialog_linking_validator.xml new file mode 100644 index 000000000..06c3e5a7d --- /dev/null +++ b/Branch-SDK/src/main/res/layout/dialog_linking_validator.xml @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + +