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

Launch Control: Controlling how apps are run #1478

Open
3 tasks done
MuntashirAkon opened this issue Nov 28, 2024 · 4 comments
Open
3 tasks done

Launch Control: Controlling how apps are run #1478

MuntashirAkon opened this issue Nov 28, 2024 · 4 comments
Labels
Feature New feature or request Priority: 3

Comments

@MuntashirAkon
Copy link
Owner

Please check before submitting an issue

  • I am using the latest version of App Manager
  • I have searched the issues and haven't found anything relevant
  • I have read the docs

Describe a description of the new feature

Some applications evades user privacy, but a user usually has no choice but to use it. In such cases, the best a user can do is run the application with limited/temporary permissions or settings that will be reverted after it is closed again, thus, preventing some background tracking. While this may be useful for people with certain threat models, this, in general, will not replace the necessity of an isolated profile.

Describe the solution you'd like

A separate page for managing rules for each app launch. A user should be able to configure what to do when the app is being launch and upon closing it. The list of operations they can do could be similar to the profiles, but the following features should be given more importance:

  1. Freeze/unfreeze
  2. Force-stop
  3. Settings (e.g., enable/disable developer settings, USB debugging, etc.)
  4. Permissions/app ops/net policy/sensors/battery opt
  5. Clear data.

A user should have the ability to create a launcher shortcut for these configurations so that they can launch the app with the controls enabled. In some versions of Android, it may be possible to actually apply the settings automatically by monitoring running processes. While usage access may also be used in old platform, the API is not reliable, therefore, may have an impact on the battery usage.

The user should also be able to configure these options directly from the App Info tab of an app.

Describe alternatives you've considered

For most tasks, profiles can be used. However, this unnecessarily increase the workflow. Because the user, at first, have to apply a profile and then launch the app (and do the same thing again after closing the app). For quick freeze/unfreeze, the freeze/unfreeze shortcut can be used, but is not very reliable. Finally, App Manager currently provides no way to modify system settings during an app launch (or closing) even with profiles.

Additional context

N/A

@MuntashirAkon MuntashirAkon added Feature New feature or request Priority: 3 labels Nov 28, 2024
@shuvashish76 shuvashish76 mentioned this issue Feb 28, 2025
3 tasks
@shuvashish76
Copy link

Not exactly related but similar category foss app : Geto

@MuntashirAkon
Copy link
Owner Author

On second thoughts, it's actually possible to extend the profiles for launch control. This allows the reuse of profiles features with added benefits:

  1. Profiles are exportable
  2. Profile-specific log viewer is available
  3. Profiles can be reused for routine operations through Automation software.

Technically, launch control will make use of shortcuts/events to modify certain behaviors, similar to a profile. Therefore, launch control matches the framework of routine + profile.

@shuvashish76
Copy link

Yes Activity log (#143), Permission monitor (#1023), Launch control, 1-click op, App Usage, Crash monitor (#163), Profiles...all these concepts overlap with each other.

On second thoughts, it's actually possible to extend the profiles for launch control. This allows the reuse of profiles features with added benefits:

Exactly that's what I thought. Launch control, Profile are basically automation we use to do the repetition of the same actions/works.

IMO these 3 new features (except crash monitor) should be implemented in this order:

  • 1st monitor the permissions which would be mostly internal feature
  • then organize all those data and show nice visuals/graphs which would be activity log (we'll have to discuss about UI as it progresses in Add an activity log #143). Activity log = App usage + Permission monitor + list of crashes from Crash monitor + Graphs/diagrams all interlinked (e.g. match one variable with any other variable according to user preference something like this app | usecase: how often an app requests location permission vs my mobile data usage vs my screen time, how quickly my battery gets down according to my mobile data or screen time usage etc)
  • lastly launch control which largely depends on Permission monitor feature but also overlaps with our Profile feature.

So if you're a new user you won't see any major changes just two UI feature 1. Activity log (integrated features) 2. Already existing Profiles (with more advanced options)


Now coming to this specific issue I think launch control integration with Profile would be the perfect match.
Like any other feature users can apply app specific launch control that way we can control all app specifics from the profile. Do you think it's necessary to have separate page UI for it?
For our understanding Profile is multi-purpose automation for group of apps while Launch Control is automation for single specific app based only on opening/closing of the app.

Usecase :1. Activate XYZ profile during travel with temporary location permission (as launch control) for all apps, which means now whatever app requests location permission would be revoked as soon as I close those apps.
2. Activate ABC profile profile and only app specific launch control would be applied (if already present)

@shuvashish76
Copy link

For our understanding Profile is multi-purpose automation for group of apps while Launch Control is automation for single specific app based only on opening/closing of the app.

Then we've another feature called Routine Operatrions (#61), which is already planned to be merged with Profiles.
Don't you think Launch Control feature is just yet another moment/event/module for Routine Operations which intended to be work like IFTTT(if this then that) model?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature New feature or request Priority: 3
Projects
None yet
Development

No branches or pull requests

2 participants