- removed dropbox files
This commit is contained in:
parent
76e6537b0f
commit
4dcc8dc46f
|
@ -197,8 +197,6 @@ dependencies {
|
||||||
/* Dagger2 - We are going to use dagger.android which includes
|
/* Dagger2 - We are going to use dagger.android which includes
|
||||||
* support for Activity and fragment injection so we need to include
|
* support for Activity and fragment injection so we need to include
|
||||||
* the following dependencies */
|
* the following dependencies */
|
||||||
implementation 'com.dropbox.core:dropbox-core-sdk:2.1.1'
|
|
||||||
|
|
||||||
annotationProcessor "com.google.dagger:dagger-compiler:$dagger_version"
|
annotationProcessor "com.google.dagger:dagger-compiler:$dagger_version"
|
||||||
annotationProcessor "com.google.dagger:dagger-android-processor:$dagger_version"
|
annotationProcessor "com.google.dagger:dagger-android-processor:$dagger_version"
|
||||||
kapt "com.google.dagger:dagger-android-processor:$dagger_version"
|
kapt "com.google.dagger:dagger-android-processor:$dagger_version"
|
||||||
|
|
|
@ -1,8 +0,0 @@
|
||||||
package info.nightscout.androidaps.plugins.general.maintenance
|
|
||||||
|
|
||||||
class DropboxUploader {
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,72 +0,0 @@
|
||||||
package info.nightscout.androidaps.plugins.general.maintenance.dropbox;
|
|
||||||
|
|
||||||
import android.content.Context;
|
|
||||||
import android.net.Uri;
|
|
||||||
import android.os.AsyncTask;
|
|
||||||
|
|
||||||
import com.dropbox.core.DbxException;
|
|
||||||
import com.dropbox.core.v2.DbxClientV2;
|
|
||||||
import com.dropbox.core.v2.files.FileMetadata;
|
|
||||||
import com.dropbox.core.v2.files.WriteMode;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.FileInputStream;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.io.InputStream;
|
|
||||||
|
|
||||||
public class UploadFileTask extends AsyncTask<String, Void, FileMetadata> {
|
|
||||||
|
|
||||||
private final Context mContext;
|
|
||||||
private final DbxClientV2 mDbxClient;
|
|
||||||
private final Callback mCallback;
|
|
||||||
private Exception mException;
|
|
||||||
|
|
||||||
public interface Callback {
|
|
||||||
void onUploadComplete(FileMetadata result);
|
|
||||||
void onError(Exception e);
|
|
||||||
}
|
|
||||||
|
|
||||||
UploadFileTask(Context context, DbxClientV2 dbxClient, Callback callback) {
|
|
||||||
mContext = context;
|
|
||||||
mDbxClient = dbxClient;
|
|
||||||
mCallback = callback;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onPostExecute(FileMetadata result) {
|
|
||||||
super.onPostExecute(result);
|
|
||||||
if (mException != null) {
|
|
||||||
mCallback.onError(mException);
|
|
||||||
} else if (result == null) {
|
|
||||||
mCallback.onError(null);
|
|
||||||
} else {
|
|
||||||
mCallback.onUploadComplete(result);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected FileMetadata doInBackground(String... params) {
|
|
||||||
String localUri = params[0];
|
|
||||||
File localFile = UriHelpers.getFileForUri(mContext, Uri.parse(localUri));
|
|
||||||
|
|
||||||
if (localFile != null) {
|
|
||||||
String remoteFolderPath = params[1];
|
|
||||||
|
|
||||||
// Note - this is not ensuring the name is a valid dropbox file name
|
|
||||||
String remoteFileName = localFile.getName();
|
|
||||||
|
|
||||||
try (InputStream inputStream = new FileInputStream(localFile)) {
|
|
||||||
return mDbxClient.files().uploadBuilder(remoteFolderPath + "/" + remoteFileName)
|
|
||||||
.withMode(WriteMode.OVERWRITE)
|
|
||||||
.uploadAndFinish(inputStream);
|
|
||||||
} catch (DbxException | IOException e) {
|
|
||||||
mException = e;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,119 +0,0 @@
|
||||||
package info.nightscout.androidaps.plugins.general.maintenance.dropbox;
|
|
||||||
|
|
||||||
import android.content.ContentUris;
|
|
||||||
import android.content.Context;
|
|
||||||
import android.database.Cursor;
|
|
||||||
import android.net.Uri;
|
|
||||||
import android.os.Environment;
|
|
||||||
import android.provider.DocumentsContract;
|
|
||||||
import android.provider.MediaStore;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
|
|
||||||
public class UriHelpers {
|
|
||||||
|
|
||||||
private UriHelpers() {}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the file path for a uri. This is a convoluted way to get the path for an Uri created using the
|
|
||||||
* StorageAccessFramework. This in no way is the official way to do this but there does not seem to be a better
|
|
||||||
* way to do this at this point. It is taken from https://github.com/iPaulPro/aFileChooser.
|
|
||||||
*
|
|
||||||
* @param context The context of the application
|
|
||||||
* @param uri The uri of the saved file
|
|
||||||
* @return The file with path pointing to the saved file. It can return null if we can't resolve the uri properly.
|
|
||||||
*/
|
|
||||||
public static File getFileForUri(final Context context, final Uri uri) {
|
|
||||||
String path = null;
|
|
||||||
// DocumentProvider
|
|
||||||
if (DocumentsContract.isDocumentUri(context, uri)) {
|
|
||||||
// ExternalStorageProvider
|
|
||||||
if (isExternalStorageDocument(uri)) {
|
|
||||||
final String docId = DocumentsContract.getDocumentId(uri);
|
|
||||||
final String[] split = docId.split(":");
|
|
||||||
final String type = split[0];
|
|
||||||
|
|
||||||
if ("primary".equalsIgnoreCase(type)) {
|
|
||||||
path = Environment.getExternalStorageDirectory() + "/" + split[1];
|
|
||||||
}
|
|
||||||
} else if (isDownloadsDocument(uri)) {
|
|
||||||
// DownloadsProvider
|
|
||||||
final String id = DocumentsContract.getDocumentId(uri);
|
|
||||||
final Uri contentUri = ContentUris
|
|
||||||
.withAppendedId(Uri.parse("content://downloads/public_downloads"), Long.valueOf(id));
|
|
||||||
|
|
||||||
path = getDataColumn(context, contentUri, null, null);
|
|
||||||
} else if (isMediaDocument(uri)) {
|
|
||||||
// MediaProvider
|
|
||||||
final String docId = DocumentsContract.getDocumentId(uri);
|
|
||||||
final String[] split = docId.split(":");
|
|
||||||
final String type = split[0];
|
|
||||||
|
|
||||||
Uri contentUri = null;
|
|
||||||
if ("image".equals(type)) {
|
|
||||||
contentUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
|
|
||||||
} else if ("video".equals(type)) {
|
|
||||||
contentUri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI;
|
|
||||||
} else if ("audio".equals(type)) {
|
|
||||||
contentUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
|
|
||||||
}
|
|
||||||
|
|
||||||
final String selection = "_id=?";
|
|
||||||
final String[] selectionArgs = new String[] {
|
|
||||||
split[1]
|
|
||||||
};
|
|
||||||
|
|
||||||
path = getDataColumn(context, contentUri, selection, selectionArgs);
|
|
||||||
}
|
|
||||||
} else if ("content".equalsIgnoreCase(uri.getScheme())) {
|
|
||||||
// MediaStore (and general)
|
|
||||||
path = getDataColumn(context, uri, null, null);
|
|
||||||
} else if ("file".equalsIgnoreCase(uri.getScheme())) {
|
|
||||||
// File
|
|
||||||
path = uri.getPath();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (path != null) {
|
|
||||||
return new File(path);
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static String getDataColumn(Context context, Uri uri, String selection,
|
|
||||||
String[] selectionArgs) {
|
|
||||||
|
|
||||||
Cursor cursor = null;
|
|
||||||
final String column = "_data";
|
|
||||||
final String[] projection = {
|
|
||||||
column
|
|
||||||
};
|
|
||||||
|
|
||||||
try {
|
|
||||||
cursor = context.getContentResolver().query(uri, projection, selection, selectionArgs,
|
|
||||||
null);
|
|
||||||
if (cursor != null && cursor.moveToFirst()) {
|
|
||||||
final int column_index = cursor.getColumnIndexOrThrow(column);
|
|
||||||
return cursor.getString(column_index);
|
|
||||||
}
|
|
||||||
} finally {
|
|
||||||
if (cursor != null) {
|
|
||||||
cursor.close();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private static boolean isExternalStorageDocument(Uri uri) {
|
|
||||||
return "com.android.externalstorage.documents".equals(uri.getAuthority());
|
|
||||||
}
|
|
||||||
|
|
||||||
private static boolean isDownloadsDocument(Uri uri) {
|
|
||||||
return "com.android.providers.downloads.documents".equals(uri.getAuthority());
|
|
||||||
}
|
|
||||||
|
|
||||||
private static boolean isMediaDocument(Uri uri) {
|
|
||||||
return "com.android.providers.media.documents".equals(uri.getAuthority());
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
Loading…
Reference in a new issue