bunny-mod / BunnyManager

A manager designed to install Bunny, a mod for Discord mobile apps, on non-rooted Android devices
Open Software License 3.0
324 stars 13 forks source link

Don't reset installation method away from Shizuku on app launch #13

Open floriegl opened 4 months ago

floriegl commented 4 months ago

I am using Shizuku with wireless debugging on my phone to install Bunny with Bunny Manager because I have MIUI and don't want to disable MIUI optimizations because of multiple reasons (resets all app permissions, faster battery drain, ...). But I would say this issue should not really focus on the MIUI topic, as other users may have other reasons to use Shizuku for Bunny Installer.

My issue with Bunny Manager is, that it resets the "Install method" to "Default (recommended)" when I start the app with Shizuku disabled: https://github.com/pyoncord/BunnyManager/blob/8cbe4ca6e37dbc1faef4d1f4a6b414ebffe2dc42/app/src/main/java/dev/beefers/vendetta/manager/ui/activity/MainActivity.kt#L44-L47 As Shizuku for users, which don't have their phone rooted, requires either wireless debugging enabled or a physical connection to a computer, I never have it started when starting Bunny Manager to e.g., make changes in the settings, check for updates or clear the cache. Because of this I always have to manually toggle the "Install method" to "Shizuku" for every update. I would say it makes more sense to have this check when the user actually initializes the (re)install/update.

castdrian commented 2 months ago

why would you disable Shizuku though, the whole point is that the service runs permanently until you restart the device

floriegl commented 2 months ago

As already mentioned I use wireless debugging for Shizuku as my phone is not rooted and not connected to a computer 24/7. And I don't stay connected to the same Wi-Fi network throughout the whole day. Also why would I have Shizuku running permanently anyway as I only use it maybe once a week just to update Bunny?

castdrian commented 2 months ago

I think you fundamentally misunderstand how Shizuku works, once the service is launched there is no need for an adb connection neither wired nor wireless, the service keeps running until the device shuts off or is terminated manually, which is the whole idea of it

floriegl commented 2 months ago

The issue was that had disabled normal "USB debugging" as I don't like to keep it on as a general security measure. Nevertheless, "Due to system limitations, the startup steps need to be performed again after each reboot." which means the setting in Bunny Manager still resets whenever I restart my phone and open Bunny Manager without starting Shizuku first (maybe to clear the cache or check for updates as the notifications only rarely work for me).

jamlotrasoiaf commented 2 months ago

if you enable shizuku the first thing after rebooting the setting doesn't reset, i have been using shizuku to install too and never once have i had to turn on the shizuku option again within bunny manager because the first thing i do after rebooting is turn on shizuku

also if you keep usb debugging on + disable phantom process killer shizuku will run 24/7 without getting killed till the next reboot and you won't have to worry about the setting getting reset, it's way easier to let shizuku run 24/7 than turn it on and off on the basis of need. it doesn't consume battery and is unsafe only in the wrong hands

floriegl commented 2 months ago

if you enable shizuku the first thing after rebooting

If you use Shizuku for a lot of things I understand that this makes sense. But as I only use Shizuku to update Bunny I don't normally do that. Even then I may not have access to a Wi-Fi network after restarting my phone to instantly enable it again.

But that's beside the point. As I already mentioned in the issue description not everyone has Shizuku enabled all the time for different reasons. And changing the behavior to only check if the service is running when the user is actually trying to update/install Bunny sounds like an easy to implement general UX improvement to me. I would compare the current behavior to when the browser would automatically unbookmark a bookmarked website on startup if it ever is not reachable. A service/server which normally should be running is not running for some reason which leads to an unattended configuration change.