diff --git a/Licenses_and_permissions.md b/Licenses_and_permissions.md
index 7480f144..eb102b32 100644
--- a/Licenses_and_permissions.md
+++ b/Licenses_and_permissions.md
@@ -22,11 +22,6 @@ Apache License 2.0
[com.squareup.okhttp3](https://github.com/square/okhttp/blob/master/LICENSE.txt) Apache License 2.0
-
-
-[org.greenrobot:eventbus](https://github.com/greenrobot/EventBus/blob/master/LICENSE) Apache License 2.0
-
[io.reactivex.rxjava2](https://github.com/ReactiveX/RxJava/blob/3.x/LICENSE) Apache License 2.0
[com.joanzapata.iconify](https://github.com/JoanZapata/android-iconify/blob/master/LICENSE.txt) Apache License 2.0
diff --git a/app/build.gradle b/app/build.gradle
index 86be3516..b372fd83 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -159,8 +159,8 @@ android {
// Version code schema (not used):
// "1.2.3-beta4" -> 1020304
// "1.2.3" -> 1020395
- versionCode 3020145
- versionName "5.3.0"
+ versionCode 3020146
+ versionName "5.3.1"
def commit = ""
try {
diff --git a/app/src/main/assets/licenses.xml b/app/src/main/assets/licenses.xml
index eba77668..e8cd74a4 100644
--- a/app/src/main/assets/licenses.xml
+++ b/app/src/main/assets/licenses.xml
@@ -36,12 +36,6 @@
website="https://github.com/google/conscrypt"
license="Apache 2.0"
licenseText="LICENSE_APACHE-2.0.txt" />
-
val list = extractItemlistFromCursor(adapter, cursor)
if (list.isNotEmpty()) {
nextItem = list[0]
- loadAdditionalFeedItemListData(list)
+ loadAdditionalFeedItemListData(listOf(list[0]))
}
return nextItem
}
diff --git a/app/src/main/java/ac/mdiq/podcini/storage/DBWriter.kt b/app/src/main/java/ac/mdiq/podcini/storage/DBWriter.kt
index 9446feef..df00fc41 100644
--- a/app/src/main/java/ac/mdiq/podcini/storage/DBWriter.kt
+++ b/app/src/main/java/ac/mdiq/podcini/storage/DBWriter.kt
@@ -521,9 +521,7 @@ import java.util.concurrent.TimeUnit
events.add(FlowEvent.QueueEvent.removed(item))
updatedItems.add(item)
queueModified = true
- } else {
- Log.v(TAG, "removeQueueItem - item not in queue:$itemId")
- }
+ } else Log.e(TAG, "removeQueueItem - item not in queue:$itemId")
}
if (queueModified) {
adapter.setQueue(queue)
diff --git a/app/src/main/java/ac/mdiq/podcini/ui/fragment/QueueFragment.kt b/app/src/main/java/ac/mdiq/podcini/ui/fragment/QueueFragment.kt
index 48c05ead..3bd28f88 100644
--- a/app/src/main/java/ac/mdiq/podcini/ui/fragment/QueueFragment.kt
+++ b/app/src/main/java/ac/mdiq/podcini/ui/fragment/QueueFragment.kt
@@ -245,17 +245,17 @@ import java.util.*
FlowEvent.QueueEvent.Action.REMOVED, FlowEvent.QueueEvent.Action.IRREVERSIBLE_REMOVED -> {
if (event.item != null) {
val position: Int = FeedItemUtil.indexOfItemWithId(queue.toList(), event.item.id)
- queue.removeAt(position)
- recyclerAdapter?.notifyItemRemoved(position)
+ if (position >= 0) {
+ queue.removeAt(position)
+ recyclerAdapter?.notifyItemRemoved(position)
+ } else Log.e(TAG, "Trying to remove item non-existent from queue ${event.item.id} ${event.item.title}")
}
}
FlowEvent.QueueEvent.Action.CLEARED -> {
queue.clear()
recyclerAdapter?.updateItems(queue)
}
- FlowEvent.QueueEvent.Action.MOVED -> return
- FlowEvent.QueueEvent.Action.ADDED_ITEMS -> return
- FlowEvent.QueueEvent.Action.DELETED_MEDIA -> return
+ FlowEvent.QueueEvent.Action.MOVED, FlowEvent.QueueEvent.Action.ADDED_ITEMS, FlowEvent.QueueEvent.Action.DELETED_MEDIA -> return
}
recyclerAdapter?.updateDragDropEnabled()
refreshToolbarState()
diff --git a/changelog.md b/changelog.md
index e273fdfa..25d396ef 100644
--- a/changelog.md
+++ b/changelog.md
@@ -1,3 +1,8 @@
+## 5.3.1
+
+* fixed crash issue on some device when attempting to remove item from queue multiple times
+* improved efficiency of getNextInQueue in DBReader
+
## 5.3.0
* change normal scope to life cycle scope when possible
diff --git a/fastlane/metadata/android/en-US/changelogs/3020146.txt b/fastlane/metadata/android/en-US/changelogs/3020146.txt
new file mode 100644
index 00000000..c9a132bd
--- /dev/null
+++ b/fastlane/metadata/android/en-US/changelogs/3020146.txt
@@ -0,0 +1,5 @@
+
+Version 5.3.1 brings several changes:
+
+* fixed crash issue on some device when attempting to remove item from queue multiple times
+* improved efficiency of getNextInQueue in DBReader
diff --git a/gradle.properties b/gradle.properties
index f8a9ff00..40a59bc0 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -4,6 +4,8 @@ android.jetifier.ignorelist=bcprov-jdk15on
android.nonTransitiveRClass=false
android.nonFinalResIds=false
+org.gradle.caching=true
+
org.gradle.jvmargs=-Xmx2048m
android.defaults.buildfeatures.buildconfig=true