[One (M7) Android Development] Sneakyghost:
Volume Button Sound OFF / Disable tweak

This is to those one or two people who suffered that issue with the volume button sounds not turning off when the respective tweak in VenomTweaks/Misc (bottom of page) was selected.

1.) The tweak works perfectly well for nearly everyone, it just did not for me and some others over multiple installs of versions 2.0.0.0 and 2.1.0.0.

2.) Jan and i have spent/wasted a considerable amount of time trying to identify the cause of this random thing and we just managed to find it now.

Essentially, the non working tweak was due to a corrupted framework2.jar in /system/framework. Why this persisted even through a RUU process is totally unclear, but there is a theory, that was valid with the 2012 phones:

The NAND controller chip is not clearing out the chip correctly with ADB, Fastboot commands (so not possible to wipe correctly in recovery, with a RUU or in Android). Basically, what we get in these newer phones, is a NAND that is formatted with an EXT file system, but that is only an overlay over a base file system which would normally not be able to host the functions EXT offers. On the HD2, we still had yaffs and the like and were able to directly access the low level NAND. There we could run proper MTTY commands to the chip and format it and check for bad blocks. All that is now handled by a controller unit and all we get is an overlay access. So we cannot check for bad blocks and we cannot directly format or erase. I think the problem lies within the entropy technology in the NAND controlling device, that will ensure that writes to the chip are evenly distributed in order to have a flat degradation, rather than some NAND areas degrade fast and some last forever. This mechanism is not catching all file residues and also might not catch all bad blocks, hence, fragmented file leftovers might persist and corrupt newly written files. Or something like that anyway. This is a very uneducated guess. I wish we had an Engineer here with more knowledge on the matter.

When i manually pushed the framework2.jar from a working (MD5 verified download) ROM.zip that i used to flash the ViperOne ROM before, the tweak finally worked. There was no indication however, that that would solve the issue as we all assumed the ONE having a good wiping practice. This issue was a biggy on the HTC OneS which was incredibly fussy with wipes. Now we have to assume, that the same is true for the ONE, just in lesser severity. Until now, i never thought i could work around this by manually reflashing a system file...

So, regarding support strategy on thread: i will from now on, and i suggest other supporters do as well, take this into account and whenever random bugs turn up that cannot be reproduced by others, suggest a dirty flash first, then suggest a clean flash, then suggest RUU'ing the phone, then manual reflash of the affected system file. Or suggest the manual flash first. Jan, Turge and Hansbert will point out which system files are affected by a tweak and might need manual pushing.

My personal opinion is, that the RUU still bears the most efficiency in cleaning out the chip and should always be the last resort method. If that doesn't help, a manual file push can be tried (helped me).

Thanks for your attention.