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 @@ - - - - - - - - - -