diff options
author | ByteHamster <info@bytehamster.com> | 2019-10-06 08:57:31 +0200 |
---|---|---|
committer | ByteHamster <info@bytehamster.com> | 2019-10-06 08:57:31 +0200 |
commit | 4981d698c111b794b5094396a6974596476ef878 (patch) | |
tree | 26bce59e664211b7495200b639a3162a23a19e32 | |
parent | e6ae4c23f0d79fd700230712183014950b35f442 (diff) | |
download | AntennaPod-4981d698c111b794b5094396a6974596476ef878.zip |
Fixed wrong media type after granting storage permission
-rw-r--r-- | app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java | 29 |
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; } |