Magisk-Modules-Repo / HideNavBar

GNU General Public License v3.0
494 stars 55 forks source link

Magisk installer timeouts pointless #61

Closed DoganM95 closed 2 years ago

DoganM95 commented 2 years ago

The magisk module installer asks questions like "choose gesture mode" and if the user does not react within 3 seconds or so, it just goes on to the next step/fails the installation.

Instead, it should wait for user input indefinitely, until it proceeds to any next step. 3 seconds are sometimes not enough to read + make a useful decision.

The current installation process feels like a speedrun :)

DanGLES3 commented 2 years ago

The magisk module installer asks questions like "choose gesture mode" and if the user does not react within 3 seconds or so, it just goes on to the next step/fails the installation.

Instead, it should wait for user input indefinitely, until it proceeds to any next step. 3 seconds are sometimes not enough to read + make a useful decision.

The current installation process feels like a speedrun :)

The timeout is an intentional choice by the developer of the volume selector as the regular method of detecting key inputs may not be detected so it falls back to an older mode upon the timeout

Also just a minor correction, it's closer to 7-8 seconds (not 3), I've counted and recorded it 😅

But I can increase the time out a bit more if you want I suppose

DoganM95 commented 2 years ago

Would appreciate it, if you increase it to like a minute on each interaction, so the user has enough time, because i don't see any advantage in a cancellation of the selection on missing user input 😅

thanks!

DanGLES3 commented 2 years ago

Would appreciate it, if you increase it to like a minute on each interaction, so the user has enough time, because i don't see any advantage in a cancellation of the selection on missing user input 😅

thanks!

Point being from my knowledge it times out so the alternative volume handler kicks in for devices which do not support the current one

Wouldn't be very great if some users had to wait 1 minute before being able to select anything on the first interaction

Might consider 15-20 seconds as any more could severely annoy users of devices which need the old method

smemsh commented 2 years ago

I agree that the timeout makes me feel like I'm in a race, and doesn't give enough time for new users to consider options they've never seen before. I had to try three times and by the end actually had to memorize my presses ahead of time so I could press them quickly enough in succession to beat the timeouts.

One idea is to use a dummy prompt with some initial question, like "ready to proceed?" and then save the determined volume-press method so it can be applied to all later questions without them needing any timeout themselves.

DanGLES3 commented 2 years ago

I agree that the timeout makes me feel like I'm in a race, and doesn't give enough time for new users to consider options they've never seen before. I had to try three times and by the end actually had to memorize my presses ahead of time so I could press them quickly enough in succession to beat the timeouts.

One idea is to use a dummy prompt with some initial question, like "ready to proceed?" and then save the determined volume-press method so it can be applied to all later questions without them needing any timeout themselves.

That would likely require significantly modding the volume selector addon (which would make importing MMT-EX template updates harder), so while feasible (if i can figure out how to mod the volume selector to do that) it would need additional maintenance

I'll look into it when i have the time, not much motivation to maintain this after the announcement the main repo will be gone from the main app

smemsh commented 2 years ago

Actually, if timeout was not used, and -- for whatever reason -- neither getevent nor keycheck worked properly, it could hang. So, your original idea to just increase the timeout is probably best. I think 10 seconds would be good enough, personally.

DanGLES3 commented 2 years ago

Actually, if timeout was not used, and -- for whatever reason -- neither getevent nor keycheck worked properly, it could hang. So, your original idea to just increase the timeout is probably best. I think 10 seconds would be good enough, personally.

It was technically already set to 10 not sure why it's lower for some people, so I increased it to 15 just now

jacoghi commented 2 years ago

This timeout is really bad, in my phone I barely have enough time to read the sentence and it's already timing out, not even 3 seconds. Maybe adding to the Readme the order the questions will show up so users can come up with their own street fighter cheat code to get the configuration right.

DanGLES3 commented 2 years ago

This timeout is really bad, in my phone I barely have enough time to read the sentence and it's already timing out, not even 3 seconds. Maybe adding to the Readme the order the questions will show up so users can come up with their own street fighter cheat code to get the configuration right.

That wouldn't solve anything, and tbh would bloat the readme even further, i can only hope the volume selector gets fixed

jacoghi commented 2 years ago

It definitely doesn't solve anything, but the problem is that without a cheat code, I literally had to go over the installation 5 times. Twice to understand that there was a timeout. 3rd was to try to get it done in a rush, which I failed miserably, then 4th time I picked anything just se I could at least see the questions, otherwise I wouldn't even see the questions. 5th time was with the cheat code after writing down a combination during the 4th attempt. Now that it's installed, works beautifully (and really thanks for this, I remember always adding that line to the system.prop file to achieve the same result prior to the read only system images), but the installation process leaves a lot to be desired the way it's currently set up. Thanks for this, great module.

smemsh commented 2 years ago

I had the same experience. I have to keep a document with the list of responses and enter them quickly, every time I use it. I think it's not waiting 10 seconds (now 15), but I stopped chasing it.

definitely invaluable module though... really amazes me google still has persistent pill bar after all these years, burning a line in everyone's oled screen, with no way to disable it