From 9ddcec562460ba616a9c0ac5eadb244a4926e414 Mon Sep 17 00:00:00 2001 From: Ricki Hirner Date: Sun, 18 Oct 2015 19:36:03 +0200 Subject: [PATCH] Changed source strings --- .../davdroid/log/ExternalFileLogger.java | 8 +- .../davdroid/ui/DebugInfoActivity.java | 5 +- .../at/bitfire/davdroid/ui/MainActivity.java | 71 +++++++++--- .../davdroid/ui/settings/AccountFragment.java | 9 +- app/src/main/res/layout/main_activity.xml | 62 ++++++++++- .../res/menu/exception_details_activity.xml | 2 +- app/src/main/res/values-ca/strings.xml | 2 +- app/src/main/res/values-cs/strings.xml | 2 +- app/src/main/res/values-de/strings.xml | 73 +------------ app/src/main/res/values-es/strings.xml | 2 +- app/src/main/res/values-fr/strings.xml | 2 +- app/src/main/res/values-hu/strings.xml | 2 +- app/src/main/res/values-nl/strings.xml | 2 +- app/src/main/res/values-pl/strings.xml | 4 +- app/src/main/res/values-pt/strings.xml | 2 +- app/src/main/res/values-ru/strings.xml | 2 +- app/src/main/res/values-sr/strings.xml | 2 +- app/src/main/res/values-uk/strings.xml | 2 +- app/src/main/res/values-zh-rcn/strings.xml | 2 +- app/src/main/res/values/strings.xml | 101 +++++++----------- 20 files changed, 185 insertions(+), 172 deletions(-) diff --git a/app/src/main/java/at/bitfire/davdroid/log/ExternalFileLogger.java b/app/src/main/java/at/bitfire/davdroid/log/ExternalFileLogger.java index 0cbd28b2..189bff87 100644 --- a/app/src/main/java/at/bitfire/davdroid/log/ExternalFileLogger.java +++ b/app/src/main/java/at/bitfire/davdroid/log/ExternalFileLogger.java @@ -8,6 +8,7 @@ package at.bitfire.davdroid.log; +import android.app.Activity; import android.content.Context; import java.io.Closeable; @@ -20,7 +21,7 @@ public class ExternalFileLogger extends CustomLogger implements Closeable { public ExternalFileLogger(Context context, String fileName, boolean verbose) throws IOException { this.verbose = verbose; - File dir = context.getExternalFilesDir(null); + File dir = getDirectory(context); if (dir == null) throw new IOException("External media not available for log creation"); @@ -28,10 +29,13 @@ public class ExternalFileLogger extends CustomLogger implements Closeable { writer = new PrintWriter(log); } + public static File getDirectory(Context context) { + return context.getExternalFilesDir(null); + } + @Override public void close() throws IOException { writer.close(); } - } diff --git a/app/src/main/java/at/bitfire/davdroid/ui/DebugInfoActivity.java b/app/src/main/java/at/bitfire/davdroid/ui/DebugInfoActivity.java index b01b9277..541d1c67 100644 --- a/app/src/main/java/at/bitfire/davdroid/ui/DebugInfoActivity.java +++ b/app/src/main/java/at/bitfire/davdroid/ui/DebugInfoActivity.java @@ -52,9 +52,7 @@ public class DebugInfoActivity extends Activity implements LoaderManager.LoaderC super.onCreate(savedInstanceState); setContentView(R.layout.debug_info_activity); - tvReport = (TextView)findViewById(R.id.text_report); - //tvReport.setText(report = generateReport(getIntent().getExtras())); getLoaderManager().initLoader(0, getIntent().getExtras(), this); } @@ -186,9 +184,10 @@ public class DebugInfoActivity extends Activity implements LoaderManager.LoaderC " Account: " + acc.name + "\n" + " Address book synchronization: " + syncStatus(acc, ContactsContract.AUTHORITY) + "\n" + " Calendar synchronization: " + syncStatus(acc, CalendarContract.AUTHORITY) + "\n" + - " OpenTasks synchronization: " + syncStatus(acc, "org.dmfs.tasks") + "\n\n" + " OpenTasks synchronization: " + syncStatus(acc, "org.dmfs.tasks") + "\n" ); } + report.append("\n"); try { report.append( diff --git a/app/src/main/java/at/bitfire/davdroid/ui/MainActivity.java b/app/src/main/java/at/bitfire/davdroid/ui/MainActivity.java index 35a520c0..0ba80677 100644 --- a/app/src/main/java/at/bitfire/davdroid/ui/MainActivity.java +++ b/app/src/main/java/at/bitfire/davdroid/ui/MainActivity.java @@ -11,7 +11,6 @@ import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; -import android.os.Debug; import android.provider.Settings; import android.text.Html; import android.text.method.LinkMovementMethod; @@ -29,23 +28,65 @@ import at.bitfire.davdroid.ui.setup.AddAccountActivity; public class MainActivity extends Activity { - @Override + private static final String libraries = + "· Apache CommonsApache License, Version 2.0" + + "· dnsjavaBSD License" + + "· ez-vcardNew BSD License
" + + "· iCal4jNew BSD License
" + + "· MemorizingTrustManagerMIT License
" + + "· okhttpApache License, Version 2.0" + + "· Project LombokMIT License
" + + "· SLF4j (Simple Logging Facade for Java) – MIT License"; + + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main_activity); - TextView tvWorkaround = (TextView)findViewById(R.id.text_workaround); - if (fromPlayStore()) { - tvWorkaround.setVisibility(View.VISIBLE); - tvWorkaround.setText(Html.fromHtml(getString(R.string.html_main_workaround))); - tvWorkaround.setMovementMethod(LinkMovementMethod.getInstance()); - } - - TextView tvInfo = (TextView)findViewById(R.id.text_info); - tvInfo.setText(Html.fromHtml(getString(R.string.html_main_info, BuildConfig.VERSION_NAME))); - tvInfo.setMovementMethod(LinkMovementMethod.getInstance()); - } + TextView tv = (TextView)findViewById(R.id.text_store_specific); + if (installedFrom("org.fdroid.fdroid")) + setHtmlText(R.id.text_store_specific, R.string.main_fdroid_donation_html); + else if (installedFrom("com.android.vending")) + setHtmlText(R.id.text_store_specific, R.string.main_play_workaround_html); + + setPlainText(R.id.text_welcome, R.string.main_welcome, BuildConfig.VERSION_NAME); + setHtmlText(R.id.text_what_is_davdroid, R.string.main_what_is_davdroid_html); + setHtmlText(R.id.text_how_to_setup, R.string.main_how_to_setup_html); + setHtmlText(R.id.text_support, R.string.main_support_html); + setHtmlText(R.id.text_open_source_disclaimer, R.string.main_open_source_disclaimer_html); + setHtmlText(R.id.text_license, R.string.main_license_html); + setPlainText(R.id.text_libraries_heading, R.string.main_used_libraries_heading); + setHtmlText(R.id.text_libraries_list, libraries); + } + + private void setPlainText(int viewId, int stringId, Object... args) { + TextView tv = (TextView)findViewById(viewId); + tv.setVisibility(View.VISIBLE); + tv.setText(getString(stringId, args)); + } + + private void setHtmlText(int viewId, int stringId, Object... args) { + TextView tv = (TextView)findViewById(viewId); + tv.setVisibility(View.VISIBLE); + tv.setText(trim(Html.fromHtml(getString(stringId, args)))); + tv.setMovementMethod(LinkMovementMethod.getInstance()); + } + + private void setHtmlText(int viewId, String html) { + TextView tv = (TextView)findViewById(viewId); + tv.setVisibility(View.VISIBLE); + tv.setText(trim(Html.fromHtml(html))); + tv.setMovementMethod(LinkMovementMethod.getInstance()); + } + + private CharSequence trim(CharSequence text) { + while (text.charAt(text.length() - 1) == '\n') { + text = text.subSequence(0, text.length() - 1); + } + return text; + } + @Override public boolean onCreateOptionsMenu(Menu menu) { @@ -79,9 +120,9 @@ public class MainActivity extends Activity { } - private boolean fromPlayStore() { + private boolean installedFrom(String packageName) { try { - return "com.android.vending".equals(getPackageManager().getInstallerPackageName("at.bitfire.davdroid")); + return packageName.equals(getPackageManager().getInstallerPackageName("at.bitfire.davdroid")); } catch(IllegalArgumentException e) { return false; } diff --git a/app/src/main/java/at/bitfire/davdroid/ui/settings/AccountFragment.java b/app/src/main/java/at/bitfire/davdroid/ui/settings/AccountFragment.java index 73523a0c..75f52445 100644 --- a/app/src/main/java/at/bitfire/davdroid/ui/settings/AccountFragment.java +++ b/app/src/main/java/at/bitfire/davdroid/ui/settings/AccountFragment.java @@ -12,6 +12,8 @@ import android.accounts.Account; import android.app.AlertDialog; import android.app.DialogFragment; import android.content.DialogInterface; +import android.content.Intent; +import android.net.Uri; import android.os.Bundle; import android.preference.EditTextPreference; import android.preference.ListPreference; @@ -22,6 +24,7 @@ import android.provider.CalendarContract; import android.provider.ContactsContract; import at.bitfire.davdroid.R; +import at.bitfire.davdroid.log.ExternalFileLogger; import at.bitfire.davdroid.syncadapter.AccountSettings; import at.bitfire.ical4android.TaskProvider; @@ -140,10 +143,11 @@ public class AccountFragment extends PreferenceFragment { final SwitchPreference prefLogExternalFile = (SwitchPreference)findPreference("log_external_file"); prefLogExternalFile.setChecked(settings.logToExternalFile()); + prefLogExternalFile.setSummaryOn(getString(R.string.settings_log_to_external_file_on, ExternalFileLogger.getDirectory(getActivity()).getPath())); prefLogExternalFile.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference preference, Object newValue) { - Boolean external = (Boolean)newValue; + Boolean external = (Boolean) newValue; if (external) { getFragmentManager().beginTransaction() .add(LogExternalFileDialogFragment.newInstance(account), null) @@ -151,7 +155,8 @@ public class AccountFragment extends PreferenceFragment { return false; } else { settings.logToExternalFile(false); - refresh(); return false; + refresh(); + return false; } } }); diff --git a/app/src/main/res/layout/main_activity.xml b/app/src/main/res/layout/main_activity.xml index eb418730..9e754f55 100644 --- a/app/src/main/res/layout/main_activity.xml +++ b/app/src/main/res/layout/main_activity.xml @@ -19,19 +19,73 @@ android:orientation="vertical" > + android:layout_marginBottom="40dp" + android:linksClickable="true" + android:textAppearance="?android:attr/textAppearanceMedium" /> + + - + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/menu/exception_details_activity.xml b/app/src/main/res/menu/exception_details_activity.xml index 68ba0600..768f9b53 100644 --- a/app/src/main/res/menu/exception_details_activity.xml +++ b/app/src/main/res/menu/exception_details_activity.xml @@ -11,7 +11,7 @@ diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml index 476ad989..4e5cabdf 100644 --- a/app/src/main/res/values-ca/strings.xml +++ b/app/src/main/res/values-ca/strings.xml @@ -10,7 +10,7 @@ URI invàlida: %s Gestioneu els comptes a sincronitzar - Gràcies per comprar DAVDroid a travès de Google Play i així donar suport al projecte. De totes formes, hi ha dos incidències amb el Google Play:

1. Les comptes poden desaparèixer desprès de reiniciar

diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 88e50daa..40b8f483 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -12,7 +12,7 @@ Neplatné URI: %s Spravovat synchronizované účty - Thank you for buying DAVdroid via Google Play and thus supporting the project. Unfortunately, there are two issues with Google Play:

1. Accounts may be gone after a reboot

diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index a9810ee7..00b52c76 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -4,7 +4,7 @@ DAVdroid Hilfe Weiter - Senden + Senden Überspringen Nicht vertrauenswürdiges Zertifikat in der Zertifikatskette (siehe FAQ) HTTP-Fehler: %s @@ -14,77 +14,6 @@ Sync-Konten anzeigen Debug-Info anzeigen - Vielen Dank, dass Sie DAVdroid im Play Store erworben haben und das Projekt dadurch unterstützen. - Leider gibt es derzeit zwei Probleme, die vom Play Store verursacht werden:

- -

1. DAVdroid-Accounts verschwinden nach einem Neustart

-

Möglicherweise verschwinden alle Ihre DAVdroid-Accounts samt Kontakten und Terminen nach einem Neustart - des Geräts. Die Ursache ist ein Fehler in Android, - der zur irrtümlichen Entfernung von Accounts von Bezahlapps bei einem Neustart führt, da die Prüfung auf verwaiste - und damit zu löschende Accounts schon *vor* dem Entschlüsseln der App erfolgt.

-

Betroffene Benutzer*Innen:
- * alle mit Android 4.1, die DAVdroid über Play Store bezogen haben;
- * einige mit Android 4.2, die DAVdroid über Play Store bezogen und bestimmte Geräte haben (zB die meisten Samsung-Geräte)

- -

2. DAVdroid-Accounts verschwinden nach einer DAVdroid-Aktualisierung

-

Möglicherweise verschwinden alle Ihre DAVdroid-Accounts samt Kontakten und Terminen während eines - DAVdroid-Updates, das von Play Store durchgeführt wird. Die Ursache ist ein - anderer Fehler in Android, - der zur irrtümlichen Entfernung von Accounts von Bezahlapps bei der Aktualisierung dieser Apps führt.

-

Betroffene Benutzer*Innen:
- einige mit Android 4.4.2, die DAVdroid über Play Store bezogen haben (bekannt sind Nexus-Geräte und Moto G)

- -

Sollten Sie von einem dieser Fehler betroffen sein, installieren - Sie den DAVdroid JB Workaround.

- ]]>
- Willkommen bei DAVdroid/%s! - -

DAVdroid ist ein Android 4+-CalDAV/CardDAV-Sync-Adapter. Um ihn zu verwenden, müssen Sie ein DAVdroid-Konto - für Ihren Server hinzufügen. Die Kontakte/Termine/Aufgaben werden dann automatisch in beide Richtungen synchronisiert. - Weitere Informationen erhalten Sie auf der DAVdroid-Homepage. - Dort finden Sie auch eine Anleitung zum Einrichten. - DAVdroid respektiert Ihre Privatsphäre (siehe Datenschutzrichtlinie).

- -

Bei Problemen lesen Sie bitte die häufig gestellten Fragen. - Um Hilfe zu erhalten oder über DAVdroid-bezogene Themen zu diskutieren, gibt es unsere - DAVdroid-Foren. - Bitte erpressen Sie uns nicht mit schlechten Bewertungen in den App-Stores (das ist zwecklos und für beide Seiten demotivierend).

- -

Wenn Sie eine Datenschutz-App (\"privacy guard\") benutzen (in CyanogenMod standardmäßig an), müssen Sie einstellen, - dass DAVdroid auf Kontakte und Kalender zugreifen darf.

- -

Open-Source

-

DAVdroid ist von Anfang an als Open-Source-Projekt ausgelegt. Der Quellcode kann jederzeit selbst kompiliert und - die App unter den Bedingungen der GPLv3 verwendet werden. Der - Quellcode ist verfügbar; die App kann auch - über F-Droid bezogen werden.

- -

Es bedeutet viel Arbeit, die App zu entwickeln und besser zu machen. Daher haben wir uns entschlossen, sie - auch gegen eine kleine Gebühr in die kommerziellen App-Stores zu stellen. Wenn Sie DAVdroid über F-Droid bezogen haben, - überlegen Sie bitte, ob Sie das Projekt mit - einer Spende unterstützen wollen.

- -

Lizenz

-

Copyright © 2013 – 2015 Ricki Hirner, Bernhard Stockmann (bitfire web engineering), alle Rechte - vorbehalten. Dieses Programm ist freie Software. Sie können es unter den Bedingungen der GNU - General Public License Version 3, wie von der Free Software Foundation veröffentlicht, weitergeben und/oder modifizieren. - Sofern Google Play oder Samsung Store andere Bedingungen benötigen, gelten diese Bedingungen nur für über den jeweiligen - Markt heruntergeladene Apps.

- -

Übersetzungen für andere Sprachen als Englisch und Deutsch - wurden von verschiedenen Personen beigetragen, die in der jeweiligen Sprachversion erwähnt sind.

- -

Verwendete Bibliotheken

-

- * Apache HttpClient (Android port) – Apache License, Version 2.0
- * iCal4jNew BSD License
- * ez-vcardNew BSD License
- * Simple XML SerializationApache License, Version 2.0
- * Project LombokMIT License
- * dnsjavaBSD License

- ]]>
Mit Email-Adresse anmelden Domänenname wird verwendet, um die Servereinstellungen herauszufinden. Beispiel: myaccount@icloud.com diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 8178a690..0f64f7eb 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -11,7 +11,7 @@ URI no válida: %s Administrar las cuentas sincronizadas - Gracias por haber comprado DAVdroid a través de Google Play y de esta manera apoyar este proyecto. Desafortunadamente, hay dos problemas con Google Play:

1. Las cuentas pueden desaparecer después de un reinicio

Puedes encontrar el problema de que todas tus cuentas de DAVdroid (incluyendo contactos y eventos) han desaparecido diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 4380cdd6..cfb004ee 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -12,7 +12,7 @@ URI incorrecte : %s Gérer les comptes synchronisés - Merci d\'avoir acheter DAVDroid dans le Play Store Google. Malheureusement, il y a 2 soucis avec le Play Store:

1. Les comptes disparaissent après un redémarrage

La raison est un bug dans Android qui supprime les comptes d\'application payantes au démarrage à cause de l\'ordre de chargement des applications chiffrées; elles sont chargées après la tâche de destruction des comptes orphelins.

diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index c69dc622..629b243d 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -11,7 +11,7 @@ Érvénytelen URI: %s Szinkronizációs fiókok kezelése - Köszönjük, hogy megvásárolta a DAVdroid alkalmazást a Google Play áruházban, támogatva ezzel a projektet. Sajnos, a Google Play áruházzal két probléma is van:

1. A fiókok az eszköz újraindítása után eltűnhetnek

diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 53bb098d..313ea228 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -11,7 +11,7 @@ Ongeldige URI: %s Beheer sync accounts - Dank u voor het kopen van DAVdroid via Google Play en dus ondersteuning van het project. Helaas, er zijn twee problemen met Google Play:

1. Accounts, kunnen na een reboot verdwijnen

diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 794acde3..973bf872 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -4,7 +4,7 @@ DAVdroid Pomoc Dalej - Udostępnij + Udostępnij Pomiń Niezaufany certyfikat w ścieżke certyfikatu. Zobacz FAQ, aby uzyskać więcej informacji. Błąd HTTP: %s @@ -14,7 +14,7 @@ Zadządzaj kontami synchronizacji Pokaż informacje do debug\'owania - Dziękujemy za zakup DAVdroid poprzez Google Play, a tym samym wsparcie projektu. Niestety, występują dwa problemy z Google Play:

1. Konta mogą zniknąć po restarcie

diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index cde01ce2..4cef99cb 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -11,7 +11,7 @@ URI inválida: %s Administrar as contas sincronizadas - Obrigado por adquirir o DAVdroid pelo Google Play apoiando, assim, o projeto. Infelizmente existem dos problemas com o Google Play:

1. Contas podem desaparecer após reinicial

Você pode encontrar problemas com todas as suas contas DAVdroid (incluindo contatos e eventos) diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 259ebb9f..5b8603a5 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -11,7 +11,7 @@ Неверный URI: %s Управление аккаунтами синхронизации - Благодарим за поддержку проекта через покупку DAVdroid на Google Play. К сожалению есть две небольших проблемы для программ приобретенных в Google Play:

1. Аккаунты могут исчезнуть после перезагрузки

diff --git a/app/src/main/res/values-sr/strings.xml b/app/src/main/res/values-sr/strings.xml index b83e50e5..478301c9 100644 --- a/app/src/main/res/values-sr/strings.xml +++ b/app/src/main/res/values-sr/strings.xml @@ -12,7 +12,7 @@ Неисправан УРИ: %s Управљај налозима синхронизације - Хвала вам што сте купили ДАВдроид преко Гугловог Плеј сервиса и тиме подржали овај пројекат. Нажалост, постоје два проблема са Гугловим Плеј сервисом:

1. Налози могу нестати након поновног покретања

diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index f3ef2e2e..92a9dd2a 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -12,7 +12,7 @@ Невірний URI: %s Керувати синхронізацією облікових записів - Дякуємо за купівлю DAVdroid з використанням Google Play та підтримку цим проекту. На жаль, існують дві проблеми з Google Play:

1. Облікові записи можуть зникати після перезавантаження

diff --git a/app/src/main/res/values-zh-rcn/strings.xml b/app/src/main/res/values-zh-rcn/strings.xml index fafa9fde..61318f65 100644 --- a/app/src/main/res/values-zh-rcn/strings.xml +++ b/app/src/main/res/values-zh-rcn/strings.xml @@ -12,7 +12,7 @@ URI 无效: %s 管理同步账户 - 感谢您在 Google Play 上购买 DAVdroid 支持本项目。然而 Google Play 版应用有两个问题:

1. 账户可能在重启后消失

diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index c214c8a1..b320685e 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -13,87 +13,68 @@ DAVdroid Help Next - Share + Send Skip - Untrusted certificate in certificate path. See FAQ for more info. - HTTP error: %s - Missing capabilities: %s - I/O error: %s - Invalid URI: %s - Manage sync accounts Show debug info - Thank you for buying DAVdroid via Google Play and thus supporting the project. Unfortunately, there are two issues with Google Play:

+ We\'re happy that you have downloaded DAVdroid from F-Droid. Developing DAVdroid is hard work and takes + thousands of working hours. If you like DAVdroid, please consider giving a donation.

+ ]]>
+ Thank you for buying DAVdroid on Google Play, thus supporting the project. Unfortunately, there are two Google Play bugs + that may be of concern for you. Click on a link to view details.

-

1. Accounts may be gone after a reboot

-

You may encounter the problem that all your DAVdroid accounts (including contacts and events) are gone - after rebooting your device. The reason is a bug in Android - that causes accounts of paid apps to be removed on start-up because the (encrypted) APK files are - loaded after checking for orphaned accounts.

-

Affected users:
- * all Android 4.1 users who have got DAVdroid from Play Store;
- * Android 4.2 users who have got DAVdroid from Play Store only with certain devices (for instance, most Samsung devices) - * maybe other users (LG G3 Android 4.4.2 for instance)

- -

2. Accounts may be gone after upgrading DAVdroid

-

You may encounter the problem that all your DAVdroid accounts (including contacts and events) when Play Store - updates DAVdroid. The reason is another bug in Android - that causes accounts of paid apps to be removed when upgrading for a similar reason.

-

Affected users: some Android 4.4.2 users who have got DAVdroid from Play Store (known for Nexus devices and Moto G)

+

1. Accounts may be gone after a reboot: + affects Android 4.1, 4.2 with certain devices (for instance, most Samsung devices), possible some other devices. Most + recent Android versions work fine.
+ + 2. Accounts may be gone after upgrading DAVdroid: + affects some Android 4.4.2 devices (known for Nexus devices and Moto G), possible a few other ones. Most recent Android + versions work fine.

-

If you\'re affected by one of these bugs, please install the +

If you have such issues, please install the DAVdroid JB Workaround.

]]>
- Welcome to DAVdroid/%s! - -

DAVdroid is an Android 4+ sync adapter for CalDAV/CardDAV. To use it, just add a DAVdroid account - for your CalDAV/CardDAV server and your contacts/events/tasks will be synchronized in both directions. - For more information, please see the DAVdroid homepage. - There\'s a setup guide, too. DAVdroid respects - your privacy, see our privacy policy.

+ Welcome to DAVdroid/%s! + DAVdroid is an Android 4+ sync adapter for CalDAV/CardDAV. To use it, just add a DAVdroid account + for your CalDAV/CardDAV server and your contacts/events/tasks will be synchronized in both directions.

+ +

For more information, please see the DAVdroid homepage. + DAVdroid respects your privacy, see our privacy policy.

+ ]]>
+ How to configure

+

DAVdroid aims to support all standards-compliant CalDAV/CardDAV services. To see a list of tested services and related + setup info, together with some information about TLS and certificates, have a look at our + configuration page.

+ ]]>
+ Support

In case of problems, check the frequently asked questions first. To get assistance or discuss about DAVdroid-related topics, have a look in our DAVdroid forums. Please do not blackmail us with bad ratings in the stores (it\'s futile and discouraging for both sides).

- -

If you use a privacy guard (default in CyanogenMod), please remember you have to allow contact and calendar access for DAVdroid.

- -

Open-source

+ ]]>
+ Open source

DAVdroid is designed to be an open-source project from the very first beginning. It is always possible to compile the app yourself and use it for free without any obligations. The source code is - available, and you can download the app on F-Droid.

- -

However, it was much work to create this app, so we have decided to put it into the commercial stores for a small fee. - If you have downloaded the app on F-Droid, please consider - donating to DAVdroid.

- -

License

+ available, and you can download the app on F-Droid.

+]]>
+ License

Copyright © 2013 – 2015 Ricki Hirner, Bernhard Stockmann (bitfire web engineering). All rights reserved. This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html. As far as Google Play, Samsung - Store or Amazon Appstore require other terms, the respective terms apply only to versions - that are downloaded using these services.

- -

Translations to other languages than English and German have been contributed by - various people which are mentioned in their respective language version.

- -

Used third-party libraries

-

- * Apache HttpClient (Android port) – Apache License, Version 2.0
- * iCal4jNew BSD License
- * ez-vcardNew BSD License
- * Simple XML SerializationApache License, Version 2.0
- * Project LombokMIT License
- * dnsjavaBSD License

- ]]>
+ Store or Amazon Appstore require other terms, the respective terms apply only to versions that are downloaded using these services.

+ ]]>
+ Translations to other languages than English and German have been contributed by various people which are mentioned in their respective language version. + DAVdroid uses these libraries (alphabetical order): Login with email address @@ -158,7 +139,7 @@ Potential security risk! Log to external file External log files will contain private data and be accessible by other apps. Turn off external logging and delete the log files after use. - Logs are written to external files (if possible) + Logs are written to %s (if possible) Logs are written to ADB Verbose logging Log synchronization information and network traffic