Add caching to AM.getCurrentUserId().

The current foreground user doesn't change outside of a user
switch, which is a rare event on most user devices. Add a
IpcDataCache to AM.getCurrentUserId() in order to avoid
unncessary binder spam.

Flag: backstage_power/android.app.cache_get_current_user_id
Bug: 361853873
Test: atest UserControllerTest
Test: atest UserManagerTest
Test: atest ActivityManagerTest
Test: manually check logs for cache hits/misses
Change-Id: I94540ad4c76bcc62944ad8e19f0e9d6c2154b010
5 files changed