diff --git a/app/build.gradle b/app/build.gradle index d484c9f9..d123fc75 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -32,13 +32,13 @@ configurations { } android { - compileSdkVersion 34 defaultConfig { applicationId "xyz.quaver.pupil" minSdkVersion 16 + compileSdk 34 targetSdkVersion 34 versionCode 69 - versionName "5.3.9" + versionName "5.3.10" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" vectorDrawables.useSupportLibrary = true } diff --git a/app/release/output-metadata.json b/app/release/output-metadata.json index fe625af8..87e610c3 100644 --- a/app/release/output-metadata.json +++ b/app/release/output-metadata.json @@ -12,7 +12,7 @@ "filters": [], "attributes": [], "versionCode": 69, - "versionName": "5.3.9", + "versionName": "5.3.10", "outputFile": "app-release.apk" } ], diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d173f782..5b07b068 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -64,165 +64,107 @@ android:configChanges="keyboardHidden|orientation|screenSize" android:parentActivityName=".ui.MainActivity" android:exported="true"> - + - + + + + - + - + + + + - + - + + + + - + - + + + + - + - + + + + - + - + + + + - + - + + + + - + - + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - - - - - diff --git a/app/src/main/java/xyz/quaver/pupil/ui/ReaderActivity.kt b/app/src/main/java/xyz/quaver/pupil/ui/ReaderActivity.kt index 3f665b35..bfb7c3c9 100644 --- a/app/src/main/java/xyz/quaver/pupil/ui/ReaderActivity.kt +++ b/app/src/main/java/xyz/quaver/pupil/ui/ReaderActivity.kt @@ -157,10 +157,11 @@ class ReaderActivity : BaseActivity() { val uri = intent.data val lastPathSegment = uri?.lastPathSegment if (uri != null && lastPathSegment != null) { - galleryID = when (uri.host) { + galleryID = if (uri.host?.endsWith("hasha.in") == true) { + lastPathSegment?.toInt() ?: 0 + } else when (uri.host) { "hitomi.la" -> Regex("([0-9]+).html").find(lastPathSegment)?.groupValues?.get(1)?.toIntOrNull() ?: 0 - "hiyobi.me" -> lastPathSegment.toInt() "e-hentai.org" -> uri.pathSegments[1].toInt() else -> 0 } diff --git a/app/src/main/java/xyz/quaver/pupil/ui/fragment/ManageFavoritesFragment.kt b/app/src/main/java/xyz/quaver/pupil/ui/fragment/ManageFavoritesFragment.kt index 684442e2..7e479890 100644 --- a/app/src/main/java/xyz/quaver/pupil/ui/fragment/ManageFavoritesFragment.kt +++ b/app/src/main/java/xyz/quaver/pupil/ui/fragment/ManageFavoritesFragment.kt @@ -27,6 +27,7 @@ import android.os.Bundle import android.util.Log import android.widget.EditText import android.widget.TextView +import android.widget.Toast import androidx.activity.result.contract.ActivityResultContracts import androidx.appcompat.app.AlertDialog import androidx.core.content.ContextCompat @@ -65,10 +66,14 @@ class ManageFavoritesFragment : PreferenceFragmentCompat() { val uri = result.data?.data ?: return@registerForActivityResult val context = context ?: return@registerForActivityResult + val view = view ?: return@registerForActivityResult val backupData = runCatching { FileX(context, uri).readText()?.let { Json.parseToJsonElement(it) } - }.getOrNull() ?: return@registerForActivityResult + }.getOrNull() ?: run{ + Snackbar.make(view, context.getString(R.string.error), Toast.LENGTH_LONG).show() + return@registerForActivityResult + } val newFavorites = backupData["favorites"]?.let { Json.decodeFromJsonElement>(it) }.orEmpty() val newFavoriteTags = backupData["favorite_tags"]?.let { Json.decodeFromJsonElement>(it) }.orEmpty() @@ -76,7 +81,6 @@ class ManageFavoritesFragment : PreferenceFragmentCompat() { favorites.addAll(newFavorites) favoriteTags.addAll(newFavoriteTags) - val view = view ?: return@registerForActivityResult Snackbar.make(view, context.getString(R.string.settings_restore_success, newFavorites.size + newFavoriteTags.size), Snackbar.LENGTH_LONG).show() } @@ -124,7 +128,7 @@ class ManageFavoritesFragment : PreferenceFragmentCompat() { findPreference("restore")?.setOnPreferenceClickListener { val intent = Intent(Intent.ACTION_OPEN_DOCUMENT).apply { addCategory(Intent.CATEGORY_OPENABLE) - type = "application/json" + type = "*/*" } requestBackupFileLauncher.launch(intent)