summaryrefslogtreecommitdiff
path: root/app/src/main/java/de/danoeh/antennapod/fragment
diff options
context:
space:
mode:
authorByteHamster <info@bytehamster.com>2020-07-01 10:05:27 +0200
committerByteHamster <info@bytehamster.com>2020-07-01 10:14:37 +0200
commit148b86a3e84a65cade4765c6224918f57109b5b3 (patch)
tree81dcb47dc68510a1511b57a9ba033278c599f3a4 /app/src/main/java/de/danoeh/antennapod/fragment
parent0e05a8af7b349d552fa70cd2f6da6dc3567c41ac (diff)
downloadAntennaPod-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')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/preferences/StoragePreferencesFragment.java86
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() {