squashed sync with AOKP repo