View Issue Details

IDProjectCategoryView StatusLast Update
0013093MMAGeneralpublic2016-03-28 21:08
Reportermarek Assigned To 
PriorityimmediateSeveritycrashReproducibilityalways
Status closedResolutionfixed 
Product Version1.2.0 
Target Version1.2.0Fixed in Version1.2.0 
Summary0013093: TouchSoundsSuppressor needs WRITE_SETTINGS permission
DescriptionI think that this should be disabled by default in Marshmallow and enabling should show Runtime Permission dialog so user will know why he allows writing to system settings.
Steps To ReproduceStart playback
Additional Informationcom.ventismedia.android.mediamonkeybeta E/AndroidRuntime: FATAL EXCEPTION: Thread-2487
                                                                                         Process: com.ventismedia.android.mediamonkeybeta, PID: 26135
                                                                                         java.lang.SecurityException: com.ventismedia.android.mediamonkeybeta was not granted this permission: android.permission.WRITE_SETTINGS.
                                                                                             at android.os.Parcel.readException(Parcel.java:1620)
                                                                                             at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:183)
                                                                                             at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:135)
                                                                                             at android.content.ContentProviderProxy.call(ContentProviderNative.java:646)
                                                                                             at android.provider.Settings$NameValueCache.putStringForUser(Settings.java:1322)
                                                                                             at android.provider.Settings$System.putStringForUser(Settings.java:1652)
                                                                                             at android.provider.Settings$System.putIntForUser(Settings.java:1757)
                                                                                             at android.provider.Settings$System.putInt(Settings.java:1751)
                                                                                             at com.ventismedia.android.mediamonkey.player.TouchSoundsSuppressor.saveSystemTouchSoundValue(TouchSoundsSuppressor.java:111)
                                                                                             at com.ventismedia.android.mediamonkey.player.TouchSoundsSuppressor.saveSystemTouchSoundValue(TouchSoundsSuppressor.java:105)
                                                                                             at com.ventismedia.android.mediamonkey.player.TouchSoundsSuppressor.refreshDisableTouchSounds(TouchSoundsSuppressor.java:52)
                                                                                             at com.ventismedia.android.mediamonkey.player.TouchSoundsSuppressor.refreshSuppressSounds(TouchSoundsSuppressor.java:25)
                                                                                             at com.ventismedia.android.mediamonkey.player.Suppressor.onHeadlinesChanged(Suppressor.java:35)
                                                                                             at com.ventismedia.android.mediamonkey.player.PlayerManager$NotifyAction$3.onNext(PlayerManager.java:3518)
                                                                                             at com.ventismedia.android.mediamonkey.player.PlayerManager$NotifyAction$3.onNext(PlayerManager.java:3514)
                                                                                             at com.ventismedia.android.mediamonkey.app.SafeIterator.iterate(SafeIterator.java:22)
                                                                                             at com.ventismedia.android.mediamonkey.player.PlayerManager$NotifyAction.process(PlayerManager.java:3513)
                                                                                             at com.ventismedia.android.mediamonkey.player.PlayerManager$PlayerManagerQueue$1.run(PlayerManager.java:4087)
                                                                                             at java.lang.Thread.run(Thread.java:818)
TagsNo tags attached.
Fixed in build580

Relationships

child of 0012844 closedmarek Implement runtime permissions 

Activities

marek

2016-02-03 16:21

developer   ~0044053

Last edited: 2016-02-03 16:28

Fixed in build 1.1.4.580

The permission for system settings changes cannot be granted by runtime permission API. So I had to use specific activity intent that shows Activity where user can allow MMA to access system settings.

peke

2016-03-28 21:08

developer   ~0044340

Verified 585