Adds UserDataSource

An abstraction of users and profiles, packaged up into an injectable interface.

  UserDataSource
      val users: Flow<Map<UserHandle, User>>
      fun isAvailable(@UserIdInt userId: Int): Flow<Boolean>

Along with an interface and implementation this change introduces a data model,
[User] to abstract from platform internal types.

Bug: 309960444
Test: atest FakeUserManagerTest UserDataSourceImplTest
Change-Id: I46681e5f5b40c0720f4b99c1bb13d05ab5da4211
10 files changed
tree: cb637e671b9fa2a8e49f678605cc44eb20e454ca
  1. aconfig/
  2. java/
  3. .clang-format
  4. Android.bp
  5. AndroidManifest-app.xml
  6. AndroidManifest-lib.xml
  7. OWNERS
  8. PREUPLOAD.cfg
  9. proguard.flags
  10. README.md
  11. TEST_MAPPING
README.md

IntentResolver

About

IntentResolver provides the implementation for Intent ACTION_CHOOSER

See also: ShareCompat.IntentBuilder