Change to startActivityAsCaller when forwarding ACTION_PICK intent

Using startActivity results in the platform viewing the picker which is
a privileged system app as the caller of the intent and is an
exploitation: abusing access to contacts data or redirection of the
intent.

startActivityAsCaller marks the forwarded activity as initiated by the
original caller and does not carry any privileged permissions of the
system contacts picker.

Needed to replace espresso Intents from the tests as
startActivityAsCaller is a hidden platofrm API. Replaced it with
instrumentation monitors.

Bug: 506191531
Bug: 499298430
Flag: EXEMPT CVE_FIX
Test: atest ContactsPickerComponentTests
Cherrypick-From: https://googleplex-android-review.googlesource.com/q/commit:31861c55010495d50bf461258cc6ac55e41a0476
Cherrypick-From: https://googleplex-android-review.googlesource.com/q/commit:fef6b896271de5441ac33c9f073c1b81108e9638
Merged-In: Ida4d0e9880af15258a97cedf5551367b21abd384
Change-Id: Ida4d0e9880af15258a97cedf5551367b21abd384
3 files changed