From ae376422a4de3ee686df829f05b26d47693107b8 Mon Sep 17 00:00:00 2001 From: Xilin Jia <6257601+XilinJia@users.noreply.github.com> Date: Sat, 18 May 2024 08:04:15 +0100 Subject: [PATCH] 5.3.1 commit --- Licenses_and_permissions.md | 5 ----- app/build.gradle | 4 ++-- app/src/main/assets/licenses.xml | 6 ------ .../mdiq/podcini/playback/service/PlaybackService.kt | 2 +- app/src/main/java/ac/mdiq/podcini/storage/DBReader.kt | 7 ++----- app/src/main/java/ac/mdiq/podcini/storage/DBWriter.kt | 4 +--- .../java/ac/mdiq/podcini/ui/fragment/QueueFragment.kt | 10 +++++----- changelog.md | 5 +++++ fastlane/metadata/android/en-US/changelogs/3020146.txt | 5 +++++ gradle.properties | 2 ++ 10 files changed, 23 insertions(+), 27 deletions(-) create mode 100644 fastlane/metadata/android/en-US/changelogs/3020146.txt 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