Skip to content

Always show the yearly pass, with shorter texts - #747

Merged
andiwand merged 3 commits into
mainfrom
pass-dialog-rework
Oct 31, 2026
Merged

andiwand merged 3 commits into
mainfrom
pass-dialog-rework

Conversation

@andiwand

@andiwand andiwand commented Oct 31, 2026 •

Copy link
Copy Markdown
Member

Lite hid the subscribe button of the pass dialog until Play gave a price. Without Play (no Google account, an old Play, a setup error), the dialog offered only the Pro app. The texts of the dialog and of the Pro gate were also long.

Changes

  • dialog_pass.xml: the subscribe button and the renewal terms always show. The button reads "Subscribe", and then "Subscribe for per year" when Play gives a price.
  • buyPass(activity, onUnavailable) in BillingManager and in both PlayBilling flavors. If the details are not loaded, PlayBilling asks Play again. If Play still has no pass, or launchBillingFlow fails, MainActivity shows "Google Play is not available. Sign in to Google Play and try again."
  • Shorter, factual strings:
    • pro_offer_title: "Pro feature"
    • pro_offer_formatting: "Bold, italic, colors, text size, and new or joined paragraphs are Pro features. The highlighter is free."
    • pro_offer_sheet: "Bold, italic, colors, text size, alignment, formulas, and inserting or deleting rows and columns are Pro features. The fill is free."
    • pro_offer_markup: "Underline, strikethrough and drawing on a PDF are Pro features. The highlighter is free."
    • pass_why: "A small team makes OpenDocument Reader. The app does not track you, but the ads in the free version can. Your purchase removes the ads and pays for updates and new features."
    • pass_terms: "No ads and all Pro features for 1 year. Renews every year. Cancel any time in Google Play."
    • pass_get_pro: "Pay once: get the Pro app"
  • The Pro app is an outlined button under the subscribe button, not a text link.
  • The four pro_offer_* strings lose their translations. The pass_* strings had none yet.
  • A CHANGELOG entry.

Testing

  • spotlessCheck assembleLiteDebug assembleProDebug assembleFossDebug testProDebugUnitTest lintLiteDebug compileLiteDebugAndroidTestKotlin pass.
  • On the Pixel_9_Pro emulator (API 36, no Google account), the dialog shows "Subscribe", the terms and the Pro button. A tap on "Subscribe" shows the "Google Play is not available" message. I did not see a price, because the emulator has no account.

🤖 Generated with Claude Code

andiwand and others added 3 commits October 31, 2026 10:19
The pass dialog hid its subscribe button until Play gave a price. So
without Play, it offered only the Pro app. The button now shows from the
start and takes the price when Play gives one. A tap without loaded
details asks Play again, and tells the user if Play is not available.

The gate and pass texts are shorter and state facts. The changed gate
texts lose their translations.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FW6WZZn7M3KF61bkS7BinV
The Pro app was a text link under the subscribe button, so it did not
look like a second offer. It is now an outlined button with a shorter
label.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FW6WZZn7M3KF61bkS7BinV
"Without tracking" was not true for the free version, because its ads
can track. The text now says that the app does not track, and that the
purchase removes the ads.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FW6WZZn7M3KF61bkS7BinV
@andiwand
andiwand merged commit e3f1961 into main Oct 31, 2026
2 checks passed
@andiwand
andiwand deleted the pass-dialog-rework branch October 31, 2026 09:36
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.

1 participant