Skip to content

[android] Ask for the account manager's account identifier - #7421

Open
qixuancao wants to merge 1 commit into
BOINC:masterfrom
qixuancao:fix/issue-5388
Open

qixuancao wants to merge 1 commit into
BOINC:masterfrom
qixuancao:fix/issue-5388

Conversation

@qixuancao

@qixuancao qixuancao commented Nov 6, 2026 •

Copy link
Copy Markdown
Contributor

Summary

The "Use account manager" screen always asked for User:, although account managers identify accounts either by email address (e.g. Science United) or by user name (e.g. BAM!). This is indicated by uses_username in the account manager's get_project_config reply, which the desktop Manager already honours.

Change

  • When the account manager URL changes (spinner selection or manual input, debounced), the Manager now fetches the account manager's project config on a background dispatcher via monitor.getProjectConfigPolling(url) and adapts the account identifier field once the reply matches the current URL:
    • Email address: with an email keyboard if the account manager identifies accounts by email address,
    • User name: if it sets uses_username,
    • the previous User: while the config is being fetched or if it could not be retrieved.
  • The "missing input" error matches the identifier ("Please enter Email address" / "Please enter user name").
  • The value is still sent as the account manager name, so the acct_mgr_rpc request does not change.
  • New string attachproject_acctmgr_header_username added to values and values-en (required by validate_android_translations.py). Email address: reuses the already translated attachproject_login_header_id_email. Other translations are not modified.
  • uses_username was already parsed into ProjectConfig.usesName, so the parser does not change.

Testing

  • New unit tests: AccountIdentifierInputTest (config missing or failed, email-based, user-name-based).
  • ./gradlew testDebugUnitTest assembleRelease passes.
  • python ci_tools/validate_android_translations.py passes, and so does git diff --check.
  • Not tested yet on a device or emulator against Science United / BAM!.

Fixes #5388


Summary by cubic

Fixes the "Use account manager" screen so it asks for the account identifier the selected account manager actually uses. The screen always asked for User:, but some account managers identify accounts by email address (e.g. Science United) while others use user names (e.g. BAM!).

The label now adapts to the account manager's uses_username setting: Email address: with an email keyboard for email-based managers, User name: for user-name-based ones, and the previous User: label while the config is fetched or fails. The "missing input" error matches the label. The account manager RPC request is unchanged.

Fixes #5388

Written for commit 2167f45. Summary will update on new commits.

View guided diff

@qixuancao
qixuancao marked this pull request as ready for review November 6, 2026 11:11

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

All reported issues were addressed across 5 files

Reply with feedback, questions, or to request a fix.

View guided diff | Re-trigger cubic

Account managers identify accounts either by email address (e.g.
Science United) or by user name (e.g. BAM!), as indicated by
uses_username in their project config. The "Use account manager" screen
always asked for "User:".

Retrieve the project config of the entered account manager URL and ask
for "Email address:" or "User name:" accordingly, with a matching input
type and error message. Keep the previous "User:" label while the config
is unknown or could not be retrieved.

Refs: BOINC#5388
Assisted-by: Antigravity:Gemini-4-Argon
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: In progress

Development

Successfully merging this pull request may close these issues.

Android client: ask for correct AM account identifier

2 participants