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.
26 lines
978 B
Plaintext
26 lines
978 B
Plaintext
/// What a pick offers and what it may copy. `mime_types` is the document
|
|
/// sheet's own filter, comma-separated; empty offers every type.
|
|
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
|
|
#[serde(rename_all = "camelCase")]
|
|
pub struct PickFileArgs {
|
|
pub mime_types: Option<String>,
|
|
/// How big a document may be COPIED into the app's cache when it has no
|
|
/// path of its own on this phone. Zero refuses the copy.
|
|
pub max_copy_bytes: u32,
|
|
}
|
|
|
|
/// A picked document. `path` is the document's own when this phone has one
|
|
/// for it, else the cache copy's (`copied`); `name` is the display name the
|
|
/// provider gave it, which is what decides a playlist's format and title.
|
|
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
|
|
#[serde(rename_all = "camelCase")]
|
|
pub struct PickedFile {
|
|
pub path: Option<String>,
|
|
#[serde(default)]
|
|
pub name: String,
|
|
#[serde(default)]
|
|
pub size: Option<u64>,
|
|
#[serde(default)]
|
|
pub copied: bool,
|
|
}
|