diff --git a/src/amazon/java/org/tasks/injection/ActivityComponent.java b/src/amazon/java/org/tasks/injection/ActivityComponent.java
index 6da60dcc7..7d6f1ccef 100644
--- a/src/amazon/java/org/tasks/injection/ActivityComponent.java
+++ b/src/amazon/java/org/tasks/injection/ActivityComponent.java
@@ -26,7 +26,6 @@ import org.tasks.files.FileExplore;
import org.tasks.files.MyFilePickerActivity;
import org.tasks.locale.ui.activity.TaskerSettingsActivity;
import org.tasks.preferences.AppearancePreferences;
-import org.tasks.preferences.BackupPreferences;
import org.tasks.preferences.BasicPreferences;
import org.tasks.preferences.DateShortcutPreferences;
import org.tasks.preferences.HelpAndFeedbackActivity;
@@ -106,8 +105,6 @@ public interface ActivityComponent {
void inject(ShortcutConfigActivity shortcutConfigActivity);
- void inject(BackupPreferences backupPreferences);
-
void inject(MiscellaneousPreferences miscellaneousPreferences);
void inject(HelpAndFeedbackActivity helpAndFeedbackActivity);
diff --git a/src/generic/java/org/tasks/injection/ActivityComponent.java b/src/generic/java/org/tasks/injection/ActivityComponent.java
index 6da60dcc7..7d6f1ccef 100644
--- a/src/generic/java/org/tasks/injection/ActivityComponent.java
+++ b/src/generic/java/org/tasks/injection/ActivityComponent.java
@@ -26,7 +26,6 @@ import org.tasks.files.FileExplore;
import org.tasks.files.MyFilePickerActivity;
import org.tasks.locale.ui.activity.TaskerSettingsActivity;
import org.tasks.preferences.AppearancePreferences;
-import org.tasks.preferences.BackupPreferences;
import org.tasks.preferences.BasicPreferences;
import org.tasks.preferences.DateShortcutPreferences;
import org.tasks.preferences.HelpAndFeedbackActivity;
@@ -106,8 +105,6 @@ public interface ActivityComponent {
void inject(ShortcutConfigActivity shortcutConfigActivity);
- void inject(BackupPreferences backupPreferences);
-
void inject(MiscellaneousPreferences miscellaneousPreferences);
void inject(HelpAndFeedbackActivity helpAndFeedbackActivity);
diff --git a/src/googleplay/java/org/tasks/injection/ActivityComponent.java b/src/googleplay/java/org/tasks/injection/ActivityComponent.java
index 890ad1825..5d0493eb6 100644
--- a/src/googleplay/java/org/tasks/injection/ActivityComponent.java
+++ b/src/googleplay/java/org/tasks/injection/ActivityComponent.java
@@ -28,7 +28,6 @@ import org.tasks.files.FileExplore;
import org.tasks.files.MyFilePickerActivity;
import org.tasks.locale.ui.activity.TaskerSettingsActivity;
import org.tasks.preferences.AppearancePreferences;
-import org.tasks.preferences.BackupPreferences;
import org.tasks.preferences.BasicPreferences;
import org.tasks.preferences.DateShortcutPreferences;
import org.tasks.preferences.HelpAndFeedbackActivity;
@@ -113,8 +112,6 @@ public interface ActivityComponent {
void inject(ShortcutConfigActivity shortcutConfigActivity);
- void inject(BackupPreferences backupPreferences);
-
void inject(MiscellaneousPreferences miscellaneousPreferences);
void inject(HelpAndFeedbackActivity helpAndFeedbackActivity);
diff --git a/src/main/AndroidManifest.xml b/src/main/AndroidManifest.xml
index 4d3673bdb..df8c3b367 100644
--- a/src/main/AndroidManifest.xml
+++ b/src/main/AndroidManifest.xml
@@ -192,11 +192,6 @@
android:label="@string/miscellaneous"
android:theme="@style/Tasks" />
-
-
{
- Intent intent = new Intent(BackupPreferences.this, FileExplore.class);
- intent.putExtra(FileExplore.EXTRA_START_PATH, preferences.getBackupDirectory().getAbsolutePath());
- startActivityForResult(intent, REQUEST_PICKER);
- return false;
- });
-
- findPreference(R.string.backup_BAc_export).setOnPreferenceClickListener(preference -> {
- newExportTasksDialog().show(getFragmentManager(), FRAG_TAG_EXPORT_TASKS);
- return false;
- });
-
- initializeBackupDirectory();
- }
-
- @Override
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- if (requestCode == REQUEST_CODE_BACKUP_DIR && resultCode == RESULT_OK) {
- if (data != null) {
- String dir = data.getStringExtra(FileExplore.EXTRA_DIRECTORY);
- preferences.setString(R.string.p_backup_dir, dir);
- updateBackupDirectory();
- }
- } else if (requestCode == REQUEST_PICKER) {
- if (resultCode == RESULT_OK) {
- newImportTasksDialog(data.getStringExtra(FileExplore.EXTRA_FILE))
- .show(getFragmentManager(), FRAG_TAG_IMPORT_TASKS);
- }
- } else {
- super.onActivityResult(requestCode, resultCode, data);
- }
- }
-
- private void initializeBackupDirectory() {
- findPreference(getString(R.string.p_backup_dir)).setOnPreferenceClickListener(p -> {
- Intent filesDir = new Intent(BackupPreferences.this, FileExplore.class);
- filesDir.putExtra(FileExplore.EXTRA_DIRECTORY_MODE, true);
- startActivityForResult(filesDir, REQUEST_CODE_BACKUP_DIR);
- return true;
- });
- updateBackupDirectory();
- }
-
- private void updateBackupDirectory() {
- findPreference(getString(R.string.p_backup_dir)).setSummary(getBackupDirectory());
- }
-
- private String getBackupDirectory() {
- File dir = preferences.getBackupDirectory();
- return dir == null ? "" : dir.getAbsolutePath();
- }
-
- @Override
- public void inject(ActivityComponent component) {
- component.inject(this);
- }
-}
diff --git a/src/main/java/org/tasks/preferences/BasicPreferences.java b/src/main/java/org/tasks/preferences/BasicPreferences.java
index 079cc1a07..39fd4b821 100644
--- a/src/main/java/org/tasks/preferences/BasicPreferences.java
+++ b/src/main/java/org/tasks/preferences/BasicPreferences.java
@@ -23,6 +23,7 @@ import org.tasks.billing.PurchaseHelper;
import org.tasks.billing.PurchaseHelperCallback;
import org.tasks.dialogs.ColorPickerDialog;
import org.tasks.dialogs.DialogBuilder;
+import org.tasks.files.FileExplore;
import org.tasks.injection.ActivityComponent;
import org.tasks.injection.InjectingPreferenceActivity;
import org.tasks.locale.Locale;
@@ -33,12 +34,16 @@ import org.tasks.themes.ThemeBase;
import org.tasks.themes.ThemeCache;
import org.tasks.themes.ThemeColor;
+import java.io.File;
+
import javax.inject.Inject;
import timber.log.Timber;
import static com.todoroo.andlib.utility.AndroidUtilities.atLeastJellybeanMR1;
import static org.tasks.dialogs.DonationDialog.newDonationDialog;
+import static org.tasks.dialogs.ExportTasksDialog.newExportTasksDialog;
+import static org.tasks.dialogs.ImportTasksDialog.newImportTasksDialog;
import static org.tasks.locale.LocalePickerDialog.newLocalePickerDialog;
public class BasicPreferences extends InjectingPreferenceActivity implements
@@ -47,11 +52,15 @@ public class BasicPreferences extends InjectingPreferenceActivity implements
private static final String EXTRA_RESULT = "extra_result";
private static final String FRAG_TAG_LOCALE_PICKER = "frag_tag_locale_picker";
private static final String FRAG_TAG_DONATION = "frag_tag_donation";
+ private static final String FRAG_TAG_IMPORT_TASKS = "frag_tag_import_tasks";
+ private static final String FRAG_TAG_EXPORT_TASKS = "frag_tag_export_tasks";
private static final int RC_PREFS = 10001;
private static final int REQUEST_THEME_PICKER = 10002;
private static final int REQUEST_COLOR_PICKER = 10003;
private static final int REQUEST_ACCENT_PICKER = 10004;
public static final int REQUEST_PURCHASE = 10005;
+ private static final int REQUEST_CODE_BACKUP_DIR = 10005;
+ private static final int REQUEST_PICKER = 10006;
@Inject Tracker tracker;
@Inject Preferences preferences;
@@ -188,6 +197,20 @@ public class BasicPreferences extends InjectingPreferenceActivity implements
});
}
+ findPreference(R.string.backup_BAc_import).setOnPreferenceClickListener(preference -> {
+ Intent intent = new Intent(BasicPreferences.this, FileExplore.class);
+ intent.putExtra(FileExplore.EXTRA_START_PATH, preferences.getBackupDirectory().getAbsolutePath());
+ startActivityForResult(intent, REQUEST_PICKER);
+ return false;
+ });
+
+ findPreference(R.string.backup_BAc_export).setOnPreferenceClickListener(preference -> {
+ newExportTasksDialog().show(getFragmentManager(), FRAG_TAG_EXPORT_TASKS);
+ return false;
+ });
+
+ initializeBackupDirectory();
+
requires(R.string.get_plugins, atLeastJellybeanMR1(), R.string.p_purchased_dashclock);
requires(R.string.settings_localization, atLeastJellybeanMR1(), R.string.p_language, R.string.p_layout_direction);
@@ -241,6 +264,17 @@ public class BasicPreferences extends InjectingPreferenceActivity implements
if (resultCode == Activity.RESULT_OK && data != null) {
result.putAll(data.getExtras());
}
+ } else if (requestCode == REQUEST_CODE_BACKUP_DIR) {
+ if (resultCode == RESULT_OK && data != null) {
+ String dir = data.getStringExtra(FileExplore.EXTRA_DIRECTORY);
+ preferences.setString(R.string.p_backup_dir, dir);
+ updateBackupDirectory();
+ }
+ } else if (requestCode == REQUEST_PICKER) {
+ if (resultCode == RESULT_OK) {
+ newImportTasksDialog(data.getStringExtra(FileExplore.EXTRA_FILE))
+ .show(getFragmentManager(), FRAG_TAG_IMPORT_TASKS);
+ }
} else if (requestCode == REQUEST_PURCHASE) {
purchaseHelper.handleActivityResult(this, requestCode, resultCode, data);
} else {
@@ -316,6 +350,25 @@ public class BasicPreferences extends InjectingPreferenceActivity implements
}
}
+ private void initializeBackupDirectory() {
+ findPreference(getString(R.string.p_backup_dir)).setOnPreferenceClickListener(p -> {
+ Intent filesDir = new Intent(BasicPreferences.this, FileExplore.class);
+ filesDir.putExtra(FileExplore.EXTRA_DIRECTORY_MODE, true);
+ startActivityForResult(filesDir, REQUEST_CODE_BACKUP_DIR);
+ return true;
+ });
+ updateBackupDirectory();
+ }
+
+ private void updateBackupDirectory() {
+ findPreference(getString(R.string.p_backup_dir)).setSummary(getBackupDirectory());
+ }
+
+ private String getBackupDirectory() {
+ File dir = preferences.getBackupDirectory();
+ return dir == null ? "" : dir.getAbsolutePath();
+ }
+
@Override
public void inject(ActivityComponent component) {
component.inject(this);
diff --git a/src/main/java/org/tasks/preferences/Preferences.java b/src/main/java/org/tasks/preferences/Preferences.java
index ded0c4f41..22fcc56e7 100644
--- a/src/main/java/org/tasks/preferences/Preferences.java
+++ b/src/main/java/org/tasks/preferences/Preferences.java
@@ -112,8 +112,8 @@ public class Preferences {
}
public void setDefaults() {
+ PreferenceManager.setDefaultValues(context, R.xml.preferences, true);
PreferenceManager.setDefaultValues(context, R.xml.preferences_appearance, true);
- PreferenceManager.setDefaultValues(context, R.xml.preferences_backup, true);
PreferenceManager.setDefaultValues(context, R.xml.preferences_date_shortcuts, true);
PreferenceManager.setDefaultValues(context, R.xml.preferences_defaults, true);
PreferenceManager.setDefaultValues(context, R.xml.preferences_gtasks, true);
diff --git a/src/main/res/xml/preferences.xml b/src/main/res/xml/preferences.xml
index ea1118949..75022bb2d 100644
--- a/src/main/res/xml/preferences.xml
+++ b/src/main/res/xml/preferences.xml
@@ -49,12 +49,6 @@
android:targetPackage="org.tasks" />
-
-
-
-
@@ -67,6 +61,23 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/res/xml/preferences_backup.xml b/src/main/res/xml/preferences_backup.xml
deleted file mode 100644
index ae449cedf..000000000
--- a/src/main/res/xml/preferences_backup.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
-
-
-
-
-