Sync tasks



  • The developer of CalDAV-Sync (which has working task sync) started open-sourcing parts of the app. You can find the DAV framework here: https://github.com/dmfs/jdav
    Maybe it's helpful.


  • developer

    Finally implemented in 0.8.0. Can you please test it?



  • Ha ha! Issue created 21 Oct 2013. That took some time (not complaining, though!). I can't wait to test. My current todo setup is falling apart.



  • Woah! I don't like spamming issues, but I'm making an exception because this is the best news I've heard in a long time. THANK YOU! (now to test...)



  • Seems like the current implementation will only work with dmfs-tasks, not mirakel.



  • @rfc2822 You made my day. It fully works. Tested with dmfs-tasks. Thanks a lot. 0.8.0 could be renamed to 1.0



  • It works but DAVDroid seems to reorder properties of my ics files quite liberally, delete unneeded timezones and change the PRODID to one of its own.


  • developer

    It works but DAVDroid seems to reorder properties of my ics files quite liberally, delete unneeded timezones and change the PRODID to one of its own.

    The iCalendar object is first (lossfully) transferred into the Tasks database, then re-created from the database again and uploaded. PRODID "specifies the identifier for the product that created the iCalendar object", so I guess that should be set to DAVdroid.

    I don't see a problem here, but feel free to open a new issue when something doesn't work. Please note that the Tasks provider supports only one time-zone for the whole task.



  • PRODID "specifies the identifier for the product that created the iCalendar object"

    Well yeah, if the iCalendar file is not really preserved I guess you can say that DAVDroid created it.

    The (minor) problem is IMO that DavDroid seems to re-upload those "changed" items even if I didn't modify them with the Tasks app.


  • developer

    The (minor) problem is IMO that DavDroid seems to re-upload those "changed" items even if I didn't modify them with the Tasks app.

    This should not happen and does not happen here (at least I haven't noticed that behavior).


  • admin

    weiznich: don't worry, Mirakel is on the scope to be included, if everything works and maybe even prioritized above dmfs tasks then 😉



  • Seems also to work fine here for me. This version is a huge step forward, thank you for your work!



  • No idea if possible, but why not implement the dmfs interface in Mirakel instead and make everything work with everything else?



  • @It's already implemented in this way. The only thing left is the check which app is installed and then choose the corresponding Uri to reach this app.
    This will be done as soon as someone from the Mirakel team has some time to check the sync before.



  • for me, davdroid crash when i click for tasks synchronization. (Moto G 4G, android 4.4.4)



  • @awikatchikaen Please take a look at How to view the logs. A possibility not mentioned there is CatLog (requires root).



  • Here are the logs

    E/AndroidRuntime( 8769): FATAL EXCEPTION: SyncAdapterThread-1
    E/AndroidRuntime( 8769): Process: at.bitfire.davdroid:sync, PID: 8769
    E/AndroidRuntime( 8769): java.lang.SecurityException: Permission Denial: opening provider org.dmfs.provider.tasks.TaskProvider from ProcessRecord{42bf44f8 8769:at.bitfire.davdroid:sync/u0a175} (pid=8769, uid=10175) requires org.dmfs.permission.READ_TASKS or org.dmfs.permission.WRITE_TASKS
    E/AndroidRuntime( 8769): 	at android.os.Parcel.readException(Parcel.java:1465)
    E/AndroidRuntime( 8769): 	at android.os.Parcel.readException(Parcel.java:1419)
    E/AndroidRuntime( 8769): 	at android.app.ActivityManagerProxy.getContentProvider(ActivityManagerNative.java:2887)
    E/AndroidRuntime( 8769): 	at android.app.ActivityThread.acquireProvider(ActivityThread.java:4480)
    E/AndroidRuntime( 8769): 	at android.app.ContextImpl$ApplicationContentResolver.acquireProvider(ContextImpl.java:2308)
    E/AndroidRuntime( 8769): 	at android.content.ContentResolver.acquireProvider(ContentResolver.java:1409)
    E/AndroidRuntime( 8769): 	at android.content.ContentResolver.acquireContentProviderClient(ContentResolver.java:1472)
    E/AndroidRuntime( 8769): 	at android.content.AbstractThreadedSyncAdapter$SyncThread.run(AbstractThreadedSyncAdapter.java:257)
    D/davdroid.DavSyncAdapter( 8769): Closing httpClient
    


  • @awikatchikaen I think your problem is that you didn't install the Tasks app before the DavDroid app. Or something else is limiting DavDroid's permissions (Xprivacy or CyanogenMod Privacy Guard)

    On 30 May 2015 22:20:58 CEST, Awikatchikaen notifications@github.com wrote:

    E/AndroidRuntime( 8769): FATAL EXCEPTION: SyncAdapterThread-1
    E/AndroidRuntime( 8769): Process: at.bitfire.davdroid:sync, PID: 8769
    E/AndroidRuntime( 8769): java.lang.SecurityException: Permission
    Denial: opening provider org.dmfs.provider.tasks.TaskProvider from
    ProcessRecord{42bf44f8 8769:at.bitfire.davdroid:sync/u0a175} (pid=8769,
    uid=10175) requires org.dmfs.permission.READ_TASKS or
    org.dmfs.permission.WRITE_TASKS
    E/AndroidRuntime( 8769): at
    android.os.Parcel.readException(Parcel.java:1465)
    E/AndroidRuntime( 8769): at
    android.os.Parcel.readException(Parcel.java:1419)
    E/AndroidRuntime( 8769): at
    android.app.ActivityManagerProxy.getContentProvider(ActivityManagerNative.java:2887)
    E/AndroidRuntime( 8769): at
    android.app.ActivityThread.acquireProvider(ActivityThread.java:4480)
    E/AndroidRuntime( 8769): at
    android.app.ContextImpl$ApplicationContentResolver.acquireProvider(ContextImpl.java:2308)
    E/AndroidRuntime( 8769): at
    android.content.ContentResolver.acquireProvider(ContentResolver.java:1409)
    E/AndroidRuntime( 8769): at
    android.content.ContentResolver.acquireContentProviderClient(ContentResolver.java:1472)
    E/AndroidRuntime( 8769): at
    android.content.AbstractThreadedSyncAdapter$SyncThread.run(AbstractThreadedSyncAdapter.java:257)
    D/davdroid.DavSyncAdapter( 8769): Closing httpClient


    Reply to this email directly or view it on GitHub:
    https://github.com/bitfireAT/davdroid/issues/34#issuecomment-107081423



  • Yes I've install davdroid some months ago.
    And I install tasks app some day ago to test task synchronization.

    And, frankly, I don't want deinstall and reinstall davdroid and redo the configuration ....



  • There's no other way, it's a bug in Android. There are many apps to save and restore app data, such as Titanium Backup or oandbackup.

    On 30 May 2015 22:25:06 CEST, Awikatchikaen notifications@github.com wrote:

    Yes I've install davdroid some months ago.
    And I install tasks app some day ago to test task synchronization.

    And, frankly, I don't want deinstall and reinstall davdroid and redo
    the configuration ....


    Reply to this email directly or view it on GitHub:
    https://github.com/bitfireAT/davdroid/issues/34#issuecomment-107081640