Skip to content

Commit 2c09c39

Browse files
committed
Merge branch 'dev'
2 parents 9caea50 + 4c554fe commit 2c09c39

File tree

5 files changed

+16
-23
lines changed

5 files changed

+16
-23
lines changed

app/src/main/java/me/devsaki/hentoid/adapters/ImagePagerAdapter.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -408,7 +408,7 @@ class ImagePagerAdapter(context: Context) :
408408
else imageAvailable = false
409409

410410
val isStreaming = img != null && !imageAvailable && img.status == StatusContent.ONLINE
411-
val isExtracting = img != null && !imageAvailable && !img.url.startsWith("http")
411+
val isExtracting = img != null && !imageAvailable && (img.isArchived || img.isPdf)
412412

413413
@StringRes var text: Int = R.string.image_not_found
414414
if (isStreaming) text = R.string.image_streaming

app/src/main/java/me/devsaki/hentoid/database/domains/ImageFile.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ data class ImageFile(
8888
var isForceRefresh: Boolean = false
8989

9090

91-
constructor(img: ImageFile, populateContent: Boolean, populateChapter: Boolean) : this(
91+
constructor(img: ImageFile, populateContent: Boolean = true, populateChapter: Boolean = true) : this(
9292
img.id,
9393
img.order,
9494
img.url,
@@ -107,6 +107,7 @@ data class ImageFile(
107107
this.uniqueHash = img.uniqueHash
108108
this.displayOrder = img.displayOrder
109109
this.displayUri = img.displayUri
110+
this.imageType = img.imageType
110111
this.backupUrl = img.backupUrl
111112
this.isBackup = img.isBackup
112113
this.isForceRefresh = img.isForceRefresh

app/src/main/java/me/devsaki/hentoid/json/sources/deviantart/DeviantArtGallection.kt

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,9 @@ data class DeviantArtGallection(
1515
val result: MutableList<ImageFile> = ArrayList()
1616
results.forEach { res ->
1717
val imgs = res.getImages()
18-
result.addAll(imgs.filter { it.isReadable }.map { ImageFile(it,
19-
populateContent = true,
20-
populateChapter = true
21-
) })
18+
result.addAll(imgs.filter { it.isReadable }.map { ImageFile(it) })
2219
if (null == result.find { it.isCover }) {
23-
val cover = ImageFile(imgs.first { it.isCover },
24-
populateContent = true,
25-
populateChapter = true
26-
)
20+
val cover = ImageFile(imgs.first { it.isCover })
2721
result.add(0, cover)
2822
}
2923
}

app/src/main/java/me/devsaki/hentoid/util/ImportHelper.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1040,7 +1040,7 @@ private fun mapMetadata(recipient: List<ImageFile>, ref: List<ImageFile>) {
10401040
*/
10411041
fun createCover(images: MutableList<ImageFile>) {
10421042
if (images.isNotEmpty()) {
1043-
val img = ImageFile(images[0], populateContent = true, populateChapter = true)
1043+
val img = ImageFile(images[0])
10441044
img.isCover = true
10451045
img.name = THUMB_FILE_NAME
10461046
// Create a new cover entry from the 1st element

app/src/main/java/me/devsaki/hentoid/viewmodels/ReaderViewModel.kt

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -562,8 +562,6 @@ class ReaderViewModel(
562562
startingIndex: Int,
563563
imageFiles: List<ImageFile>
564564
) {
565-
setViewerStartingIndex(startingIndex)
566-
567565
// Init the read pages write cache
568566
readPageNumbers.clear()
569567

@@ -653,7 +651,7 @@ class ReaderViewModel(
653651
viewerImagesInternal.clear()
654652
viewerImagesInternal.addAll(imgs)
655653
}
656-
if (startIndex > -1) onPageChange(startIndex - 1, 1)
654+
if (startIndex > -1) onPageChange(startIndex - 1, 1, true)
657655
else viewerImages.postValue(viewerImagesInternal.toList())
658656
}
659657
}
@@ -1201,10 +1199,11 @@ class ReaderViewModel(
12011199
* @param viewerIndex Viewer index of the page that has just been displayed
12021200
* @param direction Direction the viewer is going to (1 : forward; -1 : backward; 0 : no movement)
12031201
*/
1204-
fun onPageChange(viewerIndex: Int, direction: Int) {
1202+
fun onPageChange(viewerIndex: Int, direction: Int, setIndex: Boolean = false) {
12051203
onPageChange(viewerIndex, direction) {
12061204
// Instanciate a new list to trigger an actual Adapter UI refresh
12071205
viewerImages.postValue(ArrayList(viewerImagesInternal))
1206+
if (setIndex) setViewerStartingIndex(viewerIndex + 1)
12081207
}
12091208
}
12101209

@@ -1379,12 +1378,7 @@ class ReaderViewModel(
13791378
if (viewerImagesInternal.size <= downloadedPageIndex) return@launch
13801379

13811380
// Instanciate a new ImageFile not to modify the one used by the UI
1382-
val downloadedPic =
1383-
ImageFile(
1384-
viewerImagesInternal[downloadedPageIndex],
1385-
populateContent = true,
1386-
populateChapter = true
1387-
)
1381+
val downloadedPic = ImageFile(viewerImagesInternal[downloadedPageIndex])
13881382
downloadedPic.displayUri = resultOpt.second
13891383
viewerImagesInternal.removeAt(downloadedPageIndex)
13901384
viewerImagesInternal.add(downloadedPageIndex, downloadedPic)
@@ -1578,7 +1572,7 @@ class ReaderViewModel(
15781572
refresh: Boolean
15791573
) {
15801574
// Instanciate a new ImageFile not to modify the one used by the UI
1581-
val extractedPic = ImageFile(img, populateContent = true, populateChapter = true)
1575+
val extractedPic = ImageFile(img)
15821576
extractedPic.displayUri = uri.toString()
15831577
synchronized(viewerImagesInternal) {
15841578
viewerImagesInternal.removeAt(idx)
@@ -2058,7 +2052,11 @@ class ReaderViewModel(
20582052
img.imageType = readImageType(application, uri.toUri())
20592053
Timber.d("${img.id} : Set image type to ${img.imageType}")
20602054
// Make image usable by reader if not set yet
2061-
if (img.displayUri.isBlank()) img.displayUri = img.fileUri
2055+
if (img.displayUri.isBlank()) {
2056+
val updatedImg = ImageFile(img)
2057+
updatedImg.displayUri = img.fileUri
2058+
viewerImagesInternal[it] = updatedImg
2059+
}
20622060
}
20632061
}
20642062
onDone?.invoke()

0 commit comments

Comments
 (0)