universal-android-debloater-next-generation icon indicating copy to clipboard operation
universal-android-debloater-next-generation copied to clipboard

feat(ui): allow different removal actions for packages

Open stormbeforesunsetbee opened this issue 11 months ago • 0 comments

Describe the feature you want

Feature Request:

This request proposes a new feature for UAD-ng that allows specifying different removal actions (disable or uninstall) for individual packages within the JSON configuration files.

Context:

  • A recent pull request (#341) highlighted an issue with com.hoffnung. Disabling this package is recommended, while uninstalling can lead to unintended consequences.
  • The discussion identified a need for more granular control over removal actions for specific packages.

Proposed Feature:

Introduce a new field named removalAction within the JSON configuration for each package. This field will dictate the default action taken when a user attempts to remove the package through the recommended list.

Benefits:

  • Improved user experience: Users can safely remove packages with specific actions (disable or uninstall) based on their needs.
  • Enhanced safety: Prevents accidental uninstalls that might cause system instability.
  • Increased flexibility: Allows for more nuanced control over package management.

Implementation:

  • Update the JSON schema to include the removalAction field. This field can be a string with values like "disable" or "uninstall".
  • Modify the application logic to interpret the removalAction field when processing user requests for package removal.
  • Potentially update the user interface to reflect the different removal options for specific packages (optional).

Example JSON Configuration:

"com.hoffnung": {
  "description": "TPMS\nRemote Config Test. Instead Uninstall better Disable this app\nbecause it uninstalling cause screen flicker",
  "removal": "Recommended",
  "removalAction": "Disable",
  "list": "Oem",
  "dependencies": [],
  "neededBy": [],
  "labels": []
},
"tech.palm.id": {
  "description": "Another package requiring disable instead of uninstall",
  "removal": "Recommended",
  "removalAction": "Disable",
  "list": "Oem",
  "dependencies": [],
  "neededBy": [],
  "labels": []
}

Additional Considerations:

  • Clear documentation on how to utilize the removalAction field.
  • User interface elements to visually differentiate between disable and uninstall options for specific packages (if applicable).

We believe this feature will significantly improve the user experience and safety when managing packages within UAD-ng.

Acknowledgements

  • [X] This issue is not a duplicate of an existing feature request.
  • [X] I have chosen an appropriate title.
  • [X] All requested information has been provided properly.

stormbeforesunsetbee avatar Mar 17 '24 07:03 stormbeforesunsetbee