[1/2][SQUASHED] Base: On-The-Go mode

Squashed on-the-go of following commits:
NamelessRom/android_frameworks_base@c9515a3
NamelessRom/android_frameworks_base@e28324c
NamelessRom/android_frameworks_base@755e04c
NamelessRom/android_frameworks_base@ede7578
NamelessRom/android_frameworks_base@7350979
NamelessRom/android_frameworks_base@19c8631
NamelessRom/android_frameworks_base@5c63f5a
NamelessRom/android_frameworks_base@2a15bce
NamelessRom/android_frameworks_base@1fa20bc
NamelessRom/android_frameworks_base@bfbfdae
NamelessRom/android_frameworks_base@90ac0f6

Change-Id: I8f8f109673613ae4c8a86f6b235c487203c8609c