Skip to content

chore: Merge branch dev to main - #320

Draft
github-actions[bot] wants to merge 21 commits into
mainfrom
dev
Draft

github-actions[bot] wants to merge 21 commits into
mainfrom
dev

Conversation

@github-actions

Copy link
Copy Markdown

This pull request will Merge branch dev to main.

Before merging this PR

  • Pull & merge translations from Crowdin

LisoUseInAIKyrios and others added 21 commits October 24, 2026 14:35
Ports microg#3845 ahead of upstream, which takes the Cast dynamite
module from a stub to a working one: CastState no longer stays at
NO_DEVICES_AVAILABLE, so apps show their cast button and the device can
join, register namespaces and set volume.

Adds an in-tree CastV2 channel replacing chromecast-java-api-v2, the device
controller for both the legacy and connectionless client flows, the media
route provider and its controller, and the framework's context and session
classes. Upstream author: @woahwhattheheck.

Co-Authored-By: woahwhattheheck <293286387+woahwhattheheck@users.noreply.github.com>
A Chromecast with Google TV runs a platform build of a receiver and reports
it with its own appId next to the id the sender asked for as universalAppId:

  {"appId":"2C6A6E3D","appType":"ANDROID_TV","universalAppId":"233637DE",...}

Match launch and join requests against either id, and report the universal
id and the application type to the client, as Play services does. Fixes the
APPLICATION_NOT_RUNNING (2005) failure when casting YouTube to a Google TV.
…receivers

MediaRouter unselects the current route with UNSELECT_REASON_DISCONNECTED
when the user disconnects or picks another receiver in the app's route
dialog. The session manager treated that as a dropped connection and
suspended the session, so the newly selected route never got a session
and the client stayed on the old receiver.

Only a connection loss reported through onRouteDisconnected suspends a
session. Unselecting ends it; "Stop casting" additionally stops the
receiver application while "Disconnect" leaves it running, matching Play
services.
Google only issues the notifications token to its own package. microG asked
for it as app.revanced.android.gms, a name Google has never seen, so the
request was rejected as UNREGISTERED_ON_API_CONSOLE and no two-step prompt
ever reached the device. Chime registration failed the same way with gRPC
INVALID_ARGUMENT, because it registered that same package name.

Send com.google.android.gms for the notifications OAuth microG makes for
itself, and register chime under that package. Every other internal token
request still identifies as this build.

Fixes #308.
values-v31 pins Theme.App to the md_theme colours and nothing applied
DynamicColors at runtime, so the app kept its blue accent whatever the
wallpaper was.

Apply the dynamic colour overlay on API 31+, where it wins over those
pinned items. Below 31 the md_theme palette still applies, so nothing
changes there.

Fixes #314.
downloadAndInstallNoIconVariant always asks for a strict variant match, and
fetchLatestUpdate fetched the release list in that case without filtering
pre-releases. A newer pre-release outranks the latest stable, so on a
stable install "Hide icon" offered and installed a pre-release.

Filter the list unless pre-releases are actually wanted. For a stable
install at the time of the report that resolves 7.2.1 instead of
7.2.2-dev.2.

Fixes #310.
GamePlayDataActivity and InGameUiActivity were pinned to light-only themes
and their layouts hardcoded @android:color/black text, so the achievements
and account screens stayed light whatever the system was set to.
InGameUiActivity also called setTheme() after super.onCreate(), which was
too late for the window and left the views on a different theme than the
background.

Move both onto the app's Theme.App and use textColorPrimary instead of a
literal black.

Refs #303.
values-v31 pins Theme.App to the md_theme colours and nothing applied
DynamicColors at runtime, so the app kept its blue accent whatever the
wallpaper was.

Apply the dynamic colour overlay on API 31+, where it wins over those
pinned items. Below 31 the md_theme palette still applies, so nothing
changes there.

Fixes #314.
Finishes the dark-mode pass started for the Play Games screens. The
achievement, leaderboard and snapshot rows, assisted sign-in, account
action, account settings and the place picker still used hardcoded light
colours or light-only themes.

Swap the colours for theme attributes, move the light-only activities onto
Theme.App, and give the account action Compose content a MaterialTheme so
it stops falling back to the light scheme.
AccountActionActivity moved to Theme.App, which left Theme.LoginBlue and
its base style unused. Remove them and the two colours only they used;
login_blue_theme_primary stays because the account action buttons use it.
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.

5 participants