Skip to content

Conversation

@graciecooper
Copy link

@graciecooper graciecooper commented Jan 29, 2026

Description of Changes

271607: Migrate QA App to Kotlin
Java → Kotlin migration and associated dependencies to support Jetpack Compose

272491: Migrate XML layouts to Jetpack Compose
XML Layouts migrated to Jetpack Compose and given a bit of a facelift to make the app more similar to iOS UI.

272493: Allow UserID and email to be set independently
The app already did this internally, just updated UI at Becky's request to make it more clear by introducing two separate buttons rather than one button for both fields.

272421: Add New Page to support testing deeplinks that direct users to a specific page within the app
Added testdeeplink page to allow push notifications which direct users to specific in app page.

UI Preview

image

Breaking Changes

  • None; all internal QA app changes

🚨 NB: QA app has been excluded from the default Gradle build !! 🚨
Due to Compose / AGP dependency issues with Java 8, the QA app is no longer part of the default build. The QA app stays in the repo; to build and run it locally you need to re-include it and manually set Gradle/AGP as per BAU. Instructions in Android QA App Notion page.

Release Checklist

Prepare:

  • Detail any breaking changes. Breaking changes require a new major version number, and a migration guide in wiki / README.md

Bump versions in:

  • CHANGELOG.md
  • gradle.properties
  • add links to newly created wiki pages to readme
  • Update major version numbers in wiki (basic integration + push guides)

Integration tests

T&T Only

  • Init SDK with only optimove credentials
  • Associate customer
  • Associate email
  • Track events

Mobile Only

  • Init SDK with all credentials
  • Track events
  • Associate customer (verify both backends)
  • Register for push
  • Opt-in for In-App
  • Send test push
  • Send test In-App
  • Receive / trigger deep link handler (In-App/Push)
  • Receive / trigger the content extension, render image and action buttons for push
  • Verify push opened handler

Deferred Deep Links

  • With app installed, trigger deep link handler
  • With app uninstalled, follow deep link, install test bundle, verify deep link read from Clipboard, trigger deep link handler

Combined

  • Track event for T&T, verify push received
  • Trigger scheduled campaign, verify push received
  • Trigger scheduled campaign, verify In-App received

Release Procedure

  • Squash and merge dev to master
  • Delete branch once merged

@graciecooper graciecooper changed the title QA App Updates: Kotlin and Jetpack Compose Migration, URI Deeplinks AB#271088 - QA App Updates: Kotlin and Jetpack Compose Migration, URI Deeplinks Jan 29, 2026
@graciecooper graciecooper force-pushed the 271088-QA-app-improvements branch 2 times, most recently from e44284e to 9b6ab86 Compare January 29, 2026 14:04
@graciecooper graciecooper force-pushed the 271088-QA-app-improvements branch from 9b6ab86 to c11aa0a Compare January 29, 2026 14:06
@k-antipochkin
Copy link
Collaborator

@graciecooper Ideally, we would want the app module to be included in settings.gradle. Did we try updating AGP to 7.4.x or even 8.x (not sure) in the project level build gradle?

<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="optimoveapp" android:host="testdeeplink" />
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Depending on the activity we want to open, we might need <data android:scheme="https" android:host="submariners.lnk.click"/>, as this is what we have configured on backend today. So I guess we need to move the intent filter?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants