feat: add ui_cls parameter to AndroidStateProvider

Allow custom UIState subclasses to be injected via ui_cls param,
enabling external stealth implementations without subclassing
the provider. Bump version to 0.5.0.dev4.
This commit is contained in:
johnmalek312
2026-02-17 17:55:56 +11:00
parent 6047db18bb
commit 0cd2e3a692
3 changed files with 4 additions and 3 deletions
+2 -1
View File
@@ -49,12 +49,13 @@ class AndroidStateProvider(StateProvider):
tree_formatter: "TreeFormatter",
use_normalized: bool = False,
stealth: bool = False,
ui_cls: "type[UIState] | None" = None,
) -> None:
super().__init__(driver)
self.tree_filter = tree_filter
self.tree_formatter = tree_formatter
self.use_normalized = use_normalized
self._ui_cls = StealthUIState if stealth else UIState
self._ui_cls = ui_cls or (StealthUIState if stealth else UIState)
async def get_state(self) -> UIState:
max_retries = 3
+1 -1
View File
@@ -1,6 +1,6 @@
[project]
name = "droidrun"
version = "0.5.0.dev3"
version = "0.5.0.dev4"
description = "A framework for controlling Android devices through LLM agents"
authors = [{ name = "Niels Schmidt", email = "niels.schmidt@droidrun.ai" }]
dependencies = [
Generated
+1 -1
View File
@@ -760,7 +760,7 @@ wheels = [
[[package]]
name = "droidrun"
version = "0.5.0.dev3"
version = "0.5.0.dev4"
source = { editable = "." }
dependencies = [
{ name = "aiofiles" },