Merge remote-tracking branch 'upstream/develop' into triggerMediaScan
authortobiasKaminsky <tobias@kaminsky.me>
Fri, 21 Nov 2014 16:58:32 +0000 (17:58 +0100)
committertobiasKaminsky <tobias@kaminsky.me>
Fri, 21 Nov 2014 16:58:32 +0000 (17:58 +0100)
src/com/owncloud/android/operations/DownloadFileOperation.java
src/com/owncloud/android/ui/dialog/RemoveFileDialogFragment.java
src/com/owncloud/android/ui/preview/PreviewImageFragment.java

index 9f2bed7..f3eace9 100644 (file)
@@ -23,6 +23,7 @@ import java.util.Iterator;
 import java.util.Set;
 import java.util.concurrent.atomic.AtomicBoolean;
 
+import com.owncloud.android.MainApp;
 import com.owncloud.android.datamodel.OCFile;
 import com.owncloud.android.lib.common.network.OnDatatransferProgressListener;
 import com.owncloud.android.lib.common.OwnCloudClient;
@@ -34,6 +35,7 @@ import com.owncloud.android.lib.resources.files.DownloadRemoteFileOperation;
 import com.owncloud.android.utils.FileStorageUtils;
 
 import android.accounts.Account;
+import android.media.MediaScannerConnection;
 import android.webkit.MimeTypeMap;
 
 /**
@@ -150,6 +152,11 @@ public class DownloadFileOperation extends RemoteOperation {
             newFile = new File(getSavePath());
             newFile.getParentFile().mkdirs();
             moved = tmpFile.renameTo(newFile);
+            
+                Log_OC.d("mediaScan", "mediaScan : " + newFile.getAbsolutePath());
+                MediaScannerConnection.scanFile(MainApp.getAppContext(), 
+                        new String[]{newFile.getAbsolutePath()}, null, null);
+                        
         
             if (!moved)
                 result = new RemoteOperationResult(RemoteOperationResult.ResultCode.LOCAL_STORAGE_NOT_MOVED);
index a78584a..eacc726 100644 (file)
@@ -24,6 +24,7 @@ package com.owncloud.android.ui.dialog;
  *  
  *  @author David A. Velasco
  */
+import java.io.File;
 import java.util.Vector;
 
 import com.owncloud.android.R;
@@ -33,6 +34,7 @@ import com.owncloud.android.ui.activity.ComponentsGetter;
 import com.owncloud.android.ui.dialog.ConfirmationDialogFragment.ConfirmationDialogFragmentListener;
 
 import android.app.Dialog;
+import android.media.MediaScannerConnection;
 import android.os.Bundle;
 
 public class RemoveFileDialogFragment extends ConfirmationDialogFragment 
@@ -95,7 +97,9 @@ implements ConfirmationDialogFragmentListener {
         ComponentsGetter cg = (ComponentsGetter)getSherlockActivity();
         FileDataStorageManager storageManager = cg.getStorageManager();
         if (storageManager.getFileById(mTargetFile.getFileId()) != null) {
+            String path = new File(mTargetFile.getStoragePath()).getParent();
             cg.getFileOperationsHelper().removeFile(mTargetFile, false);
+            triggerMediaScan(path);
         }
     }
     
@@ -104,6 +108,7 @@ implements ConfirmationDialogFragmentListener {
      */
     @Override
     public void onNeutral(String callerTag) {
+        String path = new File(mTargetFile.getStoragePath()).getParent();
         ComponentsGetter cg = (ComponentsGetter)getSherlockActivity();
         cg.getFileOperationsHelper()
             .removeFile(mTargetFile, true);
@@ -134,6 +139,9 @@ implements ConfirmationDialogFragmentListener {
            folder.setEtag("");
            storageManager.saveFile(folder);
         }
+        
+        // Trigger MediaScan
+        triggerMediaScan(path);
     }
 
     @Override
@@ -141,4 +149,10 @@ implements ConfirmationDialogFragmentListener {
         // nothing to do here
     }
     
-}
+    private void triggerMediaScan(String path){
+        MediaScannerConnection.scanFile(
+                getActivity().getApplicationContext(), 
+                new String[]{path}, 
+                null,null);
+    }
+}
\ No newline at end of file
index 4dd5c43..a3814c7 100644 (file)
@@ -328,7 +328,7 @@ public class PreviewImageFragment extends FileFragment {
         finish();
     }
     
-    
+
     private class BitmapLoader extends AsyncTask<String, Void, Bitmap> {
 
         /**