miracle2k / android-autostarts

Tool to manage autostarts (broadcast receivers) on an Android device.
http://elsdoerfer.name/=android-autostarts
GNU General Public License v3.0
207 stars 88 forks source link

Removing one event trigger for an app removes all triggers #17

Open Gitoffthelawn opened 8 years ago

Gitoffthelawn commented 8 years ago

Removing one event trigger for an app removes all the triggers for that app.

For example, disabling After startup for an app will also disable Connectivity changed for that same app.

Is this by design, or is it a bug?

Otherwise, beautiful and clean open-source app... thanks!

miracle2k commented 8 years ago

It happens when an app uses a single "component" to listen to different events. Since Autostarts can only disable the component completely, it has to disable all the events.

The UI could make this more clear.

Michael

On 20.09.15 10:16, Gitoffthelawn wrote:

Removing one event trigger for an app removes all the triggers for that app.

For example, disabling /After startup/ for an app will also disable /Connectivity changed/ for that same app.

Is this by design, or is it a bug?

Otherwise, beautiful and clean open-source app... thanks!

— Reply to this email directly or view it on GitHub https://github.com/miracle2k/android-autostarts/issues/17.

Gitoffthelawn commented 8 years ago

Thanks Michael. Do you know if any other app can disable the individual event triggers?

Also, if the target app enables/disables the event triggers itself, can it modify the individual ones independently? IOW, let's say you have the scanerio where autostarts shows 2 triggers as enabled, and then the user disables one of them, but both get disabled due to using the same component. When running autostarts again later, is it possible that one event trigger would show as enabled and the other disabled (due to the target app doing something), or will the target app have the same limitation as autostarts (have to disable both event triggers due to a common component)?

miracle2k commented 8 years ago

On 21.09.15 00:13, Gitoffthelawn wrote:

Thanks Michael. Do you know if any other app can disable the individual event triggers?

The only way, and there is an app like that though I forgot the name, is to patch and repack the .apk file itself. You can then do a lot of things, disabling permissions etc.

target app doing something), or will the target app have the same limitation as autostarts (have to disable both event triggers due to a common component)?

It has the same limitations.

However, it could, of course, ignore one of the triggers in code. The app would start due to the trigger, but is not doing anything.

Michael

Gitoffthelawn commented 8 years ago

Thanks for the helpful information, Michael. Much appreciated.

Here is a suggestion/recommendation: when the user tried to disable a trigger using autostarts that will also disable other triggers (due to a common component), present a dialog box that states: "Disabling the xyz trigger will also disable the abc and def triggers because they use the same component. Disable all these triggers?"

The exact verbiage may need to be adjusted to your preference, but I think the overall idea is sound.