mirror of
https://github.com/etesync/android
synced 2024-12-23 15:18:14 +00:00
Version bump to 1.2
* move ETag requirement from vcard4android to davdroid * more debug info * vcard4android: support for custom labels (X-ABLabel)
This commit is contained in:
parent
41ce609237
commit
19b54748cd
@ -17,17 +17,17 @@ android {
|
||||
minSdkVersion 14
|
||||
targetSdkVersion 23
|
||||
|
||||
versionCode 108
|
||||
versionCode 109
|
||||
|
||||
buildConfigField "long", "buildTime", System.currentTimeMillis() + "L"
|
||||
}
|
||||
|
||||
productFlavors {
|
||||
standard {
|
||||
versionName "1.1.1.2"
|
||||
versionName "1.2"
|
||||
}
|
||||
gplay {
|
||||
versionName "1.1.1.2-gplay"
|
||||
versionName "1.2-gplay"
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -148,7 +148,11 @@ public class CalendarSyncManager extends SyncManager {
|
||||
DavResource remote = bunch[0];
|
||||
|
||||
ResponseBody body = remote.get("text/calendar");
|
||||
String eTag = ((GetETag)remote.properties.get(GetETag.NAME)).eTag;
|
||||
|
||||
// CalDAV servers MUST return ETag on GET [https://tools.ietf.org/html/rfc4791#section-5.3.4]
|
||||
GetETag eTag = (GetETag)remote.properties.get(GetETag.NAME);
|
||||
if (eTag == null || StringUtils.isEmpty(eTag.eTag))
|
||||
throw new DavException("Received CalDAV GET response without ETag for " + remote.location);
|
||||
|
||||
Charset charset = Charsets.UTF_8;
|
||||
MediaType contentType = body.contentType();
|
||||
@ -156,7 +160,7 @@ public class CalendarSyncManager extends SyncManager {
|
||||
charset = contentType.charset(Charsets.UTF_8);
|
||||
|
||||
@Cleanup InputStream stream = body.byteStream();
|
||||
processVEvent(remote.fileName(), eTag, stream, charset);
|
||||
processVEvent(remote.fileName(), eTag.eTag, stream, charset);
|
||||
|
||||
} else {
|
||||
// multiple contacts, use multi-get
|
||||
|
@ -315,7 +315,11 @@ public class ContactsSyncManager extends SyncManager {
|
||||
DavResource remote = bunch[0];
|
||||
|
||||
ResponseBody body = remote.get("text/vcard;version=4.0, text/vcard;charset=utf-8;q=0.8, text/vcard;q=0.5");
|
||||
String eTag = ((GetETag) remote.properties.get(GetETag.NAME)).eTag;
|
||||
|
||||
// CardDAV servers MUST return ETag on GET [https://tools.ietf.org/html/rfc6352#section-6.3.2.3]
|
||||
GetETag eTag = (GetETag)remote.properties.get(GetETag.NAME);
|
||||
if (eTag == null || StringUtils.isEmpty(eTag.eTag))
|
||||
throw new DavException("Received CardDAV GET response without ETag for " + remote.location);
|
||||
|
||||
Charset charset = Charsets.UTF_8;
|
||||
MediaType contentType = body.contentType();
|
||||
@ -323,7 +327,7 @@ public class ContactsSyncManager extends SyncManager {
|
||||
charset = contentType.charset(Charsets.UTF_8);
|
||||
|
||||
@Cleanup InputStream stream = body.byteStream();
|
||||
processVCard(remote.fileName(), eTag, stream, charset, downloader);
|
||||
processVCard(remote.fileName(), eTag.eTag, stream, charset, downloader);
|
||||
|
||||
} else {
|
||||
// multiple contacts, use multi-get
|
||||
|
@ -130,7 +130,11 @@ public class TasksSyncManager extends SyncManager {
|
||||
DavResource remote = bunch[0];
|
||||
|
||||
ResponseBody body = remote.get("text/calendar");
|
||||
String eTag = ((GetETag)remote.properties.get(GetETag.NAME)).eTag;
|
||||
|
||||
// CalDAV servers MUST return ETag on GET [https://tools.ietf.org/html/rfc4791#section-5.3.4]
|
||||
GetETag eTag = (GetETag)remote.properties.get(GetETag.NAME);
|
||||
if (eTag == null || StringUtils.isEmpty(eTag.eTag))
|
||||
throw new DavException("Received CalDAV GET response without ETag for " + remote.location);
|
||||
|
||||
Charset charset = Charsets.UTF_8;
|
||||
MediaType contentType = body.contentType();
|
||||
@ -138,7 +142,7 @@ public class TasksSyncManager extends SyncManager {
|
||||
charset = contentType.charset(Charsets.UTF_8);
|
||||
|
||||
@Cleanup InputStream stream = body.byteStream();
|
||||
processVTodo(remote.fileName(), eTag, stream, charset);
|
||||
processVTodo(remote.fileName(), eTag.eTag, stream, charset);
|
||||
|
||||
} else {
|
||||
// multiple contacts, use multi-get
|
||||
|
@ -209,11 +209,19 @@ public class DebugInfoActivity extends AppCompatActivity implements LoaderManage
|
||||
for (Account acct : accountManager.getAccountsByType(Constants.ACCOUNT_TYPE))
|
||||
try {
|
||||
AccountSettings settings = new AccountSettings(getContext(), acct);
|
||||
report.append(
|
||||
"Account: ").append(acct.name).append("\n" +
|
||||
" Address book sync. interval: ").append(syncStatus(settings, ContactsContract.AUTHORITY)).append("\n" +
|
||||
" Calendar sync. interval: ").append(syncStatus(settings, CalendarContract.AUTHORITY)).append("\n" +
|
||||
" OpenTasks sync. interval: ").append(syncStatus(settings, "org.dmfs.tasks")).append("\n");
|
||||
report.append("Account: ").append(acct.name).append("\n" +
|
||||
" Address book sync. interval: ").append(syncStatus(settings, ContactsContract.AUTHORITY)).append("\n" +
|
||||
" Calendar sync. interval: ").append(syncStatus(settings, CalendarContract.AUTHORITY)).append("\n" +
|
||||
" OpenTasks sync. interval: ").append(syncStatus(settings, "org.dmfs.tasks")).append("\n" +
|
||||
" Preemptive auth: ").append(settings.preemptiveAuth()).append("\n" +
|
||||
" WiFi only: ").append(settings.getSyncWifiOnly());
|
||||
if (settings.getSyncWifiOnlySSID() != null)
|
||||
report.append(", SSID: ").append(settings.getSyncWifiOnlySSID());
|
||||
report.append("\n [CardDAV] Contact group method: ").append(settings.getGroupMethod())
|
||||
.append("\n RFC 6868 encoding: ").append(settings.getVCardRFC6868())
|
||||
.append("\n [CalDAV] Time range (past days): ").append(settings.getTimeRangePastDays())
|
||||
.append("\n Manage calendar colors: ").append(settings.getManageCalendarColors())
|
||||
.append("\n");
|
||||
} catch(InvalidAccountException e) {
|
||||
report.append(acct).append(" is invalid (unsupported settings version) or does not exist\n");
|
||||
}
|
||||
@ -230,7 +238,7 @@ public class DebugInfoActivity extends AppCompatActivity implements LoaderManage
|
||||
"Android version: ").append(Build.VERSION.RELEASE).append(" (").append(Build.DISPLAY).append(")\n" +
|
||||
"Device: ").append(WordUtils.capitalize(Build.MANUFACTURER)).append(" ").append(Build.MODEL).append(" (").append(Build.DEVICE).append(")\n\n"
|
||||
);
|
||||
} catch (Exception ex) {
|
||||
} catch(Exception ex) {
|
||||
App.log.log(Level.SEVERE, "Couldn't get system details", ex);
|
||||
}
|
||||
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit fde96be29889d29f6ee796cf40f120fba6d50690
|
||||
Subproject commit d5487a1623d7fb7b9b25b41661dec4706bd4001e
|
@ -1 +1 @@
|
||||
Subproject commit 61ed667572b0feed32503d912557360371794a59
|
||||
Subproject commit 3a6692f0969afc782358d37b92f291179f72276e
|
Loading…
Reference in New Issue
Block a user