aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/github/daneren2005/dsub/service/DownloadFile.java
diff options
context:
space:
mode:
authorScott Jackson <daneren2005@gmail.com>2020-09-12 11:46:08 -0700
committerScott Jackson <daneren2005@gmail.com>2020-09-12 11:46:08 -0700
commit04f1c5ae49c518ca38b51a3074e18cc4917117ff (patch)
tree281be080da91d2b5aac78dcad404e6ea1c2f2970 /app/src/main/java/github/daneren2005/dsub/service/DownloadFile.java
parentb375100232222afee33c68184059dc93487a1a86 (diff)
downloaddsub-04f1c5ae49c518ca38b51a3074e18cc4917117ff.tar.gz
dsub-04f1c5ae49c518ca38b51a3074e18cc4917117ff.tar.bz2
dsub-04f1c5ae49c518ca38b51a3074e18cc4917117ff.zip
#1002 Delete from media store before renaming file since in Android 11 it deletes the actual file instead of just the media store record
Diffstat (limited to 'app/src/main/java/github/daneren2005/dsub/service/DownloadFile.java')
-rw-r--r--app/src/main/java/github/daneren2005/dsub/service/DownloadFile.java14
1 files changed, 10 insertions, 4 deletions
diff --git a/app/src/main/java/github/daneren2005/dsub/service/DownloadFile.java b/app/src/main/java/github/daneren2005/dsub/service/DownloadFile.java
index 30e06982..7686b468 100644
--- a/app/src/main/java/github/daneren2005/dsub/service/DownloadFile.java
+++ b/app/src/main/java/github/daneren2005/dsub/service/DownloadFile.java
@@ -321,9 +321,11 @@ public class DownloadFile implements BufferFile {
saveWhenDone = false;
} else if(completeWhenDone && !isPlaying) {
if(save) {
+ deleteFromStore();
Util.renameFile(partialFile, saveFile);
saveToStore();
} else {
+ deleteFromStore();
Util.renameFile(partialFile, completeFile);
saveToStore();
}
@@ -337,6 +339,7 @@ public class DownloadFile implements BufferFile {
}
public void renamePartial() {
try {
+ deleteFromStore();
Util.renameFile(partialFile, completeFile);
saveToStore();
} catch(IOException ex) {
@@ -348,10 +351,12 @@ public class DownloadFile implements BufferFile {
}
private void deleteFromStore() {
- try {
- mediaStoreService.deleteFromMediaStore(this);
- } catch(Exception e) {
- Log.w(TAG, "Failed to remove from store", e);
+ if(!Util.getPreferences(context).getBoolean(Constants.PREFERENCES_KEY_HIDE_MEDIA, false)) {
+ try {
+ mediaStoreService.deleteFromMediaStore(this);
+ } catch (Exception e) {
+ Log.w(TAG, "Failed to remove from store", e);
+ }
}
}
private void saveToStore() {
@@ -490,6 +495,7 @@ public class DownloadFile implements BufferFile {
if(isPlaying) {
completeWhenDone = true;
} else {
+ deleteFromStore();
if(save) {
Util.renameFile(partialFile, saveFile);
} else {