diff --git a/.java-version b/.java-version
index d7109a33..088306b4 100644
--- a/.java-version
+++ b/.java-version
@@ -1 +1 @@
-openjdk64-11.0.11
+openjdk64-17.0.7
diff --git a/app/src/main/java/com/yogeshpaliyal/keypass/ui/detail/AccountDetailPage.kt b/app/src/main/java/com/yogeshpaliyal/keypass/ui/detail/AccountDetailPage.kt
index ffeced1a..a7c2f55a 100644
--- a/app/src/main/java/com/yogeshpaliyal/keypass/ui/detail/AccountDetailPage.kt
+++ b/app/src/main/java/com/yogeshpaliyal/keypass/ui/detail/AccountDetailPage.kt
@@ -31,16 +31,19 @@ import androidx.compose.ui.window.Dialog
import androidx.hilt.navigation.compose.hiltViewModel
import com.yogeshpaliyal.common.constants.ScannerType
import com.yogeshpaliyal.common.utils.TOTPHelper
+import com.yogeshpaliyal.keypass.R
import com.yogeshpaliyal.keypass.ui.detail.components.BottomBar
import com.yogeshpaliyal.keypass.ui.detail.components.Fields
import com.yogeshpaliyal.keypass.ui.redux.actions.CopyToClipboard
import com.yogeshpaliyal.keypass.ui.redux.actions.GoBackAction
import com.yogeshpaliyal.keypass.ui.redux.actions.NavigationAction
+import com.yogeshpaliyal.keypass.ui.redux.actions.ToastAction
import com.yogeshpaliyal.keypass.ui.redux.states.PasswordGeneratorState
import org.reduxkotlin.compose.rememberDispatcher
import java.io.File
import java.io.FileOutputStream
import java.io.OutputStream
+import java.net.MalformedURLException
import java.text.SimpleDateFormat
import java.util.Date
import java.util.Locale
@@ -80,7 +83,13 @@ fun AccountDetailPage(
}
ScannerType.Secret -> {
it.scannedText ?: return@rememberLauncherForActivityResult
- val totp = TOTPHelper(it.scannedText)
+ var totp: TOTPHelper? = null
+ try {
+ totp = TOTPHelper(it.scannedText)
+ } catch (e: MalformedURLException) {
+ dispatchAction(ToastAction(R.string.invalid_secret_key))
+ return@rememberLauncherForActivityResult
+ }
var newAccountModel = accountModel.copy(secret = totp.secret)
if (newAccountModel.title.isNullOrEmpty()) {
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 10274cb2..520dd205 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -110,5 +110,6 @@
KeePass Backup
Choose KeePass CSV file to import
Export
+ Invalid secret key format
diff --git a/gradle.properties b/gradle.properties
index 9c7b4b31..e57162e2 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -26,4 +26,6 @@ android.defaults.buildfeatures.buildconfig=true
android.nonTransitiveRClass=false
android.nonFinalResIds=false
+kotlin.mpp.androidGradlePluginCompatibility.nowarn=true
+