From 047ada8abc6833db800d9ec81528fe4934744a22 Mon Sep 17 00:00:00 2001 From: Mathew Tkachuk Date: Fri, 12 Dec 2025 18:12:33 +0300 Subject: [PATCH 1/7] Change patch name --- composeApp/src/commonMain/composeResources/values/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composeApp/src/commonMain/composeResources/values/strings.xml b/composeApp/src/commonMain/composeResources/values/strings.xml index 379c0d2..397c8b5 100644 --- a/composeApp/src/commonMain/composeResources/values/strings.xml +++ b/composeApp/src/commonMain/composeResources/values/strings.xml @@ -36,7 +36,7 @@ Not working Loading… Not recommended, use at your own risk - Copy ovrport libraries + Copy overport libraries Copy OVRPlugin if VrApi is present Fix minimal Android SDK Generate ovrport config From fabf6899463a415108d3173aadada3f964f59b64 Mon Sep 17 00:00:00 2001 From: Mathew Tkachuk Date: Sat, 13 Dec 2025 18:19:09 +0300 Subject: [PATCH 2/7] Can't checkout exception --- .../src/commonMain/composeResources/values/strings.xml | 6 +++++- .../moe/crx/overport/app/composables/PatcherScreen.kt | 9 ++++++--- .../java/moe/crx/overport/patching/PatcherContext.kt | 6 +++++- .../src/main/java/moe/crx/overport/utils/Exceptions.kt | 3 +++ 4 files changed, 19 insertions(+), 5 deletions(-) create mode 100644 overportcli/src/main/java/moe/crx/overport/utils/Exceptions.kt diff --git a/composeApp/src/commonMain/composeResources/values/strings.xml b/composeApp/src/commonMain/composeResources/values/strings.xml index 397c8b5..23943ea 100644 --- a/composeApp/src/commonMain/composeResources/values/strings.xml +++ b/composeApp/src/commonMain/composeResources/values/strings.xml @@ -28,7 +28,11 @@ Selected APK file cannot be parsed. APK file has been successfully exported. overport libraries cannot be downloaded. - Unknown error has been occurred. + Unknown error has been occurred + Can't checkout version + Selected overport version is unavailable for download. Please, check your + internet connection or choose another version. + Update available! Unknown Playable diff --git a/composeApp/src/commonMain/kotlin/moe/crx/overport/app/composables/PatcherScreen.kt b/composeApp/src/commonMain/kotlin/moe/crx/overport/app/composables/PatcherScreen.kt index 55e6913..46efca2 100644 --- a/composeApp/src/commonMain/kotlin/moe/crx/overport/app/composables/PatcherScreen.kt +++ b/composeApp/src/commonMain/kotlin/moe/crx/overport/app/composables/PatcherScreen.kt @@ -11,10 +11,9 @@ import androidx.compose.ui.Modifier import kotlinx.coroutines.flow.MutableSharedFlow import kotlinx.coroutines.launch import moe.crx.overport.app.model.MainViewModel +import moe.crx.overport.utils.CantCheckoutException import org.jetbrains.compose.resources.getString -import overportapp.composeapp.generated.resources.Res -import overportapp.composeapp.generated.resources.apk_file_exported -import overportapp.composeapp.generated.resources.unknown_error +import overportapp.composeapp.generated.resources.* import java.io.InputStream import java.io.OutputStream @@ -101,6 +100,10 @@ fun PatcherScreen( try { viewModel.checkout(it, name) viewModel.prepare(stream) + } catch (_: CantCheckoutException) { + viewModel.cancel() + errorMessage = + getString(Res.string.cant_checkout_title) to getString(Res.string.cant_checkout_message) } catch (ex: Throwable) { viewModel.cancel() errorMessage = getString(Res.string.unknown_error) to ex.stackTraceToString() diff --git a/overportcli/src/main/java/moe/crx/overport/patching/PatcherContext.kt b/overportcli/src/main/java/moe/crx/overport/patching/PatcherContext.kt index 686af08..6cd91e0 100644 --- a/overportcli/src/main/java/moe/crx/overport/patching/PatcherContext.kt +++ b/overportcli/src/main/java/moe/crx/overport/patching/PatcherContext.kt @@ -6,6 +6,7 @@ import com.reandroid.archive.ArchiveFile import com.reandroid.archive.FileInputSource import com.reandroid.archive.io.ZipFileInput import moe.crx.overport.config.OverportPatchedInfo +import moe.crx.overport.utils.CantCheckoutException import moe.crx.overport.utils.NameFormatter import moe.crx.overport.versions.VersionManager import org.jf.baksmali.Baksmali @@ -57,7 +58,10 @@ class PatcherContext( successful = VersionManager(patcherDirectory).checkout("latest") } - checkNotNull(successful) + if (successful == null) { + throw CantCheckoutException("Can't checkout an overport release. Please, check your internet connection or choose another version.") + } + overportVersion = successful } diff --git a/overportcli/src/main/java/moe/crx/overport/utils/Exceptions.kt b/overportcli/src/main/java/moe/crx/overport/utils/Exceptions.kt new file mode 100644 index 0000000..14e3269 --- /dev/null +++ b/overportcli/src/main/java/moe/crx/overport/utils/Exceptions.kt @@ -0,0 +1,3 @@ +package moe.crx.overport.utils + +class CantCheckoutException(message: String) : IllegalStateException(message) \ No newline at end of file From 99c89893485518e754bba7b1b5b08d0c4d18943b Mon Sep 17 00:00:00 2001 From: Mathew Tkachuk Date: Sat, 13 Dec 2025 18:21:56 +0300 Subject: [PATCH 3/7] Make bitmap mutable in BitmapIconResizer --- .../kotlin/moe/crx/overport/app/BitmapIconResizer.kt | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/composeApp/src/androidMain/kotlin/moe/crx/overport/app/BitmapIconResizer.kt b/composeApp/src/androidMain/kotlin/moe/crx/overport/app/BitmapIconResizer.kt index 17efac5..9baaece 100644 --- a/composeApp/src/androidMain/kotlin/moe/crx/overport/app/BitmapIconResizer.kt +++ b/composeApp/src/androidMain/kotlin/moe/crx/overport/app/BitmapIconResizer.kt @@ -9,9 +9,10 @@ object BitmapIconResizer : IconResizer { override fun resize(bytes: ByteArray, width: Int, height: Int): ByteArray { val baos = ByteArrayOutputStream() - BitmapFactory.decodeByteArray(bytes, 0, bytes.size).apply { - reconfigure(width, height, Bitmap.Config.ARGB_8888) - }.compress(Bitmap.CompressFormat.PNG, 100, baos) + BitmapFactory.decodeByteArray(bytes, 0, bytes.size) + .copy(Bitmap.Config.ARGB_8888, true).apply { + reconfigure(width, height, Bitmap.Config.ARGB_8888) + }.compress(Bitmap.CompressFormat.PNG, 100, baos) return baos.toByteArray() } } \ No newline at end of file From f184af6d3fb95b52165519716a19adaf50a99cfe Mon Sep 17 00:00:00 2001 From: Mathew Tkachuk Date: Sat, 13 Dec 2025 19:08:27 +0300 Subject: [PATCH 4/7] Change version checkout handling --- .../moe/crx/overport/patching/PatcherContext.kt | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/overportcli/src/main/java/moe/crx/overport/patching/PatcherContext.kt b/overportcli/src/main/java/moe/crx/overport/patching/PatcherContext.kt index 6cd91e0..7cb094c 100644 --- a/overportcli/src/main/java/moe/crx/overport/patching/PatcherContext.kt +++ b/overportcli/src/main/java/moe/crx/overport/patching/PatcherContext.kt @@ -52,17 +52,8 @@ class PatcherContext( } fun checkout() { - var successful = VersionManager(patcherDirectory).checkout(overportVersion) - - if (successful == null) { - successful = VersionManager(patcherDirectory).checkout("latest") - } - - if (successful == null) { - throw CantCheckoutException("Can't checkout an overport release. Please, check your internet connection or choose another version.") - } - - overportVersion = successful + overportVersion = VersionManager(patcherDirectory).checkout(overportVersion) + ?: throw CantCheckoutException("Can't checkout an overport release. Please, check your internet connection or choose another version.") } fun prepare(stream: InputStream) { From a5d0983a4263dfd5e367005adfadaac3083562f9 Mon Sep 17 00:00:00 2001 From: Mathew Tkachuk Date: Sat, 13 Dec 2025 19:15:21 +0300 Subject: [PATCH 5/7] Change modal bottomsheet height --- .../moe/crx/overport/app/composables/VersionManagerSheet.kt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/composeApp/src/commonMain/kotlin/moe/crx/overport/app/composables/VersionManagerSheet.kt b/composeApp/src/commonMain/kotlin/moe/crx/overport/app/composables/VersionManagerSheet.kt index f70cd24..8b43522 100644 --- a/composeApp/src/commonMain/kotlin/moe/crx/overport/app/composables/VersionManagerSheet.kt +++ b/composeApp/src/commonMain/kotlin/moe/crx/overport/app/composables/VersionManagerSheet.kt @@ -35,12 +35,11 @@ fun VersionManagerSheet(viewModel: MainViewModel, onSelected: (String) -> Unit, } ModalBottomSheet( - modifier = Modifier.fillMaxHeight(), onDismissRequest = { onCancel() }, ) { if (available == null) { Row( - modifier = Modifier.fillMaxSize(), + modifier = Modifier.fillMaxWidth().height(240.dp), verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.Center ) { From 427622b16ead3d0064fe290c068a575722491576 Mon Sep 17 00:00:00 2001 From: Mathew Tkachuk Date: Sat, 13 Dec 2025 19:15:29 +0300 Subject: [PATCH 6/7] Fix strings file formatting --- .../src/commonMain/composeResources/values/strings.xml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/composeApp/src/commonMain/composeResources/values/strings.xml b/composeApp/src/commonMain/composeResources/values/strings.xml index 23943ea..1279ce2 100644 --- a/composeApp/src/commonMain/composeResources/values/strings.xml +++ b/composeApp/src/commonMain/composeResources/values/strings.xml @@ -9,9 +9,7 @@ Cleaning up… Patcher Select version - You have no versions installed and overport release index is not available. - Check your internet connection. - + You have no versions installed and overport release index is not available. Check your internet connection. experimental latest custom @@ -30,9 +28,7 @@ overport libraries cannot be downloaded. Unknown error has been occurred Can't checkout version - Selected overport version is unavailable for download. Please, check your - internet connection or choose another version. - + Selected overport version is unavailable for download. Please, check your internet connection or choose another version. Update available! Unknown Playable From 14ebb1ee20fbfe39f6fd39e11388da2b8008a37a Mon Sep 17 00:00:00 2001 From: Mathew Tkachuk Date: Sat, 13 Dec 2025 19:15:37 +0300 Subject: [PATCH 7/7] Bump version --- gradle.properties | 5 +---- overportcli/build.gradle.kts | 2 +- .../main/java/moe/crx/overport/versions/VersionManager.kt | 2 +- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/gradle.properties b/gradle.properties index fb0f324..492bfae 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,13 +1,10 @@ #Kotlin kotlin.code.style=official kotlin.daemon.jvmargs=-Xmx2048M - #Gradle org.gradle.jvmargs=-Xmx2048M -Dfile.encoding=UTF-8 - #Android android.nonTransitiveRClass=true android.useAndroidX=true - #Application -appVersion=1.2.0 \ No newline at end of file +appVersion=1.2.1 \ No newline at end of file diff --git a/overportcli/build.gradle.kts b/overportcli/build.gradle.kts index d00bc96..5718164 100644 --- a/overportcli/build.gradle.kts +++ b/overportcli/build.gradle.kts @@ -8,7 +8,7 @@ plugins { } group = "moe.crx" -version = "1.2.0" +version = "1.2.1" dependencies { implementation(libs.android.tools.build) diff --git a/overportcli/src/main/java/moe/crx/overport/versions/VersionManager.kt b/overportcli/src/main/java/moe/crx/overport/versions/VersionManager.kt index 44edaa0..1f7d57a 100644 --- a/overportcli/src/main/java/moe/crx/overport/versions/VersionManager.kt +++ b/overportcli/src/main/java/moe/crx/overport/versions/VersionManager.kt @@ -10,7 +10,7 @@ class VersionManager(val workingDirectory: File) { companion object { val json = Json { ignoreUnknownKeys = true } - const val VERSION = "1.2.0" + const val VERSION = "1.2.1" private fun isVersionLower(left: String, right: String): Boolean { val (lY, lM, lD) = left.substringBeforeLast('-').split('.').map { it.toInt() }