I got this exception when I only show and dismiss any MaterialAlertDialog or DialogFragment, this exception causes that my app sometimes can't receive any response from my web service using Retrofit, I produce this exception when I enter and exit between Activities quickly. This is the stack trace:
2021-08-16 11:54:24.585 W/System.err: java.lang.SecurityException: mx.madison.madisonservice was not granted this permission: android.permission.WRITE_SETTINGS.
2021-08-16 11:54:24.586 W/System.err: at android.os.Parcel.createException(Parcel.java:2071)
2021-08-16 11:54:24.586 W/System.err: at android.os.Parcel.readException(Parcel.java:2039)
2021-08-16 11:54:24.586 W/System.err: at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:188)
2021-08-16 11:54:24.586 W/System.err: at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:140)
2021-08-16 11:54:24.586 W/System.err: at android.content.ContentProviderProxy.call(ContentProviderNative.java:658)
2021-08-16 11:54:24.586 W/System.err: at android.provider.Settings$NameValueCache.putStringForUser(Settings.java:2295)
2021-08-16 11:54:24.586 W/System.err: at android.provider.Settings$System.putStringForUser(Settings.java:2719)
2021-08-16 11:54:24.586 W/System.err: at android.provider.Settings$System.putIntForUser(Settings.java:2827)
2021-08-16 11:54:24.586 W/System.err: at android.provider.Settings$System.putInt(Settings.java:2820)
2021-08-16 11:54:24.586 W/System.err: at android.app.Dialog.show(Dialog.java:355)
2021-08-16 11:54:24.586 W/System.err: at mx.madison.madisonservice.presenter.TablePlanPresenter.showSimbology(TablePlanPresenter.kt:93)
2021-08-16 11:54:24.586 W/System.err: at mx.madison.madisonservice.activities.TablePlanActivity.updateInfo(TablePlanActivity.kt:216)
2021-08-16 11:54:24.586 W/System.err: at mx.madison.madisonservice.activities.TablePlanActivity.onOptionsItemSelected(TablePlanActivity.kt:198)
2021-08-16 11:54:24.586 W/System.err: at android.app.Activity.onMenuItemSelected(Activity.java:4208)
2021-08-16 11:54:24.586 W/System.err: at androidx.fragment.app.FragmentActivity.onMenuItemSelected(FragmentActivity.java:340)
2021-08-16 11:54:24.586 W/System.err: at androidx.appcompat.app.AppCompatActivity.onMenuItemSelected(AppCompatActivity.java:228)
2021-08-16 11:54:24.586 W/System.err: at androidx.appcompat.view.WindowCallbackWrapper.onMenuItemSelected(WindowCallbackWrapper.java:109)
2021-08-16 11:54:24.586 W/System.err: at androidx.appcompat.view.WindowCallbackWrapper.onMenuItemSelected(WindowCallbackWrapper.java:109)
2021-08-16 11:54:24.586 W/System.err: at androidx.appcompat.app.ToolbarActionBar$2.onMenuItemClick(ToolbarActionBar.java:65)
2021-08-16 11:54:24.586 W/System.err: at androidx.appcompat.widget.Toolbar$1.onMenuItemClick(Toolbar.java:207)
2021-08-16 11:54:24.586 W/System.err: at androidx.appcompat.widget.ActionMenuView$MenuBuilderCallback.onMenuItemSelected(ActionMenuView.java:779)
2021-08-16 11:54:24.586 W/System.err: at androidx.appcompat.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:834)
2021-08-16 11:54:24.586 W/System.err: at androidx.appcompat.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:158)
2021-08-16 11:54:24.586 W/System.err: at androidx.appcompat.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:985)
2021-08-16 11:54:24.586 W/System.err: at androidx.appcompat.view.menu.MenuPopup.onItemClick(MenuPopup.java:128)
2021-08-16 11:54:24.586 W/System.err: at android.widget.AdapterView.performItemClick(AdapterView.java:330)
2021-08-16 11:54:24.586 W/System.err: at android.widget.AbsListView.performItemClick(AbsListView.java:1190)
2021-08-16 11:54:24.586 W/System.err: at android.widget.AbsListView$PerformClick.run(AbsListView.java:3198)
2021-08-16 11:54:24.586 W/System.err: at android.widget.AbsListView$3.run(AbsListView.java:4116)
2021-08-16 11:54:24.586 W/System.err: at android.os.Handler.handleCallback(Handler.java:883)
2021-08-16 11:54:24.586 W/System.err: at android.os.Handler.dispatchMessage(Handler.java:100)
2021-08-16 11:54:24.586 W/System.err: at android.os.Looper.loop(Looper.java:214)
2021-08-16 11:54:24.586 W/System.err: at android.app.ActivityThread.main(ActivityThread.java:7405)
2021-08-16 11:54:24.586 W/System.err: at java.lang.reflect.Method.invoke(Native Method)
2021-08-16 11:54:24.587 W/System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:502)
2021-08-16 11:54:24.587 W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:980)
2021-08-16 11:54:24.587 W/System.err: Caused by: android.os.RemoteException: Remote stack trace:
2021-08-16 11:54:24.587 W/System.err: at android.provider.Settings.isCallingPackageAllowedToPerformAppOpsProtectedOperation(Settings.java:15704)
2021-08-16 11:54:24.587 W/System.err: at android.provider.Settings.checkAndNoteWriteSettingsOperation(Settings.java:15584)
2021-08-16 11:54:24.587 W/System.err: at com.android.providers.settings.SettingsProvider.mutateSystemSetting(SettingsProvider.java:1699)
2021-08-16 11:54:24.587 W/System.err: at com.android.providers.settings.SettingsProvider.insertSystemSetting(SettingsProvider.java:1674)
2021-08-16 11:54:24.587 W/System.err: at com.android.providers.settings.SettingsProvider.call(SettingsProvider.java:443)
The line that produce the exception is the dismiss dialog call
fun showSimbology() {
view?.getCtx()?.let {
val alert = MaterialAlertDialogBuilder(it)
.setIcon(R.drawable.ic_tables)
.setTitle("Simbología de mesas")
.setView(R.layout.simbology_dialog)
.setNegativeButton("Cerrar") { dialog, _ -> dialog.dismiss() }
.create()
alert.show()
}
}
When I enter to any activity, my app call to my web service, I think that the real problem is the enqueue calls that not finished, The strange is that this exception only is produced when any Dialog is open and is closed, and quickly go to another activity. Any suggestion? Regards!