X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/a468ae6a2da00fe0a685abbf23d77eaa5fb0a13e..e8a4780cbc0270d7c22556f96a550d87be5ffb56:/src/com/owncloud/android/ui/dialog/RemoveFileDialogFragment.java diff --git a/src/com/owncloud/android/ui/dialog/RemoveFileDialogFragment.java b/src/com/owncloud/android/ui/dialog/RemoveFileDialogFragment.java index 8039e522..b8dd78cb 100644 --- a/src/com/owncloud/android/ui/dialog/RemoveFileDialogFragment.java +++ b/src/com/owncloud/android/ui/dialog/RemoveFileDialogFragment.java @@ -24,17 +24,22 @@ package com.owncloud.android.ui.dialog; * * @author David A. Velasco */ +import java.io.File; import java.util.Vector; +import android.app.Dialog; +import android.content.Intent; +import android.media.MediaScannerConnection; +import android.net.Uri; +import android.os.Bundle; + +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.lib.common.utils.Log_OC; import com.owncloud.android.ui.activity.ComponentsGetter; import com.owncloud.android.ui.dialog.ConfirmationDialogFragment.ConfirmationDialogFragmentListener; -import com.owncloud.android.utils.Log_OC; - -import android.app.Dialog; -import android.os.Bundle; public class RemoveFileDialogFragment extends ConfirmationDialogFragment implements ConfirmationDialogFragmentListener { @@ -96,7 +101,9 @@ implements ConfirmationDialogFragmentListener { ComponentsGetter cg = (ComponentsGetter)getSherlockActivity(); FileDataStorageManager storageManager = cg.getStorageManager(); if (storageManager.getFileById(mTargetFile.getFileId()) != null) { + String path = mTargetFile.getStoragePath(); cg.getFileOperationsHelper().removeFile(mTargetFile, false); + triggerMediaScan(path); } } @@ -105,9 +112,9 @@ implements ConfirmationDialogFragmentListener { */ @Override public void onNeutral(String callerTag) { + String path = mTargetFile.getStoragePath(); ComponentsGetter cg = (ComponentsGetter)getSherlockActivity(); - cg.getFileOperationsHelper() - .removeFile(mTargetFile, true); + cg.getFileOperationsHelper().removeFile(mTargetFile, true); FileDataStorageManager storageManager = cg.getStorageManager(); @@ -134,8 +141,10 @@ implements ConfirmationDialogFragmentListener { folder.setEtag(""); storageManager.saveFile(folder); - Log_OC.d("RemoveFileDialogFragment", "Parent etag= |" + folder.getEtag() + "|"); } + + // Trigger MediaScan + triggerMediaScan(path); } @Override @@ -143,4 +152,18 @@ implements ConfirmationDialogFragmentListener { // nothing to do here } -} + private void triggerMediaScan(String path){ + try { + MediaScannerConnection.scanFile( + getActivity().getApplicationContext(), + new String[]{path}, + null,null); + + Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); + intent.setData(Uri.fromFile(new File(path))); + MainApp.getAppContext().sendBroadcast(intent); + } catch (Exception e){ + Log_OC.d("Trigger", "exception: " + e); + } + } +} \ No newline at end of file