This repository was archived by the owner on Apr 9, 2021. It is now read-only.
This repository was archived by the owner on Apr 9, 2021. It is now read-only.
Add runtime permission to allow write_settings permission #238
Open
Description
Software and hardware versions
Android 6.0.1
Problem description
My guess is that this is a regression caused while adding runtime permissions.
Steps to reproduce the problem
Attempt to send a form in Android 6.0
Expected behavior
A prompt should appear to allow the write settings permissions when the below method is attempted to call
Other information
04-04 22:00:28.950 16350-16350/org.odk.share E/WifiHospotConnector: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(Native Method)
at org.odk.share.network.WifiHospotConnector.toggleHotspot(WifiHospotConnector.java:139)
at org.odk.share.network.WifiHospotConnector.enableHotspot(WifiHospotConnector.java:129)
at org.odk.share.activities.SendActivity.initiateHotspot(SendActivity.java:196)
at org.odk.share.activities.SendActivity.startHotspot(SendActivity.java:165)
at org.odk.share.activities.SendActivity.toggleHotspot(SendActivity.java:493)
at org.odk.share.activities.SendActivity.checkLocationPermission(SendActivity.java:466)
at org.odk.share.activities.SendActivity.onResume(SendActivity.java:305)
at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1259)
at android.app.Activity.performResume(Activity.java:6361)
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3092)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3134)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2481)
at android.app.ActivityThread.access$900(ActivityThread.java:150)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: java.lang.SecurityException: org.odk.share was not granted this permission: android.permission.WRITE_SETTINGS.
at android.os.Parcel.readException(Parcel.java:1620)
at android.os.Parcel.readException(Parcel.java:1573)
at android.net.wifi.IWifiManager$Stub$Proxy.setWifiApEnabled(IWifiManager.java:1456)
at android.net.wifi.WifiManager.setWifiApEnabled(WifiManager.java:1543)
at java.lang.reflect.Method.invoke(Native Method)
at org.odk.share.network.WifiHospotConnector.toggleHotspot(WifiHospotConnector.java:139)
at org.odk.share.network.WifiHospotConnector.enableHotspot(WifiHospotConnector.java:129)
at org.odk.share.activities.SendActivity.initiateHotspot(SendActivity.java:196)
at org.odk.share.activities.SendActivity.startHotspot(SendActivity.java:165)
at org.odk.share.activities.SendActivity.toggleHotspot(SendActivity.java:493)
at org.odk.share.activities.SendActivity.checkLocationPermission(SendActivity.java:466)
at org.odk.share.activities.SendActivity.onResume(SendActivity.java:305)
at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1259)
at android.app.Activity.performResume(Activity.java:6361)
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3092)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3134)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2481)
at android.app.ActivityThread.access$900(ActivityThread.java:150)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)