fix(android): remove Android Auto opt-in from manifest to unblock Play review (#5038)
Some checks are pending
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
CodeQL Advanced / Analyze (rust) (push) Waiting to run
Publish Docker image / build (linux/amd64, ubuntu-latest) (push) Waiting to run
Publish Docker image / build (linux/arm64, ubuntu-24.04-arm) (push) Waiting to run
Publish Docker image / merge (push) Blocked by required conditions
Scorecard supply-chain security / Scorecard analysis (push) Waiting to run
Deploy to vercel on merge / build_and_deploy (push) Waiting to run
PR checks / build_tauri_app (push) Waiting to run
PR checks / rust_lint (push) Waiting to run
PR checks / build_web_app (push) Waiting to run
PR checks / test_web_app (1) (push) Waiting to run
PR checks / test_web_app (2) (push) Waiting to run
PR checks / test_extensions (push) Waiting to run

Google Play rejected the latest release in Android Auto review because
the Auto TTS integration still has a bug. Remove the
com.google.android.gms.car.application meta-data, which is the sole
signal Play uses to detect Android Auto support, so the release can be
resubmitted through normal review.

The MediaBrowserService intent-filter and MediaButtonReceiver stay as
they power the phone lock-screen and background TTS media session and
do not trigger Auto detection. The automotive_app_desc.xml resource is
kept so re-enabling the feature after the bug fix is a one-line revert.

The Android Auto declarations test now asserts the car meta-data is
withheld until the bug is fixed, while still checking the descriptor
and MediaBrowserService remain in place.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Huang Xin 2026-07-10 00:50:20 +09:00 committed by GitHub
parent 9c4f9550b8
commit 21ebf10489
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 12 additions and 10 deletions

View file

@ -23,12 +23,6 @@
android:hardwareAccelerated="true"
android:usesCleartextTraffic="${usesCleartextTraffic}">
<!-- Android Auto: advertise the media capability so the Readest icon
shows up in the car launcher and projects the TTS media session. -->
<meta-data
android:name="com.google.android.gms.car.application"
android:resource="@xml/automotive_app_desc" />
<!-- Sentry auto-init (ContentProvider). Empty DSN => disabled. Release
is auto-detected from versionName; performance and PII stay at
their safe off/false defaults. -->

View file

@ -9,6 +9,14 @@ import { resolve } from 'path';
* automotive descriptor that declares the `media` capability. Android Auto
* then connects to the exported MediaBrowserService
* (com.readest.native_tts.MediaPlaybackService) to drive TTS playback.
*
* TEMPORARILY WITHDRAWN: Google Play rejected the release in Android Auto
* review because the Auto TTS flow still has a bug. The car meta-data is the
* sole signal Play uses to detect Auto support, so it is removed from the
* manifest until the bug is fixed. The automotive descriptor and the
* MediaBrowserService stay: the descriptor makes re-enabling a one-line
* revert, and the service powers the phone lock-screen and background TTS
* media session.
*/
const manifest = readFileSync(
@ -17,12 +25,12 @@ const manifest = readFileSync(
);
describe('Android Auto declarations (#3919)', () => {
it('declares the car application meta-data pointing at the automotive descriptor', () => {
expect(manifest).toContain('com.google.android.gms.car.application');
expect(manifest).toContain('@xml/automotive_app_desc');
it('withholds the car application meta-data until the Auto TTS bug is fixed', () => {
expect(manifest).not.toContain('com.google.android.gms.car.application');
expect(manifest).not.toContain('@xml/automotive_app_desc');
});
it('ships an automotive descriptor with the media capability', () => {
it('keeps the automotive descriptor with the media capability for re-enabling', () => {
const desc = readFileSync(
resolve(process.cwd(), 'src-tauri/gen/android/app/src/main/res/xml/automotive_app_desc.xml'),
'utf-8',