Brave Origin subscribers on Android currently receive general-engagement
notifications and unbidden promo dialogs that are not tied to any
Origin-disabled feature. Suppress them under the product stance that
Origin users get a cleaner, promo-free experience.
Surfaces gated:
- RetentionNotificationPublisher: HOUR_3, HOUR_24, DAY_6, EVERY_SUNDAY,
and DORMANT_USERS_DAY_14/25/40 notification fire-time.
- BraveActivity: showDormantUsersEngagementDialog (cold-start and
in-foreground tap paths), India ad-free callout, YouTube-in-Brave
dialog.
The existing getIsSubscriptionActive() pref only reflects Play Store
purchases, so it misses desktop-linked subscribers. Introduce a new
Java-side cached boolean BRAVE_ORIGIN_CREDENTIAL_SUMMARY_CACHED, written
from two authoritative any-source signals:
- fetchOrderCredentials success (primes the cache immediately on a
successful Play Store purchase).
- requestCredentialSummary callback (covers Play Store and
desktop-linked paths; the Skus service resolves both internally).
BraveActivity.finishNativeInitialization now calls
requestCredentialSummary on every app start to keep the cache fresh.
Resolves: https://github.com/brave/brave-browser/issues/54791