summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorByteHamster <info@bytehamster.com>2019-10-06 08:57:31 +0200
committerByteHamster <info@bytehamster.com>2019-10-06 08:57:31 +0200
commit4981d698c111b794b5094396a6974596476ef878 (patch)
tree26bce59e664211b7495200b639a3162a23a19e32
parente6ae4c23f0d79fd700230712183014950b35f442 (diff)
downloadAntennaPod-4981d698c111b794b5094396a6974596476ef878.zip
Fixed wrong media type after granting storage permission
-rw-r--r--app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java29
1 files changed, 18 insertions, 11 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java
index 639dd9e5e..a060e258a 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java
@@ -11,6 +11,7 @@ import android.graphics.Color;
import android.graphics.PixelFormat;
import android.os.Build;
import android.os.Bundle;
+import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.app.ActivityCompat;
import androidx.core.app.ActivityOptionsCompat;
@@ -76,7 +77,8 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements
private static final String TAG = "MediaplayerActivity";
private static final String PREFS = "MediaPlayerActivityPreferences";
private static final String PREF_SHOW_TIME_LEFT = "showTimeLeft";
- private static final int REQUEST_CODE_STORAGE = 42;
+ private static final int REQUEST_CODE_STORAGE_PLAY_VIDEO = 42;
+ private static final int REQUEST_CODE_STORAGE_PLAY_AUDIO = 43;
PlaybackController controller;
@@ -857,8 +859,11 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements
Toast.makeText(this, R.string.needs_storage_permission, Toast.LENGTH_LONG).show();
}
- ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},
- REQUEST_CODE_STORAGE);
+ int code = REQUEST_CODE_STORAGE_PLAY_AUDIO;
+ if (type == MediaType.VIDEO) {
+ code = REQUEST_CODE_STORAGE_PLAY_VIDEO;
+ }
+ ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, code);
return;
}
@@ -874,20 +879,22 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements
}
@Override
- public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
- if (requestCode == REQUEST_CODE_STORAGE) {
- if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
- playExternalMedia(getIntent(), MediaType.UNKNOWN);
- } else {
- Toast.makeText(this, R.string.needs_storage_permission, Toast.LENGTH_LONG).show();
+ public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, int[] grantResults) {
+ if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
+ if (requestCode == REQUEST_CODE_STORAGE_PLAY_AUDIO) {
+ playExternalMedia(getIntent(), MediaType.AUDIO);
+ } else if (requestCode == REQUEST_CODE_STORAGE_PLAY_VIDEO) {
+ playExternalMedia(getIntent(), MediaType.VIDEO);
}
+ } else {
+ Toast.makeText(this, R.string.needs_storage_permission, Toast.LENGTH_LONG).show();
}
}
@Nullable
private static FeedItem getFeedItem(@Nullable Playable playable) {
- if ((playable != null) && (playable instanceof FeedMedia)) {
- return ((FeedMedia)playable).getItem();
+ if (playable instanceof FeedMedia) {
+ return ((FeedMedia) playable).getItem();
} else {
return null;
}