diff --git a/build.gradle b/build.gradle index 2c8806110..a00b79e0b 100644 --- a/build.gradle +++ b/build.gradle @@ -51,6 +51,7 @@ android { compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 + incremental false } buildTypes { @@ -120,7 +121,7 @@ dependencies { compile 'com.github.rey5137:material:1.2.4' compile 'com.android.support:multidex:1.0.1' - compile 'com.nononsenseapps:filepicker:3.1.0' + compile 'com.nononsenseapps:filepicker:4.0.0-beta1' compile "com.android.support:design:${SUPPORT_VERSION}" compile "com.android.support:support-annotations:${SUPPORT_VERSION}" compile 'com.jakewharton.timber:timber:4.3.1' diff --git a/src/main/AndroidManifest.xml b/src/main/AndroidManifest.xml index 752729834..4d3673bdb 100644 --- a/src/main/AndroidManifest.xml +++ b/src/main/AndroidManifest.xml @@ -278,7 +278,7 @@ { File file = new File(updateBitmap.getPath()); - Uri uri = FileProvider.getUriForFile(activity, "org.tasks.files", file.getAbsoluteFile()); + Uri uri = FileProvider.getUriForFile(activity, Constants.FILE_PROVIDER_AUTHORITY, file.getAbsoluteFile()); Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(uri, "image/*"); FileHelper.grantReadPermissions(activity, intent, uri); diff --git a/src/main/java/com/todoroo/astrid/utility/Constants.java b/src/main/java/com/todoroo/astrid/utility/Constants.java index 9106d6836..f09e81898 100644 --- a/src/main/java/com/todoroo/astrid/utility/Constants.java +++ b/src/main/java/com/todoroo/astrid/utility/Constants.java @@ -5,16 +5,11 @@ */ package com.todoroo.astrid.utility; -public final class Constants { - - // --- general application constants +import org.tasks.BuildConfig; - /** - * Application Package - */ - public static final String PACKAGE = "org.tasks"; +public final class Constants { - // --- notification id's + public static final String FILE_PROVIDER_AUTHORITY = BuildConfig.APPLICATION_ID + ".provider"; /** Notification Manager id for timing */ public static final int NOTIFICATION_TIMER = -2; diff --git a/src/main/java/org/tasks/activities/CameraActivity.java b/src/main/java/org/tasks/activities/CameraActivity.java index 167a91501..cc9b5508e 100644 --- a/src/main/java/org/tasks/activities/CameraActivity.java +++ b/src/main/java/org/tasks/activities/CameraActivity.java @@ -10,6 +10,8 @@ import android.provider.MediaStore; import android.support.v4.content.FileProvider; import android.widget.Toast; +import com.todoroo.astrid.utility.Constants; + import org.tasks.R; import org.tasks.injection.ActivityComponent; import org.tasks.injection.InjectingAppCompatActivity; @@ -50,7 +52,7 @@ public class CameraActivity extends InjectingAppCompatActivity { Toast.makeText(this, R.string.external_storage_unavailable, Toast.LENGTH_LONG).show(); } else { final Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); - Uri uri = FileProvider.getUriForFile(this, "org.tasks.files", output); + Uri uri = FileProvider.getUriForFile(this, Constants.FILE_PROVIDER_AUTHORITY, output); intent.putExtra(MediaStore.EXTRA_OUTPUT, uri); if (atLeastLollipop()) { intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION); diff --git a/src/main/java/org/tasks/files/FileExplore.java b/src/main/java/org/tasks/files/FileExplore.java index 614a77b59..aa3c7cf2d 100644 --- a/src/main/java/org/tasks/files/FileExplore.java +++ b/src/main/java/org/tasks/files/FileExplore.java @@ -96,7 +96,7 @@ public class FileExplore extends InjectingAppCompatActivity { if (requestCode == REQUEST_PICKER) { if (resultCode == Activity.RESULT_OK) { Uri uri = data.getData(); - final File file = new File(uri.getPath()); + File file = com.nononsenseapps.filepicker.Utils.getFileForUri(uri); Intent intent = new Intent(); intent.putExtra(directoryMode ? EXTRA_DIRECTORY : EXTRA_FILE, file.getAbsolutePath()); setResult(Activity.RESULT_OK, intent); diff --git a/src/main/java/org/tasks/files/FileHelper.java b/src/main/java/org/tasks/files/FileHelper.java index 44e5b46ee..7b2b35e86 100644 --- a/src/main/java/org/tasks/files/FileHelper.java +++ b/src/main/java/org/tasks/files/FileHelper.java @@ -10,6 +10,8 @@ import android.net.Uri; import android.provider.MediaStore; import android.support.v4.content.FileProvider; +import com.todoroo.astrid.utility.Constants; + import java.io.File; import java.util.List; @@ -32,7 +34,7 @@ public class FileHelper { public static Intent getReadableActionView(Context context, String path, String type) { Intent intent = new Intent(Intent.ACTION_VIEW); - Uri uri = FileProvider.getUriForFile(context, "org.tasks.files", new File(path)); + Uri uri = FileProvider.getUriForFile(context, Constants.FILE_PROVIDER_AUTHORITY, new File(path)); intent.setDataAndType(uri, type); grantReadPermissions(context, intent, uri); return intent; diff --git a/src/main/java/org/tasks/preferences/BackupPreferences.java b/src/main/java/org/tasks/preferences/BackupPreferences.java index d2260a43c..f20ee5303 100644 --- a/src/main/java/org/tasks/preferences/BackupPreferences.java +++ b/src/main/java/org/tasks/preferences/BackupPreferences.java @@ -67,7 +67,6 @@ public class BackupPreferences extends InjectingPreferenceActivity { findPreference(getString(R.string.p_backup_dir)).setOnPreferenceClickListener(p -> { Intent filesDir = new Intent(BackupPreferences.this, FileExplore.class); filesDir.putExtra(FileExplore.EXTRA_DIRECTORY_MODE, true); - filesDir.putExtra(FileExplore.EXTRA_START_PATH, getBackupDirectory()); startActivityForResult(filesDir, REQUEST_CODE_BACKUP_DIR); return true; }); diff --git a/src/main/java/org/tasks/preferences/MiscellaneousPreferences.java b/src/main/java/org/tasks/preferences/MiscellaneousPreferences.java index afe2b2c2b..eaa68d5d2 100644 --- a/src/main/java/org/tasks/preferences/MiscellaneousPreferences.java +++ b/src/main/java/org/tasks/preferences/MiscellaneousPreferences.java @@ -87,7 +87,6 @@ public class MiscellaneousPreferences extends InjectingPreferenceActivity { findPreference(getString(R.string.p_attachment_dir)).setOnPreferenceClickListener(p -> { Intent filesDir = new Intent(MiscellaneousPreferences.this, FileExplore.class); filesDir.putExtra(FileExplore.EXTRA_DIRECTORY_MODE, true); - filesDir.putExtra(FileExplore.EXTRA_START_PATH, getAttachmentDirectory()); startActivityForResult(filesDir, REQUEST_CODE_FILES_DIR); return true; }); diff --git a/src/main/res/values/theme.xml b/src/main/res/values/theme.xml index d3379b8a2..9321b86a4 100644 --- a/src/main/res/values/theme.xml +++ b/src/main/res/values/theme.xml @@ -20,6 +20,8 @@ @color/text_tertiary ?attr/overlay_theme @color/nnf_light_separator_color + ?attr/colorAccent + ?attr/colorAccent