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.
24 lines
1.0 KiB
Plaintext
24 lines
1.0 KiB
Plaintext
fn yes() -> bool {
|
|
true
|
|
}
|
|
|
|
/// One entry of the queue window. Deliberately flat and small: this crosses
|
|
/// two hops of IPC on every update — the WebView to Rust, Rust to Kotlin —
|
|
/// so it carries what a media3 `MediaItem` is built from and nothing else.
|
|
/// `art_key` is the same kind of key `NowPlaying::art_key` is, the cover's
|
|
/// path, so whatever decodes a bitmap for the card can key the window's
|
|
/// covers off the same thing; no bytes ride along here.
|
|
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
|
|
#[serde(rename_all = "camelCase")]
|
|
pub struct QueueItem {
|
|
/// The track's own id as a string — a library track's is a number, a
|
|
/// catalog track's is `cat:<n>`, a playlist row's is `pl<n>`. NOT a
|
|
/// unique key: one queue may hold the same track twice, and a window
|
|
/// entry is identified by where it sits, not by this.
|
|
pub id: Option<String>,
|
|
pub title: Option<String>,
|
|
pub artist: Option<String>,
|
|
pub album: Option<String>,
|
|
pub duration: Option<f64>,
|
|
pub art_key: Option<String>,
|
|
} |