Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e498efc493 | ||
|
|
74bbc71741 |
4
.idea/deploymentTargetDropDown.xml
generated
4
.idea/deploymentTargetDropDown.xml
generated
@@ -7,11 +7,11 @@
|
|||||||
<deviceKey>
|
<deviceKey>
|
||||||
<Key>
|
<Key>
|
||||||
<type value="VIRTUAL_DEVICE_PATH" />
|
<type value="VIRTUAL_DEVICE_PATH" />
|
||||||
<value value="$USER_HOME$/.android/avd/Pixel_2_API_30.avd" />
|
<value value="$USER_HOME$/.android/avd/Pixel_2_API_31.avd" />
|
||||||
</Key>
|
</Key>
|
||||||
</deviceKey>
|
</deviceKey>
|
||||||
</Target>
|
</Target>
|
||||||
</targetSelectedWithDropDown>
|
</targetSelectedWithDropDown>
|
||||||
<timeTargetWasSelectedWithDropDown value="2022-01-04T14:31:24.587053Z" />
|
<timeTargetWasSelectedWithDropDown value="2022-01-08T00:45:48.713777Z" />
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
||||||
@@ -148,7 +148,7 @@ fun reloadWhenFailedOrUpdate() = CoroutineScope(Dispatchers.Default).launch {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var isDebugBuild: Boolean = false
|
var isDebugBuild: Boolean = false
|
||||||
private lateinit var userAgent: String
|
lateinit var userAgent: String
|
||||||
|
|
||||||
class Pupil : Application() {
|
class Pupil : Application() {
|
||||||
|
|
||||||
@@ -252,10 +252,11 @@ class Pupil : Application() {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
Preferences.get<String>("download_folder").also {
|
Preferences.get<String>("download_folder").also {
|
||||||
contentResolver.takePersistableUriPermission(
|
if (it.startsWith("content://"))
|
||||||
Uri.parse(it),
|
contentResolver.takePersistableUriPermission(
|
||||||
Intent.FLAG_GRANT_READ_URI_PERMISSION or Intent.FLAG_GRANT_WRITE_URI_PERMISSION
|
Uri.parse(it),
|
||||||
)
|
Intent.FLAG_GRANT_READ_URI_PERMISSION or Intent.FLAG_GRANT_WRITE_URI_PERMISSION
|
||||||
|
)
|
||||||
|
|
||||||
if (!FileX(this, it).canWrite())
|
if (!FileX(this, it).canWrite())
|
||||||
throw Exception()
|
throw Exception()
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ import xyz.quaver.pupil.hitomi.GalleryBlock
|
|||||||
import xyz.quaver.pupil.hitomi.GalleryInfo
|
import xyz.quaver.pupil.hitomi.GalleryInfo
|
||||||
import xyz.quaver.pupil.hitomi.getGalleryBlock
|
import xyz.quaver.pupil.hitomi.getGalleryBlock
|
||||||
import xyz.quaver.pupil.hitomi.getGalleryInfo
|
import xyz.quaver.pupil.hitomi.getGalleryInfo
|
||||||
|
import xyz.quaver.pupil.userAgent
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.io.IOException
|
import java.io.IOException
|
||||||
import java.util.concurrent.ConcurrentHashMap
|
import java.util.concurrent.ConcurrentHashMap
|
||||||
@@ -172,6 +173,7 @@ class Cache private constructor(context: Context, val galleryID: Int) : ContextW
|
|||||||
kotlin.runCatching {
|
kotlin.runCatching {
|
||||||
val request = Request.Builder()
|
val request = Request.Builder()
|
||||||
.url(it)
|
.url(it)
|
||||||
|
.header("Referer", "https://hitomi.la/")
|
||||||
.build()
|
.build()
|
||||||
|
|
||||||
client.newCall(request).execute().also { if (it.code() != 200) throw IOException() }.body()?.use { it.bytes() }
|
client.newCall(request).execute().also { if (it.code() != 200) throw IOException() }.body()?.use { it.bytes() }
|
||||||
|
|||||||
Reference in New Issue
Block a user