feat(wallpaper): extend commands with gallery, delete image, and crop

The plugin now exposes gallery retrieval, image deletion and image crop
across Android, desktop and mobile. The Rust core and Android
bridge are wired to handle these commands, updating state as needed.

- Add gallery, delete_image, and set_image_crop commands
- across Android, desktop and mobile.
- Update permissions, defaults, and schema to enable new commands.
This commit is contained in:
2026-08-20 22:06:00 +02:00
parent 734c757c67
commit 2cfc7c5dcb
22 changed files with 649 additions and 89 deletions
File diff suppressed because one or more lines are too long
+26 -2
View File
@@ -2193,10 +2193,22 @@
"markdownDescription": "Denies the unminimize command without any pre-configured scope."
},
{
"description": "Allow the Wechselbild app to manage its wallpaper collection\n#### This default permission set includes:\n\n- `allow-get-state`\n- `allow-select-images`\n- `allow-set-setting`\n- `allow-next-wallpaper`",
"description": "Allow the LockScreenWallpaper app to manage its wallpaper collection\n#### This default permission set includes:\n\n- `allow-get-state`\n- `allow-get-gallery`\n- `allow-select-images`\n- `allow-delete-image`\n- `allow-set-setting`\n- `allow-next-wallpaper`",
"type": "string",
"const": "wallpaper:default",
"markdownDescription": "Allow the Wechselbild app to manage its wallpaper collection\n#### This default permission set includes:\n\n- `allow-get-state`\n- `allow-select-images`\n- `allow-set-setting`\n- `allow-next-wallpaper`"
"markdownDescription": "Allow the LockScreenWallpaper app to manage its wallpaper collection\n#### This default permission set includes:\n\n- `allow-get-state`\n- `allow-get-gallery`\n- `allow-select-images`\n- `allow-delete-image`\n- `allow-set-setting`\n- `allow-next-wallpaper`"
},
{
"description": "Enables the delete_image command without any pre-configured scope.",
"type": "string",
"const": "wallpaper:allow-delete-image",
"markdownDescription": "Enables the delete_image command without any pre-configured scope."
},
{
"description": "Enables the get_gallery command without any pre-configured scope.",
"type": "string",
"const": "wallpaper:allow-get-gallery",
"markdownDescription": "Enables the get_gallery command without any pre-configured scope."
},
{
"description": "Enables the get_state command without any pre-configured scope.",
@@ -2222,6 +2234,18 @@
"const": "wallpaper:allow-set-setting",
"markdownDescription": "Enables the set_setting command without any pre-configured scope."
},
{
"description": "Denies the delete_image command without any pre-configured scope.",
"type": "string",
"const": "wallpaper:deny-delete-image",
"markdownDescription": "Denies the delete_image command without any pre-configured scope."
},
{
"description": "Denies the get_gallery command without any pre-configured scope.",
"type": "string",
"const": "wallpaper:deny-get-gallery",
"markdownDescription": "Denies the get_gallery command without any pre-configured scope."
},
{
"description": "Denies the get_state command without any pre-configured scope.",
"type": "string",
+26 -2
View File
@@ -2193,10 +2193,22 @@
"markdownDescription": "Denies the unminimize command without any pre-configured scope."
},
{
"description": "Allow the LockScreenWallpaper app to manage its wallpaper collection\n#### This default permission set includes:\n\n- `allow-get-state`\n- `allow-select-images`\n- `allow-set-setting`\n- `allow-next-wallpaper`",
"description": "Allow the LockScreenWallpaper app to manage its wallpaper collection\n#### This default permission set includes:\n\n- `allow-get-state`\n- `allow-get-gallery`\n- `allow-select-images`\n- `allow-delete-image`\n- `allow-set-setting`\n- `allow-next-wallpaper`",
"type": "string",
"const": "wallpaper:default",
"markdownDescription": "Allow the LockScreenWallpaper app to manage its wallpaper collection\n#### This default permission set includes:\n\n- `allow-get-state`\n- `allow-select-images`\n- `allow-set-setting`\n- `allow-next-wallpaper`"
"markdownDescription": "Allow the LockScreenWallpaper app to manage its wallpaper collection\n#### This default permission set includes:\n\n- `allow-get-state`\n- `allow-get-gallery`\n- `allow-select-images`\n- `allow-delete-image`\n- `allow-set-setting`\n- `allow-next-wallpaper`"
},
{
"description": "Enables the delete_image command without any pre-configured scope.",
"type": "string",
"const": "wallpaper:allow-delete-image",
"markdownDescription": "Enables the delete_image command without any pre-configured scope."
},
{
"description": "Enables the get_gallery command without any pre-configured scope.",
"type": "string",
"const": "wallpaper:allow-get-gallery",
"markdownDescription": "Enables the get_gallery command without any pre-configured scope."
},
{
"description": "Enables the get_state command without any pre-configured scope.",
@@ -2222,6 +2234,18 @@
"const": "wallpaper:allow-set-setting",
"markdownDescription": "Enables the set_setting command without any pre-configured scope."
},
{
"description": "Denies the delete_image command without any pre-configured scope.",
"type": "string",
"const": "wallpaper:deny-delete-image",
"markdownDescription": "Denies the delete_image command without any pre-configured scope."
},
{
"description": "Denies the get_gallery command without any pre-configured scope.",
"type": "string",
"const": "wallpaper:deny-get-gallery",
"markdownDescription": "Denies the get_gallery command without any pre-configured scope."
},
{
"description": "Denies the get_state command without any pre-configured scope.",
"type": "string",
+26 -2
View File
@@ -2193,10 +2193,22 @@
"markdownDescription": "Denies the unminimize command without any pre-configured scope."
},
{
"description": "Allow the Wechselbild app to manage its wallpaper collection\n#### This default permission set includes:\n\n- `allow-get-state`\n- `allow-select-images`\n- `allow-set-setting`\n- `allow-next-wallpaper`",
"description": "Allow the LockScreenWallpaper app to manage its wallpaper collection\n#### This default permission set includes:\n\n- `allow-get-state`\n- `allow-get-gallery`\n- `allow-select-images`\n- `allow-delete-image`\n- `allow-set-setting`\n- `allow-next-wallpaper`",
"type": "string",
"const": "wallpaper:default",
"markdownDescription": "Allow the Wechselbild app to manage its wallpaper collection\n#### This default permission set includes:\n\n- `allow-get-state`\n- `allow-select-images`\n- `allow-set-setting`\n- `allow-next-wallpaper`"
"markdownDescription": "Allow the LockScreenWallpaper app to manage its wallpaper collection\n#### This default permission set includes:\n\n- `allow-get-state`\n- `allow-get-gallery`\n- `allow-select-images`\n- `allow-delete-image`\n- `allow-set-setting`\n- `allow-next-wallpaper`"
},
{
"description": "Enables the delete_image command without any pre-configured scope.",
"type": "string",
"const": "wallpaper:allow-delete-image",
"markdownDescription": "Enables the delete_image command without any pre-configured scope."
},
{
"description": "Enables the get_gallery command without any pre-configured scope.",
"type": "string",
"const": "wallpaper:allow-get-gallery",
"markdownDescription": "Enables the get_gallery command without any pre-configured scope."
},
{
"description": "Enables the get_state command without any pre-configured scope.",
@@ -2222,6 +2234,18 @@
"const": "wallpaper:allow-set-setting",
"markdownDescription": "Enables the set_setting command without any pre-configured scope."
},
{
"description": "Denies the delete_image command without any pre-configured scope.",
"type": "string",
"const": "wallpaper:deny-delete-image",
"markdownDescription": "Denies the delete_image command without any pre-configured scope."
},
{
"description": "Denies the get_gallery command without any pre-configured scope.",
"type": "string",
"const": "wallpaper:deny-get-gallery",
"markdownDescription": "Denies the get_gallery command without any pre-configured scope."
},
{
"description": "Denies the get_state command without any pre-configured scope.",
"type": "string",
+26 -2
View File
@@ -2193,10 +2193,22 @@
"markdownDescription": "Denies the unminimize command without any pre-configured scope."
},
{
"description": "Allow the Wechselbild app to manage its wallpaper collection\n#### This default permission set includes:\n\n- `allow-get-state`\n- `allow-select-images`\n- `allow-set-setting`\n- `allow-next-wallpaper`",
"description": "Allow the LockScreenWallpaper app to manage its wallpaper collection\n#### This default permission set includes:\n\n- `allow-get-state`\n- `allow-get-gallery`\n- `allow-select-images`\n- `allow-delete-image`\n- `allow-set-setting`\n- `allow-next-wallpaper`",
"type": "string",
"const": "wallpaper:default",
"markdownDescription": "Allow the Wechselbild app to manage its wallpaper collection\n#### This default permission set includes:\n\n- `allow-get-state`\n- `allow-select-images`\n- `allow-set-setting`\n- `allow-next-wallpaper`"
"markdownDescription": "Allow the LockScreenWallpaper app to manage its wallpaper collection\n#### This default permission set includes:\n\n- `allow-get-state`\n- `allow-get-gallery`\n- `allow-select-images`\n- `allow-delete-image`\n- `allow-set-setting`\n- `allow-next-wallpaper`"
},
{
"description": "Enables the delete_image command without any pre-configured scope.",
"type": "string",
"const": "wallpaper:allow-delete-image",
"markdownDescription": "Enables the delete_image command without any pre-configured scope."
},
{
"description": "Enables the get_gallery command without any pre-configured scope.",
"type": "string",
"const": "wallpaper:allow-get-gallery",
"markdownDescription": "Enables the get_gallery command without any pre-configured scope."
},
{
"description": "Enables the get_state command without any pre-configured scope.",
@@ -2222,6 +2234,18 @@
"const": "wallpaper:allow-set-setting",
"markdownDescription": "Enables the set_setting command without any pre-configured scope."
},
{
"description": "Denies the delete_image command without any pre-configured scope.",
"type": "string",
"const": "wallpaper:deny-delete-image",
"markdownDescription": "Denies the delete_image command without any pre-configured scope."
},
{
"description": "Denies the get_gallery command without any pre-configured scope.",
"type": "string",
"const": "wallpaper:deny-get-gallery",
"markdownDescription": "Denies the get_gallery command without any pre-configured scope."
},
{
"description": "Denies the get_state command without any pre-configured scope.",
"type": "string",