Implement dual-permission model for storage.
- Pre-Q apps use the legacy READ/WRITE_EXTERNAL_STORAGE permissions
- Post-Q apps use the READ_MEDIA_* permissions
- Grandfathered Q apps have all storage permission granted fixed. In the
UI they show only the legacy storage permissions
- The OP_LEGACY_STORAGE controls whether an app is grandfathered
Data providers should check both old and new permission model as
permissions that are not used are set as granted.
Test: atest CtsPermissionTestCases:android.permission.cts.DualStoragePermissionModelTest
Fixes:
126785920
Change-Id: I668530e62125d95f122a94ae39f17007391bcaa5