voicenotify icon indicating copy to clipboard operation
voicenotify copied to clipboard

Per-App Settings - Official issue

Open pilot51 opened this issue 1 year ago • 0 comments

Per-App Settings is a recurring request and high on my to-do list, though it is a major task.

The purpose of this issue is to collect requests related to per-app settings so they don't get forgotten and so I have a central place for related notes.

The plan

Database

  • Create a database table and move most of the shared preferences to it.
    • Migration required to preserve existing settings.
    • The shared preferences that won't be moved are defEnable (whether new apps are enabled by default), isSuspended, and shake_threshold.
  • A column would reference the apps table and the global settings record would have a NULL reference.
  • App settings should not auto-delete when the app is removed from the apps table.
  • All of the setting columns would be nullable, where NULL means to use the global setting.
  • When a notification is received, each setting would need to be fetched based on the app and fall back to the global setting.

UI

  • Each app in the App List would have a button or other action that opens the main settings screen with only the options that could be applied to specific apps.
  • The name of the app being configured should be shown in the app bar.
  • Include a reset/unset option for each setting.
  • Nice-to-haves:
    • Indicate on each setting row when it is set for the app or when a global setting has any app overrides.
    • Option to clear all settings for an app from the App List (button or long press) or while viewing app settings (button in app bar). Include confirmation dialog.
    • If an uninstalled app has saved settings, show the app in the list with faded text and allow configuring as usual. If the settings are cleared, then it may be removed from the list.
    • In global settings, an option on each setting (button or long press) that lists all apps overriding it, with options to go to the app setting (click app) or clear an override (X button on each app row, with confirmation dialog).

Issue list

  • #10
  • #27
  • #87
  • #113

pilot51 avatar Dec 31 '23 05:12 pilot51