From 65491d5436e714d148cb337706e723ee5b62c83d Mon Sep 17 00:00:00 2001 From: daniel oeh Date: Sun, 30 Dec 2012 21:51:59 +0100 Subject: [PATCH] Added 'set to default folder' menu button --- res/menu/directory_chooser.xml | 1 + res/values/strings.xml | 1 + .../activity/DirectoryChooserActivity.java | 16 +++++++++++++--- .../antennapod/activity/PreferenceActivity.java | 11 +++-------- 4 files changed, 18 insertions(+), 11 deletions(-) diff --git a/res/menu/directory_chooser.xml b/res/menu/directory_chooser.xml index f97bb4cb8..2c5eabe37 100644 --- a/res/menu/directory_chooser.xml +++ b/res/menu/directory_chooser.xml @@ -1,6 +1,7 @@ + \ No newline at end of file diff --git a/res/values/strings.xml b/res/values/strings.xml index 001c5e176..3c428559a 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -226,5 +226,6 @@ Could not create folder Folder is not empty The folder you have selected is not empty. Media downloads and other data will be placed directly in this folder. Continue anyway? + Set to default folder \ No newline at end of file diff --git a/src/de/danoeh/antennapod/activity/DirectoryChooserActivity.java b/src/de/danoeh/antennapod/activity/DirectoryChooserActivity.java index a83a77f28..b93620b05 100644 --- a/src/de/danoeh/antennapod/activity/DirectoryChooserActivity.java +++ b/src/de/danoeh/antennapod/activity/DirectoryChooserActivity.java @@ -158,13 +158,19 @@ public class DirectoryChooserActivity extends SherlockActivity { changeDirectory(Environment.getExternalStorageDirectory()); } - /** Finishes the activity and returns the selected folder as a result. */ + /** + * Finishes the activity and returns the selected folder as a result. The + * selected folder can also be null. + */ private void returnSelectedFolder() { - if (AppConfig.DEBUG) + if (selectedDir != null && AppConfig.DEBUG) Log.d(TAG, "Returning " + selectedDir.getAbsolutePath() + " as result"); Intent resultData = new Intent(); - resultData.putExtra(RESULT_SELECTED_DIR, selectedDir.getAbsolutePath()); + if (selectedDir != null) { + resultData.putExtra(RESULT_SELECTED_DIR, + selectedDir.getAbsolutePath()); + } setResult(RESULT_CODE_DIR_SELECTED, resultData); finish(); } @@ -299,6 +305,10 @@ public class DirectoryChooserActivity extends SherlockActivity { case R.id.new_folder_item: openNewFolderDialog(); return true; + case R.id.set_to_default_folder_item: + selectedDir = null; + returnSelectedFolder(); + return true; default: return false; } diff --git a/src/de/danoeh/antennapod/activity/PreferenceActivity.java b/src/de/danoeh/antennapod/activity/PreferenceActivity.java index 9ce3074a9..8b3f87179 100644 --- a/src/de/danoeh/antennapod/activity/PreferenceActivity.java +++ b/src/de/danoeh/antennapod/activity/PreferenceActivity.java @@ -177,14 +177,9 @@ public class PreferenceActivity extends SherlockPreferenceActivity { if (resultCode == DirectoryChooserActivity.RESULT_CODE_DIR_SELECTED) { String dir = data .getStringExtra(DirectoryChooserActivity.RESULT_SELECTED_DIR); - if (dir != null) { - if (AppConfig.DEBUG) - Log.d(TAG, "Setting data folder"); - PodcastApp.getInstance().setDataFolder(dir); - } else { - if (AppConfig.DEBUG) - Log.d(TAG, "Result from DirectoryChooser was null"); - } + if (AppConfig.DEBUG) + Log.d(TAG, "Setting data folder"); + PodcastApp.getInstance().setDataFolder(dir); } }