Implicit feature requirements

Just a few days after announcing ARM Launcher on XDA, some people mentioned ARM Launcher could not be found on Google play for them. For example people using a Nexus 7 were experiencing this problem.

After digging through the Google documentation and searching the web I found my answer on stackoverflow. It seems that by requiring specific permissions, the play store assumes certain features are required. So having the CALL_PHONE and READ_SMS permissions implies that only devices having telephony features are supported by your app.

Luckily there is a simple workaround for this, marking the feature as optional will override the default required flag. To do this explicitly mark them as optional in you AndroidManifest.xml, as described in the Android documentation.

<!-- needed because ACCESS_COURSE_LOCATION, implicitly defines this
as required -->