Device Controls Plugin for Smartspacer (SmartspacerPlugins)
1.0.1 · GitHub
More about this app
Plugins for Smartspacer
Smartspacer Plugins

This repository contains Smartspacer Plugins I have developed. They are all available on the Plugin Repository in the app, or to manually download from the Releases if you prefer.
Please note: This repository is meant for my plugins only, please make your own repo if you wish to develop your own.
Plugin requests can be made in the issues, but please make sure you have searched for existing requests first (leave a 👍 if you also request it). Duplicate requests will be closed.
How Shizuku is used
Can show and operate Device Controls in Smartspacer via privileged binding and activity starts through Shizuku.
This is an AI-assisted analysis of Shizuku-related usages in the app's public source code. It is best effort, so it may not catch every single usage.
How this app uses Shizuku
Shizuku runs a privileged helper so the plugin can use Device Controls features that need a system permission.
- Show device controls: controls from other apps are listed and kept updated for Smartspacer complications, targets and requirements through a privileged bind to their controls provider.
- Operate controls: toggles, sliders, temperature modes and other actions picked in Smartspacer are sent to the selected provider through the privileged connection.
- Open panels and apps: a provider control panel, its companion app screen and popup actions are launched with a privileged activity start so they open from widgets and background.
- Refresh stuck providers: a selected provider app is restarted with a privileged force stop when a reconnect is needed.
- Show power menu: the system power dialog is opened from the control popup with a privileged key event.
Android APIs or commands used
IActivityManager.bindServiceInstanceIActivityManager.bindIsolatedServiceIActivityManager.unbindServiceIActivityManager.forceStopPackageIActivityTaskManager.startActivityIControlsProvider.loadIControlsProvider.subscribeIControlsProvider.actionIControlsSubscription.requestIControlsSubscription.cancelinput keyevent
Changelog
What's new for version 1.0.1
Initial release
Permissions
6 permissions requested