Magisk-Modules-Repo / HideNavBar

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

Module uninstallation doesn't restore original behavior #77

Closed vt220 closed 2 years ago

vt220 commented 2 years ago

I did the following:

  1. Installed the module on Lenovo Tab P11 (android 11)
  2. During installation, chose fullscreen + disabled all back gestures

After a reboot, a pill disappeared & back gestures stopped working (as expected), but 'Switch between apps' and 'Find all open apps' gestures stopped working, while 'Go to Home screen' gesture continued working (names of gestures are taken from here: https://support.google.com/android/answer/9079644).

After module's uninstallation + reboot, the pill & back gestures were restored, but 'Switch between apps' and 'Find all open apps' gestures weren't (they worked as expected before installation). Just to make sure, I checked directory /data/adb/modules, and it was empty. Moreover, even after I completely uninstalled Magisk (+reboot), those two gestures were not restored.

From the scenario above, the following seem to be the issues (from most severe to less severe):

  1. Module's uninstallation doesn't restore the original functionality (gestures 'Switch between apps' and 'Find all open apps') P.S.: if there is a workaround for this, please write it in this task - having no 'Find all open apps' is very inconvenient, and having to do a factory reset (or a complete reflash) is only the very last resort.

  2. If module disables some gestures on the bottom edge when it is installed & the pill is hidden ('Switch between apps' and 'Find all open apps'), it should disable the other ones as well ('Go to Home screen'). The rationale for it - fullscreen mode with disabled back gestures is most useful when one wants to replace built-in gestures with a dedicated gesture app, and disabling only some gestures while leaving the others prevents this replacement (since built-in gestures will interfere with gestures managed by app)

Note: I rarely used 'Switch between apps', and therefore there is some possibility that the claim that the gesture disappeared after installing the module may be false since I don't use the gesture correctly (I tried this gesture recently only after installing the module). 'Find all open apps' gesture is most definitely missing, though.

DanGLES3 commented 2 years ago

I did the following:

  1. Installed the module on Lenovo Tab P11 (android 11)
  2. During installation, chose fullscreen + disabled all back gestures

After a reboot, a pill disappeared & back gestures stopped working (as expected), but 'Switch between apps' and 'Find all open apps' gestures stopped working, while 'Go to Home screen' gesture continued working (names of gestures are taken from here: https://support.google.com/android/answer/9079644).

After module's uninstallation + reboot, the pill & back gestures were restored, but 'Switch between apps' and 'Find all open apps' gestures weren't (they worked as expected before installation). Just to make sure, I checked directory /data/adb/modules, and it was empty. Moreover, even after I completely uninstalled Magisk (+reboot), those two gestures were not restored.

From the scenario above, the following seem to be the issues (from most severe to less severe):

  1. Module's uninstallation doesn't restore the original functionality (gestures 'Switch between apps' and 'Find all open apps') P.S.: if there is a workaround for this, please write it in this task - having no 'Find all open apps' is very inconvenient, and having to do a factory reset (or a complete reflash) is only the very last resort.
  2. If module disables some gestures on the bottom edge when it is installed & the pill is hidden ('Switch between apps' and 'Find all open apps'), it should disable the other ones as well ('Go to Home screen'). The rationale for it - fullscreen mode with disabled back gestures is most useful when one wants to replace built-in gestures with a dedicated gesture app, and disabling only some gestures while leaving the others prevents this replacement (since built-in gestures will interfere with gestures managed by app)

Note: I rarely used 'Switch between apps', and therefore there is some possibility that the claim that the gesture disappeared after installing the module may be false since I don't use the gesture correctly (I tried this gesture recently only after installing the module). 'Find all open apps' gesture is most definitely missing, though.

1-That sounds like a bug on your ROM as my module doesn't leave any remnants when uninstalled, you can try toggling gestures off and on again, if that doesn't help try clearing the /data/resource-cache folder and reboot

2-My module's intentions are not to fully disable gestures as that's beyond what's designed to do and it'd further complicate the installation process

DanGLES3 commented 2 years ago

I did the following:

  1. Installed the module on Lenovo Tab P11 (android 11)
  2. During installation, chose fullscreen + disabled all back gestures

After a reboot, a pill disappeared & back gestures stopped working (as expected), but 'Switch between apps' and 'Find all open apps' gestures stopped working, while 'Go to Home screen' gesture continued working (names of gestures are taken from here: https://support.google.com/android/answer/9079644).

After module's uninstallation + reboot, the pill & back gestures were restored, but 'Switch between apps' and 'Find all open apps' gestures weren't (they worked as expected before installation). Just to make sure, I checked directory /data/adb/modules, and it was empty. Moreover, even after I completely uninstalled Magisk (+reboot), those two gestures were not restored.

From the scenario above, the following seem to be the issues (from most severe to less severe):

  1. Module's uninstallation doesn't restore the original functionality (gestures 'Switch between apps' and 'Find all open apps') P.S.: if there is a workaround for this, please write it in this task - having no 'Find all open apps' is very inconvenient, and having to do a factory reset (or a complete reflash) is only the very last resort.
  2. If module disables some gestures on the bottom edge when it is installed & the pill is hidden ('Switch between apps' and 'Find all open apps'), it should disable the other ones as well ('Go to Home screen'). The rationale for it - fullscreen mode with disabled back gestures is most useful when one wants to replace built-in gestures with a dedicated gesture app, and disabling only some gestures while leaving the others prevents this replacement (since built-in gestures will interfere with gestures managed by app)

Note: I rarely used 'Switch between apps', and therefore there is some possibility that the claim that the gesture disappeared after installing the module may be false since I don't use the gesture correctly (I tried this gesture recently only after installing the module). 'Find all open apps' gesture is most definitely missing, though.

Also my module is completely incapable of disabling the individual gestures at the bottom (switching app, going home, seeing recent apps), if one is working they're all working, it's simply not possible to break/disable just one of them (i can only disable the back gesture separately because that's allowed)

vt220 commented 2 years ago

1-That sounds like a bug on your ROM as my module doesn't leave any remnants when uninstalled, you can try toggling gestures off and on again, if that doesn't help try clearing the /data/resource-cache folder and reboot

Unfortunately, both those method (in various combinations, with reboot after each switch & after each cleanup) didn't help, even tried wiping dalvik cache - still the gestures are just gone. And they definitely were present just before I installed the module, and disappeared immediately after, therefore things are definitely somehow related. I guess I must reflash :(.

DanGLES3 commented 2 years ago

1-That sounds like a bug on your ROM as my module doesn't leave any remnants when uninstalled, you can try toggling gestures off and on again, if that doesn't help try clearing the /data/resource-cache folder and reboot

Unfortunately, both those method (in various combinations, with reboot after each switch & after each cleanup) didn't help, even tried wiping dalvik cache - still the gestures are just gone. And they definitely were present just before I installed the module, and disappeared immediately after, therefore things are definitely somehow related. I guess I must reflash :(.

That's an odd bug, after you reflash could you tell me where your ROM's gesture overlays are? They should be in either product, vendor, system_ext or system in an overlay folder

And if possible tell me what ROM you're using

vt220 commented 2 years ago

Most overlays are in /product/overlay/ (in particular, all the NavigationBarModeGestural* folders are there), with a couple in /vendor. The other folders don't have overlay. I still didn't do a reflash, but in my ROM all super partitions are in read-only mode, so I suppose it is not important since it wasn't possible to remove anything from there.

I am using a standard global firmware for this tablet, TB-J606F_S320158_220217_ROW to be precise.

DanGLES3 commented 2 years ago

Most overlays are in /product/overlay/ (in particular, all the NavigationBarModeGestural* folders are there), with a couple in /vendor. The other folders don't have overlay. I still didn't do a reflash, but in my ROM all super partitions are in read-only mode, so I suppose it is not important since it wasn't possible to remove anything from there.

I am using a standard global firmware for this tablet, TB-J606F_S320158_220217_ROW to be precise.

That's even more confusing then as everything looks pretty standard, most i can conclude is some stock ROM bug

vt220 commented 2 years ago

Just did a factory reset - and now both missing gestures are back. Go figure...

DanGLES3 commented 2 years ago

Just did a factory reset - and now both missing gestures are back. Go figure...

Only thing I can think of is the /data/system/package-cache, if that's not it then yeah, freaking weird

vt220 commented 2 years ago

Ok, I found the cause - it is not related to this module at all, but to Nova Prime launcher - it just happened that I made it a default home app at the same time I installed the module but linked the disappearance of gestures to the module. I knew that third party launchers don't interact well with Android gestures, but I assumed that the problem happens only on the home screen and not when some app is opened - and this was incorrect assumption.

I am closing the issue since it is not related to the module.