Request permission if it's not given and give a brief explanation of why it's needed. Then if the permission is not given, use a placeholder (e.g. solid color or system resource) or hide the wallpaper part of activity.
Don't request permission and use different layout for activity, so the Wallpaper theme could be reused.
Apparently getting wallpaper from system requires
READ_EXTERNAL_STORAGE
permission https://github.com/HenriDellal/emerald/blob/5ade83b5e494e8130eef7b49c210d9b4eb4a29fe/app/src/main/java/ru/henridellal/emerald/ThemerActivity.java#L42Possible steps to solve it: