Skip to content
This repository was archived by the owner on Jul 29, 2022. It is now read-only.

Commit 6693ade

Browse files
authored
Use the new Server.addPublication() API (#387)
1 parent f854103 commit 6693ade

File tree

2 files changed

+12
-14
lines changed

2 files changed

+12
-14
lines changed

r2-testapp/src/main/java/org/readium/r2/testapp/library/LibraryActivity.kt

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -584,37 +584,34 @@ class LibraryActivity : AppCompatActivity(), BooksAdapter.RecyclerViewClickListe
584584
progress.dismiss()
585585
presentOpeningException(it)
586586
}
587-
.onSuccess { it ->
588-
if (it.isRestricted) {
589-
progress.dismiss()
590-
it.protectionError?.let { error ->
587+
.onSuccess { publication ->
588+
progress.dismiss()
589+
590+
if (publication.isRestricted) {
591+
publication.protectionError?.let { error ->
591592
Timber.d(error)
592593
catalogView.longSnackbar(error.getUserMessage(this@LibraryActivity))
593594
}
594595
} else {
595-
prepareToServe(it, asset)
596-
progress.dismiss()
597596
navigatorLauncher.launch(
598597
NavigatorContract.Input(
599598
file = asset.file,
600599
mediaType = mediaType,
601-
publication = it,
600+
publication = publication,
602601
bookId = book.id,
603602
initialLocator = book.id?.let { id -> booksDB.books.currentLocator(id) },
604603
deleteOnResult = remoteAsset != null,
605-
baseUrl = Publication.localBaseUrlOf(asset.name, localPort)
604+
baseUrl = prepareToServe(publication, asset)
606605
)
607606
)
608607
}
609608
}
610609
}
611610
}
612611

613-
private fun prepareToServe(publication: Publication, asset: PublicationAsset) {
614-
val key = publication.metadata.identifier ?: publication.metadata.title
615-
preferences.edit().putString("$key-publicationPort", localPort.toString()).apply()
612+
private fun prepareToServe(publication: Publication, asset: PublicationAsset): URL? {
616613
val userProperties = applicationContext.filesDir.path + "/" + Injectable.Style.rawValue + "/UserProperties.json"
617-
server.addEpub(publication, null, "/${asset.name}", userProperties)
614+
return server.addPublication(publication, userPropertiesFile = File(userProperties))
618615
}
619616

620617
private fun presentOpeningException(error: Publication.OpeningException) {

r2-testapp/src/main/java/org/readium/r2/testapp/utils/NavigatorContract.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import org.readium.r2.testapp.comic.DiViNaActivity
2626
import org.readium.r2.testapp.epub.EpubActivity
2727
import org.readium.r2.testapp.pdf.PdfActivity
2828
import java.io.File
29+
import java.net.URL
2930

3031
class NavigatorContract : ActivityResultContract<NavigatorContract.Input, NavigatorContract.Output>() {
3132

@@ -36,7 +37,7 @@ class NavigatorContract : ActivityResultContract<NavigatorContract.Input, Naviga
3637
val bookId: Long?,
3738
val initialLocator: Locator? = null,
3839
val deleteOnResult: Boolean = false,
39-
val baseUrl: String? = null
40+
val baseUrl: URL? = null
4041
)
4142

4243
data class Output(
@@ -61,7 +62,7 @@ class NavigatorContract : ActivityResultContract<NavigatorContract.Input, Naviga
6162
putExtra("publicationPath", input.file.path)
6263
putExtra("publicationFileName", input.file.name)
6364
putExtra("deleteOnResult", input.deleteOnResult)
64-
putExtra("baseUrl", input.baseUrl)
65+
putExtra("baseUrl", input.baseUrl?.toString())
6566
putExtra("locator", input.initialLocator)
6667
}
6768
}

0 commit comments

Comments
 (0)