As the sole developer of ShuffleTone, I want to make it clear that I absolutely respect your privacy. ShuffleTone and it's implementation requires several permissions to work properly that deal with potentially sensitive information.
Permissions
android.permission.READ_EXTERNAL_STORAGE
android.permission.WRITE_EXTERNAL_STORAGE
Permission to access files on your SD Card/Internal Storage. This allowed ShuffleTone to be read and write files that represented the ringtone playlists. No other use of this permission is made.
android.permission.READ_PHONE_STATE
Permission to detect when the device is receiving a phone call. This allowed the application to shuffle the ringtone for phone calls. No information is read about your number or who is calling. No other use of this permission is made.
android.permission.RECEIVE_MMS
android.permission.RECEIVE_SMS
Permission to detect when the device is receiving a SMS or MMS message. This allowed the application to shuffle the ringtone for text messages. No information is read about your number or the number that is texting you. No other use of this permission is made.
android.permission.READ_SMS
This permission is a bit deceptive. ShuffleTone does not read your SMS messages at all. This may be different now, but at the time that I wrote the application, to do something when the phone receives SMS/MMS event, this permission is required; Mostly because that data about who was texting and the contents of the text are passed to these event handlers. ShuffleTone doesn't care about this information... It just needs to know when you are recieving a text. Without the permission, the application would crash; There was no working around it. No other use of this permission is made.
android.permission.RECEIVE_BOOT_COMPLETED
Permission to know when the device has been rebooted. ShuffleTone used this to set up repeating system alarms that would shuffle the ringtone at an interval if the user set up their preferences that way. No other use of this permission is used.
android.permission.VIBRATE
Permission is used to simulate the normal process of handling a ringtone shuffle. I encouraged all my users to set up their phones to rely on Android, but some users and some devices didn't work with that process, so if the user set it up, ShuffleTone would make its own notification, including vibrating when receiving a message. No other use of this permission is used.
android.permission.WRITE_SETTINGS
Permission is used to write the current phone ringtone settings or notification ringtone settings. No other use of this permission is used.
com.android.vending.BILLING
The code that used this permission has been taken out. I apologize that the permission is still requested. No billing is performed in ShuffleTone
Lastly, ShuffleTone does not use your network at all. Not only does ShuffleTone avoid reading any personal information, but there is no way ShuffleTone could take part in getting that information off of your phone. Choosing not to run ads was important to me because I could leave a guarantee that I value your privacy by literally doing everything in my power to leave it alone. I hope you feel safe and confident using ShuffleTone as well as future DizWARE products.