diff --git a/app/build.gradle b/app/build.gradle
index 7819316a..a33f2456 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -17,8 +17,8 @@ android {
minSdkVersion 14
targetSdkVersion 23
- versionCode 106
- versionName "1.1.1.1"
+ versionCode 107
+ versionName "1.1.1.2"
buildConfigField "long", "buildTime", System.currentTimeMillis() + "L"
}
diff --git a/app/proguard-rules.txt b/app/proguard-rules.txt
index 222e532c..50740031 100644
--- a/app/proguard-rules.txt
+++ b/app/proguard-rules.txt
@@ -1,12 +1,17 @@
# ProGuard usage for DAVdroid:
-# shrinking yes - main reason for using ProGuard
-# optimization no - too risky
-# obfuscation no - DAVdroid is open-source
-# preverification no (Android default)
+# shrinking yes (main reason for using ProGuard)
+# optimization yes
+# obfuscation no (DAVdroid is open-source)
+# preverification no
-dontobfuscate
+-optimizations !code/simplification/arithmetic,!code/simplification/cast,!field/*,!class/merging/*
+-optimizationpasses 5
+-allowaccessmodification
+-dontpreverify
+
# ez-vcard
-dontwarn ezvcard.io.json.** # JSON serializer (for jCards) not used
-dontwarn freemarker.** # freemarker templating library (for creating hCards) not used
diff --git a/app/src/main/java/at/bitfire/davdroid/HttpClient.java b/app/src/main/java/at/bitfire/davdroid/HttpClient.java
index 5431f9ee..4c4dc9f7 100644
--- a/app/src/main/java/at/bitfire/davdroid/HttpClient.java
+++ b/app/src/main/java/at/bitfire/davdroid/HttpClient.java
@@ -90,7 +90,7 @@ public class HttpClient {
builder.addNetworkInterceptor(userAgentInterceptor);
// add cookie store for non-persistent cookies (some services like Horde use cookies for session tracking)
- builder.cookieJar(MemoryCookieStore.INSTANCE);
+ builder.cookieJar(new MemoryCookieStore());
// add network logging, if requested
if (logger.isLoggable(Level.FINEST)) {
diff --git a/app/src/main/java/at/bitfire/davdroid/MemoryCookieStore.java b/app/src/main/java/at/bitfire/davdroid/MemoryCookieStore.java
index 0f97faeb..1b1cf330 100644
--- a/app/src/main/java/at/bitfire/davdroid/MemoryCookieStore.java
+++ b/app/src/main/java/at/bitfire/davdroid/MemoryCookieStore.java
@@ -26,8 +26,6 @@ import okhttp3.HttpUrl;
*/
public class MemoryCookieStore implements CookieJar {
- public static final MemoryCookieStore INSTANCE = new MemoryCookieStore();
-
/**
* Stored cookies. The multi-key consists of three parts: name, domain, and path.
* This ensures that cookies can be overwritten. [RFC 6265 5.3 Storage Model]
diff --git a/app/src/main/java/at/bitfire/davdroid/ui/AccountsActivity.java b/app/src/main/java/at/bitfire/davdroid/ui/AccountsActivity.java
index 52600467..a0017798 100644
--- a/app/src/main/java/at/bitfire/davdroid/ui/AccountsActivity.java
+++ b/app/src/main/java/at/bitfire/davdroid/ui/AccountsActivity.java
@@ -96,7 +96,7 @@ public class AccountsActivity extends AppCompatActivity implements NavigationVie
startActivity(new Intent(Intent.ACTION_VIEW, Constants.webUri.buildUpon().appendEncodedPath("forums/").build()));
break;
case R.id.nav_donate:
- if (!App.FLAVOR_GOOGLE_PLAY.equals(BuildConfig.FLAVOR))
+ if (BuildConfig.FLAVOR != App.FLAVOR_GOOGLE_PLAY)
startActivity(new Intent(Intent.ACTION_VIEW, Constants.webUri.buildUpon().appendEncodedPath("donate/").build()));
break;
}
diff --git a/app/src/main/java/at/bitfire/davdroid/ui/StartupDialogFragment.java b/app/src/main/java/at/bitfire/davdroid/ui/StartupDialogFragment.java
index b134dcd2..aa7e4f2c 100644
--- a/app/src/main/java/at/bitfire/davdroid/ui/StartupDialogFragment.java
+++ b/app/src/main/java/at/bitfire/davdroid/ui/StartupDialogFragment.java
@@ -59,7 +59,7 @@ public class StartupDialogFragment extends DialogFragment {
dialogs.add(StartupDialogFragment.instantiate(Mode.DEVELOPMENT_VERSION));
else {
// store-specific information
- if (App.FLAVOR_GOOGLE_PLAY.equals(BuildConfig.FLAVOR)) {
+ if (BuildConfig.FLAVOR == App.FLAVOR_GOOGLE_PLAY) {
// Play store
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP && // only on Android <5
settings.getBoolean(HINT_GOOGLE_PLAY_ACCOUNTS_REMOVED, true)) // and only when "Don't show again" hasn't been clicked yet
diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml
index 181ccf0c..5ff23881 100644
--- a/app/src/main/res/values-da/strings.xml
+++ b/app/src/main/res/values-da/strings.xml
@@ -83,8 +83,11 @@
For at synkronisere CalDAV-begivenheder med dine lokale kalendere, skal DAVdroid have adgang til dine kalendere.
Anmod om kalenderadgang
Kontakter: Adgangsrettigheder
+ DAVdroid er nødt til at have adgang til dine kontakter, hvis CardDAV-adressebøger skal kunne synkronisere med dine kontakter.
Anmod om adgang til kontakter
OpenTasks: Adgangsrettigheder
+ DAVdroid er nødt til at have adgang til OpenTasks, hvis CalDAV-opgaver skal kunne synkronisere med dine lokale opgavelister.
+ Anmod om adgang til OpenTasks
Tilføj konto
Log ind med emailadresse
@@ -104,6 +107,7 @@
Opret konto
Kontonavn
Brug emailadressen som kontonavn, for Android vil bruge kontonavnet til ORGANIZER-feltet for aktiviteter, som du opretter. Du kan ikke have to konti med samme navn.
+ Gruppering af kontakter:
Kontonavn påkrævet
Konto kunne ikke oprettes
Check konfiguration
@@ -150,9 +154,24 @@
Synkroniser kun over WiFi
Synkronisering er begrænset til WiFi-forbindelser
+ Forbindelsestypen har ingen betydning
Begræsning til WiFi-SSID
Vil kun blive synkroniseret over %s
Alle WiFi-forbindelse vil kunne bruges
+ Indtast navnet på et WiFi-netværk (SSID) for at begrænse synkronisering til dette netværk, eller efterlad feltet blank for at acceptere alle WiFi-forbindelser.
+ CardDAV
+ Gruppering af kontakter
+
+ - GROUP_VCARDS
+ - CATEGORIES
+
+
+ - Grupper er særskilte VCards
+ - Grupper er kategorier pr. kontakt
+
+ Anvend RFC6868 for VCards
+ Dobbelte citationstegn kan bruges til at sætte parametre
+ Dobbelte citationstegn kan ikke bruges til at sætte parametre
CalDAV
Tidsafgrænsning for tidligere begivenheder
Alle begivenheder vil blive synkroniseret
@@ -162,6 +181,8 @@
Begivenheder, som er mere end dette antal dage gamle vil blive ignoreret (kan også være 0). Hvis feltet ikke er udfyldt, vil alle begivenheder blive synkroniseret.
Administrer farver for kalender
+ Kalenderfarver administreres af DAVdroid
+ Kalenderfarver sættes ikke fra DAVdroid
Versionsopdatering af DAVdroid
Interne indstillinger er blevet opdateret.
Problemer? Afinstaller DAVdroid og geninstaller.
@@ -193,11 +214,27 @@
Vis detaljer
Debug-info
+ DAVdroid-rettigheder
+ Yderligere adgang påkrævet
Synkronisering af kalenderen lykkedes ikke (%s)
Synkronisering af adressebogen lykkedes ikke (%s)
Synkronisering af opgaver lykkedes ikke (%s)
Fejl under %s
Serverfejl under %s
Databasefejl under %s
+
+ - forbereder synkronisering
+ - checker understøttelse
+ - behandler poster, der er slettet lokalt
+ - behandler poster, der er blevet oprettet/redigeret
+ - uploader poster, der er blevet oprettet/redigeret
+ - checker synkroniseringsstatus
+ - laver liste af lokale poster
+ - laver lister af poster på server
+ - sammenligner poster lokalt og på server
+ - downloader poster på server
+ - efterbehandler
+ - gemmer synkroniseringsstatus
+
Fejl i brugernavn/adgangskode
diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml
index 27ca1444..45c92729 100644
--- a/app/src/main/res/values-zh-rCN/strings.xml
+++ b/app/src/main/res/values-zh-rCN/strings.xml
@@ -106,6 +106,7 @@
创建账户
账户显示名
请使用你的邮箱地址作为帐户名,因为 Android 会将你创建的日历事件的创建者项设置为帐户名。你不能拥有多个帐户名相同的账户。
+ 联系人分组方式
请输入账户名
账户无法创建
正在配置
@@ -157,6 +158,19 @@
同步只在 %s 网络下进行
任何 WiFi 网络下均会同步
输入 WiFi 网络的名称 (SSID) ,即可限制同步只在此网络下进行。留空则不限制。
+ CardDAV
+ 联系人分组方式
+
+ - GROUP_VCARDS
+ - CATEGORIES
+
+
+ - 分为不同的 VCards
+ - 每个联系人的分类
+
+ 为 VCards 启用 RFC6868
+ 属性值中可使用双引号
+ 属性值中不可使用双引号
CalDAV
旧日程时间限制
同步所有日程
@@ -206,5 +220,19 @@
%s时错误
%s时服务器错误
%s时数据库错误
+
+ - 准备同步
+ - 请求功能列表
+ - 处理本地删除项目
+ - 准备创建/修改项目
+ - 上传创建/修改项目
+ - 检查同步状态
+ - 检查本地数据
+ - 检查远程数据
+ - 比较本地和远程数据
+ - 下载远程数据
+ - 预处理
+ - 保存同步状态
+
用户名或密码错误