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