mirror of
https://github.com/nextcloud/android.git
synced 2024-11-26 23:28:42 +03:00
Refactoring: get MediaScan trigger out of OCFile for renaming
This commit is contained in:
parent
eaa3b1ef56
commit
c95eb327f8
3 changed files with 15 additions and 17 deletions
|
@ -1579,4 +1579,10 @@ public class FileDataStorageManager {
|
|||
//}
|
||||
}
|
||||
|
||||
public void triggerMediaScan(String path) {
|
||||
Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
|
||||
intent.setData(Uri.fromFile(new File(path)));
|
||||
MainApp.getAppContext().sendBroadcast(intent);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -26,11 +26,7 @@ import com.owncloud.android.lib.common.utils.Log_OC;
|
|||
|
||||
import java.io.File;
|
||||
|
||||
import com.owncloud.android.MainApp;
|
||||
|
||||
import third_parties.daveKoeller.AlphanumComparator;
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
public class OCFile implements Parcelable, Comparable<OCFile> {
|
||||
|
||||
public static final Parcelable.Creator<OCFile> CREATOR = new Parcelable.Creator<OCFile>() {
|
||||
|
@ -299,17 +295,6 @@ public class OCFile implements Parcelable, Comparable<OCFile> {
|
|||
mRemotePath += PATH_SEPARATOR;
|
||||
}
|
||||
Log_OC.d(TAG, "OCFile name changed to " + mRemotePath);
|
||||
|
||||
// Notify MediaScanner about removed file
|
||||
Intent intent1 = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
|
||||
intent1.setData(Uri.fromFile(new File(this.getStoragePath())));
|
||||
MainApp.getAppContext().sendBroadcast(intent1);
|
||||
|
||||
// Notify MediaScanner about new file
|
||||
Intent intent2 = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
|
||||
String folder = new File(this.getStoragePath()).getParent();
|
||||
intent2.setData(Uri.fromFile(new File(folder+ PATH_SEPARATOR+name)));
|
||||
MainApp.getAppContext().sendBroadcast(intent2);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -134,12 +134,19 @@ public class RenameFileOperation extends SyncOperation {
|
|||
|
||||
// try to rename the local copy of the file
|
||||
if (mFile.isDown()) {
|
||||
File f = new File(mFile.getStoragePath());
|
||||
String oldPath = mFile.getStoragePath();
|
||||
File f = new File(oldPath);
|
||||
String parentStoragePath = f.getParent();
|
||||
if (!parentStoragePath.endsWith(File.separator))
|
||||
parentStoragePath += File.separator;
|
||||
if (f.renameTo(new File(parentStoragePath + mNewName))) {
|
||||
mFile.setStoragePath(parentStoragePath + mNewName);
|
||||
String newPath = parentStoragePath + mNewName;
|
||||
mFile.setStoragePath(newPath);
|
||||
|
||||
// notify MediaScanner about removed file - TODO really works?
|
||||
getStorageManager().triggerMediaScan(oldPath);
|
||||
// notify to scan about new file
|
||||
getStorageManager().triggerMediaScan(newPath);
|
||||
}
|
||||
// else - NOTHING: the link to the local file is kept although the local name can't be updated
|
||||
// TODO - study conditions when this could be a problem
|
||||
|
|
Loading…
Reference in a new issue