Skip to content

Commit

Permalink
Copy file to public Downloads directory (lbryio#1180)
Browse files Browse the repository at this point in the history
  • Loading branch information
kekkyojin authored Apr 12, 2021
1 parent 6e32f77 commit 1436895
Showing 1 changed file with 44 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Environment;
import android.text.Editable;
import android.text.TextWatcher;
import android.text.format.DateUtils;
Expand Down Expand Up @@ -87,8 +88,12 @@
import org.json.JSONObject;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.ArrayList;
Expand Down Expand Up @@ -162,6 +167,10 @@
import io.lbry.lbrysdk.LbrynetService;
import io.lbry.lbrysdk.Utils;

import static android.os.Environment.DIRECTORY_DOWNLOADS;
import static android.os.Environment.DIRECTORY_MOVIES;
import static android.os.Environment.DIRECTORY_PICTURES;

public class FileViewFragment extends BaseFragment implements
MainActivity.BackPressInterceptor,
DownloadActionListener,
Expand Down Expand Up @@ -2844,6 +2853,41 @@ public void onDownloadAction(String downloadAction, String uri, String outpoint,
downloadInProgress = false;
downloadProgressView.setProgress(100);
Helper.setViewVisibility(downloadProgressView, View.GONE);

// Copy file to shared Downloads folder
// TODO Assign this folder when downloading instead of copying the file

File fileFolder;

if (claimFile.getMimeType().contains("video"))
fileFolder = Environment.getExternalStoragePublicDirectory(DIRECTORY_MOVIES);
else if (claimFile.getMimeType().contains("image") || claimFile.getMimeType().contains("picture"))
fileFolder = Environment.getExternalStoragePublicDirectory(DIRECTORY_PICTURES);
else
fileFolder = Environment.getExternalStoragePublicDirectory(DIRECTORY_DOWNLOADS);

InputStream in = null;
OutputStream out;
try {
in = new FileInputStream(claimFile.getDownloadPath());

out = new FileOutputStream(new File(fileFolder, claimFile.getFileName()));

byte[] buf = new byte[1024];
int len;

while ((len = in.read(buf)) > 0) {
out.write(buf, 0, len);
}

in.close();
out.close();
} catch (IOException e) {
e.printStackTrace();
}



playOrViewMedia();
}
checkIsFileComplete();
Expand Down

0 comments on commit 1436895

Please sign in to comment.