diff --git a/app/build.gradle b/app/build.gradle index fa64aff5fa..77277e2666 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -197,8 +197,6 @@ dependencies { /* Dagger2 - We are going to use dagger.android which includes * support for Activity and fragment injection so we need to include * 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-android-processor:$dagger_version" kapt "com.google.dagger:dagger-android-processor:$dagger_version" diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/DropboxUploader.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/DropboxUploader.kt deleted file mode 100644 index cc7b28bc06..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/DropboxUploader.kt +++ /dev/null @@ -1,8 +0,0 @@ -package info.nightscout.androidaps.plugins.general.maintenance - -class DropboxUploader { - - - - -} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/dropbox/UploadFileTask.java b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/dropbox/UploadFileTask.java deleted file mode 100644 index 0bedd145a8..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/dropbox/UploadFileTask.java +++ /dev/null @@ -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 { - - 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; - } - - - -} diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/dropbox/UriHelpers.java b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/dropbox/UriHelpers.java deleted file mode 100644 index 67a1d9c0dd..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/dropbox/UriHelpers.java +++ /dev/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()); - } - -}