Require READ_EXTERNAL_STORAGE to read wallpaper imagery

We now require the READ_EXTERNAL_STORAGE permission for an app to
be allowed to read the system's wallpaper imagery.  This is a
logged-but-benign no-op failure for apps targeting API levels up
through Android O, but a crashing failure (SecurityException) for
apps that target API levels newer than O.

Also, marked the permission-requiring parts of the formal API
with appropriate @RequiresPermission annotations.

Bug 30770233
Test: bit CtsPermissionTestCases:.NoWallpaperPermissionsTest

Change-Id: Id75181f05d05e5ca32f5fefcbe15dc81de264dff
3 files changed