Skip to content

Conversation

@sds100
Copy link
Collaborator

@sds100 sds100 commented Nov 25, 2025

No description provided.

Copilot AI and others added 30 commits October 31, 2025 13:21
- Replace 3 separate ActionIds with single MODIFY_SETTING
- Add SettingType enum (SYSTEM, SECURE, GLOBAL)
- Update ActionData.ModifySetting to use enum instead of sealed class
- Add dropdown for setting type in UI
- Default to SYSTEM type (no PRO mode required)
- Update all mappers and handlers accordingly

Co-authored-by: sds100 <[email protected]>
- Move MODIFY_SETTING to APPS category
- Create AndroidSettingsAdapter interface implementing SettingsAdapter
- Use SettingsUtils for all setting modifications (no SystemBridge needed)
- Remove SystemBridge methods for settings (putSystemSetting, etc)
- Add permission checks: WRITE_SETTINGS for System, WRITE_SECURE_SETTINGS for Secure/Global
- Remove setting methods from DisplayAdapter

Co-authored-by: sds100 <[email protected]>
- Created ChooseSettingViewModel with setting type selection and search
- Created ChooseSettingScreen with dropdown for type and searchable list
- Added ChooseSetting nav destination
- Added string resources for choosesetting screen
- Screen shows all available settings with current values
- User can select from existing settings or enter custom key

Next: Wire up navigation in CreateActionDelegate

Co-authored-by: sds100 <[email protected]>
…perDropdownMenu

- Import SettingType instead of using fully qualified names
- Import Json and Serializable for cleaner code
- Replace custom dropdown with KeyMapperDropdownMenu in ChooseSettingScreen
- Remove unused imports
- Update NavDestination to use imported SettingType

Co-authored-by: sds100 <[email protected]>
- Consolidate modify methods into single modifySetting(settingType, key, value) method
- Import SettingType instead of using fully qualified name
- Replace custom dropdown with KeyMapperDropdownMenu
- Add onChooseSetting callback and Button to navigate to ChooseSettingScreen
- Update PerformActionsUseCase to use new unified method
- Add onChooseSettingClick method to CreateActionDelegate for navigation

Co-authored-by: sds100 <[email protected]>
…rrorSnapshot

- Refactored getKeys methods into single getAll(settingType) returning Map<String, String?>
- Consolidated getValue methods into single getValue(settingType, key) method
- Updated ChooseSettingViewModel to use new unified methods
- Imported SettingType in ActionErrorSnapshot instead of using fully qualified name
- Simplified interface with only 3 methods: getAll, getValue, modifySetting

Co-authored-by: sds100 <[email protected]>
- Added CREATE_NOTIFICATION to ActionId enum
- Added CreateNotification data class to ActionData with title, text, and optional timeout
- Added CHANNEL_CUSTOM_NOTIFICATIONS channel in NotificationController
- Added POST_NOTIFICATIONS permission requirement in ActionUtils
- Implemented notification creation in PerformActionsUseCase
- Added entity mapping in ActionDataEntityMapper
- Added string resources for the action
- Added notification extras constants in ActionEntity

Co-authored-by: sds100 <[email protected]>
- Created ConfigCreateNotificationViewModel for managing notification state
- Created CreateNotificationActionScreen with title, text, and timeout inputs
- Added navigation support via NavDestination.ConfigCreateNotification
- Integrated configuration screen into BaseMainNavHost
- Added string resources for configuration UI labels
- Marked CreateNotification action as editable
- Configured timeout slider with 5-300 second range

Co-authored-by: sds100 <[email protected]>
- Improved notification ID generation to avoid collisions using timestamp + hash
- Added validation feedback with error messages and disabled Done button
- Extracted magic numbers to constants (MIN/MAX/STEP timeout values)
- Added supportingText for empty field errors in UI

Co-authored-by: sds100 <[email protected]>
- Added validation for entity.data to ensure text is not blank
- Fixed notification ID generation to avoid integer overflow
- Use Long arithmetic and convert to absolute value to ensure positive IDs

Co-authored-by: sds100 <[email protected]>
- Use action.hashCode() for notification ID as requested
- Rename ConfigCreateNotification to ConfigNotificationAction

Co-authored-by: sds100 <[email protected]>
sds100 added 29 commits November 9, 2025 19:43
…ings-permission

Add action to modify Android system settings via key mappings
…ss debugging because some devices show a dialog that will be auto dismissed resulting in wireless ADB being immediately disabled.

E.g OnePlus 6T Oxygen OS 11
…Xiaomi devices due to a bug they introduced.
@sds100 sds100 merged commit 4eb4095 into master Nov 25, 2025
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants