Merge branch 'release/5.3.5' into develop

This commit is contained in:
Rafał Kobyłko 2024-02-14 23:03:54 +01:00
commit cea1e7277e
60 changed files with 42 additions and 41 deletions

View File

@ -17,8 +17,8 @@ android {
defaultConfig { defaultConfig {
applicationId = "com.twofasapp" applicationId = "com.twofasapp"
versionName = "5.3.0" versionName = "5.3.5"
versionCode = 5000016 versionCode = 5000017
val versionCodeOffset = 5000000 val versionCodeOffset = 5000000

View File

@ -5,7 +5,7 @@
Release: Working copy Release: Working copy
Locale: de-DE, German (Germany) Locale: de-DE, German (Germany)
Exported by: rafakob Exported by: rafakob
Exported at: Wed, 31 Jan 2024 06:46:20 -0800 Exported at: Wed, 14 Feb 2024 00:33:50 -0800
--> -->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- InfoPlist.strings <!-- InfoPlist.strings

View File

@ -5,7 +5,7 @@
Release: Working copy Release: Working copy
Locale: es-ES, Spanish (Spain) Locale: es-ES, Spanish (Spain)
Exported by: rafakob Exported by: rafakob
Exported at: Wed, 31 Jan 2024 06:46:20 -0800 Exported at: Wed, 14 Feb 2024 00:33:50 -0800
--> -->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- InfoPlist.strings <!-- InfoPlist.strings

View File

@ -5,7 +5,7 @@
Release: Working copy Release: Working copy
Locale: fr-FR, French (France) Locale: fr-FR, French (France)
Exported by: rafakob Exported by: rafakob
Exported at: Wed, 31 Jan 2024 06:46:20 -0800 Exported at: Wed, 14 Feb 2024 00:33:50 -0800
--> -->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- InfoPlist.strings <!-- InfoPlist.strings

View File

@ -5,7 +5,7 @@
Release: Working copy Release: Working copy
Locale: id-ID, Indonesian (Indonesia) Locale: id-ID, Indonesian (Indonesia)
Exported by: rafakob Exported by: rafakob
Exported at: Wed, 31 Jan 2024 06:46:21 -0800 Exported at: Wed, 14 Feb 2024 00:33:50 -0800
--> -->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- InfoPlist.strings <!-- InfoPlist.strings

View File

@ -5,7 +5,7 @@
Release: Working copy Release: Working copy
Locale: it-IT, Italian (Italy) Locale: it-IT, Italian (Italy)
Exported by: rafakob Exported by: rafakob
Exported at: Wed, 31 Jan 2024 06:46:20 -0800 Exported at: Wed, 14 Feb 2024 00:33:50 -0800
--> -->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- InfoPlist.strings <!-- InfoPlist.strings

View File

@ -5,7 +5,7 @@
Release: Working copy Release: Working copy
Locale: nl-NL, Dutch (Netherlands) Locale: nl-NL, Dutch (Netherlands)
Exported by: rafakob Exported by: rafakob
Exported at: Wed, 31 Jan 2024 06:46:21 -0800 Exported at: Wed, 14 Feb 2024 00:33:50 -0800
--> -->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- InfoPlist.strings <!-- InfoPlist.strings

View File

@ -5,7 +5,7 @@
Release: Working copy Release: Working copy
Locale: pl-PL, Polish (Poland) Locale: pl-PL, Polish (Poland)
Exported by: rafakob Exported by: rafakob
Exported at: Wed, 31 Jan 2024 06:46:20 -0800 Exported at: Wed, 14 Feb 2024 00:33:50 -0800
--> -->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- InfoPlist.strings <!-- InfoPlist.strings

View File

@ -5,7 +5,7 @@
Release: Working copy Release: Working copy
Locale: pt-BR, Brazilian Portuguese Locale: pt-BR, Brazilian Portuguese
Exported by: rafakob Exported by: rafakob
Exported at: Wed, 31 Jan 2024 06:46:20 -0800 Exported at: Wed, 14 Feb 2024 00:33:50 -0800
--> -->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- InfoPlist.strings <!-- InfoPlist.strings

View File

@ -5,7 +5,7 @@
Release: Working copy Release: Working copy
Locale: pt-PT, Portuguese (Portugal) Locale: pt-PT, Portuguese (Portugal)
Exported by: rafakob Exported by: rafakob
Exported at: Wed, 31 Jan 2024 06:46:20 -0800 Exported at: Wed, 14 Feb 2024 00:33:50 -0800
--> -->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- InfoPlist.strings <!-- InfoPlist.strings

View File

@ -5,7 +5,7 @@
Release: Working copy Release: Working copy
Locale: tr-TR, Turkish (Turkey) Locale: tr-TR, Turkish (Turkey)
Exported by: rafakob Exported by: rafakob
Exported at: Wed, 31 Jan 2024 06:46:21 -0800 Exported at: Wed, 14 Feb 2024 00:33:50 -0800
--> -->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- InfoPlist.strings <!-- InfoPlist.strings
@ -16,7 +16,7 @@
<string name="NSFaceIDUsageDescription">Uygulamanın kilidini Face ID\'nizi kullanarak açabilirsiniz</string> <string name="NSFaceIDUsageDescription">Uygulamanın kilidini Face ID\'nizi kullanarak açabilirsiniz</string>
<!-- MARK: - App --> <!-- MARK: - App -->
<string name="app__name">2FAS Authenticator</string> <string name="app__name">2FAS Authenticator</string>
<string name="commons__2fas">2AD Doğrulayıcısı (2FAS Uygulaması)</string> <string name="commons__2fas">2AD Doğrulayıcı (2FAS Uygulaması)</string>
<string name="commons__OK">Tamam</string> <string name="commons__OK">Tamam</string>
<string name="commons__add">Ekle</string> <string name="commons__add">Ekle</string>
<!-- MARK: - Commons --> <!-- MARK: - Commons -->
@ -80,7 +80,7 @@
<string name="introduction__page_2_title">Basit</string> <string name="introduction__page_2_title">Basit</string>
<string name="introduction__page_2_content">2FAS\'ı çevrim içi hizmetlerinizle eşleştirin. İki faktörlü güvenliği QR kodunuzla saniyeler içinde etkinleştirin.</string> <string name="introduction__page_2_content">2FAS\'ı çevrim içi hizmetlerinizle eşleştirin. İki faktörlü güvenliği QR kodunuzla saniyeler içinde etkinleştirin.</string>
<string name="introduction__page_3_title">Gizli</string> <string name="introduction__page_3_title">Gizli</string>
<string name="introduction__page_3_content">2FAS gizliliğinize saygı duyar ve onu korur. Bu uygulama; kişisel verilerinizi asla toplamaz, işlemez veya kullanmaz.</string> <string name="introduction__page_3_content">2FAS gizliliğinize saygı duyar ve gizliliğinizi korur. Bu uygulama asla kişisel verilerinizi toplamaz, işlemez veya kullanmaz.</string>
<string name="introduction__page_4_title">Güvenli</string> <string name="introduction__page_4_title">Güvenli</string>
<string name="introduction__page_4_content_ios">Jetonlarınız cihaz depolama alanı üzerinde çevrim dışı olarak saklanır, bu nedenle hizmetlerinizi yedeklemeyi unutmayın! Yetkisiz erişime ve cihaz hasarına karşı koruma sağlamak için iCloud Eşitlemesi ve PIN parolası kullanın.</string> <string name="introduction__page_4_content_ios">Jetonlarınız cihaz depolama alanı üzerinde çevrim dışı olarak saklanır, bu nedenle hizmetlerinizi yedeklemeyi unutmayın! Yetkisiz erişime ve cihaz hasarına karşı koruma sağlamak için iCloud Eşitlemesi ve PIN parolası kullanın.</string>
<!-- introduction__start_using --> <!-- introduction__start_using -->
@ -422,7 +422,7 @@
<string name="browser__browser_extension">Tarayıcı uzantısı</string> <string name="browser__browser_extension">Tarayıcı uzantısı</string>
<string name="browser__info_title">2FAS Web Tarayıcısı uzantısı</string> <string name="browser__info_title">2FAS Web Tarayıcısı uzantısı</string>
<string name="browser__info_description_first">2FAS tarayıcı uzantısını masaüstü bilgisayarınızda yükleyin</string> <string name="browser__info_description_first">2FAS tarayıcı uzantısını masaüstü bilgisayarınızda yükleyin</string>
<string name="browser__info_description_second">Onu 2FAS uygulamanızla eşleştirin</string> <string name="browser__info_description_second">Uzantıyı bu uygulamayla eşleştirin</string>
<string name="browser__more_info">Daha fazla bilgi:</string> <string name="browser__more_info">Daha fazla bilgi:</string>
<string name="browser__more_info_link_title">2fas.com/be</string> <string name="browser__more_info_link_title">2fas.com/be</string>
<string name="browser__pair_with_web_browser">Web tarayıcısı ile eşleştir</string> <string name="browser__pair_with_web_browser">Web tarayıcısı ile eşleştir</string>
@ -485,11 +485,11 @@
<string name="tokens__service_key_invalid_format">Anahtar geçersiz bir biçime sahip</string> <string name="tokens__service_key_invalid_format">Anahtar geçersiz bir biçime sahip</string>
<string name="intent_error_no_gallery_app">Sistem hatası! Sistem galeri uygulaması mevcut değil.</string> <string name="intent_error_no_gallery_app">Sistem hatası! Sistem galeri uygulaması mevcut değil.</string>
<string name="gdrive_permission_title">Google Drive İzni</string> <string name="gdrive_permission_title">Google Drive İzni</string>
<string name="gdrive_permission_msg">Yedek dosyalarını uygulama verilerine kaydetmek için Google Drive iznine ihtiyacımız var.</string> <string name="gdrive_permission_msg">Yedek dosyalarını uygulama verisine kaydetmek için Google Drive iznine ihtiyacımız var.</string>
<string name="gdrive_internet_title">İnternet Bağlantısı Gerekli</string> <string name="gdrive_internet_title">İnternet Bağlantısı Gerekli</string>
<string name="gdrive_internet_msg">Google ile senkronize etmek için bir internet bağlantısını etkinleştirmeniz gerekir.</string> <string name="gdrive_internet_msg">Google ile senkronize etmek için bir internet bağlantısını etkinleştirmeniz gerekir.</string>
<string name="gdrive_wipe_internet_msg">Google Drive\'a erişimi iptal etmek için internet bağlantısını etkinleştirmeniz gerekir.</string> <string name="gdrive_wipe_internet_msg">Google Drive\'a erişimi iptal etmek için internet bağlantısını etkinleştirmeniz gerekir.</string>
<string name="backup_explanation_msg">Otomatik olarak yedek dosyanızı Google Drive\'ınızdaki gizli klasörün içinde depolayın ve eşitleyin. Bu klasöre sadece 2FAS uygulaması erişebilir.</string> <string name="backup_explanation_msg">Yedek dosyanızı Google Drive\'ınızdaki gizli klasörde otomatikman depolayın ve eşitleyin. Bu klasöre sadece 2FAS uygulaması erişebilir.</string>
<string name="backup_error_unknown">Yedeğin eşitlenmesinde bir sorun oluştu. Lütfen uygulamayı birkaç dakika sonra yeniden başlatın ve tekrar deneyin.</string> <string name="backup_error_unknown">Yedeğin eşitlenmesinde bir sorun oluştu. Lütfen uygulamayı birkaç dakika sonra yeniden başlatın ve tekrar deneyin.</string>
<string name="backup_error_encrypt_unknown">Yedek şifrelenirken bir sorun oluştu. Lütfen parolanızı yeniden ayarlayın.</string> <string name="backup_error_encrypt_unknown">Yedek şifrelenirken bir sorun oluştu. Lütfen parolanızı yeniden ayarlayın.</string>
<string name="backup_error_decrypt_unknown">Yedeğin şifresi çözülürken bir hata oluştu. Lütfen parolanızı yeniden ayarlayın.</string> <string name="backup_error_decrypt_unknown">Yedeğin şifresi çözülürken bir hata oluştu. Lütfen parolanızı yeniden ayarlayın.</string>
@ -609,7 +609,7 @@
<string name="biometric_dialog_setup_title">Doğrulamayı etkinleştir</string> <string name="biometric_dialog_setup_title">Doğrulamayı etkinleştir</string>
<string name="biometric_dialog_setup_cancel">İptal</string> <string name="biometric_dialog_setup_cancel">İptal</string>
<!-- To enable Biometric Lock you need to enable and set a PIN Code. --> <!-- To enable Biometric Lock you need to enable and set a PIN Code. -->
<string name="settings__option_fingerprint_description">Biyometrik Kilidi etkinleştirmek için PIN Koduyla girişi etkinleştirip ayarlamanız gerekir.</string> <string name="settings__option_fingerprint_description">Biyometrik Kilidi etkinleştirmek için PIN Kodunu etkinleştirip ayarlamanız gerekir.</string>
<string name="settings__block_for_footer">Uygulamanın kilitlenmesi için gereken süreyi seçin</string> <string name="settings__block_for_footer">Uygulamanın kilitlenmesi için gereken süreyi seçin</string>
<string name="error__out_of_disk_space">Görünüşe göre ya şu anda disk alanınız tükenmiş ya da geçmişte böyle bir olay veri tabanına zarar vermiş</string> <string name="error__out_of_disk_space">Görünüşe göre ya şu anda disk alanınız tükenmiş ya da geçmişte böyle bir olay veri tabanına zarar vermiş</string>
<string name="error__cloud_backup_newer_version">Bulut yedeklemesi yeni sürüme taşındı. Uygulamayı güncelleyin</string> <string name="error__cloud_backup_newer_version">Bulut yedeklemesi yeni sürüme taşındı. Uygulamayı güncelleyin</string>
@ -642,7 +642,7 @@
<string name="settings__send_logs_sent_description">Bize ulaştığınız için teşekkür ederiz. Gönderdiklerinizi en kısa zamanda analiz edeceğiz.</string> <string name="settings__send_logs_sent_description">Bize ulaştığınız için teşekkür ederiz. Gönderdiklerinizi en kısa zamanda analiz edeceğiz.</string>
<string name="commons__send">Gönder</string> <string name="commons__send">Gönder</string>
<string name="settings__send_logs_title">Günlükler gönderiliyor</string> <string name="settings__send_logs_title">Günlükler gönderiliyor</string>
<string name="settings__send_logs_description_link">Destek ekibi tarafından sağlanan kod otomatik olarak dolduruldu. Günlükler gönderilsin mi?</string> <string name="settings__send_logs_description_link">Destek ekibi tarafından sağlanan kod otomatikman dolduruldu. Günlükler gönderilsin mi?</string>
<string name="settings__send_logs_description_edit">Lütfen destek ekibimiz tarafından sağlanan kodu girin veya yapıştırın</string> <string name="settings__send_logs_description_edit">Lütfen destek ekibimiz tarafından sağlanan kodu girin veya yapıştırın</string>
<string name="settings__send_logs">Günlükleri gönder</string> <string name="settings__send_logs">Günlükleri gönder</string>
<string name="settings__recommendation">2FAS\'ın bu harika iki faktörlü kimlik doğrulama uygulamasına göz atın: https://2fas.com</string> <string name="settings__recommendation">2FAS\'ın bu harika iki faktörlü kimlik doğrulama uygulamasına göz atın: https://2fas.com</string>
@ -763,7 +763,7 @@
<string name="settings__option_screenshots_description">Uygulamada ekran görüntülerine 5 dakika için izin ver.</string> <string name="settings__option_screenshots_description">Uygulamada ekran görüntülerine 5 dakika için izin ver.</string>
<string name="settings__option_screenshots">Ekran görüntülerine izin ver</string> <string name="settings__option_screenshots">Ekran görüntülerine izin ver</string>
<string name="settings__option_screenshots_confirm_title">Uygulamada ekran görüntülerine izin verilsin mi?</string> <string name="settings__option_screenshots_confirm_title">Uygulamada ekran görüntülerine izin verilsin mi?</string>
<string name="settings__option_screenshots_confirm_description">Emin misiniz? Bu seçeneğin etkinleştirilmesi, uygulamanın her yerinde ekran görüntüsü ve kaydı almanıza izin verir; ancak bu, tüm dıştan gelen ekran kaydetme girişimlerine de izin verecek.\nGüvenlik sebepleri nedeniyle bu seçenek 5 dakika sonra otomatik olarak devre dışı bırakılacak.</string> <string name="settings__option_screenshots_confirm_description">Emin misiniz? Bu seçeneğin etkinleştirilmesi, uygulamanın her yerinde ekran görüntüsü ve kaydı almanıza izin verir; ancak bu, dıştan gelen tüm ekran kaydı girişimlerine aralık bırakır.\nGüvenlik sebepleri nedeniyle bu seçenek 5 dakika sonra otomatikman devre dışı bırakılacak.</string>
<string name="social__social_media">Sosyal medya bağlantıları</string> <string name="social__social_media">Sosyal medya bağlantıları</string>
<string name="social__discord">Discord</string> <string name="social__discord">Discord</string>
<string name="social__youtube">YouTube</string> <string name="social__youtube">YouTube</string>
@ -824,9 +824,9 @@
<string name="settings__manage_tokens">Jetonları yönetin</string> <string name="settings__manage_tokens">Jetonları yönetin</string>
<string name="settings__info_footer">Desteğiniz yeni özellikler ve geliştirmeler üzerinde çalışmamızı mümkün kılar. Teşekkür ederiz!</string> <string name="settings__info_footer">Desteğiniz yeni özellikler ve geliştirmeler üzerinde çalışmamızı mümkün kılar. Teşekkür ederiz!</string>
<string name="settings__trash_option">Çöp kutusundan geri yükle</string> <string name="settings__trash_option">Çöp kutusundan geri yükle</string>
<string name="periodic_notification_tips">2FAS üzerinde bizimle olduğunuzdan memnunuz! 🌟 Gelişmiş güvenlik 🔒için uygulamada yararlı İpuçları ve Püf Noktalarını 🛠️ keşfetmeye bir dakikanızı ayırın.\n</string> <string name="periodic_notification_tips">2FAS\'te bizimle olduğunuza sevindik! 🌟 Artırılmış güvenlik 🔒 adına uygulamadaki yararlı İpuçlarını ve Püf Noktalarını 🛠️ keşfetmek için bir dakikanızı ayırın.</string>
<string name="periodic_notification_backup">Telefonunuzu kaybetseniz dahi hesaplarınıza erişiminizi kaybetmemek için 2FAS Yedeklemesini ve Eşitlemesini etkinleştirin - tek dokunuşla dert mert kalmasın! 🔐📱</string> <string name="periodic_notification_backup">Telefonunuzu kaybetseniz dahi hesaplarınıza erişiminizi kaybetmemek için 2FAS Yedeklemesini ve Eşitlemesini etkinleştirin - tek dokunuşla dert mert kalmasın! 🔐📱</string>
<string name="periodic_notification_browser_extension">Girişlerinizi 2FAS Tarayıcı Uzantısı ile hızlandırın! 🚀 Daha hızlı, daha rahat bir doğrulama için şimdi indirin. 🌐✨</string> <string name="periodic_notification_browser_extension">Girişlerinizi 2FAS Tarayıcı Uzantısı ile hızlandırın! 🚀 Daha hızlı ve daha rahat bir doğrulama için şimdi indirin. 🌐✨</string>
<string name="periodic_notification_donate">2FAS\'ı desteklediğiniz için minnettarız! 🌟 Eğer uygulamamızı yararlı bulduysanız, dijital dünyanızı güvende tutmamıza yardım etmek için bağış yapmayı düşünebilirsiniz. Her kuruş değer! 🙏</string> <string name="periodic_notification_donate">2FAS\'ı desteklediğiniz için minnettarız! 🌟 Eğer uygulamamızı yararlı bulduysanız, dijital dünyanızı güvende tutmamıza yardım etmek için bağış yapmayı düşünebilirsiniz. Her kuruş değer! 🙏</string>
<!-- DO NOT TRANSLATE! --> <!-- DO NOT TRANSLATE! -->
<string name="tokens__steam">STEAM</string> <string name="tokens__steam">STEAM</string>

View File

@ -5,7 +5,7 @@
Release: Working copy Release: Working copy
Locale: uk-UA, Ukrainian (Ukraine) Locale: uk-UA, Ukrainian (Ukraine)
Exported by: rafakob Exported by: rafakob
Exported at: Wed, 31 Jan 2024 06:46:21 -0800 Exported at: Wed, 14 Feb 2024 00:33:50 -0800
--> -->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- InfoPlist.strings <!-- InfoPlist.strings

View File

@ -5,7 +5,7 @@
Release: Working copy Release: Working copy
Locale: en, English Locale: en, English
Exported by: rafakob Exported by: rafakob
Exported at: Wed, 31 Jan 2024 06:46:20 -0800 Exported at: Wed, 14 Feb 2024 00:33:50 -0800
--> -->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- InfoPlist.strings <!-- InfoPlist.strings

View File

@ -251,6 +251,7 @@ internal class ServicesRepositoryImpl(
} }
val period = when { val period = when {
otpPeriod == 10 -> 10
otpPeriod == 30 -> 30 otpPeriod == 30 -> 30
otpPeriod == 60 -> 60 otpPeriod == 60 -> 60
otpPeriod == 90 -> 90 otpPeriod == 90 -> 90

View File

@ -73,7 +73,7 @@ internal class AegisImporter(
.asSequence() .asSequence()
.filter { it.type.equals("totp", true) || it.type.equals("hotp", true) || it.type.equals("steam", true)} .filter { it.type.equals("totp", true) || it.type.equals("hotp", true) || it.type.equals("steam", true)}
.filter { it.info.digits == 5 ||it.info.digits == 6 || it.info.digits == 7 || it.info.digits == 8 } .filter { it.info.digits == 5 ||it.info.digits == 6 || it.info.digits == 7 || it.info.digits == 8 }
.filter { it.info.period == 30 || it.info.period == 60 || it.info.period == 90 } .filter { it.info.period == 10 || it.info.period == 30 || it.info.period == 60 || it.info.period == 90 }
.filter { .filter {
it.info.algo.equals("SHA1", true) || it.info.algo.equals("SHA224", true) || it.info.algo.equals( it.info.algo.equals("SHA1", true) || it.info.algo.equals("SHA224", true) || it.info.algo.equals(
"SHA256", "SHA256",

View File

@ -56,7 +56,7 @@ internal class AndOtpImporter(
models models
.filter { it.digits == 5 || it.digits == 6 || it.digits == 7 || it.digits == 8 || it.digits == null } .filter { it.digits == 5 || it.digits == 6 || it.digits == 7 || it.digits == 8 || it.digits == null }
.filter { it.period == 30 || it.period == 60 || it.period == 90 || it.period == null } .filter { it.period == 10 || it.period == 30 || it.period == 60 || it.period == 90 || it.period == null }
.filter { .filter {
it.algorithm.equals("SHA1", true) || it.algorithm.equals("SHA1", true) ||
it.algorithm.equals("SHA224", true) || it.algorithm.equals("SHA224", true) ||

View File

@ -2,10 +2,10 @@ package com.twofasapp.feature.externalimport.domain
import android.content.Context import android.content.Context
import android.net.Uri import android.net.Uri
import com.twofasapp.common.domain.OtpAuthLink
import com.twofasapp.common.domain.Service import com.twofasapp.common.domain.Service
import com.twofasapp.data.services.ServicesRepository import com.twofasapp.data.services.ServicesRepository
import com.twofasapp.data.services.otp.ServiceParser import com.twofasapp.data.services.otp.ServiceParser
import com.twofasapp.common.domain.OtpAuthLink
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable
import kotlinx.serialization.json.Json import kotlinx.serialization.json.Json
import java.io.BufferedReader import java.io.BufferedReader
@ -56,8 +56,8 @@ internal class LastPassImporter(
val totalServices = model.accounts.size val totalServices = model.accounts.size
val servicesToImport = mutableListOf<Service?>() val servicesToImport = mutableListOf<Service?>()
model.accounts.filter { it.digits == 5 ||it.digits == 6 || it.digits == 7 || it.digits == 8 } model.accounts.filter { it.digits == 5 || it.digits == 6 || it.digits == 7 || it.digits == 8 }
.filter { it.timeStep == 30 || it.timeStep == 60 || it.timeStep == 90 }.filter { .filter { it.timeStep == 10 || it.timeStep == 30 || it.timeStep == 60 || it.timeStep == 90 }.filter {
it.algorithm.equals("SHA1", true) || it.algorithm.equals("SHA224", true) || it.algorithm.equals( it.algorithm.equals("SHA1", true) || it.algorithm.equals("SHA224", true) || it.algorithm.equals(
"SHA256", true "SHA256", true
) || it.algorithm.equals("SHA384", true) || it.algorithm.equals("SHA512", true) ) || it.algorithm.equals("SHA384", true) || it.algorithm.equals("SHA512", true)

View File

@ -54,7 +54,7 @@ internal class RaivoImporter(
model model
.filter { it.kind.equals("totp", true) || it.kind.equals("hotp", true) } .filter { it.kind.equals("totp", true) || it.kind.equals("hotp", true) }
.filter { it.digits.equals("5") || it.digits.equals("6") || it.digits.equals("7") || it.digits.equals("8") } .filter { it.digits.equals("5") || it.digits.equals("6") || it.digits.equals("7") || it.digits.equals("8") }
.filter { it.timer.equals("30") || it.timer.equals("60") || it.timer.equals("90") } .filter { it.timer.equals("10") || it.timer.equals("30") || it.timer.equals("60") || it.timer.equals("90") }
.filter { .filter {
it.algorithm.equals("SHA1", true) || it.algorithm.equals("SHA224", true) || it.algorithm.equals( it.algorithm.equals("SHA1", true) || it.algorithm.equals("SHA224", true) || it.algorithm.equals(
"SHA256", "SHA256",

View File

@ -398,7 +398,7 @@ internal fun AddServiceManualScreen(
if (showRefreshTimeDialog) { if (showRefreshTimeDialog) {
ListRadioDialog( ListRadioDialog(
onDismissRequest = { showRefreshTimeDialog = false }, onDismissRequest = { showRefreshTimeDialog = false },
options = listOf("30", "60", "90"), options = listOf("10", "30", "60", "90"),
selectedOption = uiState.refreshTime.toString(), selectedOption = uiState.refreshTime.toString(),
onOptionSelected = { _, value -> viewModel.updateRefreshTime(value.toInt()) } onOptionSelected = { _, value -> viewModel.updateRefreshTime(value.toInt()) }
) )

View File

@ -1,14 +1,14 @@
[versions] [versions]
accompanist = "0.33.2-alpha" accompanist = "0.33.2-alpha"
agp = "8.3.0-beta02" agp = "8.3.0-rc02"
cameraX = "1.3.1" cameraX = "1.3.1"
coil = "2.5.0" coil = "2.5.0"
commonmark = "0.21.0" commonmark = "0.21.0"
compose = "1.6.0-beta03" compose = "1.6.1"
composeActivity = "1.8.2" composeActivity = "1.8.2"
composeCompiler = "1.5.7" composeCompiler = "1.5.9"
core = "1.12.0" core = "1.12.0"
firebase = "32.7.0" firebase = "32.7.2"
glance = "1.0.0" glance = "1.0.0"
junit = "4.13.2" junit = "4.13.2"
koin = "3.5.3" koin = "3.5.3"
@ -16,9 +16,9 @@ koinAndroid = "3.5.3"
kotlin = "1.9.21" kotlin = "1.9.21"
kotlinCoroutines = "1.7.3" kotlinCoroutines = "1.7.3"
kotlinKsp = "1.9.21-1.0.16" kotlinKsp = "1.9.21-1.0.16"
ktor = "2.3.4" ktor = "2.3.7"
lifecycle = "2.7.0-rc02" lifecycle = "2.7.0"
material3 = "1.2.0-beta01" material3 = "1.2.0"
room = "2.6.1" room = "2.6.1"
[libraries] [libraries]
@ -44,7 +44,7 @@ composeActivity = { module = "androidx.activity:activity-compose", version.ref =
composeAnimation = { module = "androidx.compose.animation:animation", version.ref = "compose" } composeAnimation = { module = "androidx.compose.animation:animation", version.ref = "compose" }
composeCompiler = { module = "androidx.compose.compiler:compiler", version.ref = "composeCompiler" } composeCompiler = { module = "androidx.compose.compiler:compiler", version.ref = "composeCompiler" }
composeMaterial2 = { module = "androidx.compose.material:material", version.ref = "compose" } composeMaterial2 = { module = "androidx.compose.material:material", version.ref = "compose" }
composeNavigation = "androidx.navigation:navigation-compose:2.7.6" composeNavigation = "androidx.navigation:navigation-compose:2.7.7"
composeUi = { module = "androidx.compose.ui:ui", version.ref = "compose" } composeUi = { module = "androidx.compose.ui:ui", version.ref = "compose" }
composeUiTooling = { module = "androidx.compose.ui:ui-tooling", version.ref = "compose" } composeUiTooling = { module = "androidx.compose.ui:ui-tooling", version.ref = "compose" }
composeUiUtil = { module = "androidx.compose.ui:ui-util", version.ref = "compose" } composeUiUtil = { module = "androidx.compose.ui:ui-util", version.ref = "compose" }
@ -99,7 +99,7 @@ securityCrypto = "androidx.security:security-crypto:1.1.0-alpha06"
sharedPrefs = "androidx.preference:preference-ktx:1.2.1" sharedPrefs = "androidx.preference:preference-ktx:1.2.1"
sqlCipher = "net.zetetic:android-database-sqlcipher:4.5.4" sqlCipher = "net.zetetic:android-database-sqlcipher:4.5.4"
timber = "com.jakewharton.timber:timber:5.0.1" timber = "com.jakewharton.timber:timber:5.0.1"
webkit = "androidx.webkit:webkit:1.9.0" webkit = "androidx.webkit:webkit:1.10.0"
workManager = "androidx.work:work-runtime-ktx:2.9.0" workManager = "androidx.work:work-runtime-ktx:2.9.0"
[bundles] [bundles]

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

File diff suppressed because one or more lines are too long