[One (M7) Android Development] rollex:
OK, glad I'm not the only one with OTA problems.

TL;DR? Skip to bottom.

Btw MY BAD, this

is caused by TWRP 2.6.3.3 in clean installs (full wipe + flash), I accidentally got it installed after trying CMW. Forgot it has to be TWRP 2.6.3.0 with this ROM.

So, get ready, because I've been done some digging for days now and now I decided to make a test, after a proper nandroid backup of course. I hope this message contains some important data for those who are wondering what to install to retaing OTA goodness. Here it goes...

First test:

1. Full wipe

2. Flashed full MIUI 4.1.3 (couple of weeks older version) I had on my sdcard

3. Direct OTA update from MIUI Update

4. Update successful

Second test:

1. Full wipe

2. Flashed full MIUI 4.1.3 (couple of weeks older version) I had on my sdcard

3. Flashed finnish HTC keyboard HTC_IME_Finnish.zip

4. Direct OTA update from MIUI Update

5. Update successful

1. Full wipe

2. Flashed full MIUI 4.1.3 (couple of weeks older version) I had on my sdcard

3. Flashed finnish HTC keyboard HTC_IME_Finnish.zip

4. Flashed Gapps and installed couple of apps for testing

4. Direct OTA update from MIUI Update

5. Update successful

So now I knew I can flash HTC keyboard that's not going to affect official OTA.

Next I tested my installation prodecure that I have always done with this ROM (which turned out to be not that "clean" after all...):

1. Full wipe

2. Flashed full MIUI 4.1.3 (couple of weeks older version) I had on my sdcard

3. Flashed finnish HTC keyboard HTC_IME_Finnish.zip

4. Flashed gapps

5. Installed WSM Manager + rebooted

6. Installed App Settings, Mi-Tools and reboot options modules + rebooted

7. Edited build.prop ro.sf.lcd_density to 420 + rebooted

8. Edited app settings launcher density to 480 (and couple of others) + rebooted

9. Installed AdAway and hosts + rebooted

10. Direct OTA update from MIUI Update

11. Update fails

So, I thought I did have a "clean" version of MIUI install, but I use so much "custom" stuff that I guess these modifications are enough to break OTA completely. Now I knew it was WSM Manager, App Settings, build.prop or AdAway. So I tested how every one of them affects to OTA. So to spare you from repetitive lists like above, I'm just going to tell my results.

1. Editing build.prop ro.sf.lcd_density + reboot = Update fails

2. Installing AdAway + hosts + reboot = Update successful

3. Installing WSM Manager + Mi-Tools + reboot options module + enabling all of them + editing App Settings dpi + modifying statusbar in Mi-Tools + reboots + more reboots = Update successful

I think for me the issue was restoring App Settings etc. from backup and thus settings that broke the OTA. Also I know now it's safer to set system ui dpi in App Settings instead of editing build.prop manually.

TL;DR = In conclusion in my experience

- Editing build.prop manually for whatever reason will break OTA.

- Restoring system settings via Super Backup or Titanum Backup will break OTA

- It's safe to install AdAway and modified hosts, WSM Manager and modules without breaking the OTA

- Change system ui dpi in App Settings, do NOT edit build.prop manually, this way you keep OTA

It was a pain to do all this testing (hah, I'm not even a beta tester) but I hope this helps someone! :good