Merge branch 'develop' into share_link__new_share
authorDavid A. Velasco <dvelasco@solidgear.es>
Tue, 4 Feb 2014 13:43:36 +0000 (14:43 +0100)
committerDavid A. Velasco <dvelasco@solidgear.es>
Tue, 4 Feb 2014 13:43:36 +0000 (14:43 +0100)
1  2 
src/com/owncloud/android/datamodel/FileDataStorageManager.java
src/com/owncloud/android/ui/activity/FileDisplayActivity.java

@@@ -29,7 -29,6 +29,7 @@@ import com.owncloud.android.MainApp
  import com.owncloud.android.db.ProviderMeta.ProviderTableMeta;
  import com.owncloud.android.lib.operations.common.OCShare;
  import com.owncloud.android.lib.operations.common.ShareType;
 +import com.owncloud.android.lib.utils.FileUtils;
  import com.owncloud.android.utils.FileStorageUtils;
  import com.owncloud.android.utils.Log_OC;
  
@@@ -973,9 -972,8 +973,8 @@@ public class FileDataStorageManager 
      }
      
      public void saveShares(Collection<OCShare> shares) {
+         cleanShares();
          if (shares != null) {
-             cleanShares();
-             
              ArrayList<ContentProviderOperation> operations = new ArrayList<ContentProviderOperation>(shares.size());
  
              // prepare operations to insert or update files to save in the given folder
              }
              
              // apply operations in batch
-             @SuppressWarnings("unused")
-             ContentProviderResult[] results = null;
-             Log_OC.d(TAG, "Sending " + operations.size() + " operations to FileContentProvider");
-             try {
-                 if (getContentResolver() != null) {
-                     results = getContentResolver().applyBatch(MainApp.getAuthority(), operations);
-                 } else {
-                     results = getContentProviderClient().applyBatch(operations);
+             if (operations.size() > 0) {
+                 @SuppressWarnings("unused")
+                 ContentProviderResult[] results = null;
+                 Log_OC.d(TAG, "Sending " + operations.size() + " operations to FileContentProvider");
+                 try {
+                     if (getContentResolver() != null) {
+                         results = getContentResolver().applyBatch(MainApp.getAuthority(), operations);
+     
+                     } else {
+                         results = getContentProviderClient().applyBatch(operations);
+                     }
+     
+                 } catch (OperationApplicationException e) {
+                     Log_OC.e(TAG, "Exception in batch of operations " + e.getMessage());
+     
+                 } catch (RemoteException e) {
+                     Log_OC.e(TAG, "Exception in batch of operations  " + e.getMessage());
                  }
-             } catch (OperationApplicationException e) {
-                 Log_OC.e(TAG, "Exception in batch of operations " + e.getMessage());
-             } catch (RemoteException e) {
-                 Log_OC.e(TAG, "Exception in batch of operations  " + e.getMessage());
              }
-             
          }
          
      }
      
      public void updateSharedFiles(Collection<OCFile> sharedFiles) {
+         cleanSharedFiles();
+         
          if (sharedFiles != null) {
-             cleanSharedFiles();
-             
              ArrayList<ContentProviderOperation> operations = new ArrayList<ContentProviderOperation>(sharedFiles.size());
  
              // prepare operations to insert or update files to save in the given folder
              }
              
              // apply operations in batch
-             @SuppressWarnings("unused")
-             ContentProviderResult[] results = null;
-             Log_OC.d(TAG, "Sending " + operations.size() + " operations to FileContentProvider");
-             try {
-                 if (getContentResolver() != null) {
-                     results = getContentResolver().applyBatch(MainApp.getAuthority(), operations);
-                 } else {
-                     results = getContentProviderClient().applyBatch(operations);
+             if (operations.size() > 0) {
+                 @SuppressWarnings("unused")
+                 ContentProviderResult[] results = null;
+                 Log_OC.d(TAG, "Sending " + operations.size() + " operations to FileContentProvider");
+                 try {
+                     if (getContentResolver() != null) {
+                         results = getContentResolver().applyBatch(MainApp.getAuthority(), operations);
+     
+                     } else {
+                         results = getContentProviderClient().applyBatch(operations);
+                     }
+     
+                 } catch (OperationApplicationException e) {
+                     Log_OC.e(TAG, "Exception in batch of operations " + e.getMessage());
+     
+                 } catch (RemoteException e) {
+                     Log_OC.e(TAG, "Exception in batch of operations  " + e.getMessage());
                  }
-             } catch (OperationApplicationException e) {
-                 Log_OC.e(TAG, "Exception in batch of operations " + e.getMessage());
-             } catch (RemoteException e) {
-                 Log_OC.e(TAG, "Exception in batch of operations  " + e.getMessage());
              }
-             
          }
          
      } 
-         if (shares.size() > 0) {
-             // Save share file
-             saveShares(shares);
-             ArrayList<OCFile> sharedFiles = new ArrayList<OCFile>();
-             for (OCShare share : shares) {
-                 // Get the path
-                 String path = share.getPath();
-                 if (share.isDirectory()) {
-                     path = path + FileUtils.PATH_SEPARATOR;
-                 }           
-                 // Update OCFile with data from share: ShareByLink  ¿and publicLink?
-                 OCFile file = getFileByPath(path);
-                 if (file != null) {
-                     if (share.getShareType().equals(ShareType.PUBLIC_LINK)) {
-                         file.setShareByLink(true);
-                         sharedFiles.add(file);
-                     }
-                 } 
-             }
-             
-             if (sharedFiles.size() > 0) {
-                 updateSharedFiles(sharedFiles);
-             }
 +
 +
 +    public void saveSharesDB(ArrayList<OCShare> shares) {
++        saveShares(shares);
++
++        ArrayList<OCFile> sharedFiles = new ArrayList<OCFile>();
++
++        for (OCShare share : shares) {
++            // Get the path
++            String path = share.getPath();
++            if (share.isDirectory()) {
++                path = path + FileUtils.PATH_SEPARATOR;
++            }           
++
++            // Update OCFile with data from share: ShareByLink  ¿and publicLink?
++            OCFile file = getFileByPath(path);
++            if (file != null) {
++                if (share.getShareType().equals(ShareType.PUBLIC_LINK)) {
++                    file.setShareByLink(true);
++                    sharedFiles.add(file);
++                }
++            } 
 +        }
++        
++        updateSharedFiles(sharedFiles);
 +    }
  }
@@@ -38,6 -38,7 +38,6 @@@ import android.content.res.Resources.No
  import android.database.Cursor;
  import android.net.Uri;
  import android.os.Bundle;
 -import android.os.Handler;
  import android.os.IBinder;
  import android.preference.PreferenceManager;
  import android.provider.MediaStore;
@@@ -60,6 -61,7 +60,6 @@@ import com.actionbarsherlock.view.MenuI
  import com.actionbarsherlock.view.Window;
  import com.owncloud.android.MainApp;
  import com.owncloud.android.R;
 -import com.owncloud.android.datamodel.FileDataStorageManager;
  import com.owncloud.android.datamodel.OCFile;
  import com.owncloud.android.files.services.FileDownloader;
  import com.owncloud.android.files.services.FileObserverService;
@@@ -68,16 -70,17 +68,16 @@@ import com.owncloud.android.files.servi
  import com.owncloud.android.files.services.FileUploader.FileUploaderBinder;
  import com.owncloud.android.operations.CreateFolderOperation;
  
 -import com.owncloud.android.lib.operations.common.OnRemoteOperationListener;
  import com.owncloud.android.lib.operations.common.RemoteOperation;
  import com.owncloud.android.lib.operations.common.RemoteOperationResult;
  import com.owncloud.android.lib.operations.common.RemoteOperationResult.ResultCode;
 -
 +import com.owncloud.android.operations.CreateShareOperation;
  import com.owncloud.android.operations.RemoveFileOperation;
  import com.owncloud.android.operations.RenameFileOperation;
  import com.owncloud.android.operations.SynchronizeFileOperation;
  import com.owncloud.android.operations.SynchronizeFolderOperation;
  import com.owncloud.android.services.OperationsService;
- import com.owncloud.android.syncadapter.FileSyncService;
+ import com.owncloud.android.syncadapter.FileSyncAdapter;
  import com.owncloud.android.ui.dialog.EditNameDialog;
  import com.owncloud.android.ui.dialog.EditNameDialog.EditNameDialogListener;
  import com.owncloud.android.ui.dialog.LoadingDialog;
@@@ -101,10 -104,13 +101,10 @@@ import com.owncloud.android.utils.Log_O
   */
  
  public class FileDisplayActivity extends FileActivity implements
 -OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNavigationListener, OnSslValidatorListener, OnRemoteOperationListener, EditNameDialogListener {
 +OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNavigationListener, OnSslValidatorListener, EditNameDialogListener {
  
      private ArrayAdapter<String> mDirectories;
  
 -    /** Access point to the cached database for the current ownCloud {@link Account} */
 -    private FileDataStorageManager mStorageManager = null;
 -
      private SyncBroadcastReceiver mSyncBroadcastReceiver;
      private UploadFinishReceiver mUploadFinishReceiver;
      private DownloadFinishReceiver mDownloadFinishReceiver;
      private static final String TAG_SECOND_FRAGMENT = "SECOND_FRAGMENT";
  
      private OCFile mWaitingToPreview;
 -    private Handler mHandler;
      
      private boolean mSyncInProgress = false;
      private boolean mRefreshSharesInProgress = false;
  
          super.onCreate(savedInstanceState); // this calls onAccountChanged() when ownCloud Account is valid
  
 -        mHandler = new Handler();
 -        
          /// bindings to transference services
          mUploadConnection = new ListServiceConnection(); 
          mDownloadConnection = new ListServiceConnection();
          // Action bar setup
          mDirectories = new CustomArrayAdapter<String>(this, R.layout.sherlock_spinner_dropdown_item);
          getSupportActionBar().setHomeButtonEnabled(true);       // mandatory since Android ICS, according to the official documentation
-         setSupportProgressBarIndeterminateVisibility(mSyncInProgress);    // always AFTER setContentView(...) ; to work around bug in its implementation
+         setSupportProgressBarIndeterminateVisibility(mSyncInProgress || mRefreshSharesInProgress);    // always AFTER setContentView(...) ; to work around bug in its implementation
          
          Log_OC.d(TAG, "onCreate() end");
      }
       */ 
      @Override
      protected void onAccountSet(boolean stateWasRecovered) {
 +        super.onAccountSet(stateWasRecovered);
          if (getAccount() != null) {
 -            mStorageManager = new FileDataStorageManager(getAccount(), getContentResolver());
 -                
              /// Check whether the 'main' OCFile handled by the Activity is contained in the current Account
              OCFile file = getFile();
              // get parent from path
                      // upload in progress - right now, files are not inserted in the local cache until the upload is successful
                      // get parent from path
                      parentPath = file.getRemotePath().substring(0, file.getRemotePath().lastIndexOf(file.getFileName()));
 -                    if (mStorageManager.getFileByPath(parentPath) ==  null)
 +                    if (getStorageManager().getFileByPath(parentPath) ==  null)
                          file = null; // not able to know the directory where the file is uploading
                  } else {
 -                    file = mStorageManager.getFileByPath(file.getRemotePath());   // currentDir = null if not in the current Account
 +                    file = getStorageManager().getFileByPath(file.getRemotePath());   // currentDir = null if not in the current Account
                  }
              }
              if (file == null) {
                  // fall back to root folder
 -                file = mStorageManager.getFileByPath(OCFile.ROOT_PATH);  // never returns null
 +                file = getStorageManager().getFileByPath(OCFile.ROOT_PATH);  // never returns null
              }
              setFile(file);
              setNavigationListWithFolder(file);
                  updateFragmentsVisibility(!file.isFolder());
                  updateNavigationElementsInActionBar(file.isFolder() ? null : file);
              }
 -            
 -            
 -        } else {
 -            Log_OC.wtf(TAG, "onAccountChanged was called with NULL account associated!");
          }
      }
  
              if (fileIt.isFolder()) {
                  mDirectories.add(fileIt.getFileName());
              }
 -            //fileIt = mStorageManager.getFileById(fileIt.getParentId());
              // get parent from path
              parentPath = fileIt.getRemotePath().substring(0, fileIt.getRemotePath().lastIndexOf(fileIt.getFileName()));
 -            fileIt = mStorageManager.getFileByPath(parentPath);
 +            fileIt = getStorageManager().getFileByPath(parentPath);
          }
          mDirectories.add(OCFile.PATH_SEPARATOR);
      }
                  boolean detailsFragmentChanged = false;
                  if (waitedPreview) {
                      if (success) {
 -                        mWaitingToPreview = mStorageManager.getFileById(mWaitingToPreview.getFileId());   // update the file from database, for the local storage path
 +                        mWaitingToPreview = getStorageManager().getFileById(mWaitingToPreview.getFileId());   // update the file from database, for the local storage path
                          if (PreviewMediaFragment.canBePreviewed(mWaitingToPreview)) {
                              startMediaPreview(mWaitingToPreview, 0, true);
                              detailsFragmentChanged = true;
                          } else {
 -                            openFile(mWaitingToPreview);
 +                            getFileOperationsHelper().openFile(mWaitingToPreview, this);
                          }
                      }
                      mWaitingToPreview = null;
          }
      }
  
 -
      @Override
      public boolean onCreateOptionsMenu(Menu menu) {
          MenuInflater inflater = getSherlock().getMenuInflater();
                  targetPath = mDirectories.getItem(i) + OCFile.PATH_SEPARATOR + targetPath; 
              }
              targetPath = OCFile.PATH_SEPARATOR + targetPath;
 -            OCFile targetFolder = mStorageManager.getFileByPath(targetPath);
 +            OCFile targetFolder = getStorageManager().getFileByPath(targetPath);
              if (targetFolder != null) {
                  browseTo(targetFolder);
              }
          Log_OC.e(TAG, "onResume() start");
  
          // Listen for sync messages
-         IntentFilter syncIntentFilter = new IntentFilter(FileSyncService.getSyncMessage());
+         IntentFilter syncIntentFilter = new IntentFilter(FileSyncAdapter.EVENT_FULL_SYNC_START);
+         syncIntentFilter.addAction(FileSyncAdapter.EVENT_FULL_SYNC_END);
+         syncIntentFilter.addAction(FileSyncAdapter.EVENT_FOLDER_SIZE_SYNCED);
+         syncIntentFilter.addAction(FileSyncAdapter.EVENT_FOLDER_CONTENTS_SYNCED);
+         syncIntentFilter.addAction(SynchronizeFolderOperation.EVENT_SINGLE_FOLDER_SYNCED);
          mSyncBroadcastReceiver = new SyncBroadcastReceiver();
-         registerReceiver(mSyncBroadcastReceiver, syncIntentFilter);
+         //registerReceiver(mSyncBroadcastReceiver, syncIntentFilter);
+         LocalBroadcastManager.getInstance(this).registerReceiver(mSyncBroadcastReceiver, syncIntentFilter);
  
          // Listen for upload messages
          IntentFilter uploadIntentFilter = new IntentFilter(FileUploader.getUploadFinishMessage());
          super.onPause();
          Log_OC.e(TAG, "onPause() start");
          if (mSyncBroadcastReceiver != null) {
-             unregisterReceiver(mSyncBroadcastReceiver);
+             //unregisterReceiver(mSyncBroadcastReceiver);
+             LocalBroadcastManager.getInstance(this).unregisterReceiver(mSyncBroadcastReceiver);
              mSyncBroadcastReceiver = null;
          }
          if (mUploadFinishReceiver != null) {
           */
          @Override
          public void onReceive(Context context, Intent intent) {
-             boolean inProgress = intent.getBooleanExtra(FileSyncService.IN_PROGRESS, false);
-             String accountName = intent.getStringExtra(FileSyncService.ACCOUNT_NAME);
-             RemoteOperationResult synchResult = (RemoteOperationResult)intent.getSerializableExtra(FileSyncService.SYNC_RESULT);
+             String event = intent.getAction();
+             String accountName = intent.getStringExtra(FileSyncAdapter.EXTRA_ACCOUNT_NAME);
+             String synchFolderRemotePath = intent.getStringExtra(FileSyncAdapter.EXTRA_FOLDER_PATH); 
+             RemoteOperationResult synchResult = (RemoteOperationResult)intent.getSerializableExtra(FileSyncAdapter.EXTRA_RESULT);
 -            boolean sameAccount = (getAccount() != null && accountName.equals(getAccount().name) && mStorageManager != null); 
++            boolean sameAccount = (getAccount() != null && accountName.equals(getAccount().name) && getStorageManager() != null); 
  
-             if (getAccount() != null && accountName.equals(getAccount().name)
-                     && getStorageManager() != null) {
+             if (sameAccount) {
                  
-                 String synchFolderRemotePath = intent.getStringExtra(FileSyncService.SYNC_FOLDER_REMOTE_PATH); 
-                 OCFile currentFile = (getFile() == null) ? null : getStorageManager().getFileByPath(getFile().getRemotePath());
-                 OCFile currentDir = (getCurrentDir() == null) ? null : getStorageManager().getFileByPath(getCurrentDir().getRemotePath());
-                 if (currentDir == null) {
-                     // current folder was removed from the server 
-                     Toast.makeText( FileDisplayActivity.this, 
-                                     String.format(getString(R.string.sync_current_folder_was_removed), mDirectories.getItem(0)), 
-                                     Toast.LENGTH_LONG)
-                         .show();
-                     browseToRoot();
+                 if (!FileSyncAdapter.EVENT_FULL_SYNC_START.equals(event)) {
 -                    
 -                    OCFile currentFile = (getFile() == null) ? null : mStorageManager.getFileByPath(getFile().getRemotePath());
 -                    OCFile currentDir = (getCurrentDir() == null) ? null : mStorageManager.getFileByPath(getCurrentDir().getRemotePath());
++                    OCFile currentFile = (getFile() == null) ? null : getStorageManager().getFileByPath(getFile().getRemotePath());
++                    OCFile currentDir = (getCurrentDir() == null) ? null : getStorageManager().getFileByPath(getCurrentDir().getRemotePath());
+                     if (currentDir == null) {
+                         // current folder was removed from the server 
+                         Toast.makeText( FileDisplayActivity.this, 
+                                         String.format(getString(R.string.sync_current_folder_was_removed), mDirectories.getItem(0)), 
+                                         Toast.LENGTH_LONG)
+                             .show();
+                         browseToRoot();
+                         
+                     } else {
+                         if (currentFile == null && !getFile().isFolder()) {
+                             // currently selected file was removed in the server, and now we know it
+                             cleanSecondFragment();
+                             currentFile = currentDir;
+                         }
                      
-                 } else {
-                     if (currentFile == null && !getFile().isFolder()) {
-                         // currently selected file was removed in the server, and now we know it
-                         cleanSecondFragment();
-                         currentFile = currentDir;
-                     }
-                 
-                     if (synchFolderRemotePath != null && currentDir.getRemotePath().equals(synchFolderRemotePath)) {
-                         OCFileListFragment fileListFragment = getListOfFilesFragment();
-                         if (fileListFragment != null) {
-                             fileListFragment.listDirectory(currentDir);
+                         if (synchFolderRemotePath != null && currentDir.getRemotePath().equals(synchFolderRemotePath)) {
+                             OCFileListFragment fileListFragment = getListOfFilesFragment();
+                             if (fileListFragment != null) {
+                                 fileListFragment.listDirectory(currentDir);
+                             }
                          }
+                         setFile(currentFile);
                      }
-                     setFile(currentFile);
-                 }
-                 
-                 if (!mRefreshSharesInProgress) {
-                     /// get the shared files
-                     if (getFileOperationsHelper().isSharedSupported(FileDisplayActivity.this)) {
+                     
+                     mSyncInProgress = (!FileSyncAdapter.EVENT_FULL_SYNC_END.equals(event) && 
+                                         !SynchronizeFolderOperation.EVENT_SINGLE_FOLDER_SYNCED.equals(event) &&
+                                         (synchResult == null || synchResult.isSuccess())) ;
+                     
+                     if (synchResult != null && 
+                         synchResult.isSuccess() &&
+                             (SynchronizeFolderOperation.EVENT_SINGLE_FOLDER_SYNCED.equals(event) || 
+                                 FileSyncAdapter.EVENT_FOLDER_CONTENTS_SYNCED.equals(event)
 -                            )
++                            ) &&
++                            !mRefreshSharesInProgress &&
++                            getFileOperationsHelper().isSharedSupported(FileDisplayActivity.this)
+                         ) {
                          startGetShares();
                      }
-                     setSupportProgressBarIndeterminateVisibility(inProgress);
-                 } else {
-                     setSupportProgressBarIndeterminateVisibility(true);
+                     
                  }
-                 
-                 removeStickyBroadcast(intent);
-                 mSyncInProgress = inProgress;
+                 //removeStickyBroadcast(intent);
+                 setSupportProgressBarIndeterminateVisibility(mSyncInProgress || mRefreshSharesInProgress);
              }
              
              if (synchResult != null) {
                  Account account = intent.getParcelableExtra(OperationsService.EXTRA_ACCOUNT);
                  RemoteOperationResult getSharesResult = (RemoteOperationResult)intent.getSerializableExtra(OperationsService.EXTRA_RESULT);
                  if (getAccount() != null && account.name.equals(getAccount().name)
 -                        && mStorageManager != null
 +                        && getStorageManager() != null
                          ) {
                      refeshListOfFilesFragment();
                  }
              
      }
  
 -
 -    /**
 -     * {@inheritDoc}
 -     */
 -    @Override
 -    public FileDataStorageManager getStorageManager() {
 -        return mStorageManager;
 -    }
 -
 -
      public void browseToRoot() {
          OCFileListFragment listOfFiles = getListOfFilesFragment(); 
          if (listOfFiles != null) {  // should never be null, indeed
              while (mDirectories.getCount() > 1) {
                  popDirname();
              }
 -            OCFile root = mStorageManager.getFileByPath(OCFile.ROOT_PATH);
 +            OCFile root = getStorageManager().getFileByPath(OCFile.ROOT_PATH);
              listOfFiles.listDirectory(root);
              setFile(listOfFiles.getCurrentFile());
              startSyncFolderOperation(root);
  
          } else if (operation instanceof CreateFolderOperation) {
              onCreateFolderOperationFinish((CreateFolderOperation)operation, result);
 +        
 +        } else if (operation instanceof CreateShareOperation) {
 +            onCreateShareOperationFinish((CreateShareOperation) operation, result);
          }
 +        
      }
  
  
 +    private void onCreateShareOperationFinish(CreateShareOperation operation, RemoteOperationResult result) {
 +        if (result.getCode() == ResultCode.FILE_NOT_FOUND) {
 +            // Show a Message
 +            Toast t = Toast.makeText(this, getString(R.string.share_link_file_no_exist), Toast.LENGTH_LONG);
 +            t.show();
 +            
 +        } else if (result.isSuccess()) {
 +            refeshListOfFilesFragment();
 +
 +            Intent sendIntent = operation.getSendIntent();
 +            startActivity(sendIntent);
 +        }
 +        
 +    }
 +
      /**
       * Updates the view associated to the activity after the finish of an operation trying to remove a 
       * file. 
              if (second != null && removedFile.equals(second.getFile())) {
                  cleanSecondFragment();
              }
 -            if (mStorageManager.getFileById(removedFile.getParentId()).equals(getCurrentDir())) {
 +            if (getStorageManager().getFileById(removedFile.getParentId()).equals(getCurrentDir())) {
                  refeshListOfFilesFragment();
              }
  
                      ((FileDetailFragment) details).updateFileDetails(renamedFile, getAccount());
                  }
              }
 -            if (mStorageManager.getFileById(renamedFile.getParentId()).equals(getCurrentDir())) {
 +            if (getStorageManager().getFileById(renamedFile.getParentId()).equals(getCurrentDir())) {
                  refeshListOfFilesFragment();
              }
  
  
                  // Create directory
                  path += newDirectoryName + OCFile.PATH_SEPARATOR;
 -                RemoteOperation operation = new CreateFolderOperation(path, false, mStorageManager);
 +                RemoteOperation operation = new CreateFolderOperation(path, false, getStorageManager());
                  operation.execute(  getAccount(), 
                          FileDisplayActivity.this, 
                          FileDisplayActivity.this, 
 -                        mHandler,
 +                        getHandler(),
                          FileDisplayActivity.this);
  
                  showLoadingDialog();
          if (file != null) {
              if (file.isFolder()) {
                  return file;
 -            } else if (mStorageManager != null) {
 +            } else if (getStorageManager() != null) {
                  String parentPath = file.getRemotePath().substring(0, file.getRemotePath().lastIndexOf(file.getFileName()));
 -                return mStorageManager.getFileByPath(parentPath);
 +                return getStorageManager().getFileByPath(parentPath);
              }
          }
          return null;
          startService(intent);
          
          mRefreshSharesInProgress = true;
-         setSupportProgressBarIndeterminateVisibility(true);
-         
      }
 -    
 +
  }