Fixes issue with download directory
This commit is contained in:
parent
4d4bcd49d1
commit
9b418c9efe
|
@ -18,7 +18,7 @@ public class StoredStatus {
|
|||
private boolean isSent;
|
||||
private Status status;
|
||||
private String instance;
|
||||
private String acct;
|
||||
private String userId;
|
||||
|
||||
public int getId() {
|
||||
return id;
|
||||
|
@ -77,14 +77,6 @@ public class StoredStatus {
|
|||
this.instance = instance;
|
||||
}
|
||||
|
||||
public String getAcct() {
|
||||
return acct;
|
||||
}
|
||||
|
||||
public void setAcct(String acct) {
|
||||
this.acct = acct;
|
||||
}
|
||||
|
||||
public int getJobId() {
|
||||
return jobId;
|
||||
}
|
||||
|
@ -92,4 +84,12 @@ public class StoredStatus {
|
|||
public void setJobId(int jobId) {
|
||||
this.jobId = jobId;
|
||||
}
|
||||
|
||||
public String getUserId() {
|
||||
return userId;
|
||||
}
|
||||
|
||||
public void setUserId(String userId) {
|
||||
this.userId = userId;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -173,7 +173,7 @@ public class ScheduledTootsListAdapter extends BaseAdapter {
|
|||
}
|
||||
});
|
||||
if( job == null){
|
||||
holder.scheduled_toot_failed.setVisibility(View.VISIBLE);
|
||||
holder.scheduled_toot_failed.setVisibility(View.GONE);
|
||||
}else {
|
||||
holder.scheduled_toot_failed.setVisibility(View.GONE);
|
||||
}
|
||||
|
|
|
@ -168,7 +168,7 @@ public class SettingsFragment extends Fragment {
|
|||
}else {
|
||||
set_cookies_container.setVisibility(View.GONE);
|
||||
}
|
||||
final String targeted_folder = sharedpreferences.getString(Helper.SET_FOLDER_RECORD, Environment.DIRECTORY_DOWNLOADS);
|
||||
final String targeted_folder = sharedpreferences.getString(Helper.SET_FOLDER_RECORD, Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getAbsolutePath());
|
||||
|
||||
set_folder = (TextView) rootView.findViewById(R.id.set_folder);
|
||||
set_folder.setText(targeted_folder);
|
||||
|
@ -217,7 +217,7 @@ public class SettingsFragment extends Fragment {
|
|||
DocumentsContract.getTreeDocumentId(treeUri));
|
||||
String path = getPath(context, docUri);
|
||||
if( path == null )
|
||||
path = Environment.DIRECTORY_DOWNLOADS;
|
||||
path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getAbsolutePath();
|
||||
final SharedPreferences sharedpreferences = context.getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE);
|
||||
SharedPreferences.Editor editor = sharedpreferences.edit();
|
||||
editor.putString(Helper.SET_FOLDER_RECORD, path);
|
||||
|
|
|
@ -79,6 +79,7 @@ import com.nostra13.universalimageloader.core.listener.ImageLoadingListener;
|
|||
import com.nostra13.universalimageloader.core.listener.SimpleImageLoadingListener;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileOutputStream;
|
||||
|
@ -573,18 +574,22 @@ public class Helper {
|
|||
public static void manageMoveFileDownload(final Context context, final String preview_url, final String url, Bitmap bitmap, File fileVideo){
|
||||
|
||||
final String fileName = URLUtil.guessFileName(url, null, null);final SharedPreferences sharedpreferences = context.getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE);
|
||||
String myDir = sharedpreferences.getString(Helper.SET_FOLDER_RECORD, Environment.DIRECTORY_DOWNLOADS);
|
||||
String myDir = sharedpreferences.getString(Helper.SET_FOLDER_RECORD, Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getAbsolutePath());
|
||||
|
||||
try {
|
||||
File file;
|
||||
if( bitmap != null) {
|
||||
File filebmp = new File (Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), fileName);
|
||||
FileOutputStream out = new FileOutputStream(filebmp);
|
||||
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, out);
|
||||
out.flush();
|
||||
out.close();
|
||||
file = new File(myDir, fileName);
|
||||
copy(filebmp, file);
|
||||
file.createNewFile();
|
||||
|
||||
ByteArrayOutputStream bos = new ByteArrayOutputStream();
|
||||
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, bos);
|
||||
byte[] bitmapdata = bos.toByteArray();
|
||||
|
||||
FileOutputStream fos = new FileOutputStream(file);
|
||||
fos.write(bitmapdata);
|
||||
fos.flush();
|
||||
fos.close();
|
||||
}else{
|
||||
File fileVideoTargeded = new File(myDir, fileName);
|
||||
copy(fileVideo, fileVideoTargeded);
|
||||
|
@ -594,7 +599,6 @@ public class Helper {
|
|||
final int notificationIdTmp = r.nextInt(10000);
|
||||
// prepare intent which is triggered if the
|
||||
// notification is selected
|
||||
NotificationManagerCompat notificationManager = NotificationManagerCompat.from(context);
|
||||
final Intent intent = new Intent();
|
||||
intent.setAction(android.content.Intent.ACTION_VIEW);
|
||||
Uri uri = Uri.parse("file://" + file.getAbsolutePath());
|
||||
|
|
|
@ -23,8 +23,10 @@ import java.util.Date;
|
|||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import fr.gouv.etalab.mastodon.client.API;
|
||||
import fr.gouv.etalab.mastodon.client.Entities.Account;
|
||||
import fr.gouv.etalab.mastodon.client.Entities.Status;
|
||||
import fr.gouv.etalab.mastodon.client.Entities.StoredStatus;
|
||||
import fr.gouv.etalab.mastodon.sqlite.AccountDAO;
|
||||
import fr.gouv.etalab.mastodon.sqlite.Sqlite;
|
||||
import fr.gouv.etalab.mastodon.sqlite.StatusStoredDAO;
|
||||
|
||||
|
@ -36,8 +38,7 @@ import fr.gouv.etalab.mastodon.sqlite.StatusStoredDAO;
|
|||
|
||||
public class ScheduledTootsSyncJob extends Job {
|
||||
|
||||
public static final String SCHEDULED_TOOT = "job_scheduled_toot";
|
||||
|
||||
static final String SCHEDULED_TOOT = "job_scheduled_toot";
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
|
@ -45,16 +46,23 @@ public class ScheduledTootsSyncJob extends Job {
|
|||
//Code refresh here
|
||||
int jobId = params.getId();
|
||||
SQLiteDatabase db = Sqlite.getInstance(getContext(), Sqlite.DB_NAME, null, Sqlite.DB_VERSION).open();
|
||||
StoredStatus storedStatus = new StatusStoredDAO(getContext(), db).getStatusScheduled(jobId);
|
||||
//Retrieves the stored status
|
||||
StoredStatus storedStatus = new StatusStoredDAO(getContext(), db).getStatusScheduled(jobId);
|
||||
if( storedStatus != null){
|
||||
//Retrieves the linked status to toot
|
||||
Status status = storedStatus.getStatus();
|
||||
if( status != null){
|
||||
int statusCode = new API(getContext()).statusAction(status);
|
||||
//Toot was sent
|
||||
if( statusCode == 200){
|
||||
new StatusStoredDAO(getContext(), db).updateScheduledDone(jobId, new Date());
|
||||
String userId = storedStatus.getUserId();
|
||||
String instance = storedStatus.getInstance();
|
||||
if( instance != null && userId != null){
|
||||
Account account = new AccountDAO(getContext(), db).getAccountByUserIDInstance(userId, instance);
|
||||
if( account != null){
|
||||
//Retrieves the linked status to toot
|
||||
Status status = storedStatus.getStatus();
|
||||
if( status != null){
|
||||
int statusCode = new API(getContext(), account.getInstance(), account.getToken()).statusAction(status);
|
||||
//Toot was sent
|
||||
if( statusCode == 200){
|
||||
new StatusStoredDAO(getContext(), db).updateScheduledDone(jobId, new Date());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -133,6 +133,21 @@ public class AccountDAO {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns an Account by id and instance
|
||||
* @param accountId String
|
||||
* @param instance String
|
||||
* @return Account
|
||||
*/
|
||||
public Account getAccountByUserIDInstance(String accountId, String instance){
|
||||
try {
|
||||
Cursor c = db.query(Sqlite.TABLE_USER_ACCOUNT, null, Sqlite.COL_USER_ID + " = '" + accountId + "' AND " + Sqlite.COL_INSTANCE + "= '"+ Sqlite.COL_INSTANCE +"'", null, null, null, null, "1");
|
||||
return cursorToUser(c);
|
||||
} catch (Exception e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns all Account in db
|
||||
* @return Account List<Account>
|
||||
|
|
Loading…
Reference in New Issue