From 3e1b795b1e51700b5e03ea23c3befebd5fc4c841 Mon Sep 17 00:00:00 2001 From: SanmerDev Date: Thu, 19 Sep 2024 22:47:19 +0800 Subject: [PATCH 01/39] [skip ci] Add maven.yaml --- .github/workflows/maven.yaml | 44 ++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 .github/workflows/maven.yaml diff --git a/.github/workflows/maven.yaml b/.github/workflows/maven.yaml new file mode 100644 index 00000000..1f1b88c8 --- /dev/null +++ b/.github/workflows/maven.yaml @@ -0,0 +1,44 @@ +name: Build Maven Packages + +on: + release: + types: + - released + +permissions: + contents: read + packages: write + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + ref: ${{ github.ref_name }} + + - name: Checkout compat + uses: actions/checkout@v4 + with: + repository: SanmerApps/ServiceManagerCompat + path: compat + + - name: Set up JDK + uses: actions/setup-java@v4 + with: + distribution: 'zulu' + java-version: 21 + + - name: Set up Gradle + uses: gradle/actions/setup-gradle@v4 + + - name: Build dependencies + working-directory: compat + run: ./gradlew publishToMavenLocal + + - name: Publish + env: + GITHUB_ACTOR: ${{ github.repository_owner }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: ./gradlew publish \ No newline at end of file From 98d9fcfc7a1235510fe387e2521a81ae9a8ffd9b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 20 Sep 2024 08:04:59 +0800 Subject: [PATCH 02/39] Bump org.jetbrains.kotlinx:kotlinx-serialization-protobuf (#171) --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 066f5d61..48f1f95d 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -19,7 +19,7 @@ hiddenApiRefine = "4.4.0" hilt = "2.52" kotlin = "2.0.20" kotlinxCoroutines = "1.9.0" -kotlinxSerialization = "1.7.2" +kotlinxSerialization = "1.7.3" ksp = "2.0.20-1.0.25" timber = "5.0.1" From 89db8dab4afaef5750f5a2e660449d4d9d59f185 Mon Sep 17 00:00:00 2001 From: Sanmer Bot Date: Mon, 23 Sep 2024 13:35:02 +0800 Subject: [PATCH 03/39] Translated using Weblate (Arabic) (#166) Currently translated at 94.4% (34 of 36 strings) Translation: PI/App Translate-URL: https://weblate.sanmer.app/projects/pi/app/ar/ Co-authored-by: Ab-Sr --- app/src/main/res/values-ar/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index fee0398e..2be3c279 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -28,7 +28,7 @@ اللغة إفتراضي تبع النظام فشل تحليل الحزمة - الحزمة غير متاحة + الخدمة غير متاحة مخول الطالب المنفذ From 2339226336ba14cf558daa344dbced1453c3926b Mon Sep 17 00:00:00 2001 From: SanmerDev Date: Tue, 24 Sep 2024 16:04:17 +0800 Subject: [PATCH 04/39] Bump gradle to 8.10.2 --- gradle/wrapper/gradle-wrapper.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 0aaefbca..df97d72b 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME From 933ffae7169734c1a067282907112595ff5fb4ce Mon Sep 17 00:00:00 2001 From: SanmerDev Date: Fri, 27 Sep 2024 16:22:09 +0800 Subject: [PATCH 05/39] Optimize `VersionCompat` --- .../dev/sanmer/pi/compat/VersionCompat.kt | 123 +++++++++--------- .../dev/sanmer/pi/ui/main/InstallScreen.kt | 64 +++++++-- .../pi/ui/screens/apps/component/AppItem.kt | 15 ++- .../sanmer/pi/viewmodel/InstallViewModel.kt | 12 +- .../res/values/strings_untranslatable.xml | 4 + 5 files changed, 130 insertions(+), 88 deletions(-) diff --git a/app/src/main/kotlin/dev/sanmer/pi/compat/VersionCompat.kt b/app/src/main/kotlin/dev/sanmer/pi/compat/VersionCompat.kt index 372b2c1f..1214acbf 100644 --- a/app/src/main/kotlin/dev/sanmer/pi/compat/VersionCompat.kt +++ b/app/src/main/kotlin/dev/sanmer/pi/compat/VersionCompat.kt @@ -1,88 +1,81 @@ package dev.sanmer.pi.compat +import android.content.Context import android.content.pm.PackageInfo import dev.sanmer.pi.PackageInfoCompat.compileSdkVersion import dev.sanmer.pi.PackageInfoCompat.isEmpty +import dev.sanmer.pi.R object VersionCompat { - private const val ARROW = "→" - private const val ARROW_REVERT = "←" - - private fun > StringBuilder.comparator( - v0: Pair, - v1: Pair - ) { - val (k0, s0) = v0 - val (k1, s1) = v1 - - if (s0.isNotEmpty()) append(s0) else append(k0) - when { - k0 == k1 -> return - k0 < k1 -> append(" $ARROW ") - k0 > k1 -> append(" $ARROW_REVERT ") + private fun > Pair.comparator( + ctx: Context, + other: Pair + ): String { + val (value0, text0) = this + val (value1, text1) = other + return when { + value0 == value1 -> text0.ifEmpty { value0.toString() } + else -> ctx.getString( + R.string.comparator, + text0.ifEmpty { value0.toString() }, + text1.ifEmpty { value1.toString() } + ) } - if (s1.isNotEmpty()) append(s1) else append(k1) } - private fun > StringBuilder.comparator( - v0: T, - v1: T - ) = comparator( - v0 = v0 to "", - v1 = v1 to "" + private fun > T.comparator( + ctx: Context, + other: T, + ) = (this to "").comparator( + ctx = ctx, + other = other to "" ) val PackageInfo.versionStr inline get() = "$versionName (${longVersionCode})" - val PackageInfo.hasCompileSdkVersion - inline get() = compileSdkVersion != 0 + private val PackageInfo.compileSdkDisplay + inline get() = if (compileSdkVersion != 0) compileSdkVersion.toString() else "?" - val PackageInfo.sdkVersion - inline get() = buildString { - if (isEmpty) return@buildString - val appInfo = requireNotNull(applicationInfo) - - append("Target: ") - append(appInfo.targetSdkVersion) - append(", ") - append("Min: ") - append(appInfo.minSdkVersion) - if (hasCompileSdkVersion) { - append(", ") - append("Compile: ") - append(compileSdkVersion) - } - } + fun PackageInfo.getSdkVersion(context: Context): String { + if (isEmpty) return "" + val appInfo = requireNotNull(applicationInfo) + return context.getString( + R.string.sdk_versions, + appInfo.targetSdkVersion.toString(), + appInfo.minSdkVersion.toString(), + compileSdkDisplay + ) + } - fun PackageInfo.versionDiff(other: PackageInfo): String { + fun PackageInfo.getVersionDiff(context: Context, other: PackageInfo): String { if (isEmpty) return other.versionStr if (other.isEmpty) return versionStr - return buildString { - comparator( - v0 = longVersionCode to versionStr, - v1 = other.longVersionCode to other.versionStr, - ) - } + return (longVersionCode to versionStr).comparator( + ctx = context, + other = other.longVersionCode to other.versionStr, + ) } - fun PackageInfo.sdkVersionDiff(other: PackageInfo): String { - if (isEmpty) return other.sdkVersion - if (other.isEmpty) return sdkVersion - return buildString { - val appInfo = requireNotNull(applicationInfo) - val otherAppInfo = requireNotNull(other.applicationInfo) - - append("Target: ") - comparator(appInfo.targetSdkVersion, otherAppInfo.targetSdkVersion) - append(", ") - append("Min: ") - comparator(appInfo.minSdkVersion, otherAppInfo.minSdkVersion) - if (other.hasCompileSdkVersion) { - append(", ") - append("Compile: ") - comparator(compileSdkVersion, other.compileSdkVersion) - } - } + fun PackageInfo.getSdkVersionDiff(context: Context, other: PackageInfo): String { + if (isEmpty) return other.getSdkVersion(context) + if (other.isEmpty) return getSdkVersion(context) + val appInfo0 = requireNotNull(applicationInfo) + val appInfo1 = requireNotNull(other.applicationInfo) + return context.getString( + R.string.sdk_versions, + appInfo0.targetSdkVersion.comparator( + ctx = context, + other = appInfo1.targetSdkVersion + ), + appInfo0.minSdkVersion.comparator( + ctx = context, + other = appInfo1.minSdkVersion + ), + (compileSdkVersion to compileSdkDisplay).comparator( + ctx = context, + other = other.compileSdkVersion to other.compileSdkDisplay + ) + ) } } \ No newline at end of file diff --git a/app/src/main/kotlin/dev/sanmer/pi/ui/main/InstallScreen.kt b/app/src/main/kotlin/dev/sanmer/pi/ui/main/InstallScreen.kt index db9819e3..6d965fe0 100644 --- a/app/src/main/kotlin/dev/sanmer/pi/ui/main/InstallScreen.kt +++ b/app/src/main/kotlin/dev/sanmer/pi/ui/main/InstallScreen.kt @@ -6,16 +6,20 @@ import androidx.compose.animation.fadeIn import androidx.compose.animation.fadeOut import androidx.compose.animation.scaleIn import androidx.compose.animation.scaleOut +import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size +import androidx.compose.foundation.layout.width import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.items import androidx.compose.foundation.lazy.rememberLazyListState +import androidx.compose.foundation.shape.CircleShape import androidx.compose.material3.FloatingActionButton import androidx.compose.material3.Icon import androidx.compose.material3.IconButton @@ -44,7 +48,7 @@ import coil.compose.AsyncImage import coil.request.ImageRequest import dev.sanmer.pi.R import dev.sanmer.pi.bundle.SplitConfig -import dev.sanmer.pi.compat.VersionCompat.sdkVersion +import dev.sanmer.pi.compat.VersionCompat.getSdkVersion import dev.sanmer.pi.compat.VersionCompat.versionStr import dev.sanmer.pi.ktx.finishActivity import dev.sanmer.pi.model.IPackageInfo @@ -128,8 +132,8 @@ fun InstallScreen( PackageInfo( packageInfo = viewModel.archiveInfo, versionDiff = viewModel.versionDiff, - sdkDiff = viewModel.sdkDiff, - totalSize = viewModel.totalSizeStr + sdkVersionDiff = viewModel.sdkVersionDiff, + fileSize = viewModel.fileSizeStr ) } @@ -251,8 +255,8 @@ private fun TopBar( private fun PackageInfo( packageInfo: IPackageInfo, versionDiff: String? = null, - sdkDiff: String? = null, - totalSize: String? = null + sdkVersionDiff: String? = null, + fileSize: String? = null ) = OutlinedCard( shape = MaterialTheme.shapes.large, ) { @@ -274,24 +278,41 @@ private fun PackageInfo( Column( modifier = Modifier.padding(start = 15.dp) ) { - Text( - text = packageInfo.appLabel, - style = MaterialTheme.typography.bodyLarge - ) + Row( + verticalAlignment = Alignment.Top + ) { + Text( + text = packageInfo.appLabel, + style = MaterialTheme.typography.bodyLarge, + modifier = Modifier.weight(1f) + ) + + Spacer(modifier = Modifier.width(15.dp)) + + if (fileSize != null) { + LabelText(text = fileSize) + } + } + Text( text = packageInfo.packageName, style = MaterialTheme.typography.bodyMedium ) + + val versionStr by remember { + derivedStateOf { versionDiff ?: packageInfo.versionStr } + } Text( - text = versionDiff ?: packageInfo.versionStr, + text = versionStr, style = MaterialTheme.typography.bodySmall, color = MaterialTheme.colorScheme.outline ) + + val sdkVersion by remember { + derivedStateOf { sdkVersionDiff ?: packageInfo.getSdkVersion(context) } + } Text( - text = buildString { - append(sdkDiff ?: packageInfo.sdkVersion) - totalSize?.let { append(", Size: $it") } - }, + text = sdkVersion, style = MaterialTheme.typography.bodySmall, color = MaterialTheme.colorScheme.outline ) @@ -383,4 +404,19 @@ private fun TittleItem( ) = Text( text = text, style = MaterialTheme.typography.titleMedium +) + +@Composable +private fun LabelText( + text: String +) = Text( + text = text, + style = MaterialTheme.typography.titleSmall, + color = MaterialTheme.colorScheme.onSecondaryContainer, + modifier = Modifier + .background( + color = MaterialTheme.colorScheme.secondaryContainer, + shape = CircleShape + ) + .padding(horizontal = 10.dp) ) \ No newline at end of file diff --git a/app/src/main/kotlin/dev/sanmer/pi/ui/screens/apps/component/AppItem.kt b/app/src/main/kotlin/dev/sanmer/pi/ui/screens/apps/component/AppItem.kt index c950f6cf..ac49a4f7 100644 --- a/app/src/main/kotlin/dev/sanmer/pi/ui/screens/apps/component/AppItem.kt +++ b/app/src/main/kotlin/dev/sanmer/pi/ui/screens/apps/component/AppItem.kt @@ -13,6 +13,9 @@ import androidx.compose.foundation.layout.size import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text import androidx.compose.runtime.Composable +import androidx.compose.runtime.derivedStateOf +import androidx.compose.runtime.getValue +import androidx.compose.runtime.remember import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext @@ -20,7 +23,7 @@ import androidx.compose.ui.unit.dp import coil.compose.AsyncImage import coil.request.ImageRequest import dev.sanmer.pi.R -import dev.sanmer.pi.compat.VersionCompat.sdkVersion +import dev.sanmer.pi.compat.VersionCompat.getSdkVersion import dev.sanmer.pi.compat.VersionCompat.versionStr import dev.sanmer.pi.model.IPackageInfo import dev.sanmer.pi.ui.component.Logo @@ -61,14 +64,20 @@ fun AppItem( style = MaterialTheme.typography.bodyMedium ) + val versionStr by remember { + derivedStateOf { pi.versionStr } + } Text( - text = pi.versionStr, + text = versionStr, style = MaterialTheme.typography.bodySmall, color = MaterialTheme.colorScheme.outline ) + val sdkVersion by remember { + derivedStateOf { pi.getSdkVersion(context) } + } Text( - text = pi.sdkVersion, + text = sdkVersion, style = MaterialTheme.typography.labelMedium, color = MaterialTheme.colorScheme.outline ) diff --git a/app/src/main/kotlin/dev/sanmer/pi/viewmodel/InstallViewModel.kt b/app/src/main/kotlin/dev/sanmer/pi/viewmodel/InstallViewModel.kt index e3a47b20..ef42114b 100644 --- a/app/src/main/kotlin/dev/sanmer/pi/viewmodel/InstallViewModel.kt +++ b/app/src/main/kotlin/dev/sanmer/pi/viewmodel/InstallViewModel.kt @@ -13,8 +13,8 @@ import androidx.lifecycle.AndroidViewModel import dagger.hilt.android.lifecycle.HiltViewModel import dev.sanmer.pi.PackageInfoCompat.isNotEmpty import dev.sanmer.pi.bundle.SplitConfig -import dev.sanmer.pi.compat.VersionCompat.sdkVersionDiff -import dev.sanmer.pi.compat.VersionCompat.versionDiff +import dev.sanmer.pi.compat.VersionCompat.getSdkVersionDiff +import dev.sanmer.pi.compat.VersionCompat.getVersionDiff import dev.sanmer.pi.model.IPackageInfo import dev.sanmer.pi.model.IPackageInfo.Companion.toIPackageInfo import dev.sanmer.pi.service.InstallService @@ -38,12 +38,12 @@ class InstallViewModel @Inject constructor( val hasSourceInfo by lazy { sourceInfo.isNotEmpty } private val currentInfo by lazy { getPackageInfo(archiveInfo.packageName) } - val versionDiff by lazy { currentInfo.versionDiff(archiveInfo) } - val sdkDiff by lazy { currentInfo.sdkVersionDiff(archiveInfo) } + val versionDiff by lazy { currentInfo.getVersionDiff(context, archiveInfo) } + val sdkVersionDiff by lazy { currentInfo.getSdkVersionDiff(context, archiveInfo) } private var baseSize = 0L - private val totalSize by derivedStateOf { baseSize + requiredConfigs.sumOf { it.file.length() } } - val totalSizeStr: String by derivedStateOf { Formatter.formatFileSize(context, totalSize) } + private val fileSize by derivedStateOf { baseSize + requiredConfigs.sumOf { it.file.length() } } + val fileSizeStr: String by derivedStateOf { Formatter.formatFileSize(context, fileSize) } var splitConfigs = listOf() private set diff --git a/app/src/main/res/values/strings_untranslatable.xml b/app/src/main/res/values/strings_untranslatable.xml index df64da2b..47a6621e 100644 --- a/app/src/main/res/values/strings_untranslatable.xml +++ b/app/src/main/res/values/strings_untranslatable.xml @@ -6,4 +6,8 @@ Shizuku Root + + %1$s → %2$s + Target: %1$s, Min: %2$s, Compile: %3$s + \ No newline at end of file From 2a63a05e0168f345442cecc59229e0d07df2e87b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 2 Oct 2024 10:37:30 +0800 Subject: [PATCH 06/39] Bump androidGradlePlugin from 8.6.1 to 8.7.0 (#173) --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 48f1f95d..706f68a7 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,5 +1,5 @@ [versions] -androidGradlePlugin = "8.6.1" +androidGradlePlugin = "8.7.0" androidxActivity = "1.9.2" androidxAnnotation = "1.8.2" androidxAppCompat = "1.7.0" From 23d3d9c5486f6ecb58e06d0b107026a8d0d09a51 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 3 Oct 2024 11:05:26 +0800 Subject: [PATCH 07/39] Bump androidx.navigation:navigation-compose from 2.8.1 to 2.8.2 (#174) --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 706f68a7..a95a9d5f 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -11,7 +11,7 @@ androidxDataStore = "1.1.1" androidxDocumentFile = "1.0.1" androidxHiltNavigationCompose = "1.2.0" androidxLifecycle = "2.8.6" -androidxNavigation = "2.8.1" +androidxNavigation = "2.8.2" androidxRoom = "2.6.1" appiconloader = "1.5.0" coil = "2.7.0" From bc738bc1468de82b79d12de9a29c7e4879f95a65 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 3 Oct 2024 11:05:39 +0800 Subject: [PATCH 08/39] Bump androidxCompose from 1.7.2 to 1.7.3 (#175) --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index a95a9d5f..a17cd0c1 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -3,7 +3,7 @@ androidGradlePlugin = "8.7.0" androidxActivity = "1.9.2" androidxAnnotation = "1.8.2" androidxAppCompat = "1.7.0" -androidxCompose = "1.7.2" +androidxCompose = "1.7.3" androidxComposeMaterial3 = "1.3.0" androidxCore = "1.13.1" androidxCoreSplashscreen = "1.0.1" From 5f2cdd940a8521682b09363c6cb1b8c89d4c70dc Mon Sep 17 00:00:00 2001 From: Sanmer Bot Date: Thu, 3 Oct 2024 13:23:00 +0800 Subject: [PATCH 09/39] Translations update from Weblate - SanmerApps (#176) * Translated using Weblate (Indonesian) Currently translated at 100.0% (36 of 36 strings) Translation: PI/App Translate-URL: https://weblate.sanmer.app/projects/pi/app/id/ * Translated using Weblate (Sundanese) Currently translated at 100.0% (36 of 36 strings) Translation: PI/App Translate-URL: https://weblate.sanmer.app/projects/pi/app/su/ --------- Co-authored-by: Ian Perdiansah --- app/src/main/res/values-in/strings.xml | 2 ++ app/src/main/res/values-su/strings.xml | 2 ++ 2 files changed, 4 insertions(+) diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index 8b948f5b..452227cb 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -34,4 +34,6 @@ Bantu kami menerjemahkan PI ke dalam bahasa Anda Ketuk untuk membuka apl PI Diperbarui + Penguraian + Layanan penguraian \ No newline at end of file diff --git a/app/src/main/res/values-su/strings.xml b/app/src/main/res/values-su/strings.xml index 8b12f4aa..1d96746e 100644 --- a/app/src/main/res/values-su/strings.xml +++ b/app/src/main/res/values-su/strings.xml @@ -34,4 +34,6 @@ Error teu dipikanyaho PI Dianyarkeun Toél pikeun muka apl + Layanan panguraian + Panguraian \ No newline at end of file From 49ba0da1f8fecb5cb66665b3b2088481ab65a0f8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 11 Oct 2024 17:41:12 +0800 Subject: [PATCH 10/39] Bump the kotlin-ksp group across 1 directory with 8 updates (#179) --- gradle/libs.versions.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index a17cd0c1..24024603 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -17,10 +17,10 @@ appiconloader = "1.5.0" coil = "2.7.0" hiddenApiRefine = "4.4.0" hilt = "2.52" -kotlin = "2.0.20" +kotlin = "2.0.21" kotlinxCoroutines = "1.9.0" kotlinxSerialization = "1.7.3" -ksp = "2.0.20-1.0.25" +ksp = "2.0.21-1.0.25" timber = "5.0.1" [libraries] From 311a8bdba1ffff70968b15f64b538f17438de5d3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 15 Oct 2024 08:13:14 +0800 Subject: [PATCH 11/39] Bump androidGradlePlugin from 8.7.0 to 8.7.1 (#181) --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 24024603..5d68c2f9 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,5 +1,5 @@ [versions] -androidGradlePlugin = "8.7.0" +androidGradlePlugin = "8.7.1" androidxActivity = "1.9.2" androidxAnnotation = "1.8.2" androidxAppCompat = "1.7.0" From be016fea6af10742cfee1c6cdf695b1fbb73824b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 17 Oct 2024 07:33:30 +0800 Subject: [PATCH 12/39] Bump androidxCompose from 1.7.3 to 1.7.4 (#182) --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 5d68c2f9..d1fa3b9d 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -3,7 +3,7 @@ androidGradlePlugin = "8.7.1" androidxActivity = "1.9.2" androidxAnnotation = "1.8.2" androidxAppCompat = "1.7.0" -androidxCompose = "1.7.3" +androidxCompose = "1.7.4" androidxComposeMaterial3 = "1.3.0" androidxCore = "1.13.1" androidxCoreSplashscreen = "1.0.1" From 1be87fd80fc2d8ebfc940a35001121cd531e73ee Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 17 Oct 2024 07:33:48 +0800 Subject: [PATCH 13/39] Bump androidx.navigation:navigation-compose from 2.8.2 to 2.8.3 (#183) --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index d1fa3b9d..247e004c 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -11,7 +11,7 @@ androidxDataStore = "1.1.1" androidxDocumentFile = "1.0.1" androidxHiltNavigationCompose = "1.2.0" androidxLifecycle = "2.8.6" -androidxNavigation = "2.8.2" +androidxNavigation = "2.8.3" androidxRoom = "2.6.1" appiconloader = "1.5.0" coil = "2.7.0" From ffb5d14385a731a898b1ac3216410ad7931729dd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 17 Oct 2024 07:34:03 +0800 Subject: [PATCH 14/39] Bump androidx.annotation:annotation from 1.8.2 to 1.9.0 (#184) --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 247e004c..7b060267 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,7 +1,7 @@ [versions] androidGradlePlugin = "8.7.1" androidxActivity = "1.9.2" -androidxAnnotation = "1.8.2" +androidxAnnotation = "1.9.0" androidxAppCompat = "1.7.0" androidxCompose = "1.7.4" androidxComposeMaterial3 = "1.3.0" From b28666eaaf76c7cff3ffb3254a8abf4b880f2e8e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 17 Oct 2024 07:38:29 +0800 Subject: [PATCH 15/39] Bump androidx.activity:activity-compose from 1.9.2 to 1.9.3 (#185) --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 7b060267..4e302e99 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,6 +1,6 @@ [versions] androidGradlePlugin = "8.7.1" -androidxActivity = "1.9.2" +androidxActivity = "1.9.3" androidxAnnotation = "1.9.0" androidxAppCompat = "1.7.0" androidxCompose = "1.7.4" From 3d10bf288b32c30a149a0e30da69c6098d611453 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 24 Oct 2024 08:16:17 +0800 Subject: [PATCH 16/39] Bump the kotlin-ksp group with 2 updates (#186) --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 4e302e99..d7082905 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -20,7 +20,7 @@ hilt = "2.52" kotlin = "2.0.21" kotlinxCoroutines = "1.9.0" kotlinxSerialization = "1.7.3" -ksp = "2.0.21-1.0.25" +ksp = "2.0.21-1.0.26" timber = "5.0.1" [libraries] From dd6a88cb343bbdd109d66b5227d721d8e12d1c13 Mon Sep 17 00:00:00 2001 From: SanmerDev Date: Sat, 26 Oct 2024 18:40:48 +0800 Subject: [PATCH 17/39] Remove weblate --- README.md | 2 +- app/src/main/kotlin/dev/sanmer/pi/Const.kt | 1 - .../kotlin/dev/sanmer/pi/ui/screens/settings/SettingsScreen.kt | 3 ++- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index a6ba292c..5a4d079a 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # PI -[![release](https://img.shields.io/github/v/release/SanmerApps/PI?label=release&color=red)](https://github.com/SanmerApps/PI/releases) [![download](https://shields.io/github/downloads/SanmerApps/PI/total?label=download)](https://github.com/SanmerApps/PI/releases/latest) [![translated](https://weblate.sanmer.app/widget/pi/svg-badge.svg)](https://weblate.sanmer.app/engage/pi/) +[![release](https://img.shields.io/github/v/release/SanmerApps/PI?label=release&color=red)](https://github.com/SanmerApps/PI/releases) [![download](https://shields.io/github/downloads/SanmerApps/PI/total?label=download)](https://github.com/SanmerApps/PI/releases/latest) ## Supported Versions Android 11 ~ 15 diff --git a/app/src/main/kotlin/dev/sanmer/pi/Const.kt b/app/src/main/kotlin/dev/sanmer/pi/Const.kt index 1737ce07..6c06c31f 100644 --- a/app/src/main/kotlin/dev/sanmer/pi/Const.kt +++ b/app/src/main/kotlin/dev/sanmer/pi/Const.kt @@ -2,7 +2,6 @@ package dev.sanmer.pi object Const { const val GITHUB_URL = "https://github.com/SanmerApps/PI" - const val TRANSLATE_URL = "https://weblate.sanmer.app/engage/pi" const val CHANNEL_ID_INSTALL = "INSTALL" const val CHANNEL_ID_PARSE = "PARSE" diff --git a/app/src/main/kotlin/dev/sanmer/pi/ui/screens/settings/SettingsScreen.kt b/app/src/main/kotlin/dev/sanmer/pi/ui/screens/settings/SettingsScreen.kt index 87c19d1d..103724b6 100644 --- a/app/src/main/kotlin/dev/sanmer/pi/ui/screens/settings/SettingsScreen.kt +++ b/app/src/main/kotlin/dev/sanmer/pi/ui/screens/settings/SettingsScreen.kt @@ -97,7 +97,8 @@ fun SettingsScreen( icon = R.drawable.language, title = stringResource(id = R.string.settings_translation), desc = stringResource(id = R.string.settings_translation_desc), - onClick = { context.viewUrl(Const.TRANSLATE_URL) } + onClick = {}, + enabled = false ) } } From c9a919253aff2fcdb0d03c8f0b4ba7808f0c9d67 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 31 Oct 2024 08:49:22 +0800 Subject: [PATCH 18/39] Bump androidxLifecycle from 2.8.6 to 2.8.7 (#187) --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index d7082905..29960bef 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -10,7 +10,7 @@ androidxCoreSplashscreen = "1.0.1" androidxDataStore = "1.1.1" androidxDocumentFile = "1.0.1" androidxHiltNavigationCompose = "1.2.0" -androidxLifecycle = "2.8.6" +androidxLifecycle = "2.8.7" androidxNavigation = "2.8.3" androidxRoom = "2.6.1" appiconloader = "1.5.0" From c98bddc0522d334ebd80865cb667b566cdae58df Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 31 Oct 2024 08:49:34 +0800 Subject: [PATCH 19/39] Bump androidxCompose from 1.7.4 to 1.7.5 (#188) --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 29960bef..4ae36934 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -3,7 +3,7 @@ androidGradlePlugin = "8.7.1" androidxActivity = "1.9.3" androidxAnnotation = "1.9.0" androidxAppCompat = "1.7.0" -androidxCompose = "1.7.4" +androidxCompose = "1.7.5" androidxComposeMaterial3 = "1.3.0" androidxCore = "1.13.1" androidxCoreSplashscreen = "1.0.1" From 8a637706a284b792691929f489917612424f637f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 31 Oct 2024 08:49:47 +0800 Subject: [PATCH 20/39] Bump androidx.annotation:annotation from 1.9.0 to 1.9.1 (#189) --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 4ae36934..ed366c72 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,7 +1,7 @@ [versions] androidGradlePlugin = "8.7.1" androidxActivity = "1.9.3" -androidxAnnotation = "1.9.0" +androidxAnnotation = "1.9.1" androidxAppCompat = "1.7.0" androidxCompose = "1.7.5" androidxComposeMaterial3 = "1.3.0" From c1f5c03d9424991cd547d1fa60fc6db9c70dc507 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 31 Oct 2024 08:50:05 +0800 Subject: [PATCH 21/39] Bump androidx.core:core-ktx from 1.13.1 to 1.15.0 (#191) --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index ed366c72..1f81273d 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -5,7 +5,7 @@ androidxAnnotation = "1.9.1" androidxAppCompat = "1.7.0" androidxCompose = "1.7.5" androidxComposeMaterial3 = "1.3.0" -androidxCore = "1.13.1" +androidxCore = "1.15.0" androidxCoreSplashscreen = "1.0.1" androidxDataStore = "1.1.1" androidxDocumentFile = "1.0.1" From afe1538e82dee8508560125bd211dbc6d306a039 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 31 Oct 2024 08:51:03 +0800 Subject: [PATCH 22/39] Bump androidx.compose.material3:material3 from 1.3.0 to 1.3.1 (#190) --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 1f81273d..0bf17ac0 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -4,7 +4,7 @@ androidxActivity = "1.9.3" androidxAnnotation = "1.9.1" androidxAppCompat = "1.7.0" androidxCompose = "1.7.5" -androidxComposeMaterial3 = "1.3.0" +androidxComposeMaterial3 = "1.3.1" androidxCore = "1.15.0" androidxCoreSplashscreen = "1.0.1" androidxDataStore = "1.1.1" From b3ebce70c8abcd9e4cae9a3f6bf0dd642a1f4e3d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 1 Nov 2024 08:42:19 +0800 Subject: [PATCH 23/39] Bump androidGradlePlugin from 8.7.1 to 8.7.2 (#192) --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 0bf17ac0..f18491d3 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,5 +1,5 @@ [versions] -androidGradlePlugin = "8.7.1" +androidGradlePlugin = "8.7.2" androidxActivity = "1.9.3" androidxAnnotation = "1.9.1" androidxAppCompat = "1.7.0" From f08fedfda9f24bb8353e893ef1fd8a817f3e6f7f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 9 Nov 2024 18:12:08 +0800 Subject: [PATCH 24/39] Bump the kotlin-ksp group with 2 updates (#194) --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index f18491d3..eed03ba5 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -20,7 +20,7 @@ hilt = "2.52" kotlin = "2.0.21" kotlinxCoroutines = "1.9.0" kotlinxSerialization = "1.7.3" -ksp = "2.0.21-1.0.26" +ksp = "2.0.21-1.0.27" timber = "5.0.1" [libraries] From 61b2c158e9b934b75659f1399e0028e9146662eb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 14 Nov 2024 10:55:07 +0800 Subject: [PATCH 25/39] Bump androidx.navigation:navigation-compose from 2.8.3 to 2.8.4 (#195) --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index eed03ba5..ff92ae7d 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -11,7 +11,7 @@ androidxDataStore = "1.1.1" androidxDocumentFile = "1.0.1" androidxHiltNavigationCompose = "1.2.0" androidxLifecycle = "2.8.7" -androidxNavigation = "2.8.3" +androidxNavigation = "2.8.4" androidxRoom = "2.6.1" appiconloader = "1.5.0" coil = "2.7.0" From a7ddf5d54d580b85d97d7def104c26390838e02b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 19 Nov 2024 08:58:46 +0800 Subject: [PATCH 26/39] Bump the kotlin-ksp group with 2 updates (#196) --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index ff92ae7d..d6d90f93 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -20,7 +20,7 @@ hilt = "2.52" kotlin = "2.0.21" kotlinxCoroutines = "1.9.0" kotlinxSerialization = "1.7.3" -ksp = "2.0.21-1.0.27" +ksp = "2.0.21-1.0.28" timber = "5.0.1" [libraries] From dfab7e5a10b0a2238911bcf2fdc8ac8df6446d44 Mon Sep 17 00:00:00 2001 From: SanmerDev Date: Sat, 23 Nov 2024 12:49:56 +0800 Subject: [PATCH 27/39] Bump gradle to 8.11.1 --- gradle/wrapper/gradle-wrapper.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index df97d72b..e2847c82 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME From 16327b9742a1bf9810be12710996af7f88523afa Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 4 Dec 2024 14:58:22 +0800 Subject: [PATCH 28/39] Bump androidGradlePlugin from 8.7.2 to 8.7.3 (#202) --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index d6d90f93..31a5393a 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,5 +1,5 @@ [versions] -androidGradlePlugin = "8.7.2" +androidGradlePlugin = "8.7.3" androidxActivity = "1.9.3" androidxAnnotation = "1.9.1" androidxAppCompat = "1.7.0" From bcfd16afd9e3e8e5c27f980c4882dfbe83515753 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 4 Dec 2024 15:06:08 +0800 Subject: [PATCH 29/39] Bump hilt from 2.52 to 2.53 (#201) --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 31a5393a..93f8e65d 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -16,7 +16,7 @@ androidxRoom = "2.6.1" appiconloader = "1.5.0" coil = "2.7.0" hiddenApiRefine = "4.4.0" -hilt = "2.52" +hilt = "2.53" kotlin = "2.0.21" kotlinxCoroutines = "1.9.0" kotlinxSerialization = "1.7.3" From 771955f9f45b1ec778f0a03f64b5c54a7f905ede Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 4 Dec 2024 15:22:10 +0800 Subject: [PATCH 30/39] Bump the kotlin-ksp group across 1 directory with 8 updates (#200) --- gradle/libs.versions.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 93f8e65d..e85a45cd 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -17,10 +17,10 @@ appiconloader = "1.5.0" coil = "2.7.0" hiddenApiRefine = "4.4.0" hilt = "2.53" -kotlin = "2.0.21" +kotlin = "2.1.0" kotlinxCoroutines = "1.9.0" kotlinxSerialization = "1.7.3" -ksp = "2.0.21-1.0.28" +ksp = "2.1.0-1.0.29" timber = "5.0.1" [libraries] From a77a01b91b6d4b4cee6294d75b0b8d4d9db01458 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 10 Dec 2024 11:35:19 +0800 Subject: [PATCH 31/39] Bump hilt from 2.53 to 2.53.1 (#203) --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index e85a45cd..bb330f8f 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -16,7 +16,7 @@ androidxRoom = "2.6.1" appiconloader = "1.5.0" coil = "2.7.0" hiddenApiRefine = "4.4.0" -hilt = "2.53" +hilt = "2.53.1" kotlin = "2.1.0" kotlinxCoroutines = "1.9.0" kotlinxSerialization = "1.7.3" From cdf8239242476bd290897f7d2c660c777173cce8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 13 Dec 2024 11:52:23 +0800 Subject: [PATCH 32/39] Bump androidxCompose from 1.7.5 to 1.7.6 (#204) --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index bb330f8f..0fcdd929 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -3,7 +3,7 @@ androidGradlePlugin = "8.7.3" androidxActivity = "1.9.3" androidxAnnotation = "1.9.1" androidxAppCompat = "1.7.0" -androidxCompose = "1.7.5" +androidxCompose = "1.7.6" androidxComposeMaterial3 = "1.3.1" androidxCore = "1.15.0" androidxCoreSplashscreen = "1.0.1" From 925185db95c42c096d54eb9e8ad1e1e7a203cd06 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 13 Dec 2024 11:52:41 +0800 Subject: [PATCH 33/39] Bump androidx.navigation:navigation-compose from 2.8.4 to 2.8.5 (#205) --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 0fcdd929..97f1112d 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -11,7 +11,7 @@ androidxDataStore = "1.1.1" androidxDocumentFile = "1.0.1" androidxHiltNavigationCompose = "1.2.0" androidxLifecycle = "2.8.7" -androidxNavigation = "2.8.4" +androidxNavigation = "2.8.5" androidxRoom = "2.6.1" appiconloader = "1.5.0" coil = "2.7.0" From cc80ba4cbe1dd84cbe6bf473b978dc6793a99c5e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 20 Dec 2024 09:20:07 +0800 Subject: [PATCH 34/39] Bump org.jetbrains.kotlinx:kotlinx-coroutines-android (#206) --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 97f1112d..837da329 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -18,7 +18,7 @@ coil = "2.7.0" hiddenApiRefine = "4.4.0" hilt = "2.53.1" kotlin = "2.1.0" -kotlinxCoroutines = "1.9.0" +kotlinxCoroutines = "1.10.0" kotlinxSerialization = "1.7.3" ksp = "2.1.0-1.0.29" timber = "5.0.1" From 7fa2832f1ab79756e48e09a54d4ac9f15ea7290e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 21 Dec 2024 15:32:58 +0800 Subject: [PATCH 35/39] Bump hilt from 2.53.1 to 2.54 (#207) --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 837da329..9c2ed48c 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -16,7 +16,7 @@ androidxRoom = "2.6.1" appiconloader = "1.5.0" coil = "2.7.0" hiddenApiRefine = "4.4.0" -hilt = "2.53.1" +hilt = "2.54" kotlin = "2.1.0" kotlinxCoroutines = "1.10.0" kotlinxSerialization = "1.7.3" From f0689c8271dd0c9ac60ade8e1eeee93b8809cd42 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 21 Dec 2024 15:33:11 +0800 Subject: [PATCH 36/39] Bump org.jetbrains.kotlinx:kotlinx-coroutines-android (#208) --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 9c2ed48c..d1d9c5b3 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -18,7 +18,7 @@ coil = "2.7.0" hiddenApiRefine = "4.4.0" hilt = "2.54" kotlin = "2.1.0" -kotlinxCoroutines = "1.10.0" +kotlinxCoroutines = "1.10.1" kotlinxSerialization = "1.7.3" ksp = "2.1.0-1.0.29" timber = "5.0.1" From 3c0682ee1e8f9a66f4152eaca03e5ae42de02d8d Mon Sep 17 00:00:00 2001 From: SanmerDev Date: Sun, 22 Dec 2024 15:59:56 +0800 Subject: [PATCH 37/39] Remove support for QPR --- .../main/kotlin/dev/sanmer/pi/BuildCompat.kt | 3 + .../pi/delegate/PermissionManagerDelegate.kt | 95 ++++--------------- .../permission/IPermissionManager.java | 15 +-- .../android/internal/app/IAppOpsCallback.java | 4 +- 4 files changed, 29 insertions(+), 88 deletions(-) diff --git a/core/src/main/kotlin/dev/sanmer/pi/BuildCompat.kt b/core/src/main/kotlin/dev/sanmer/pi/BuildCompat.kt index 4f95322e..b5581adf 100644 --- a/core/src/main/kotlin/dev/sanmer/pi/BuildCompat.kt +++ b/core/src/main/kotlin/dev/sanmer/pi/BuildCompat.kt @@ -4,6 +4,9 @@ import android.os.Build import androidx.annotation.ChecksSdkIntAtLeast internal object BuildCompat { + @get:ChecksSdkIntAtLeast(api = Build.VERSION_CODES.VANILLA_ICE_CREAM) + val atLeastV inline get() = Build.VERSION.SDK_INT >= Build.VERSION_CODES.VANILLA_ICE_CREAM + @get:ChecksSdkIntAtLeast(api = Build.VERSION_CODES.UPSIDE_DOWN_CAKE) val atLeastU inline get() = Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE diff --git a/core/src/main/kotlin/dev/sanmer/pi/delegate/PermissionManagerDelegate.kt b/core/src/main/kotlin/dev/sanmer/pi/delegate/PermissionManagerDelegate.kt index a84d4e95..b62ca047 100644 --- a/core/src/main/kotlin/dev/sanmer/pi/delegate/PermissionManagerDelegate.kt +++ b/core/src/main/kotlin/dev/sanmer/pi/delegate/PermissionManagerDelegate.kt @@ -1,7 +1,6 @@ package dev.sanmer.pi.delegate import android.companion.virtual.VirtualDeviceManagerHidden -import android.content.Context import android.content.pm.IPackageManager import android.permission.IPermissionManager import dev.sanmer.pi.BuildCompat @@ -25,26 +24,12 @@ class PermissionManagerDelegate( fun grantRuntimePermission(packageName: String, permissionName: String, userId: Int) { when { - BuildCompat.atLeastU -> - rollback { - permissionManager.grantRuntimePermission( - packageName, - permissionName, - VirtualDeviceManagerHidden.PERSISTENT_DEVICE_ID_DEFAULT, - userId - ) - } ?: rollback { - permissionManager.grantRuntimePermission( - packageName, - permissionName, - Context.DEVICE_ID_DEFAULT, - userId - ) - } ?: permissionManager.grantRuntimePermission( - packageName, - permissionName, - userId - ) + BuildCompat.atLeastV -> permissionManager.grantRuntimePermission( + packageName, + permissionName, + VirtualDeviceManagerHidden.PERSISTENT_DEVICE_ID_DEFAULT, + userId + ) else -> permissionManager.grantRuntimePermission( packageName, @@ -56,29 +41,13 @@ class PermissionManagerDelegate( fun revokeRuntimePermission(packageName: String, permissionName: String, userId: Int) { when { - BuildCompat.atLeastU -> - rollback { - permissionManager.revokeRuntimePermission( - packageName, - permissionName, - VirtualDeviceManagerHidden.PERSISTENT_DEVICE_ID_DEFAULT, - userId, - null - ) - } ?: rollback { - permissionManager.revokeRuntimePermission( - packageName, - permissionName, - Context.DEVICE_ID_DEFAULT, - userId, - null - ) - } ?: permissionManager.revokeRuntimePermission( - packageName, - permissionName, - userId, - null - ) + BuildCompat.atLeastV -> permissionManager.revokeRuntimePermission( + packageName, + permissionName, + VirtualDeviceManagerHidden.PERSISTENT_DEVICE_ID_DEFAULT, + userId, + null + ) else -> permissionManager.revokeRuntimePermission( packageName, @@ -91,42 +60,18 @@ class PermissionManagerDelegate( fun checkPermission(packageName: String, permissionName: String, userId: Int): Int { return when { - BuildCompat.atLeastU -> - rollback { - permissionManager.checkPermission( - packageName, - permissionName, - VirtualDeviceManagerHidden.PERSISTENT_DEVICE_ID_DEFAULT, - userId - ) - } ?: rollback { - permissionManager.checkPermission( - packageName, - permissionName, - Context.DEVICE_ID_DEFAULT, - userId - ) - } ?: packageManager.checkPermission( - packageName, - permissionName, - userId - ) + BuildCompat.atLeastV -> permissionManager.checkPermission( + packageName, + permissionName, + VirtualDeviceManagerHidden.PERSISTENT_DEVICE_ID_DEFAULT, + userId + ) else -> packageManager.checkPermission( - permissionName, packageName, + permissionName, userId ) } } - - private inline fun rollback(block: () -> T): T? { - return try { - block() - } catch (_: NoSuchMethodError) { - null - } catch (_: NoSuchFieldError) { - null - } - } } \ No newline at end of file diff --git a/stub/src/main/java/android/permission/IPermissionManager.java b/stub/src/main/java/android/permission/IPermissionManager.java index f0bf65f7..28ed7e88 100644 --- a/stub/src/main/java/android/permission/IPermissionManager.java +++ b/stub/src/main/java/android/permission/IPermissionManager.java @@ -11,24 +11,15 @@ public interface IPermissionManager extends IInterface { void grantRuntimePermission(String packageName, String permissionName, int userId) throws RemoteException; - @RequiresApi(34) // QPR2 - void grantRuntimePermission(String packageName, String permissionName, int deviceId, int userId) throws RemoteException; - - @RequiresApi(34) // QPR3 + @RequiresApi(35) void grantRuntimePermission(String packageName, String permissionName, String persistentDeviceId, int userId) throws RemoteException; void revokeRuntimePermission(String packageName, String permissionName, int userId, String reason) throws RemoteException; - @RequiresApi(34) // QPR2 - void revokeRuntimePermission(String packageName, String permissionName, int deviceId, int userId, String reason) throws RemoteException; - - @RequiresApi(34) // QPR3 + @RequiresApi(35) void revokeRuntimePermission(String packageName, String permissionName, String persistentDeviceId, int userId, String reason) throws RemoteException; - @RequiresApi(34) // QPR2 - int checkPermission(String packageName, String permissionName, int deviceId, int userId) throws RemoteException; - - @RequiresApi(34) // QPR3 + @RequiresApi(35) int checkPermission(String packageName, String permissionName, String persistentDeviceId, int userId) throws RemoteException; abstract class Stub extends Binder implements IPermissionManager { diff --git a/stub/src/main/java/com/android/internal/app/IAppOpsCallback.java b/stub/src/main/java/com/android/internal/app/IAppOpsCallback.java index df83e6e9..a16da5b2 100644 --- a/stub/src/main/java/com/android/internal/app/IAppOpsCallback.java +++ b/stub/src/main/java/com/android/internal/app/IAppOpsCallback.java @@ -5,11 +5,13 @@ import android.os.IInterface; import android.os.RemoteException; +import androidx.annotation.RequiresApi; + public interface IAppOpsCallback extends IInterface { void opChanged(int op, int uid, String packageName) throws RemoteException; - // Android 14 QPR3 + @RequiresApi(35) void opChanged(int op, int uid, String packageName, String persistentDeviceId) throws RemoteException; abstract class Stub extends Binder implements IAppOpsCallback { From 901e2a0b2bdbc95cbe4f17e1cda1f9cf5be55114 Mon Sep 17 00:00:00 2001 From: SanmerDev Date: Sun, 22 Dec 2024 16:07:40 +0800 Subject: [PATCH 38/39] Bump gradle to 8.12 --- gradle/wrapper/gradle-wrapper.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index e2847c82..cea7a793 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME From 0499fba0ba659577f3ef336f88212fd52ac3f220 Mon Sep 17 00:00:00 2001 From: SanmerDev Date: Sun, 22 Dec 2024 16:39:15 +0800 Subject: [PATCH 39/39] Bump version to 1.1.8 --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index e2312622..57f52629 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -14,7 +14,7 @@ task("clean") { } subprojects { - val baseVersionName by extra("1.1.7") + val baseVersionName by extra("1.1.8") apply(plugin = "maven-publish") configure {