fix external storage access with a legacy flag

This commit is contained in:
dkanada 2021-05-04 20:22:09 +09:00
commit d629311768
4 changed files with 5 additions and 9 deletions

View file

@ -18,6 +18,7 @@
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:networkSecurityConfig="@xml/network_security_config"
android:requestLegacyExternalStorage="true"
android:supportsRtl="true"
android:theme="@style/Theme.Phonograph.Light"
tools:ignore="UnusedAttribute">
@ -33,7 +34,6 @@
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.intent.action.MUSIC_PLAYER" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.APP_MUSIC" />
<category android:name="android.intent.category.DEFAULT" />

View file

@ -96,7 +96,7 @@ public class LocalPlayer implements Playback {
@Override
public void setDataSource(Song song) {
String uri = MusicUtil.getSongFileUri(song);
String uri = MusicUtil.getTranscodeUri(song);
MediaItem mediaItem = exoPlayer.getCurrentMediaItem();
if (mediaItem != null && mediaItem.playbackProperties.uri.toString().equals(uri)) {
@ -104,7 +104,7 @@ public class LocalPlayer implements Playback {
}
exoPlayer.clearMediaItems();
appendDataSource(MusicUtil.getSongFileUri(song));
appendDataSource(MusicUtil.getTranscodeUri(song));
exoPlayer.seekTo(0, 0);
}
@ -114,7 +114,7 @@ public class LocalPlayer implements Playback {
exoPlayer.removeMediaItem(1);
}
appendDataSource(MusicUtil.getSongFileUri(song));
appendDataSource(MusicUtil.getTranscodeUri(song));
}
private void appendDataSource(String path) {

View file

@ -25,7 +25,7 @@ import java.util.List;
import java.util.Locale;
public class MusicUtil {
public static String getSongFileUri(Song song) {
public static String getTranscodeUri(Song song) {
PreferenceUtil preferenceUtil = PreferenceUtil.getInstance(App.getInstance());
StringBuilder builder = new StringBuilder(256);

View file

@ -66,28 +66,24 @@ public class NavigationUtil {
public static void startArtist(@NonNull final Activity activity, final Artist artist, @Nullable Pair... sharedElements) {
final Intent intent = new Intent(activity, ArtistDetailActivity.class);
intent.putExtra(ArtistDetailActivity.EXTRA_ARTIST, artist);
startActivitySharedElements(activity, intent, sharedElements);
}
public static void startAlbum(@NonNull final Activity activity, final Album album, @Nullable Pair... sharedElements) {
final Intent intent = new Intent(activity, AlbumDetailActivity.class);
intent.putExtra(AlbumDetailActivity.EXTRA_ALBUM, album);
startActivitySharedElements(activity, intent, sharedElements);
}
public static void startGenre(@NonNull final Activity activity, final Genre genre, @Nullable Pair... sharedElements) {
final Intent intent = new Intent(activity, GenreDetailActivity.class);
intent.putExtra(GenreDetailActivity.EXTRA_GENRE, genre);
startActivitySharedElements(activity, intent, sharedElements);
}
public static void startPlaylist(@NonNull final Activity activity, final Playlist playlist, @Nullable Pair... sharedElements) {
final Intent intent = new Intent(activity, PlaylistDetailActivity.class);
intent.putExtra(PlaylistDetailActivity.EXTRA_PLAYLIST, playlist);
startActivitySharedElements(activity, intent, sharedElements);
}