Massive update from androidarmv6 (erikcas)