Remove the "Read phone state and identity" permission - use "audio focus" instead

From Floaf on 2014/12/16 15:03:54 +0000

"Read phone state and identity - this feature is used to stop lullabies or recording when you get into a phone call". Either you don’t know better or you use it for spying. Please do it the right way and use audio focus. Request focus when you start playing/recording audio and if you get a “Lost audio focus” event then you know that a phonecall is happening or the user start another media player. That mean you should stop the audio.
http://developer.android.com/training/managing-audio/audio-focus.html

Copied from original feature request: http://urbandroid.uservoice.com/forums/264867-sleep-as-android/suggestions/6849423-remove-the-read-phone-state-and-identity-permiss

From Petr Nálevka on 2014/12/20 20:37:40 +0000

Hello, many thanks for pointing this out. In fact we have first implemented the app for API level 4 more than 5 years ago. There was no audio focus at that time. We will slowly start rewriting this. For the next version we will use audio focus for lullabies instead of call state detection. But in my initial tests some apps simply don't return audio focus when stopping playback, so I'm afraid this won't be reliable enough for the alarm feature where we will probably still rely on the call state. Also automatic sleep tracking pausing in call is something which cannot be replaced by audio focus. So hopefully we can get rid of this permission in the future but it will be a gradual and probably slow process.

Regarding spying, this really isn't our intention. I cannot really imagine how could this information be even misused in the first place. The Android permission system is really unfortunate we would wish for a permission system when users could simply decline such permission and in this case we would not do sleep tracking pausing handling alarm properly during phone calls, this sound a fair deal to me.