Everything written this session that has not been through the device: rounds 43 to 48 (each patch adversarially verified, 43's transient-notice expectation fixed), a partial round 49, the pipeline scripts, the Android Auto design and the icon comparison mock. Also the two harness changes that were never A/B'd — adaptive waits, which may only shorten a declared wait and never lengthen it, and a ship that runs the mock walk and the deploy at the same time. The A/B and its 255-step baseline are in handoff/tools; main stays at what the phone has actually walked.
35 lines
2.3 KiB
Plaintext
35 lines
2.3 KiB
Plaintext
|
|
/* ── Android Auto can see the app ─────────────────────────
|
|
Round forty-nine made `MediaService` a `MediaLibraryService`
|
|
and put three actions on one filter. Nothing on this phone
|
|
can prove the car screen — that needs a head unit or the
|
|
Desktop Head Unit — but the two doors Auto knocks on are
|
|
exactly what `pm dump` prints, and their absence is how this
|
|
fails in practice: a plugin module that never reached the APK
|
|
takes the service, the filter and the Auto meta-data with it
|
|
in one go, silently.
|
|
|
|
`auto-browse` is the legacy action Android Auto actually
|
|
binds (`android.media.browse.MediaBrowserService`), which
|
|
media3 still serves through `MediaSessionService.onBind`.
|
|
`auto-library` is media3's own, which is also what
|
|
`MediaSessionLegacyStub` resolves the media-button
|
|
PendingIntent against — it queries the LibraryService action
|
|
FIRST — so it is the regression guard for `media-keys` above
|
|
as much as for Auto. See autoManifest(). */
|
|
const auto = autoManifest();
|
|
const browseOk = auto.browse === "MediaService";
|
|
if (!browseOk) problems.push("EXPECT auto-browse " + JSON.stringify(auto));
|
|
console.log((browseOk ? " ok " : " FAIL ") + "auto-browse".padEnd(16) + " " + JSON.stringify({ browse: auto.browse, table: auto.table }));
|
|
|
|
const libraryOk = auto.library === "MediaService";
|
|
if (!libraryOk) problems.push("EXPECT auto-library " + JSON.stringify(auto));
|
|
console.log((libraryOk ? " ok " : " FAIL ") + "auto-library".padEnd(16) + " " + JSON.stringify({ library: auto.library, table: auto.table }));
|
|
|
|
/* and the Auto declaration itself, which `pm dump` does not
|
|
print at all — this is the last `{"ev":"desc"}` line
|
|
tools/auto-prober/ left in logcat, or a note that it has not
|
|
run. Advisory, always: the prober is a separate app and is
|
|
not installed on a plain walk. */
|
|
console.log(" -- " + "auto-desc".padEnd(16) + " " + auto.desc + " (advisory: prints, never fails)");
|