Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Topic: Profiles #72

Closed
MuntashirAkon opened this issue Aug 19, 2020 · 1 comment
Closed

Topic: Profiles #72

MuntashirAkon opened this issue Aug 19, 2020 · 1 comment
Labels
Milestone

Comments

@MuntashirAkon
Copy link
Owner

MuntashirAkon commented Aug 19, 2020

Profiles are useful for running various tasks (see #61). In this issue, I'll discuss how profiles will be implemented.

Profiles are simple json files consisting of various mandatory and optional keys:

  • type: (Integer) Profile type, currently 0 (reserved for future)
  • version: (Integer) Profile version, currently 1 (reserved for future)
  • allow_routine: (Boolean) [Optional] Whether to allow routine operations for this profile (default: true)
  • state: (String) [Optional] on or off. Denotes the current mode of operations (e.g., on with disabled in misc means the packages will be disabled). If not set, the mode of operation will be determined during runtime or for routine operations, when the routine is being configured.
  • name: (String) Name of the profile (unique, same as file name for internal use)
  • packages: (String[]) A list of packages
  • components: (String[]) [Optional] A list of components, if a package doesn't have one or more components, no errors will be reported
  • app_ops: (Integers[]) [Optional] App op values.
  • permissions: (String[]) [Optional] A list of permissions, if a package doesn't have one or more permissions, no errors will be reported.
  • backup_data: (Object) [Optional] Backup app data with flags (See App Data Backup/Restore #30)
    • flags: (Integer) [Optional] Backup flags (default will be used if not given)
    • name: (String) [Optional] Backup name (if backup multiple is set)
  • export_rules: (Integer) [Optional] Export blocking rules from the packages with flags (See Import/Export blocking rules with compatibility #24). The rules are saved in a single file called rules_<profile_name>.tsv in the app backup directory
  • misc: (String[]) [Optional] Contains other rules that doesn't need additional information. Presence of any of these values means they are activated. Flags could be used instead but it will reduce readability.
    • disable: [Optional] Disable the packages itself
    • force_stop: [Optional] Force-stop (freeze) the packages
    • clear_cache: [Optional] Clear cache from the packages
    • clear_data: [Optional] Clear data from the packages
    • block_trackers: [Optional] Block trackers form the packages, if a package does not have any tracker, it will be ignored without errors
    • backup_apk: [Optional] Backup apk files (or apks for bundled apps)
@MuntashirAkon
Copy link
Owner Author

MuntashirAkon commented Oct 2, 2020

Milestones

  • v2.5.16: Backend and UI development (still incomplete)
  • v2.5.17: Create or import new profile and select apps Postponed as this is going to be a stable release.
  • v2.5.18: Create or import new profile (2cdfacc), export profile (5a0539b), delete profile (81f3d7c), duplicate profile (31fc894) and select apps (b5f3a4a), remove apps (631c45d)
  • v2.5.19: Add/edit configurations (c4aa462 and 0e850f0), Apply profile (c2d18ba)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant