Skip to content

Commit d482188

Browse files
committed
fixes #284
1 parent adc300b commit d482188

48 files changed

Lines changed: 88 additions & 8 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

app/build.gradle.kts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,16 @@ android {
6565
signingConfig = signingConfigs.getByName("release")
6666
}
6767
}
68+
69+
kotlin {
70+
jvmToolchain(21)
71+
}
72+
6873
compileOptions {
69-
sourceCompatibility = JavaVersion.VERSION_1_8
70-
targetCompatibility = JavaVersion.VERSION_1_8
74+
sourceCompatibility = JavaVersion.VERSION_21
75+
targetCompatibility = JavaVersion.VERSION_21
7176
}
77+
7278
buildFeatures {
7379
compose = true
7480
buildConfig = true

app/src/main/java/io/github/samolego/canta/ui/CantaApp.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ fun CantaApp(
9999

100100
NavHost(navController = navController, startDestination = Screen.Main.route) {
101101
composable(Screen.Main.route) {
102+
val presetSaveError = stringResource(R.string.preset_save_error)
102103
MainContent(
103104
canResetAppToFactory = canResetAppToFactory,
104105
uninstallApp = uninstallApp,
@@ -121,9 +122,7 @@ fun CantaApp(
121122
// Show error message to user
122123
Toast.makeText(
123124
context,
124-
context.getString(
125-
R.string.preset_save_error
126-
),
125+
presetSaveError,
127126
Toast.LENGTH_LONG
128127
)
129128
.show()

app/src/main/java/io/github/samolego/canta/ui/dialog/AppInfoDialog.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package io.github.samolego.canta.ui.dialog
22

3+
import android.content.ClipData
34
import android.content.Intent
45
import android.content.pm.PackageManager
56
import android.net.Uri
@@ -34,6 +35,7 @@ import androidx.compose.material3.Text
3435
import androidx.compose.runtime.Composable
3536
import androidx.compose.ui.Alignment
3637
import androidx.compose.ui.Modifier
38+
import androidx.compose.ui.platform.LocalClipboard
3739
import androidx.compose.ui.platform.LocalClipboardManager
3840
import androidx.compose.ui.platform.LocalConfiguration
3941
import androidx.compose.ui.platform.LocalContext
@@ -190,7 +192,7 @@ fun AppInfoDialog(
190192
)
191193
} else {
192194
Text(
193-
text = context.getString(R.string.no_description_available),
195+
text = stringResource(R.string.no_description_available),
194196
style = MaterialTheme.typography.bodySmall
195197
)
196198
}

app/src/main/java/io/github/samolego/canta/ui/dialog/ShizukuRequirementDialog.kt

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@ package io.github.samolego.canta.ui.dialog
22

33
import android.content.Intent
44
import android.content.pm.PackageManager
5-
import android.net.Uri
5+
import android.os.Build
6+
import android.provider.Settings
67
import androidx.compose.foundation.background
78
import androidx.compose.foundation.layout.Arrangement
89
import androidx.compose.foundation.layout.Column
@@ -32,6 +33,7 @@ import androidx.compose.ui.res.stringResource
3233
import androidx.compose.ui.text.style.TextDecoration
3334
import androidx.compose.ui.unit.dp
3435
import androidx.compose.ui.window.DialogProperties
36+
import androidx.core.net.toUri
3537
import io.github.samolego.canta.R
3638
import io.github.samolego.canta.SHIZUKU_PACKAGE_NAME
3739
import io.github.samolego.canta.ui.theme.GreenOk
@@ -41,6 +43,7 @@ import io.github.samolego.canta.util.shizuku.ShizukuStatus
4143

4244
const val SHIZUKU_PLAY_STORE_URL =
4345
"https://play.google.com/store/apps/details?id=$SHIZUKU_PACKAGE_NAME"
46+
const val SHIZUKU_ANDROID_16_URL = "https://github.com/thedjchi/Shizuku/releases"
4447

4548
@OptIn(ExperimentalMaterial3Api::class)
4649
@Composable
@@ -58,6 +61,16 @@ fun ShizukuRequirementDialog(
5861
}
5962
}
6063

64+
val isUsbDebuggingEnabled = try {
65+
Settings.Global.getInt(
66+
context.contentResolver,
67+
Settings.Global.ADB_ENABLED,
68+
0
69+
) == 1
70+
} catch (e: Exception) {
71+
false
72+
}
73+
6174

6275
BasicAlertDialog(
6376
modifier =
@@ -101,6 +114,19 @@ fun ShizukuRequirementDialog(
101114
modifier = Modifier.fillMaxWidth(),
102115
verticalArrangement = Arrangement.spacedBy(12.dp)
103116
) {
117+
// We want to also prompt
118+
// the user to enable USB debugging just
119+
// in case, if they'll need to rescue their device with
120+
// PC if sth goes wrong (#284)
121+
RequirementItem(
122+
text = stringResource(R.string.enable_usb_debugging),
123+
isCompleted = isUsbDebuggingEnabled,
124+
enabled = false,
125+
onActionClick = {
126+
val intent = Intent(Settings.ACTION_APPLICATION_DEVELOPMENT_SETTINGS)
127+
context.startActivity(intent)
128+
}
129+
)
104130
// Install Shizuku
105131
RequirementItem(
106132
text = stringResource(R.string.install_shizuku),
@@ -110,7 +136,10 @@ fun ShizukuRequirementDialog(
110136
val intent =
111137
Intent(
112138
Intent.ACTION_VIEW,
113-
Uri.parse(SHIZUKU_PLAY_STORE_URL)
139+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S)
140+
SHIZUKU_ANDROID_16_URL.toUri()
141+
else
142+
SHIZUKU_PLAY_STORE_URL.toUri()
114143
)
115144
context.startActivity(intent)
116145
}

app/src/main/res/values-af-rZA/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,4 +112,5 @@
112112
<string name="auth_required_description">This action requires higher privileges.</string>
113113
<string name="require_auth_setting_desc">Require authentication for uninstalling or reinstalling apps.</string>
114114
<string name="require_auth_setting">Require authentication</string>
115+
<string name="enable_usb_debugging">(Optional) Enable USB debugging</string>
115116
</resources>

app/src/main/res/values-ar-rSA/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,4 +128,5 @@
128128
<string name="auth_required_description">ويتطلب هذا الإجراء المزيد من الامتيازات.</string>
129129
<string name="require_auth_setting_desc">تطلب الاستيثاق لإلغاء تثبيت التطبيقات أو إعادة تثبيتها.</string>
130130
<string name="require_auth_setting">تطلب استيثاق</string>
131+
<string name="enable_usb_debugging">(Optional) Enable USB debugging</string>
131132
</resources>

app/src/main/res/values-bn-rBD/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,4 +112,5 @@
112112
<string name="auth_required_description">This action requires higher privileges.</string>
113113
<string name="require_auth_setting_desc">Require authentication for uninstalling or reinstalling apps.</string>
114114
<string name="require_auth_setting">Require authentication</string>
115+
<string name="enable_usb_debugging">(Optional) Enable USB debugging</string>
115116
</resources>

app/src/main/res/values-ca-rES/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,4 +112,5 @@
112112
<string name="auth_required_description">This action requires higher privileges.</string>
113113
<string name="require_auth_setting_desc">Require authentication for uninstalling or reinstalling apps.</string>
114114
<string name="require_auth_setting">Require authentication</string>
115+
<string name="enable_usb_debugging">(Optional) Enable USB debugging</string>
115116
</resources>

app/src/main/res/values-cs-rCZ/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,4 +120,5 @@
120120
<string name="auth_required_description">This action requires higher privileges.</string>
121121
<string name="require_auth_setting_desc">Require authentication for uninstalling or reinstalling apps.</string>
122122
<string name="require_auth_setting">Require authentication</string>
123+
<string name="enable_usb_debugging">(Optional) Enable USB debugging</string>
123124
</resources>

app/src/main/res/values-da-rDK/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,4 +112,5 @@
112112
<string name="auth_required_description">Denne handling kræver højere privilegier.</string>
113113
<string name="require_auth_setting_desc">Kræv godkendelse for at afinstallere/geninstallere apps.</string>
114114
<string name="require_auth_setting">Kræv godkendelse</string>
115+
<string name="enable_usb_debugging">(Optional) Enable USB debugging</string>
115116
</resources>

0 commit comments

Comments
 (0)