voicenotify
voicenotify copied to clipboard
Per-App Settings - Official issue
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
, andshake_threshold
.
- A column would reference the
apps
table and the global settings record would have aNULL
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