Ask RingtonePlayer to open data for caching.

When setting default ringtones, RingtoneManager now caches the
selected media for playback before the device is unlocked.  However,
this API hasn't historically required the caller to hold storage
permissions.

To keep this working, we attempt to delegate ringtone access over
through RingtonePlayer, which is what we do for playback.  However,
because we're caching the real ringtone bits now, we need to be much
more careful about the PFDs we're willing to return.  This change
requires that they be in external storage, and that they have the
ringtone/alarm/notification bit set.

Bug: 27366059
Change-Id: I59c2adc1d1250a3eac281f190f35a7cb3119967b
3 files changed