Custom backup/attachment dir requires Android 5+

pull/996/head
Alex Baker 4 years ago
parent 2d99ef230e
commit 448578cef3

@ -164,7 +164,6 @@ dependencies {
implementation("com.squareup.okhttp3:okhttp:${Versions.okhttp}")
implementation("com.google.code.gson:gson:2.8.6")
implementation("com.github.rey5137:material:1.3.0")
implementation("com.nononsenseapps:filepicker:4.2.1")
implementation("com.google.android.material:material:1.1.0")
implementation("androidx.annotation:annotation:1.1.0")
implementation("androidx.constraintlayout:constraintlayout:2.0.0-beta4")

@ -160,11 +160,6 @@
licenseUrl: https://opensource.org/licenses/BSD-2-Clause
url: https://github.com/mapbox/mapbox-gl-native
forceGenerate: true
- artifact: com.nononsenseapps:filepicker:+
name: filepicker
copyrightHolder: Jonas Kalderstam
license: Mozilla Public License, Version 2.0
licenseUrl: https://www.mozilla.org/en-US/MPL/2.0/
- artifact: androidx.annotation:annotation:+
name: Android Support Library Annotations
copyrightHolder: Android Open Source Project
@ -229,18 +224,6 @@
license: The Apache Software License, Version 2.0
licenseUrl: http://www.apache.org/licenses/LICENSE-2.0.txt
url: http://commons.apache.org/proper/commons-lang/
- artifact: androidx.legacy:legacy-support-v4:+
name: Android Support Library v4
copyrightHolder: Android Open Source Project
license: The Apache Software License, Version 2.0
licenseUrl: http://www.apache.org/licenses/LICENSE-2.0.txt
url: http://developer.android.com/tools/extras/support-library.html
- artifact: androidx.media:media:+
name: Android Support Library media compat
copyrightHolder: Android Open Source Project
license: The Apache Software License, Version 2.0
licenseUrl: http://www.apache.org/licenses/LICENSE-2.0.txt
url: http://developer.android.com/tools/extras/support-library.html
- artifact: com.mapbox.mapboxsdk:mapbox-sdk-geojson:+
name: Mapbox services-geojson
copyrightHolder: Mapbox
@ -465,12 +448,6 @@
license: The Apache Software License, Version 2.0
licenseUrl: http://www.apache.org/licenses/LICENSE-2.0.txt
url: https://github.com/JakeWharton/ThreeTenABP/
- artifact: androidx.asynclayoutinflater:asynclayoutinflater:+
name: Android Support Library Async Layout Inflater
copyrightHolder: Android Open Source Project
license: The Apache Software License, Version 2.0
licenseUrl: http://www.apache.org/licenses/LICENSE-2.0.txt
url: http://developer.android.com/tools/extras/support-library.html
- artifact: androidx.lifecycle:lifecycle-process:+
name: Android Lifecycle Process
copyrightHolder: Android Open Source Project
@ -495,12 +472,6 @@
license: The Apache Software License, Version 2.0
licenseUrl: http://www.apache.org/licenses/LICENSE-2.0.txt
url: https://github.com/JakeWharton/timber
- artifact: androidx.slidingpanelayout:slidingpanelayout:+
name: Android Support Library Sliding Pane Layout
copyrightHolder: Android Open Source Project
license: The Apache Software License, Version 2.0
licenseUrl: http://www.apache.org/licenses/LICENSE-2.0.txt
url: http://developer.android.com/tools/extras/support-library.html
- artifact: com.google.oauth-client:google-oauth-client:+
name: Google OAuth Client Library for Java
copyrightHolder: Google Inc.
@ -518,12 +489,6 @@
license: The Apache Software License, Version 2.0
licenseUrl: http://www.apache.org/licenses/LICENSE-2.0.txt
url: https://github.com/Saketme/BetterLinkMovementMethod
- artifact: androidx.legacy:legacy-support-core-ui:+
name: Android Support Library core UI
copyrightHolder: Android Open Source Project
license: The Apache Software License, Version 2.0
licenseUrl: http://www.apache.org/licenses/LICENSE-2.0.txt
url: http://developer.android.com/tools/extras/support-library.html
- artifact: androidx.drawerlayout:drawerlayout:+
name: Android Support Library Drawer Layout
copyrightHolder: Android Open Source Project

@ -249,16 +249,6 @@
android:name="com.todoroo.astrid.provider.Astrid2TaskProvider"
android:readPermission="org.tasks.permission.READ_TASKS"/>
<provider
android:authorities="${applicationId}.provider"
android:exported="false"
android:grantUriPermissions="true"
android:name="org.tasks.files.NNFileProvider">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/nnf_provider_paths"/>
</provider>
<provider
android:authorities="${applicationId}.file_provider"
android:exported="false"
@ -334,24 +324,6 @@
android:name=".drive.DriveLoginActivity"
android:theme="@style/TranslucentDialog" />
<!-- old tasks -->
<activity
android:label="@string/app_name"
android:name=".files.MyFilePickerActivity"
android:theme="@style/Tasks">
<intent-filter>
<action android:name="android.intent.action.GET_CONTENT"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
<activity
android:name=".files.FileExplore"
android:theme="@style/TranslucentDialog"/>
<!-- reminders -->
<activity
android:name=".voice.VoiceCommandActivity"
android:theme="@style/TranslucentDialog">

@ -432,22 +432,6 @@
"version": "7.3.0"
}
},
{
"notice": null,
"copyrightHolder": "Jonas Kalderstam",
"copyrightStatement": "Copyright &copy; Jonas Kalderstam. All rights reserved.",
"license": "Mozilla Public License, Version 2.0",
"licenseUrl": "https://www.mozilla.org/en-US/MPL/2.0/",
"normalizedLicense": "mpl2",
"year": null,
"url": "",
"libraryName": "filepicker",
"artifactId": {
"name": "filepicker",
"group": "com.nononsenseapps",
"version": "4.2.1"
}
},
{
"notice": null,
"copyrightHolder": "Android Open Source Project",
@ -624,38 +608,6 @@
"version": "3.8.1"
}
},
{
"notice": null,
"copyrightHolder": "Android Open Source Project",
"copyrightStatement": "Copyright &copy; Android Open Source Project. All rights reserved.",
"license": "The Apache Software License, Version 2.0",
"licenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt",
"normalizedLicense": "apache2",
"year": null,
"url": "http://developer.android.com/tools/extras/support-library.html",
"libraryName": "Android Support Library v4",
"artifactId": {
"name": "legacy-support-v4",
"group": "androidx.legacy",
"version": "1.0.0"
}
},
{
"notice": null,
"copyrightHolder": "Android Open Source Project",
"copyrightStatement": "Copyright &copy; Android Open Source Project. All rights reserved.",
"license": "The Apache Software License, Version 2.0",
"licenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt",
"normalizedLicense": "apache2",
"year": null,
"url": "http://developer.android.com/tools/extras/support-library.html",
"libraryName": "Android Support Library media compat",
"artifactId": {
"name": "media",
"group": "androidx.media",
"version": "1.0.0"
}
},
{
"notice": null,
"copyrightHolder": "Mapbox",
@ -1248,22 +1200,6 @@
"version": "1.2.2"
}
},
{
"notice": null,
"copyrightHolder": "Android Open Source Project",
"copyrightStatement": "Copyright &copy; Android Open Source Project. All rights reserved.",
"license": "The Apache Software License, Version 2.0",
"licenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt",
"normalizedLicense": "apache2",
"year": null,
"url": "http://developer.android.com/tools/extras/support-library.html",
"libraryName": "Android Support Library Async Layout Inflater",
"artifactId": {
"name": "asynclayoutinflater",
"group": "androidx.asynclayoutinflater",
"version": "1.0.0"
}
},
{
"notice": null,
"copyrightHolder": "Android Open Source Project",
@ -1328,22 +1264,6 @@
"version": "4.7.1"
}
},
{
"notice": null,
"copyrightHolder": "Android Open Source Project",
"copyrightStatement": "Copyright &copy; Android Open Source Project. All rights reserved.",
"license": "The Apache Software License, Version 2.0",
"licenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt",
"normalizedLicense": "apache2",
"year": null,
"url": "http://developer.android.com/tools/extras/support-library.html",
"libraryName": "Android Support Library Sliding Pane Layout",
"artifactId": {
"name": "slidingpanelayout",
"group": "androidx.slidingpanelayout",
"version": "1.0.0"
}
},
{
"notice": null,
"copyrightHolder": "Google Inc.",
@ -1392,22 +1312,6 @@
"version": "2.2.0"
}
},
{
"notice": null,
"copyrightHolder": "Android Open Source Project",
"copyrightStatement": "Copyright &copy; Android Open Source Project. All rights reserved.",
"license": "The Apache Software License, Version 2.0",
"licenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt",
"normalizedLicense": "apache2",
"year": null,
"url": "http://developer.android.com/tools/extras/support-library.html",
"libraryName": "Android Support Library core UI",
"artifactId": {
"name": "legacy-support-core-ui",
"group": "androidx.legacy",
"version": "1.0.0"
}
},
{
"notice": null,
"copyrightHolder": "Android Open Source Project",

@ -1,78 +0,0 @@
package org.tasks.files;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import com.google.common.base.Strings;
import com.nononsenseapps.filepicker.FilePickerActivity;
import com.nononsenseapps.filepicker.Utils;
import java.io.File;
import org.tasks.injection.ActivityComponent;
import org.tasks.injection.InjectingAppCompatActivity;
public class FileExplore extends InjectingAppCompatActivity {
public static final String EXTRA_START_PATH = "extra_start_path";
public static final String EXTRA_DIRECTORY_MODE = "extra_directory_mode"; // $NON-NLS-1$
private static final int REQUEST_PICKER = 1000;
private boolean directoryMode;
private String startPath;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (savedInstanceState == null) {
Intent intent = getIntent();
directoryMode = intent.getBooleanExtra(EXTRA_DIRECTORY_MODE, false);
startPath = intent.getStringExtra(EXTRA_START_PATH);
launchPicker();
}
}
@Override
public void inject(ActivityComponent component) {
component.inject(this);
}
private void launchPicker() {
File path = null;
if (!Strings.isNullOrEmpty(startPath)) {
path = new File(startPath);
}
if (path == null || !path.exists()) {
if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) {
path = new File(Environment.getExternalStorageDirectory().toString());
} else {
path = Environment.getRootDirectory();
}
}
Intent i = new Intent(this, MyFilePickerActivity.class);
i.putExtra(FilePickerActivity.EXTRA_START_PATH, path.getAbsolutePath());
if (directoryMode) {
i.putExtra(FilePickerActivity.EXTRA_ALLOW_CREATE_DIR, true);
i.putExtra(FilePickerActivity.EXTRA_MODE, FilePickerActivity.MODE_DIR);
}
startActivityForResult(i, REQUEST_PICKER);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_PICKER) {
if (resultCode == Activity.RESULT_OK) {
Intent intent = new Intent();
File file = Utils.getFileForUri(data.getData());
intent.setData(Uri.fromFile(file));
setResult(Activity.RESULT_OK, intent);
}
finish();
} else {
super.onActivityResult(requestCode, resultCode, data);
}
}
}

@ -72,13 +72,6 @@ public class FileHelper {
intent.putExtra("android.content.extra.SHOW_FILESIZE", true);
setInitialUri(fragment.getContext(), intent, initial);
fragment.startActivityForResult(intent, rc);
} else {
Intent intent = new Intent(fragment.getContext(), FileExplore.class);
intent.putExtra(FileExplore.EXTRA_DIRECTORY_MODE, true);
if (initial != null) {
intent.putExtra(FileExplore.EXTRA_START_PATH, initial.getPath());
}
fragment.startActivityForResult(intent, rc);
}
}

@ -1,24 +0,0 @@
package org.tasks.files;
import android.os.Bundle;
import com.nononsenseapps.filepicker.FilePickerActivity;
import javax.inject.Inject;
import org.tasks.injection.ActivityModule;
import org.tasks.injection.InjectingApplication;
import org.tasks.themes.Theme;
public class MyFilePickerActivity extends FilePickerActivity {
@Inject Theme theme;
@Override
protected void onCreate(Bundle savedInstanceState) {
((InjectingApplication) getApplication())
.getComponent()
.plus(new ActivityModule(this))
.inject(this);
theme.applyThemeAndStatusBarColor(this);
setTitle(null);
super.onCreate(savedInstanceState);
}
}

@ -1,5 +0,0 @@
package org.tasks.files;
import androidx.core.content.FileProvider;
public class NNFileProvider extends FileProvider {}

@ -23,8 +23,6 @@ import org.tasks.drive.DriveLoginActivity;
import org.tasks.etesync.EncryptionSettingsActivity;
import org.tasks.etesync.EteSyncAccountSettingsActivity;
import org.tasks.etesync.EteSyncCalendarSettingsActivity;
import org.tasks.files.FileExplore;
import org.tasks.files.MyFilePickerActivity;
import org.tasks.locale.ui.activity.TaskerCreateTaskActivity;
import org.tasks.locale.ui.activity.TaskerSettingsActivity;
import org.tasks.location.LocationPickerActivity;
@ -79,8 +77,6 @@ public interface ActivityComponent {
void inject(SnoozeActivity snoozeActivity);
void inject(FileExplore fileExplore);
void inject(FilterSelectionActivity filterSelectionActivity);
void inject(DateAndTimePickerActivity dateAndTimePickerActivity);
@ -93,8 +89,6 @@ public interface ActivityComponent {
void inject(ShortcutConfigActivity shortcutConfigActivity);
void inject(MyFilePickerActivity myFilePickerActivity);
void inject(GoogleTaskListSettingsActivity googleTaskListSettingsActivity);
void inject(CaldavCalendarSettingsActivity caldavCalendarSettingsActivity);

@ -19,10 +19,6 @@
<item name="android:textColorPrimary">@color/text_primary</item>
<item name="android:textColorSecondary">@color/text_secondary</item>
<item name="android:textColorTertiary">@color/text_tertiary</item>
<item name="nnf_toolbarTheme">?attr/overlay_theme</item>
<item name="nnf_separator_color">@color/nnf_light_separator_color</item>
<item name="nnf_save_icon_color">?attr/colorAccent</item>
<item name="nnf_dir_icon_color">?attr/colorAccent</item>
<item name="card_elevation">2dp</item>
<item name="horizontal_divider_visibility">2</item> <!-- View.GONE -->
<item name="mdtp_theme_dark">@bool/is_dark</item>

Loading…
Cancel
Save