diff options
author | ByteHamster <info@bytehamster.com> | 2020-07-01 10:05:27 +0200 |
---|---|---|
committer | ByteHamster <info@bytehamster.com> | 2020-07-01 10:14:37 +0200 |
commit | 148b86a3e84a65cade4765c6224918f57109b5b3 (patch) | |
tree | 81dcb47dc68510a1511b57a9ba033278c599f3a4 /app/src/main/java/de/danoeh/antennapod/fragment/preferences/StoragePreferencesFragment.java | |
parent | 0e05a8af7b349d552fa70cd2f6da6dc3567c41ac (diff) | |
download | AntennaPod-148b86a3e84a65cade4765c6224918f57109b5b3.zip |
Removed DirectoryChooserActivity
This lead to problems when removing the sd card and left the app in stuck mode.
Selecting a folder freely that way will not work with new Android versions anyway.
Now, AntennaPod shows the folder chooser that is displayed on the storage settings screen.
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod/fragment/preferences/StoragePreferencesFragment.java')
-rw-r--r-- | app/src/main/java/de/danoeh/antennapod/fragment/preferences/StoragePreferencesFragment.java | 86 |
1 files changed, 1 insertions, 85 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/preferences/StoragePreferencesFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/preferences/StoragePreferencesFragment.java index 8a0742b7f..a94bb30f1 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/preferences/StoragePreferencesFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/preferences/StoragePreferencesFragment.java @@ -1,18 +1,9 @@ package de.danoeh.antennapod.fragment.preferences; -import android.Manifest; -import android.app.Activity; -import android.content.Context; -import android.content.Intent; -import android.content.pm.PackageManager; -import android.os.Build; import android.os.Bundle; -import android.util.Log; import androidx.appcompat.app.AlertDialog; -import androidx.core.app.ActivityCompat; import androidx.preference.PreferenceFragmentCompat; import de.danoeh.antennapod.R; -import de.danoeh.antennapod.activity.DirectoryChooserActivity; import de.danoeh.antennapod.activity.PreferenceActivity; import de.danoeh.antennapod.core.preferences.UserPreferences; import de.danoeh.antennapod.dialog.ChooseDataFolderDialog; @@ -23,10 +14,6 @@ public class StoragePreferencesFragment extends PreferenceFragmentCompat { private static final String TAG = "StoragePrefFragment"; private static final String PREF_CHOOSE_DATA_DIR = "prefChooseDataDir"; private static final String PREF_IMPORT_EXPORT = "prefImportExport"; - private static final String[] EXTERNAL_STORAGE_PERMISSIONS = { - Manifest.permission.READ_EXTERNAL_STORAGE, - Manifest.permission.WRITE_EXTERNAL_STORAGE }; - private static final int PERMISSION_REQUEST_EXTERNAL_STORAGE = 41; @Override public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { @@ -47,36 +34,9 @@ public class StoragePreferencesFragment extends PreferenceFragmentCompat { } private void setupStorageScreen() { - final Activity activity = getActivity(); findPreference(PREF_CHOOSE_DATA_DIR).setOnPreferenceClickListener( preference -> { - if (Build.VERSION_CODES.KITKAT <= Build.VERSION.SDK_INT - && Build.VERSION.SDK_INT <= Build.VERSION_CODES.LOLLIPOP_MR1) { - showChooseDataFolderDialog(); - } else { - int readPermission = ActivityCompat.checkSelfPermission( - activity, Manifest.permission.READ_EXTERNAL_STORAGE); - int writePermission = ActivityCompat.checkSelfPermission( - activity, Manifest.permission.WRITE_EXTERNAL_STORAGE); - if (readPermission == PackageManager.PERMISSION_GRANTED - && writePermission == PackageManager.PERMISSION_GRANTED) { - openDirectoryChooser(); - } else { - requestPermission(); - } - } - return true; - } - ); - findPreference(PREF_CHOOSE_DATA_DIR).setOnPreferenceClickListener( - preference -> { - if (Build.VERSION.SDK_INT >= 19) { - showChooseDataFolderDialog(); - } else { - Intent intent = new Intent(activity, DirectoryChooserActivity.class); - activity.startActivityForResult(intent, - DirectoryChooserActivity.RESULT_CODE_DIR_SELECTED); - } + showChooseDataFolderDialog(); return true; } ); @@ -104,39 +64,6 @@ public class StoragePreferencesFragment extends PreferenceFragmentCompat { ); } - public void onActivityResult(int requestCode, int resultCode, Intent data) { - if (resultCode == Activity.RESULT_OK && requestCode == DirectoryChooserActivity.RESULT_CODE_DIR_SELECTED) { - String dir = data.getStringExtra(DirectoryChooserActivity.RESULT_SELECTED_DIR); - - File path; - if (dir != null) { - path = new File(dir); - } else { - path = getActivity().getExternalFilesDir(null); - } - String message = null; - final Context context = getActivity().getApplicationContext(); - if (!path.exists()) { - message = String.format(context.getString(R.string.folder_does_not_exist_error), dir); - } else if (!path.canRead()) { - message = String.format(context.getString(R.string.folder_not_readable_error), dir); - } else if (!path.canWrite()) { - message = String.format(context.getString(R.string.folder_not_writable_error), dir); - } - - if (message == null) { - Log.d(TAG, "Setting data folder: " + dir); - UserPreferences.setDataFolder(dir); - setDataFolderText(); - } else { - AlertDialog.Builder ab = new AlertDialog.Builder(getActivity()); - ab.setMessage(message); - ab.setPositiveButton(android.R.string.ok, null); - ab.show(); - } - } - } - private void setDataFolderText() { File f = UserPreferences.getDataFolder(null); if (f != null) { @@ -144,17 +71,6 @@ public class StoragePreferencesFragment extends PreferenceFragmentCompat { } } - private void requestPermission() { - ActivityCompat.requestPermissions(getActivity(), EXTERNAL_STORAGE_PERMISSIONS, - PERMISSION_REQUEST_EXTERNAL_STORAGE); - } - - private void openDirectoryChooser() { - Activity activity = getActivity(); - Intent intent = new Intent(activity, DirectoryChooserActivity.class); - activity.startActivityForResult(intent, DirectoryChooserActivity.RESULT_CODE_DIR_SELECTED); - } - private void showChooseDataFolderDialog() { ChooseDataFolderDialog.showDialog( getActivity(), new ChooseDataFolderDialog.RunnableWithString() { |