6.3.1 commit

This commit is contained in:
Xilin Jia 2024-08-02 10:01:47 +01:00
parent fd9040ff1a
commit 81d4374a3f
8 changed files with 30 additions and 24 deletions

View File

@ -1,7 +1,4 @@
[Dolphin] [Dolphin]
Timestamp=2024,2,5,7,26,48.63 Timestamp=2024,8,2,9,3,22.216
Version=4 Version=4
ViewMode=1 ViewMode=1
[Settings]
HiddenFilesShown=true

View File

@ -31,8 +31,8 @@ android {
testApplicationId "ac.mdiq.podcini.tests" testApplicationId "ac.mdiq.podcini.tests"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
versionCode 3020224 versionCode 3020225
versionName "6.3.0" versionName "6.3.1"
applicationId "ac.mdiq.podcini.R" applicationId "ac.mdiq.podcini.R"
def commit = "" def commit = ""

View File

@ -312,8 +312,8 @@ object Feeds {
addNewFeedsSync(context, newFeed) addNewFeedsSync(context, newFeed)
// Update with default values that are set in database // Update with default values that are set in database
resultFeed = searchFeedByIdentifyingValueOrID(newFeed) resultFeed = searchFeedByIdentifyingValueOrID(newFeed)
} else persistFeedsSync(savedFeed) } else upsertBlk(savedFeed) {}
// updateFeedMap()
if (removeUnlistedItems) runBlocking { deleteEpisodes(context, unlistedItems).join() } if (removeUnlistedItems) runBlocking { deleteEpisodes(context, unlistedItems).join() }
} catch (e: InterruptedException) { } catch (e: InterruptedException) {
e.printStackTrace() e.printStackTrace()
@ -377,12 +377,12 @@ object Feeds {
backupManager.dataChanged() backupManager.dataChanged()
} }
private fun persistFeedsSync(vararg feeds: Feed) { // private fun persistFeedsSync(vararg feeds: Feed) {
Logd(TAG, "persistFeedsSync called") // Logd(TAG, "persistFeedsSync called")
for (feed in feeds) { // for (feed in feeds) {
upsertBlk(feed) {} // upsertBlk(feed) {}
} // }
} // }
fun persistFeedPreferences(feed: Feed) : Job { fun persistFeedPreferences(feed: Feed) : Job {
Logd(TAG, "persistFeedPreferences called") Logd(TAG, "persistFeedPreferences called")

View File

@ -59,11 +59,12 @@ class PlayActionButton(item: Episode) : EpisodeActionButton(item) {
Log.i(TAG, "The feedmanager was notified about a missing episode. It will update its database now.") Log.i(TAG, "The feedmanager was notified about a missing episode. It will update its database now.")
val episode = media.episodeOrFetch() val episode = media.episodeOrFetch()
if (episode != null) { if (episode != null) {
episode.media = media val episode_ = upsertBlk(episode) {
episode.media?.downloaded = false it.media = media
episode.media?.fileUrl = null it.media?.downloaded = false
upsertBlk(episode) {} it.media?.fileUrl = null
EventFlow.postEvent(FlowEvent.EpisodeMediaEvent.removed(episode)) }
EventFlow.postEvent(FlowEvent.EpisodeMediaEvent.removed(episode_))
} }
EventFlow.postEvent(FlowEvent.MessageEvent(context.getString(R.string.error_file_not_found))) EventFlow.postEvent(FlowEvent.MessageEvent(context.getString(R.string.error_file_not_found)))
} }

View File

@ -45,7 +45,6 @@ class BugReportActivity : AppCompatActivity() {
val crashFile = CrashReportWriter.file val crashFile = CrashReportWriter.file
if (crashFile.exists()) stacktrace = IOUtils.toString(FileInputStream(crashFile), Charset.forName("UTF-8")) if (crashFile.exists()) stacktrace = IOUtils.toString(FileInputStream(crashFile), Charset.forName("UTF-8"))
else Logd(TAG, stacktrace) else Logd(TAG, stacktrace)
} catch (e: IOException) { } catch (e: IOException) {
e.printStackTrace() e.printStackTrace()
} }
@ -112,8 +111,7 @@ class BugReportActivity : AppCompatActivity() {
} catch (e: Exception) { } catch (e: Exception) {
e.printStackTrace() e.printStackTrace()
val strResId = R.string.log_file_share_exception val strResId = R.string.log_file_share_exception
Snackbar.make(binding.root, strResId, Snackbar.LENGTH_LONG) Snackbar.make(binding.root, strResId, Snackbar.LENGTH_LONG).show()
.show()
} }
} catch (e: IOException) { } catch (e: IOException) {
e.printStackTrace() e.printStackTrace()

View File

@ -135,10 +135,10 @@ import java.util.*
spinnerAdaptor = ArrayAdapter(requireContext(), android.R.layout.simple_spinner_item, spinnerTexts) spinnerAdaptor = ArrayAdapter(requireContext(), android.R.layout.simple_spinner_item, spinnerTexts)
spinnerAdaptor.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item) spinnerAdaptor.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
queueSpinner.adapter = spinnerAdaptor queueSpinner.adapter = spinnerAdaptor
queueSpinner.setSelection(spinnerAdaptor.getPosition(curQueue.name)) queueSpinner.setSelection(queueNames.indexOf(curQueue.name))
queueSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { queueSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) { override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
curQueue = upsertBlk(queues[position]) { it.updated } curQueue = upsertBlk(queues[position]) { it.update() }
toolbar.menu?.findItem(R.id.rename_queue)?.setVisible(curQueue.name != "Default") toolbar.menu?.findItem(R.id.rename_queue)?.setVisible(curQueue.name != "Default")
loadCurQueue(true) loadCurQueue(true)
} }

View File

@ -1,3 +1,8 @@
# 6.3.1
* fixed crash when playing episode with missing media file
* fixed Queue view not opening the current queue
# 6.3.0 # 6.3.0
* improved handling of playing next in queue when some items have been removed from the queue * improved handling of playing next in queue when some items have been removed from the queue

View File

@ -0,0 +1,5 @@
Version 6.3.1 brings several changes:
* fixed crash when playing episode with missing media file
* fixed Queue view not opening the current queue