Parse authority to separate userId and non-user parts of it

Callers may pass an authority of type `10@com.example` to this API. We
must make sure to only find providers with authority `com.example` installed
in user 10.

Bug: 350456241

Test: sts-tradefed run sts-dynamic-develop -m CtsSecurityTestCases -t android.security.cts.ContentProviderMultiUserTests#testAccessFromInitialUser --user-type PRIMARY

Test: sts-tradefed run sts-dynamic-develop -m CtsSecurityTestCases -t android.security.cts.ContentProviderMultiUserTests --user-type SECONDARY

Flag: EXEMPT. Bug fix only
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:d1ec2efc0b8941a0585712d5b4cec95fd9f12f17)
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:3bc080390d6ae73782679dfc5e185c67b60e016b)
Merged-In: I737a435795698bdc612dc3bf88c31e5c8f9c17a6
Change-Id: I737a435795698bdc612dc3bf88c31e5c8f9c17a6
1 file changed