Change UserInteractor availability interface

This does the following:

 1) Keeps availability information per-Profile, and not per-Type because
    there isn't a requirement to enforce a single instance per type at
    this layer, and this requirement may come along in the future.

  2) changes `fun isAvailable(Profile.Type: Flow<Boolean>` to
    `val availability: Flow<Map<Profile, Boolean>>` which is easier to
    consume downstream as a StateFlow without additional bookeeping of
    maintaining individual flows. Changes can be easily processed by
    using a runningFold and taking the difference in the two maps.


Test: atest UserInteractorTest
Bug: n/a
Flag: n/a (code is not yet live)
Change-Id: I8605c42bead70b4bf41fdf89c195311b85938b1b
2 files changed
tree: 6ed021ba42bad49604bb7674d4cb34ef4ecb0f12
  1. aconfig/
  2. java/
  3. tests/
  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