From 64707b0928ff5b4bcb07d89b7188cecad33f51cb Mon Sep 17 00:00:00 2001 From: ronaldheft Date: Thu, 11 Aug 2022 16:26:32 -0400 Subject: [PATCH] Support local media progress --- ios/App/App/plugins/AbsDatabase.swift | 10 +++++++++- ios/App/Shared/models/LocalLibraryExtensions.swift | 1 + ios/App/Shared/util/Database.swift | 5 +++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/ios/App/App/plugins/AbsDatabase.swift b/ios/App/App/plugins/AbsDatabase.swift index 1d3f6569..6520c9b2 100644 --- a/ios/App/App/plugins/AbsDatabase.swift +++ b/ios/App/App/plugins/AbsDatabase.swift @@ -114,9 +114,17 @@ public class AbsDatabase: CAPPlugin { @objc func getLocalLibraryItemsInFolder(_ call: CAPPluginCall) { call.resolve([ "value": [] ]) } + @objc func getAllLocalMediaProgress(_ call: CAPPluginCall) { - call.resolve([ "value": [] ]) + do { + call.resolve([ "value": try Database.shared.getAllLocalMediaProgress().asDictionaryArray() ]) + } catch { + NSLog("Error while loading local media progress") + debugPrint(error) + call.resolve(["value": []]) + } } + @objc func updateDeviceSettings(_ call: CAPPluginCall) { let disableAutoRewind = call.getBool("disableAutoRewind") ?? false let enableAltView = call.getBool("enableAltView") ?? false diff --git a/ios/App/Shared/models/LocalLibraryExtensions.swift b/ios/App/Shared/models/LocalLibraryExtensions.swift index 4e99606d..7dbc256a 100644 --- a/ios/App/Shared/models/LocalLibraryExtensions.swift +++ b/ios/App/Shared/models/LocalLibraryExtensions.swift @@ -138,6 +138,7 @@ extension LocalMediaProgress { self.serverConnectionConfigId = localLibraryItem.serverConnectionConfigId self.duration = progress.duration + self.progress = progress.progress self.currentTime = progress.currentTime self.isFinished = false self.lastUpdate = progress.lastUpdate diff --git a/ios/App/Shared/util/Database.swift b/ios/App/Shared/util/Database.swift index a1b418ae..d8a30851 100644 --- a/ios/App/Shared/util/Database.swift +++ b/ios/App/Shared/util/Database.swift @@ -166,6 +166,11 @@ class Database { return realm.objects(DeviceSettings.self).first ?? getDefaultDeviceSettings() } + public func getAllLocalMediaProgress() -> [LocalMediaProgress] { + let realm = try! Realm() + return Array(realm.objects(LocalMediaProgress.self)) + } + public func saveLocalMediaProgress(_ mediaProgress: LocalMediaProgress) { let realm = try! Realm() try! realm.write { realm.add(mediaProgress, update: .modified) }