//}
}
+ 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);
+ }
+
}
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>() {
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);
}
}
// 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