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
  */\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
                        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
         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
 
 import android.app.AlertDialog;\r
 import android.app.AlertDialog.Builder;\r
 import android.app.Dialog;\r
+import android.content.Context;\r
 import android.content.DialogInterface;\r
 import android.content.DialogInterface.OnCancelListener;\r
 import android.content.DialogInterface.OnClickListener;\r
+import android.content.BroadcastReceiver;\r
 import android.content.Intent;\r
+import android.content.IntentFilter;\r
 import android.net.Uri;\r
 import android.os.Bundle;\r
+import android.util.Log;\r
 import android.view.View;\r
 import android.view.ViewGroup;\r
 import android.widget.ArrayAdapter;\r
 import com.actionbarsherlock.view.Menu;\r
 import com.actionbarsherlock.view.MenuInflater;\r
 import com.actionbarsherlock.view.MenuItem;\r
+import com.actionbarsherlock.view.Window;\r
 \r
 import eu.alefzero.owncloud.AccountUtils;\r
 import eu.alefzero.owncloud.R;\r
 import eu.alefzero.owncloud.datamodel.DataStorageManager;\r
 import eu.alefzero.owncloud.datamodel.FileDataStorageManager;\r
 import eu.alefzero.owncloud.datamodel.OCFile;\r
+import eu.alefzero.owncloud.syncadapter.FileSyncAdapter;\r
 import eu.alefzero.owncloud.ui.fragment.FileListFragment;\r
 import eu.alefzero.webdav.WebdavClient;\r
 \r
        private ArrayAdapter<String> mDirectories;\r
        private DataStorageManager mStorageManager;\r
 \r
+       private BR  b;\r
+       \r
        private static final int DIALOG_SETUP_ACCOUNT = 0;\r
        private static final int DIALOG_CREATE_DIR = 1;\r
 \r
       return;\r
     }\r
 \r
+               requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);  \r
+\r
                mDirectories = new CustomArrayAdapter<String>(this,\r
                                R.layout.sherlock_spinner_dropdown_item);\r
                mDirectories.add("/");\r
          super.onResume();\r
          if(!accountsAreSetup()){\r
       showDialog(DIALOG_SETUP_ACCOUNT);\r
+      return;\r
     }\r
+          IntentFilter f = new IntentFilter(FileSyncAdapter.SYNC_MESSAGE);\r
+          b = new  BR();\r
+          registerReceiver(b, f);\r
+          setProgressBarIndeterminateVisibility(false);\r
        }\r
            \r
+        @Override\r
+       protected void onPause() {\r
+         super.onPause();\r
+         unregisterReceiver(b);\r
+       }\r
+        \r
        @Override\r
        public boolean onNavigationItemSelected(int itemPosition, long itemId) {\r
                int i = itemPosition;\r
     return accounts.length > 0;\r
   }\r
   \r
+  private class BR extends BroadcastReceiver {\r
+    @Override\r
+    public void onReceive(Context context, Intent intent) {\r
+      boolean in_progress = intent.getBooleanExtra(FileSyncAdapter.IN_PROGRESS, false);\r
+      String account_name = intent.getStringExtra(FileSyncAdapter.ACCOUNT_NAME);\r
+      Log.d("FileDisplay", "sync of account " + account_name + " is in_progress: " + in_progress);\r
+      setProgressBarIndeterminateVisibility(in_progress);\r
+      if (!in_progress) {\r
+        FileListFragment f = (FileListFragment) getSupportFragmentManager().findFragmentById(R.id.fileList);\r
+        if (f != null)\r
+          f.populateFileList();\r
+      }\r
+    }\r
+    \r
+  }\r
   \r
 }