mirror of
https://github.com/advplyr/audiobookshelf-app.git
synced 2025-07-10 14:04:41 +02:00
Fix missing metadata
This commit is contained in:
parent
f655f89c49
commit
d3172ece9b
3 changed files with 8 additions and 4 deletions
|
@ -11,7 +11,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
|
||||||
// Override point for customization after application launch.
|
// Override point for customization after application launch.
|
||||||
|
|
||||||
let configuration = Realm.Configuration(
|
let configuration = Realm.Configuration(
|
||||||
schemaVersion: 3,
|
schemaVersion: 4,
|
||||||
migrationBlock: { migration, oldSchemaVersion in
|
migrationBlock: { migration, oldSchemaVersion in
|
||||||
if (oldSchemaVersion < 1) {
|
if (oldSchemaVersion < 1) {
|
||||||
NSLog("Realm schema version was \(oldSchemaVersion)")
|
NSLog("Realm schema version was \(oldSchemaVersion)")
|
||||||
|
|
|
@ -14,7 +14,7 @@ class PlaybackSession: Object, Codable, Deletable {
|
||||||
@Persisted var libraryItemId: String?
|
@Persisted var libraryItemId: String?
|
||||||
@Persisted var episodeId: String?
|
@Persisted var episodeId: String?
|
||||||
@Persisted var mediaType: String = ""
|
@Persisted var mediaType: String = ""
|
||||||
// var mediaMetadata: MediaTypeMetadata - It is not implemented in android?
|
@Persisted var mediaMetadata: Metadata?
|
||||||
@Persisted var chapters = List<Chapter>()
|
@Persisted var chapters = List<Chapter>()
|
||||||
@Persisted var displayTitle: String?
|
@Persisted var displayTitle: String?
|
||||||
@Persisted var displayAuthor: String?
|
@Persisted var displayAuthor: String?
|
||||||
|
@ -67,12 +67,13 @@ class PlaybackSession: Object, Codable, Deletable {
|
||||||
|
|
||||||
var progress: Double { self.currentTime / self.totalDuration }
|
var progress: Double { self.currentTime / self.totalDuration }
|
||||||
|
|
||||||
internal init(id: String, userId: String? = nil, libraryItemId: String? = nil, episodeId: String? = nil, mediaType: String, chapters: List<Chapter> = List<Chapter>(), displayTitle: String? = nil, displayAuthor: String? = nil, coverPath: String? = nil, duration: Double, playMethod: Int, startedAt: Double? = nil, updatedAt: Double? = nil, timeListening: Double, audioTracks: List<AudioTrack> = List<AudioTrack>(), currentTime: Double, libraryItem: LibraryItem? = nil, localLibraryItem: LocalLibraryItem? = nil, serverConnectionConfigId: String? = nil, serverAddress: String? = nil) {
|
internal init(id: String, userId: String? = nil, libraryItemId: String? = nil, episodeId: String? = nil, mediaType: String, mediaMetadata: Metadata?, chapters: List<Chapter> = List<Chapter>(), displayTitle: String? = nil, displayAuthor: String? = nil, coverPath: String? = nil, duration: Double, playMethod: Int, startedAt: Double? = nil, updatedAt: Double? = nil, timeListening: Double, audioTracks: List<AudioTrack> = List<AudioTrack>(), currentTime: Double, libraryItem: LibraryItem? = nil, localLibraryItem: LocalLibraryItem? = nil, serverConnectionConfigId: String? = nil, serverAddress: String? = nil) {
|
||||||
self.id = id
|
self.id = id
|
||||||
self.userId = userId
|
self.userId = userId
|
||||||
self.libraryItemId = libraryItemId
|
self.libraryItemId = libraryItemId
|
||||||
self.episodeId = episodeId
|
self.episodeId = episodeId
|
||||||
self.mediaType = mediaType
|
self.mediaType = mediaType
|
||||||
|
self.mediaMetadata = mediaMetadata
|
||||||
self.chapters = chapters
|
self.chapters = chapters
|
||||||
self.displayTitle = displayTitle
|
self.displayTitle = displayTitle
|
||||||
self.displayAuthor = displayAuthor
|
self.displayAuthor = displayAuthor
|
||||||
|
@ -92,7 +93,7 @@ class PlaybackSession: Object, Codable, Deletable {
|
||||||
}
|
}
|
||||||
|
|
||||||
private enum CodingKeys : String, CodingKey {
|
private enum CodingKeys : String, CodingKey {
|
||||||
case id, userId, libraryItemId, episodeId, mediaType, chapters, displayTitle, displayAuthor, coverPath, duration, playMethod, mediaPlayer, deviceInfo, startedAt, updatedAt, timeListening, audioTracks, currentTime, libraryItem, localLibraryItem, serverConnectionConfigId, serverAddress, isLocal, localMediaProgressId
|
case id, userId, libraryItemId, episodeId, mediaType, mediaMetadata, chapters, displayTitle, displayAuthor, coverPath, duration, playMethod, mediaPlayer, deviceInfo, startedAt, updatedAt, timeListening, audioTracks, currentTime, libraryItem, localLibraryItem, serverConnectionConfigId, serverAddress, isLocal, localMediaProgressId
|
||||||
}
|
}
|
||||||
|
|
||||||
override init() {}
|
override init() {}
|
||||||
|
@ -105,6 +106,7 @@ class PlaybackSession: Object, Codable, Deletable {
|
||||||
libraryItemId = try values.decodeIfPresent(String.self, forKey: .libraryItemId)
|
libraryItemId = try values.decodeIfPresent(String.self, forKey: .libraryItemId)
|
||||||
episodeId = try values.decodeIfPresent(String.self, forKey: .episodeId)
|
episodeId = try values.decodeIfPresent(String.self, forKey: .episodeId)
|
||||||
mediaType = try values.decode(String.self, forKey: .mediaType)
|
mediaType = try values.decode(String.self, forKey: .mediaType)
|
||||||
|
mediaMetadata = try values.decodeIfPresent(Metadata.self, forKey: .mediaMetadata)
|
||||||
if let chapterList = try values.decodeIfPresent([Chapter].self, forKey: .chapters) {
|
if let chapterList = try values.decodeIfPresent([Chapter].self, forKey: .chapters) {
|
||||||
chapters.append(objectsIn: chapterList)
|
chapters.append(objectsIn: chapterList)
|
||||||
}
|
}
|
||||||
|
@ -134,6 +136,7 @@ class PlaybackSession: Object, Codable, Deletable {
|
||||||
try container.encode(libraryItemId, forKey: .libraryItemId)
|
try container.encode(libraryItemId, forKey: .libraryItemId)
|
||||||
try container.encode(episodeId, forKey: .episodeId)
|
try container.encode(episodeId, forKey: .episodeId)
|
||||||
try container.encode(mediaType, forKey: .mediaType)
|
try container.encode(mediaType, forKey: .mediaType)
|
||||||
|
try container.encode(mediaMetadata, forKey: .mediaMetadata)
|
||||||
try container.encode(Array(chapters), forKey: .chapters)
|
try container.encode(Array(chapters), forKey: .chapters)
|
||||||
try container.encode(displayTitle, forKey: .displayTitle)
|
try container.encode(displayTitle, forKey: .displayTitle)
|
||||||
try container.encode(displayAuthor, forKey: .displayAuthor)
|
try container.encode(displayAuthor, forKey: .displayAuthor)
|
||||||
|
|
|
@ -179,6 +179,7 @@ extension LocalLibraryItem {
|
||||||
libraryItemId: self.libraryItemId,
|
libraryItemId: self.libraryItemId,
|
||||||
episodeId: episode?.serverEpisodeId,
|
episodeId: episode?.serverEpisodeId,
|
||||||
mediaType: self.mediaType,
|
mediaType: self.mediaType,
|
||||||
|
mediaMetadata: mediaMetadata,
|
||||||
chapters: chapters,
|
chapters: chapters,
|
||||||
displayTitle: mediaMetadata?.title,
|
displayTitle: mediaMetadata?.title,
|
||||||
displayAuthor: authorName,
|
displayAuthor: authorName,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue