5.2.1 commit
This commit is contained in:
parent
6d22cf55b9
commit
ef5fe709ba
|
@ -2,7 +2,7 @@ plugins {
|
|||
id('com.android.application')
|
||||
id 'kotlin-android'
|
||||
id 'kotlin-kapt'
|
||||
// id 'com.google.devtools.ksp'
|
||||
id 'com.google.devtools.ksp'
|
||||
id('com.github.triplet.play') version '3.8.3' apply false
|
||||
}
|
||||
|
||||
|
@ -159,8 +159,8 @@ android {
|
|||
// Version code schema (not used):
|
||||
// "1.2.3-beta4" -> 1020304
|
||||
// "1.2.3" -> 1020395
|
||||
versionCode 3020143
|
||||
versionName "5.2.0"
|
||||
versionCode 3020144
|
||||
versionName "5.2.1"
|
||||
|
||||
def commit = ""
|
||||
try {
|
||||
|
@ -213,7 +213,6 @@ android {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
androidResources {
|
||||
additionalParameters "--no-version-vectors"
|
||||
}
|
||||
|
@ -233,7 +232,8 @@ dependencies {
|
|||
}
|
||||
}
|
||||
|
||||
kapt "androidx.annotation:annotation:1.7.1"
|
||||
// doesn't work with ksp??
|
||||
kapt "androidx.annotation:annotation:1.8.0"
|
||||
|
||||
implementation "androidx.appcompat:appcompat:1.6.1"
|
||||
implementation 'androidx.coordinatorlayout:coordinatorlayout:1.2.0'
|
||||
|
|
|
@ -61,11 +61,11 @@
|
|||
license="Apache 2.0"
|
||||
licenseText="LICENSE_APACHE-2.0.txt" />
|
||||
<library
|
||||
name="Glide"
|
||||
author="bumptech"
|
||||
website="https://github.com/bumptech/glide"
|
||||
license="Simplified BSD"
|
||||
licenseText="LICENSE_GLIDE.txt" />
|
||||
name="Coil"
|
||||
author="Colin White et.al"
|
||||
website="https://github.com/coil-kt/coil"
|
||||
license="Apache 2.0"
|
||||
licenseText="LICENSE_APACHE-2.0.txt" />
|
||||
<library
|
||||
name="Iconify"
|
||||
author="Joan Zapata"
|
||||
|
|
|
@ -47,7 +47,6 @@ import com.google.android.material.snackbar.Snackbar
|
|||
import com.joanzapata.iconify.Iconify
|
||||
import com.leinardi.android.speeddial.SpeedDialActionItem
|
||||
import com.leinardi.android.speeddial.SpeedDialView
|
||||
import io.reactivex.disposables.Disposable
|
||||
import kotlinx.coroutines.*
|
||||
import org.apache.commons.lang3.StringUtils
|
||||
import org.greenrobot.eventbus.EventBus
|
||||
|
@ -128,10 +127,8 @@ class FeedItemlistFragment : Fragment(), AdapterView.OnItemClickListener, Toolba
|
|||
val iconTintManager: ToolbarIconTintManager = object : ToolbarIconTintManager(
|
||||
requireContext(), binding.toolbar, binding.collapsingToolbar) {
|
||||
override fun doTint(themedContext: Context) {
|
||||
binding.toolbar.menu.findItem(R.id.refresh_item)
|
||||
.setIcon(AppCompatResources.getDrawable(themedContext, R.drawable.ic_refresh))
|
||||
binding.toolbar.menu.findItem(R.id.action_search)
|
||||
.setIcon(AppCompatResources.getDrawable(themedContext, R.drawable.ic_search))
|
||||
binding.toolbar.menu.findItem(R.id.refresh_item).setIcon(AppCompatResources.getDrawable(themedContext, R.drawable.ic_refresh))
|
||||
binding.toolbar.menu.findItem(R.id.action_search).setIcon(AppCompatResources.getDrawable(themedContext, R.drawable.ic_search))
|
||||
}
|
||||
}
|
||||
iconTintManager.updateTint()
|
||||
|
@ -357,13 +354,13 @@ class FeedItemlistFragment : Fragment(), AdapterView.OnItemClickListener, Toolba
|
|||
@UnstableApi @Subscribe(threadMode = ThreadMode.MAIN)
|
||||
fun favoritesChanged(event: FavoritesEvent?) {
|
||||
Logd(TAG, "favoritesChanged called")
|
||||
updateUi()
|
||||
loadItems()
|
||||
}
|
||||
|
||||
@UnstableApi @Subscribe(threadMode = ThreadMode.MAIN)
|
||||
fun onQueueChanged(event: QueueEvent?) {
|
||||
Logd(TAG, "onQueueChanged called")
|
||||
updateUi()
|
||||
loadItems()
|
||||
}
|
||||
|
||||
override fun onStartSelectMode() {
|
||||
|
@ -386,27 +383,23 @@ class FeedItemlistFragment : Fragment(), AdapterView.OnItemClickListener, Toolba
|
|||
swipeActions.attachTo(binding.recyclerView)
|
||||
}
|
||||
|
||||
@UnstableApi private fun updateUi() {
|
||||
loadItems()
|
||||
}
|
||||
|
||||
@UnstableApi @Subscribe(threadMode = ThreadMode.MAIN)
|
||||
fun onPlayerStatusChanged(event: PlayerStatusEvent?) {
|
||||
Logd(TAG, "onPlayerStatusChanged called")
|
||||
updateUi()
|
||||
loadItems()
|
||||
}
|
||||
|
||||
@UnstableApi @Subscribe(threadMode = ThreadMode.MAIN)
|
||||
fun onUnreadItemsChanged(event: UnreadItemsUpdateEvent?) {
|
||||
Logd(TAG, "onUnreadItemsChanged called")
|
||||
updateUi()
|
||||
loadItems()
|
||||
}
|
||||
|
||||
@UnstableApi @Subscribe(threadMode = ThreadMode.MAIN)
|
||||
fun onFeedListChanged(event: FeedListUpdateEvent) {
|
||||
if (feed != null && event.contains(feed!!)) {
|
||||
Logd(TAG, "onFeedListChanged called")
|
||||
updateUi()
|
||||
loadItems()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -461,7 +454,6 @@ class FeedItemlistFragment : Fragment(), AdapterView.OnItemClickListener, Toolba
|
|||
@UnstableApi private fun setupHeaderView() {
|
||||
if (feed == null || headerCreated) return
|
||||
|
||||
// https://github.com/bumptech/glide/issues/529
|
||||
binding.imgvBackground.colorFilter = LightingColorFilter(-0x99999a, 0x000000)
|
||||
binding.header.imgvCover.setOnClickListener { showFeedInfo() }
|
||||
binding.header.butShowSettings.setOnClickListener {
|
||||
|
@ -572,7 +564,7 @@ class FeedItemlistFragment : Fragment(), AdapterView.OnItemClickListener, Toolba
|
|||
val feed_ = loadData()
|
||||
if (feed_ != null) {
|
||||
var hasNonMediaItems = false
|
||||
for (item in feed_!!.items) {
|
||||
for (item in feed_.items) {
|
||||
if (item.media == null) {
|
||||
hasNonMediaItems = true
|
||||
break
|
||||
|
|
|
@ -134,8 +134,7 @@ class QueueFragment : Fragment(), Toolbar.OnMenuItemClickListener, SelectableAda
|
|||
recyclerAdapter = object : QueueRecyclerAdapter(activity as MainActivity, swipeActions) {
|
||||
override fun onCreateContextMenu(menu: ContextMenu, v: View, menuInfo: ContextMenu.ContextMenuInfo?) {
|
||||
super.onCreateContextMenu(menu, v, menuInfo)
|
||||
MenuItemUtils.setOnClickListeners(menu
|
||||
) { item: MenuItem -> this@QueueFragment.onContextItemSelected(item) }
|
||||
MenuItemUtils.setOnClickListeners(menu) { item: MenuItem -> this@QueueFragment.onContextItemSelected(item) }
|
||||
}
|
||||
}
|
||||
recyclerAdapter?.setOnSelectModeListener(this)
|
||||
|
@ -163,7 +162,6 @@ class QueueFragment : Fragment(), Toolbar.OnMenuItemClickListener, SelectableAda
|
|||
override fun onMainActionSelected(): Boolean {
|
||||
return false
|
||||
}
|
||||
|
||||
override fun onToggleChanged(open: Boolean) {
|
||||
if (open && recyclerAdapter!!.selectedCount == 0) {
|
||||
(activity as MainActivity).showSnackbarAbovePlayer(R.string.no_items_selected, Snackbar.LENGTH_SHORT)
|
||||
|
@ -193,11 +191,10 @@ class QueueFragment : Fragment(), Toolbar.OnMenuItemClickListener, SelectableAda
|
|||
recyclerView.saveScrollPosition(TAG)
|
||||
}
|
||||
|
||||
override fun onStop() {
|
||||
super.onStop()
|
||||
scope.cancel()
|
||||
// disposable?.dispose()
|
||||
}
|
||||
// override fun onStop() {
|
||||
// super.onStop()
|
||||
//// disposable?.dispose()
|
||||
// }
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
fun onEventMainThread(event: QueueEvent) {
|
||||
|
@ -340,6 +337,7 @@ class QueueFragment : Fragment(), Toolbar.OnMenuItemClickListener, SelectableAda
|
|||
recyclerAdapter?.endSelectMode()
|
||||
recyclerAdapter = null
|
||||
EventBus.getDefault().unregister(this)
|
||||
scope.cancel()
|
||||
|
||||
toolbar.setOnMenuItemClickListener(null)
|
||||
toolbar.setOnLongClickListener(null)
|
||||
|
@ -518,7 +516,6 @@ class QueueFragment : Fragment(), Toolbar.OnMenuItemClickListener, SelectableAda
|
|||
Log.e(TAG, Log.getStackTraceString(e))
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
override fun onStartSelectMode() {
|
||||
|
|
|
@ -107,8 +107,8 @@ class EpisodeItemViewHolder(private val activity: MainActivity, parent: ViewGrou
|
|||
container.alpha = if (item.isPlayed()) 0.75f else 1.0f
|
||||
|
||||
val newButton = ItemActionButton.forItem(item)
|
||||
// Log.d(TAG, "bind ${actionButton?.TAG} ${newButton.TAG} ${item.title}")
|
||||
// not using a new button to ensure valid progress values
|
||||
Logd(TAG, "bind ${actionButton?.TAG} ${newButton.TAG} ${item.title}")
|
||||
// not using a new button to ensure valid progress values, for TTS audio generation
|
||||
if (!(actionButton?.TAG == TTSActionButton::class.simpleName && newButton.TAG == TTSActionButton::class.simpleName)) {
|
||||
actionButton = newButton
|
||||
actionButton?.configure(secondaryActionButton, secondaryActionIcon, activity)
|
||||
|
|
|
@ -13,9 +13,9 @@ buildscript {
|
|||
}
|
||||
}
|
||||
|
||||
//plugins {
|
||||
// id 'com.google.devtools.ksp' version '1.9.22-1.0.17' apply false
|
||||
//}
|
||||
plugins {
|
||||
id 'com.google.devtools.ksp' version '1.9.24-1.0.20' apply false
|
||||
}
|
||||
|
||||
allprojects {
|
||||
repositories {
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
## 5.2.1
|
||||
|
||||
* fixed issue of play/pause button not correctly updated in Queue
|
||||
|
||||
## 5.2.0
|
||||
|
||||
* suppressed log.d messages in release app (unbelievable incomplete suppression last time)
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
|
||||
Version 5.2.1 brings several changes:
|
||||
|
||||
* fixed issue of play/pause button not correctly updated in Queue
|
|
@ -1,5 +1,5 @@
|
|||
|
||||
Podcini is an open source podcast instrument, attuned to Puccini, adorned with pasticcini and aromatized with porcini.
|
||||
Podcini, an open source podcast instrument, attuned to Puccini, adorned with pasticcini and aromatized with porcini, invites your harmonious heartbeats.
|
||||
|
||||
It allows you to subscribe to any RSS feed (with or without media), gives you instant access to millions of free and paid podcasts or plain RSS feeds, from independent podcasters to large publishing houses such as the BBC, NPR and CNN. Add, import and export their feeds hassle-free using the Apple Podcasts database, OPML files or simple RSS URLs.
|
||||
|
||||
|
|
Loading…
Reference in New Issue