Skip to content

[Internal] Migrate Age Signals integration to SDK 0.0.4 - #16376

Draft
JorgeMucientes wants to merge 2 commits into
issue/woomob-3766-age-verification-gatefrom
issue/woomob-3767-age-signals-sdk-004
Draft

[Internal] Migrate Age Signals integration to SDK 0.0.4#16376
JorgeMucientes wants to merge 2 commits into
issue/woomob-3766-age-verification-gatefrom
issue/woomob-3767-age-signals-sdk-004

Conversation

@JorgeMucientes

Copy link
Copy Markdown
Contributor

Fixes WOOMOB-3767

Description

Activates the two-stage Play Age Signals SDK 0.0.4 integration behind the existing feature flag.

  • Injects AgeSignalsManager behind the app-owned AgeSignalsClient boundary.
  • Supplies the resumed Activity to requestAgeSignalsAccess() and calls checkAgeSignals() only for SHARED.
  • Maps access, bounds, age-range source, and significant-change values into defensive domain enums without exposing install ID or approval date.
  • Evaluates under-13, eligible, and ambiguous bounds while preserving prior authoritative restrictions for non-authoritative outcomes.
  • Retries bind, transient, internal, and binder-death failures with three total attempts and 500 ms/1 s backoff.
  • Removes SDK 0.0.3 userStatus handling.
  • Tests the real adapter with Google's FakeAgeSignalsManager plus explicit stage, gating, mapping, and retry coverage.

Stack: #16374#16375 ← this PR. Merge bottom-up only after this activation layer is approved.

Test Steps

  1. Install a Play-delivered internal-testing build on a Play-certified Android 6.0+ device.
  2. Exercise NOT_SHARED and confirm Woo stays usable and no second-stage request is made.
  3. Exercise VERIFICATION_REQUIRED, open Google Play, return, and confirm one automatic retry without logout.
  4. Exercise shared 0–12 and confirm logout plus the existing terminal restriction message.
  5. Exercise shared 13–15, 16–17, and 18+ and confirm access is allowed and any prior restriction is cleared.
  6. Exercise offline and unavailable/outdated Play component failures and confirm a prior restriction is preserved, while an unrestricted user remains allowed.

Images/gif

No visual changes in this stack layer; the verification UI is provided by #16375.

  • I have considered if this change warrants release notes and deferred them to the final telemetry and release-validation PR in this stack.

@JorgeMucientes JorgeMucientes added this to the 25.4 milestone Aug 6, 2026
@JorgeMucientes JorgeMucientes added type: task An internally driven task. status: do not merge Dependent on another PR, ready for review but not ready for merge. priority: high Affects lots of customers substantially, but not critically. status: feature-flagged Behind a feature flag. Milestone is not strongly held. org-team: Kiwi Kiwi team issues dependencies Pull requests that update a dependency file labels Aug 6, 2026
@dangermattic

dangermattic commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator
1 Warning
⚠️ This PR is larger than 300 lines of changes. Please consider splitting it into smaller PRs for easier and faster reviews.
1 Message
📖 This PR is still a Draft: some checks will be skipped.

Generated by 🚫 Danger

@wpmobilebot

Copy link
Copy Markdown
Collaborator

Project dependencies changes

list
! Upgraded Dependencies
com.google.android.play:age-signals:0.0.4, (changed from 0.0.3)
tree
-\--- com.google.android.play:age-signals:0.0.3
+\--- com.google.android.play:age-signals:0.0.4

@wpmobilebot

wpmobilebot commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator

Project manifest changes for WooCommerce

The following changes in the WooCommerce's merged AndroidManifest.xml file were detected (build variant: vanillaRelease):

--- ./build/reports/diff_manifest/WooCommerce/vanillaRelease/base_manifest.txt	2026-08-06 09:26:04.329680761 +0000
+++ ./build/reports/diff_manifest/WooCommerce/vanillaRelease/head_manifest.txt	2026-08-06 09:26:07.436996534 +0000
@@ -659,6 +659,11 @@
             android:name="com.google.android.gms.common.api.GoogleApiActivity"
             android:exported="false"
             android:theme="@android:style/Theme.Translucent.NoTitleBar" />
+        <activity
+            android:name="com.google.android.play.agesignals.AgeSharingConsentWrapperActivity"
+            android:exported="false"
+            android:stateNotNeeded="true"
+            android:theme="@style/Theme.Play.AgeSignals.Transparent" />
 
         <service
             android:name="androidx.work.impl.background.systemjob.SystemJobService"

Go to https://buildkite.com/automattic/woocommerce-android/builds/41256/canvas?sid=019fd662-e2ba-466e-964c-85500d2b975a, click on the Artifacts tab and audit the files.

@wpmobilebot

wpmobilebot commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator

App Icon📲 You can test the changes from this Pull Request in WooCommerce Android by scanning the QR code below to install the corresponding build.

App NameWooCommerce Android
Platform📱 Mobile
FlavorJalapeno
Build TypeDebug
Build Number776
Version25.3-rc-1
Application IDcom.woocommerce.android.prealpha
Commit3d0aacf
Installation URL4tsqkiqhv5lt0
Automatticians: You can use our internal self-serve MC tool to give yourself access to those builds if needed.

@wpmobilebot

Copy link
Copy Markdown
Collaborator

Version 25.4 has now entered code-freeze, so the milestone of this PR has been updated to 25.5.

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

Labels

dependencies Pull requests that update a dependency file org-team: Kiwi Kiwi team issues priority: high Affects lots of customers substantially, but not critically. status: do not merge Dependent on another PR, ready for review but not ready for merge. status: feature-flagged Behind a feature flag. Milestone is not strongly held. type: task An internally driven task.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants