diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS deleted file mode 100644 index d9ce658a..00000000 --- a/.github/CODEOWNERS +++ /dev/null @@ -1 +0,0 @@ -* @aferditamuriqi diff --git a/Cartfile b/Cartfile index 6f677c81..13f7fa93 100644 --- a/Cartfile +++ b/Cartfile @@ -7,7 +7,8 @@ github "krzyzanowskim/CryptoSwift" == 1.3.1 github "cezheng/Fuzi" == 3.1.2 github "dexman/Minizip" == 1.4.0 github "scinfu/SwiftSoup" == 2.3.2 -#github "readium/r2-shared-swift" == 1.4.3 -#github "readium/r2-streamer-swift" == 1.2.5 -#github "readium/r2-navigator-swift" == 1.2.6 -#github "readium/readium-opds-swift" == 1.2.3 + +github "readium/r2-shared-swift" "2.0.0-alpha.1" +github "readium/r2-streamer-swift" "2.0.0-alpha.1" +github "readium/r2-navigator-swift" "2.0.0-alpha.1" +github "readium/readium-opds-swift" "2.0.0-alpha.1" diff --git a/Cartfile.resolved b/Cartfile.resolved index 34468ddc..eeb1fff3 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -4,6 +4,10 @@ github "edrlab/GCDWebServer" "3.6.2" github "jdg/MBProgressHUD" "1.2.0" github "krzyzanowskim/CryptoSwift" "1.3.1" github "onevcat/Kingfisher" "5.14.0" +github "readium/r2-navigator-swift" "97128e606c20f4ee739c967c615068c70ad376f6" +github "readium/r2-shared-swift" "c77b663dfed7e8e0d9317c7c01daaccb878bf9fb" +github "readium/r2-streamer-swift" "cbbedab9bf8f9eb4ac4359ea3a8096e5eb2fee16" +github "readium/readium-opds-swift" "b6e903314f6b6ac5460b2ceacf6e3a2afa260f63" github "scinfu/SwiftSoup" "2.3.2" github "stephencelis/SQLite.swift" "0.12.2" github "weichsel/ZIPFoundation" "0.9.11" diff --git a/r2-testapp-swift.xcodeproj/project.pbxproj b/r2-testapp-swift.xcodeproj/project.pbxproj index 0755a08e..67c79bdb 100644 --- a/r2-testapp-swift.xcodeproj/project.pbxproj +++ b/r2-testapp-swift.xcodeproj/project.pbxproj @@ -1499,7 +1499,7 @@ CODE_SIGN_IDENTITY = "Apple Development"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 13; + CURRENT_PROJECT_VERSION = 15; DEVELOPMENT_TEAM = 327YA3JNGT; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", @@ -1517,7 +1517,7 @@ "$(inherited)", "$(PROJECT_DIR)", ); - MARKETING_VERSION = 2.1.0; + MARKETING_VERSION = 2.2.0; OTHER_LDFLAGS = "-lxml2"; OTHER_SWIFT_FLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = org.readium.r2reader; @@ -1538,7 +1538,7 @@ CODE_SIGN_IDENTITY = "Apple Development"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 13; + CURRENT_PROJECT_VERSION = 15; DEVELOPMENT_TEAM = 327YA3JNGT; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", @@ -1556,7 +1556,7 @@ "$(inherited)", "$(PROJECT_DIR)", ); - MARKETING_VERSION = 2.1.0; + MARKETING_VERSION = 2.2.0; OTHER_LDFLAGS = "-lxml2"; OTHER_SWIFT_FLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = org.readium.r2reader; @@ -1577,7 +1577,7 @@ CODE_SIGN_IDENTITY = "Apple Development"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 13; + CURRENT_PROJECT_VERSION = 15; DEVELOPMENT_TEAM = 327YA3JNGT; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", @@ -1595,7 +1595,7 @@ "$(inherited)", "$(PROJECT_DIR)", ); - MARKETING_VERSION = 2.1.0; + MARKETING_VERSION = 2.2.0; OTHER_LDFLAGS = "-lxml2"; OTHER_SWIFT_FLAGS = "-DLCP"; PRODUCT_BUNDLE_IDENTIFIER = org.readium.r2reader; @@ -1616,7 +1616,7 @@ CODE_SIGN_IDENTITY = "Apple Development"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 13; + CURRENT_PROJECT_VERSION = 15; DEVELOPMENT_TEAM = 327YA3JNGT; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", @@ -1634,7 +1634,7 @@ "$(inherited)", "$(PROJECT_DIR)", ); - MARKETING_VERSION = 2.1.0; + MARKETING_VERSION = 2.2.0; OTHER_LDFLAGS = "-lxml2"; OTHER_SWIFT_FLAGS = "-DLCP"; PRODUCT_BUNDLE_IDENTIFIER = org.readium.r2reader; @@ -1654,7 +1654,7 @@ CODE_SIGN_ENTITLEMENTS = "r2-testapp-swift/r2-testapp-swift.entitlements"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 13; + CURRENT_PROJECT_VERSION = 15; DEVELOPMENT_TEAM = 327YA3JNGT; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", @@ -1672,7 +1672,7 @@ "$(inherited)", "$(PROJECT_DIR)", ); - MARKETING_VERSION = 2.1.0; + MARKETING_VERSION = 2.2.0; OTHER_LDFLAGS = "-lxml2"; OTHER_SWIFT_FLAGS = "-DLCP"; PRODUCT_BUNDLE_IDENTIFIER = org.readium.r2reader; @@ -1691,7 +1691,7 @@ CODE_SIGN_ENTITLEMENTS = "r2-testapp-swift/r2-testapp-swift.entitlements"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 13; + CURRENT_PROJECT_VERSION = 15; DEVELOPMENT_TEAM = 327YA3JNGT; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", @@ -1709,7 +1709,7 @@ "$(inherited)", "$(PROJECT_DIR)", ); - MARKETING_VERSION = 2.1.0; + MARKETING_VERSION = 2.2.0; OTHER_LDFLAGS = "-lxml2"; OTHER_SWIFT_FLAGS = "-DLCP"; PRODUCT_BUNDLE_IDENTIFIER = org.readium.r2reader; @@ -1847,7 +1847,7 @@ CODE_SIGN_IDENTITY = "Apple Development"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 13; + CURRENT_PROJECT_VERSION = 15; DEVELOPMENT_TEAM = 327YA3JNGT; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", @@ -1862,7 +1862,7 @@ "$(inherited)", "$(PROJECT_DIR)", ); - MARKETING_VERSION = 2.1.0; + MARKETING_VERSION = 2.2.0; OTHER_LDFLAGS = "-lxml2"; OTHER_SWIFT_FLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = org.readium.r2reader; @@ -1883,7 +1883,7 @@ CODE_SIGN_IDENTITY = "Apple Development"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 13; + CURRENT_PROJECT_VERSION = 15; DEVELOPMENT_TEAM = 327YA3JNGT; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", @@ -1898,7 +1898,7 @@ "$(inherited)", "$(PROJECT_DIR)", ); - MARKETING_VERSION = 2.1.0; + MARKETING_VERSION = 2.2.0; OTHER_LDFLAGS = "-lxml2"; OTHER_SWIFT_FLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = org.readium.r2reader; diff --git a/r2-testapp-swift.xcodeproj/xcshareddata/xcschemes/r2-testapp-swift (submodules-with-lcp).xcscheme b/r2-testapp-swift.xcodeproj/xcshareddata/xcschemes/r2-testapp-swift (submodules-with-lcp).xcscheme index 59694ee3..5fa93308 100644 --- a/r2-testapp-swift.xcodeproj/xcshareddata/xcschemes/r2-testapp-swift (submodules-with-lcp).xcscheme +++ b/r2-testapp-swift.xcodeproj/xcshareddata/xcschemes/r2-testapp-swift (submodules-with-lcp).xcscheme @@ -27,6 +27,8 @@ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv = "YES"> + + - - + + + + + + Bool in if b1.resourceIndex == b2.resourceIndex { diff --git a/r2-testapp-swift/Reader/Common/Bookmark/BookmarkDatabase.swift b/r2-testapp-swift/Reader/Common/Bookmark/BookmarkDatabase.swift index 0ca71b5d..235847b7 100644 --- a/r2-testapp-swift/Reader/Common/Bookmark/BookmarkDatabase.swift +++ b/r2-testapp-swift/Reader/Common/Bookmark/BookmarkDatabase.swift @@ -45,7 +45,7 @@ class BookmarksTable { let tableName = Table("BOOKMARKS") let bookmarkID = Expression("id") - let publicationID = Expression("publicationID") + let bookID = Expression("bookID") let resourceIndex = Expression("resourceIndex") let resourceHref = Expression("resourceHref") @@ -70,7 +70,7 @@ class BookmarksTable { _ = try? connection.run(tableName.create(temporary: false, ifNotExists: true) { t in t.column(bookmarkID, primaryKey: PrimaryKey.autoincrement) t.column(creationDate) - t.column(publicationID) + t.column(bookID) t.column(resourceHref) t.column(resourceIndex) t.column(resourceType) @@ -83,7 +83,7 @@ class BookmarksTable { func insert(newBookmark: Bookmark) throws -> Int64? { let db = BookmarkDatabase.shared.connection - let bookmark = tableName.filter(self.publicationID == newBookmark.publicationID && self.resourceHref == newBookmark.locator.href && self.resourceIndex == newBookmark.resourceIndex && self.locations == (newBookmark.locator.locations.jsonString ?? "")) + let bookmark = tableName.filter(self.bookID == newBookmark.bookID && self.resourceHref == newBookmark.locator.href && self.resourceIndex == newBookmark.resourceIndex && self.locations == (newBookmark.locator.locations.jsonString ?? "")) // Check if empty. guard try db.count(bookmark) == 0 else { @@ -92,7 +92,7 @@ class BookmarksTable { let insertQuery = tableName.insert( creationDate <- newBookmark.creationDate, - publicationID <- newBookmark.publicationID, + bookID <- newBookmark.bookID, resourceHref <- newBookmark.locator.href, resourceIndex <- newBookmark.resourceIndex, resourceType <- newBookmark.locator.type, @@ -121,7 +121,7 @@ class BookmarksTable { return true } - func bookmarkList(for publicationID:String?=nil, resourceIndex:Int?=nil) throws -> [Bookmark]? { + func bookmarkList(for bookID: Int64? = nil, resourceIndex: Int? = nil) throws -> [Bookmark]? { let db = BookmarkDatabase.shared.connection // Check if empty. @@ -130,12 +130,12 @@ class BookmarksTable { } let resultList = try { () -> AnySequence in - if let fetchingID = publicationID { + if let fetchingID = bookID { if let fetchingIndex = resourceIndex { - let query = self.tableName.filter(self.publicationID == fetchingID && self.resourceIndex == fetchingIndex) + let query = self.tableName.filter(self.bookID == fetchingID && self.resourceIndex == fetchingIndex) return try db.prepare(query) } - let query = self.tableName.filter(self.publicationID == fetchingID) + let query = self.tableName.filter(self.bookID == fetchingID) return try db.prepare(query) } return try db.prepare(self.tableName) @@ -144,7 +144,7 @@ class BookmarksTable { return resultList.map { row in Bookmark( id: row[self.bookmarkID], - publicationID: row[self.publicationID], + bookID: row[self.bookID], resourceIndex: row[self.resourceIndex], locator: Locator( href: row[self.resourceHref], diff --git a/r2-testapp-swift/Reader/Common/ReaderViewController.swift b/r2-testapp-swift/Reader/Common/ReaderViewController.swift index 746eb8b3..806bc374 100644 --- a/r2-testapp-swift/Reader/Common/ReaderViewController.swift +++ b/r2-testapp-swift/Reader/Common/ReaderViewController.swift @@ -28,7 +28,7 @@ class ReaderViewController: UIViewController, Loggable { let book: Book let drm: DRM? - lazy var bookmarksDataSource: BookmarkDataSource? = BookmarkDataSource(publicationID: publication.metadata.identifier ?? "") + lazy var bookmarksDataSource: BookmarkDataSource? = BookmarkDataSource(bookID: book.id) private(set) var stackView: UIStackView! private lazy var positionLabel = UILabel() diff --git a/r2-testapp-swift/Reader/EPUB/EPUBViewController.swift b/r2-testapp-swift/Reader/EPUB/EPUBViewController.swift index ec86d34e..35d6a4b6 100644 --- a/r2-testapp-swift/Reader/EPUB/EPUBViewController.swift +++ b/r2-testapp-swift/Reader/EPUB/EPUBViewController.swift @@ -88,13 +88,13 @@ class EPUBViewController: ReaderViewController { } override var currentBookmark: Bookmark? { - guard let publicationID = publication.metadata.identifier, + guard let locator = navigator.currentLocation, let resourceIndex = publication.readingOrder.firstIndex(withHref: locator.href) else { return nil } - return Bookmark(publicationID: publicationID, resourceIndex: resourceIndex, locator: locator) + return Bookmark(bookID: book.id, resourceIndex: resourceIndex, locator: locator) } @objc func presentUserSettings() { diff --git a/r2-testapp-swift/Reader/PDF/PDFViewController.swift b/r2-testapp-swift/Reader/PDF/PDFViewController.swift index 2c83871c..5cfc16f2 100644 --- a/r2-testapp-swift/Reader/PDF/PDFViewController.swift +++ b/r2-testapp-swift/Reader/PDF/PDFViewController.swift @@ -31,7 +31,7 @@ final class PDFViewController: ReaderViewController { } override var currentBookmark: Bookmark? { - guard let publicationID = publication.metadata.identifier, + guard let locator = navigator.currentLocation, let resourceIndex = publication.readingOrder.firstIndex(withHref: locator.href) else { @@ -39,7 +39,7 @@ final class PDFViewController: ReaderViewController { } return Bookmark( - publicationID: publicationID, + bookID: book.id, resourceIndex: resourceIndex, locator: locator ) diff --git a/r2-testapp-swift/r2-testapp-swift-Info.plist b/r2-testapp-swift/r2-testapp-swift-Info.plist index e2afada1..f6426dd6 100644 --- a/r2-testapp-swift/r2-testapp-swift-Info.plist +++ b/r2-testapp-swift/r2-testapp-swift-Info.plist @@ -185,6 +185,8 @@ NSAllowsArbitraryLoads + UIFileSharingEnabled + UILaunchStoryboardName LaunchScreen UIRequiredDeviceCapabilities