sync progress indicator
[pub/Android/ownCloud.git] / src / eu / alefzero / owncloud / syncadapter / FileSyncAdapter.java
index 133e5fc..816e79e 100644 (file)
@@ -29,7 +29,9 @@ import android.accounts.AuthenticatorException;
 import android.accounts.OperationCanceledException;\r
 import android.content.ContentProviderClient;\r
 import android.content.Context;\r
+import android.content.Intent;\r
 import android.content.SyncResult;\r
+import android.content.IntentSender.SendIntentException;\r
 import android.os.Bundle;\r
 import eu.alefzero.owncloud.datamodel.FileDataStorageManager;\r
 import eu.alefzero.owncloud.datamodel.OCFile;\r
@@ -43,6 +45,10 @@ import eu.alefzero.webdav.WebdavEntry;
  */\r
 public class FileSyncAdapter extends AbstractOwnCloudSyncAdapter {\r
 \r
+  public static final String SYNC_MESSAGE = "eu.alefzero.owncloud.files.ACCOUNT_SYNC";\r
+  public static final String IN_PROGRESS = "sync_in_progress";\r
+  public static final String ACCOUNT_NAME = "account_name";\r
+  \r
        public FileSyncAdapter(Context context, boolean autoInitialize) {\r
                super(context, autoInitialize);\r
        }\r
@@ -59,6 +65,11 @@ public class FileSyncAdapter extends AbstractOwnCloudSyncAdapter {
                        this.setContentProvider(provider);\r
                        this.setStorageManager(new FileDataStorageManager(account, getContentProvider()));\r
 \r
+                       Intent i = new Intent(SYNC_MESSAGE);\r
+                       i.putExtra(IN_PROGRESS, true);\r
+                       i.putExtra("ACCOUNT_NAME", account.name);\r
+                       getContext().sendStickyBroadcast(i);\r
+                       \r
                        PropFindMethod query;\r
       try {\r
         query = new PropFindMethod(getUri().toString());\r
@@ -84,7 +95,8 @@ public class FileSyncAdapter extends AbstractOwnCloudSyncAdapter {
         syncResult.stats.numIoExceptions++;\r
         e.printStackTrace();\r
       }\r
-      \r
+      i.putExtra(IN_PROGRESS, false);\r
+      getContext().sendStickyBroadcast(i);\r
        }\r
 \r
   private void fetchData(String uri, SyncResult syncResult, long parentId) {\r