Skip to content

App crash when setting personal API Key #42

@matrujillo10

Description

@matrujillo10

Hi,

I just found a bug referred to the settings activity.

I went to the settings activity. The app language was "System language" at this moment. I changed the language to "Español", and then try to select the option "Personal API Key". Nonetheless, the app crash and the logcat register this:

2019-11-23 15:41:17.698 8285-8285/com.haringeymobile.ukweather E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.haringeymobile.ukweather, PID: 8285
    java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
        at android.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1864)
        at android.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1887)
        at android.app.BackStackRecord.commitInternal(BackStackRecord.java:688)
        at android.app.BackStackRecord.commit(BackStackRecord.java:646)
        at android.app.DialogFragment.show(DialogFragment.java:230)
        at com.haringeymobile.ukweather.settings.SettingsActivity.showEnterPersonalApiKeyDialog(SettingsActivity.java:97)
        at com.haringeymobile.ukweather.settings.SettingsActivity.onSharedPreferenceChanged(SettingsActivity.java:83)
        at android.app.SharedPreferencesImpl$EditorImpl.notifyListeners(SharedPreferencesImpl.java:560)
        at android.app.SharedPreferencesImpl$EditorImpl.apply(SharedPreferencesImpl.java:443)
        at android.preference.Preference.tryCommit(Preference.java:1589)
        at android.preference.Preference.persistBoolean(Preference.java:1893)
        at android.preference.TwoStatePreference.setChecked(TwoStatePreference.java:81)
        at android.preference.TwoStatePreference.onClick(TwoStatePreference.java:66)
        at android.preference.Preference.performClick(Preference.java:1134)
        at android.preference.PreferenceScreen.onItemClick(PreferenceScreen.java:249)
        at android.widget.AdapterView.performItemClick(AdapterView.java:318)
        at android.widget.AbsListView.performItemClick(AbsListView.java:1165)
        at android.widget.AbsListView$PerformClick.run(AbsListView.java:3134)
        at android.widget.AbsListView$3.run(AbsListView.java:4049)
        at android.os.Handler.handleCallback(Handler.java:789)
        at android.os.Handler.dispatchMessage(Handler.java:98)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:6541)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)

I made a flow diagram to replicate the bug:

issue

This also happen when I change the app theme instead of language, and then try to set a personal API Key.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions