From 918f30965da8cbf50a4eda384c42f48f0c2bc857 Mon Sep 17 00:00:00 2001 From: Tom Hacohen Date: Tue, 6 Oct 2020 10:26:37 +0300 Subject: [PATCH 01/17] EtebaseCache: fix crash when removing and re-adding (sometimes). Essentially the problem was that when we were removing the account, the cache directory was removed. Though then when readding the account, we would get the cache handler from our handler cache, which would already be init, so it'd assume the directory already exists. This was only relevant if there were network errors because otherwise the sync would also happen it the background which would create the missing dirs anyway. The solution: remove the object from the handler cache when removing account. --- .../java/com/etesync/syncadapter/EtebaseLocalCache.kt | 8 +++++++- .../java/com/etesync/syncadapter/ui/AccountActivity.kt | 3 +-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/etesync/syncadapter/EtebaseLocalCache.kt b/app/src/main/java/com/etesync/syncadapter/EtebaseLocalCache.kt index b51c2756..5bab8e9c 100644 --- a/app/src/main/java/com/etesync/syncadapter/EtebaseLocalCache.kt +++ b/app/src/main/java/com/etesync/syncadapter/EtebaseLocalCache.kt @@ -38,7 +38,7 @@ class EtebaseLocalCache private constructor(context: Context, username: String) return File(colDir, "items") } - fun clearUserCache() { + private fun clearUserCache() { filesDir.deleteRecursively() } @@ -153,6 +153,12 @@ class EtebaseLocalCache private constructor(context: Context, username: String) } } + fun clearUserCache(context: Context, username: String) { + val localCache = getInstance(context, username) + localCache.clearUserCache() + localCacheCache.remove(username) + } + // FIXME: If we ever cache this we need to cache bust on changePassword fun getEtebase(context: Context, httpClient: OkHttpClient, settings: AccountSettings): Account { val client = Client.create(httpClient, settings.uri?.toString()) diff --git a/app/src/main/java/com/etesync/syncadapter/ui/AccountActivity.kt b/app/src/main/java/com/etesync/syncadapter/ui/AccountActivity.kt index 84e7938e..dbea30be 100644 --- a/app/src/main/java/com/etesync/syncadapter/ui/AccountActivity.kt +++ b/app/src/main/java/com/etesync/syncadapter/ui/AccountActivity.kt @@ -562,8 +562,7 @@ class AccountActivity : BaseActivity(), Toolbar.OnMenuItemClickListener, PopupMe Logger.log.warning(e.toString()) } } else { - val etebaseLocalCache = EtebaseLocalCache.getInstance(this@AccountActivity, account.name) - etebaseLocalCache.clearUserCache() + EtebaseLocalCache.clearUserCache(this@AccountActivity, account.name) try { val httpClient = HttpClient.Builder(this@AccountActivity).build() From 193c5d454fde944c30f9dfa7f97408488c30feff Mon Sep 17 00:00:00 2001 From: Tom Hacohen Date: Tue, 6 Oct 2020 10:44:52 +0300 Subject: [PATCH 02/17] CollectionMembersAdd: fix strings. --- app/src/main/res/layout/add_member_fragment.xml | 4 ++-- app/src/main/res/values/strings.xml | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/layout/add_member_fragment.xml b/app/src/main/res/layout/add_member_fragment.xml index 836db366..9615f764 100644 --- a/app/src/main/res/layout/add_member_fragment.xml +++ b/app/src/main/res/layout/add_member_fragment.xml @@ -10,12 +10,12 @@ android:id="@+id/username" android:layout_width="match_parent" android:layout_height="wrap_content" - android:hint="@string/login_email_address" + android:hint="@string/login_username" android:inputType="textEmailAddress" /> Loading members... No members Invite user + Read only Error adding member Inviting user Invitation sent. User will be added once the invitation has been accepted. From c5f9cd75b3a3b55ba0eff77829f302acc1cd277d Mon Sep 17 00:00:00 2001 From: Tom Hacohen Date: Wed, 7 Oct 2020 11:16:55 +0300 Subject: [PATCH 03/17] ChangePassword: remove confusing notice. It was only there in the Android app anyway, and was confusing for most people. --- app/src/main/res/layout/change_encryption_password.xml | 6 ------ app/src/main/res/values-nb-rNO/strings.xml | 3 +-- app/src/main/res/values-tr-rTR/strings.xml | 3 +-- app/src/main/res/values/strings.xml | 1 - 4 files changed, 2 insertions(+), 11 deletions(-) diff --git a/app/src/main/res/layout/change_encryption_password.xml b/app/src/main/res/layout/change_encryption_password.xml index d1ea0eff..6dcb5f1e 100644 --- a/app/src/main/res/layout/change_encryption_password.xml +++ b/app/src/main/res/layout/change_encryption_password.xml @@ -68,12 +68,6 @@ android:layout_height="wrap_content" android:layout_marginBottom="10dp" android:text="@string/login_encryption_check_password"/> - diff --git a/app/src/main/res/values-nb-rNO/strings.xml b/app/src/main/res/values-nb-rNO/strings.xml index eaf42651..806a00f8 100644 --- a/app/src/main/res/values-nb-rNO/strings.xml +++ b/app/src/main/res/values-nb-rNO/strings.xml @@ -205,7 +205,6 @@ \neil: %s Endre krypteringspassord - Ikke bruk dette verktøyet dersom du mistenker at krypteringspassordet ditt har blitt kompromittert. Kontakt brukerstøtte i stedet. Nytt krypteringspassord Er du sikker på at du vil fortsette? Denne prosessen kan ikke stoppes halvveis eller angres, og kan ta en stund å fullføre. Endring av krypteringspassord @@ -378,4 +377,4 @@ Kun administratorer kan håndtere samlingsmedlemskap. Ønsker du å forlate denne samlingen\? Fjerning av tilganger for administratorer støttes ikke. Kun eiere av denne samlingen kan redigere den. - \ No newline at end of file + diff --git a/app/src/main/res/values-tr-rTR/strings.xml b/app/src/main/res/values-tr-rTR/strings.xml index e0399509..81918827 100644 --- a/app/src/main/res/values-tr-rTR/strings.xml +++ b/app/src/main/res/values-tr-rTR/strings.xml @@ -221,7 +221,6 @@ Şifreleme Parolası Değişikliği Devam etmek istediğinizden emin misiniz\? İşlem yarı yolda durdurulamaz veya geri alınamaz ve tamamlanması biraz zaman alabilir. Yeni şifreleme parolası - Şifreleme parolanızın ele geçirildiğine inanıyorsanız, lütfen bu aracı kullanmayın. Bunun yerine desteğe başvurun. Şifreleme Parolasını Değiştir Hesabınıza erişirken bir bütünlük hatası alındı, bu büyük olasılıkla yanlış şifreleme parolası girdiğiniz anlamına gelir. \nLütfen kullanıcı adının büyük/küçük harfe duyarlı olduğunu unutmayın, bu nedenle lütfen farklı durumları deneyin, örneğin ilk karakteri büyük harf yapın. @@ -378,4 +377,4 @@ Sadece yöneticilerin koleksiyon üyeliklerini yönetmesine izin verilir. Koleksiyondan ayrılmak ister misiniz\? Yöneticilere erişimin kaldırılması şu anda desteklenmiyor. Sadece bu koleksiyonun sahibinin onu düzenlemesine izin verilir. - \ No newline at end of file + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 0bfb5777..6b6714ee 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -268,7 +268,6 @@ Change Encryption Password - Please don\'t use this tool if you believe your encryption password has been compromised. Contact support instead. New Encryption Password Are you sure you would like to continue? The process can not be stopped half way or be undone, and may take a while to complete. Encryption Password Change From 6ca0419ac04e12d5cf3cdb720266468b16a90954 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Allan=20Nordh=C3=B8y?= Date: Wed, 30 Sep 2020 17:15:06 +0000 Subject: [PATCH 04/17] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegian?= =?UTF-8?q?=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 97.2% (321 of 330 strings) Translation: EteSync/Android Translate-URL: https://hosted.weblate.org/projects/etesync/android/nb_NO/ --- app/src/main/res/values-nb-rNO/strings.xml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/app/src/main/res/values-nb-rNO/strings.xml b/app/src/main/res/values-nb-rNO/strings.xml index 806a00f8..c6d4c434 100644 --- a/app/src/main/res/values-nb-rNO/strings.xml +++ b/app/src/main/res/values-nb-rNO/strings.xml @@ -55,7 +55,7 @@ Åpne navigasjonsmeny Lukk navigasjonsmeny - Secure Sync Adapter + Secure Sync-adapter Om / Lisens Innstillinger Nyttige lenker @@ -131,7 +131,7 @@ Legger til medlem Kontroller sikkerhetsfingeravtrykk Kontroller %s sitt fingeravtrykk for å bekrefte at krypteringen er sikker. - Brukeren (%s) finnes ikke, eller har skrudd av journaldeling. + Brukeren (%s) finnes ikke Fjerner medlem Kunne ikke fjerne medlem Fjern medlem @@ -278,8 +278,9 @@ Denne samlingen (%s) og alle dens data vil slettes fra tjeneren. Sletter samling - Journalen er tom.\n(Kanskje den fortsatt synkroniserer?) - Laster inn journalelementer … + Samlingen er tom. +\n(Kanskje den fortsatt synkroniserer\?) + Laster endringsloggsoppføringer … En feil har oppstått. En HTTP-feil har oppstått. From 6fbd1781cabe944a0a93159cb435505aab9b9e14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?O=C4=9Fuz=20Ersen?= Date: Fri, 2 Oct 2020 16:39:51 +0000 Subject: [PATCH 05/17] Translated using Weblate (Turkish) Currently translated at 100.0% (336 of 336 strings) Translation: EteSync/Android Translate-URL: https://hosted.weblate.org/projects/etesync/android/tr/ --- app/src/main/res/values-tr-rTR/strings.xml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/values-tr-rTR/strings.xml b/app/src/main/res/values-tr-rTR/strings.xml index 81918827..33363ca7 100644 --- a/app/src/main/res/values-tr-rTR/strings.xml +++ b/app/src/main/res/values-tr-rTR/strings.xml @@ -279,12 +279,12 @@ Üyeyi kaldır Üye kaldırılırken hata oluştu Üye kaldırma - Üye ekleme + Kullanıcı davet ediliyor Kullanıcı (%s) bulunamadı Şifrelemenin güvenli olduğundan emin olmak için %s\'in güvenlik parmak izini doğrulayın. Güvenlik parmak izini doğrula Üye eklenirken hata oluştu - Üye ekle + Kullanıcı davet et Üye yok Üyeler yükleniyor... Üyeler @@ -377,4 +377,10 @@ Sadece yöneticilerin koleksiyon üyeliklerini yönetmesine izin verilir. Koleksiyondan ayrılmak ister misiniz\? Yöneticilere erişimin kaldırılması şu anda desteklenmiyor. Sadece bu koleksiyonun sahibinin onu düzenlemesine izin verilir. + Davet gönderildi. Davet kabul edildikten sonra kullanıcı eklenecek. + EteSync\'i kullanmaya başlamak için verilerinizi depolamak üzere koleksiyonlar oluşturmanız gerekmektedir. Sizin için öntanımlı bir takvim, adres defteri ve bir görev listesi oluşturmak için Oluştur düğmesine tıklayın. + EteSync\'e hoş geldiniz! + Yeniden dene + Atla + Oluştur From 0f1781de27d45be5c0ce13fed5d0a9b78727e94a Mon Sep 17 00:00:00 2001 From: Simon Vandevelde Date: Sat, 3 Oct 2020 20:23:00 +0000 Subject: [PATCH 06/17] Translated using Weblate (Dutch) Currently translated at 100.0% (336 of 336 strings) Translation: EteSync/Android Translate-URL: https://hosted.weblate.org/projects/etesync/android/nl/ --- app/src/main/res/values-nl/strings.xml | 172 ++++++++++++++++++++++++- 1 file changed, 167 insertions(+), 5 deletions(-) diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 8cd6fd1b..ce8c96f1 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -3,7 +3,7 @@ Help Beheer accounts - Een moment geduld … + Een ogenblik geduld … Verzenden Batterij optimalisatie @@ -61,7 +61,7 @@ Account toevoegen Email adres - Geldig email adres vereist + Geldige email vereist Wachtwoord Wachtwoord vereist Terug @@ -141,9 +141,9 @@ Gebruiker (%s) niet gevonden Verifieer %s\'s beveiligingsvingerafdruk om te verzekeren dat de encryptie veilig is. Verifieer beveiligheidsvingerafdruk - Lid aan het toevoegen + Gebruiker aan het uitnodigen Fout bij het toevoegen van lid - Voeg lid toe + Nodig gebruiker uit Geen leden Laden van members... Leden @@ -209,7 +209,7 @@ EteSync Debug Informatie Zend a.u.b. de stack trace naar de ontwikkelaars. EteSync is gecrasht! - Informatie statusberichten zoals de samenvatting van de sync veranderingen + Informatieve statusberichten zoals de samenvatting van de sync veranderingen Statusberichten Niet-fotale synchronisatieproblemen zoals afgewezen veranderingen van read-only verzamelingen Synchronisatiewaarschuwingen @@ -222,4 +222,166 @@ Adresboeken EteSync Adresboek EteSync + EteSync notificaties + EteSync + Organisator: + Selecteer Account + Van Account + Van Bestand + Openen link niet gelukt: link is niet ondersteund! + Vernieuw + Fout Bij Laden + Aan het laden... + EteSync heeft een onbekend certificaat tegengekomen. Wilt u het vertrouwen\? + EteSync: Verbindingsveiligheid + U bent uitgenodigd op het volgende evenement: +\n +\n%s +\nWanneer: %s +\nWaar: %s +\nAanwezigen: %s +\n +\n-- +\nVerstuurd door EteSync - veilige, end-to-end encrypted en private data sync. +\nVerkrijg het via https://www.EteSync.com + Uitnodiging: %s @ %s + Verzend uitnodigingen + Uitnodigingen naar gasten versturen\? + %s + Het logboek is enkel-lezen dus al uw aanpassingen (%d) zijn ongedaan gemaakt. + Logboek \"%s\" is enkel-lezen + %s geupdate. +\n%s verwijderd. + %s gewijzigd. + Takes \"%s\" gewijzigd (%s) + Contacten gewijzigd (%s) + Kalender \"%s\" werd gewijzigd (%s) + Gebruiker is non-actief + Authenticatie mislukt + aan het naverwerken + boekingen aan het pushen + lokale boekingen opnieuw aan het toepassen + externe boekingen aan het toepassen + externe gegevens aan het ophalen + lokale boekingen aan het aanmaken + lokale boekingen aan het voorbereiden + aan het voorbereiden om op te halen + logboeken aan het synchroniseren + synchronisatie aan het voorbereiden + Permissie geweigerd: %s + Journaal is enkel-lezen + Kan niet verbinden met de server tijdens %s + Integriteitsfout tijdens %s + Sync van taken mislukt (%s) + Sync van contacten mislukt (%s) + Syc mislukt (%s) + Bijkomende permissies vereist + EteSync permissies + Op delen klikken zal de email app openen met onderstaande data, samen met bijkomstige debug informatie in bijlage. Het bevat mogelijk gevoelige informatie, dus bekijk het eerst alvorens te versturen. + Laden van de change log boekingen... + Verzameling is leeg. +\nMisschien is het nog aan het synchroniseren\? + Beheer Leden + Importeer + Wijzig + Stel de kleur van de verzameling in + Wijzig verzameling + Installeer OpenTasks + Installeer Tasks.org + Mijn Takenlijst + Maak takenlijst + Mijn Kalender + Maak kalender + Taken + Kalender + Contacten + Sync interval + Geef uw encryptiewachtwoord in: + Wijzig uw encryptiewachtwoord + Encryptiewachtwoord + Gebruik een ander authentificatiewachtwoord + Encryptie + Verander uw betalingsinformatie, -plan en ander accountsinstellingen + Account Gebruikspaneel + Beheer Account + Kies bestand + Kies een ander account om alle boekingen van te importeren. + Toegang om opslag te lezen is vereist om te importeren. + Verwerkt: %1$d boekingen. +\nToegevoegd: %2$d +\nGewijzigd: %3$d +\nOvergeslagen (mislukt): %4$d + Boekingen aan het toevoegen... + File aan het laden (dit kan even duren)... + Reden: %s +\nRapporteer aan ontwikkelaars\? + Importeren Mislukt + Importeer + Fout Bij Opzetten Gebruikersinformatie + Encryptiewachtwoord werd succesvol veranderd! + Encryptiewachtwoord Verandering + Bent u zeker dat u wilt verdergaan\? Het proces kan niet halfweg worden onderbroken of kan niet ongedaan gemaakt worden, en kan even duren. + Nieuw Encryptiewachtwoord + Gebruik deze tool a.u.b. niet indien u vermoedt dat uw encryptiewachtwoord werd gecompromitteerd. Contacteer in plaats daarvan de ondersteuning. + Wijzig Encryptiewachtwoord + Wachtwoord moet minstens 8 karakters lang zijn + Geef Aanmeldgegevens In + Verkreeg een integriteitsfout tijdens het ophalen van uw account, wat hoogstwaarschijnlijk betekent dat u het verkeerde encryptiewachtwoord hebt opgegeven. +\nBemerk dat de gebruikersnaam hoofdlettergevoelig is, dus probeer ook verschillende versies zoals het schrijven van de eerste letter als hoofdletter. +\n +\nError: %s + Verkeerd ecryptiewachtwoord + Accountcreatie mislukt + Even geduld, encryptie aan het instellen… + Encryptie instellen + Kan niet authenticeren (waarschijnlijk verkeerde gebruikersnaam of wachtwoord). +\nBent u al geregistreerd\? + Wachtwoord vergeten\? + Dit is uw login wachtwoord, *niet* uw encryptiewachtwoord! + Account: + Geheim Encryptiewachtwoord + Logingegegevens Ingeven + Beëindigen + Aanmelden + Inloggen + * Dit wachtwoord wordt gebruikt om je data te encrypteren, in tegenstelling tot de vorige, welke gebruikt wordt om in te loggen op de dients. +\nU wordt gevraagd om een apart encryptiewachtwoord te kiezen voor veiligheidsredenen. Voor meer informatie, bekijk de FAQ: %s + * Zorg er a.u.b. voor dat u uw wachtwoord onthoudt, aangezien het niet kan hersteld worden indien verloren! + U bent ingelogd als \"%s\". Gelieve uw encryptiewachtwoord in te geven om verder te gaan, of meld u af via het zijmenu. + Stel a.u.b. uw encryptiewachtwoord hieronder in, en wees er zeker van dat het correct is aangezien het *niet* hersteld kan worden indien verloren! + Encryptiewachtwoord + Toon geavanceerde instellingen + Ongeldige URL gevonden, bent u vergeten om https:// toe te voegen\? + EteSync Server URL + Geldige gebruikersnaam vereist + Gebruikersnaam + Vraag Tasks.org permissies aan + Om taken met uw lokale takenlijst te synchroniseren moet EteSync toegang hebben tot Tasks.org. + Tasks.org permissies + Om taken te synchroniseren met uw lokale takenlijst moet EteSync toegang hebben tot OpenTasks. + Om adresboeken met uw lokale contacten te synchroniseren moet EteSync toegang hebben tot uw contacten. + Om kalenderevenementen met uw lokale kalenders te synchroniseren moet EteSync toegang hebben tot uw kalenders. + EteSync permissies + De aanmelding is succesvol hersteld naar vorige staat. + Herstel status + Ledenaantal + Lid + Relatie + Verjaardag + Verjaardag + Website + Notitie + Adres + Gebruikersnaam + Instant Messaging + Jobbeschrijving + Organisatie + Email + Telefoon + Uitnodiging verstuurd. De gebruiker zal worden toegevoegd zodra de uitnodiging is geaccepteerd. + Om EteSync te gebruiken moet u eerst verzamelingen aanmaken om data in op te slaan. Klik op Maken om voor u een standaardkalender, -adresboek en -takenlijst aan te maken. + Welkom bij EteSync! + Opnieuw proberen + Sla over + Maak \ No newline at end of file From a88092cb9aef127cf626f8d5e1af9a414df40133 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?O=C4=9Fuz=20Ersen?= Date: Mon, 5 Oct 2020 11:21:30 +0000 Subject: [PATCH 07/17] Translated using Weblate (Turkish) Currently translated at 100.0% (336 of 336 strings) Translation: EteSync/Android Translate-URL: https://hosted.weblate.org/projects/etesync/android/tr/ --- app/src/main/res/values-tr-rTR/strings.xml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/app/src/main/res/values-tr-rTR/strings.xml b/app/src/main/res/values-tr-rTR/strings.xml index 33363ca7..848f3703 100644 --- a/app/src/main/res/values-tr-rTR/strings.xml +++ b/app/src/main/res/values-tr-rTR/strings.xml @@ -9,11 +9,11 @@ Bir daha gösterme Lisans şartları - Bu uygulama HİÇ BİR GARANTİ ile gelmemektedir. Bedava bir yazılımdır ve belli koşullar altında dağıtabilirsiniz. + Bu program KESİNLİKLE HİÇBİR GARANTİ OLMADAN gelir. Özgür bir yazılımdır ve belirli koşullar altında yeniden dağıtabilirsiniz. - Harici depolamaya jurnalleniyor: %s + Günlükler harici depolamaya kaydediliyor: %s Devre dışı bırakmak günlük kayıtlarını silecektir - Harici jurnal dosyası yaratılamadı: %s + Harici günlük dosyası oluşturulamadı: %s Harici depolama alanı bulunamadı Navigasyon çekmecesini aç @@ -32,9 +32,9 @@ Tüm ipuçları artık gösterilecek Güvenlik Hata ayıklama - Harici dosyaya jurnalle - Harici depolamaya jurnalleniyor (eğer uygunsa) - Harici depolama mevcut değil + Günlükleri dosyaya kaydet + Bildirimi gizlemek ve günlükleri silmek için devre dışı bırakın + Günlük mesajlarını dosyaya kaydetmek için etkinleştirin Hata ayıklama bilgilerini göster Yazılım ve konfigürasyon detaylarına bak/paylaş @@ -60,7 +60,7 @@ Geri Konfigürasyon keşfi Lütfen bekleyin, sunucu sorgulanıyor… - Jurnallere bak + Günlükleri görüntüle Ayarlar: %s Doğrulama @@ -88,13 +88,13 @@ Tüm WiFi bağlantıları kullanılabilir Eşzamanlamayı sadece bir WiFi ağına kısıtlamak için bu ağın adını (SSID) girin, veya tüm WiFi bağlantıları için boş bırakın. - Rehber yarat + Adres defteri oluştur Benim Rehberim - Koleksiyon yaratılıyor + Koleksiyon oluşturuluyor Bu koleksiyonun gösterilen adı (başlığı): Başlık zorunlu Açıklama (isteğe bağlı): - Yarat + Kaydet Koleksiyonu sil Emin misin? Bu koleksiyon (%s) ve tüm verisi sunucudan silinecek. From e6543e8c0aede4a98cfcd15f3ee91b185d0b4a6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?O=C4=9Fuz=20Ersen?= Date: Tue, 6 Oct 2020 08:31:34 +0000 Subject: [PATCH 08/17] Translated using Weblate (Turkish) Currently translated at 100.0% (337 of 337 strings) Translation: EteSync/Android Translate-URL: https://hosted.weblate.org/projects/etesync/android/tr/ --- app/src/main/res/values-tr-rTR/strings.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/res/values-tr-rTR/strings.xml b/app/src/main/res/values-tr-rTR/strings.xml index 848f3703..c7f2fbee 100644 --- a/app/src/main/res/values-tr-rTR/strings.xml +++ b/app/src/main/res/values-tr-rTR/strings.xml @@ -383,4 +383,5 @@ Yeniden dene Atla Oluştur + Salt okunur From e261082aac6af27fed348819105d6165030f2a7c Mon Sep 17 00:00:00 2001 From: Danit Carmi Date: Tue, 29 Sep 2020 14:36:29 +0200 Subject: [PATCH 09/17] Added translation using Weblate (Hebrew (Israel)) --- app/src/main/res/values-he-rIL/strings.xml | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 app/src/main/res/values-he-rIL/strings.xml diff --git a/app/src/main/res/values-he-rIL/strings.xml b/app/src/main/res/values-he-rIL/strings.xml new file mode 100644 index 00000000..a6b3daec --- /dev/null +++ b/app/src/main/res/values-he-rIL/strings.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file From ccf896302b29d6afd1fd84124f94a769ca6790e9 Mon Sep 17 00:00:00 2001 From: Danit Carmi Date: Tue, 29 Sep 2020 14:05:14 +0000 Subject: [PATCH 10/17] Translated using Weblate (Hebrew (Israel)) Currently translated at 22.1% (73 of 330 strings) Translation: EteSync/Android Translate-URL: https://hosted.weblate.org/projects/etesync/android/he_IL/ --- app/src/main/res/values-he-rIL/strings.xml | 74 +++++++++++++++++++++- 1 file changed, 73 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/values-he-rIL/strings.xml b/app/src/main/res/values-he-rIL/strings.xml index a6b3daec..5b4f6733 100644 --- a/app/src/main/res/values-he-rIL/strings.xml +++ b/app/src/main/res/values-he-rIL/strings.xml @@ -1,2 +1,74 @@ - \ No newline at end of file + + ניפוי תקלים + מתן אמון בתעודת האבטחה אופס בהצלחה + אפס מתן אמון בכל תעודות האבטחה + אפס מתן אמון בתעודות אבטחה + אל תסמוך על תעודות האבטחה של המערכת + אבטחה + שימוש בהגדרות פרוקסי של המערכת + השתמש בהגדרות פרוקסי מותאמות אישית + עקיפת הגדרות פרוקסי + קישוריות + ייתכן ותיאלץ להסיר ולהוסיף מחדש את חשבונך בכדי ששינויים אלה ייכנסו לתוקפם. + המשימות יסתנכרנו עם OpenTasks אם מותקן + המשימות יסתנכרנו עם Tasks.org אם מותקן + העדף את Tasks.org כספק המשימות + סנכרן + הודעות העזרה יוצגו שוב + הפעל מחדש הודעות עזרה שבוטלו + אפס הודעות עזרה + נהל הגדרות וערוצי התראות + הגדרת התראות + ממשק משתמש + הגדרות + הרשאות חסרות:%s + יש להוסיף חשבון בכדי להשתמש ב EteSync. לחץ כאן להוספה… + הפעל + סנכרון אוטומטי גלובלי לא פעיל + ברוך הבא ל EteSync! + יצירת קשר + דווח על בעיה + מדריך למשתמש + שאלות נפוצות + דף הבית + קישורים שימושיים + הגדרות + אודות/רשיון + מתאם סנכרון מוצפן + סגור את תפריט הניווט + פתח את תפריט הניווט + לא נמצא אחסון חיצוני + כישלון ביצירת קובץ תיעוד שגיאות: %s + ביטול יגרום למחיקת קובץ תיעוד השגיאות + מתעד שגיאות לקובץ: %s + תיעוד שגיאות לקובץ מופעל + תנאי הרשיון + פתח את \"שאלות נפוצות\" + EteSync זיהתה שאתה משתמש בגירסת מערכת Android שעשויה להכיל תקלות. +\nאנא עיין ב\"שאלות נפוצות\" לקבלת מידע נוסף. + תקלות פוטנציאליות במערכת ההפעלה + שלח משוב + אל תציג שוב + כבה עבור EteSync + אנדרואיד עשוי להשבית / להפחית את סינכרון האפליקציה לאחר מספר ימים. כדי למנוע זאת, כבה את ייעול חיי הסוללה. + ייעול חיי סוללה + הידעת\? + במידת האפשר, אנא כלול מידע רלוונטי נוסף אודות השגיאה, לדוגמא מה הפעולה שעשית שגרמה לשגיאה. + אנא שלח מידע אודות השגיאה למפתחים. + האפליקציה קרסה! + התראות סטטוס סנכרון + בעיות סנכרון לא קריטיות + שגיאות קריטיות המונעות סנכרון + אזהרות סנכרון + שגיאות סנכרון + סנכרון + התראות כלליות + ניפוי שגיאות + דיווח שגיאות + שלח + אנא המתן… + ניהול חשבונות + עזרה + אנשי קשר + \ No newline at end of file From c54119a8ebefffae0b7fc7b146cd21a10c2b08e5 Mon Sep 17 00:00:00 2001 From: Danit Carmi Date: Fri, 2 Oct 2020 15:21:10 +0000 Subject: [PATCH 11/17] Translated using Weblate (Hebrew (Israel)) Currently translated at 68.7% (227 of 330 strings) Translation: EteSync/Android Translate-URL: https://hosted.weblate.org/projects/etesync/android/he_IL/ --- app/src/main/res/values-he-rIL/strings.xml | 233 ++++++++++++++++++++- 1 file changed, 232 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/values-he-rIL/strings.xml b/app/src/main/res/values-he-rIL/strings.xml index 5b4f6733..dd795fcc 100644 --- a/app/src/main/res/values-he-rIL/strings.xml +++ b/app/src/main/res/values-he-rIL/strings.xml @@ -1,5 +1,5 @@ - + ניפוי תקלים מתן אמון בתעודת האבטחה אופס בהצלחה אפס מתן אמון בכל תעודות האבטחה @@ -71,4 +71,235 @@ ניהול חשבונות עזרה אנשי קשר + הזמנה: ‪%s‬ @ %s‬ + שלח הזמנות + האם לשלוח הזמנות לאורחים\? + ‪%s‬ + האוסף הוא לקריאה בלבד, כך שכל השינויים ‪(%d)‬ שביצעת בוטלו. + יומן ‪\"%s\"‬ הוא לקריאה בלבד. + ‪%s‬ עודכן. +\n‪%s‬ נמחק. + ‪%s‬ שונה. + משימות \"%s\" שונו (%s) + אנשי הקשר שונו (%s‪‬) + לוח השנה \"%s\" שונה (%s) + המשתמש אינו פעיל + האימות נכשל + לאחר עיבוד + מחיל ערכים מרוחקים + מאחזר ערכים מרוחקים + יוצר ערכים מקומיים + מתכונן לאחזור + מסנכרן יומנים + מכין סנכרון + ההרשאה נדחתה: ‪‬%s + היומן לקריאה בלבד + שגיאת מסד נתונים בעת ‪‬%s + לא היתה אפשרות להתחבר לשרת בעת ‫‪‬%s‬ + שגיאת שרת בעת ‪%s‬ + שגיאת תקינות בתהליך: ‪%s‬ + שגיאה בתהליך: ‪%s‬ + סנכרון המשימות נכשל (%s) + סנכרון אנשי הקשר נכשל (%s) + סנכרון לוח השנה נכשל (%s) + הסנכרון נכשל (%s) + נדרשות הרשאות נוספות + הרשאות EteSync + לחיצה על שיתוף תפתח את אפליקציית הדוא\"ל עם הנתונים שלמטה וכן מידע נוסף עבור ניפוי תקלים. ייתכן ואלה מכילים מידע רגיש, לכן אנא בדוק אותם לפני שליחה. + מידע על ניפוי תקלים + הצג פרטים + אירעה שגיאת I/O. + אירעה שגיאת HTTP. + אירעה שגיאה. + טוען היסטוריית שינויים… + האוסף ריק. +\nייתכן שהוא עדיין מסנכרן\? + מוחק אוסף + אוסף זה (%s) וכל נתוניו יוסרו מהשרת. + האם אתה בטוח\? + מחק + שמור + נהל משתמשים + ייבא + ערוך + תיאור (אופציונלי): + יש להזין כותרת + הצג את כותרת האוסף: + יוצר אוסף + הגדר את צבע האוסף + ערוך אוסף + התקן את OpenTasks + התקן את Tasks.org + רשימת המשימות שלי + צור רשימת משימות + לוח השנה שלי + צור לוח שנה + אנשי הקשר שלי + צור יומן כתובות + משימות + לוח שנה + אנשי קשר + "הזן שם של רשת WiFi כדי להגביל את הסנכרון לרשת זו (SSID), או השאר ריק עבור כל חיבורי ה-WiFi" + ניתן להשתמש בכל חיבורי ה WiFi + יסנכרן רק מעל %s + הגבלת SSID של WiFi + סוג החיבור אינו נלקח בחשבון + הסינכרון מוגבל לחיבורי WiFi + סנכרן באמצעות WiFi בלבד + לא זמין + %s ומיידי על שינויים מקומיים + באופן ידני בלבד + סנכרון + הזן את סיסמת ההצפנה שלך: + שנה את סיסמת ההצפנה שלך + סיסמת הצפנה + הזן סיסמה: + השתמש בסיסמת אימות שונה + סיסמת אימות + הצפנה + שנה את פרטי התשלום שלך, התכנית ושאר הגדרות החשבון + נהל חשבון + הגדרות: %s + בחר קובץ + בחר בבקשה חשבון בכדי לייבא ממנו את כל הפריטים. + קריאת הרשאות האיחסון נדרשת לצורך ייבוא. + מוסיף ערכים... + טוען קובץ (ייתכן שיימשך זמן מה)… + סיבה: %s +\nהאם לדווח למפתחים\? + הייבוא נכשל + ייבא + שגיאה בהגדרת פרטי משתמש + סיסמת ההצפנה שונתה בהצלחה! + שינוי סיסמת הצפנה + האם אתה בטוח שברצונך להמשיך\? לא ניתן לעצור את התהליך או לבטלו, וייתכן שהשלמתו תימשך זמן מה. + סיסמת הצפנה חדשה + בבקשה אל תשתמש בכלי זה אם אתה מאמין שסיסמת ההצפנה שלך נחשפה. צור קשר עם התמיכה. + שנה סיסמת הצפנה + הסיסמה צריכה להיות באורך של 8 תווים לפחות + הזן פרטי התחברות + סיסמת הצפנה שגויה + יצירת חשבון נכשלה + המתן בבקשה, מגדיר הצפנה… + מגדיר הצפנה + צפה בתיעוד אבטחה + האימות נכשל (כנראה שם משתמש או סיסמה שגויים). +\nהאם נרשמת\? + שכחת סיסמה\? + זו סיסמת ההתחברות שלך, ו*לא* סיסמת ההצפנה! + חשבון: + סיסמת הצפנה סודית + הכנס פרטי התחברות + חזור + סיים + הירשם + התחבר + נדרשת סיסמה + * סיסמה זו משמשת להצפנת הנתונים שלך, בניגוד לסיסמה הקודמת, המשמשת לכניסה לשירות. +\nאתה מתבקש לבחור סיסמת הצפנה נפרדת מסיבות אבטחה. לקבלת מידע נוסף, עיין ב\"שאלות נפוצות\" ב: %s + * וודא שאתה זוכר את סיסמתך, משום שלא תוכל לשחזר אותה! + אתה מחובר כעת כ\"%s\". כדי להמשיך, הזן את סיסמת ההצפנה, או התנתק מהתפריט הצדדי. + נא הגדר את סיסמת ההצפנה שלך. וודא את נכונותה, משום שלא תוכל לשחזר אותה אם היא תאבד! + סיסמת הצפנה + הצג הגדרות מתקדמות + נמצאה כתובת שרת לא חוקית. האם שכחת לכלול ‪https://‬\? + כתובת שרת EteSync + סיסמה + נדרשת כתובת מייל תקנית + כתובת מייל + נדרש שם משתמש תקני + שם משתמש + הוסף חשבון + נדרשות הרשאות Tasks.org + כדי לסנכרן משימות עם רשימות המשימות הקיימות שלך, על EteSync לגשת ל-Tasks.org. + הרשאות Tasks.org + נדרשות הרשאות OpenTasks + כדי לסנכרן משימות עם רשימות המשימות הקיימות שלך, על EteSync לגשת ל- OpenTasks. + הרשאות OpenTasks + נדרשות הרשאות אנשי קשר + כדי לסנכרן את אנשי הקשר עם אנשי הקשר הקיימים שלך, EteSync צריך לגשת לאנשי הקשר שלך. + הרשאות אנשי קשר + נדרשות הרשאות לוח שנה + כדי לסנכרן אירועי לוח שנה עם לוחות השנה המקומיים שלך, EteSync זקוקה לגישה ללוחות השנה שלך. + הרשאות לוח שנה + הרשאות EteSync + שוחזרה בהצלחה הכניסה למצב הקודם. + מצב שחזור + מספר חברים + משתמש + קשר + יום הולדת + יום השנה + אתר + הערה + כתובת + כינוי + הודעות מיידיות + תיאור תפקיד + ארגון + כתובת מייל + מספר טלפון + תזכורות + משתתפים + גולמי + תיקונים + ראשי + אודות + דחה + קבל + האם תרצה לקבל או לדחות את ההזמנה\? + אין הזמנות + טוען הזמנות… + הזמנות + עזוב + רק מנהלים רשאים לנהל את אוסף המשתמשים. האם תרצה לעזוב את האוסף\? + הסרת גישה למנהלים לא נתמכת כרגע. + האם תרצה לבטל את הגישה ל %s\? +\nשים לב שמשתמש זדוני יוכל לשמר גישה למפתחות ההצפנה. למידע נוסף עיין ב\"שאלות נפוצות\". + הסר משתמש + שגיאה בהסרת משתמש + מסיר משתמש + משתמש (%s) לא נמצא + אמת את קוד האבטחה של %s כדי לוודא שההצפנה מאובטחת. + אמת קוד אבטחה + ערוך משתמש + שגיאה בהוספת משתמש + הוסף משתמש + אין משתמשים + טוען משתמשים… + משתמשים + EteSync משתלב בצורה חלקה עם Android. כדי להשתמש בו תוכל להוסיף את אפליקציות אנשי הקשר והיומן הקיימות! +\n +\nלקבלת מידע נוסף, עיין במדריך למשתמש. + הידעת\? + רק מנהלים של אוסף זה רשאים לערוך אותו. + רק מנהלים של אוסף זה (%s) רשאים לערוך אותו. + לא מורשה + רק מנהלים של האוסף (%s) מורשים לצפות ברשימת המשתמשים. + מנהל: %s + בכדי לייבא אנשי קשר ויומנים לאפליקציה, יש ללחוץ על התפריט ולבחור \"ייבא\". + * היסטוריית שינויים מוצגת רק כאשר ספק משימות מותקן. + יומן שינויים + קוד האבטחה שלי + לחץ כאן כדי להתקין את OpenTasks! + באפשרותך ללחוץ על פריט בכדי להציג ולנהל את האוסף. + מחיקת האוסף האחרון אינה מורשית. אנא צור אוסף חדש אם ברצונך למחוק את האוסף האחרון. + לא ניתן למחוק את האוסף האחרון + כל העותקים המקומיים של אנשי הקשר, לוחות שנה ורשימות המשימות יימחקו. + האם אתה בטוח שברצונך להסיר את החשבון\? + קוד אבטחה + הסר חשבון + הגדרות חשבון + סנכרן כעת + סנכרן כעת + הצג התראות על שינויים + אוטומטי + כפה שפת ממשק + צפה בפרטים והגדרות לצרכי ניפוי תקלים + הראה מידע על ניפוי תקלים + תיעוד שגיאות מפורט עלול להכיל מידע פרטי + תיעוד שגיאות מפורט + אפשר לשמור הודעות תיעוד שגיאות לקובץ + הפוך ללא זמין כדי להסתיר את ההתראות ולמחוק את תיעוד השגיאות + תעד שגיאות לקובץ \ No newline at end of file From 0139e69ee2005bccfaf15c43447913b47bae40d3 Mon Sep 17 00:00:00 2001 From: Danit Carmi Date: Fri, 2 Oct 2020 15:31:53 +0000 Subject: [PATCH 12/17] Translated using Weblate (Hebrew (Israel)) Currently translated at 69.0% (232 of 336 strings) Translation: EteSync/Android Translate-URL: https://hosted.weblate.org/projects/etesync/android/he_IL/ --- app/src/main/res/values-he-rIL/strings.xml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/app/src/main/res/values-he-rIL/strings.xml b/app/src/main/res/values-he-rIL/strings.xml index dd795fcc..d27a8e7f 100644 --- a/app/src/main/res/values-he-rIL/strings.xml +++ b/app/src/main/res/values-he-rIL/strings.xml @@ -302,4 +302,26 @@ אפשר לשמור הודעות תיעוד שגיאות לקובץ הפוך ללא זמין כדי להסתיר את ההתראות ולמחוק את תיעוד השגיאות תעד שגיאות לקובץ + התראות EteSync + EteSync + מארגן האירוע: + בחר חשבון + מחשבון + מקובץ + נכשל בפתיחת קישור: הקישור אינו נתמך! + רענן + שגיאה בטעינה + טוען… + EteSync נתקלה באישור לא ידוע. האם אתה רוצה לתת אמון\? + EteSync: אבטחת חיבור + הוזמנת לאירוע הבא: +\n +\n‪%s‬ +\nמתי: ‪%s‬ +\nאיפה: ‪‬%s‬ +\nמשתתפים: ‪‬%s‬‪ +\n +\n-- +\nנשלח על-ידי EteSync - סינכרון נתונים מאובטח ופרטי מקצה לקצה. +\nhttps://www.EteSync.com \ No newline at end of file From afe7f12a9d99acc7193dc843980601fd20d81c6d Mon Sep 17 00:00:00 2001 From: Tom Hacohen Date: Wed, 7 Oct 2020 11:47:51 +0300 Subject: [PATCH 13/17] Translations: remove removed strings. --- app/src/main/res/values-he-rIL/strings.xml | 3 +-- app/src/main/res/values-nl/strings.xml | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/app/src/main/res/values-he-rIL/strings.xml b/app/src/main/res/values-he-rIL/strings.xml index d27a8e7f..962a189d 100644 --- a/app/src/main/res/values-he-rIL/strings.xml +++ b/app/src/main/res/values-he-rIL/strings.xml @@ -174,7 +174,6 @@ שינוי סיסמת הצפנה האם אתה בטוח שברצונך להמשיך\? לא ניתן לעצור את התהליך או לבטלו, וייתכן שהשלמתו תימשך זמן מה. סיסמת הצפנה חדשה - בבקשה אל תשתמש בכלי זה אם אתה מאמין שסיסמת ההצפנה שלך נחשפה. צור קשר עם התמיכה. שנה סיסמת הצפנה הסיסמה צריכה להיות באורך של 8 תווים לפחות הזן פרטי התחברות @@ -324,4 +323,4 @@ \n-- \nנשלח על-ידי EteSync - סינכרון נתונים מאובטח ופרטי מקצה לקצה. \nhttps://www.EteSync.com - \ No newline at end of file + diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index ce8c96f1..dcb94ece 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -322,7 +322,6 @@ Encryptiewachtwoord Verandering Bent u zeker dat u wilt verdergaan\? Het proces kan niet halfweg worden onderbroken of kan niet ongedaan gemaakt worden, en kan even duren. Nieuw Encryptiewachtwoord - Gebruik deze tool a.u.b. niet indien u vermoedt dat uw encryptiewachtwoord werd gecompromitteerd. Contacteer in plaats daarvan de ondersteuning. Wijzig Encryptiewachtwoord Wachtwoord moet minstens 8 karakters lang zijn Geef Aanmeldgegevens In @@ -384,4 +383,4 @@ Opnieuw proberen Sla over Maak - \ No newline at end of file + From 12d25a7785bf2bd025eebea7ee56a261546fb55d Mon Sep 17 00:00:00 2001 From: Tom Hacohen Date: Wed, 7 Oct 2020 13:49:43 +0300 Subject: [PATCH 14/17] Signup: add field validations. We have centralised validation in the server, but it's not yet exposed in etebase-java so we have to do it here too for now. --- .../com/etesync/syncadapter/ui/etebase/SignupFragment.kt | 7 ++++--- app/src/main/res/values/strings.xml | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/etesync/syncadapter/ui/etebase/SignupFragment.kt b/app/src/main/java/com/etesync/syncadapter/ui/etebase/SignupFragment.kt index aba35580..a7b571c0 100644 --- a/app/src/main/java/com/etesync/syncadapter/ui/etebase/SignupFragment.kt +++ b/app/src/main/java/com/etesync/syncadapter/ui/etebase/SignupFragment.kt @@ -79,7 +79,7 @@ class SignupFragment(private val initialUsername: String?, private val initialPa createAccount.setOnClickListener { val credentials = validateData() if (credentials != null) { - SignupDoFragment(credentials).show(fragmentManager!!, null) + SignupDoFragment(credentials).show(requireFragmentManager(), null) } } @@ -102,7 +102,8 @@ class SignupFragment(private val initialUsername: String?, private val initialPa var valid = true val userName = editUserName.editText?.text.toString() - if (userName.isEmpty()) { + // FIXME: this validation should only be done in the server, we are doing it here until the Java library supports field errors + if ((userName.length < 6) || (!userName.matches(Regex("""^[\w.-]+$""")))) { editUserName.error = getString(R.string.login_username_error) valid = false } else { @@ -118,7 +119,7 @@ class SignupFragment(private val initialUsername: String?, private val initialPa } val password = editPassword.editText?.text.toString() - if (password.isEmpty()) { + if (password.length < 8) { editPassword.error = getString(R.string.signup_password_restrictions) valid = false } else { diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 6b6714ee..3e4e4768 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -230,7 +230,7 @@ Add account Username - Valid username required + Username should be at least 6 characters long and consist of only letters, digits and ./-/_. Email Valid email required Password From 9ce152f5bef2f60bb9259423ced9c0559229a23d Mon Sep 17 00:00:00 2001 From: Tom Hacohen Date: Wed, 7 Oct 2020 14:17:38 +0300 Subject: [PATCH 15/17] Use the library's isServerEtebase function. --- .../ui/setup/BaseConfigurationFinder.kt | 23 +++++++------------ 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/com/etesync/syncadapter/ui/setup/BaseConfigurationFinder.kt b/app/src/main/java/com/etesync/syncadapter/ui/setup/BaseConfigurationFinder.kt index f243a0e9..9ca59e7e 100644 --- a/app/src/main/java/com/etesync/syncadapter/ui/setup/BaseConfigurationFinder.kt +++ b/app/src/main/java/com/etesync/syncadapter/ui/setup/BaseConfigurationFinder.kt @@ -11,18 +11,16 @@ import android.content.Context import com.etebase.client.Account import com.etebase.client.Client import com.etebase.client.exceptions.EtebaseException -import com.etesync.syncadapter.HttpClient import com.etesync.journalmanager.Crypto import com.etesync.journalmanager.Exceptions import com.etesync.journalmanager.JournalAuthenticator import com.etesync.journalmanager.UserInfoManager import com.etesync.syncadapter.Constants +import com.etesync.syncadapter.HttpClient import com.etesync.syncadapter.log.Logger import com.etesync.syncadapter.model.CollectionInfo -import okhttp3.HttpUrl import okhttp3.HttpUrl.Companion.toHttpUrlOrNull import okhttp3.OkHttpClient -import okhttp3.Request import java.io.IOException import java.io.Serializable import java.net.URI @@ -37,18 +35,13 @@ class BaseConfigurationFinder(protected val context: Context, protected val cred private fun isServerEtebase(): Boolean { if (credentials.uri != null) { - val remote = credentials.uri.toHttpUrlOrNull()!!.newBuilder() - .addPathSegments("api/v1/authentication/is_etebase/") - .build() - - val request = Request.Builder() - .get() - .url(remote) - .build() - - val response = httpClient.newCall(request).execute() - - return response.isSuccessful + val client = Client.create(httpClient, credentials.uri.toString()) + return try { + Account.isEtebaseServer(client) + true + } catch (e: EtebaseException) { + false + } } else { return !credentials.userName.contains("@") } From 46dbb22ff3fe7e61449f1b988aa366b5bd8a267e Mon Sep 17 00:00:00 2001 From: Tom Hacohen Date: Tue, 6 Oct 2020 18:38:38 +0300 Subject: [PATCH 16/17] LocalCache: use the new Etebase FileSystemCache. --- app/build.gradle | 2 +- .../etesync/syncadapter/EtebaseLocalCache.kt | 98 +++++-------------- 2 files changed, 26 insertions(+), 74 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 5de4d797..d45cb316 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -138,7 +138,7 @@ dependencies { implementation "org.jetbrains.anko:anko-commons:0.10.4" implementation "com.etesync:journalmanager:1.1.1" - def etebaseVersion = '0.2.1' + def etebaseVersion = '0.2.2' implementation "com.etebase:client:$etebaseVersion" def acraVersion = '5.3.0' diff --git a/app/src/main/java/com/etesync/syncadapter/EtebaseLocalCache.kt b/app/src/main/java/com/etesync/syncadapter/EtebaseLocalCache.kt index 5bab8e9c..9f51ccf9 100644 --- a/app/src/main/java/com/etesync/syncadapter/EtebaseLocalCache.kt +++ b/app/src/main/java/com/etesync/syncadapter/EtebaseLocalCache.kt @@ -3,34 +3,15 @@ package com.etesync.syncadapter import android.content.Context import com.etebase.client.* import com.etebase.client.Collection +import com.etebase.client.exceptions.EtebaseException import okhttp3.OkHttpClient import java.io.File import java.util.* -/* -File structure: -cache_dir/ - user1/ <--- the name of the user - stoken <-- the stokens of the collection fetch - cols/ - UID1/ - The uid of the first col - ... - UID2/ - The uid of the second col - col <-- the col itself - stoken <-- the stoken of the items fetch - items/ - item_uid1 <-- the item with uid 1 - item_uid2 - ... - */ class EtebaseLocalCache private constructor(context: Context, username: String) { + private val fsCache: FileSystemCache = FileSystemCache.create(context.filesDir.absolutePath, username) private val filesDir: File = File(context.filesDir, username) - private val colsDir: File - - init { - colsDir = File(filesDir, "cols") - colsDir.mkdirs() - } + private val colsDir: File = File(filesDir, "cols") private fun getCollectionItemsDir(colUid: String): File { val colsDir = File(filesDir, "cols") @@ -39,102 +20,73 @@ class EtebaseLocalCache private constructor(context: Context, username: String) } private fun clearUserCache() { - filesDir.deleteRecursively() + fsCache.clearUserCache() } fun saveStoken(stoken: String) { - val stokenFile = File(filesDir, "stoken") - stokenFile.writeText(stoken) + fsCache.saveStoken(stoken) } fun loadStoken(): String? { - val stokenFile = File(filesDir, "stoken") - return if (stokenFile.exists()) stokenFile.readText() else null + return fsCache.loadStoken() } - fun collectionSaveStoken(colUid: String, stoken: String) { - val colDir = File(colsDir, colUid) - val stokenFile = File(colDir, "stoken") - stokenFile.writeText(stoken) + fsCache.collectionSaveStoken(colUid, stoken) } fun collectionLoadStoken(colUid: String): String? { - val colDir = File(colsDir, colUid) - val stokenFile = File(colDir, "stoken") - return if (stokenFile.exists()) stokenFile.readText() else null + return fsCache.collectionLoadStoken(colUid) } fun collectionList(colMgr: CollectionManager, withDeleted: Boolean = false): List { - return colsDir.list().map { - val colDir = File(colsDir, it) - val colFile = File(colDir, "col") - val content = colFile.readBytes() - colMgr.cacheLoad(content) - }.filter { withDeleted || !it.isDeleted }.map{ + return fsCache._unstable_collectionList(colMgr).filter { + withDeleted || !it.isDeleted + }.map{ CachedCollection(it, it.meta) } } - fun collectionGet(colMgr: CollectionManager, colUid: String): CachedCollection? { - val colDir = File(colsDir, colUid) - val colFile = File(colDir, "col") - if (!colFile.exists()) { - return null - } - val content = colFile.readBytes() - return colMgr.cacheLoad(content).let { + fun collectionGet(colMgr: CollectionManager, colUid: String): CachedCollection { + return fsCache.collectionGet(colMgr, colUid).let { CachedCollection(it, it.meta) } } fun collectionSet(colMgr: CollectionManager, collection: Collection) { - val colDir = File(colsDir, collection.uid) - colDir.mkdirs() - val colFile = File(colDir, "col") - colFile.writeBytes(colMgr.cacheSaveWithContent(collection)) - val itemsDir = getCollectionItemsDir(collection.uid) - itemsDir.mkdirs() + fsCache.collectionSet(colMgr, collection) } fun collectionUnset(colMgr: CollectionManager, colUid: String) { - val colDir = File(colsDir, colUid) - colDir.deleteRecursively() + fsCache.collectionUnset(colMgr, colUid) } fun itemList(itemMgr: ItemManager, colUid: String, withDeleted: Boolean = false): List { - val itemsDir = getCollectionItemsDir(colUid) - return itemsDir.list().map { - val itemFile = File(itemsDir, it) - val content = itemFile.readBytes() - itemMgr.cacheLoad(content) - }.filter { withDeleted || !it.isDeleted }.map { + return fsCache._unstable_itemList(itemMgr, colUid).filter { + withDeleted || !it.isDeleted + }.map { CachedItem(it, it.meta, it.contentString) } } fun itemGet(itemMgr: ItemManager, colUid: String, itemUid: String): CachedItem? { - val itemsDir = getCollectionItemsDir(colUid) - val itemFile = File(itemsDir, itemUid) - if (!itemFile.exists()) { + // Need the try because the inner call doesn't return null on missing, but an error + val ret = try { + fsCache.itemGet(itemMgr, colUid, itemUid) + } catch (e: EtebaseException) { return null } - val content = itemFile.readBytes() - return itemMgr.cacheLoad(content).let { + return ret.let { CachedItem(it, it.meta, it.contentString) } } fun itemSet(itemMgr: ItemManager, colUid: String, item: Item) { - val itemsDir = getCollectionItemsDir(colUid) - val itemFile = File(itemsDir, item.uid) - itemFile.writeBytes(itemMgr.cacheSaveWithContent(item)) + fsCache.itemSet(itemMgr, colUid, item) } fun itemUnset(itemMgr: ItemManager, colUid: String, itemUid: String) { - val itemsDir = getCollectionItemsDir(colUid) - val itemFile = File(itemsDir, itemUid) - itemFile.delete() + fsCache.itemUnset(itemMgr, colUid, itemUid) } companion object { From 0b7e351fac22ba8c1328f94feefcf7678cbba417 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?O=C4=9Fuz=20Ersen?= Date: Wed, 7 Oct 2020 11:14:53 +0000 Subject: [PATCH 17/17] Translated using Weblate (Turkish) Currently translated at 100.0% (336 of 336 strings) Translation: EteSync/Android Translate-URL: https://hosted.weblate.org/projects/etesync/android/tr/ --- app/src/main/res/values-tr-rTR/strings.xml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/app/src/main/res/values-tr-rTR/strings.xml b/app/src/main/res/values-tr-rTR/strings.xml index c7f2fbee..13aa6d1b 100644 --- a/app/src/main/res/values-tr-rTR/strings.xml +++ b/app/src/main/res/values-tr-rTR/strings.xml @@ -68,7 +68,7 @@ Parola girin: Eşzamanlama Kişiler senk. aralığı - Sadece elle + Yalnızca elle %s + yerel değişikliklerde hemen Mevcut değil Takvimler senk. aralığı @@ -80,13 +80,13 @@ Her 4 saatte bir Günde bir - Sadece WiFi üzerinden eşzamanla + Yalnızca WiFi üzerinden eşzamanla Eşzamanlama WiFi bağlantıları ile sınırlı Bağlantı tipi göz önünde bulundurulmaz WiFi SSID kısıtlaması - Sadece %s üzerinden eşzamanlanacak + Yalnızca %s üzerinden eşzamanlanacak Tüm WiFi bağlantıları kullanılabilir - Eşzamanlamayı sadece bir WiFi ağına kısıtlamak için bu ağın adını (SSID) girin, veya tüm WiFi bağlantıları için boş bırakın. + Eşzamanlamayı yalnızca bir WiFi ağıyla kısıtlamak için bu ağın adını (SSID) girin, veya tüm WiFi bağlantıları için boş bırakın. Adres defteri oluştur Benim Rehberim @@ -293,12 +293,12 @@ \nDaha fazla bilgi için lütfen kullanıcı rehberine bakın. Biliyor musunuz\? Eski tarz günlüklerin paylaşılmasına izin verilmiyor. Bu günlüğü paylaşmak için yeni bir tane oluşturun ve \"içe aktar\" iletişim kutusunu kullanarak içeriğini kopyalayın. Herhangi bir sorun yaşıyorsanız, lütfen desteğe başvurun. - Sadece bu koleksiyonun sahibinin (%s) onu düzenlemesine izin verilir. + Yalnızca bu koleksiyonun sahibinin (%s) onu düzenlemesine izin verilir. İzin Yok - Sadece bu koleksiyonun sahibi (%s) üyelerini görüntüleyebilir. + Yalnızca bu koleksiyonun sahibi (%s) üyelerini görüntüleyebilir. Sahibi: %s Kişileri ve takvimleri EteSync\'e aktarmak için menüye tıklamanız ve \"İçe aktar\"ı seçmeniz gerekmektedir. - * Günlük kaydı sadece bir görev sağlayıcı kuruluysa gösterilir. + * Günlük kaydı yalnızca bir görev sağlayıcı kuruluysa gösterilir. Günlüğü Değiştir Parmak İzim * Görevler eşzamanlanmıyor (bir sağlayıcı kurun) @@ -364,7 +364,7 @@ Eşzamanlama başarısız oldu (%s) Parola en az 8 karakter uzunluğunda olmalıdır Kayıt Ayrıntılarını Girin - Geçerli bir kullanıcı adı gerekli + Kullanıcı adı en az 6 karakter uzunluğunda olmalı ve yalnızca harf, rakam ve ./-/_ içermelidir. Kullanıcı adı Düzeltmeler Reddet @@ -374,9 +374,9 @@ Davetler yükleniyor... Davetler Ayrıl - Sadece yöneticilerin koleksiyon üyeliklerini yönetmesine izin verilir. Koleksiyondan ayrılmak ister misiniz\? + Yalnızca yöneticilerin koleksiyon üyeliklerini yönetmesine izin verilir. Koleksiyondan ayrılmak ister misiniz\? Yöneticilere erişimin kaldırılması şu anda desteklenmiyor. - Sadece bu koleksiyonun sahibinin onu düzenlemesine izin verilir. + Yalnızca bu koleksiyonun sahibinin onu düzenlemesine izin verilir. Davet gönderildi. Davet kabul edildikten sonra kullanıcı eklenecek. EteSync\'i kullanmaya başlamak için verilerinizi depolamak üzere koleksiyonlar oluşturmanız gerekmektedir. Sizin için öntanımlı bir takvim, adres defteri ve bir görev listesi oluşturmak için Oluştur düğmesine tıklayın. EteSync\'e hoş geldiniz! @@ -384,4 +384,4 @@ Atla Oluştur Salt okunur - + \ No newline at end of file