Merge remote-tracking branch 'upstream/develop' into triggerMediaScan
authortobiasKaminsky <tobias@kaminsky.me>
Wed, 22 Oct 2014 06:09:47 +0000 (08:09 +0200)
committertobiasKaminsky <tobias@kaminsky.me>
Wed, 22 Oct 2014 06:09:47 +0000 (08:09 +0200)
Conflicts:
src/com/owncloud/android/ui/fragment/OCFileListFragment.java
src/com/owncloud/android/ui/preview/PreviewImageActivity.java
src/com/owncloud/android/ui/preview/PreviewImageFragment.java

project.properties
src/com/owncloud/android/files/FileOperationsHelper.java
src/com/owncloud/android/ui/dialog/RemoveFileDialogFragment.java
src/com/owncloud/android/ui/fragment/OCFileListFragment.java
src/com/owncloud/android/ui/preview/PreviewImageActivity.java
src/com/owncloud/android/ui/preview/PreviewImageFragment.java

index 28edd99..c149c45 100644 (file)
@@ -10,4 +10,4 @@
 # Project target.
 target=android-19
 android.library.reference.1=actionbarsherlock/library
-android.library.reference.2=owncloud-android-library
+android.library.reference.2=../android-library/android-library
index e1ab195..65e8d83 100644 (file)
@@ -22,6 +22,7 @@ import org.apache.http.protocol.HTTP;
 import android.accounts.Account;
 import android.accounts.AccountManager;
 import android.content.Intent;
+import android.media.MediaScannerConnection;
 import android.net.Uri;
 import android.support.v4.app.DialogFragment;
 import android.webkit.MimeTypeMap;
@@ -31,7 +32,6 @@ import com.owncloud.android.R;
 import com.owncloud.android.datamodel.OCFile;
 import com.owncloud.android.files.services.FileDownloader.FileDownloaderBinder;
 import com.owncloud.android.files.services.FileUploader.FileUploaderBinder;
-
 import com.owncloud.android.lib.common.accounts.AccountUtils.Constants;
 import com.owncloud.android.lib.common.network.WebdavUtils;
 import com.owncloud.android.lib.common.utils.Log_OC;
@@ -293,6 +293,4 @@ public class FileOperationsHelper {
     public void setOpIdWaitingFor(long waitingForOpId) {
         mWaitingForOpId = waitingForOpId;
     }
-    
-    
 }
index a78584a..8158a5a 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);
@@ -132,8 +137,11 @@ implements ConfirmationDialogFragmentListener {
             }
             
            folder.setEtag("");
-           storageManager.saveFile(folder);
+           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 3665fe0..37991be 100644 (file)
@@ -19,9 +19,12 @@ package com.owncloud.android.ui.fragment;
 
 import java.io.File;
 
+import android.accounts.Account;
 import android.app.Activity;
 import android.content.Intent;
+import android.media.MediaScannerConnection;
 import android.os.Bundle;
+import android.os.Handler;
 import android.support.v4.widget.SwipeRefreshLayout;
 import android.view.ContextMenu;
 import android.view.MenuInflater;
@@ -31,10 +34,15 @@ import android.widget.AdapterView;
 import android.widget.AdapterView.AdapterContextMenuInfo;
 
 import com.owncloud.android.R;
+import com.owncloud.android.authentication.AccountUtils;
 import com.owncloud.android.datamodel.FileDataStorageManager;
 import com.owncloud.android.datamodel.OCFile;
 import com.owncloud.android.files.FileMenuFilter;
+import com.owncloud.android.files.services.FileDownloader.FileDownloaderBinder;
+import com.owncloud.android.files.services.FileUploader.FileUploaderBinder;
 import com.owncloud.android.lib.common.utils.Log_OC;
+import com.owncloud.android.operations.RemoveFileOperation;
+import com.owncloud.android.operations.RenameFileOperation;
 import com.owncloud.android.ui.activity.FileDisplayActivity;
 import com.owncloud.android.ui.activity.MoveActivity;
 import com.owncloud.android.ui.activity.OnEnforceableRefreshListener;
@@ -71,6 +79,7 @@ public class OCFileListFragment extends ExtendedListFragment {
     private OCFile mFile = null;
     private FileListListAdapter mAdapter;
     
+    private Handler mHandler;
     private OCFile mTargetFile;
 
     
@@ -299,6 +308,7 @@ public class OCFileListFragment extends ExtendedListFragment {
             case R.id.action_download_file: 
             case R.id.action_sync_file: {
                 mContainerActivity.getFileOperationsHelper().syncFile(mTargetFile);
+                triggerMediaScan(mTargetFile.getStoragePath());
                 return true;
             }
             case R.id.action_cancel_download:
@@ -333,6 +343,7 @@ public class OCFileListFragment extends ExtendedListFragment {
                 return super.onContextItemSelected(item); 
         }
     }
+    
 
 
     /**
@@ -387,4 +398,10 @@ public class OCFileListFragment extends ExtendedListFragment {
         }
     }
 
+    private void triggerMediaScan(String path){
+        MediaScannerConnection.scanFile(
+                getActivity().getApplicationContext(), 
+                new String[]{path}, 
+                null,null);
+    }
 }
index c06f341..09c2f58 100644 (file)
@@ -23,6 +23,9 @@ import android.content.Context;
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.content.ServiceConnection;
+import android.media.MediaScannerConnection;
+import android.media.MediaScannerConnection.OnScanCompletedListener;
+import android.net.Uri;
 import android.content.SharedPreferences;
 import android.os.Build;
 import android.os.Bundle;
@@ -432,6 +435,9 @@ ViewPager.OnPageChangeListener, OnRemoteOperationListener {
         public void onReceive(Context context, Intent intent) {
             String accountName = intent.getStringExtra(FileDownloader.ACCOUNT_NAME);
             String downloadedRemotePath = intent.getStringExtra(FileDownloader.EXTRA_REMOTE_PATH);
+            
+            
+            
             if (getAccount().name.equals(accountName) && 
                     downloadedRemotePath != null) {
 
@@ -440,6 +446,14 @@ ViewPager.OnPageChangeListener, OnRemoteOperationListener {
                 boolean downloadWasFine = intent.getBooleanExtra(FileDownloader.EXTRA_DOWNLOAD_RESULT, false);
                 //boolean isOffscreen =  Math.abs((mViewPager.getCurrentItem() - position)) <= mViewPager.getOffscreenPageLimit();
                 
+                if (downloadWasFine){
+                 // Trigger Mediascan
+                    MediaScannerConnection.scanFile(
+                            context, 
+                            new String[]{file.getStoragePath()}, 
+                            null,null);
+                }
+                
                 if (position >= 0 && intent.getAction().equals(FileDownloader.getDownloadFinishMessage())) {
                     if (downloadWasFine) {
                         mPreviewImagePagerAdapter.updateFile(position, file);   
index 4dd5c43..a3814c7 100644 (file)
@@ -328,7 +328,7 @@ public class PreviewImageFragment extends FileFragment {
         finish();
     }
     
-    
+
     private class BitmapLoader extends AsyncTask<String, Void, Bitmap> {
 
         /**