From cb9292e9ac1bf0ba05cbc95bd1a6159b71f56764 Mon Sep 17 00:00:00 2001 From: John Rosendahl Date: Tue, 3 Nov 2026 14:02:16 -0700 Subject: [PATCH] Update demo app dependencies - Pin the release SDK to v1.2.0 instead of 1.0.0. - Java: replace Guava's Lists.newArrayList, which only reached the demo through Prebid's dependencies, with Arrays.asList. - Use androidx.preference's PreferenceManager instead of the deprecated android.preference one, and declare preference 1.2.1 explicitly. - Remove the multidex support library and multiDexEnabled (multidex is built in from API 21; minSdk is 23) and the unused constraintlayout. - Navigation 2.1.0 -> 2.8.9, compileSdk 34 -> 35, and test dependencies aligned with the SDK. targetSdk stays 34 (35 forces edge-to-edge). Co-Authored-By: Claude Opus 5.5 --- DemoApp/DemoAppJava/app/build.gradle | 19 ++++++++----------- .../demoappjava/ui/GamBannerFragment.java | 3 +-- .../demoappjava/ui/IdentifyFragment.java | 8 ++++---- .../demoappjava/ui/PrebidBannerFragment.java | 3 +-- DemoApp/DemoAppKotlin/app/build.gradle | 19 ++++++++----------- .../androidsdkdemo/ui/IdentifyFragment.kt | 2 +- 6 files changed, 23 insertions(+), 31 deletions(-) diff --git a/DemoApp/DemoAppJava/app/build.gradle b/DemoApp/DemoAppJava/app/build.gradle index 4ab639b..41edd6f 100644 --- a/DemoApp/DemoAppJava/app/build.gradle +++ b/DemoApp/DemoAppJava/app/build.gradle @@ -4,7 +4,7 @@ plugins { } android { - compileSdk 34 + compileSdk 35 namespace "co.optable.demoappjava" defaultConfig { @@ -16,8 +16,6 @@ android { versionName "1.0.0" archivesBaseName = "optable-android-sdk-demo-java" - multiDexEnabled true - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } @@ -41,7 +39,7 @@ android { dependencies { // Optable SDK if (useReleaseSdk == "true") { - implementation "com.github.Optable:optable-android-sdk:1.0.0" + implementation "com.github.Optable:optable-android-sdk:v1.2.0" } else { implementation "co.optable:local-sdk" } @@ -54,13 +52,12 @@ dependencies { // Base Android implementation "org.jetbrains.kotlin:kotlin-stdlib:2.0.21" - implementation 'com.android.support:multidex:1.0.3' - implementation 'androidx.constraintlayout:constraintlayout:1.1.3' - implementation 'androidx.navigation:navigation-fragment:2.1.0' - implementation 'androidx.navigation:navigation-ui:2.1.0' + implementation 'androidx.navigation:navigation-fragment:2.8.9' + implementation 'androidx.navigation:navigation-ui:2.8.9' + implementation 'androidx.preference:preference:1.2.1' // Testing - testImplementation 'junit:junit:4.13.1' - androidTestImplementation 'androidx.test.ext:junit:1.1.1' - androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' + testImplementation 'junit:junit:4.13.2' + androidTestImplementation 'androidx.test.ext:junit:1.3.0' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.7.0' } diff --git a/DemoApp/DemoAppJava/app/src/main/java/co/optable/demoappjava/ui/GamBannerFragment.java b/DemoApp/DemoAppJava/app/src/main/java/co/optable/demoappjava/ui/GamBannerFragment.java index a115e65..24d0072 100644 --- a/DemoApp/DemoAppJava/app/src/main/java/co/optable/demoappjava/ui/GamBannerFragment.java +++ b/DemoApp/DemoAppJava/app/src/main/java/co/optable/demoappjava/ui/GamBannerFragment.java @@ -16,7 +16,6 @@ import co.optable.sdk.OptableTargeting; import com.google.android.gms.ads.admanager.AdManagerAdRequest; import com.google.android.gms.ads.admanager.AdManagerAdView; -import com.google.common.collect.Lists; import kotlin.Unit; import java.util.*; @@ -51,7 +50,7 @@ private void initUi(View root) { private void onClickLoadAd() { statusTextView.setText(""); - ArrayList ids = Lists.newArrayList( + List ids = Arrays.asList( new OptableIdentifier.Email("test@test.com") ); optable.targeting(ids, result -> { diff --git a/DemoApp/DemoAppJava/app/src/main/java/co/optable/demoappjava/ui/IdentifyFragment.java b/DemoApp/DemoAppJava/app/src/main/java/co/optable/demoappjava/ui/IdentifyFragment.java index fe2e269..a3cb2b7 100644 --- a/DemoApp/DemoAppJava/app/src/main/java/co/optable/demoappjava/ui/IdentifyFragment.java +++ b/DemoApp/DemoAppJava/app/src/main/java/co/optable/demoappjava/ui/IdentifyFragment.java @@ -2,7 +2,6 @@ import android.content.SharedPreferences; import android.os.Bundle; -import android.preference.PreferenceManager; import android.util.Base64; import android.view.LayoutInflater; import android.view.View; @@ -11,16 +10,17 @@ import android.widget.TextView; import androidx.annotation.NonNull; import androidx.fragment.app.Fragment; +import androidx.preference.PreferenceManager; import co.optable.demoappjava.R; import co.optable.demoappjava.TheApplication; import co.optable.sdk.OptableIdentifier; import co.optable.sdk.OptableResult; import co.optable.sdk.OptableSDK; -import com.google.common.collect.Lists; import kotlin.Unit; import java.nio.charset.StandardCharsets; -import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; public class IdentifyFragment extends Fragment { @@ -47,7 +47,7 @@ private void initUi(View root) { private void onClickIdentify() { statusTextView.setText(""); - ArrayList ids = Lists.newArrayList( + List ids = Arrays.asList( new OptableIdentifier.Email(emailText.getText().toString()) ); optable.identify(ids, result -> { diff --git a/DemoApp/DemoAppJava/app/src/main/java/co/optable/demoappjava/ui/PrebidBannerFragment.java b/DemoApp/DemoAppJava/app/src/main/java/co/optable/demoappjava/ui/PrebidBannerFragment.java index fdda230..234cede 100644 --- a/DemoApp/DemoAppJava/app/src/main/java/co/optable/demoappjava/ui/PrebidBannerFragment.java +++ b/DemoApp/DemoAppJava/app/src/main/java/co/optable/demoappjava/ui/PrebidBannerFragment.java @@ -18,7 +18,6 @@ import com.google.android.gms.ads.LoadAdError; import com.google.android.gms.ads.admanager.AdManagerAdRequest; import com.google.android.gms.ads.admanager.AdManagerAdView; -import com.google.common.collect.Lists; import kotlin.Unit; import org.jetbrains.annotations.NotNull; import org.prebid.mobile.BannerAdUnit; @@ -64,7 +63,7 @@ private void initUi(View root) { private void onClickLoadAd() { statusTextView.setText(""); - ArrayList ids = Lists.newArrayList( + List ids = Arrays.asList( new OptableIdentifier.Email("test@test.com") ); optable.targeting(ids, optableResult -> { diff --git a/DemoApp/DemoAppKotlin/app/build.gradle b/DemoApp/DemoAppKotlin/app/build.gradle index 0390b4f..c38cb29 100644 --- a/DemoApp/DemoAppKotlin/app/build.gradle +++ b/DemoApp/DemoAppKotlin/app/build.gradle @@ -4,7 +4,7 @@ plugins { } android { - compileSdk 34 + compileSdk 35 namespace "co.optable.androidsdkdemo" defaultConfig { @@ -16,8 +16,6 @@ android { versionName "1.0.0" archivesBaseName = "optable-android-sdk-demo-kotlin" - multiDexEnabled true - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } @@ -41,7 +39,7 @@ android { dependencies { // Optable SDK if (useReleaseSdk == "true") { - implementation "com.github.Optable:optable-android-sdk:1.0.0" + implementation "com.github.Optable:optable-android-sdk:v1.2.0" } else { implementation "co.optable:local-sdk" } @@ -54,13 +52,12 @@ dependencies { // Base Android implementation "org.jetbrains.kotlin:kotlin-stdlib:2.0.21" - implementation 'com.android.support:multidex:1.0.3' - implementation 'androidx.constraintlayout:constraintlayout:1.1.3' - implementation 'androidx.navigation:navigation-fragment-ktx:2.1.0' - implementation 'androidx.navigation:navigation-ui-ktx:2.1.0' + implementation 'androidx.navigation:navigation-fragment-ktx:2.8.9' + implementation 'androidx.navigation:navigation-ui-ktx:2.8.9' + implementation 'androidx.preference:preference-ktx:1.2.1' // Testing - testImplementation 'junit:junit:4.13.1' - androidTestImplementation 'androidx.test.ext:junit:1.1.1' - androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' + testImplementation 'junit:junit:4.13.2' + androidTestImplementation 'androidx.test.ext:junit:1.3.0' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.7.0' } diff --git a/DemoApp/DemoAppKotlin/app/src/main/java/co/optable/androidsdkdemo/ui/IdentifyFragment.kt b/DemoApp/DemoAppKotlin/app/src/main/java/co/optable/androidsdkdemo/ui/IdentifyFragment.kt index 95722e6..0bee171 100644 --- a/DemoApp/DemoAppKotlin/app/src/main/java/co/optable/androidsdkdemo/ui/IdentifyFragment.kt +++ b/DemoApp/DemoAppKotlin/app/src/main/java/co/optable/androidsdkdemo/ui/IdentifyFragment.kt @@ -1,7 +1,6 @@ package co.optable.androidsdkdemo.ui import android.os.Bundle -import android.preference.PreferenceManager import android.util.Base64 import android.view.LayoutInflater import android.view.View @@ -10,6 +9,7 @@ import android.widget.Button import android.widget.EditText import android.widget.TextView import androidx.fragment.app.Fragment +import androidx.preference.PreferenceManager import co.optable.androidsdkdemo.R import co.optable.androidsdkdemo.TheApplication import co.optable.sdk.OptableIdentifier