From eba11a9fe57dea3b16c77853b923023f9bf229eb Mon Sep 17 00:00:00 2001 From: Martin Fietz Date: Tue, 2 Feb 2016 09:39:23 +0100 Subject: Show restricted choose data folder dialog only on Lollipop; ask for permission on Marshmallow --- .../antennapod/activity/StorageErrorActivity.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'app/src/main/java/de/danoeh/antennapod/activity/StorageErrorActivity.java') diff --git a/app/src/main/java/de/danoeh/antennapod/activity/StorageErrorActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/StorageErrorActivity.java index 870983b97..e980764ec 100644 --- a/app/src/main/java/de/danoeh/antennapod/activity/StorageErrorActivity.java +++ b/app/src/main/java/de/danoeh/antennapod/activity/StorageErrorActivity.java @@ -6,6 +6,7 @@ import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; +import android.content.pm.PackageManager; import android.os.Build; import android.os.Bundle; import android.support.v4.app.ActivityCompat; @@ -33,6 +34,11 @@ public class StorageErrorActivity extends AppCompatActivity { private static final String TAG = "StorageErrorActivity"; + 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 = 42; + @Override protected void onCreate(Bundle savedInstanceState) { setTheme(UserPreferences.getTheme()); @@ -174,10 +180,15 @@ public class StorageErrorActivity extends AppCompatActivity { 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); + String dir = data.getStringExtra(DirectoryChooserActivity.RESULT_SELECTED_DIR); - File path = new File(dir); - String message = null; + File path; + if (dir != null) { + path = new File(dir); + } else { + path = getExternalFilesDir(null); + } + String message = null; if(!path.exists()) { message = String.format(getString(R.string.folder_does_not_exist_error), dir); } else if(!path.canRead()) { -- cgit v1.2.3