Skip to content

Dashboard feature toggles are not wired to backend services #33

@thejaustin

Description

@thejaustin

Problem

All feature toggles on the main dashboard (FeatureDashboardScreen.kt) only flip local UI state variables (e.g. systemTunerEnabled, powerManagerEnabled). The onToggle callbacks do not call FeatureFlagsService, SystemTunerService, or any other backend service.

This means every toggle in the dashboard is currently a no-op — tapping them changes the switch appearance but has no actual effect on the device.

Evidence

  • Multiple features share the same state variable (e.g. systemTunerEnabled is used for Circle to Search, Vertical App Drawer, Enhanced Processing — they all toggle together)
  • FeatureFlagsService.toggleFlag() and SystemTunerService exist and are properly implemented using Shizuku shell commands, but nothing calls them from the UI

What needs to happen

Each FeatureCard onToggle should:

  1. Call the appropriate service (e.g. FeatureFlagsService for flag-based features)
  2. Persist the state via PrefsManager
  3. Read initial state from PrefsManager on load (not hardcode false)
  4. Give each feature its own state variable mapped to the correct flag key

Example fix pattern

var circleToSearchEnabled by remember { mutableStateOf(prefs.circleToSearchEnabled) }

FeatureCard(
    title = "Circle to Search",
    isEnabled = circleToSearchEnabled,
    onToggle = {
        circleToSearchEnabled = it
        prefs.circleToSearchEnabled = it
        FeatureFlagsService.toggleFlag("circle_to_search_enabled", it)
    }
)

Affected features

All FeatureCard entries in FeatureDashboardScreen.kt

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions