Stack trace:
java.lang.NullPointerException: Attempt to invoke virtual method 'void androidx.appcompat.app.ActionBar.setTitle(java.lang.CharSequence)' on a null object reference
at de.danoeh.antennapod.fragment.gpodnet.TagFragment.onActivityCreated(TagFragment.java:49)
at androidx.fragment.app.Fragment.performActivityCreated(Fragment.java:2717)
at androidx.fragment.app.FragmentStateManager.activityCreated(FragmentStateManager.java:346)
at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1188)
at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1356)
at androidx.fragment.app.FragmentManager.moveFragmentToExpectedState(FragmentManager.java:1434)
at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1497)
at androidx.fragment.app.BackStackRecord.executeOps(BackStackRecord.java:447)
at androidx.fragment.app.FragmentManager.executeOps(FragmentManager.java:2169)
at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:1992)
at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1947)
at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1849)
at androidx.fragment.app.FragmentManager$4.run(FragmentManager.java:413)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7073)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:964)
- moving while downloading sometimes caused ArrayIndexOutOfBoundsException
- Long-pressing and then swiping out leaves the screen empty and the
context menu open. Pressing items crashed the app.
When the activity is recreated after it was stopped in background,
the BackStackEntryCount is the same for all fragments. The one that
should display the toggle therefore thinks it shouldn't. This change
saves the button state now. This is only needed for top-level fragments.
We return true anyways. The call for actually loading is asynchronous,
so returning anything here does not make sense.
Reduces likelihood of loader being interrupted to just load the same
item again when the state changes.
This is another way of solving #2077.
The root issue is that queued episodes are never auto-deleted
currently which means that if you automatically add episodes to the
queue you will eventually end up with AntennaPod refusing to auto
download more episodes because the cache is full and it can't make
space.
This option will only refuse to delete favorited items. Otherwise it
will simply delete the oldest episodes.
Instead of binding to the service, pass the required data. This also
ensures that the widget is updated instantly when calling from
PlaybackService. JobService had the problem that the OS sometimes
took some seconds before actually executing the job.