diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml
new file mode 100644
index 0000000..8a27102
--- /dev/null
+++ b/.idea/deploymentTargetDropDown.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/cringe_studios/code_guard/MainActivity.java b/app/src/main/java/com/cringe_studios/code_guard/MainActivity.java
index 9db9663..ed31cd5 100644
--- a/app/src/main/java/com/cringe_studios/code_guard/MainActivity.java
+++ b/app/src/main/java/com/cringe_studios/code_guard/MainActivity.java
@@ -249,6 +249,7 @@ public class MainActivity extends BaseActivity {
if(SettingsUtil.isFirstLaunch(this) && SettingsUtil.getGroups(this).isEmpty()) {
SettingsUtil.addGroup(this, UUID.randomUUID().toString(), "My Codes");
DialogUtil.showYesNo(this, R.string.enable_encryption_title, R.string.enable_encryption_message, () -> NavigationUtil.navigate(this, SettingsFragment.class, null), null);
+ SettingsUtil.setEnableIntroVideo(this, false);
SettingsUtil.setFirstLaunch(this, false);
}
diff --git a/app/src/main/java/com/cringe_studios/code_guard/util/AppLocale.java b/app/src/main/java/com/cringe_studios/code_guard/util/AppLocale.java
index b347046..909b891 100644
--- a/app/src/main/java/com/cringe_studios/code_guard/util/AppLocale.java
+++ b/app/src/main/java/com/cringe_studios/code_guard/util/AppLocale.java
@@ -13,10 +13,10 @@ public enum AppLocale {
SYSTEM_DEFAULT(R.string.locale_system_default),
ENGLISH(Locale.ENGLISH),
GERMAN(Locale.GERMAN),
- FRENCH(Locale.FRENCH),
- POLISH(new Locale("pl")),
+ FRENCH(Locale.FRENCH, true),
+ POLISH(new Locale("pl"), true),
- UKRAINIAN(new Locale("uk")),
+ UKRAINIAN(new Locale("uk"), true),
;
@StringRes
@@ -24,18 +24,28 @@ public enum AppLocale {
private final Locale locale;
+ private final boolean experimental;
+
AppLocale(@StringRes int name) {
this.name = name;
this.locale = null;
+ this.experimental = false;
}
AppLocale(Locale locale) {
this.name = 0;
this.locale = locale;
+ this.experimental = false;
+ }
+
+ AppLocale(Locale locale, boolean experimental) {
+ this.name = 0;
+ this.locale = locale;
+ this.experimental = experimental;
}
public String getName(Context context) {
- return locale == null ? context.getString(name) : locale.getDisplayName(locale);
+ return (locale == null ? context.getString(name) : locale.getDisplayName(locale)) + (experimental ? " (in progress)" : "");
}
public Locale getLocale() {
diff --git a/app/src/main/java/com/cringe_studios/code_guard/util/BiometricUtil.java b/app/src/main/java/com/cringe_studios/code_guard/util/BiometricUtil.java
index 94b1851..ed21245 100644
--- a/app/src/main/java/com/cringe_studios/code_guard/util/BiometricUtil.java
+++ b/app/src/main/java/com/cringe_studios/code_guard/util/BiometricUtil.java
@@ -18,8 +18,12 @@ import java.util.concurrent.Executor;
public class BiometricUtil {
+ private static int getAuthenticationMethod() {
+ return Build.VERSION.SDK_INT <= Build.VERSION_CODES.P ? BIOMETRIC_STRONG : BIOMETRIC_STRONG | DEVICE_CREDENTIAL;
+ }
+
public static boolean isSupported(Context context) {
- return Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && BiometricManager.from(context).canAuthenticate(BIOMETRIC_STRONG | DEVICE_CREDENTIAL) == BiometricManager.BIOMETRIC_SUCCESS;
+ return Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && BiometricManager.from(context).canAuthenticate(getAuthenticationMethod()) == BiometricManager.BIOMETRIC_SUCCESS;
}
public static void promptBiometricAuth(FragmentActivity context, Runnable success, Runnable failure) {
@@ -44,7 +48,8 @@ public class BiometricUtil {
BiometricPrompt.PromptInfo info = new BiometricPrompt.PromptInfo.Builder()
.setTitle(context.getString(R.string.app_name))
.setSubtitle(context.getString(R.string.biometric_lock_subtitle))
- .setAllowedAuthenticators(BIOMETRIC_STRONG | DEVICE_CREDENTIAL)
+ .setNegativeButtonText(context.getString(R.string.cancel))
+ .setAllowedAuthenticators(getAuthenticationMethod())
.build();
prompt.authenticate(info);
diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml
index c235977..388975d 100644
--- a/app/src/main/res/values-uk/strings.xml
+++ b/app/src/main/res/values-uk/strings.xml
@@ -106,7 +106,7 @@
Набір іконок, який ви намагаєтеся імпортувати, вже існує. Імпортовано: %s (версія %d) Існуючий: %s (версія %d) Що ви хочете зробити?
Пошкоджені пакети іконок
Деякі пакунки іконок не вдалося завантажити. Ви хочете видалити непрацюючі пакунки піктограм?
- Пакет іконок з імпортованими піктограмами %dПакет іконок з імпортованими піктограмами %d
+ Пакет іконок з імпортованими піктограмами %d
Рекомендується ввімкнути шифрування, щоб підвищити безпеку програми. Ви хочете перейти до налаштувань, щоб увімкнути шифрування?
Увімкнути шифрування
Натисніть ще раз, щоб вийти