Add minimized state for Chooser drawer

Implements the Chooser Interactive Session API collapse() call to allow
a remote process to put the sharesheet into a minimized state.

To manage the two different collapsed heights (normal vs. minimized),
the height calculation logic is refactored into a new
DrawerCollapseReservedHeightDelegate. This class determines the
appropriate collapsible height based on an isMinimized flag.

The drawer enters this new minimized state when collapse() is called
from the remote controller. It returns to its standard behavior as soon
as the user manually interacts with (drags) the drawer.

Bug: b/404593897
Test: atest IntentResolver-tests-unit
Flag: android.service.chooser.interactive_chooser
Change-Id: Ieed81cf1225eddfe7bf47ba079149153f03d6d48
10 files changed
tree: 7c5bde5b2a7a57788a91a67331f99eed0211f275
  1. aconfig/
  2. java/
  3. tests/
  4. Android.bp
  5. AndroidManifest-app.xml
  6. AndroidManifest-lib.xml
  7. lint-baseline.xml
  8. OWNERS
  9. PREUPLOAD.cfg
  10. proguard.flags
  11. README.md
  12. TEST_MAPPING
README.md

IntentResolver

About

IntentResolver provides the implementation for Intent ACTION_CHOOSER

See also: ShareCompat.IntentBuilder