Commit graph

2487 commits

Author SHA1 Message Date
Ricki Hirner 11eed4d80b Better organization, job title/description handling
* handle VCard structured organization (department), job title/description correctly
* there's still an EZVCard bug: https://code.google.com/p/ez-vcard/issues/detail?id=13
* bump version code
2014-01-25 13:07:33 +01:00
Ricki Hirner 9ee8ec8144 Version bump to 0.5.7
* use VCard ROLE as "department" and TITLE as "job title"
* version bump to 0.5.7
2014-01-25 11:47:36 +01:00
Ricki Hirner 8b8d4947da Fix regression (8a651f135b) causing unnecessary traffic (closes #162, closes #147) 2014-01-25 11:11:48 +01:00
Ricki Hirner 3384cec346 Minor changes
* improved logging
* allow installation to internal storage only (informational change, doesn't do anything actually, closes #160)
2014-01-21 23:11:17 +01:00
Ricki Hirner 31d788ff7a Minor bug fixes
* work-around for crash when remote ETag is empty (shouldn't happen but happens sometimes)
* fetch multiple contact URLs (not only the first one) from contacts provider (fixes #150)
2014-01-12 20:07:26 +01:00
Ricki Hirner 2d40335cb9 0.5.6α Wage Slave
* support primary (preferred) phone numbers/email addresses
* fix (crash) bug in URI sanitation
* don't set calendar properties not supported by device's Android version
* require already-set remote file name when finding updated records
* version bump to 0.5.6α
2014-01-06 20:03:59 +01:00
Ricki Hirner ad5f8c1d7c Version bump to 0.5.5-alpha 2014-01-06 05:48:56 +01:00
Ricki Hirner 6b8ff66a21 Commit after every full record insertion/update (closes #135)
Docs say that TransactionTooLargeException is thrown when the buffer reaches 1 MB. Because we can't know
how large a single insertion/update is and there may be contacts with larger photos, it's only safe to
commit after every insertion/update. If photos exceed ~ 900 kB it would be required to write the photos
to an asset file (maybe I'll do this later, then we can group insertions/updates again).
2014-01-06 05:45:31 +01:00
Ricki Hirner 60026d8ade Bug fixes
* optimise URL repairs: don't replace "[", "]", ":" in host names, allowing IP address literals (closes #98)
* SyncManager: minor refactoring
2014-01-06 05:28:28 +01:00
Ricki Hirner de9872da7e Use (final) static wherever possible for method signature clarity/performance 2013-12-31 19:13:22 +01:00
Ricki Hirner a283b18e91 Allow vCard4 fields (ANNIVERSARY) in vCard3, too (closes #131). 2013-12-31 16:55:29 +01:00
Ricki Hirner 63be212396 Minor refactoring
* update target SDK version to API level 19
* less null return values
* explicit Resource generateUID/generateName methods
* use StringUtils when it makes sense
2013-12-31 16:37:31 +01:00
Ricki Hirner b69855e61e Support for SIP addresses (closes #78)
* support for SIP addresses (always exported as IMPP, imported as IMPP/X-SIP)
* version bump to 0.5.4
2013-12-26 17:23:14 +01:00
Ricki Hirner 472760ead4 Minor improvements
* generalise davdroid.ArrayUtils.partition; tests
* lower multi-get limit to 35
2013-12-25 15:15:23 +01:00
Ricki Hirner 68e5525e1f Fetch remote records in chunks of max. 50 to avoid server and memory problems
* performance optimisation
* refactoring
2013-12-24 12:49:23 +01:00
Ricki Hirner 38ae48e685 Fetch resources for uploading one-by-one to save memory 2013-12-24 12:49:18 +01:00
Ricki Hirner ee8611f90b Refactoring
* Contacts/Event.toEntity() return ByteArrayOutputStream instead of String
* throw DavNoContentException instead of returning null to avoid NullPointerExceptions
* always close input/output streams
* always call consumeContent() for HTTP response entities to avoid memory leaks
2013-12-22 00:58:58 +01:00
Ricki Hirner 3bdbf37608 throw RecordNotFoundExceptions only when specific records are requested 2013-12-21 20:54:54 +01:00
Ricki Hirner f72f0f3b91 Refactoring
* add overflow marker "…" to LoggingInputStream
* split the populate() methods
* always close cursors (resolves #120)
* introduce LocalStorageException and its subclass RecordNotFoundException and catch RemoteException earlier
* split synchronize() method into phases
* commit after every added/modified record (obsoletes MAX_UPDATES_BEFORE_COMMIT)
* read contact photos from (high-res) asset instead of the thumbnail blob (resolves #121)
2013-12-20 22:42:18 +01:00
Ricki Hirner c01d969e21 Version bump to 0.5.3-alpha
* add null checks (should fix #117)
* more detailed DAV exceptions for error handling
* better logging (limited to 10 kB per log entry) to avoid memory problems
* DavMultiget creates requests itself (instead of WebDavResource)
2013-12-15 19:50:20 +01:00
Ricki Hirner 0256c50694 Version bump to 0.5.2-alpha 2013-12-11 17:08:10 +01:00
Ricki Hirner 7bc145ca47 avoid NullPointerExceptions when contact data rows with custom types have no LABEL 2013-12-11 15:48:21 +01:00
Ricki Hirner 6056bab6e2 Amend EditSchema and VCard fields
* write PRODID with DAVdroid and ez-vcard version to VCards
* remove limit of 1 for contact Web sites in contact EditSchema
* add organization to contact EditSchema
* don't set null values in ORG/ROLE
2013-12-11 15:19:50 +01:00
Ricki Hirner fa675658a8 More input checks
* check Android's DURATION, RRULE, RDATE, EXRULE, EXDATE values for empty strings before processing
* catch InvalidArgumentException on invalid RRULE values from Android
* add Depth: 0 to REPORT multi-get requests as required by CalDAV/CardDAV RFCs
* fix crash bug on multi-get responses without content (see issue #113)
2013-12-11 14:48:05 +01:00
Ricki Hirner 4f722ee392 Version bump to 0.5.1; fix crash bug (fixes #108) 2013-12-08 14:00:48 +01:00
Ricki Hirner 3066856e09 Ignore invalid IM addresses (fixes #105), Lombok 1.12.2 2013-12-08 13:31:59 +01:00
Ricki Hirner 14784504c8 Version bump to 0.5
* don't download contact photos from URLs (we only want thumbs anyway)
* always use yyyy-MM-dd for birthdays/anniversaries
2013-12-06 20:47:22 +01:00
Ricki Hirner 723fd58285 Add more vCard fields
* support for vCard organization (company / job title)
* support for vCard IMPP addresses (closes #105)
* refactoring
2013-12-06 14:19:00 +01:00
Ricki Hirner 3f10968228 VCard 3 support
* switch to ez-vcard instead if iCal4j-vcard
* generate VCard 3 by default (fixes #67)
* support for more phone number/email/address types, including "custom" types
* limit to 1 URL and 1 note (Android limit)
* support for anniversaries
2013-12-04 14:04:18 +01:00
Ricki Hirner b5cd37daed Fix crash bug when ORGANIZER has no URI scheme 2013-12-03 20:34:50 +01:00
Ricki Hirner effdc7fee4 Version 0.4.4
* allow to enter account name at the end of account setup (fixes #13)
* advise user to enter email address as account name (closes #24)
* support for iCal TRANSP (availability free/busy field)
* create better UIDs using iCal4j UidGenerator and Settings.Secure.ANDROID_ID
* better ORGANIZER/ATTENDEE support, but there are big Android issues yet
* various improvements and bug fixes
2013-12-01 16:08:36 +01:00
Ricki Hirner 1409da386e Provide DTEND for single-time events and DURATION for recurring events to Android calendar data provider (fixes #60) 2013-11-30 00:50:13 +01:00
Ricki Hirner 5528d19257 CalDAV: ignore collections without VEVENT support (for instance, VTODO collections) 2013-11-30 00:06:16 +01:00
Ricki Hirner b5f7597c38 add DURATION iCal->Android, collection refactoring 2013-11-26 22:20:00 +01:00
Ricki Hirner 48011928a3 version bump to 0.4.3-alpha 2013-11-24 13:21:59 +01:00
Ricki Hirner 62a066b55d treat 404 on DELETE as success (fixes #94) 2013-11-24 13:20:44 +01:00
Ricki Hirner 2039071c77 support for reminders; better support for recurring events; bug fixes
* use DURATION instead of DTEND when required (fixes #60)
* send VTIMEZONEs along with VEVENTs (fixes #66)
* support for reminders (closes #70)
* bug fixes (UID parsing)
2013-11-24 13:15:31 +01:00
Ricki Hirner 5995d3d319 security fix: validate certificates and not only host names (thanks Günter) 2013-11-24 03:07:50 +01:00
Ricki Hirner b14bd337de version bump to 0.4.2
* imports calendar default time zone on account creation
2013-11-22 15:11:39 +01:00
Ricki Hirner 70075f9f09 Bug fixes, SDK level 19
* use SDK level 19
* add action to all preference intents (fixes #92)
* use StrictHostnameVerifier instead of HttpsURLConnection.getDefaultHostnameVerifier() (fixes #88)
* use per-WebDavResource instead of static DavHttpClient to enable different settings for different accounts
2013-11-22 15:11:08 +01:00
Ricki Hirner 15ff7dfa18 Bug fixes, refactoring, version bump
* don't manually decode URLs for comparing (because we now always use encoded URLs)
* .ics: VERSION before PRODID
* refactoring: move WebDavResource.httpClient to new singleton DavHttpClient
* close input streams in propfind/multi-get
* version bumpt to 0.4.1
2013-11-17 15:49:10 +01:00
Ricki Hirner 7c19e1ac5b Fix invalid URLs one more time 2013-11-17 13:04:57 +01:00
Ricki Hirner 190e3f766f Preserve order in multiget requests (thanks Marten, fixes #65) 2013-11-15 11:21:03 +01:00
Ricki Hirner e95a5ce742 SNI support (fixes #9); only available for API level >= 17 (Android 4.2+) 2013-11-15 01:05:18 +01:00
Ricki Hirner 43e723dd5f Merge pull request #74 from oliver/master
fix NumberFormatException when parsing "ff" alpha value into a Byte
2013-11-14 01:41:46 -08:00
Oliver Gerlich 31bdfbe690 fix NumberFormatException when parsing "ff" alpha value into a Byte 2013-11-13 22:09:14 +01:00
Ricki Hirner 03290e2653 import Apple calendar-color with r,g,b,a (see issue #31) 2013-11-12 22:17:46 +01:00
Ricki Hirner 09e36b9b6f don't decode URI pathes (fixes #58), don't expect GET/POST/PUT on collections 2013-11-12 18:39:05 +01:00
Ricki Hirner c69212957a Version bump to 0.3.8 (version code 12) 2013-11-09 12:45:09 +01:00
Ricki Hirner 91691218b9 Importing calendar colors from <calendar:color xmlns="http://apple.com/ns/ical/"> element (see #31) 2013-11-09 12:43:21 +01:00