Refactoring to ease cherry-pick am: 9ad97fbb35 am: c8e7426829 am: b2fb13699a

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2217304

Change-Id: I88cc50edfa051bd8d1b1ff5b2ffa29d6ec53a10f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>