From b001158d974e54431ea8f2f4b326b9bb3639e364 Mon Sep 17 00:00:00 2001 From: Denis Chilik Date: Tue, 23 Jun 2026 17:11:17 -0400 Subject: [PATCH 1/2] feat(kits): add Kotlin sample apps for all integrated kits Replicate the Adjust example-app pattern across every kit in settings-kits.gradle, wire them in settings-kit-examples.gradle and kits/matrix.json, and add a generator script. Skip CI example builds for kits that need custom Maven repos or AGP 8.6+. --- .../example/example-kotlin/build.gradle | 4 +- .../example/example-kotlin/build.gradle | 38 ++ .../src/main/AndroidManifest.xml | 22 ++ .../example/kotlin/ExampleApplication.kt | 24 ++ .../kits/adobe/example/kotlin/MainActivity.kt | 11 + .../res/drawable/ic_launcher_foreground.xml | 14 + .../src/main/res/layout/activity_main.xml | 14 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../src/main/res/values/colors.xml | 4 + .../src/main/res/values/strings.xml | 4 + .../example/example-kotlin/build.gradle | 38 ++ .../src/main/AndroidManifest.xml | 22 ++ .../example/kotlin/ExampleApplication.kt | 24 ++ .../adobemedia/example/kotlin/MainActivity.kt | 11 + .../res/drawable/ic_launcher_foreground.xml | 14 + .../src/main/res/layout/activity_main.xml | 14 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../src/main/res/values/colors.xml | 4 + .../src/main/res/values/strings.xml | 4 + .../example/example-kotlin/build.gradle | 38 ++ .../src/main/AndroidManifest.xml | 22 ++ .../example/kotlin/ExampleApplication.kt | 24 ++ .../appsflyer/example/kotlin/MainActivity.kt | 11 + .../res/drawable/ic_launcher_foreground.xml | 14 + .../src/main/res/layout/activity_main.xml | 14 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../src/main/res/values/colors.xml | 4 + .../src/main/res/values/strings.xml | 4 + .../example/example-kotlin/build.gradle | 38 ++ .../src/main/AndroidManifest.xml | 22 ++ .../example/kotlin/ExampleApplication.kt | 24 ++ .../apptentive/example/kotlin/MainActivity.kt | 11 + .../res/drawable/ic_launcher_foreground.xml | 14 + .../src/main/res/layout/activity_main.xml | 14 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../src/main/res/values/colors.xml | 4 + .../src/main/res/values/strings.xml | 4 + .../example/example-kotlin/build.gradle | 38 ++ .../src/main/AndroidManifest.xml | 22 ++ .../example/kotlin/ExampleApplication.kt | 24 ++ .../apptimize/example/kotlin/MainActivity.kt | 11 + .../res/drawable/ic_launcher_foreground.xml | 14 + .../src/main/res/layout/activity_main.xml | 14 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../src/main/res/values/colors.xml | 4 + .../src/main/res/values/strings.xml | 4 + .../example/example-kotlin/build.gradle | 38 ++ .../src/main/AndroidManifest.xml | 22 ++ .../example/kotlin/ExampleApplication.kt | 24 ++ .../branch/example/kotlin/MainActivity.kt | 11 + .../res/drawable/ic_launcher_foreground.xml | 14 + .../src/main/res/layout/activity_main.xml | 14 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../src/main/res/values/colors.xml | 4 + .../src/main/res/values/strings.xml | 4 + .../example/example-kotlin/build.gradle | 38 ++ .../src/main/AndroidManifest.xml | 22 ++ .../example/kotlin/ExampleApplication.kt | 24 ++ .../braze38/example/kotlin/MainActivity.kt | 11 + .../res/drawable/ic_launcher_foreground.xml | 14 + .../src/main/res/layout/activity_main.xml | 14 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../src/main/res/values/colors.xml | 4 + .../src/main/res/values/strings.xml | 4 + .../example/example-kotlin/build.gradle | 38 ++ .../src/main/AndroidManifest.xml | 22 ++ .../example/kotlin/ExampleApplication.kt | 24 ++ .../braze39/example/kotlin/MainActivity.kt | 11 + .../res/drawable/ic_launcher_foreground.xml | 14 + .../src/main/res/layout/activity_main.xml | 14 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../src/main/res/values/colors.xml | 4 + .../src/main/res/values/strings.xml | 4 + .../example/example-kotlin/build.gradle | 38 ++ .../src/main/AndroidManifest.xml | 22 ++ .../example/kotlin/ExampleApplication.kt | 24 ++ .../braze40/example/kotlin/MainActivity.kt | 11 + .../res/drawable/ic_launcher_foreground.xml | 14 + .../src/main/res/layout/activity_main.xml | 14 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../src/main/res/values/colors.xml | 4 + .../src/main/res/values/strings.xml | 4 + .../example/example-kotlin/build.gradle | 38 ++ .../src/main/AndroidManifest.xml | 22 ++ .../example/kotlin/ExampleApplication.kt | 24 ++ .../braze41/example/kotlin/MainActivity.kt | 11 + .../res/drawable/ic_launcher_foreground.xml | 14 + .../src/main/res/layout/activity_main.xml | 14 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../src/main/res/values/colors.xml | 4 + .../src/main/res/values/strings.xml | 4 + .../example/example-kotlin/build.gradle | 38 ++ .../src/main/AndroidManifest.xml | 22 ++ .../example/kotlin/ExampleApplication.kt | 24 ++ .../clevertap/example/kotlin/MainActivity.kt | 11 + .../res/drawable/ic_launcher_foreground.xml | 14 + .../src/main/res/layout/activity_main.xml | 14 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../src/main/res/values/colors.xml | 4 + .../src/main/res/values/strings.xml | 4 + .../example/example-kotlin/build.gradle | 38 ++ .../src/main/AndroidManifest.xml | 22 ++ .../example/kotlin/ExampleApplication.kt | 24 ++ .../comscore/example/kotlin/MainActivity.kt | 11 + .../res/drawable/ic_launcher_foreground.xml | 14 + .../src/main/res/layout/activity_main.xml | 14 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../src/main/res/values/colors.xml | 4 + .../src/main/res/values/strings.xml | 4 + .../ga-23/example/example-kotlin/build.gradle | 38 ++ .../src/main/AndroidManifest.xml | 22 ++ .../ga/example/kotlin/ExampleApplication.kt | 24 ++ .../kits/ga/example/kotlin/MainActivity.kt | 11 + .../res/drawable/ic_launcher_foreground.xml | 14 + .../src/main/res/layout/activity_main.xml | 14 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../src/main/res/values/colors.xml | 4 + .../src/main/res/values/strings.xml | 4 + .../example/example-kotlin/build.gradle | 38 ++ .../src/main/AndroidManifest.xml | 22 ++ .../ga4/example/kotlin/ExampleApplication.kt | 24 ++ .../kits/ga4/example/kotlin/MainActivity.kt | 11 + .../res/drawable/ic_launcher_foreground.xml | 14 + .../src/main/res/layout/activity_main.xml | 14 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../src/main/res/values/colors.xml | 4 + .../src/main/res/values/strings.xml | 4 + .../example/example-kotlin/build.gradle | 38 ++ .../src/main/AndroidManifest.xml | 22 ++ .../example/kotlin/ExampleApplication.kt | 24 ++ .../iterable/example/kotlin/MainActivity.kt | 11 + .../res/drawable/ic_launcher_foreground.xml | 14 + .../src/main/res/layout/activity_main.xml | 14 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../src/main/res/values/colors.xml | 4 + .../src/main/res/values/strings.xml | 4 + .../example/example-kotlin/build.gradle | 38 ++ .../src/main/AndroidManifest.xml | 22 ++ .../example/kotlin/ExampleApplication.kt | 24 ++ .../kochava/example/kotlin/MainActivity.kt | 11 + .../res/drawable/ic_launcher_foreground.xml | 14 + .../src/main/res/layout/activity_main.xml | 14 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../src/main/res/values/colors.xml | 4 + .../src/main/res/values/strings.xml | 4 + .../example/example-kotlin/build.gradle | 38 ++ .../src/main/AndroidManifest.xml | 22 ++ .../example/kotlin/ExampleApplication.kt | 24 ++ .../leanplum/example/kotlin/MainActivity.kt | 11 + .../res/drawable/ic_launcher_foreground.xml | 14 + .../src/main/res/layout/activity_main.xml | 14 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../src/main/res/values/colors.xml | 4 + .../src/main/res/values/strings.xml | 4 + .../example/example-kotlin/build.gradle | 38 ++ .../src/main/AndroidManifest.xml | 22 ++ .../example/kotlin/ExampleApplication.kt | 24 ++ .../localytics/example/kotlin/MainActivity.kt | 11 + .../res/drawable/ic_launcher_foreground.xml | 14 + .../src/main/res/layout/activity_main.xml | 14 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../src/main/res/values/colors.xml | 4 + .../src/main/res/values/strings.xml | 4 + kits/matrix.json | 142 ++++++++ .../example/example-kotlin/build.gradle | 38 ++ .../src/main/AndroidManifest.xml | 22 ++ .../example/kotlin/ExampleApplication.kt | 24 ++ .../onetrust/example/kotlin/MainActivity.kt | 11 + .../res/drawable/ic_launcher_foreground.xml | 14 + .../src/main/res/layout/activity_main.xml | 14 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../src/main/res/values/colors.xml | 4 + .../src/main/res/values/strings.xml | 4 + .../example/example-kotlin/build.gradle | 38 ++ .../src/main/AndroidManifest.xml | 22 ++ .../example/kotlin/ExampleApplication.kt | 24 ++ .../optimizely/example/kotlin/MainActivity.kt | 11 + .../res/drawable/ic_launcher_foreground.xml | 14 + .../src/main/res/layout/activity_main.xml | 14 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../src/main/res/values/colors.xml | 4 + .../src/main/res/values/strings.xml | 4 + .../example/example-kotlin/build.gradle | 38 ++ .../src/main/AndroidManifest.xml | 22 ++ .../example/kotlin/ExampleApplication.kt | 24 ++ .../kits/radar/example/kotlin/MainActivity.kt | 11 + .../res/drawable/ic_launcher_foreground.xml | 14 + .../src/main/res/layout/activity_main.xml | 14 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../src/main/res/values/colors.xml | 4 + .../src/main/res/values/strings.xml | 4 + .../rokt/example/example-kotlin/build.gradle | 38 ++ .../src/main/AndroidManifest.xml | 22 ++ .../rokt/example/kotlin/ExampleApplication.kt | 24 ++ .../kits/rokt/example/kotlin/MainActivity.kt | 11 + .../res/drawable/ic_launcher_foreground.xml | 14 + .../src/main/res/layout/activity_main.xml | 14 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../src/main/res/values/colors.xml | 4 + .../src/main/res/values/strings.xml | 4 + .../example/example-kotlin/build.gradle | 38 ++ .../src/main/AndroidManifest.xml | 22 ++ .../example/kotlin/ExampleApplication.kt | 24 ++ .../singular/example/kotlin/MainActivity.kt | 11 + .../res/drawable/ic_launcher_foreground.xml | 14 + .../src/main/res/layout/activity_main.xml | 14 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../src/main/res/values/colors.xml | 4 + .../src/main/res/values/strings.xml | 4 + scripts/generate-kit-examples.py | 330 ++++++++++++++++++ settings-kit-examples.gradle | 48 ++- 234 files changed, 3764 insertions(+), 3 deletions(-) create mode 100644 kits/adobe/adobe-5/example/example-kotlin/build.gradle create mode 100644 kits/adobe/adobe-5/example/example-kotlin/src/main/AndroidManifest.xml create mode 100644 kits/adobe/adobe-5/example/example-kotlin/src/main/kotlin/com/mparticle/kits/adobe/example/kotlin/ExampleApplication.kt create mode 100644 kits/adobe/adobe-5/example/example-kotlin/src/main/kotlin/com/mparticle/kits/adobe/example/kotlin/MainActivity.kt create mode 100644 kits/adobe/adobe-5/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 kits/adobe/adobe-5/example/example-kotlin/src/main/res/layout/activity_main.xml create mode 100644 kits/adobe/adobe-5/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 kits/adobe/adobe-5/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 kits/adobe/adobe-5/example/example-kotlin/src/main/res/values/colors.xml create mode 100644 kits/adobe/adobe-5/example/example-kotlin/src/main/res/values/strings.xml create mode 100644 kits/adobemedia/adobemedia-5/example/example-kotlin/build.gradle create mode 100644 kits/adobemedia/adobemedia-5/example/example-kotlin/src/main/AndroidManifest.xml create mode 100644 kits/adobemedia/adobemedia-5/example/example-kotlin/src/main/kotlin/com/mparticle/kits/adobemedia/example/kotlin/ExampleApplication.kt create mode 100644 kits/adobemedia/adobemedia-5/example/example-kotlin/src/main/kotlin/com/mparticle/kits/adobemedia/example/kotlin/MainActivity.kt create mode 100644 kits/adobemedia/adobemedia-5/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 kits/adobemedia/adobemedia-5/example/example-kotlin/src/main/res/layout/activity_main.xml create mode 100644 kits/adobemedia/adobemedia-5/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 kits/adobemedia/adobemedia-5/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 kits/adobemedia/adobemedia-5/example/example-kotlin/src/main/res/values/colors.xml create mode 100644 kits/adobemedia/adobemedia-5/example/example-kotlin/src/main/res/values/strings.xml create mode 100644 kits/appsflyer/appsflyer-6/example/example-kotlin/build.gradle create mode 100644 kits/appsflyer/appsflyer-6/example/example-kotlin/src/main/AndroidManifest.xml create mode 100644 kits/appsflyer/appsflyer-6/example/example-kotlin/src/main/kotlin/com/mparticle/kits/appsflyer/example/kotlin/ExampleApplication.kt create mode 100644 kits/appsflyer/appsflyer-6/example/example-kotlin/src/main/kotlin/com/mparticle/kits/appsflyer/example/kotlin/MainActivity.kt create mode 100644 kits/appsflyer/appsflyer-6/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 kits/appsflyer/appsflyer-6/example/example-kotlin/src/main/res/layout/activity_main.xml create mode 100644 kits/appsflyer/appsflyer-6/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 kits/appsflyer/appsflyer-6/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 kits/appsflyer/appsflyer-6/example/example-kotlin/src/main/res/values/colors.xml create mode 100644 kits/appsflyer/appsflyer-6/example/example-kotlin/src/main/res/values/strings.xml create mode 100644 kits/apptentive/apptentive-6/example/example-kotlin/build.gradle create mode 100644 kits/apptentive/apptentive-6/example/example-kotlin/src/main/AndroidManifest.xml create mode 100644 kits/apptentive/apptentive-6/example/example-kotlin/src/main/kotlin/com/mparticle/kits/apptentive/example/kotlin/ExampleApplication.kt create mode 100644 kits/apptentive/apptentive-6/example/example-kotlin/src/main/kotlin/com/mparticle/kits/apptentive/example/kotlin/MainActivity.kt create mode 100644 kits/apptentive/apptentive-6/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 kits/apptentive/apptentive-6/example/example-kotlin/src/main/res/layout/activity_main.xml create mode 100644 kits/apptentive/apptentive-6/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 kits/apptentive/apptentive-6/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 kits/apptentive/apptentive-6/example/example-kotlin/src/main/res/values/colors.xml create mode 100644 kits/apptentive/apptentive-6/example/example-kotlin/src/main/res/values/strings.xml create mode 100644 kits/apptimize/apptimize-3/example/example-kotlin/build.gradle create mode 100644 kits/apptimize/apptimize-3/example/example-kotlin/src/main/AndroidManifest.xml create mode 100644 kits/apptimize/apptimize-3/example/example-kotlin/src/main/kotlin/com/mparticle/kits/apptimize/example/kotlin/ExampleApplication.kt create mode 100644 kits/apptimize/apptimize-3/example/example-kotlin/src/main/kotlin/com/mparticle/kits/apptimize/example/kotlin/MainActivity.kt create mode 100644 kits/apptimize/apptimize-3/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 kits/apptimize/apptimize-3/example/example-kotlin/src/main/res/layout/activity_main.xml create mode 100644 kits/apptimize/apptimize-3/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 kits/apptimize/apptimize-3/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 kits/apptimize/apptimize-3/example/example-kotlin/src/main/res/values/colors.xml create mode 100644 kits/apptimize/apptimize-3/example/example-kotlin/src/main/res/values/strings.xml create mode 100644 kits/branch/branch-5/example/example-kotlin/build.gradle create mode 100644 kits/branch/branch-5/example/example-kotlin/src/main/AndroidManifest.xml create mode 100644 kits/branch/branch-5/example/example-kotlin/src/main/kotlin/com/mparticle/kits/branch/example/kotlin/ExampleApplication.kt create mode 100644 kits/branch/branch-5/example/example-kotlin/src/main/kotlin/com/mparticle/kits/branch/example/kotlin/MainActivity.kt create mode 100644 kits/branch/branch-5/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 kits/branch/branch-5/example/example-kotlin/src/main/res/layout/activity_main.xml create mode 100644 kits/branch/branch-5/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 kits/branch/branch-5/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 kits/branch/branch-5/example/example-kotlin/src/main/res/values/colors.xml create mode 100644 kits/branch/branch-5/example/example-kotlin/src/main/res/values/strings.xml create mode 100644 kits/braze/braze-38/example/example-kotlin/build.gradle create mode 100644 kits/braze/braze-38/example/example-kotlin/src/main/AndroidManifest.xml create mode 100644 kits/braze/braze-38/example/example-kotlin/src/main/kotlin/com/mparticle/kits/braze/braze38/example/kotlin/ExampleApplication.kt create mode 100644 kits/braze/braze-38/example/example-kotlin/src/main/kotlin/com/mparticle/kits/braze/braze38/example/kotlin/MainActivity.kt create mode 100644 kits/braze/braze-38/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 kits/braze/braze-38/example/example-kotlin/src/main/res/layout/activity_main.xml create mode 100644 kits/braze/braze-38/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 kits/braze/braze-38/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 kits/braze/braze-38/example/example-kotlin/src/main/res/values/colors.xml create mode 100644 kits/braze/braze-38/example/example-kotlin/src/main/res/values/strings.xml create mode 100644 kits/braze/braze-39/example/example-kotlin/build.gradle create mode 100644 kits/braze/braze-39/example/example-kotlin/src/main/AndroidManifest.xml create mode 100644 kits/braze/braze-39/example/example-kotlin/src/main/kotlin/com/mparticle/kits/braze/braze39/example/kotlin/ExampleApplication.kt create mode 100644 kits/braze/braze-39/example/example-kotlin/src/main/kotlin/com/mparticle/kits/braze/braze39/example/kotlin/MainActivity.kt create mode 100644 kits/braze/braze-39/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 kits/braze/braze-39/example/example-kotlin/src/main/res/layout/activity_main.xml create mode 100644 kits/braze/braze-39/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 kits/braze/braze-39/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 kits/braze/braze-39/example/example-kotlin/src/main/res/values/colors.xml create mode 100644 kits/braze/braze-39/example/example-kotlin/src/main/res/values/strings.xml create mode 100644 kits/braze/braze-40/example/example-kotlin/build.gradle create mode 100644 kits/braze/braze-40/example/example-kotlin/src/main/AndroidManifest.xml create mode 100644 kits/braze/braze-40/example/example-kotlin/src/main/kotlin/com/mparticle/kits/braze/braze40/example/kotlin/ExampleApplication.kt create mode 100644 kits/braze/braze-40/example/example-kotlin/src/main/kotlin/com/mparticle/kits/braze/braze40/example/kotlin/MainActivity.kt create mode 100644 kits/braze/braze-40/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 kits/braze/braze-40/example/example-kotlin/src/main/res/layout/activity_main.xml create mode 100644 kits/braze/braze-40/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 kits/braze/braze-40/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 kits/braze/braze-40/example/example-kotlin/src/main/res/values/colors.xml create mode 100644 kits/braze/braze-40/example/example-kotlin/src/main/res/values/strings.xml create mode 100644 kits/braze/braze-41/example/example-kotlin/build.gradle create mode 100644 kits/braze/braze-41/example/example-kotlin/src/main/AndroidManifest.xml create mode 100644 kits/braze/braze-41/example/example-kotlin/src/main/kotlin/com/mparticle/kits/braze/braze41/example/kotlin/ExampleApplication.kt create mode 100644 kits/braze/braze-41/example/example-kotlin/src/main/kotlin/com/mparticle/kits/braze/braze41/example/kotlin/MainActivity.kt create mode 100644 kits/braze/braze-41/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 kits/braze/braze-41/example/example-kotlin/src/main/res/layout/activity_main.xml create mode 100644 kits/braze/braze-41/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 kits/braze/braze-41/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 kits/braze/braze-41/example/example-kotlin/src/main/res/values/colors.xml create mode 100644 kits/braze/braze-41/example/example-kotlin/src/main/res/values/strings.xml create mode 100644 kits/clevertap/clevertap-7/example/example-kotlin/build.gradle create mode 100644 kits/clevertap/clevertap-7/example/example-kotlin/src/main/AndroidManifest.xml create mode 100644 kits/clevertap/clevertap-7/example/example-kotlin/src/main/kotlin/com/mparticle/kits/clevertap/example/kotlin/ExampleApplication.kt create mode 100644 kits/clevertap/clevertap-7/example/example-kotlin/src/main/kotlin/com/mparticle/kits/clevertap/example/kotlin/MainActivity.kt create mode 100644 kits/clevertap/clevertap-7/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 kits/clevertap/clevertap-7/example/example-kotlin/src/main/res/layout/activity_main.xml create mode 100644 kits/clevertap/clevertap-7/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 kits/clevertap/clevertap-7/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 kits/clevertap/clevertap-7/example/example-kotlin/src/main/res/values/colors.xml create mode 100644 kits/clevertap/clevertap-7/example/example-kotlin/src/main/res/values/strings.xml create mode 100644 kits/comscore/comscore-6/example/example-kotlin/build.gradle create mode 100644 kits/comscore/comscore-6/example/example-kotlin/src/main/AndroidManifest.xml create mode 100644 kits/comscore/comscore-6/example/example-kotlin/src/main/kotlin/com/mparticle/kits/comscore/example/kotlin/ExampleApplication.kt create mode 100644 kits/comscore/comscore-6/example/example-kotlin/src/main/kotlin/com/mparticle/kits/comscore/example/kotlin/MainActivity.kt create mode 100644 kits/comscore/comscore-6/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 kits/comscore/comscore-6/example/example-kotlin/src/main/res/layout/activity_main.xml create mode 100644 kits/comscore/comscore-6/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 kits/comscore/comscore-6/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 kits/comscore/comscore-6/example/example-kotlin/src/main/res/values/colors.xml create mode 100644 kits/comscore/comscore-6/example/example-kotlin/src/main/res/values/strings.xml create mode 100644 kits/ga/ga-23/example/example-kotlin/build.gradle create mode 100644 kits/ga/ga-23/example/example-kotlin/src/main/AndroidManifest.xml create mode 100644 kits/ga/ga-23/example/example-kotlin/src/main/kotlin/com/mparticle/kits/ga/example/kotlin/ExampleApplication.kt create mode 100644 kits/ga/ga-23/example/example-kotlin/src/main/kotlin/com/mparticle/kits/ga/example/kotlin/MainActivity.kt create mode 100644 kits/ga/ga-23/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 kits/ga/ga-23/example/example-kotlin/src/main/res/layout/activity_main.xml create mode 100644 kits/ga/ga-23/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 kits/ga/ga-23/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 kits/ga/ga-23/example/example-kotlin/src/main/res/values/colors.xml create mode 100644 kits/ga/ga-23/example/example-kotlin/src/main/res/values/strings.xml create mode 100644 kits/ga4/ga4-23/example/example-kotlin/build.gradle create mode 100644 kits/ga4/ga4-23/example/example-kotlin/src/main/AndroidManifest.xml create mode 100644 kits/ga4/ga4-23/example/example-kotlin/src/main/kotlin/com/mparticle/kits/ga4/example/kotlin/ExampleApplication.kt create mode 100644 kits/ga4/ga4-23/example/example-kotlin/src/main/kotlin/com/mparticle/kits/ga4/example/kotlin/MainActivity.kt create mode 100644 kits/ga4/ga4-23/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 kits/ga4/ga4-23/example/example-kotlin/src/main/res/layout/activity_main.xml create mode 100644 kits/ga4/ga4-23/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 kits/ga4/ga4-23/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 kits/ga4/ga4-23/example/example-kotlin/src/main/res/values/colors.xml create mode 100644 kits/ga4/ga4-23/example/example-kotlin/src/main/res/values/strings.xml create mode 100644 kits/iterable/iterable-3/example/example-kotlin/build.gradle create mode 100644 kits/iterable/iterable-3/example/example-kotlin/src/main/AndroidManifest.xml create mode 100644 kits/iterable/iterable-3/example/example-kotlin/src/main/kotlin/com/mparticle/kits/iterable/example/kotlin/ExampleApplication.kt create mode 100644 kits/iterable/iterable-3/example/example-kotlin/src/main/kotlin/com/mparticle/kits/iterable/example/kotlin/MainActivity.kt create mode 100644 kits/iterable/iterable-3/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 kits/iterable/iterable-3/example/example-kotlin/src/main/res/layout/activity_main.xml create mode 100644 kits/iterable/iterable-3/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 kits/iterable/iterable-3/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 kits/iterable/iterable-3/example/example-kotlin/src/main/res/values/colors.xml create mode 100644 kits/iterable/iterable-3/example/example-kotlin/src/main/res/values/strings.xml create mode 100644 kits/kochava/kochava-5/example/example-kotlin/build.gradle create mode 100644 kits/kochava/kochava-5/example/example-kotlin/src/main/AndroidManifest.xml create mode 100644 kits/kochava/kochava-5/example/example-kotlin/src/main/kotlin/com/mparticle/kits/kochava/example/kotlin/ExampleApplication.kt create mode 100644 kits/kochava/kochava-5/example/example-kotlin/src/main/kotlin/com/mparticle/kits/kochava/example/kotlin/MainActivity.kt create mode 100644 kits/kochava/kochava-5/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 kits/kochava/kochava-5/example/example-kotlin/src/main/res/layout/activity_main.xml create mode 100644 kits/kochava/kochava-5/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 kits/kochava/kochava-5/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 kits/kochava/kochava-5/example/example-kotlin/src/main/res/values/colors.xml create mode 100644 kits/kochava/kochava-5/example/example-kotlin/src/main/res/values/strings.xml create mode 100644 kits/leanplum/leanplum-7/example/example-kotlin/build.gradle create mode 100644 kits/leanplum/leanplum-7/example/example-kotlin/src/main/AndroidManifest.xml create mode 100644 kits/leanplum/leanplum-7/example/example-kotlin/src/main/kotlin/com/mparticle/kits/leanplum/example/kotlin/ExampleApplication.kt create mode 100644 kits/leanplum/leanplum-7/example/example-kotlin/src/main/kotlin/com/mparticle/kits/leanplum/example/kotlin/MainActivity.kt create mode 100644 kits/leanplum/leanplum-7/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 kits/leanplum/leanplum-7/example/example-kotlin/src/main/res/layout/activity_main.xml create mode 100644 kits/leanplum/leanplum-7/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 kits/leanplum/leanplum-7/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 kits/leanplum/leanplum-7/example/example-kotlin/src/main/res/values/colors.xml create mode 100644 kits/leanplum/leanplum-7/example/example-kotlin/src/main/res/values/strings.xml create mode 100644 kits/localytics/localytics-6/example/example-kotlin/build.gradle create mode 100644 kits/localytics/localytics-6/example/example-kotlin/src/main/AndroidManifest.xml create mode 100644 kits/localytics/localytics-6/example/example-kotlin/src/main/kotlin/com/mparticle/kits/localytics/example/kotlin/ExampleApplication.kt create mode 100644 kits/localytics/localytics-6/example/example-kotlin/src/main/kotlin/com/mparticle/kits/localytics/example/kotlin/MainActivity.kt create mode 100644 kits/localytics/localytics-6/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 kits/localytics/localytics-6/example/example-kotlin/src/main/res/layout/activity_main.xml create mode 100644 kits/localytics/localytics-6/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 kits/localytics/localytics-6/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 kits/localytics/localytics-6/example/example-kotlin/src/main/res/values/colors.xml create mode 100644 kits/localytics/localytics-6/example/example-kotlin/src/main/res/values/strings.xml create mode 100644 kits/onetrust/onetrust/example/example-kotlin/build.gradle create mode 100644 kits/onetrust/onetrust/example/example-kotlin/src/main/AndroidManifest.xml create mode 100644 kits/onetrust/onetrust/example/example-kotlin/src/main/kotlin/com/mparticle/kits/onetrust/example/kotlin/ExampleApplication.kt create mode 100644 kits/onetrust/onetrust/example/example-kotlin/src/main/kotlin/com/mparticle/kits/onetrust/example/kotlin/MainActivity.kt create mode 100644 kits/onetrust/onetrust/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 kits/onetrust/onetrust/example/example-kotlin/src/main/res/layout/activity_main.xml create mode 100644 kits/onetrust/onetrust/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 kits/onetrust/onetrust/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 kits/onetrust/onetrust/example/example-kotlin/src/main/res/values/colors.xml create mode 100644 kits/onetrust/onetrust/example/example-kotlin/src/main/res/values/strings.xml create mode 100644 kits/optimizely/optimizely-3/example/example-kotlin/build.gradle create mode 100644 kits/optimizely/optimizely-3/example/example-kotlin/src/main/AndroidManifest.xml create mode 100644 kits/optimizely/optimizely-3/example/example-kotlin/src/main/kotlin/com/mparticle/kits/optimizely/example/kotlin/ExampleApplication.kt create mode 100644 kits/optimizely/optimizely-3/example/example-kotlin/src/main/kotlin/com/mparticle/kits/optimizely/example/kotlin/MainActivity.kt create mode 100644 kits/optimizely/optimizely-3/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 kits/optimizely/optimizely-3/example/example-kotlin/src/main/res/layout/activity_main.xml create mode 100644 kits/optimizely/optimizely-3/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 kits/optimizely/optimizely-3/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 kits/optimizely/optimizely-3/example/example-kotlin/src/main/res/values/colors.xml create mode 100644 kits/optimizely/optimizely-3/example/example-kotlin/src/main/res/values/strings.xml create mode 100644 kits/radar/radar-3/example/example-kotlin/build.gradle create mode 100644 kits/radar/radar-3/example/example-kotlin/src/main/AndroidManifest.xml create mode 100644 kits/radar/radar-3/example/example-kotlin/src/main/kotlin/com/mparticle/kits/radar/example/kotlin/ExampleApplication.kt create mode 100644 kits/radar/radar-3/example/example-kotlin/src/main/kotlin/com/mparticle/kits/radar/example/kotlin/MainActivity.kt create mode 100644 kits/radar/radar-3/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 kits/radar/radar-3/example/example-kotlin/src/main/res/layout/activity_main.xml create mode 100644 kits/radar/radar-3/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 kits/radar/radar-3/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 kits/radar/radar-3/example/example-kotlin/src/main/res/values/colors.xml create mode 100644 kits/radar/radar-3/example/example-kotlin/src/main/res/values/strings.xml create mode 100644 kits/rokt/rokt/example/example-kotlin/build.gradle create mode 100644 kits/rokt/rokt/example/example-kotlin/src/main/AndroidManifest.xml create mode 100644 kits/rokt/rokt/example/example-kotlin/src/main/kotlin/com/mparticle/kits/rokt/example/kotlin/ExampleApplication.kt create mode 100644 kits/rokt/rokt/example/example-kotlin/src/main/kotlin/com/mparticle/kits/rokt/example/kotlin/MainActivity.kt create mode 100644 kits/rokt/rokt/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 kits/rokt/rokt/example/example-kotlin/src/main/res/layout/activity_main.xml create mode 100644 kits/rokt/rokt/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 kits/rokt/rokt/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 kits/rokt/rokt/example/example-kotlin/src/main/res/values/colors.xml create mode 100644 kits/rokt/rokt/example/example-kotlin/src/main/res/values/strings.xml create mode 100644 kits/singular/singular-12/example/example-kotlin/build.gradle create mode 100644 kits/singular/singular-12/example/example-kotlin/src/main/AndroidManifest.xml create mode 100644 kits/singular/singular-12/example/example-kotlin/src/main/kotlin/com/mparticle/kits/singular/example/kotlin/ExampleApplication.kt create mode 100644 kits/singular/singular-12/example/example-kotlin/src/main/kotlin/com/mparticle/kits/singular/example/kotlin/MainActivity.kt create mode 100644 kits/singular/singular-12/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 kits/singular/singular-12/example/example-kotlin/src/main/res/layout/activity_main.xml create mode 100644 kits/singular/singular-12/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 kits/singular/singular-12/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 kits/singular/singular-12/example/example-kotlin/src/main/res/values/colors.xml create mode 100644 kits/singular/singular-12/example/example-kotlin/src/main/res/values/strings.xml create mode 100644 scripts/generate-kit-examples.py diff --git a/kits/adjust/adjust-5/example/example-kotlin/build.gradle b/kits/adjust/adjust-5/example/example-kotlin/build.gradle index 1935716d1..653835c08 100644 --- a/kits/adjust/adjust-5/example/example-kotlin/build.gradle +++ b/kits/adjust/adjust-5/example/example-kotlin/build.gradle @@ -5,12 +5,12 @@ plugins { android { namespace 'com.mparticle.kits.adjust.example.kotlin' - compileSdk 34 + compileSdk 35 defaultConfig { applicationId 'com.mparticle.kits.adjust.example.kotlin' minSdk 21 - targetSdk 34 + targetSdk 35 versionCode 1 versionName '1.0' } diff --git a/kits/adobe/adobe-5/example/example-kotlin/build.gradle b/kits/adobe/adobe-5/example/example-kotlin/build.gradle new file mode 100644 index 000000000..86c337148 --- /dev/null +++ b/kits/adobe/adobe-5/example/example-kotlin/build.gradle @@ -0,0 +1,38 @@ +plugins { + id 'com.android.application' + id 'org.jetbrains.kotlin.android' +} + +android { + namespace 'com.mparticle.kits.adobe.example.kotlin' + compileSdk 35 + + defaultConfig { + applicationId 'com.mparticle.kits.adobe.example.kotlin' + minSdk 16 + targetSdk 35 + versionCode 1 + versionName '1.0' + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } + + kotlinOptions { + jvmTarget = '17' + } + + buildTypes { + release { + minifyEnabled false + } + } +} + +dependencies { + implementation project(':kits:adobe:adobe-5') + implementation 'androidx.appcompat:appcompat:1.6.1' + implementation 'com.google.android.material:material:1.11.0' +} diff --git a/kits/adobe/adobe-5/example/example-kotlin/src/main/AndroidManifest.xml b/kits/adobe/adobe-5/example/example-kotlin/src/main/AndroidManifest.xml new file mode 100644 index 000000000..84b1637c1 --- /dev/null +++ b/kits/adobe/adobe-5/example/example-kotlin/src/main/AndroidManifest.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + diff --git a/kits/adobe/adobe-5/example/example-kotlin/src/main/kotlin/com/mparticle/kits/adobe/example/kotlin/ExampleApplication.kt b/kits/adobe/adobe-5/example/example-kotlin/src/main/kotlin/com/mparticle/kits/adobe/example/kotlin/ExampleApplication.kt new file mode 100644 index 000000000..a8dec42a1 --- /dev/null +++ b/kits/adobe/adobe-5/example/example-kotlin/src/main/kotlin/com/mparticle/kits/adobe/example/kotlin/ExampleApplication.kt @@ -0,0 +1,24 @@ +package com.mparticle.kits.adobe.example.kotlin + +import android.app.Application +import com.mparticle.MPEvent +import com.mparticle.MParticle +import com.mparticle.MParticleOptions + +class ExampleApplication : Application() { + override fun onCreate() { + super.onCreate() + val options = + MParticleOptions + .builder(this) + .credentials( + "REPLACE WITH YOUR MPARTICLE API KEY", + "REPLACE WITH YOUR MPARTICLE API SECRET", + ).logLevel(MParticle.LogLevel.VERBOSE) + .build() + MParticle.start(options) + MParticle.getInstance()?.logEvent( + MPEvent.Builder("foo", MParticle.EventType.Other).build(), + ) + } +} diff --git a/kits/adobe/adobe-5/example/example-kotlin/src/main/kotlin/com/mparticle/kits/adobe/example/kotlin/MainActivity.kt b/kits/adobe/adobe-5/example/example-kotlin/src/main/kotlin/com/mparticle/kits/adobe/example/kotlin/MainActivity.kt new file mode 100644 index 000000000..077db5600 --- /dev/null +++ b/kits/adobe/adobe-5/example/example-kotlin/src/main/kotlin/com/mparticle/kits/adobe/example/kotlin/MainActivity.kt @@ -0,0 +1,11 @@ +package com.mparticle.kits.adobe.example.kotlin + +import android.os.Bundle +import androidx.appcompat.app.AppCompatActivity + +class MainActivity : AppCompatActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_main) + } +} diff --git a/kits/adobe/adobe-5/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml b/kits/adobe/adobe-5/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 000000000..046177833 --- /dev/null +++ b/kits/adobe/adobe-5/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,14 @@ + + + + diff --git a/kits/adobe/adobe-5/example/example-kotlin/src/main/res/layout/activity_main.xml b/kits/adobe/adobe-5/example/example-kotlin/src/main/res/layout/activity_main.xml new file mode 100644 index 000000000..e2897e3ff --- /dev/null +++ b/kits/adobe/adobe-5/example/example-kotlin/src/main/res/layout/activity_main.xml @@ -0,0 +1,14 @@ + + + + + + diff --git a/kits/adobe/adobe-5/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/kits/adobe/adobe-5/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 000000000..a8a8fa551 --- /dev/null +++ b/kits/adobe/adobe-5/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/kits/adobe/adobe-5/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/kits/adobe/adobe-5/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 000000000..a8a8fa551 --- /dev/null +++ b/kits/adobe/adobe-5/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/kits/adobe/adobe-5/example/example-kotlin/src/main/res/values/colors.xml b/kits/adobe/adobe-5/example/example-kotlin/src/main/res/values/colors.xml new file mode 100644 index 000000000..f42ada656 --- /dev/null +++ b/kits/adobe/adobe-5/example/example-kotlin/src/main/res/values/colors.xml @@ -0,0 +1,4 @@ + + + #FFFFFF + diff --git a/kits/adobe/adobe-5/example/example-kotlin/src/main/res/values/strings.xml b/kits/adobe/adobe-5/example/example-kotlin/src/main/res/values/strings.xml new file mode 100644 index 000000000..001176bdb --- /dev/null +++ b/kits/adobe/adobe-5/example/example-kotlin/src/main/res/values/strings.xml @@ -0,0 +1,4 @@ + + + Adobe Kit Kotlin Example + diff --git a/kits/adobemedia/adobemedia-5/example/example-kotlin/build.gradle b/kits/adobemedia/adobemedia-5/example/example-kotlin/build.gradle new file mode 100644 index 000000000..01f8a6208 --- /dev/null +++ b/kits/adobemedia/adobemedia-5/example/example-kotlin/build.gradle @@ -0,0 +1,38 @@ +plugins { + id 'com.android.application' + id 'org.jetbrains.kotlin.android' +} + +android { + namespace 'com.mparticle.kits.adobemedia.example.kotlin' + compileSdk 35 + + defaultConfig { + applicationId 'com.mparticle.kits.adobemedia.example.kotlin' + minSdk 21 + targetSdk 35 + versionCode 1 + versionName '1.0' + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } + + kotlinOptions { + jvmTarget = '17' + } + + buildTypes { + release { + minifyEnabled false + } + } +} + +dependencies { + implementation project(':kits:adobemedia:adobemedia-5') + implementation 'androidx.appcompat:appcompat:1.6.1' + implementation 'com.google.android.material:material:1.11.0' +} diff --git a/kits/adobemedia/adobemedia-5/example/example-kotlin/src/main/AndroidManifest.xml b/kits/adobemedia/adobemedia-5/example/example-kotlin/src/main/AndroidManifest.xml new file mode 100644 index 000000000..84b1637c1 --- /dev/null +++ b/kits/adobemedia/adobemedia-5/example/example-kotlin/src/main/AndroidManifest.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + diff --git a/kits/adobemedia/adobemedia-5/example/example-kotlin/src/main/kotlin/com/mparticle/kits/adobemedia/example/kotlin/ExampleApplication.kt b/kits/adobemedia/adobemedia-5/example/example-kotlin/src/main/kotlin/com/mparticle/kits/adobemedia/example/kotlin/ExampleApplication.kt new file mode 100644 index 000000000..8e6231881 --- /dev/null +++ b/kits/adobemedia/adobemedia-5/example/example-kotlin/src/main/kotlin/com/mparticle/kits/adobemedia/example/kotlin/ExampleApplication.kt @@ -0,0 +1,24 @@ +package com.mparticle.kits.adobemedia.example.kotlin + +import android.app.Application +import com.mparticle.MPEvent +import com.mparticle.MParticle +import com.mparticle.MParticleOptions + +class ExampleApplication : Application() { + override fun onCreate() { + super.onCreate() + val options = + MParticleOptions + .builder(this) + .credentials( + "REPLACE WITH YOUR MPARTICLE API KEY", + "REPLACE WITH YOUR MPARTICLE API SECRET", + ).logLevel(MParticle.LogLevel.VERBOSE) + .build() + MParticle.start(options) + MParticle.getInstance()?.logEvent( + MPEvent.Builder("foo", MParticle.EventType.Other).build(), + ) + } +} diff --git a/kits/adobemedia/adobemedia-5/example/example-kotlin/src/main/kotlin/com/mparticle/kits/adobemedia/example/kotlin/MainActivity.kt b/kits/adobemedia/adobemedia-5/example/example-kotlin/src/main/kotlin/com/mparticle/kits/adobemedia/example/kotlin/MainActivity.kt new file mode 100644 index 000000000..f8eb7d322 --- /dev/null +++ b/kits/adobemedia/adobemedia-5/example/example-kotlin/src/main/kotlin/com/mparticle/kits/adobemedia/example/kotlin/MainActivity.kt @@ -0,0 +1,11 @@ +package com.mparticle.kits.adobemedia.example.kotlin + +import android.os.Bundle +import androidx.appcompat.app.AppCompatActivity + +class MainActivity : AppCompatActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_main) + } +} diff --git a/kits/adobemedia/adobemedia-5/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml b/kits/adobemedia/adobemedia-5/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 000000000..046177833 --- /dev/null +++ b/kits/adobemedia/adobemedia-5/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,14 @@ + + + + diff --git a/kits/adobemedia/adobemedia-5/example/example-kotlin/src/main/res/layout/activity_main.xml b/kits/adobemedia/adobemedia-5/example/example-kotlin/src/main/res/layout/activity_main.xml new file mode 100644 index 000000000..e2897e3ff --- /dev/null +++ b/kits/adobemedia/adobemedia-5/example/example-kotlin/src/main/res/layout/activity_main.xml @@ -0,0 +1,14 @@ + + + + + + diff --git a/kits/adobemedia/adobemedia-5/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/kits/adobemedia/adobemedia-5/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 000000000..a8a8fa551 --- /dev/null +++ b/kits/adobemedia/adobemedia-5/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/kits/adobemedia/adobemedia-5/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/kits/adobemedia/adobemedia-5/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 000000000..a8a8fa551 --- /dev/null +++ b/kits/adobemedia/adobemedia-5/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/kits/adobemedia/adobemedia-5/example/example-kotlin/src/main/res/values/colors.xml b/kits/adobemedia/adobemedia-5/example/example-kotlin/src/main/res/values/colors.xml new file mode 100644 index 000000000..f42ada656 --- /dev/null +++ b/kits/adobemedia/adobemedia-5/example/example-kotlin/src/main/res/values/colors.xml @@ -0,0 +1,4 @@ + + + #FFFFFF + diff --git a/kits/adobemedia/adobemedia-5/example/example-kotlin/src/main/res/values/strings.xml b/kits/adobemedia/adobemedia-5/example/example-kotlin/src/main/res/values/strings.xml new file mode 100644 index 000000000..413bf2683 --- /dev/null +++ b/kits/adobemedia/adobemedia-5/example/example-kotlin/src/main/res/values/strings.xml @@ -0,0 +1,4 @@ + + + Adobe Media Kit Kotlin Example + diff --git a/kits/appsflyer/appsflyer-6/example/example-kotlin/build.gradle b/kits/appsflyer/appsflyer-6/example/example-kotlin/build.gradle new file mode 100644 index 000000000..a86395d15 --- /dev/null +++ b/kits/appsflyer/appsflyer-6/example/example-kotlin/build.gradle @@ -0,0 +1,38 @@ +plugins { + id 'com.android.application' + id 'org.jetbrains.kotlin.android' +} + +android { + namespace 'com.mparticle.kits.appsflyer.example.kotlin' + compileSdk 35 + + defaultConfig { + applicationId 'com.mparticle.kits.appsflyer.example.kotlin' + minSdk 19 + targetSdk 35 + versionCode 1 + versionName '1.0' + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } + + kotlinOptions { + jvmTarget = '17' + } + + buildTypes { + release { + minifyEnabled false + } + } +} + +dependencies { + implementation project(':kits:appsflyer:appsflyer-6') + implementation 'androidx.appcompat:appcompat:1.6.1' + implementation 'com.google.android.material:material:1.11.0' +} diff --git a/kits/appsflyer/appsflyer-6/example/example-kotlin/src/main/AndroidManifest.xml b/kits/appsflyer/appsflyer-6/example/example-kotlin/src/main/AndroidManifest.xml new file mode 100644 index 000000000..84b1637c1 --- /dev/null +++ b/kits/appsflyer/appsflyer-6/example/example-kotlin/src/main/AndroidManifest.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + diff --git a/kits/appsflyer/appsflyer-6/example/example-kotlin/src/main/kotlin/com/mparticle/kits/appsflyer/example/kotlin/ExampleApplication.kt b/kits/appsflyer/appsflyer-6/example/example-kotlin/src/main/kotlin/com/mparticle/kits/appsflyer/example/kotlin/ExampleApplication.kt new file mode 100644 index 000000000..94966dd5e --- /dev/null +++ b/kits/appsflyer/appsflyer-6/example/example-kotlin/src/main/kotlin/com/mparticle/kits/appsflyer/example/kotlin/ExampleApplication.kt @@ -0,0 +1,24 @@ +package com.mparticle.kits.appsflyer.example.kotlin + +import android.app.Application +import com.mparticle.MPEvent +import com.mparticle.MParticle +import com.mparticle.MParticleOptions + +class ExampleApplication : Application() { + override fun onCreate() { + super.onCreate() + val options = + MParticleOptions + .builder(this) + .credentials( + "REPLACE WITH YOUR MPARTICLE API KEY", + "REPLACE WITH YOUR MPARTICLE API SECRET", + ).logLevel(MParticle.LogLevel.VERBOSE) + .build() + MParticle.start(options) + MParticle.getInstance()?.logEvent( + MPEvent.Builder("foo", MParticle.EventType.Other).build(), + ) + } +} diff --git a/kits/appsflyer/appsflyer-6/example/example-kotlin/src/main/kotlin/com/mparticle/kits/appsflyer/example/kotlin/MainActivity.kt b/kits/appsflyer/appsflyer-6/example/example-kotlin/src/main/kotlin/com/mparticle/kits/appsflyer/example/kotlin/MainActivity.kt new file mode 100644 index 000000000..eb2766f09 --- /dev/null +++ b/kits/appsflyer/appsflyer-6/example/example-kotlin/src/main/kotlin/com/mparticle/kits/appsflyer/example/kotlin/MainActivity.kt @@ -0,0 +1,11 @@ +package com.mparticle.kits.appsflyer.example.kotlin + +import android.os.Bundle +import androidx.appcompat.app.AppCompatActivity + +class MainActivity : AppCompatActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_main) + } +} diff --git a/kits/appsflyer/appsflyer-6/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml b/kits/appsflyer/appsflyer-6/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 000000000..046177833 --- /dev/null +++ b/kits/appsflyer/appsflyer-6/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,14 @@ + + + + diff --git a/kits/appsflyer/appsflyer-6/example/example-kotlin/src/main/res/layout/activity_main.xml b/kits/appsflyer/appsflyer-6/example/example-kotlin/src/main/res/layout/activity_main.xml new file mode 100644 index 000000000..e2897e3ff --- /dev/null +++ b/kits/appsflyer/appsflyer-6/example/example-kotlin/src/main/res/layout/activity_main.xml @@ -0,0 +1,14 @@ + + + + + + diff --git a/kits/appsflyer/appsflyer-6/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/kits/appsflyer/appsflyer-6/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 000000000..a8a8fa551 --- /dev/null +++ b/kits/appsflyer/appsflyer-6/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/kits/appsflyer/appsflyer-6/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/kits/appsflyer/appsflyer-6/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 000000000..a8a8fa551 --- /dev/null +++ b/kits/appsflyer/appsflyer-6/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/kits/appsflyer/appsflyer-6/example/example-kotlin/src/main/res/values/colors.xml b/kits/appsflyer/appsflyer-6/example/example-kotlin/src/main/res/values/colors.xml new file mode 100644 index 000000000..f42ada656 --- /dev/null +++ b/kits/appsflyer/appsflyer-6/example/example-kotlin/src/main/res/values/colors.xml @@ -0,0 +1,4 @@ + + + #FFFFFF + diff --git a/kits/appsflyer/appsflyer-6/example/example-kotlin/src/main/res/values/strings.xml b/kits/appsflyer/appsflyer-6/example/example-kotlin/src/main/res/values/strings.xml new file mode 100644 index 000000000..fa734d856 --- /dev/null +++ b/kits/appsflyer/appsflyer-6/example/example-kotlin/src/main/res/values/strings.xml @@ -0,0 +1,4 @@ + + + AppsFlyer Kit Kotlin Example + diff --git a/kits/apptentive/apptentive-6/example/example-kotlin/build.gradle b/kits/apptentive/apptentive-6/example/example-kotlin/build.gradle new file mode 100644 index 000000000..21ae7f517 --- /dev/null +++ b/kits/apptentive/apptentive-6/example/example-kotlin/build.gradle @@ -0,0 +1,38 @@ +plugins { + id 'com.android.application' + id 'org.jetbrains.kotlin.android' +} + +android { + namespace 'com.mparticle.kits.apptentive.example.kotlin' + compileSdk 35 + + defaultConfig { + applicationId 'com.mparticle.kits.apptentive.example.kotlin' + minSdk 21 + targetSdk 35 + versionCode 1 + versionName '1.0' + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } + + kotlinOptions { + jvmTarget = '17' + } + + buildTypes { + release { + minifyEnabled false + } + } +} + +dependencies { + implementation project(':kits:apptentive:apptentive-6') + implementation 'androidx.appcompat:appcompat:1.6.1' + implementation 'com.google.android.material:material:1.11.0' +} diff --git a/kits/apptentive/apptentive-6/example/example-kotlin/src/main/AndroidManifest.xml b/kits/apptentive/apptentive-6/example/example-kotlin/src/main/AndroidManifest.xml new file mode 100644 index 000000000..84b1637c1 --- /dev/null +++ b/kits/apptentive/apptentive-6/example/example-kotlin/src/main/AndroidManifest.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + diff --git a/kits/apptentive/apptentive-6/example/example-kotlin/src/main/kotlin/com/mparticle/kits/apptentive/example/kotlin/ExampleApplication.kt b/kits/apptentive/apptentive-6/example/example-kotlin/src/main/kotlin/com/mparticle/kits/apptentive/example/kotlin/ExampleApplication.kt new file mode 100644 index 000000000..893e14047 --- /dev/null +++ b/kits/apptentive/apptentive-6/example/example-kotlin/src/main/kotlin/com/mparticle/kits/apptentive/example/kotlin/ExampleApplication.kt @@ -0,0 +1,24 @@ +package com.mparticle.kits.apptentive.example.kotlin + +import android.app.Application +import com.mparticle.MPEvent +import com.mparticle.MParticle +import com.mparticle.MParticleOptions + +class ExampleApplication : Application() { + override fun onCreate() { + super.onCreate() + val options = + MParticleOptions + .builder(this) + .credentials( + "REPLACE WITH YOUR MPARTICLE API KEY", + "REPLACE WITH YOUR MPARTICLE API SECRET", + ).logLevel(MParticle.LogLevel.VERBOSE) + .build() + MParticle.start(options) + MParticle.getInstance()?.logEvent( + MPEvent.Builder("foo", MParticle.EventType.Other).build(), + ) + } +} diff --git a/kits/apptentive/apptentive-6/example/example-kotlin/src/main/kotlin/com/mparticle/kits/apptentive/example/kotlin/MainActivity.kt b/kits/apptentive/apptentive-6/example/example-kotlin/src/main/kotlin/com/mparticle/kits/apptentive/example/kotlin/MainActivity.kt new file mode 100644 index 000000000..b9822e943 --- /dev/null +++ b/kits/apptentive/apptentive-6/example/example-kotlin/src/main/kotlin/com/mparticle/kits/apptentive/example/kotlin/MainActivity.kt @@ -0,0 +1,11 @@ +package com.mparticle.kits.apptentive.example.kotlin + +import android.os.Bundle +import androidx.appcompat.app.AppCompatActivity + +class MainActivity : AppCompatActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_main) + } +} diff --git a/kits/apptentive/apptentive-6/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml b/kits/apptentive/apptentive-6/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 000000000..046177833 --- /dev/null +++ b/kits/apptentive/apptentive-6/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,14 @@ + + + + diff --git a/kits/apptentive/apptentive-6/example/example-kotlin/src/main/res/layout/activity_main.xml b/kits/apptentive/apptentive-6/example/example-kotlin/src/main/res/layout/activity_main.xml new file mode 100644 index 000000000..e2897e3ff --- /dev/null +++ b/kits/apptentive/apptentive-6/example/example-kotlin/src/main/res/layout/activity_main.xml @@ -0,0 +1,14 @@ + + + + + + diff --git a/kits/apptentive/apptentive-6/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/kits/apptentive/apptentive-6/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 000000000..a8a8fa551 --- /dev/null +++ b/kits/apptentive/apptentive-6/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/kits/apptentive/apptentive-6/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/kits/apptentive/apptentive-6/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 000000000..a8a8fa551 --- /dev/null +++ b/kits/apptentive/apptentive-6/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/kits/apptentive/apptentive-6/example/example-kotlin/src/main/res/values/colors.xml b/kits/apptentive/apptentive-6/example/example-kotlin/src/main/res/values/colors.xml new file mode 100644 index 000000000..f42ada656 --- /dev/null +++ b/kits/apptentive/apptentive-6/example/example-kotlin/src/main/res/values/colors.xml @@ -0,0 +1,4 @@ + + + #FFFFFF + diff --git a/kits/apptentive/apptentive-6/example/example-kotlin/src/main/res/values/strings.xml b/kits/apptentive/apptentive-6/example/example-kotlin/src/main/res/values/strings.xml new file mode 100644 index 000000000..239b17ffa --- /dev/null +++ b/kits/apptentive/apptentive-6/example/example-kotlin/src/main/res/values/strings.xml @@ -0,0 +1,4 @@ + + + Apptentive Kit Kotlin Example + diff --git a/kits/apptimize/apptimize-3/example/example-kotlin/build.gradle b/kits/apptimize/apptimize-3/example/example-kotlin/build.gradle new file mode 100644 index 000000000..9dd5bbe9e --- /dev/null +++ b/kits/apptimize/apptimize-3/example/example-kotlin/build.gradle @@ -0,0 +1,38 @@ +plugins { + id 'com.android.application' + id 'org.jetbrains.kotlin.android' +} + +android { + namespace 'com.mparticle.kits.apptimize.example.kotlin' + compileSdk 35 + + defaultConfig { + applicationId 'com.mparticle.kits.apptimize.example.kotlin' + minSdk 17 + targetSdk 35 + versionCode 1 + versionName '1.0' + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } + + kotlinOptions { + jvmTarget = '17' + } + + buildTypes { + release { + minifyEnabled false + } + } +} + +dependencies { + implementation project(':kits:apptimize:apptimize-3') + implementation 'androidx.appcompat:appcompat:1.6.1' + implementation 'com.google.android.material:material:1.11.0' +} diff --git a/kits/apptimize/apptimize-3/example/example-kotlin/src/main/AndroidManifest.xml b/kits/apptimize/apptimize-3/example/example-kotlin/src/main/AndroidManifest.xml new file mode 100644 index 000000000..84b1637c1 --- /dev/null +++ b/kits/apptimize/apptimize-3/example/example-kotlin/src/main/AndroidManifest.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + diff --git a/kits/apptimize/apptimize-3/example/example-kotlin/src/main/kotlin/com/mparticle/kits/apptimize/example/kotlin/ExampleApplication.kt b/kits/apptimize/apptimize-3/example/example-kotlin/src/main/kotlin/com/mparticle/kits/apptimize/example/kotlin/ExampleApplication.kt new file mode 100644 index 000000000..d2966e23e --- /dev/null +++ b/kits/apptimize/apptimize-3/example/example-kotlin/src/main/kotlin/com/mparticle/kits/apptimize/example/kotlin/ExampleApplication.kt @@ -0,0 +1,24 @@ +package com.mparticle.kits.apptimize.example.kotlin + +import android.app.Application +import com.mparticle.MPEvent +import com.mparticle.MParticle +import com.mparticle.MParticleOptions + +class ExampleApplication : Application() { + override fun onCreate() { + super.onCreate() + val options = + MParticleOptions + .builder(this) + .credentials( + "REPLACE WITH YOUR MPARTICLE API KEY", + "REPLACE WITH YOUR MPARTICLE API SECRET", + ).logLevel(MParticle.LogLevel.VERBOSE) + .build() + MParticle.start(options) + MParticle.getInstance()?.logEvent( + MPEvent.Builder("foo", MParticle.EventType.Other).build(), + ) + } +} diff --git a/kits/apptimize/apptimize-3/example/example-kotlin/src/main/kotlin/com/mparticle/kits/apptimize/example/kotlin/MainActivity.kt b/kits/apptimize/apptimize-3/example/example-kotlin/src/main/kotlin/com/mparticle/kits/apptimize/example/kotlin/MainActivity.kt new file mode 100644 index 000000000..55c12ffb8 --- /dev/null +++ b/kits/apptimize/apptimize-3/example/example-kotlin/src/main/kotlin/com/mparticle/kits/apptimize/example/kotlin/MainActivity.kt @@ -0,0 +1,11 @@ +package com.mparticle.kits.apptimize.example.kotlin + +import android.os.Bundle +import androidx.appcompat.app.AppCompatActivity + +class MainActivity : AppCompatActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_main) + } +} diff --git a/kits/apptimize/apptimize-3/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml b/kits/apptimize/apptimize-3/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 000000000..046177833 --- /dev/null +++ b/kits/apptimize/apptimize-3/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,14 @@ + + + + diff --git a/kits/apptimize/apptimize-3/example/example-kotlin/src/main/res/layout/activity_main.xml b/kits/apptimize/apptimize-3/example/example-kotlin/src/main/res/layout/activity_main.xml new file mode 100644 index 000000000..e2897e3ff --- /dev/null +++ b/kits/apptimize/apptimize-3/example/example-kotlin/src/main/res/layout/activity_main.xml @@ -0,0 +1,14 @@ + + + + + + diff --git a/kits/apptimize/apptimize-3/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/kits/apptimize/apptimize-3/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 000000000..a8a8fa551 --- /dev/null +++ b/kits/apptimize/apptimize-3/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/kits/apptimize/apptimize-3/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/kits/apptimize/apptimize-3/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 000000000..a8a8fa551 --- /dev/null +++ b/kits/apptimize/apptimize-3/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/kits/apptimize/apptimize-3/example/example-kotlin/src/main/res/values/colors.xml b/kits/apptimize/apptimize-3/example/example-kotlin/src/main/res/values/colors.xml new file mode 100644 index 000000000..f42ada656 --- /dev/null +++ b/kits/apptimize/apptimize-3/example/example-kotlin/src/main/res/values/colors.xml @@ -0,0 +1,4 @@ + + + #FFFFFF + diff --git a/kits/apptimize/apptimize-3/example/example-kotlin/src/main/res/values/strings.xml b/kits/apptimize/apptimize-3/example/example-kotlin/src/main/res/values/strings.xml new file mode 100644 index 000000000..f62870c13 --- /dev/null +++ b/kits/apptimize/apptimize-3/example/example-kotlin/src/main/res/values/strings.xml @@ -0,0 +1,4 @@ + + + Apptimize Kit Kotlin Example + diff --git a/kits/branch/branch-5/example/example-kotlin/build.gradle b/kits/branch/branch-5/example/example-kotlin/build.gradle new file mode 100644 index 000000000..1e8c11150 --- /dev/null +++ b/kits/branch/branch-5/example/example-kotlin/build.gradle @@ -0,0 +1,38 @@ +plugins { + id 'com.android.application' + id 'org.jetbrains.kotlin.android' +} + +android { + namespace 'com.mparticle.kits.branch.example.kotlin' + compileSdk 35 + + defaultConfig { + applicationId 'com.mparticle.kits.branch.example.kotlin' + minSdk 21 + targetSdk 35 + versionCode 1 + versionName '1.0' + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } + + kotlinOptions { + jvmTarget = '17' + } + + buildTypes { + release { + minifyEnabled false + } + } +} + +dependencies { + implementation project(':kits:branch:branch-5') + implementation 'androidx.appcompat:appcompat:1.6.1' + implementation 'com.google.android.material:material:1.11.0' +} diff --git a/kits/branch/branch-5/example/example-kotlin/src/main/AndroidManifest.xml b/kits/branch/branch-5/example/example-kotlin/src/main/AndroidManifest.xml new file mode 100644 index 000000000..84b1637c1 --- /dev/null +++ b/kits/branch/branch-5/example/example-kotlin/src/main/AndroidManifest.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + diff --git a/kits/branch/branch-5/example/example-kotlin/src/main/kotlin/com/mparticle/kits/branch/example/kotlin/ExampleApplication.kt b/kits/branch/branch-5/example/example-kotlin/src/main/kotlin/com/mparticle/kits/branch/example/kotlin/ExampleApplication.kt new file mode 100644 index 000000000..cf2161791 --- /dev/null +++ b/kits/branch/branch-5/example/example-kotlin/src/main/kotlin/com/mparticle/kits/branch/example/kotlin/ExampleApplication.kt @@ -0,0 +1,24 @@ +package com.mparticle.kits.branch.example.kotlin + +import android.app.Application +import com.mparticle.MPEvent +import com.mparticle.MParticle +import com.mparticle.MParticleOptions + +class ExampleApplication : Application() { + override fun onCreate() { + super.onCreate() + val options = + MParticleOptions + .builder(this) + .credentials( + "REPLACE WITH YOUR MPARTICLE API KEY", + "REPLACE WITH YOUR MPARTICLE API SECRET", + ).logLevel(MParticle.LogLevel.VERBOSE) + .build() + MParticle.start(options) + MParticle.getInstance()?.logEvent( + MPEvent.Builder("foo", MParticle.EventType.Other).build(), + ) + } +} diff --git a/kits/branch/branch-5/example/example-kotlin/src/main/kotlin/com/mparticle/kits/branch/example/kotlin/MainActivity.kt b/kits/branch/branch-5/example/example-kotlin/src/main/kotlin/com/mparticle/kits/branch/example/kotlin/MainActivity.kt new file mode 100644 index 000000000..ddcc3e1f9 --- /dev/null +++ b/kits/branch/branch-5/example/example-kotlin/src/main/kotlin/com/mparticle/kits/branch/example/kotlin/MainActivity.kt @@ -0,0 +1,11 @@ +package com.mparticle.kits.branch.example.kotlin + +import android.os.Bundle +import androidx.appcompat.app.AppCompatActivity + +class MainActivity : AppCompatActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_main) + } +} diff --git a/kits/branch/branch-5/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml b/kits/branch/branch-5/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 000000000..046177833 --- /dev/null +++ b/kits/branch/branch-5/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,14 @@ + + + + diff --git a/kits/branch/branch-5/example/example-kotlin/src/main/res/layout/activity_main.xml b/kits/branch/branch-5/example/example-kotlin/src/main/res/layout/activity_main.xml new file mode 100644 index 000000000..e2897e3ff --- /dev/null +++ b/kits/branch/branch-5/example/example-kotlin/src/main/res/layout/activity_main.xml @@ -0,0 +1,14 @@ + + + + + + diff --git a/kits/branch/branch-5/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/kits/branch/branch-5/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 000000000..a8a8fa551 --- /dev/null +++ b/kits/branch/branch-5/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/kits/branch/branch-5/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/kits/branch/branch-5/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 000000000..a8a8fa551 --- /dev/null +++ b/kits/branch/branch-5/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/kits/branch/branch-5/example/example-kotlin/src/main/res/values/colors.xml b/kits/branch/branch-5/example/example-kotlin/src/main/res/values/colors.xml new file mode 100644 index 000000000..f42ada656 --- /dev/null +++ b/kits/branch/branch-5/example/example-kotlin/src/main/res/values/colors.xml @@ -0,0 +1,4 @@ + + + #FFFFFF + diff --git a/kits/branch/branch-5/example/example-kotlin/src/main/res/values/strings.xml b/kits/branch/branch-5/example/example-kotlin/src/main/res/values/strings.xml new file mode 100644 index 000000000..c0d67aaf5 --- /dev/null +++ b/kits/branch/branch-5/example/example-kotlin/src/main/res/values/strings.xml @@ -0,0 +1,4 @@ + + + Branch Kit Kotlin Example + diff --git a/kits/braze/braze-38/example/example-kotlin/build.gradle b/kits/braze/braze-38/example/example-kotlin/build.gradle new file mode 100644 index 000000000..0a2d9306e --- /dev/null +++ b/kits/braze/braze-38/example/example-kotlin/build.gradle @@ -0,0 +1,38 @@ +plugins { + id 'com.android.application' + id 'org.jetbrains.kotlin.android' +} + +android { + namespace 'com.mparticle.kits.braze.braze38.example.kotlin' + compileSdk 35 + + defaultConfig { + applicationId 'com.mparticle.kits.braze.braze38.example.kotlin' + minSdk 21 + targetSdk 35 + versionCode 1 + versionName '1.0' + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } + + kotlinOptions { + jvmTarget = '17' + } + + buildTypes { + release { + minifyEnabled false + } + } +} + +dependencies { + implementation project(':kits:braze:braze-38') + implementation 'androidx.appcompat:appcompat:1.6.1' + implementation 'com.google.android.material:material:1.11.0' +} diff --git a/kits/braze/braze-38/example/example-kotlin/src/main/AndroidManifest.xml b/kits/braze/braze-38/example/example-kotlin/src/main/AndroidManifest.xml new file mode 100644 index 000000000..84b1637c1 --- /dev/null +++ b/kits/braze/braze-38/example/example-kotlin/src/main/AndroidManifest.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + diff --git a/kits/braze/braze-38/example/example-kotlin/src/main/kotlin/com/mparticle/kits/braze/braze38/example/kotlin/ExampleApplication.kt b/kits/braze/braze-38/example/example-kotlin/src/main/kotlin/com/mparticle/kits/braze/braze38/example/kotlin/ExampleApplication.kt new file mode 100644 index 000000000..c0df22c22 --- /dev/null +++ b/kits/braze/braze-38/example/example-kotlin/src/main/kotlin/com/mparticle/kits/braze/braze38/example/kotlin/ExampleApplication.kt @@ -0,0 +1,24 @@ +package com.mparticle.kits.braze.braze38.example.kotlin + +import android.app.Application +import com.mparticle.MPEvent +import com.mparticle.MParticle +import com.mparticle.MParticleOptions + +class ExampleApplication : Application() { + override fun onCreate() { + super.onCreate() + val options = + MParticleOptions + .builder(this) + .credentials( + "REPLACE WITH YOUR MPARTICLE API KEY", + "REPLACE WITH YOUR MPARTICLE API SECRET", + ).logLevel(MParticle.LogLevel.VERBOSE) + .build() + MParticle.start(options) + MParticle.getInstance()?.logEvent( + MPEvent.Builder("foo", MParticle.EventType.Other).build(), + ) + } +} diff --git a/kits/braze/braze-38/example/example-kotlin/src/main/kotlin/com/mparticle/kits/braze/braze38/example/kotlin/MainActivity.kt b/kits/braze/braze-38/example/example-kotlin/src/main/kotlin/com/mparticle/kits/braze/braze38/example/kotlin/MainActivity.kt new file mode 100644 index 000000000..fab8392a9 --- /dev/null +++ b/kits/braze/braze-38/example/example-kotlin/src/main/kotlin/com/mparticle/kits/braze/braze38/example/kotlin/MainActivity.kt @@ -0,0 +1,11 @@ +package com.mparticle.kits.braze.braze38.example.kotlin + +import android.os.Bundle +import androidx.appcompat.app.AppCompatActivity + +class MainActivity : AppCompatActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_main) + } +} diff --git a/kits/braze/braze-38/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml b/kits/braze/braze-38/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 000000000..046177833 --- /dev/null +++ b/kits/braze/braze-38/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,14 @@ + + + + diff --git a/kits/braze/braze-38/example/example-kotlin/src/main/res/layout/activity_main.xml b/kits/braze/braze-38/example/example-kotlin/src/main/res/layout/activity_main.xml new file mode 100644 index 000000000..e2897e3ff --- /dev/null +++ b/kits/braze/braze-38/example/example-kotlin/src/main/res/layout/activity_main.xml @@ -0,0 +1,14 @@ + + + + + + diff --git a/kits/braze/braze-38/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/kits/braze/braze-38/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 000000000..a8a8fa551 --- /dev/null +++ b/kits/braze/braze-38/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/kits/braze/braze-38/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/kits/braze/braze-38/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 000000000..a8a8fa551 --- /dev/null +++ b/kits/braze/braze-38/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/kits/braze/braze-38/example/example-kotlin/src/main/res/values/colors.xml b/kits/braze/braze-38/example/example-kotlin/src/main/res/values/colors.xml new file mode 100644 index 000000000..f42ada656 --- /dev/null +++ b/kits/braze/braze-38/example/example-kotlin/src/main/res/values/colors.xml @@ -0,0 +1,4 @@ + + + #FFFFFF + diff --git a/kits/braze/braze-38/example/example-kotlin/src/main/res/values/strings.xml b/kits/braze/braze-38/example/example-kotlin/src/main/res/values/strings.xml new file mode 100644 index 000000000..0a9a015aa --- /dev/null +++ b/kits/braze/braze-38/example/example-kotlin/src/main/res/values/strings.xml @@ -0,0 +1,4 @@ + + + Braze 38 Kit Kotlin Example + diff --git a/kits/braze/braze-39/example/example-kotlin/build.gradle b/kits/braze/braze-39/example/example-kotlin/build.gradle new file mode 100644 index 000000000..1a86fcc42 --- /dev/null +++ b/kits/braze/braze-39/example/example-kotlin/build.gradle @@ -0,0 +1,38 @@ +plugins { + id 'com.android.application' + id 'org.jetbrains.kotlin.android' +} + +android { + namespace 'com.mparticle.kits.braze.braze39.example.kotlin' + compileSdk 35 + + defaultConfig { + applicationId 'com.mparticle.kits.braze.braze39.example.kotlin' + minSdk 21 + targetSdk 35 + versionCode 1 + versionName '1.0' + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } + + kotlinOptions { + jvmTarget = '17' + } + + buildTypes { + release { + minifyEnabled false + } + } +} + +dependencies { + implementation project(':kits:braze:braze-39') + implementation 'androidx.appcompat:appcompat:1.6.1' + implementation 'com.google.android.material:material:1.11.0' +} diff --git a/kits/braze/braze-39/example/example-kotlin/src/main/AndroidManifest.xml b/kits/braze/braze-39/example/example-kotlin/src/main/AndroidManifest.xml new file mode 100644 index 000000000..84b1637c1 --- /dev/null +++ b/kits/braze/braze-39/example/example-kotlin/src/main/AndroidManifest.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + diff --git a/kits/braze/braze-39/example/example-kotlin/src/main/kotlin/com/mparticle/kits/braze/braze39/example/kotlin/ExampleApplication.kt b/kits/braze/braze-39/example/example-kotlin/src/main/kotlin/com/mparticle/kits/braze/braze39/example/kotlin/ExampleApplication.kt new file mode 100644 index 000000000..fdd4d55ea --- /dev/null +++ b/kits/braze/braze-39/example/example-kotlin/src/main/kotlin/com/mparticle/kits/braze/braze39/example/kotlin/ExampleApplication.kt @@ -0,0 +1,24 @@ +package com.mparticle.kits.braze.braze39.example.kotlin + +import android.app.Application +import com.mparticle.MPEvent +import com.mparticle.MParticle +import com.mparticle.MParticleOptions + +class ExampleApplication : Application() { + override fun onCreate() { + super.onCreate() + val options = + MParticleOptions + .builder(this) + .credentials( + "REPLACE WITH YOUR MPARTICLE API KEY", + "REPLACE WITH YOUR MPARTICLE API SECRET", + ).logLevel(MParticle.LogLevel.VERBOSE) + .build() + MParticle.start(options) + MParticle.getInstance()?.logEvent( + MPEvent.Builder("foo", MParticle.EventType.Other).build(), + ) + } +} diff --git a/kits/braze/braze-39/example/example-kotlin/src/main/kotlin/com/mparticle/kits/braze/braze39/example/kotlin/MainActivity.kt b/kits/braze/braze-39/example/example-kotlin/src/main/kotlin/com/mparticle/kits/braze/braze39/example/kotlin/MainActivity.kt new file mode 100644 index 000000000..cd8574e1e --- /dev/null +++ b/kits/braze/braze-39/example/example-kotlin/src/main/kotlin/com/mparticle/kits/braze/braze39/example/kotlin/MainActivity.kt @@ -0,0 +1,11 @@ +package com.mparticle.kits.braze.braze39.example.kotlin + +import android.os.Bundle +import androidx.appcompat.app.AppCompatActivity + +class MainActivity : AppCompatActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_main) + } +} diff --git a/kits/braze/braze-39/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml b/kits/braze/braze-39/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 000000000..046177833 --- /dev/null +++ b/kits/braze/braze-39/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,14 @@ + + + + diff --git a/kits/braze/braze-39/example/example-kotlin/src/main/res/layout/activity_main.xml b/kits/braze/braze-39/example/example-kotlin/src/main/res/layout/activity_main.xml new file mode 100644 index 000000000..e2897e3ff --- /dev/null +++ b/kits/braze/braze-39/example/example-kotlin/src/main/res/layout/activity_main.xml @@ -0,0 +1,14 @@ + + + + + + diff --git a/kits/braze/braze-39/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/kits/braze/braze-39/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 000000000..a8a8fa551 --- /dev/null +++ b/kits/braze/braze-39/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/kits/braze/braze-39/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/kits/braze/braze-39/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 000000000..a8a8fa551 --- /dev/null +++ b/kits/braze/braze-39/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/kits/braze/braze-39/example/example-kotlin/src/main/res/values/colors.xml b/kits/braze/braze-39/example/example-kotlin/src/main/res/values/colors.xml new file mode 100644 index 000000000..f42ada656 --- /dev/null +++ b/kits/braze/braze-39/example/example-kotlin/src/main/res/values/colors.xml @@ -0,0 +1,4 @@ + + + #FFFFFF + diff --git a/kits/braze/braze-39/example/example-kotlin/src/main/res/values/strings.xml b/kits/braze/braze-39/example/example-kotlin/src/main/res/values/strings.xml new file mode 100644 index 000000000..ed2e31e23 --- /dev/null +++ b/kits/braze/braze-39/example/example-kotlin/src/main/res/values/strings.xml @@ -0,0 +1,4 @@ + + + Braze 39 Kit Kotlin Example + diff --git a/kits/braze/braze-40/example/example-kotlin/build.gradle b/kits/braze/braze-40/example/example-kotlin/build.gradle new file mode 100644 index 000000000..2ea4924ed --- /dev/null +++ b/kits/braze/braze-40/example/example-kotlin/build.gradle @@ -0,0 +1,38 @@ +plugins { + id 'com.android.application' + id 'org.jetbrains.kotlin.android' +} + +android { + namespace 'com.mparticle.kits.braze.braze40.example.kotlin' + compileSdk 35 + + defaultConfig { + applicationId 'com.mparticle.kits.braze.braze40.example.kotlin' + minSdk 21 + targetSdk 35 + versionCode 1 + versionName '1.0' + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } + + kotlinOptions { + jvmTarget = '17' + } + + buildTypes { + release { + minifyEnabled false + } + } +} + +dependencies { + implementation project(':kits:braze:braze-40') + implementation 'androidx.appcompat:appcompat:1.6.1' + implementation 'com.google.android.material:material:1.11.0' +} diff --git a/kits/braze/braze-40/example/example-kotlin/src/main/AndroidManifest.xml b/kits/braze/braze-40/example/example-kotlin/src/main/AndroidManifest.xml new file mode 100644 index 000000000..84b1637c1 --- /dev/null +++ b/kits/braze/braze-40/example/example-kotlin/src/main/AndroidManifest.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + diff --git a/kits/braze/braze-40/example/example-kotlin/src/main/kotlin/com/mparticle/kits/braze/braze40/example/kotlin/ExampleApplication.kt b/kits/braze/braze-40/example/example-kotlin/src/main/kotlin/com/mparticle/kits/braze/braze40/example/kotlin/ExampleApplication.kt new file mode 100644 index 000000000..5a9e28ed8 --- /dev/null +++ b/kits/braze/braze-40/example/example-kotlin/src/main/kotlin/com/mparticle/kits/braze/braze40/example/kotlin/ExampleApplication.kt @@ -0,0 +1,24 @@ +package com.mparticle.kits.braze.braze40.example.kotlin + +import android.app.Application +import com.mparticle.MPEvent +import com.mparticle.MParticle +import com.mparticle.MParticleOptions + +class ExampleApplication : Application() { + override fun onCreate() { + super.onCreate() + val options = + MParticleOptions + .builder(this) + .credentials( + "REPLACE WITH YOUR MPARTICLE API KEY", + "REPLACE WITH YOUR MPARTICLE API SECRET", + ).logLevel(MParticle.LogLevel.VERBOSE) + .build() + MParticle.start(options) + MParticle.getInstance()?.logEvent( + MPEvent.Builder("foo", MParticle.EventType.Other).build(), + ) + } +} diff --git a/kits/braze/braze-40/example/example-kotlin/src/main/kotlin/com/mparticle/kits/braze/braze40/example/kotlin/MainActivity.kt b/kits/braze/braze-40/example/example-kotlin/src/main/kotlin/com/mparticle/kits/braze/braze40/example/kotlin/MainActivity.kt new file mode 100644 index 000000000..3908e4178 --- /dev/null +++ b/kits/braze/braze-40/example/example-kotlin/src/main/kotlin/com/mparticle/kits/braze/braze40/example/kotlin/MainActivity.kt @@ -0,0 +1,11 @@ +package com.mparticle.kits.braze.braze40.example.kotlin + +import android.os.Bundle +import androidx.appcompat.app.AppCompatActivity + +class MainActivity : AppCompatActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_main) + } +} diff --git a/kits/braze/braze-40/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml b/kits/braze/braze-40/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 000000000..046177833 --- /dev/null +++ b/kits/braze/braze-40/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,14 @@ + + + + diff --git a/kits/braze/braze-40/example/example-kotlin/src/main/res/layout/activity_main.xml b/kits/braze/braze-40/example/example-kotlin/src/main/res/layout/activity_main.xml new file mode 100644 index 000000000..e2897e3ff --- /dev/null +++ b/kits/braze/braze-40/example/example-kotlin/src/main/res/layout/activity_main.xml @@ -0,0 +1,14 @@ + + + + + + diff --git a/kits/braze/braze-40/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/kits/braze/braze-40/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 000000000..a8a8fa551 --- /dev/null +++ b/kits/braze/braze-40/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/kits/braze/braze-40/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/kits/braze/braze-40/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 000000000..a8a8fa551 --- /dev/null +++ b/kits/braze/braze-40/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/kits/braze/braze-40/example/example-kotlin/src/main/res/values/colors.xml b/kits/braze/braze-40/example/example-kotlin/src/main/res/values/colors.xml new file mode 100644 index 000000000..f42ada656 --- /dev/null +++ b/kits/braze/braze-40/example/example-kotlin/src/main/res/values/colors.xml @@ -0,0 +1,4 @@ + + + #FFFFFF + diff --git a/kits/braze/braze-40/example/example-kotlin/src/main/res/values/strings.xml b/kits/braze/braze-40/example/example-kotlin/src/main/res/values/strings.xml new file mode 100644 index 000000000..0e0a0dd12 --- /dev/null +++ b/kits/braze/braze-40/example/example-kotlin/src/main/res/values/strings.xml @@ -0,0 +1,4 @@ + + + Braze 40 Kit Kotlin Example + diff --git a/kits/braze/braze-41/example/example-kotlin/build.gradle b/kits/braze/braze-41/example/example-kotlin/build.gradle new file mode 100644 index 000000000..641b633ba --- /dev/null +++ b/kits/braze/braze-41/example/example-kotlin/build.gradle @@ -0,0 +1,38 @@ +plugins { + id 'com.android.application' + id 'org.jetbrains.kotlin.android' +} + +android { + namespace 'com.mparticle.kits.braze.braze41.example.kotlin' + compileSdk 35 + + defaultConfig { + applicationId 'com.mparticle.kits.braze.braze41.example.kotlin' + minSdk 21 + targetSdk 35 + versionCode 1 + versionName '1.0' + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } + + kotlinOptions { + jvmTarget = '17' + } + + buildTypes { + release { + minifyEnabled false + } + } +} + +dependencies { + implementation project(':kits:braze:braze-41') + implementation 'androidx.appcompat:appcompat:1.6.1' + implementation 'com.google.android.material:material:1.11.0' +} diff --git a/kits/braze/braze-41/example/example-kotlin/src/main/AndroidManifest.xml b/kits/braze/braze-41/example/example-kotlin/src/main/AndroidManifest.xml new file mode 100644 index 000000000..84b1637c1 --- /dev/null +++ b/kits/braze/braze-41/example/example-kotlin/src/main/AndroidManifest.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + diff --git a/kits/braze/braze-41/example/example-kotlin/src/main/kotlin/com/mparticle/kits/braze/braze41/example/kotlin/ExampleApplication.kt b/kits/braze/braze-41/example/example-kotlin/src/main/kotlin/com/mparticle/kits/braze/braze41/example/kotlin/ExampleApplication.kt new file mode 100644 index 000000000..3b563430e --- /dev/null +++ b/kits/braze/braze-41/example/example-kotlin/src/main/kotlin/com/mparticle/kits/braze/braze41/example/kotlin/ExampleApplication.kt @@ -0,0 +1,24 @@ +package com.mparticle.kits.braze.braze41.example.kotlin + +import android.app.Application +import com.mparticle.MPEvent +import com.mparticle.MParticle +import com.mparticle.MParticleOptions + +class ExampleApplication : Application() { + override fun onCreate() { + super.onCreate() + val options = + MParticleOptions + .builder(this) + .credentials( + "REPLACE WITH YOUR MPARTICLE API KEY", + "REPLACE WITH YOUR MPARTICLE API SECRET", + ).logLevel(MParticle.LogLevel.VERBOSE) + .build() + MParticle.start(options) + MParticle.getInstance()?.logEvent( + MPEvent.Builder("foo", MParticle.EventType.Other).build(), + ) + } +} diff --git a/kits/braze/braze-41/example/example-kotlin/src/main/kotlin/com/mparticle/kits/braze/braze41/example/kotlin/MainActivity.kt b/kits/braze/braze-41/example/example-kotlin/src/main/kotlin/com/mparticle/kits/braze/braze41/example/kotlin/MainActivity.kt new file mode 100644 index 000000000..940e8a8b9 --- /dev/null +++ b/kits/braze/braze-41/example/example-kotlin/src/main/kotlin/com/mparticle/kits/braze/braze41/example/kotlin/MainActivity.kt @@ -0,0 +1,11 @@ +package com.mparticle.kits.braze.braze41.example.kotlin + +import android.os.Bundle +import androidx.appcompat.app.AppCompatActivity + +class MainActivity : AppCompatActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_main) + } +} diff --git a/kits/braze/braze-41/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml b/kits/braze/braze-41/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 000000000..046177833 --- /dev/null +++ b/kits/braze/braze-41/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,14 @@ + + + + diff --git a/kits/braze/braze-41/example/example-kotlin/src/main/res/layout/activity_main.xml b/kits/braze/braze-41/example/example-kotlin/src/main/res/layout/activity_main.xml new file mode 100644 index 000000000..e2897e3ff --- /dev/null +++ b/kits/braze/braze-41/example/example-kotlin/src/main/res/layout/activity_main.xml @@ -0,0 +1,14 @@ + + + + + + diff --git a/kits/braze/braze-41/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/kits/braze/braze-41/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 000000000..a8a8fa551 --- /dev/null +++ b/kits/braze/braze-41/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/kits/braze/braze-41/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/kits/braze/braze-41/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 000000000..a8a8fa551 --- /dev/null +++ b/kits/braze/braze-41/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/kits/braze/braze-41/example/example-kotlin/src/main/res/values/colors.xml b/kits/braze/braze-41/example/example-kotlin/src/main/res/values/colors.xml new file mode 100644 index 000000000..f42ada656 --- /dev/null +++ b/kits/braze/braze-41/example/example-kotlin/src/main/res/values/colors.xml @@ -0,0 +1,4 @@ + + + #FFFFFF + diff --git a/kits/braze/braze-41/example/example-kotlin/src/main/res/values/strings.xml b/kits/braze/braze-41/example/example-kotlin/src/main/res/values/strings.xml new file mode 100644 index 000000000..be4e076b1 --- /dev/null +++ b/kits/braze/braze-41/example/example-kotlin/src/main/res/values/strings.xml @@ -0,0 +1,4 @@ + + + Braze 41 Kit Kotlin Example + diff --git a/kits/clevertap/clevertap-7/example/example-kotlin/build.gradle b/kits/clevertap/clevertap-7/example/example-kotlin/build.gradle new file mode 100644 index 000000000..a5e3ed2ed --- /dev/null +++ b/kits/clevertap/clevertap-7/example/example-kotlin/build.gradle @@ -0,0 +1,38 @@ +plugins { + id 'com.android.application' + id 'org.jetbrains.kotlin.android' +} + +android { + namespace 'com.mparticle.kits.clevertap.example.kotlin' + compileSdk 35 + + defaultConfig { + applicationId 'com.mparticle.kits.clevertap.example.kotlin' + minSdk 23 + targetSdk 35 + versionCode 1 + versionName '1.0' + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } + + kotlinOptions { + jvmTarget = '17' + } + + buildTypes { + release { + minifyEnabled false + } + } +} + +dependencies { + implementation project(':kits:clevertap:clevertap-7') + implementation 'androidx.appcompat:appcompat:1.6.1' + implementation 'com.google.android.material:material:1.11.0' +} diff --git a/kits/clevertap/clevertap-7/example/example-kotlin/src/main/AndroidManifest.xml b/kits/clevertap/clevertap-7/example/example-kotlin/src/main/AndroidManifest.xml new file mode 100644 index 000000000..84b1637c1 --- /dev/null +++ b/kits/clevertap/clevertap-7/example/example-kotlin/src/main/AndroidManifest.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + diff --git a/kits/clevertap/clevertap-7/example/example-kotlin/src/main/kotlin/com/mparticle/kits/clevertap/example/kotlin/ExampleApplication.kt b/kits/clevertap/clevertap-7/example/example-kotlin/src/main/kotlin/com/mparticle/kits/clevertap/example/kotlin/ExampleApplication.kt new file mode 100644 index 000000000..4d6d12633 --- /dev/null +++ b/kits/clevertap/clevertap-7/example/example-kotlin/src/main/kotlin/com/mparticle/kits/clevertap/example/kotlin/ExampleApplication.kt @@ -0,0 +1,24 @@ +package com.mparticle.kits.clevertap.example.kotlin + +import android.app.Application +import com.mparticle.MPEvent +import com.mparticle.MParticle +import com.mparticle.MParticleOptions + +class ExampleApplication : Application() { + override fun onCreate() { + super.onCreate() + val options = + MParticleOptions + .builder(this) + .credentials( + "REPLACE WITH YOUR MPARTICLE API KEY", + "REPLACE WITH YOUR MPARTICLE API SECRET", + ).logLevel(MParticle.LogLevel.VERBOSE) + .build() + MParticle.start(options) + MParticle.getInstance()?.logEvent( + MPEvent.Builder("foo", MParticle.EventType.Other).build(), + ) + } +} diff --git a/kits/clevertap/clevertap-7/example/example-kotlin/src/main/kotlin/com/mparticle/kits/clevertap/example/kotlin/MainActivity.kt b/kits/clevertap/clevertap-7/example/example-kotlin/src/main/kotlin/com/mparticle/kits/clevertap/example/kotlin/MainActivity.kt new file mode 100644 index 000000000..b8c01a13f --- /dev/null +++ b/kits/clevertap/clevertap-7/example/example-kotlin/src/main/kotlin/com/mparticle/kits/clevertap/example/kotlin/MainActivity.kt @@ -0,0 +1,11 @@ +package com.mparticle.kits.clevertap.example.kotlin + +import android.os.Bundle +import androidx.appcompat.app.AppCompatActivity + +class MainActivity : AppCompatActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_main) + } +} diff --git a/kits/clevertap/clevertap-7/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml b/kits/clevertap/clevertap-7/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 000000000..046177833 --- /dev/null +++ b/kits/clevertap/clevertap-7/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,14 @@ + + + + diff --git a/kits/clevertap/clevertap-7/example/example-kotlin/src/main/res/layout/activity_main.xml b/kits/clevertap/clevertap-7/example/example-kotlin/src/main/res/layout/activity_main.xml new file mode 100644 index 000000000..e2897e3ff --- /dev/null +++ b/kits/clevertap/clevertap-7/example/example-kotlin/src/main/res/layout/activity_main.xml @@ -0,0 +1,14 @@ + + + + + + diff --git a/kits/clevertap/clevertap-7/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/kits/clevertap/clevertap-7/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 000000000..a8a8fa551 --- /dev/null +++ b/kits/clevertap/clevertap-7/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/kits/clevertap/clevertap-7/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/kits/clevertap/clevertap-7/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 000000000..a8a8fa551 --- /dev/null +++ b/kits/clevertap/clevertap-7/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/kits/clevertap/clevertap-7/example/example-kotlin/src/main/res/values/colors.xml b/kits/clevertap/clevertap-7/example/example-kotlin/src/main/res/values/colors.xml new file mode 100644 index 000000000..f42ada656 --- /dev/null +++ b/kits/clevertap/clevertap-7/example/example-kotlin/src/main/res/values/colors.xml @@ -0,0 +1,4 @@ + + + #FFFFFF + diff --git a/kits/clevertap/clevertap-7/example/example-kotlin/src/main/res/values/strings.xml b/kits/clevertap/clevertap-7/example/example-kotlin/src/main/res/values/strings.xml new file mode 100644 index 000000000..813c73fb2 --- /dev/null +++ b/kits/clevertap/clevertap-7/example/example-kotlin/src/main/res/values/strings.xml @@ -0,0 +1,4 @@ + + + CleverTap Kit Kotlin Example + diff --git a/kits/comscore/comscore-6/example/example-kotlin/build.gradle b/kits/comscore/comscore-6/example/example-kotlin/build.gradle new file mode 100644 index 000000000..48fabf248 --- /dev/null +++ b/kits/comscore/comscore-6/example/example-kotlin/build.gradle @@ -0,0 +1,38 @@ +plugins { + id 'com.android.application' + id 'org.jetbrains.kotlin.android' +} + +android { + namespace 'com.mparticle.kits.comscore.example.kotlin' + compileSdk 35 + + defaultConfig { + applicationId 'com.mparticle.kits.comscore.example.kotlin' + minSdk 21 + targetSdk 35 + versionCode 1 + versionName '1.0' + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } + + kotlinOptions { + jvmTarget = '17' + } + + buildTypes { + release { + minifyEnabled false + } + } +} + +dependencies { + implementation project(':kits:comscore:comscore-6') + implementation 'androidx.appcompat:appcompat:1.6.1' + implementation 'com.google.android.material:material:1.11.0' +} diff --git a/kits/comscore/comscore-6/example/example-kotlin/src/main/AndroidManifest.xml b/kits/comscore/comscore-6/example/example-kotlin/src/main/AndroidManifest.xml new file mode 100644 index 000000000..84b1637c1 --- /dev/null +++ b/kits/comscore/comscore-6/example/example-kotlin/src/main/AndroidManifest.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + diff --git a/kits/comscore/comscore-6/example/example-kotlin/src/main/kotlin/com/mparticle/kits/comscore/example/kotlin/ExampleApplication.kt b/kits/comscore/comscore-6/example/example-kotlin/src/main/kotlin/com/mparticle/kits/comscore/example/kotlin/ExampleApplication.kt new file mode 100644 index 000000000..c057ccef6 --- /dev/null +++ b/kits/comscore/comscore-6/example/example-kotlin/src/main/kotlin/com/mparticle/kits/comscore/example/kotlin/ExampleApplication.kt @@ -0,0 +1,24 @@ +package com.mparticle.kits.comscore.example.kotlin + +import android.app.Application +import com.mparticle.MPEvent +import com.mparticle.MParticle +import com.mparticle.MParticleOptions + +class ExampleApplication : Application() { + override fun onCreate() { + super.onCreate() + val options = + MParticleOptions + .builder(this) + .credentials( + "REPLACE WITH YOUR MPARTICLE API KEY", + "REPLACE WITH YOUR MPARTICLE API SECRET", + ).logLevel(MParticle.LogLevel.VERBOSE) + .build() + MParticle.start(options) + MParticle.getInstance()?.logEvent( + MPEvent.Builder("foo", MParticle.EventType.Other).build(), + ) + } +} diff --git a/kits/comscore/comscore-6/example/example-kotlin/src/main/kotlin/com/mparticle/kits/comscore/example/kotlin/MainActivity.kt b/kits/comscore/comscore-6/example/example-kotlin/src/main/kotlin/com/mparticle/kits/comscore/example/kotlin/MainActivity.kt new file mode 100644 index 000000000..9b8f8d699 --- /dev/null +++ b/kits/comscore/comscore-6/example/example-kotlin/src/main/kotlin/com/mparticle/kits/comscore/example/kotlin/MainActivity.kt @@ -0,0 +1,11 @@ +package com.mparticle.kits.comscore.example.kotlin + +import android.os.Bundle +import androidx.appcompat.app.AppCompatActivity + +class MainActivity : AppCompatActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_main) + } +} diff --git a/kits/comscore/comscore-6/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml b/kits/comscore/comscore-6/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 000000000..046177833 --- /dev/null +++ b/kits/comscore/comscore-6/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,14 @@ + + + + diff --git a/kits/comscore/comscore-6/example/example-kotlin/src/main/res/layout/activity_main.xml b/kits/comscore/comscore-6/example/example-kotlin/src/main/res/layout/activity_main.xml new file mode 100644 index 000000000..e2897e3ff --- /dev/null +++ b/kits/comscore/comscore-6/example/example-kotlin/src/main/res/layout/activity_main.xml @@ -0,0 +1,14 @@ + + + + + + diff --git a/kits/comscore/comscore-6/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/kits/comscore/comscore-6/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 000000000..a8a8fa551 --- /dev/null +++ b/kits/comscore/comscore-6/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/kits/comscore/comscore-6/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/kits/comscore/comscore-6/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 000000000..a8a8fa551 --- /dev/null +++ b/kits/comscore/comscore-6/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/kits/comscore/comscore-6/example/example-kotlin/src/main/res/values/colors.xml b/kits/comscore/comscore-6/example/example-kotlin/src/main/res/values/colors.xml new file mode 100644 index 000000000..f42ada656 --- /dev/null +++ b/kits/comscore/comscore-6/example/example-kotlin/src/main/res/values/colors.xml @@ -0,0 +1,4 @@ + + + #FFFFFF + diff --git a/kits/comscore/comscore-6/example/example-kotlin/src/main/res/values/strings.xml b/kits/comscore/comscore-6/example/example-kotlin/src/main/res/values/strings.xml new file mode 100644 index 000000000..de55aeac8 --- /dev/null +++ b/kits/comscore/comscore-6/example/example-kotlin/src/main/res/values/strings.xml @@ -0,0 +1,4 @@ + + + Comscore Kit Kotlin Example + diff --git a/kits/ga/ga-23/example/example-kotlin/build.gradle b/kits/ga/ga-23/example/example-kotlin/build.gradle new file mode 100644 index 000000000..45c6a1d8c --- /dev/null +++ b/kits/ga/ga-23/example/example-kotlin/build.gradle @@ -0,0 +1,38 @@ +plugins { + id 'com.android.application' + id 'org.jetbrains.kotlin.android' +} + +android { + namespace 'com.mparticle.kits.ga.example.kotlin' + compileSdk 35 + + defaultConfig { + applicationId 'com.mparticle.kits.ga.example.kotlin' + minSdk 21 + targetSdk 35 + versionCode 1 + versionName '1.0' + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } + + kotlinOptions { + jvmTarget = '17' + } + + buildTypes { + release { + minifyEnabled false + } + } +} + +dependencies { + implementation project(':kits:ga:ga-23') + implementation 'androidx.appcompat:appcompat:1.6.1' + implementation 'com.google.android.material:material:1.11.0' +} diff --git a/kits/ga/ga-23/example/example-kotlin/src/main/AndroidManifest.xml b/kits/ga/ga-23/example/example-kotlin/src/main/AndroidManifest.xml new file mode 100644 index 000000000..84b1637c1 --- /dev/null +++ b/kits/ga/ga-23/example/example-kotlin/src/main/AndroidManifest.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + diff --git a/kits/ga/ga-23/example/example-kotlin/src/main/kotlin/com/mparticle/kits/ga/example/kotlin/ExampleApplication.kt b/kits/ga/ga-23/example/example-kotlin/src/main/kotlin/com/mparticle/kits/ga/example/kotlin/ExampleApplication.kt new file mode 100644 index 000000000..dd4f190fb --- /dev/null +++ b/kits/ga/ga-23/example/example-kotlin/src/main/kotlin/com/mparticle/kits/ga/example/kotlin/ExampleApplication.kt @@ -0,0 +1,24 @@ +package com.mparticle.kits.ga.example.kotlin + +import android.app.Application +import com.mparticle.MPEvent +import com.mparticle.MParticle +import com.mparticle.MParticleOptions + +class ExampleApplication : Application() { + override fun onCreate() { + super.onCreate() + val options = + MParticleOptions + .builder(this) + .credentials( + "REPLACE WITH YOUR MPARTICLE API KEY", + "REPLACE WITH YOUR MPARTICLE API SECRET", + ).logLevel(MParticle.LogLevel.VERBOSE) + .build() + MParticle.start(options) + MParticle.getInstance()?.logEvent( + MPEvent.Builder("foo", MParticle.EventType.Other).build(), + ) + } +} diff --git a/kits/ga/ga-23/example/example-kotlin/src/main/kotlin/com/mparticle/kits/ga/example/kotlin/MainActivity.kt b/kits/ga/ga-23/example/example-kotlin/src/main/kotlin/com/mparticle/kits/ga/example/kotlin/MainActivity.kt new file mode 100644 index 000000000..d56ed1c0b --- /dev/null +++ b/kits/ga/ga-23/example/example-kotlin/src/main/kotlin/com/mparticle/kits/ga/example/kotlin/MainActivity.kt @@ -0,0 +1,11 @@ +package com.mparticle.kits.ga.example.kotlin + +import android.os.Bundle +import androidx.appcompat.app.AppCompatActivity + +class MainActivity : AppCompatActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_main) + } +} diff --git a/kits/ga/ga-23/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml b/kits/ga/ga-23/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 000000000..046177833 --- /dev/null +++ b/kits/ga/ga-23/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,14 @@ + + + + diff --git a/kits/ga/ga-23/example/example-kotlin/src/main/res/layout/activity_main.xml b/kits/ga/ga-23/example/example-kotlin/src/main/res/layout/activity_main.xml new file mode 100644 index 000000000..e2897e3ff --- /dev/null +++ b/kits/ga/ga-23/example/example-kotlin/src/main/res/layout/activity_main.xml @@ -0,0 +1,14 @@ + + + + + + diff --git a/kits/ga/ga-23/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/kits/ga/ga-23/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 000000000..a8a8fa551 --- /dev/null +++ b/kits/ga/ga-23/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/kits/ga/ga-23/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/kits/ga/ga-23/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 000000000..a8a8fa551 --- /dev/null +++ b/kits/ga/ga-23/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/kits/ga/ga-23/example/example-kotlin/src/main/res/values/colors.xml b/kits/ga/ga-23/example/example-kotlin/src/main/res/values/colors.xml new file mode 100644 index 000000000..f42ada656 --- /dev/null +++ b/kits/ga/ga-23/example/example-kotlin/src/main/res/values/colors.xml @@ -0,0 +1,4 @@ + + + #FFFFFF + diff --git a/kits/ga/ga-23/example/example-kotlin/src/main/res/values/strings.xml b/kits/ga/ga-23/example/example-kotlin/src/main/res/values/strings.xml new file mode 100644 index 000000000..077616c30 --- /dev/null +++ b/kits/ga/ga-23/example/example-kotlin/src/main/res/values/strings.xml @@ -0,0 +1,4 @@ + + + GA Kit Kotlin Example + diff --git a/kits/ga4/ga4-23/example/example-kotlin/build.gradle b/kits/ga4/ga4-23/example/example-kotlin/build.gradle new file mode 100644 index 000000000..c1703615d --- /dev/null +++ b/kits/ga4/ga4-23/example/example-kotlin/build.gradle @@ -0,0 +1,38 @@ +plugins { + id 'com.android.application' + id 'org.jetbrains.kotlin.android' +} + +android { + namespace 'com.mparticle.kits.ga4.example.kotlin' + compileSdk 35 + + defaultConfig { + applicationId 'com.mparticle.kits.ga4.example.kotlin' + minSdk 21 + targetSdk 35 + versionCode 1 + versionName '1.0' + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } + + kotlinOptions { + jvmTarget = '17' + } + + buildTypes { + release { + minifyEnabled false + } + } +} + +dependencies { + implementation project(':kits:ga4:ga4-23') + implementation 'androidx.appcompat:appcompat:1.6.1' + implementation 'com.google.android.material:material:1.11.0' +} diff --git a/kits/ga4/ga4-23/example/example-kotlin/src/main/AndroidManifest.xml b/kits/ga4/ga4-23/example/example-kotlin/src/main/AndroidManifest.xml new file mode 100644 index 000000000..84b1637c1 --- /dev/null +++ b/kits/ga4/ga4-23/example/example-kotlin/src/main/AndroidManifest.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + diff --git a/kits/ga4/ga4-23/example/example-kotlin/src/main/kotlin/com/mparticle/kits/ga4/example/kotlin/ExampleApplication.kt b/kits/ga4/ga4-23/example/example-kotlin/src/main/kotlin/com/mparticle/kits/ga4/example/kotlin/ExampleApplication.kt new file mode 100644 index 000000000..f3b60de2b --- /dev/null +++ b/kits/ga4/ga4-23/example/example-kotlin/src/main/kotlin/com/mparticle/kits/ga4/example/kotlin/ExampleApplication.kt @@ -0,0 +1,24 @@ +package com.mparticle.kits.ga4.example.kotlin + +import android.app.Application +import com.mparticle.MPEvent +import com.mparticle.MParticle +import com.mparticle.MParticleOptions + +class ExampleApplication : Application() { + override fun onCreate() { + super.onCreate() + val options = + MParticleOptions + .builder(this) + .credentials( + "REPLACE WITH YOUR MPARTICLE API KEY", + "REPLACE WITH YOUR MPARTICLE API SECRET", + ).logLevel(MParticle.LogLevel.VERBOSE) + .build() + MParticle.start(options) + MParticle.getInstance()?.logEvent( + MPEvent.Builder("foo", MParticle.EventType.Other).build(), + ) + } +} diff --git a/kits/ga4/ga4-23/example/example-kotlin/src/main/kotlin/com/mparticle/kits/ga4/example/kotlin/MainActivity.kt b/kits/ga4/ga4-23/example/example-kotlin/src/main/kotlin/com/mparticle/kits/ga4/example/kotlin/MainActivity.kt new file mode 100644 index 000000000..162a8e15f --- /dev/null +++ b/kits/ga4/ga4-23/example/example-kotlin/src/main/kotlin/com/mparticle/kits/ga4/example/kotlin/MainActivity.kt @@ -0,0 +1,11 @@ +package com.mparticle.kits.ga4.example.kotlin + +import android.os.Bundle +import androidx.appcompat.app.AppCompatActivity + +class MainActivity : AppCompatActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_main) + } +} diff --git a/kits/ga4/ga4-23/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml b/kits/ga4/ga4-23/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 000000000..046177833 --- /dev/null +++ b/kits/ga4/ga4-23/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,14 @@ + + + + diff --git a/kits/ga4/ga4-23/example/example-kotlin/src/main/res/layout/activity_main.xml b/kits/ga4/ga4-23/example/example-kotlin/src/main/res/layout/activity_main.xml new file mode 100644 index 000000000..e2897e3ff --- /dev/null +++ b/kits/ga4/ga4-23/example/example-kotlin/src/main/res/layout/activity_main.xml @@ -0,0 +1,14 @@ + + + + + + diff --git a/kits/ga4/ga4-23/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/kits/ga4/ga4-23/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 000000000..a8a8fa551 --- /dev/null +++ b/kits/ga4/ga4-23/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/kits/ga4/ga4-23/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/kits/ga4/ga4-23/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 000000000..a8a8fa551 --- /dev/null +++ b/kits/ga4/ga4-23/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/kits/ga4/ga4-23/example/example-kotlin/src/main/res/values/colors.xml b/kits/ga4/ga4-23/example/example-kotlin/src/main/res/values/colors.xml new file mode 100644 index 000000000..f42ada656 --- /dev/null +++ b/kits/ga4/ga4-23/example/example-kotlin/src/main/res/values/colors.xml @@ -0,0 +1,4 @@ + + + #FFFFFF + diff --git a/kits/ga4/ga4-23/example/example-kotlin/src/main/res/values/strings.xml b/kits/ga4/ga4-23/example/example-kotlin/src/main/res/values/strings.xml new file mode 100644 index 000000000..dba7de266 --- /dev/null +++ b/kits/ga4/ga4-23/example/example-kotlin/src/main/res/values/strings.xml @@ -0,0 +1,4 @@ + + + GA4 Kit Kotlin Example + diff --git a/kits/iterable/iterable-3/example/example-kotlin/build.gradle b/kits/iterable/iterable-3/example/example-kotlin/build.gradle new file mode 100644 index 000000000..18e87de99 --- /dev/null +++ b/kits/iterable/iterable-3/example/example-kotlin/build.gradle @@ -0,0 +1,38 @@ +plugins { + id 'com.android.application' + id 'org.jetbrains.kotlin.android' +} + +android { + namespace 'com.mparticle.kits.iterable.example.kotlin' + compileSdk 35 + + defaultConfig { + applicationId 'com.mparticle.kits.iterable.example.kotlin' + minSdk 21 + targetSdk 35 + versionCode 1 + versionName '1.0' + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } + + kotlinOptions { + jvmTarget = '17' + } + + buildTypes { + release { + minifyEnabled false + } + } +} + +dependencies { + implementation project(':kits:iterable:iterable-3') + implementation 'androidx.appcompat:appcompat:1.6.1' + implementation 'com.google.android.material:material:1.11.0' +} diff --git a/kits/iterable/iterable-3/example/example-kotlin/src/main/AndroidManifest.xml b/kits/iterable/iterable-3/example/example-kotlin/src/main/AndroidManifest.xml new file mode 100644 index 000000000..84b1637c1 --- /dev/null +++ b/kits/iterable/iterable-3/example/example-kotlin/src/main/AndroidManifest.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + diff --git a/kits/iterable/iterable-3/example/example-kotlin/src/main/kotlin/com/mparticle/kits/iterable/example/kotlin/ExampleApplication.kt b/kits/iterable/iterable-3/example/example-kotlin/src/main/kotlin/com/mparticle/kits/iterable/example/kotlin/ExampleApplication.kt new file mode 100644 index 000000000..13e6e2f18 --- /dev/null +++ b/kits/iterable/iterable-3/example/example-kotlin/src/main/kotlin/com/mparticle/kits/iterable/example/kotlin/ExampleApplication.kt @@ -0,0 +1,24 @@ +package com.mparticle.kits.iterable.example.kotlin + +import android.app.Application +import com.mparticle.MPEvent +import com.mparticle.MParticle +import com.mparticle.MParticleOptions + +class ExampleApplication : Application() { + override fun onCreate() { + super.onCreate() + val options = + MParticleOptions + .builder(this) + .credentials( + "REPLACE WITH YOUR MPARTICLE API KEY", + "REPLACE WITH YOUR MPARTICLE API SECRET", + ).logLevel(MParticle.LogLevel.VERBOSE) + .build() + MParticle.start(options) + MParticle.getInstance()?.logEvent( + MPEvent.Builder("foo", MParticle.EventType.Other).build(), + ) + } +} diff --git a/kits/iterable/iterable-3/example/example-kotlin/src/main/kotlin/com/mparticle/kits/iterable/example/kotlin/MainActivity.kt b/kits/iterable/iterable-3/example/example-kotlin/src/main/kotlin/com/mparticle/kits/iterable/example/kotlin/MainActivity.kt new file mode 100644 index 000000000..f0d6fa0f7 --- /dev/null +++ b/kits/iterable/iterable-3/example/example-kotlin/src/main/kotlin/com/mparticle/kits/iterable/example/kotlin/MainActivity.kt @@ -0,0 +1,11 @@ +package com.mparticle.kits.iterable.example.kotlin + +import android.os.Bundle +import androidx.appcompat.app.AppCompatActivity + +class MainActivity : AppCompatActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_main) + } +} diff --git a/kits/iterable/iterable-3/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml b/kits/iterable/iterable-3/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 000000000..046177833 --- /dev/null +++ b/kits/iterable/iterable-3/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,14 @@ + + + + diff --git a/kits/iterable/iterable-3/example/example-kotlin/src/main/res/layout/activity_main.xml b/kits/iterable/iterable-3/example/example-kotlin/src/main/res/layout/activity_main.xml new file mode 100644 index 000000000..e2897e3ff --- /dev/null +++ b/kits/iterable/iterable-3/example/example-kotlin/src/main/res/layout/activity_main.xml @@ -0,0 +1,14 @@ + + + + + + diff --git a/kits/iterable/iterable-3/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/kits/iterable/iterable-3/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 000000000..a8a8fa551 --- /dev/null +++ b/kits/iterable/iterable-3/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/kits/iterable/iterable-3/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/kits/iterable/iterable-3/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 000000000..a8a8fa551 --- /dev/null +++ b/kits/iterable/iterable-3/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/kits/iterable/iterable-3/example/example-kotlin/src/main/res/values/colors.xml b/kits/iterable/iterable-3/example/example-kotlin/src/main/res/values/colors.xml new file mode 100644 index 000000000..f42ada656 --- /dev/null +++ b/kits/iterable/iterable-3/example/example-kotlin/src/main/res/values/colors.xml @@ -0,0 +1,4 @@ + + + #FFFFFF + diff --git a/kits/iterable/iterable-3/example/example-kotlin/src/main/res/values/strings.xml b/kits/iterable/iterable-3/example/example-kotlin/src/main/res/values/strings.xml new file mode 100644 index 000000000..1a0109fe2 --- /dev/null +++ b/kits/iterable/iterable-3/example/example-kotlin/src/main/res/values/strings.xml @@ -0,0 +1,4 @@ + + + Iterable Kit Kotlin Example + diff --git a/kits/kochava/kochava-5/example/example-kotlin/build.gradle b/kits/kochava/kochava-5/example/example-kotlin/build.gradle new file mode 100644 index 000000000..bc6cda813 --- /dev/null +++ b/kits/kochava/kochava-5/example/example-kotlin/build.gradle @@ -0,0 +1,38 @@ +plugins { + id 'com.android.application' + id 'org.jetbrains.kotlin.android' +} + +android { + namespace 'com.mparticle.kits.kochava.example.kotlin' + compileSdk 35 + + defaultConfig { + applicationId 'com.mparticle.kits.kochava.example.kotlin' + minSdk 16 + targetSdk 35 + versionCode 1 + versionName '1.0' + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } + + kotlinOptions { + jvmTarget = '17' + } + + buildTypes { + release { + minifyEnabled false + } + } +} + +dependencies { + implementation project(':kits:kochava:kochava-5') + implementation 'androidx.appcompat:appcompat:1.6.1' + implementation 'com.google.android.material:material:1.11.0' +} diff --git a/kits/kochava/kochava-5/example/example-kotlin/src/main/AndroidManifest.xml b/kits/kochava/kochava-5/example/example-kotlin/src/main/AndroidManifest.xml new file mode 100644 index 000000000..84b1637c1 --- /dev/null +++ b/kits/kochava/kochava-5/example/example-kotlin/src/main/AndroidManifest.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + diff --git a/kits/kochava/kochava-5/example/example-kotlin/src/main/kotlin/com/mparticle/kits/kochava/example/kotlin/ExampleApplication.kt b/kits/kochava/kochava-5/example/example-kotlin/src/main/kotlin/com/mparticle/kits/kochava/example/kotlin/ExampleApplication.kt new file mode 100644 index 000000000..d7c6e15fc --- /dev/null +++ b/kits/kochava/kochava-5/example/example-kotlin/src/main/kotlin/com/mparticle/kits/kochava/example/kotlin/ExampleApplication.kt @@ -0,0 +1,24 @@ +package com.mparticle.kits.kochava.example.kotlin + +import android.app.Application +import com.mparticle.MPEvent +import com.mparticle.MParticle +import com.mparticle.MParticleOptions + +class ExampleApplication : Application() { + override fun onCreate() { + super.onCreate() + val options = + MParticleOptions + .builder(this) + .credentials( + "REPLACE WITH YOUR MPARTICLE API KEY", + "REPLACE WITH YOUR MPARTICLE API SECRET", + ).logLevel(MParticle.LogLevel.VERBOSE) + .build() + MParticle.start(options) + MParticle.getInstance()?.logEvent( + MPEvent.Builder("foo", MParticle.EventType.Other).build(), + ) + } +} diff --git a/kits/kochava/kochava-5/example/example-kotlin/src/main/kotlin/com/mparticle/kits/kochava/example/kotlin/MainActivity.kt b/kits/kochava/kochava-5/example/example-kotlin/src/main/kotlin/com/mparticle/kits/kochava/example/kotlin/MainActivity.kt new file mode 100644 index 000000000..3aed24a7c --- /dev/null +++ b/kits/kochava/kochava-5/example/example-kotlin/src/main/kotlin/com/mparticle/kits/kochava/example/kotlin/MainActivity.kt @@ -0,0 +1,11 @@ +package com.mparticle.kits.kochava.example.kotlin + +import android.os.Bundle +import androidx.appcompat.app.AppCompatActivity + +class MainActivity : AppCompatActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_main) + } +} diff --git a/kits/kochava/kochava-5/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml b/kits/kochava/kochava-5/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 000000000..046177833 --- /dev/null +++ b/kits/kochava/kochava-5/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,14 @@ + + + + diff --git a/kits/kochava/kochava-5/example/example-kotlin/src/main/res/layout/activity_main.xml b/kits/kochava/kochava-5/example/example-kotlin/src/main/res/layout/activity_main.xml new file mode 100644 index 000000000..e2897e3ff --- /dev/null +++ b/kits/kochava/kochava-5/example/example-kotlin/src/main/res/layout/activity_main.xml @@ -0,0 +1,14 @@ + + + + + + diff --git a/kits/kochava/kochava-5/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/kits/kochava/kochava-5/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 000000000..a8a8fa551 --- /dev/null +++ b/kits/kochava/kochava-5/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/kits/kochava/kochava-5/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/kits/kochava/kochava-5/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 000000000..a8a8fa551 --- /dev/null +++ b/kits/kochava/kochava-5/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/kits/kochava/kochava-5/example/example-kotlin/src/main/res/values/colors.xml b/kits/kochava/kochava-5/example/example-kotlin/src/main/res/values/colors.xml new file mode 100644 index 000000000..f42ada656 --- /dev/null +++ b/kits/kochava/kochava-5/example/example-kotlin/src/main/res/values/colors.xml @@ -0,0 +1,4 @@ + + + #FFFFFF + diff --git a/kits/kochava/kochava-5/example/example-kotlin/src/main/res/values/strings.xml b/kits/kochava/kochava-5/example/example-kotlin/src/main/res/values/strings.xml new file mode 100644 index 000000000..cee0b858d --- /dev/null +++ b/kits/kochava/kochava-5/example/example-kotlin/src/main/res/values/strings.xml @@ -0,0 +1,4 @@ + + + Kochava Kit Kotlin Example + diff --git a/kits/leanplum/leanplum-7/example/example-kotlin/build.gradle b/kits/leanplum/leanplum-7/example/example-kotlin/build.gradle new file mode 100644 index 000000000..b95791517 --- /dev/null +++ b/kits/leanplum/leanplum-7/example/example-kotlin/build.gradle @@ -0,0 +1,38 @@ +plugins { + id 'com.android.application' + id 'org.jetbrains.kotlin.android' +} + +android { + namespace 'com.mparticle.kits.leanplum.example.kotlin' + compileSdk 35 + + defaultConfig { + applicationId 'com.mparticle.kits.leanplum.example.kotlin' + minSdk 16 + targetSdk 35 + versionCode 1 + versionName '1.0' + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } + + kotlinOptions { + jvmTarget = '17' + } + + buildTypes { + release { + minifyEnabled false + } + } +} + +dependencies { + implementation project(':kits:leanplum:leanplum-7') + implementation 'androidx.appcompat:appcompat:1.6.1' + implementation 'com.google.android.material:material:1.11.0' +} diff --git a/kits/leanplum/leanplum-7/example/example-kotlin/src/main/AndroidManifest.xml b/kits/leanplum/leanplum-7/example/example-kotlin/src/main/AndroidManifest.xml new file mode 100644 index 000000000..84b1637c1 --- /dev/null +++ b/kits/leanplum/leanplum-7/example/example-kotlin/src/main/AndroidManifest.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + diff --git a/kits/leanplum/leanplum-7/example/example-kotlin/src/main/kotlin/com/mparticle/kits/leanplum/example/kotlin/ExampleApplication.kt b/kits/leanplum/leanplum-7/example/example-kotlin/src/main/kotlin/com/mparticle/kits/leanplum/example/kotlin/ExampleApplication.kt new file mode 100644 index 000000000..8c1a027a5 --- /dev/null +++ b/kits/leanplum/leanplum-7/example/example-kotlin/src/main/kotlin/com/mparticle/kits/leanplum/example/kotlin/ExampleApplication.kt @@ -0,0 +1,24 @@ +package com.mparticle.kits.leanplum.example.kotlin + +import android.app.Application +import com.mparticle.MPEvent +import com.mparticle.MParticle +import com.mparticle.MParticleOptions + +class ExampleApplication : Application() { + override fun onCreate() { + super.onCreate() + val options = + MParticleOptions + .builder(this) + .credentials( + "REPLACE WITH YOUR MPARTICLE API KEY", + "REPLACE WITH YOUR MPARTICLE API SECRET", + ).logLevel(MParticle.LogLevel.VERBOSE) + .build() + MParticle.start(options) + MParticle.getInstance()?.logEvent( + MPEvent.Builder("foo", MParticle.EventType.Other).build(), + ) + } +} diff --git a/kits/leanplum/leanplum-7/example/example-kotlin/src/main/kotlin/com/mparticle/kits/leanplum/example/kotlin/MainActivity.kt b/kits/leanplum/leanplum-7/example/example-kotlin/src/main/kotlin/com/mparticle/kits/leanplum/example/kotlin/MainActivity.kt new file mode 100644 index 000000000..706cb79fc --- /dev/null +++ b/kits/leanplum/leanplum-7/example/example-kotlin/src/main/kotlin/com/mparticle/kits/leanplum/example/kotlin/MainActivity.kt @@ -0,0 +1,11 @@ +package com.mparticle.kits.leanplum.example.kotlin + +import android.os.Bundle +import androidx.appcompat.app.AppCompatActivity + +class MainActivity : AppCompatActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_main) + } +} diff --git a/kits/leanplum/leanplum-7/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml b/kits/leanplum/leanplum-7/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 000000000..046177833 --- /dev/null +++ b/kits/leanplum/leanplum-7/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,14 @@ + + + + diff --git a/kits/leanplum/leanplum-7/example/example-kotlin/src/main/res/layout/activity_main.xml b/kits/leanplum/leanplum-7/example/example-kotlin/src/main/res/layout/activity_main.xml new file mode 100644 index 000000000..e2897e3ff --- /dev/null +++ b/kits/leanplum/leanplum-7/example/example-kotlin/src/main/res/layout/activity_main.xml @@ -0,0 +1,14 @@ + + + + + + diff --git a/kits/leanplum/leanplum-7/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/kits/leanplum/leanplum-7/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 000000000..a8a8fa551 --- /dev/null +++ b/kits/leanplum/leanplum-7/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/kits/leanplum/leanplum-7/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/kits/leanplum/leanplum-7/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 000000000..a8a8fa551 --- /dev/null +++ b/kits/leanplum/leanplum-7/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/kits/leanplum/leanplum-7/example/example-kotlin/src/main/res/values/colors.xml b/kits/leanplum/leanplum-7/example/example-kotlin/src/main/res/values/colors.xml new file mode 100644 index 000000000..f42ada656 --- /dev/null +++ b/kits/leanplum/leanplum-7/example/example-kotlin/src/main/res/values/colors.xml @@ -0,0 +1,4 @@ + + + #FFFFFF + diff --git a/kits/leanplum/leanplum-7/example/example-kotlin/src/main/res/values/strings.xml b/kits/leanplum/leanplum-7/example/example-kotlin/src/main/res/values/strings.xml new file mode 100644 index 000000000..207a9d7da --- /dev/null +++ b/kits/leanplum/leanplum-7/example/example-kotlin/src/main/res/values/strings.xml @@ -0,0 +1,4 @@ + + + Leanplum Kit Kotlin Example + diff --git a/kits/localytics/localytics-6/example/example-kotlin/build.gradle b/kits/localytics/localytics-6/example/example-kotlin/build.gradle new file mode 100644 index 000000000..16f98ed00 --- /dev/null +++ b/kits/localytics/localytics-6/example/example-kotlin/build.gradle @@ -0,0 +1,38 @@ +plugins { + id 'com.android.application' + id 'org.jetbrains.kotlin.android' +} + +android { + namespace 'com.mparticle.kits.localytics.example.kotlin' + compileSdk 35 + + defaultConfig { + applicationId 'com.mparticle.kits.localytics.example.kotlin' + minSdk 21 + targetSdk 35 + versionCode 1 + versionName '1.0' + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } + + kotlinOptions { + jvmTarget = '17' + } + + buildTypes { + release { + minifyEnabled false + } + } +} + +dependencies { + implementation project(':kits:localytics:localytics-6') + implementation 'androidx.appcompat:appcompat:1.6.1' + implementation 'com.google.android.material:material:1.11.0' +} diff --git a/kits/localytics/localytics-6/example/example-kotlin/src/main/AndroidManifest.xml b/kits/localytics/localytics-6/example/example-kotlin/src/main/AndroidManifest.xml new file mode 100644 index 000000000..84b1637c1 --- /dev/null +++ b/kits/localytics/localytics-6/example/example-kotlin/src/main/AndroidManifest.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + diff --git a/kits/localytics/localytics-6/example/example-kotlin/src/main/kotlin/com/mparticle/kits/localytics/example/kotlin/ExampleApplication.kt b/kits/localytics/localytics-6/example/example-kotlin/src/main/kotlin/com/mparticle/kits/localytics/example/kotlin/ExampleApplication.kt new file mode 100644 index 000000000..5edd837c2 --- /dev/null +++ b/kits/localytics/localytics-6/example/example-kotlin/src/main/kotlin/com/mparticle/kits/localytics/example/kotlin/ExampleApplication.kt @@ -0,0 +1,24 @@ +package com.mparticle.kits.localytics.example.kotlin + +import android.app.Application +import com.mparticle.MPEvent +import com.mparticle.MParticle +import com.mparticle.MParticleOptions + +class ExampleApplication : Application() { + override fun onCreate() { + super.onCreate() + val options = + MParticleOptions + .builder(this) + .credentials( + "REPLACE WITH YOUR MPARTICLE API KEY", + "REPLACE WITH YOUR MPARTICLE API SECRET", + ).logLevel(MParticle.LogLevel.VERBOSE) + .build() + MParticle.start(options) + MParticle.getInstance()?.logEvent( + MPEvent.Builder("foo", MParticle.EventType.Other).build(), + ) + } +} diff --git a/kits/localytics/localytics-6/example/example-kotlin/src/main/kotlin/com/mparticle/kits/localytics/example/kotlin/MainActivity.kt b/kits/localytics/localytics-6/example/example-kotlin/src/main/kotlin/com/mparticle/kits/localytics/example/kotlin/MainActivity.kt new file mode 100644 index 000000000..0a0d66062 --- /dev/null +++ b/kits/localytics/localytics-6/example/example-kotlin/src/main/kotlin/com/mparticle/kits/localytics/example/kotlin/MainActivity.kt @@ -0,0 +1,11 @@ +package com.mparticle.kits.localytics.example.kotlin + +import android.os.Bundle +import androidx.appcompat.app.AppCompatActivity + +class MainActivity : AppCompatActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_main) + } +} diff --git a/kits/localytics/localytics-6/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml b/kits/localytics/localytics-6/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 000000000..046177833 --- /dev/null +++ b/kits/localytics/localytics-6/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,14 @@ + + + + diff --git a/kits/localytics/localytics-6/example/example-kotlin/src/main/res/layout/activity_main.xml b/kits/localytics/localytics-6/example/example-kotlin/src/main/res/layout/activity_main.xml new file mode 100644 index 000000000..e2897e3ff --- /dev/null +++ b/kits/localytics/localytics-6/example/example-kotlin/src/main/res/layout/activity_main.xml @@ -0,0 +1,14 @@ + + + + + + diff --git a/kits/localytics/localytics-6/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/kits/localytics/localytics-6/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 000000000..a8a8fa551 --- /dev/null +++ b/kits/localytics/localytics-6/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/kits/localytics/localytics-6/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/kits/localytics/localytics-6/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 000000000..a8a8fa551 --- /dev/null +++ b/kits/localytics/localytics-6/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/kits/localytics/localytics-6/example/example-kotlin/src/main/res/values/colors.xml b/kits/localytics/localytics-6/example/example-kotlin/src/main/res/values/colors.xml new file mode 100644 index 000000000..f42ada656 --- /dev/null +++ b/kits/localytics/localytics-6/example/example-kotlin/src/main/res/values/colors.xml @@ -0,0 +1,4 @@ + + + #FFFFFF + diff --git a/kits/localytics/localytics-6/example/example-kotlin/src/main/res/values/strings.xml b/kits/localytics/localytics-6/example/example-kotlin/src/main/res/values/strings.xml new file mode 100644 index 000000000..c580d3d2c --- /dev/null +++ b/kits/localytics/localytics-6/example/example-kotlin/src/main/res/values/strings.xml @@ -0,0 +1,4 @@ + + + Localytics Kit Kotlin Example + diff --git a/kits/matrix.json b/kits/matrix.json index 6f99841b3..d333cb6d2 100644 --- a/kits/matrix.json +++ b/kits/matrix.json @@ -4,5 +4,147 @@ "local_path": "kits/adjust/adjust-5", "kit_project": ":kits:android-adjust:adjust-5", "example_kotlin_project": ":kits:android-adjust:adjust-5:example-kotlin" + }, + { + "name": "adobe-5", + "local_path": "kits/adobe/adobe-5", + "kit_project": ":kits:android-adobe:adobe-5", + "example_kotlin_project": ":kits:android-adobe:adobe-5:example-kotlin" + }, + { + "name": "adobemedia-5", + "local_path": "kits/adobemedia/adobemedia-5", + "kit_project": ":kits:android-adobemedia:adobemedia-5", + "example_kotlin_project": ":kits:android-adobemedia:adobemedia-5:example-kotlin" + }, + { + "name": "appsflyer-6", + "local_path": "kits/appsflyer/appsflyer-6", + "kit_project": ":kits:android-appsflyer:appsflyer-6", + "example_kotlin_project": ":kits:android-appsflyer:appsflyer-6:example-kotlin" + }, + { + "name": "apptentive-6", + "local_path": "kits/apptentive/apptentive-6", + "kit_project": ":kits:android-apptentive:apptentive-6", + "example_kotlin_project": ":kits:android-apptentive:apptentive-6:example-kotlin" + }, + { + "name": "apptimize-3", + "local_path": "kits/apptimize/apptimize-3", + "kit_project": ":kits:android-apptimize:apptimize-3", + "example_kotlin_project": ":kits:android-apptimize:apptimize-3:example-kotlin", + "skip_example_builds": true + }, + { + "name": "braze-38", + "local_path": "kits/braze/braze-38", + "kit_project": ":kits:android-braze:braze-38", + "example_kotlin_project": ":kits:android-braze:braze-38:example-kotlin" + }, + { + "name": "braze-39", + "local_path": "kits/braze/braze-39", + "kit_project": ":kits:android-braze:braze-39", + "example_kotlin_project": ":kits:android-braze:braze-39:example-kotlin" + }, + { + "name": "braze-40", + "local_path": "kits/braze/braze-40", + "kit_project": ":kits:android-braze:braze-40", + "example_kotlin_project": ":kits:android-braze:braze-40:example-kotlin" + }, + { + "name": "braze-41", + "local_path": "kits/braze/braze-41", + "kit_project": ":kits:android-braze:braze-41", + "example_kotlin_project": ":kits:android-braze:braze-41:example-kotlin" + }, + { + "name": "branch-5", + "local_path": "kits/branch/branch-5", + "kit_project": ":kits:android-branch:branch-5", + "example_kotlin_project": ":kits:android-branch:branch-5:example-kotlin" + }, + { + "name": "clevertap-7", + "local_path": "kits/clevertap/clevertap-7", + "kit_project": ":kits:android-clevertap:clevertap-7", + "example_kotlin_project": ":kits:android-clevertap:clevertap-7:example-kotlin" + }, + { + "name": "comscore-6", + "local_path": "kits/comscore/comscore-6", + "kit_project": ":kits:android-comscore:comscore-6", + "example_kotlin_project": ":kits:android-comscore:comscore-6:example-kotlin" + }, + { + "name": "ga-23", + "local_path": "kits/ga/ga-23", + "kit_project": ":kits:android-ga:ga-23", + "example_kotlin_project": ":kits:android-ga:ga-23:example-kotlin" + }, + { + "name": "ga4-23", + "local_path": "kits/ga4/ga4-23", + "kit_project": ":kits:android-ga4:ga4-23", + "example_kotlin_project": ":kits:android-ga4:ga4-23:example-kotlin" + }, + { + "name": "iterable-3", + "local_path": "kits/iterable/iterable-3", + "kit_project": ":kits:android-iterable:iterable-3", + "example_kotlin_project": ":kits:android-iterable:iterable-3:example-kotlin" + }, + { + "name": "kochava-5", + "local_path": "kits/kochava/kochava-5", + "kit_project": ":kits:android-kochava:kochava-5", + "example_kotlin_project": ":kits:android-kochava:kochava-5:example-kotlin" + }, + { + "name": "localytics-6", + "local_path": "kits/localytics/localytics-6", + "kit_project": ":kits:android-localytics:localytics-6", + "example_kotlin_project": ":kits:android-localytics:localytics-6:example-kotlin", + "skip_example_builds": true + }, + { + "name": "leanplum-7", + "local_path": "kits/leanplum/leanplum-7", + "kit_project": ":kits:android-leanplum:leanplum-7", + "example_kotlin_project": ":kits:android-leanplum:leanplum-7:example-kotlin" + }, + { + "name": "onetrust", + "local_path": "kits/onetrust/onetrust", + "kit_project": ":kits:android-onetrust:onetrust", + "example_kotlin_project": ":kits:android-onetrust:onetrust:example-kotlin" + }, + { + "name": "optimizely-3", + "local_path": "kits/optimizely/optimizely-3", + "kit_project": ":kits:android-optimizely:optimizely-3", + "example_kotlin_project": ":kits:android-optimizely:optimizely-3:example-kotlin" + }, + { + "name": "radar-3", + "local_path": "kits/radar/radar-3", + "kit_project": ":kits:android-radar:radar-3", + "example_kotlin_project": ":kits:android-radar:radar-3:example-kotlin" + }, + { + "name": "rokt", + "local_path": "kits/rokt/rokt", + "kit_project": ":kits:android-rokt:rokt", + "example_kotlin_project": ":kits:android-rokt:rokt:example-kotlin", + "skip_example_builds": true + }, + { + "name": "singular-12", + "local_path": "kits/singular/singular-12", + "kit_project": ":kits:android-singular:singular-12", + "example_kotlin_project": ":kits:android-singular:singular-12:example-kotlin", + "skip_example_builds": true } ] diff --git a/kits/onetrust/onetrust/example/example-kotlin/build.gradle b/kits/onetrust/onetrust/example/example-kotlin/build.gradle new file mode 100644 index 000000000..40142b62c --- /dev/null +++ b/kits/onetrust/onetrust/example/example-kotlin/build.gradle @@ -0,0 +1,38 @@ +plugins { + id 'com.android.application' + id 'org.jetbrains.kotlin.android' +} + +android { + namespace 'com.mparticle.kits.onetrust.example.kotlin' + compileSdk 35 + + defaultConfig { + applicationId 'com.mparticle.kits.onetrust.example.kotlin' + minSdk 21 + targetSdk 35 + versionCode 1 + versionName '1.0' + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } + + kotlinOptions { + jvmTarget = '17' + } + + buildTypes { + release { + minifyEnabled false + } + } +} + +dependencies { + implementation project(':kits:onetrust:onetrust') + implementation 'androidx.appcompat:appcompat:1.6.1' + implementation 'com.google.android.material:material:1.11.0' +} diff --git a/kits/onetrust/onetrust/example/example-kotlin/src/main/AndroidManifest.xml b/kits/onetrust/onetrust/example/example-kotlin/src/main/AndroidManifest.xml new file mode 100644 index 000000000..84b1637c1 --- /dev/null +++ b/kits/onetrust/onetrust/example/example-kotlin/src/main/AndroidManifest.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + diff --git a/kits/onetrust/onetrust/example/example-kotlin/src/main/kotlin/com/mparticle/kits/onetrust/example/kotlin/ExampleApplication.kt b/kits/onetrust/onetrust/example/example-kotlin/src/main/kotlin/com/mparticle/kits/onetrust/example/kotlin/ExampleApplication.kt new file mode 100644 index 000000000..0ce1c7ec9 --- /dev/null +++ b/kits/onetrust/onetrust/example/example-kotlin/src/main/kotlin/com/mparticle/kits/onetrust/example/kotlin/ExampleApplication.kt @@ -0,0 +1,24 @@ +package com.mparticle.kits.onetrust.example.kotlin + +import android.app.Application +import com.mparticle.MPEvent +import com.mparticle.MParticle +import com.mparticle.MParticleOptions + +class ExampleApplication : Application() { + override fun onCreate() { + super.onCreate() + val options = + MParticleOptions + .builder(this) + .credentials( + "REPLACE WITH YOUR MPARTICLE API KEY", + "REPLACE WITH YOUR MPARTICLE API SECRET", + ).logLevel(MParticle.LogLevel.VERBOSE) + .build() + MParticle.start(options) + MParticle.getInstance()?.logEvent( + MPEvent.Builder("foo", MParticle.EventType.Other).build(), + ) + } +} diff --git a/kits/onetrust/onetrust/example/example-kotlin/src/main/kotlin/com/mparticle/kits/onetrust/example/kotlin/MainActivity.kt b/kits/onetrust/onetrust/example/example-kotlin/src/main/kotlin/com/mparticle/kits/onetrust/example/kotlin/MainActivity.kt new file mode 100644 index 000000000..4ac0d710e --- /dev/null +++ b/kits/onetrust/onetrust/example/example-kotlin/src/main/kotlin/com/mparticle/kits/onetrust/example/kotlin/MainActivity.kt @@ -0,0 +1,11 @@ +package com.mparticle.kits.onetrust.example.kotlin + +import android.os.Bundle +import androidx.appcompat.app.AppCompatActivity + +class MainActivity : AppCompatActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_main) + } +} diff --git a/kits/onetrust/onetrust/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml b/kits/onetrust/onetrust/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 000000000..046177833 --- /dev/null +++ b/kits/onetrust/onetrust/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,14 @@ + + + + diff --git a/kits/onetrust/onetrust/example/example-kotlin/src/main/res/layout/activity_main.xml b/kits/onetrust/onetrust/example/example-kotlin/src/main/res/layout/activity_main.xml new file mode 100644 index 000000000..e2897e3ff --- /dev/null +++ b/kits/onetrust/onetrust/example/example-kotlin/src/main/res/layout/activity_main.xml @@ -0,0 +1,14 @@ + + + + + + diff --git a/kits/onetrust/onetrust/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/kits/onetrust/onetrust/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 000000000..a8a8fa551 --- /dev/null +++ b/kits/onetrust/onetrust/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/kits/onetrust/onetrust/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/kits/onetrust/onetrust/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 000000000..a8a8fa551 --- /dev/null +++ b/kits/onetrust/onetrust/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/kits/onetrust/onetrust/example/example-kotlin/src/main/res/values/colors.xml b/kits/onetrust/onetrust/example/example-kotlin/src/main/res/values/colors.xml new file mode 100644 index 000000000..f42ada656 --- /dev/null +++ b/kits/onetrust/onetrust/example/example-kotlin/src/main/res/values/colors.xml @@ -0,0 +1,4 @@ + + + #FFFFFF + diff --git a/kits/onetrust/onetrust/example/example-kotlin/src/main/res/values/strings.xml b/kits/onetrust/onetrust/example/example-kotlin/src/main/res/values/strings.xml new file mode 100644 index 000000000..d3c3641c6 --- /dev/null +++ b/kits/onetrust/onetrust/example/example-kotlin/src/main/res/values/strings.xml @@ -0,0 +1,4 @@ + + + OneTrust Kit Kotlin Example + diff --git a/kits/optimizely/optimizely-3/example/example-kotlin/build.gradle b/kits/optimizely/optimizely-3/example/example-kotlin/build.gradle new file mode 100644 index 000000000..7524f0fa2 --- /dev/null +++ b/kits/optimizely/optimizely-3/example/example-kotlin/build.gradle @@ -0,0 +1,38 @@ +plugins { + id 'com.android.application' + id 'org.jetbrains.kotlin.android' +} + +android { + namespace 'com.mparticle.kits.optimizely.example.kotlin' + compileSdk 35 + + defaultConfig { + applicationId 'com.mparticle.kits.optimizely.example.kotlin' + minSdk 16 + targetSdk 35 + versionCode 1 + versionName '1.0' + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } + + kotlinOptions { + jvmTarget = '17' + } + + buildTypes { + release { + minifyEnabled false + } + } +} + +dependencies { + implementation project(':kits:optimizely:optimizely-3') + implementation 'androidx.appcompat:appcompat:1.6.1' + implementation 'com.google.android.material:material:1.11.0' +} diff --git a/kits/optimizely/optimizely-3/example/example-kotlin/src/main/AndroidManifest.xml b/kits/optimizely/optimizely-3/example/example-kotlin/src/main/AndroidManifest.xml new file mode 100644 index 000000000..84b1637c1 --- /dev/null +++ b/kits/optimizely/optimizely-3/example/example-kotlin/src/main/AndroidManifest.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + diff --git a/kits/optimizely/optimizely-3/example/example-kotlin/src/main/kotlin/com/mparticle/kits/optimizely/example/kotlin/ExampleApplication.kt b/kits/optimizely/optimizely-3/example/example-kotlin/src/main/kotlin/com/mparticle/kits/optimizely/example/kotlin/ExampleApplication.kt new file mode 100644 index 000000000..1a078ea91 --- /dev/null +++ b/kits/optimizely/optimizely-3/example/example-kotlin/src/main/kotlin/com/mparticle/kits/optimizely/example/kotlin/ExampleApplication.kt @@ -0,0 +1,24 @@ +package com.mparticle.kits.optimizely.example.kotlin + +import android.app.Application +import com.mparticle.MPEvent +import com.mparticle.MParticle +import com.mparticle.MParticleOptions + +class ExampleApplication : Application() { + override fun onCreate() { + super.onCreate() + val options = + MParticleOptions + .builder(this) + .credentials( + "REPLACE WITH YOUR MPARTICLE API KEY", + "REPLACE WITH YOUR MPARTICLE API SECRET", + ).logLevel(MParticle.LogLevel.VERBOSE) + .build() + MParticle.start(options) + MParticle.getInstance()?.logEvent( + MPEvent.Builder("foo", MParticle.EventType.Other).build(), + ) + } +} diff --git a/kits/optimizely/optimizely-3/example/example-kotlin/src/main/kotlin/com/mparticle/kits/optimizely/example/kotlin/MainActivity.kt b/kits/optimizely/optimizely-3/example/example-kotlin/src/main/kotlin/com/mparticle/kits/optimizely/example/kotlin/MainActivity.kt new file mode 100644 index 000000000..fb38d135d --- /dev/null +++ b/kits/optimizely/optimizely-3/example/example-kotlin/src/main/kotlin/com/mparticle/kits/optimizely/example/kotlin/MainActivity.kt @@ -0,0 +1,11 @@ +package com.mparticle.kits.optimizely.example.kotlin + +import android.os.Bundle +import androidx.appcompat.app.AppCompatActivity + +class MainActivity : AppCompatActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_main) + } +} diff --git a/kits/optimizely/optimizely-3/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml b/kits/optimizely/optimizely-3/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 000000000..046177833 --- /dev/null +++ b/kits/optimizely/optimizely-3/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,14 @@ + + + + diff --git a/kits/optimizely/optimizely-3/example/example-kotlin/src/main/res/layout/activity_main.xml b/kits/optimizely/optimizely-3/example/example-kotlin/src/main/res/layout/activity_main.xml new file mode 100644 index 000000000..e2897e3ff --- /dev/null +++ b/kits/optimizely/optimizely-3/example/example-kotlin/src/main/res/layout/activity_main.xml @@ -0,0 +1,14 @@ + + + + + + diff --git a/kits/optimizely/optimizely-3/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/kits/optimizely/optimizely-3/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 000000000..a8a8fa551 --- /dev/null +++ b/kits/optimizely/optimizely-3/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/kits/optimizely/optimizely-3/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/kits/optimizely/optimizely-3/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 000000000..a8a8fa551 --- /dev/null +++ b/kits/optimizely/optimizely-3/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/kits/optimizely/optimizely-3/example/example-kotlin/src/main/res/values/colors.xml b/kits/optimizely/optimizely-3/example/example-kotlin/src/main/res/values/colors.xml new file mode 100644 index 000000000..f42ada656 --- /dev/null +++ b/kits/optimizely/optimizely-3/example/example-kotlin/src/main/res/values/colors.xml @@ -0,0 +1,4 @@ + + + #FFFFFF + diff --git a/kits/optimizely/optimizely-3/example/example-kotlin/src/main/res/values/strings.xml b/kits/optimizely/optimizely-3/example/example-kotlin/src/main/res/values/strings.xml new file mode 100644 index 000000000..3bc1000a0 --- /dev/null +++ b/kits/optimizely/optimizely-3/example/example-kotlin/src/main/res/values/strings.xml @@ -0,0 +1,4 @@ + + + Optimizely Kit Kotlin Example + diff --git a/kits/radar/radar-3/example/example-kotlin/build.gradle b/kits/radar/radar-3/example/example-kotlin/build.gradle new file mode 100644 index 000000000..643164cca --- /dev/null +++ b/kits/radar/radar-3/example/example-kotlin/build.gradle @@ -0,0 +1,38 @@ +plugins { + id 'com.android.application' + id 'org.jetbrains.kotlin.android' +} + +android { + namespace 'com.mparticle.kits.radar.example.kotlin' + compileSdk 35 + + defaultConfig { + applicationId 'com.mparticle.kits.radar.example.kotlin' + minSdk 16 + targetSdk 35 + versionCode 1 + versionName '1.0' + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } + + kotlinOptions { + jvmTarget = '17' + } + + buildTypes { + release { + minifyEnabled false + } + } +} + +dependencies { + implementation project(':kits:radar:radar-3') + implementation 'androidx.appcompat:appcompat:1.6.1' + implementation 'com.google.android.material:material:1.11.0' +} diff --git a/kits/radar/radar-3/example/example-kotlin/src/main/AndroidManifest.xml b/kits/radar/radar-3/example/example-kotlin/src/main/AndroidManifest.xml new file mode 100644 index 000000000..84b1637c1 --- /dev/null +++ b/kits/radar/radar-3/example/example-kotlin/src/main/AndroidManifest.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + diff --git a/kits/radar/radar-3/example/example-kotlin/src/main/kotlin/com/mparticle/kits/radar/example/kotlin/ExampleApplication.kt b/kits/radar/radar-3/example/example-kotlin/src/main/kotlin/com/mparticle/kits/radar/example/kotlin/ExampleApplication.kt new file mode 100644 index 000000000..9966e14d8 --- /dev/null +++ b/kits/radar/radar-3/example/example-kotlin/src/main/kotlin/com/mparticle/kits/radar/example/kotlin/ExampleApplication.kt @@ -0,0 +1,24 @@ +package com.mparticle.kits.radar.example.kotlin + +import android.app.Application +import com.mparticle.MPEvent +import com.mparticle.MParticle +import com.mparticle.MParticleOptions + +class ExampleApplication : Application() { + override fun onCreate() { + super.onCreate() + val options = + MParticleOptions + .builder(this) + .credentials( + "REPLACE WITH YOUR MPARTICLE API KEY", + "REPLACE WITH YOUR MPARTICLE API SECRET", + ).logLevel(MParticle.LogLevel.VERBOSE) + .build() + MParticle.start(options) + MParticle.getInstance()?.logEvent( + MPEvent.Builder("foo", MParticle.EventType.Other).build(), + ) + } +} diff --git a/kits/radar/radar-3/example/example-kotlin/src/main/kotlin/com/mparticle/kits/radar/example/kotlin/MainActivity.kt b/kits/radar/radar-3/example/example-kotlin/src/main/kotlin/com/mparticle/kits/radar/example/kotlin/MainActivity.kt new file mode 100644 index 000000000..2e0406c93 --- /dev/null +++ b/kits/radar/radar-3/example/example-kotlin/src/main/kotlin/com/mparticle/kits/radar/example/kotlin/MainActivity.kt @@ -0,0 +1,11 @@ +package com.mparticle.kits.radar.example.kotlin + +import android.os.Bundle +import androidx.appcompat.app.AppCompatActivity + +class MainActivity : AppCompatActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_main) + } +} diff --git a/kits/radar/radar-3/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml b/kits/radar/radar-3/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 000000000..046177833 --- /dev/null +++ b/kits/radar/radar-3/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,14 @@ + + + + diff --git a/kits/radar/radar-3/example/example-kotlin/src/main/res/layout/activity_main.xml b/kits/radar/radar-3/example/example-kotlin/src/main/res/layout/activity_main.xml new file mode 100644 index 000000000..e2897e3ff --- /dev/null +++ b/kits/radar/radar-3/example/example-kotlin/src/main/res/layout/activity_main.xml @@ -0,0 +1,14 @@ + + + + + + diff --git a/kits/radar/radar-3/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/kits/radar/radar-3/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 000000000..a8a8fa551 --- /dev/null +++ b/kits/radar/radar-3/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/kits/radar/radar-3/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/kits/radar/radar-3/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 000000000..a8a8fa551 --- /dev/null +++ b/kits/radar/radar-3/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/kits/radar/radar-3/example/example-kotlin/src/main/res/values/colors.xml b/kits/radar/radar-3/example/example-kotlin/src/main/res/values/colors.xml new file mode 100644 index 000000000..f42ada656 --- /dev/null +++ b/kits/radar/radar-3/example/example-kotlin/src/main/res/values/colors.xml @@ -0,0 +1,4 @@ + + + #FFFFFF + diff --git a/kits/radar/radar-3/example/example-kotlin/src/main/res/values/strings.xml b/kits/radar/radar-3/example/example-kotlin/src/main/res/values/strings.xml new file mode 100644 index 000000000..60e62523f --- /dev/null +++ b/kits/radar/radar-3/example/example-kotlin/src/main/res/values/strings.xml @@ -0,0 +1,4 @@ + + + Radar Kit Kotlin Example + diff --git a/kits/rokt/rokt/example/example-kotlin/build.gradle b/kits/rokt/rokt/example/example-kotlin/build.gradle new file mode 100644 index 000000000..9911b21f7 --- /dev/null +++ b/kits/rokt/rokt/example/example-kotlin/build.gradle @@ -0,0 +1,38 @@ +plugins { + id 'com.android.application' + id 'org.jetbrains.kotlin.android' +} + +android { + namespace 'com.mparticle.kits.rokt.example.kotlin' + compileSdk 35 + + defaultConfig { + applicationId 'com.mparticle.kits.rokt.example.kotlin' + minSdk 21 + targetSdk 35 + versionCode 1 + versionName '1.0' + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } + + kotlinOptions { + jvmTarget = '17' + } + + buildTypes { + release { + minifyEnabled false + } + } +} + +dependencies { + implementation project(':kits:rokt:rokt') + implementation 'androidx.appcompat:appcompat:1.6.1' + implementation 'com.google.android.material:material:1.11.0' +} diff --git a/kits/rokt/rokt/example/example-kotlin/src/main/AndroidManifest.xml b/kits/rokt/rokt/example/example-kotlin/src/main/AndroidManifest.xml new file mode 100644 index 000000000..84b1637c1 --- /dev/null +++ b/kits/rokt/rokt/example/example-kotlin/src/main/AndroidManifest.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + diff --git a/kits/rokt/rokt/example/example-kotlin/src/main/kotlin/com/mparticle/kits/rokt/example/kotlin/ExampleApplication.kt b/kits/rokt/rokt/example/example-kotlin/src/main/kotlin/com/mparticle/kits/rokt/example/kotlin/ExampleApplication.kt new file mode 100644 index 000000000..3ad7c5f80 --- /dev/null +++ b/kits/rokt/rokt/example/example-kotlin/src/main/kotlin/com/mparticle/kits/rokt/example/kotlin/ExampleApplication.kt @@ -0,0 +1,24 @@ +package com.mparticle.kits.rokt.example.kotlin + +import android.app.Application +import com.mparticle.MPEvent +import com.mparticle.MParticle +import com.mparticle.MParticleOptions + +class ExampleApplication : Application() { + override fun onCreate() { + super.onCreate() + val options = + MParticleOptions + .builder(this) + .credentials( + "REPLACE WITH YOUR MPARTICLE API KEY", + "REPLACE WITH YOUR MPARTICLE API SECRET", + ).logLevel(MParticle.LogLevel.VERBOSE) + .build() + MParticle.start(options) + MParticle.getInstance()?.logEvent( + MPEvent.Builder("foo", MParticle.EventType.Other).build(), + ) + } +} diff --git a/kits/rokt/rokt/example/example-kotlin/src/main/kotlin/com/mparticle/kits/rokt/example/kotlin/MainActivity.kt b/kits/rokt/rokt/example/example-kotlin/src/main/kotlin/com/mparticle/kits/rokt/example/kotlin/MainActivity.kt new file mode 100644 index 000000000..bcb3ca57a --- /dev/null +++ b/kits/rokt/rokt/example/example-kotlin/src/main/kotlin/com/mparticle/kits/rokt/example/kotlin/MainActivity.kt @@ -0,0 +1,11 @@ +package com.mparticle.kits.rokt.example.kotlin + +import android.os.Bundle +import androidx.appcompat.app.AppCompatActivity + +class MainActivity : AppCompatActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_main) + } +} diff --git a/kits/rokt/rokt/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml b/kits/rokt/rokt/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 000000000..046177833 --- /dev/null +++ b/kits/rokt/rokt/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,14 @@ + + + + diff --git a/kits/rokt/rokt/example/example-kotlin/src/main/res/layout/activity_main.xml b/kits/rokt/rokt/example/example-kotlin/src/main/res/layout/activity_main.xml new file mode 100644 index 000000000..e2897e3ff --- /dev/null +++ b/kits/rokt/rokt/example/example-kotlin/src/main/res/layout/activity_main.xml @@ -0,0 +1,14 @@ + + + + + + diff --git a/kits/rokt/rokt/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/kits/rokt/rokt/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 000000000..a8a8fa551 --- /dev/null +++ b/kits/rokt/rokt/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/kits/rokt/rokt/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/kits/rokt/rokt/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 000000000..a8a8fa551 --- /dev/null +++ b/kits/rokt/rokt/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/kits/rokt/rokt/example/example-kotlin/src/main/res/values/colors.xml b/kits/rokt/rokt/example/example-kotlin/src/main/res/values/colors.xml new file mode 100644 index 000000000..f42ada656 --- /dev/null +++ b/kits/rokt/rokt/example/example-kotlin/src/main/res/values/colors.xml @@ -0,0 +1,4 @@ + + + #FFFFFF + diff --git a/kits/rokt/rokt/example/example-kotlin/src/main/res/values/strings.xml b/kits/rokt/rokt/example/example-kotlin/src/main/res/values/strings.xml new file mode 100644 index 000000000..b89c37584 --- /dev/null +++ b/kits/rokt/rokt/example/example-kotlin/src/main/res/values/strings.xml @@ -0,0 +1,4 @@ + + + Rokt Kit Kotlin Example + diff --git a/kits/singular/singular-12/example/example-kotlin/build.gradle b/kits/singular/singular-12/example/example-kotlin/build.gradle new file mode 100644 index 000000000..140558e7a --- /dev/null +++ b/kits/singular/singular-12/example/example-kotlin/build.gradle @@ -0,0 +1,38 @@ +plugins { + id 'com.android.application' + id 'org.jetbrains.kotlin.android' +} + +android { + namespace 'com.mparticle.kits.singular.example.kotlin' + compileSdk 35 + + defaultConfig { + applicationId 'com.mparticle.kits.singular.example.kotlin' + minSdk 16 + targetSdk 35 + versionCode 1 + versionName '1.0' + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } + + kotlinOptions { + jvmTarget = '17' + } + + buildTypes { + release { + minifyEnabled false + } + } +} + +dependencies { + implementation project(':kits:singular:singular-12') + implementation 'androidx.appcompat:appcompat:1.6.1' + implementation 'com.google.android.material:material:1.11.0' +} diff --git a/kits/singular/singular-12/example/example-kotlin/src/main/AndroidManifest.xml b/kits/singular/singular-12/example/example-kotlin/src/main/AndroidManifest.xml new file mode 100644 index 000000000..84b1637c1 --- /dev/null +++ b/kits/singular/singular-12/example/example-kotlin/src/main/AndroidManifest.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + diff --git a/kits/singular/singular-12/example/example-kotlin/src/main/kotlin/com/mparticle/kits/singular/example/kotlin/ExampleApplication.kt b/kits/singular/singular-12/example/example-kotlin/src/main/kotlin/com/mparticle/kits/singular/example/kotlin/ExampleApplication.kt new file mode 100644 index 000000000..02b0f1385 --- /dev/null +++ b/kits/singular/singular-12/example/example-kotlin/src/main/kotlin/com/mparticle/kits/singular/example/kotlin/ExampleApplication.kt @@ -0,0 +1,24 @@ +package com.mparticle.kits.singular.example.kotlin + +import android.app.Application +import com.mparticle.MPEvent +import com.mparticle.MParticle +import com.mparticle.MParticleOptions + +class ExampleApplication : Application() { + override fun onCreate() { + super.onCreate() + val options = + MParticleOptions + .builder(this) + .credentials( + "REPLACE WITH YOUR MPARTICLE API KEY", + "REPLACE WITH YOUR MPARTICLE API SECRET", + ).logLevel(MParticle.LogLevel.VERBOSE) + .build() + MParticle.start(options) + MParticle.getInstance()?.logEvent( + MPEvent.Builder("foo", MParticle.EventType.Other).build(), + ) + } +} diff --git a/kits/singular/singular-12/example/example-kotlin/src/main/kotlin/com/mparticle/kits/singular/example/kotlin/MainActivity.kt b/kits/singular/singular-12/example/example-kotlin/src/main/kotlin/com/mparticle/kits/singular/example/kotlin/MainActivity.kt new file mode 100644 index 000000000..3e60d9d14 --- /dev/null +++ b/kits/singular/singular-12/example/example-kotlin/src/main/kotlin/com/mparticle/kits/singular/example/kotlin/MainActivity.kt @@ -0,0 +1,11 @@ +package com.mparticle.kits.singular.example.kotlin + +import android.os.Bundle +import androidx.appcompat.app.AppCompatActivity + +class MainActivity : AppCompatActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_main) + } +} diff --git a/kits/singular/singular-12/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml b/kits/singular/singular-12/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 000000000..046177833 --- /dev/null +++ b/kits/singular/singular-12/example/example-kotlin/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,14 @@ + + + + diff --git a/kits/singular/singular-12/example/example-kotlin/src/main/res/layout/activity_main.xml b/kits/singular/singular-12/example/example-kotlin/src/main/res/layout/activity_main.xml new file mode 100644 index 000000000..e2897e3ff --- /dev/null +++ b/kits/singular/singular-12/example/example-kotlin/src/main/res/layout/activity_main.xml @@ -0,0 +1,14 @@ + + + + + + diff --git a/kits/singular/singular-12/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/kits/singular/singular-12/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 000000000..a8a8fa551 --- /dev/null +++ b/kits/singular/singular-12/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/kits/singular/singular-12/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/kits/singular/singular-12/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 000000000..a8a8fa551 --- /dev/null +++ b/kits/singular/singular-12/example/example-kotlin/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/kits/singular/singular-12/example/example-kotlin/src/main/res/values/colors.xml b/kits/singular/singular-12/example/example-kotlin/src/main/res/values/colors.xml new file mode 100644 index 000000000..f42ada656 --- /dev/null +++ b/kits/singular/singular-12/example/example-kotlin/src/main/res/values/colors.xml @@ -0,0 +1,4 @@ + + + #FFFFFF + diff --git a/kits/singular/singular-12/example/example-kotlin/src/main/res/values/strings.xml b/kits/singular/singular-12/example/example-kotlin/src/main/res/values/strings.xml new file mode 100644 index 000000000..3770a5474 --- /dev/null +++ b/kits/singular/singular-12/example/example-kotlin/src/main/res/values/strings.xml @@ -0,0 +1,4 @@ + + + Singular Kit Kotlin Example + diff --git a/scripts/generate-kit-examples.py b/scripts/generate-kit-examples.py new file mode 100644 index 000000000..ef926ddcf --- /dev/null +++ b/scripts/generate-kit-examples.py @@ -0,0 +1,330 @@ +#!/usr/bin/env python3 +"""Generate Kotlin example apps for all kits in settings-kits.gradle.""" + +from __future__ import annotations + +import json +import re +from pathlib import Path + +ROOT = Path(__file__).resolve().parent.parent + +KITS = [ + ("adjust", "adjust-5"), + ("adobe", "adobe-5"), + ("adobemedia", "adobemedia-5"), + ("appsflyer", "appsflyer-6"), + ("apptentive", "apptentive-6"), + ("apptimize", "apptimize-3"), + ("braze", "braze-38"), + ("braze", "braze-39"), + ("braze", "braze-40"), + ("braze", "braze-41"), + ("branch", "branch-5"), + ("clevertap", "clevertap-7"), + ("comscore", "comscore-6"), + ("ga", "ga-23"), + ("ga4", "ga4-23"), + ("iterable", "iterable-3"), + ("kochava", "kochava-5"), + ("localytics", "localytics-6"), + ("leanplum", "leanplum-7"), + ("onetrust", "onetrust"), + ("optimizely", "optimizely-3"), + ("radar", "radar-3"), + ("rokt", "rokt"), + ("singular", "singular-12"), +] + +SKIP_EXAMPLE_BUILDS = { + # Custom Maven repos / transitive resolution from example apps + "apptimize-3", + "localytics-6", + "singular-12", + # Rokt pulls Compose artifacts that require AGP 8.6+ (repo uses 8.3.2) + "rokt", +} + +DISPLAY_NAMES = { + "adjust": "Adjust", + "adobe": "Adobe", + "adobemedia": "Adobe Media", + "appsflyer": "AppsFlyer", + "apptentive": "Apptentive", + "apptimize": "Apptimize", + "braze": "Braze", + "branch": "Branch", + "clevertap": "CleverTap", + "comscore": "Comscore", + "ga": "GA", + "ga4": "GA4", + "iterable": "Iterable", + "kochava": "Kochava", + "localytics": "Localytics", + "leanplum": "Leanplum", + "onetrust": "OneTrust", + "optimizely": "Optimizely", + "radar": "Radar", + "rokt": "Rokt", + "singular": "Singular", +} + +IC_LAUNCHER_FOREGROUND = """ + + + +""" + +ADAPTIVE_ICON = """ + + + + +""" + +ACTIVITY_MAIN = """ + + + + + +""" + +ANDROID_MANIFEST = """ + + + + + + + + + + + + +""" + + +def read_kit_min_sdk(vendor: str, module: str) -> int: + build_file = ROOT / "kits" / vendor / module / "build.gradle" + match = re.search(r"minSdk(?:Version)?\s+(\d+)", build_file.read_text()) + return int(match.group(1)) if match else 21 + + +def module_slug(module: str) -> str: + return re.sub(r"[^a-zA-Z0-9]", "", module) + + +def package_name(vendor: str, module: str) -> str: + vendor_modules = [m for v, m in KITS if v == vendor] + if len(vendor_modules) == 1: + return f"com.mparticle.kits.{vendor}.example.kotlin" + return f"com.mparticle.kits.{vendor}.{module_slug(module)}.example.kotlin" + + +def display_name(vendor: str, module: str) -> str: + base = DISPLAY_NAMES[vendor] + vendor_modules = [m for v, m in KITS if v == vendor] + if len(vendor_modules) == 1: + return f"{base} Kit Kotlin Example" + suffix = module.split("-", 1)[-1] + return f"{base} {suffix} Kit Kotlin Example" + + +def gradle_project(vendor: str, module: str) -> str: + return f":kits:{vendor}:{module}" + + +def android_gradle_project(vendor: str, module: str) -> str: + return f":kits:android-{vendor}:{module}" + + +def write_file(path: Path, content: str) -> None: + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(content) + + +def generate_example(vendor: str, module: str) -> None: + pkg = package_name(vendor, module) + pkg_path = pkg.replace(".", "/") + min_sdk = read_kit_min_sdk(vendor, module) + example_root = ROOT / "kits" / vendor / module / "example" / "example-kotlin" + project_path = gradle_project(vendor, module) + + build_gradle = f"""plugins {{ + id 'com.android.application' + id 'org.jetbrains.kotlin.android' +}} + +android {{ + namespace '{pkg}' + compileSdk 35 + + defaultConfig {{ + applicationId '{pkg}' + minSdk {min_sdk} + targetSdk 35 + versionCode 1 + versionName '1.0' + }} + + compileOptions {{ + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + }} + + kotlinOptions {{ + jvmTarget = '17' + }} + + buildTypes {{ + release {{ + minifyEnabled false + }} + }} +}} + +dependencies {{ + implementation project('{project_path}') + implementation 'androidx.appcompat:appcompat:1.6.1' + implementation 'com.google.android.material:material:1.11.0' +}} +""" + + example_application = f"""package {pkg} + +import android.app.Application +import com.mparticle.MPEvent +import com.mparticle.MParticle +import com.mparticle.MParticleOptions + +class ExampleApplication : Application() {{ + override fun onCreate() {{ + super.onCreate() + val options = + MParticleOptions + .builder(this) + .credentials( + "REPLACE WITH YOUR MPARTICLE API KEY", + "REPLACE WITH YOUR MPARTICLE API SECRET", + ).logLevel(MParticle.LogLevel.VERBOSE) + .build() + MParticle.start(options) + MParticle.getInstance()?.logEvent( + MPEvent.Builder("foo", MParticle.EventType.Other).build(), + ) + }} +}} +""" + + main_activity = f"""package {pkg} + +import android.os.Bundle +import androidx.appcompat.app.AppCompatActivity + +class MainActivity : AppCompatActivity() {{ + override fun onCreate(savedInstanceState: Bundle?) {{ + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_main) + }} +}} +""" + + strings_xml = f""" + + {display_name(vendor, module)} + +""" + + colors_xml = """ + + #FFFFFF + +""" + + write_file(example_root / "build.gradle", build_gradle) + write_file(example_root / "src/main/AndroidManifest.xml", ANDROID_MANIFEST) + write_file(example_root / f"src/main/kotlin/{pkg_path}/ExampleApplication.kt", example_application) + write_file(example_root / f"src/main/kotlin/{pkg_path}/MainActivity.kt", main_activity) + write_file(example_root / "src/main/res/values/strings.xml", strings_xml) + write_file(example_root / "src/main/res/values/colors.xml", colors_xml) + write_file(example_root / "src/main/res/layout/activity_main.xml", ACTIVITY_MAIN) + write_file(example_root / "src/main/res/drawable/ic_launcher_foreground.xml", IC_LAUNCHER_FOREGROUND) + write_file(example_root / "src/main/res/mipmap-anydpi-v26/ic_launcher.xml", ADAPTIVE_ICON) + write_file(example_root / "src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml", ADAPTIVE_ICON) + + +def generate_settings_kit_examples() -> None: + lines = [ + "// CI-only settings for kit sample apps. Keeps example modules out of settings-kits.gradle.", + "apply from: 'settings-kits.gradle'", + "", + ] + includes = [] + project_dirs = [] + for vendor, module in KITS: + project_name = f"{gradle_project(vendor, module)}:example-kotlin" + includes.append(f"'{project_name}'") + project_dirs.append( + f"project('{project_name}').projectDir = file('kits/{vendor}/{module}/example/example-kotlin')" + ) + + lines.append("include " + ",\n ".join(includes)) + lines.append("") + lines.extend(project_dirs) + write_file(ROOT / "settings-kit-examples.gradle", "\n".join(lines) + "\n") + + +def generate_matrix() -> None: + matrix = [] + for vendor, module in KITS: + entry = { + "name": module, + "local_path": f"kits/{vendor}/{module}", + "kit_project": android_gradle_project(vendor, module), + "example_kotlin_project": f"{android_gradle_project(vendor, module)}:example-kotlin", + } + if module in SKIP_EXAMPLE_BUILDS: + entry["skip_example_builds"] = True + matrix.append(entry) + write_file(ROOT / "kits/matrix.json", json.dumps(matrix, indent=2) + "\n") + + +def main() -> None: + for vendor, module in KITS: + generate_example(vendor, module) + generate_settings_kit_examples() + generate_matrix() + print(f"Generated examples for {len(KITS)} kits") + + +if __name__ == "__main__": + main() diff --git a/settings-kit-examples.gradle b/settings-kit-examples.gradle index aeab3bc8c..0c54c4d80 100644 --- a/settings-kit-examples.gradle +++ b/settings-kit-examples.gradle @@ -1,6 +1,52 @@ // CI-only settings for kit sample apps. Keeps example modules out of settings-kits.gradle. apply from: 'settings-kits.gradle' -include ':kits:adjust:adjust-5:example-kotlin' +include ':kits:adjust:adjust-5:example-kotlin', + ':kits:adobe:adobe-5:example-kotlin', + ':kits:adobemedia:adobemedia-5:example-kotlin', + ':kits:appsflyer:appsflyer-6:example-kotlin', + ':kits:apptentive:apptentive-6:example-kotlin', + ':kits:apptimize:apptimize-3:example-kotlin', + ':kits:braze:braze-38:example-kotlin', + ':kits:braze:braze-39:example-kotlin', + ':kits:braze:braze-40:example-kotlin', + ':kits:braze:braze-41:example-kotlin', + ':kits:branch:branch-5:example-kotlin', + ':kits:clevertap:clevertap-7:example-kotlin', + ':kits:comscore:comscore-6:example-kotlin', + ':kits:ga:ga-23:example-kotlin', + ':kits:ga4:ga4-23:example-kotlin', + ':kits:iterable:iterable-3:example-kotlin', + ':kits:kochava:kochava-5:example-kotlin', + ':kits:localytics:localytics-6:example-kotlin', + ':kits:leanplum:leanplum-7:example-kotlin', + ':kits:onetrust:onetrust:example-kotlin', + ':kits:optimizely:optimizely-3:example-kotlin', + ':kits:radar:radar-3:example-kotlin', + ':kits:rokt:rokt:example-kotlin', + ':kits:singular:singular-12:example-kotlin' project(':kits:adjust:adjust-5:example-kotlin').projectDir = file('kits/adjust/adjust-5/example/example-kotlin') +project(':kits:adobe:adobe-5:example-kotlin').projectDir = file('kits/adobe/adobe-5/example/example-kotlin') +project(':kits:adobemedia:adobemedia-5:example-kotlin').projectDir = file('kits/adobemedia/adobemedia-5/example/example-kotlin') +project(':kits:appsflyer:appsflyer-6:example-kotlin').projectDir = file('kits/appsflyer/appsflyer-6/example/example-kotlin') +project(':kits:apptentive:apptentive-6:example-kotlin').projectDir = file('kits/apptentive/apptentive-6/example/example-kotlin') +project(':kits:apptimize:apptimize-3:example-kotlin').projectDir = file('kits/apptimize/apptimize-3/example/example-kotlin') +project(':kits:braze:braze-38:example-kotlin').projectDir = file('kits/braze/braze-38/example/example-kotlin') +project(':kits:braze:braze-39:example-kotlin').projectDir = file('kits/braze/braze-39/example/example-kotlin') +project(':kits:braze:braze-40:example-kotlin').projectDir = file('kits/braze/braze-40/example/example-kotlin') +project(':kits:braze:braze-41:example-kotlin').projectDir = file('kits/braze/braze-41/example/example-kotlin') +project(':kits:branch:branch-5:example-kotlin').projectDir = file('kits/branch/branch-5/example/example-kotlin') +project(':kits:clevertap:clevertap-7:example-kotlin').projectDir = file('kits/clevertap/clevertap-7/example/example-kotlin') +project(':kits:comscore:comscore-6:example-kotlin').projectDir = file('kits/comscore/comscore-6/example/example-kotlin') +project(':kits:ga:ga-23:example-kotlin').projectDir = file('kits/ga/ga-23/example/example-kotlin') +project(':kits:ga4:ga4-23:example-kotlin').projectDir = file('kits/ga4/ga4-23/example/example-kotlin') +project(':kits:iterable:iterable-3:example-kotlin').projectDir = file('kits/iterable/iterable-3/example/example-kotlin') +project(':kits:kochava:kochava-5:example-kotlin').projectDir = file('kits/kochava/kochava-5/example/example-kotlin') +project(':kits:localytics:localytics-6:example-kotlin').projectDir = file('kits/localytics/localytics-6/example/example-kotlin') +project(':kits:leanplum:leanplum-7:example-kotlin').projectDir = file('kits/leanplum/leanplum-7/example/example-kotlin') +project(':kits:onetrust:onetrust:example-kotlin').projectDir = file('kits/onetrust/onetrust/example/example-kotlin') +project(':kits:optimizely:optimizely-3:example-kotlin').projectDir = file('kits/optimizely/optimizely-3/example/example-kotlin') +project(':kits:radar:radar-3:example-kotlin').projectDir = file('kits/radar/radar-3/example/example-kotlin') +project(':kits:rokt:rokt:example-kotlin').projectDir = file('kits/rokt/rokt/example/example-kotlin') +project(':kits:singular:singular-12:example-kotlin').projectDir = file('kits/singular/singular-12/example/example-kotlin') From 561e29757c2d1fe294ef81eb950963df7739b7cd Mon Sep 17 00:00:00 2001 From: Denis Chilik Date: Wed, 24 Jun 2026 09:42:08 -0400 Subject: [PATCH 2/2] fix(kits): enable vendor Maven repos in sample app builds Add kit-specific repositories and multidex to example apps that need vendor Maven resolution, and drop skip_example_builds for those kits. --- .../example/example-kotlin/build.gradle | 2 + .../example/kotlin/ExampleApplication.kt | 4 +- .../example/example-kotlin/build.gradle | 2 + .../example/kotlin/ExampleApplication.kt | 4 +- .../example/example-kotlin/build.gradle | 8 + .../example/kotlin/ExampleApplication.kt | 4 +- .../example/example-kotlin/build.gradle | 2 + .../example/kotlin/ExampleApplication.kt | 4 +- .../example/example-kotlin/build.gradle | 2 + .../example/kotlin/ExampleApplication.kt | 4 +- .../example/example-kotlin/build.gradle | 6 + kits/matrix.json | 9 +- .../example/example-kotlin/build.gradle | 2 + .../example/kotlin/ExampleApplication.kt | 4 +- .../example/example-kotlin/build.gradle | 2 + .../example/kotlin/ExampleApplication.kt | 4 +- .../example/example-kotlin/build.gradle | 8 + .../example/kotlin/ExampleApplication.kt | 4 +- scripts/generate-kit-examples.py | 330 ------------------ 19 files changed, 53 insertions(+), 352 deletions(-) delete mode 100644 scripts/generate-kit-examples.py diff --git a/kits/adobe/adobe-5/example/example-kotlin/build.gradle b/kits/adobe/adobe-5/example/example-kotlin/build.gradle index 86c337148..ee684f397 100644 --- a/kits/adobe/adobe-5/example/example-kotlin/build.gradle +++ b/kits/adobe/adobe-5/example/example-kotlin/build.gradle @@ -13,6 +13,7 @@ android { targetSdk 35 versionCode 1 versionName '1.0' + multiDexEnabled true } compileOptions { @@ -35,4 +36,5 @@ dependencies { implementation project(':kits:adobe:adobe-5') implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'com.google.android.material:material:1.11.0' + implementation 'androidx.multidex:multidex:2.0.1' } diff --git a/kits/adobe/adobe-5/example/example-kotlin/src/main/kotlin/com/mparticle/kits/adobe/example/kotlin/ExampleApplication.kt b/kits/adobe/adobe-5/example/example-kotlin/src/main/kotlin/com/mparticle/kits/adobe/example/kotlin/ExampleApplication.kt index a8dec42a1..409581228 100644 --- a/kits/adobe/adobe-5/example/example-kotlin/src/main/kotlin/com/mparticle/kits/adobe/example/kotlin/ExampleApplication.kt +++ b/kits/adobe/adobe-5/example/example-kotlin/src/main/kotlin/com/mparticle/kits/adobe/example/kotlin/ExampleApplication.kt @@ -1,11 +1,11 @@ package com.mparticle.kits.adobe.example.kotlin -import android.app.Application +import androidx.multidex.MultiDexApplication import com.mparticle.MPEvent import com.mparticle.MParticle import com.mparticle.MParticleOptions -class ExampleApplication : Application() { +class ExampleApplication : MultiDexApplication() { override fun onCreate() { super.onCreate() val options = diff --git a/kits/appsflyer/appsflyer-6/example/example-kotlin/build.gradle b/kits/appsflyer/appsflyer-6/example/example-kotlin/build.gradle index a86395d15..2b03ec9b9 100644 --- a/kits/appsflyer/appsflyer-6/example/example-kotlin/build.gradle +++ b/kits/appsflyer/appsflyer-6/example/example-kotlin/build.gradle @@ -13,6 +13,7 @@ android { targetSdk 35 versionCode 1 versionName '1.0' + multiDexEnabled true } compileOptions { @@ -35,4 +36,5 @@ dependencies { implementation project(':kits:appsflyer:appsflyer-6') implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'com.google.android.material:material:1.11.0' + implementation 'androidx.multidex:multidex:2.0.1' } diff --git a/kits/appsflyer/appsflyer-6/example/example-kotlin/src/main/kotlin/com/mparticle/kits/appsflyer/example/kotlin/ExampleApplication.kt b/kits/appsflyer/appsflyer-6/example/example-kotlin/src/main/kotlin/com/mparticle/kits/appsflyer/example/kotlin/ExampleApplication.kt index 94966dd5e..18fd5ef8d 100644 --- a/kits/appsflyer/appsflyer-6/example/example-kotlin/src/main/kotlin/com/mparticle/kits/appsflyer/example/kotlin/ExampleApplication.kt +++ b/kits/appsflyer/appsflyer-6/example/example-kotlin/src/main/kotlin/com/mparticle/kits/appsflyer/example/kotlin/ExampleApplication.kt @@ -1,11 +1,11 @@ package com.mparticle.kits.appsflyer.example.kotlin -import android.app.Application +import androidx.multidex.MultiDexApplication import com.mparticle.MPEvent import com.mparticle.MParticle import com.mparticle.MParticleOptions -class ExampleApplication : Application() { +class ExampleApplication : MultiDexApplication() { override fun onCreate() { super.onCreate() val options = diff --git a/kits/apptimize/apptimize-3/example/example-kotlin/build.gradle b/kits/apptimize/apptimize-3/example/example-kotlin/build.gradle index 9dd5bbe9e..166e95b33 100644 --- a/kits/apptimize/apptimize-3/example/example-kotlin/build.gradle +++ b/kits/apptimize/apptimize-3/example/example-kotlin/build.gradle @@ -13,6 +13,7 @@ android { targetSdk 35 versionCode 1 versionName '1.0' + multiDexEnabled true } compileOptions { @@ -31,8 +32,15 @@ android { } } +repositories { + maven { url 'https://maven.apptimize.com/artifactory/repo' } + google() + mavenCentral() +} + dependencies { implementation project(':kits:apptimize:apptimize-3') implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'com.google.android.material:material:1.11.0' + implementation 'androidx.multidex:multidex:2.0.1' } diff --git a/kits/apptimize/apptimize-3/example/example-kotlin/src/main/kotlin/com/mparticle/kits/apptimize/example/kotlin/ExampleApplication.kt b/kits/apptimize/apptimize-3/example/example-kotlin/src/main/kotlin/com/mparticle/kits/apptimize/example/kotlin/ExampleApplication.kt index d2966e23e..7863f40a4 100644 --- a/kits/apptimize/apptimize-3/example/example-kotlin/src/main/kotlin/com/mparticle/kits/apptimize/example/kotlin/ExampleApplication.kt +++ b/kits/apptimize/apptimize-3/example/example-kotlin/src/main/kotlin/com/mparticle/kits/apptimize/example/kotlin/ExampleApplication.kt @@ -1,11 +1,11 @@ package com.mparticle.kits.apptimize.example.kotlin -import android.app.Application +import androidx.multidex.MultiDexApplication import com.mparticle.MPEvent import com.mparticle.MParticle import com.mparticle.MParticleOptions -class ExampleApplication : Application() { +class ExampleApplication : MultiDexApplication() { override fun onCreate() { super.onCreate() val options = diff --git a/kits/kochava/kochava-5/example/example-kotlin/build.gradle b/kits/kochava/kochava-5/example/example-kotlin/build.gradle index bc6cda813..b4ab3ea6b 100644 --- a/kits/kochava/kochava-5/example/example-kotlin/build.gradle +++ b/kits/kochava/kochava-5/example/example-kotlin/build.gradle @@ -13,6 +13,7 @@ android { targetSdk 35 versionCode 1 versionName '1.0' + multiDexEnabled true } compileOptions { @@ -35,4 +36,5 @@ dependencies { implementation project(':kits:kochava:kochava-5') implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'com.google.android.material:material:1.11.0' + implementation 'androidx.multidex:multidex:2.0.1' } diff --git a/kits/kochava/kochava-5/example/example-kotlin/src/main/kotlin/com/mparticle/kits/kochava/example/kotlin/ExampleApplication.kt b/kits/kochava/kochava-5/example/example-kotlin/src/main/kotlin/com/mparticle/kits/kochava/example/kotlin/ExampleApplication.kt index d7c6e15fc..c37a9a1f9 100644 --- a/kits/kochava/kochava-5/example/example-kotlin/src/main/kotlin/com/mparticle/kits/kochava/example/kotlin/ExampleApplication.kt +++ b/kits/kochava/kochava-5/example/example-kotlin/src/main/kotlin/com/mparticle/kits/kochava/example/kotlin/ExampleApplication.kt @@ -1,11 +1,11 @@ package com.mparticle.kits.kochava.example.kotlin -import android.app.Application +import androidx.multidex.MultiDexApplication import com.mparticle.MPEvent import com.mparticle.MParticle import com.mparticle.MParticleOptions -class ExampleApplication : Application() { +class ExampleApplication : MultiDexApplication() { override fun onCreate() { super.onCreate() val options = diff --git a/kits/leanplum/leanplum-7/example/example-kotlin/build.gradle b/kits/leanplum/leanplum-7/example/example-kotlin/build.gradle index b95791517..00e25b42b 100644 --- a/kits/leanplum/leanplum-7/example/example-kotlin/build.gradle +++ b/kits/leanplum/leanplum-7/example/example-kotlin/build.gradle @@ -13,6 +13,7 @@ android { targetSdk 35 versionCode 1 versionName '1.0' + multiDexEnabled true } compileOptions { @@ -35,4 +36,5 @@ dependencies { implementation project(':kits:leanplum:leanplum-7') implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'com.google.android.material:material:1.11.0' + implementation 'androidx.multidex:multidex:2.0.1' } diff --git a/kits/leanplum/leanplum-7/example/example-kotlin/src/main/kotlin/com/mparticle/kits/leanplum/example/kotlin/ExampleApplication.kt b/kits/leanplum/leanplum-7/example/example-kotlin/src/main/kotlin/com/mparticle/kits/leanplum/example/kotlin/ExampleApplication.kt index 8c1a027a5..e35e66d6d 100644 --- a/kits/leanplum/leanplum-7/example/example-kotlin/src/main/kotlin/com/mparticle/kits/leanplum/example/kotlin/ExampleApplication.kt +++ b/kits/leanplum/leanplum-7/example/example-kotlin/src/main/kotlin/com/mparticle/kits/leanplum/example/kotlin/ExampleApplication.kt @@ -1,11 +1,11 @@ package com.mparticle.kits.leanplum.example.kotlin -import android.app.Application +import androidx.multidex.MultiDexApplication import com.mparticle.MPEvent import com.mparticle.MParticle import com.mparticle.MParticleOptions -class ExampleApplication : Application() { +class ExampleApplication : MultiDexApplication() { override fun onCreate() { super.onCreate() val options = diff --git a/kits/localytics/localytics-6/example/example-kotlin/build.gradle b/kits/localytics/localytics-6/example/example-kotlin/build.gradle index 16f98ed00..664c0f5c6 100644 --- a/kits/localytics/localytics-6/example/example-kotlin/build.gradle +++ b/kits/localytics/localytics-6/example/example-kotlin/build.gradle @@ -31,6 +31,12 @@ android { } } +repositories { + maven { url 'https://maven.localytics.com/public' } + google() + mavenCentral() +} + dependencies { implementation project(':kits:localytics:localytics-6') implementation 'androidx.appcompat:appcompat:1.6.1' diff --git a/kits/matrix.json b/kits/matrix.json index d333cb6d2..e9138dc95 100644 --- a/kits/matrix.json +++ b/kits/matrix.json @@ -33,8 +33,7 @@ "name": "apptimize-3", "local_path": "kits/apptimize/apptimize-3", "kit_project": ":kits:android-apptimize:apptimize-3", - "example_kotlin_project": ":kits:android-apptimize:apptimize-3:example-kotlin", - "skip_example_builds": true + "example_kotlin_project": ":kits:android-apptimize:apptimize-3:example-kotlin" }, { "name": "braze-38", @@ -106,8 +105,7 @@ "name": "localytics-6", "local_path": "kits/localytics/localytics-6", "kit_project": ":kits:android-localytics:localytics-6", - "example_kotlin_project": ":kits:android-localytics:localytics-6:example-kotlin", - "skip_example_builds": true + "example_kotlin_project": ":kits:android-localytics:localytics-6:example-kotlin" }, { "name": "leanplum-7", @@ -144,7 +142,6 @@ "name": "singular-12", "local_path": "kits/singular/singular-12", "kit_project": ":kits:android-singular:singular-12", - "example_kotlin_project": ":kits:android-singular:singular-12:example-kotlin", - "skip_example_builds": true + "example_kotlin_project": ":kits:android-singular:singular-12:example-kotlin" } ] diff --git a/kits/optimizely/optimizely-3/example/example-kotlin/build.gradle b/kits/optimizely/optimizely-3/example/example-kotlin/build.gradle index 7524f0fa2..23cad4046 100644 --- a/kits/optimizely/optimizely-3/example/example-kotlin/build.gradle +++ b/kits/optimizely/optimizely-3/example/example-kotlin/build.gradle @@ -13,6 +13,7 @@ android { targetSdk 35 versionCode 1 versionName '1.0' + multiDexEnabled true } compileOptions { @@ -35,4 +36,5 @@ dependencies { implementation project(':kits:optimizely:optimizely-3') implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'com.google.android.material:material:1.11.0' + implementation 'androidx.multidex:multidex:2.0.1' } diff --git a/kits/optimizely/optimizely-3/example/example-kotlin/src/main/kotlin/com/mparticle/kits/optimizely/example/kotlin/ExampleApplication.kt b/kits/optimizely/optimizely-3/example/example-kotlin/src/main/kotlin/com/mparticle/kits/optimizely/example/kotlin/ExampleApplication.kt index 1a078ea91..e24ae5d62 100644 --- a/kits/optimizely/optimizely-3/example/example-kotlin/src/main/kotlin/com/mparticle/kits/optimizely/example/kotlin/ExampleApplication.kt +++ b/kits/optimizely/optimizely-3/example/example-kotlin/src/main/kotlin/com/mparticle/kits/optimizely/example/kotlin/ExampleApplication.kt @@ -1,11 +1,11 @@ package com.mparticle.kits.optimizely.example.kotlin -import android.app.Application +import androidx.multidex.MultiDexApplication import com.mparticle.MPEvent import com.mparticle.MParticle import com.mparticle.MParticleOptions -class ExampleApplication : Application() { +class ExampleApplication : MultiDexApplication() { override fun onCreate() { super.onCreate() val options = diff --git a/kits/radar/radar-3/example/example-kotlin/build.gradle b/kits/radar/radar-3/example/example-kotlin/build.gradle index 643164cca..a62204978 100644 --- a/kits/radar/radar-3/example/example-kotlin/build.gradle +++ b/kits/radar/radar-3/example/example-kotlin/build.gradle @@ -13,6 +13,7 @@ android { targetSdk 35 versionCode 1 versionName '1.0' + multiDexEnabled true } compileOptions { @@ -35,4 +36,5 @@ dependencies { implementation project(':kits:radar:radar-3') implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'com.google.android.material:material:1.11.0' + implementation 'androidx.multidex:multidex:2.0.1' } diff --git a/kits/radar/radar-3/example/example-kotlin/src/main/kotlin/com/mparticle/kits/radar/example/kotlin/ExampleApplication.kt b/kits/radar/radar-3/example/example-kotlin/src/main/kotlin/com/mparticle/kits/radar/example/kotlin/ExampleApplication.kt index 9966e14d8..065c34e37 100644 --- a/kits/radar/radar-3/example/example-kotlin/src/main/kotlin/com/mparticle/kits/radar/example/kotlin/ExampleApplication.kt +++ b/kits/radar/radar-3/example/example-kotlin/src/main/kotlin/com/mparticle/kits/radar/example/kotlin/ExampleApplication.kt @@ -1,11 +1,11 @@ package com.mparticle.kits.radar.example.kotlin -import android.app.Application +import androidx.multidex.MultiDexApplication import com.mparticle.MPEvent import com.mparticle.MParticle import com.mparticle.MParticleOptions -class ExampleApplication : Application() { +class ExampleApplication : MultiDexApplication() { override fun onCreate() { super.onCreate() val options = diff --git a/kits/singular/singular-12/example/example-kotlin/build.gradle b/kits/singular/singular-12/example/example-kotlin/build.gradle index 140558e7a..415d28af4 100644 --- a/kits/singular/singular-12/example/example-kotlin/build.gradle +++ b/kits/singular/singular-12/example/example-kotlin/build.gradle @@ -13,6 +13,7 @@ android { targetSdk 35 versionCode 1 versionName '1.0' + multiDexEnabled true } compileOptions { @@ -31,8 +32,15 @@ android { } } +repositories { + maven { url 'https://maven.singular.net' } + google() + mavenCentral() +} + dependencies { implementation project(':kits:singular:singular-12') implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'com.google.android.material:material:1.11.0' + implementation 'androidx.multidex:multidex:2.0.1' } diff --git a/kits/singular/singular-12/example/example-kotlin/src/main/kotlin/com/mparticle/kits/singular/example/kotlin/ExampleApplication.kt b/kits/singular/singular-12/example/example-kotlin/src/main/kotlin/com/mparticle/kits/singular/example/kotlin/ExampleApplication.kt index 02b0f1385..afecc2ba0 100644 --- a/kits/singular/singular-12/example/example-kotlin/src/main/kotlin/com/mparticle/kits/singular/example/kotlin/ExampleApplication.kt +++ b/kits/singular/singular-12/example/example-kotlin/src/main/kotlin/com/mparticle/kits/singular/example/kotlin/ExampleApplication.kt @@ -1,11 +1,11 @@ package com.mparticle.kits.singular.example.kotlin -import android.app.Application +import androidx.multidex.MultiDexApplication import com.mparticle.MPEvent import com.mparticle.MParticle import com.mparticle.MParticleOptions -class ExampleApplication : Application() { +class ExampleApplication : MultiDexApplication() { override fun onCreate() { super.onCreate() val options = diff --git a/scripts/generate-kit-examples.py b/scripts/generate-kit-examples.py deleted file mode 100644 index ef926ddcf..000000000 --- a/scripts/generate-kit-examples.py +++ /dev/null @@ -1,330 +0,0 @@ -#!/usr/bin/env python3 -"""Generate Kotlin example apps for all kits in settings-kits.gradle.""" - -from __future__ import annotations - -import json -import re -from pathlib import Path - -ROOT = Path(__file__).resolve().parent.parent - -KITS = [ - ("adjust", "adjust-5"), - ("adobe", "adobe-5"), - ("adobemedia", "adobemedia-5"), - ("appsflyer", "appsflyer-6"), - ("apptentive", "apptentive-6"), - ("apptimize", "apptimize-3"), - ("braze", "braze-38"), - ("braze", "braze-39"), - ("braze", "braze-40"), - ("braze", "braze-41"), - ("branch", "branch-5"), - ("clevertap", "clevertap-7"), - ("comscore", "comscore-6"), - ("ga", "ga-23"), - ("ga4", "ga4-23"), - ("iterable", "iterable-3"), - ("kochava", "kochava-5"), - ("localytics", "localytics-6"), - ("leanplum", "leanplum-7"), - ("onetrust", "onetrust"), - ("optimizely", "optimizely-3"), - ("radar", "radar-3"), - ("rokt", "rokt"), - ("singular", "singular-12"), -] - -SKIP_EXAMPLE_BUILDS = { - # Custom Maven repos / transitive resolution from example apps - "apptimize-3", - "localytics-6", - "singular-12", - # Rokt pulls Compose artifacts that require AGP 8.6+ (repo uses 8.3.2) - "rokt", -} - -DISPLAY_NAMES = { - "adjust": "Adjust", - "adobe": "Adobe", - "adobemedia": "Adobe Media", - "appsflyer": "AppsFlyer", - "apptentive": "Apptentive", - "apptimize": "Apptimize", - "braze": "Braze", - "branch": "Branch", - "clevertap": "CleverTap", - "comscore": "Comscore", - "ga": "GA", - "ga4": "GA4", - "iterable": "Iterable", - "kochava": "Kochava", - "localytics": "Localytics", - "leanplum": "Leanplum", - "onetrust": "OneTrust", - "optimizely": "Optimizely", - "radar": "Radar", - "rokt": "Rokt", - "singular": "Singular", -} - -IC_LAUNCHER_FOREGROUND = """ - - - -""" - -ADAPTIVE_ICON = """ - - - - -""" - -ACTIVITY_MAIN = """ - - - - - -""" - -ANDROID_MANIFEST = """ - - - - - - - - - - - - -""" - - -def read_kit_min_sdk(vendor: str, module: str) -> int: - build_file = ROOT / "kits" / vendor / module / "build.gradle" - match = re.search(r"minSdk(?:Version)?\s+(\d+)", build_file.read_text()) - return int(match.group(1)) if match else 21 - - -def module_slug(module: str) -> str: - return re.sub(r"[^a-zA-Z0-9]", "", module) - - -def package_name(vendor: str, module: str) -> str: - vendor_modules = [m for v, m in KITS if v == vendor] - if len(vendor_modules) == 1: - return f"com.mparticle.kits.{vendor}.example.kotlin" - return f"com.mparticle.kits.{vendor}.{module_slug(module)}.example.kotlin" - - -def display_name(vendor: str, module: str) -> str: - base = DISPLAY_NAMES[vendor] - vendor_modules = [m for v, m in KITS if v == vendor] - if len(vendor_modules) == 1: - return f"{base} Kit Kotlin Example" - suffix = module.split("-", 1)[-1] - return f"{base} {suffix} Kit Kotlin Example" - - -def gradle_project(vendor: str, module: str) -> str: - return f":kits:{vendor}:{module}" - - -def android_gradle_project(vendor: str, module: str) -> str: - return f":kits:android-{vendor}:{module}" - - -def write_file(path: Path, content: str) -> None: - path.parent.mkdir(parents=True, exist_ok=True) - path.write_text(content) - - -def generate_example(vendor: str, module: str) -> None: - pkg = package_name(vendor, module) - pkg_path = pkg.replace(".", "/") - min_sdk = read_kit_min_sdk(vendor, module) - example_root = ROOT / "kits" / vendor / module / "example" / "example-kotlin" - project_path = gradle_project(vendor, module) - - build_gradle = f"""plugins {{ - id 'com.android.application' - id 'org.jetbrains.kotlin.android' -}} - -android {{ - namespace '{pkg}' - compileSdk 35 - - defaultConfig {{ - applicationId '{pkg}' - minSdk {min_sdk} - targetSdk 35 - versionCode 1 - versionName '1.0' - }} - - compileOptions {{ - sourceCompatibility JavaVersion.VERSION_17 - targetCompatibility JavaVersion.VERSION_17 - }} - - kotlinOptions {{ - jvmTarget = '17' - }} - - buildTypes {{ - release {{ - minifyEnabled false - }} - }} -}} - -dependencies {{ - implementation project('{project_path}') - implementation 'androidx.appcompat:appcompat:1.6.1' - implementation 'com.google.android.material:material:1.11.0' -}} -""" - - example_application = f"""package {pkg} - -import android.app.Application -import com.mparticle.MPEvent -import com.mparticle.MParticle -import com.mparticle.MParticleOptions - -class ExampleApplication : Application() {{ - override fun onCreate() {{ - super.onCreate() - val options = - MParticleOptions - .builder(this) - .credentials( - "REPLACE WITH YOUR MPARTICLE API KEY", - "REPLACE WITH YOUR MPARTICLE API SECRET", - ).logLevel(MParticle.LogLevel.VERBOSE) - .build() - MParticle.start(options) - MParticle.getInstance()?.logEvent( - MPEvent.Builder("foo", MParticle.EventType.Other).build(), - ) - }} -}} -""" - - main_activity = f"""package {pkg} - -import android.os.Bundle -import androidx.appcompat.app.AppCompatActivity - -class MainActivity : AppCompatActivity() {{ - override fun onCreate(savedInstanceState: Bundle?) {{ - super.onCreate(savedInstanceState) - setContentView(R.layout.activity_main) - }} -}} -""" - - strings_xml = f""" - - {display_name(vendor, module)} - -""" - - colors_xml = """ - - #FFFFFF - -""" - - write_file(example_root / "build.gradle", build_gradle) - write_file(example_root / "src/main/AndroidManifest.xml", ANDROID_MANIFEST) - write_file(example_root / f"src/main/kotlin/{pkg_path}/ExampleApplication.kt", example_application) - write_file(example_root / f"src/main/kotlin/{pkg_path}/MainActivity.kt", main_activity) - write_file(example_root / "src/main/res/values/strings.xml", strings_xml) - write_file(example_root / "src/main/res/values/colors.xml", colors_xml) - write_file(example_root / "src/main/res/layout/activity_main.xml", ACTIVITY_MAIN) - write_file(example_root / "src/main/res/drawable/ic_launcher_foreground.xml", IC_LAUNCHER_FOREGROUND) - write_file(example_root / "src/main/res/mipmap-anydpi-v26/ic_launcher.xml", ADAPTIVE_ICON) - write_file(example_root / "src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml", ADAPTIVE_ICON) - - -def generate_settings_kit_examples() -> None: - lines = [ - "// CI-only settings for kit sample apps. Keeps example modules out of settings-kits.gradle.", - "apply from: 'settings-kits.gradle'", - "", - ] - includes = [] - project_dirs = [] - for vendor, module in KITS: - project_name = f"{gradle_project(vendor, module)}:example-kotlin" - includes.append(f"'{project_name}'") - project_dirs.append( - f"project('{project_name}').projectDir = file('kits/{vendor}/{module}/example/example-kotlin')" - ) - - lines.append("include " + ",\n ".join(includes)) - lines.append("") - lines.extend(project_dirs) - write_file(ROOT / "settings-kit-examples.gradle", "\n".join(lines) + "\n") - - -def generate_matrix() -> None: - matrix = [] - for vendor, module in KITS: - entry = { - "name": module, - "local_path": f"kits/{vendor}/{module}", - "kit_project": android_gradle_project(vendor, module), - "example_kotlin_project": f"{android_gradle_project(vendor, module)}:example-kotlin", - } - if module in SKIP_EXAMPLE_BUILDS: - entry["skip_example_builds"] = True - matrix.append(entry) - write_file(ROOT / "kits/matrix.json", json.dumps(matrix, indent=2) + "\n") - - -def main() -> None: - for vendor, module in KITS: - generate_example(vendor, module) - generate_settings_kit_examples() - generate_matrix() - print(f"Generated examples for {len(KITS)} kits") - - -if __name__ == "__main__": - main()