Upleveled changes from android.