Back-ported to GingerBread, depends on android appcompat.

For ui, mainly depend on appcompat.
For hook, only replace with right methodname in gb. (And I also noticed that there are different method/function to support api  15+);