diff --git a/apk/src/manifest.rs b/apk/src/manifest.rs index c1e4ffd..a13aa10 100644 --- a/apk/src/manifest.rs +++ b/apk/src/manifest.rs @@ -82,6 +82,9 @@ pub struct Application { #[serde(rename(serialize = "activity"))] #[serde(default)] pub activities: Vec, + #[serde(rename(serialize = "service"))] + #[serde(default)] + pub services: Vec, } /// Android [activity element](https://developer.android.com/guide/topics/manifest/activity-element). @@ -115,6 +118,43 @@ pub struct Activity { pub color_mode: Option, } +/// Android [service element](https://developer.android.com/guide/topics/manifest/service-element). +#[derive(Clone, Debug, Default, Deserialize, Serialize)] +#[serde(deny_unknown_fields)] +pub struct Service { + #[serde(rename(serialize = "android:description"))] + pub description: Option, + #[serde(rename(serialize = "android:directBootAware"))] + pub direct_boot_aware: Option, + #[serde(rename(serialize = "android:enabled"))] + pub enabled: Option, + #[serde(rename(serialize = "android:exported"))] + pub exported: Option, + #[serde(rename(serialize = "android:foregroundServiceType"))] + pub foreground_service_type: Option, + #[serde(rename(serialize = "android:icon"))] + pub icon: Option, + #[serde(rename(serialize = "android:isolatedProcess"))] + pub isolated_process: Option, + #[serde(rename(serialize = "android:label"))] + pub label: Option, + #[serde(rename(serialize = "android:name"))] + pub name: Option, + #[serde(rename(serialize = "android:permission"))] + pub permission: Option, + #[serde(rename(serialize = "android:process"))] + pub process: Option, + #[serde(rename(serialize = "android:stopWithTask"))] + pub stop_with_task: Option, + + #[serde(rename(serialize = "meta-data"))] + #[serde(default)] + pub meta_data: Vec, + #[serde(rename(serialize = "intent-filter"))] + #[serde(default)] + pub intent_filters: Vec, +} + /// Android [intent filter element](https://developer.android.com/guide/topics/manifest/intent-filter-element). #[derive(Clone, Debug, Default, Deserialize, Serialize)] #[serde(deny_unknown_fields)]