a more cleaner solution for android 2.3.x
Merge branch '1.x' into 2.x