6.0.9 commit
This commit is contained in:
parent
2943f2759e
commit
3f07f253b9
10
README.md
10
README.md
|
@ -11,7 +11,7 @@ Or download the latest APK from the [Releases Section](https://github.com/XilinJ
|
|||
|
||||
## Announcement
|
||||
|
||||
### Podcini.R, or Podcini 6, is currently under pre-release for early evaluations. The major overhaul is the replacement of SQLite DB with the object-based Realm DB. With a different application Id, it can be installed in parallel with a previous version. See [Podcini 6 migrations instructions](migrationTo6.md)
|
||||
### Podcini.R version 6 is released. It's not compatible with prior versions. The major overhaul is the replacement of SQLite DB with the object-based Realm DB. With a different application Id, it is installed afresh and in parallel with a previous version. You can migrate certain assets from an earlier version, see [Podcini 6 migrations instructions](migrationTo6.md)
|
||||
|
||||
This project is based on a fork of [AntennaPod](<https://github.com/AntennaPod/AntennaPod>) as of Feb 5 2024.
|
||||
|
||||
|
@ -19,10 +19,10 @@ Compared to AntennaPod this project:
|
|||
|
||||
1. Migrated all media routines to `androidx.media3`, with `AudioOffloadMode` enabled, nicer to device battery,
|
||||
2. Is purely `Kotlin` based and mono-modular, and targets Android 14,
|
||||
3. Iron-age celebrity SQLite is replaced with modern object-base Realm DB (Podcini.R)
|
||||
4. Removed the need for support libraries and jetifier
|
||||
5. Outfits with Viewbinding, Coil replacing Glide, coroutines replacing RxJava and threads, and SharedFlow replacing EventBus,
|
||||
6. Boasts new UI's including streamlined drawer, subscriptions view and player controller,
|
||||
3. Iron-age celebrity SQLite is replaced with modern object-base Realm DB (Podcini.R),
|
||||
4. Outfits with Viewbinding, Coil replacing Glide, coroutines replacing RxJava and threads, SharedFlow replacing EventBus, and jetifier removed,
|
||||
5. Boasts new UI's including streamlined drawer, subscriptions view and player controller,
|
||||
6. supports multiple and circular play queues
|
||||
7. Accepts podcast as well as plain RSS and YouTube feeds,
|
||||
8. Offers Readability and Text-to-Speech for RSS contents,
|
||||
9. Features `instant sync` across devices without a server.
|
||||
|
|
|
@ -62,6 +62,7 @@ android {
|
|||
|
||||
lint {
|
||||
// disable "GradleDependency"
|
||||
checkReleaseBuilds false
|
||||
checkDependencies true
|
||||
warningsAsErrors true
|
||||
abortOnError true
|
||||
|
@ -125,8 +126,8 @@ android {
|
|||
buildConfig true
|
||||
}
|
||||
defaultConfig {
|
||||
versionCode 3020208
|
||||
versionName "6.0.8"
|
||||
versionCode 3020209
|
||||
versionName "6.0.9"
|
||||
|
||||
applicationId "ac.mdiq.podcini.R"
|
||||
def commit = ""
|
||||
|
|
|
@ -5,7 +5,6 @@ buildscript {
|
|||
gradlePluginPortal()
|
||||
}
|
||||
ext.kotlin_version = '2.0.0'
|
||||
// ext.kotlin_version = '1.9.24'
|
||||
dependencies {
|
||||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
||||
classpath 'com.android.tools.build:gradle:8.2.2'
|
||||
|
@ -15,9 +14,8 @@ buildscript {
|
|||
}
|
||||
|
||||
plugins {
|
||||
// id 'io.realm.kotlin' version '1.16.0' apply false
|
||||
id 'io.realm.kotlin' version '2.0.0' apply false
|
||||
// id("io.realm.kotlin")
|
||||
// id 'com.google.devtools.ksp' version '2.0.0-1.0.23' apply false
|
||||
}
|
||||
|
||||
allprojects {
|
||||
|
|
61
changelog.md
61
changelog.md
|
@ -1,3 +1,64 @@
|
|||
# 6.0.9
|
||||
|
||||
This is the first release of Podcini.R version 6. If you have an older version installed, this release installs afresh in parallel with and is not compatible with older versions. Main changes are:
|
||||
|
||||
* complete overhaul of database and routines, ditched the iron-age celebrity SQLite and entrusted the modern object-based Realm
|
||||
* export/import DB is supported for the Realm DB with file extension .realm
|
||||
* DB from Podcini version 5 and below can not be imported, if you need migration, see migrationTo6.md file on github for instructions
|
||||
* components rely more on objects for communication, unnecessary DB access is reduced
|
||||
* remove feeds is performed promptly in blocking way
|
||||
* feeds sorting is more explicit and bi-directional and in the same style as episodes sorting
|
||||
* feed order names changed in English (other languages need update)
|
||||
* grid view is enabled for Subscriptions and can be switched on in Settings->User interface
|
||||
* in Subscriptions view, click on cover image of a feed opens the FeedInfo view (not FeedEpisodes view)
|
||||
* in Subscriptions and episodes list views, corrected the issue of wrong images of episodes being shown when scrolling
|
||||
* receiving flow events are strictly tied to life cycles of the components
|
||||
* re-worked some events related to feed changes
|
||||
* queue is circular: if the final item in queue finished, the first item in queue (if exists) will get played
|
||||
* NavDrawer no longer gets updated in the background but only upon open
|
||||
* player control UI is more efficient
|
||||
* PlaybackController is further enhanced for multiple access
|
||||
* non-essential instantiations of PlaybackController are stripped
|
||||
* AudioPlayer view is hidden when there is no media set to play
|
||||
* playback routines are extensively tuned and cleaned, less layered
|
||||
* in any episode list views, swipe with NO_ACTION defined pops up the swipe config dialog
|
||||
* date of new episode is highlighted in episodes list views
|
||||
* in episodes sort dialog, "Date" is changed to "Publish date"
|
||||
* added more garbage collections
|
||||
* in preference "Delete Removes From Queue" is set to true by default
|
||||
* added in preference "Remove from queue when marked as played" and set it to true by default
|
||||
* added episode counts in Episodes and History views
|
||||
* enhanced play position updates in all episodes list views
|
||||
* added "Remove from favorites" in speed-dial menu
|
||||
* on PlayerDetailed and EpisodeHome views the home button on action bar has a toggle
|
||||
* FeedInfo view has button showing number of episodes to open the FeedEpisodes view
|
||||
* on action bar of FeedEpisodes view there is a direct access to Queue
|
||||
* tidied up the header of FeedEpisodes view
|
||||
* media size is shown on episode info view
|
||||
* net-fetching of media size for not-downloaded media is removed for episode list views
|
||||
* there is a setting to disable/enable auto backup OPML files to Google
|
||||
* InTheatre object is now the center reference for all currently playing stuff including the current play queue
|
||||
* 5 queues are provided by default: Default queue, and Queues 1-4
|
||||
* all queue operations are on the curQueue, which can be set in all episodes list views
|
||||
* on app startup, the most recently updated queue is set to curQueue
|
||||
* progressive loading in some episodes list views are more efficient
|
||||
* on importing preferences, PlayerWidgetPrefs is ignored
|
||||
* position updates to widget is also set for every 5 seconds
|
||||
* in FeedEpisodes view, refresh only performs on the single feed (rather than all feeds)
|
||||
* VariableSpeed dialog is no longer depends on the controller
|
||||
* Tapping the media playback notification opens Podcini
|
||||
* Long-press filter button in FeedEpisode view enables/disables filters without changing filter settings
|
||||
* in wifi sync and episode progress export/import, changed start position and added played duration for episodes (compatible with 5.5.3), this helps for the statistics view at the importer to correctly show imported progress without having to do "include marked played"
|
||||
* the Counter and its seetings are removed
|
||||
* all RxJava code was replaced with coroutines, RxJava dependency is kept only for using fyyd search
|
||||
* PlaybackPreferences using SharePreferences was removed and related info is handled by the DB as CurrentState
|
||||
* decade-old joanzapata iconify is replaced with mikepenz iconics
|
||||
* removed the need for support libraries and the need for the jetifier
|
||||
* Java tools checkstyle and spotbus are removed
|
||||
* the clumsy FeedDrawerItem class was removed and related compponents are based purely on feed objects
|
||||
* code is now built with Kotlin 2.0.0
|
||||
* for more details, see the changelogs in pre-release versions
|
||||
|
||||
## 6.0.8
|
||||
|
||||
* feeds sorting dialog layout is set to single column due to potential long text issue
|
||||
|
|
|
@ -0,0 +1,61 @@
|
|||
|
||||
Version 6.0.9 brings several changes:
|
||||
|
||||
This is the first release of Podcini.R version 6. If you have an older version installed, this release installs afresh in parallel with and is not compatible with older versions. Main changes are:
|
||||
|
||||
* complete overhaul of database and routines, ditched the iron-age celebrity SQLite and entrusted the modern object-based Realm
|
||||
* export/import DB is supported for the Realm DB with file extension .realm
|
||||
* DB from Podcini version 5 and below can not be imported, if you need migration, see migrationTo6.md file on github for instructions
|
||||
* components rely more on objects for communication, unnecessary DB access is reduced
|
||||
* remove feeds is performed promptly in blocking way
|
||||
* feeds sorting is more explicit and bi-directional and in the same style as episodes sorting
|
||||
* feed order names changed in English (other languages need update)
|
||||
* grid view is enabled for Subscriptions and can be switched on in Settings->User interface
|
||||
* in Subscriptions view, click on cover image of a feed opens the FeedInfo view (not FeedEpisodes view)
|
||||
* in Subscriptions and episodes list views, corrected the issue of wrong images of episodes being shown when scrolling
|
||||
* receiving flow events are strictly tied to life cycles of the components
|
||||
* re-worked some events related to feed changes
|
||||
* queue is circular: if the final item in queue finished, the first item in queue (if exists) will get played
|
||||
* NavDrawer no longer gets updated in the background but only upon open
|
||||
* player control UI is more efficient
|
||||
* PlaybackController is further enhanced for multiple access
|
||||
* non-essential instantiations of PlaybackController are stripped
|
||||
* AudioPlayer view is hidden when there is no media set to play
|
||||
* playback routines are extensively tuned and cleaned, less layered
|
||||
* in any episode list views, swipe with NO_ACTION defined pops up the swipe config dialog
|
||||
* date of new episode is highlighted in episodes list views
|
||||
* in episodes sort dialog, "Date" is changed to "Publish date"
|
||||
* added more garbage collections
|
||||
* in preference "Delete Removes From Queue" is set to true by default
|
||||
* added in preference "Remove from queue when marked as played" and set it to true by default
|
||||
* added episode counts in Episodes and History views
|
||||
* enhanced play position updates in all episodes list views
|
||||
* added "Remove from favorites" in speed-dial menu
|
||||
* on PlayerDetailed and EpisodeHome views the home button on action bar has a toggle
|
||||
* FeedInfo view has button showing number of episodes to open the FeedEpisodes view
|
||||
* on action bar of FeedEpisodes view there is a direct access to Queue
|
||||
* tidied up the header of FeedEpisodes view
|
||||
* media size is shown on episode info view
|
||||
* net-fetching of media size for not-downloaded media is removed for episode list views
|
||||
* there is a setting to disable/enable auto backup OPML files to Google
|
||||
* InTheatre object is now the center reference for all currently playing stuff including the current play queue
|
||||
* 5 queues are provided by default: Default queue, and Queues 1-4
|
||||
* all queue operations are on the curQueue, which can be set in all episodes list views
|
||||
* on app startup, the most recently updated queue is set to curQueue
|
||||
* progressive loading in some episodes list views are more efficient
|
||||
* on importing preferences, PlayerWidgetPrefs is ignored
|
||||
* position updates to widget is also set for every 5 seconds
|
||||
* in FeedEpisodes view, refresh only performs on the single feed (rather than all feeds)
|
||||
* VariableSpeed dialog is no longer depends on the controller
|
||||
* Tapping the media playback notification opens Podcini
|
||||
* Long-press filter button in FeedEpisode view enables/disables filters without changing filter settings
|
||||
* in wifi sync and episode progress export/import, changed start position and added played duration for episodes (compatible with 5.5.3), this helps for the statistics view at the importer to correctly show imported progress without having to do "include marked played"
|
||||
* the Counter and its seetings are removed
|
||||
* all RxJava code was replaced with coroutines, RxJava dependency is kept only for using fyyd search
|
||||
* PlaybackPreferences using SharePreferences was removed and related info is handled by the DB as CurrentState
|
||||
* decade-old joanzapata iconify is replaced with mikepenz iconics
|
||||
* removed the need for support libraries and the need for the jetifier
|
||||
* Java tools checkstyle and spotbus are removed
|
||||
* the clumsy FeedDrawerItem class was removed and related compponents are based purely on feed objects
|
||||
* code is now built with Kotlin 2.0.0
|
||||
* for more details, see the changelogs in pre-release versions
|
|
@ -1,6 +1,8 @@
|
|||
|
||||
Podcini, an open source podcast instrument, attuned to Puccini, adorned with pasticcini and aromatized with porcini, invites your harmonious heartbeats.
|
||||
|
||||
Podcini.R is a revamped version of Podcini version 5, uses a modern object-base database. Though newer features are provided, it works in similar ways as Podcini. This app installs afresh and in parallel with any older version of Podcini. Though incompatible with older versions, migration path is provided. If you need migration from an earlier version, see Github site for instructions.
|
||||
|
||||
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.
|
||||
|
||||
Download, stream or queue episodes and enjoy them the way you like with adjustable playback speeds, chapter support and a sleep timer. In case the feed contains no media (plain RSS feed), Text-to-Speech engine (if available) is used to play the text.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
android.useAndroidX=true
|
||||
android.enableJetifier=false
|
||||
android.jetifier.ignorelist=bcprov-jdk15on
|
||||
#android.jetifier.ignorelist=bcprov-jdk15on
|
||||
android.nonTransitiveRClass=true
|
||||
android.nonFinalResIds=true
|
||||
|
||||
|
@ -8,5 +8,4 @@ org.gradle.caching=true
|
|||
|
||||
org.gradle.jvmargs=-Xmx2048m
|
||||
|
||||
android.defaults.buildfeatures.buildconfig=true
|
||||
org.gradle.configuration-cache=true
|
||||
|
|
Loading…
Reference in New Issue