Skip to content

Commit

Permalink
6.15.3 commit
Browse files Browse the repository at this point in the history
  • Loading branch information
XilinJia committed Dec 5, 2024
1 parent dcbbbd7 commit d782c09
Show file tree
Hide file tree
Showing 21 changed files with 1,868 additions and 2,143 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ build/
**/*.classpath
**/.directory

toml2gradle.py

# Local configuration file (sdk path, etc)
local.properties
Expand Down
20 changes: 14 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -223,10 +223,19 @@ While podcast subscriptions' OPML files (from AntennaPod or any other sources) c
### Security and reliability

* Disabled `usesCleartextTraffic`, so that all content transmission is more private and secure
* Settings/Preferences can now be exported and imported
* there are three sets of loggings: episodes downloaded, contents shared to Podcini, and contents removed from Podcini (either feeds or individual episodes in synthetic feeds)
* in Import/Export settings, there is a new Combo Import/Export
* it handles Preferences, Database, and Media files combined or selectively
* all are saved to "Podcini-Backups-(date)" directory under the directory you pick
* on import, Media files have to be done after the DB is imported (the option is disabled when importing DB is selected)
* individual import/export functions for Preferences, Database, and Media files are removed
* if in case one wants to import previously exported Preferences, Database, or Media files,
* manually create a directory named "Podcini-Backups"
* copy the previous .realm file into the above directory
* copy the previous directories "Podcini-Prefs" and/or "Podcini-MediaFiles" into the above directory
* no need to copy all three, only the ones you need
* then do the combo import
* Play history/progress can be separately exported/imported as Json files
* there is logging for every content shared to Podcini, which can be reviewed and repaired if error
* Downloaded media files can be exported/imported
* Reconsile feature (accessed from Downloads view) is added to ensure downloaded media files are in sync with specs in DB
* Podcasts can be selectively exported from Subscriptions view
* There is a setting to disable/enable auto backup of OPML files to Google
Expand All @@ -239,10 +248,9 @@ For more details of the changes, see the [Changelog](changelog.md)
## Screenshots

### Settings
<img src="./images/1_drawer.jpg" width="238" /> <img src="./images/2_setting.jpg" width="238" /> <img src="./images/2_setting01.jpg" width="238" /> <img src="./images/2_setting1.jpg" width="238" />
<img src="./images/1_drawer.jpg" width="238" /> <img src="./images/2_setting.jpg" width="238" /> <img src="./images/2_setting01.jpg" width="238" />

### Import/Export
<img src="./images/2_setting2.jpg" width="238" /> <img src="./images/2_setting3.jpg" width="238" />
<img src="./images/2_setting1.jpg" width="238" /> <img src="./images/2_setting2.jpg" width="238" />

### Subscriptions
<img src="./images/3_subscriptions2.jpg" width="238" /> <img src="./images/3_subscriptions1.jpg" width="238" /> <img src="./images/3_subscriptions0.jpg" width="238" />
Expand Down
151 changes: 67 additions & 84 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ android {
vectorDrawables.useSupportLibrary false
vectorDrawables.generatedDensities = []

versionCode 3020310
versionName "6.15.2"
versionCode 3020312
versionName "6.15.3"

applicationId "ac.mdiq.podcini.R"
def commit = ""
Expand Down Expand Up @@ -172,90 +172,73 @@ android {
}

dependencies {
implementation libs.androidx.material3.android
implementation libs.androidx.fragment.compose
// implementation libs.androidx.material.icons.extended

/** Desugaring for using VistaGuide **/
coreLibraryDesugaring libs.desugar.jdk.libs.nio
implementation libs.vistaguide

def composeBom = libs.androidx.compose.bom
implementation composeBom

implementation libs.androidx.ui.tooling.preview
debugImplementation libs.androidx.ui.tooling
implementation libs.androidx.constraintlayout.compose

implementation libs.androidx.activity.compose
implementation libs.androidx.window

implementation libs.androidx.core.ktx
implementation libs.kotlinx.coroutines.android

implementation libs.androidx.lifecycle.runtime.ktx
implementation libs.androidx.annotation
implementation libs.androidx.appcompat
implementation libs.androidx.coordinatorlayout
implementation libs.androidx.fragment.fragment.ktx
// implementation libs.androidx.gridlayout
implementation libs.androidx.media3.exoplayer
implementation libs.androidx.media3.ui
implementation libs.androidx.media3.media3.datasource.okhttp
implementation libs.media3.common
implementation libs.media3.session
implementation libs.androidx.palette.ktx
implementation libs.androidx.preference.ktx
implementation libs.androidx.recyclerview
// implementation libs.androidx.viewpager2
implementation libs.androidx.work.runtime
implementation libs.androidx.core.splashscreen
implementation libs.androidx.documentfile
implementation libs.androidx.webkit

implementation libs.material

implementation libs.library.base

implementation libs.commons.lang3
implementation libs.commons.io
implementation libs.jsoup

implementation libs.coil
implementation libs.coil.compose
implementation platform("androidx.compose:compose-bom:2024.11.00")
implementation "androidx.compose.material3:material3:1.3.1"

implementation "androidx.activity:activity-compose:1.9.3"
implementation "androidx.annotation:annotation:1.9.1"
implementation "androidx.appcompat:appcompat:1.7.0"
implementation "androidx.constraintlayout:constraintlayout-compose:1.1.0"
implementation "androidx.coordinatorlayout:coordinatorlayout:1.2.0"
implementation "androidx.core:core-ktx:1.15.0"
implementation "androidx.documentfile:documentfile:1.0.1"
implementation "androidx.core:core-splashscreen:1.0.1"
implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.8.7"
implementation "androidx.media3:media3-exoplayer:1.5.0"
implementation "androidx.media3:media3-datasource-okhttp:1.5.0"
implementation "androidx.media3:media3-ui:1.5.0"
implementation "androidx.navigation:navigation-compose:2.8.4"
implementation "androidx.palette:palette-ktx:1.0.0"
implementation "androidx.recyclerview:recyclerview:1.3.2"
implementation "androidx.preference:preference-ktx:1.2.1"
implementation "androidx.compose.ui:ui-tooling-preview:1.7.5"
implementation "androidx.webkit:webkit:1.12.1"
implementation "androidx.window:window:1.3.0"
implementation "androidx.work:work-runtime:2.10.0"
implementation "androidx.media3:media3-common:1.5.0"
implementation "androidx.media3:media3-session:1.5.0"
implementation "androidx.fragment:fragment-ktx:1.8.5"

implementation "com.google.android.material:material:1.12.0"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.8.1"

implementation libs.okhttp
implementation libs.okhttp3.okhttp.urlconnection
implementation libs.okio

implementation libs.rxjava
implementation libs.rxjava3.rxjava
implementation libs.rxandroid

implementation libs.iconics.core
implementation libs.iconics.views
implementation libs.google.material.typeface
implementation libs.google.material.typeface.outlined

implementation libs.searchpreference
implementation libs.balloon

implementation libs.fyydlin

implementation libs.readability4j

// debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.14'

// Non-free dependencies:
playImplementation libs.core.ktx
compileOnly libs.wearable

playImplementation libs.play.services.base
freeImplementation libs.conscrypt.android

playApi libs.androidx.mediarouter
// playApi "com.google.android.support:wearable:2.9.0"
playApi libs.play.services.cast.framework
/** Desugaring for using VistaGuide **/
coreLibraryDesugaring "com.android.tools:desugar_jdk_libs_nio:2.1.3"
implementation "com.github.XilinJia.vistaguide:VistaGuide:lv0.24.2.6"

implementation "com.github.skydoves:balloon:1.6.6"
implementation "io.coil-kt:coil:2.7.0"
implementation "io.coil-kt:coil-compose:2.7.0"
implementation "commons-io:commons-io:2.16.1"
implementation "org.apache.commons:commons-lang3:3.15.0"
implementation "com.github.mfietz:fyydlin:v0.5.0"

implementation "com.mikepenz:google-material-typeface-outlined:4.0.0.2-kotlin"
implementation "com.mikepenz:google-material-typeface:4.0.0.3-kotlin"
implementation "com.mikepenz:iconics-views:5.5.0-b01"
implementation "com.mikepenz:iconics-core:5.5.0-b01"

implementation "org.jsoup:jsoup:1.18.1"
implementation "io.realm.kotlin:library-base:2.1.0"
implementation "com.squareup.okhttp3:okhttp:4.12.0"
implementation "com.squareup.okio:okio:3.9.0"
implementation "com.squareup.okhttp3:okhttp-urlconnection:4.12.0"
implementation "net.dankito.readability4j:readability4j:1.0.8"
implementation "io.reactivex.rxjava3:rxandroid:3.0.2"
implementation "io.reactivex.rxjava3:rxjava:3.1.8"
implementation "io.reactivex.rxjava2:rxjava:2.2.21"
implementation "com.github.ByteHamster:SearchPreference:v2.5.0"

compileOnly "com.google.android.wearable:wearable:2.9.0"

freeImplementation "org.conscrypt:conscrypt-android:2.5.2"
debugImplementation "androidx.compose.ui:ui-tooling:1.7.5"

playImplementation "com.google.android.play:core-ktx:1.8.1"
playImplementation "com.google.android.gms:play-services-base:18.5.0"
playApi "androidx.mediarouter:mediarouter:1.7.0"
playApi "com.google.android.gms:play-services-cast-framework:22.0.0"
}

apply plugin: "io.realm.kotlin"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import ac.mdiq.podcini.storage.model.Episode
import ac.mdiq.podcini.storage.model.EpisodeFilter
import ac.mdiq.podcini.storage.model.EpisodeSortOrder
import ac.mdiq.podcini.storage.model.PlayState
import ac.mdiq.podcini.ui.activity.PreferenceActivity.AutoDownloadPreferencesFragment.EpisodeCleanupOptions
import ac.mdiq.podcini.ui.activity.PreferenceActivity.EpisodeCleanupOptions
import ac.mdiq.podcini.util.Logd
import android.content.Context
import android.util.Log
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ import kotlin.math.min
object Episodes {
private val TAG: String = Episodes::class.simpleName ?: "Anonymous"

private val smartMarkAsPlayedPercent: Int = 95
private const val smartMarkAsPlayedPercent: Int = 95

val prefRemoveFromQueueMarkedPlayed by lazy { appPrefs.getBoolean(Prefs.prefRemoveFromQueueMarkedPlayed.name, true) }
val prefDeleteRemovesFromQueue by lazy { appPrefs.getBoolean(Prefs.prefDeleteRemovesFromQueue.name, false) }
Expand Down Expand Up @@ -229,7 +229,7 @@ object Episodes {
if (it.playState == PlayState.PLAYED.code) it.playState = PlayState.UNPLAYED.code
else it.playState = PlayState.PLAYED.code
}
if (resetMediaPosition) it.media?.setPosition(0)
if (resetMediaPosition || it.playState == PlayState.PLAYED.code || it.playState == PlayState.IGNORED.code) it.media?.setPosition(0)
}
Logd(TAG, "setPlayStateSync played0: ${result.playState}")
if (removeFromQueue && played == PlayState.PLAYED.code && prefRemoveFromQueueMarkedPlayed) removeFromAllQueuesSync(result)
Expand Down
Loading

0 comments on commit d782c09

Please sign in to comment.