diff --git a/android/app/src/main/java/com/audiobookshelf/app/data/DataClasses.kt b/android/app/src/main/java/com/audiobookshelf/app/data/DataClasses.kt index a3239bcb..bbddbf77 100644 --- a/android/app/src/main/java/com/audiobookshelf/app/data/DataClasses.kt +++ b/android/app/src/main/java/com/audiobookshelf/app/data/DataClasses.kt @@ -53,7 +53,7 @@ class Podcast( audioTracks.forEach { at -> if (episodes?.find{ it.audioTrack?.localFileId == at.localFileId } == null) { val localEpisodeId = "local_ep_" + at.localFileId - val newEpisode = PodcastEpisode(localEpisodeId,(episodes?.size ?: 0) + 1,null,null,at.title,null,null,null, null, null, at,at.duration,0, null, localEpisodeId) + val newEpisode = PodcastEpisode(localEpisodeId,(episodes?.size ?: 0) + 1,null,null,at.title,null,null,null, null, null, at,null,at.duration,0, null, localEpisodeId) episodes?.add(newEpisode) } } @@ -67,7 +67,7 @@ class Podcast( @JsonIgnore override fun addAudioTrack(audioTrack:AudioTrack) { val localEpisodeId = "local_ep_" + audioTrack.localFileId - val newEpisode = PodcastEpisode(localEpisodeId,(episodes?.size ?: 0) + 1,null,null,audioTrack.title,null,null,null, null, null,audioTrack,audioTrack.duration,0, null, localEpisodeId) + val newEpisode = PodcastEpisode(localEpisodeId,(episodes?.size ?: 0) + 1,null,null,audioTrack.title,null,null,null, null, null,audioTrack,null,audioTrack.duration,0, null, localEpisodeId) episodes?.add(newEpisode) var index = 1 @@ -96,7 +96,7 @@ class Podcast( @JsonIgnore fun addEpisode(audioTrack:AudioTrack, episode:PodcastEpisode):PodcastEpisode { val localEpisodeId = "local_ep_" + episode.id - val newEpisode = PodcastEpisode(localEpisodeId,(episodes?.size ?: 0) + 1,episode.episode,episode.episodeType,episode.title,episode.subtitle,episode.description,null,null,null,audioTrack,audioTrack.duration,0, episode.id, localEpisodeId) + val newEpisode = PodcastEpisode(localEpisodeId,(episodes?.size ?: 0) + 1,episode.episode,episode.episodeType,episode.title,episode.subtitle,episode.description,null,null,null,audioTrack,episode.chapters,audioTrack.duration,0, episode.id, localEpisodeId) episodes?.add(newEpisode) var index = 1 @@ -251,6 +251,7 @@ data class PodcastEpisode( var publishedAt:Long?, var audioFile:AudioFile?, var audioTrack:AudioTrack?, + var chapters:List?, var duration:Double?, var size:Long?, var serverEpisodeId:String?, // For local podcasts to match with server podcasts diff --git a/android/app/src/main/java/com/audiobookshelf/app/data/LocalLibraryItem.kt b/android/app/src/main/java/com/audiobookshelf/app/data/LocalLibraryItem.kt index eb158d8b..f52d45df 100644 --- a/android/app/src/main/java/com/audiobookshelf/app/data/LocalLibraryItem.kt +++ b/android/app/src/main/java/com/audiobookshelf/app/data/LocalLibraryItem.kt @@ -85,13 +85,14 @@ class LocalLibraryItem( val mediaMetadata = media.metadata - val chapters = if (mediaType == "book") (media as Book).chapters else mutableListOf() + var chapters = if (mediaType == "book") (media as Book).chapters else mutableListOf() var audioTracks = media.getAudioTracks() as MutableList val authorName = mediaMetadata.getAuthorDisplayName() val displayTitle = episode?.title ?: mediaMetadata.title var duration = getDuration() if (episode != null) { // Get podcast episode audio track episode.audioTrack?.let { at -> mutableListOf(at) }?.let { tracks -> audioTracks = tracks } + chapters = episode.chapters duration = episode.audioTrack?.duration ?: 0.0 Log.d("LocalLibraryItem", "getPlaybackSession: Got podcast episode audio track ${audioTracks.size}") }