Using SQL SELECTION
This commit is contained in:
parent
2fe7ead73d
commit
3be34a854f
11 changed files with 125 additions and 135 deletions
|
|
@ -15,7 +15,7 @@ import com.kabouzeid.materialmusic.App;
|
||||||
import com.kabouzeid.materialmusic.R;
|
import com.kabouzeid.materialmusic.R;
|
||||||
import com.kabouzeid.materialmusic.adapter.songadapter.SongAdapter;
|
import com.kabouzeid.materialmusic.adapter.songadapter.SongAdapter;
|
||||||
import com.kabouzeid.materialmusic.helper.SongDetailDialogHelper;
|
import com.kabouzeid.materialmusic.helper.SongDetailDialogHelper;
|
||||||
import com.kabouzeid.materialmusic.loader.SongFileLoader;
|
import com.kabouzeid.materialmusic.loader.SongFilePathLoader;
|
||||||
import com.kabouzeid.materialmusic.misc.AppKeys;
|
import com.kabouzeid.materialmusic.misc.AppKeys;
|
||||||
import com.kabouzeid.materialmusic.model.Song;
|
import com.kabouzeid.materialmusic.model.Song;
|
||||||
import com.kabouzeid.materialmusic.ui.activities.tageditor.SongTagEditorActivity;
|
import com.kabouzeid.materialmusic.ui.activities.tageditor.SongTagEditorActivity;
|
||||||
|
|
@ -72,7 +72,7 @@ public class PlayingQueueAdapter extends ArrayAdapter<Song> {
|
||||||
context.startActivity(intent);
|
context.startActivity(intent);
|
||||||
return true;
|
return true;
|
||||||
case R.id.action_details:
|
case R.id.action_details:
|
||||||
String songFilePath = SongFileLoader.getSongFile(context, song.id);
|
String songFilePath = SongFilePathLoader.getSongFilePath(context, song.id);
|
||||||
File songFile = new File(songFilePath);
|
File songFile = new File(songFilePath);
|
||||||
SongDetailDialogHelper.getDialog(context, songFile).show();
|
SongDetailDialogHelper.getDialog(context, songFile).show();
|
||||||
return true;
|
return true;
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ import android.widget.TextView;
|
||||||
|
|
||||||
import com.kabouzeid.materialmusic.R;
|
import com.kabouzeid.materialmusic.R;
|
||||||
import com.kabouzeid.materialmusic.helper.SongDetailDialogHelper;
|
import com.kabouzeid.materialmusic.helper.SongDetailDialogHelper;
|
||||||
import com.kabouzeid.materialmusic.loader.SongFileLoader;
|
import com.kabouzeid.materialmusic.loader.SongFilePathLoader;
|
||||||
import com.kabouzeid.materialmusic.misc.AppKeys;
|
import com.kabouzeid.materialmusic.misc.AppKeys;
|
||||||
import com.kabouzeid.materialmusic.model.Song;
|
import com.kabouzeid.materialmusic.model.Song;
|
||||||
import com.kabouzeid.materialmusic.ui.activities.tageditor.SongTagEditorActivity;
|
import com.kabouzeid.materialmusic.ui.activities.tageditor.SongTagEditorActivity;
|
||||||
|
|
@ -62,7 +62,7 @@ public class SongAdapter extends ArrayAdapter<Song> {
|
||||||
context.startActivity(intent);
|
context.startActivity(intent);
|
||||||
return true;
|
return true;
|
||||||
case R.id.action_details:
|
case R.id.action_details:
|
||||||
String songFilePath = SongFileLoader.getSongFile(context, song.id);
|
String songFilePath = SongFilePathLoader.getSongFilePath(context, song.id);
|
||||||
File songFile = new File(songFilePath);
|
File songFile = new File(songFilePath);
|
||||||
SongDetailDialogHelper.getDialog(context, songFile).show();
|
SongDetailDialogHelper.getDialog(context, songFile).show();
|
||||||
return true;
|
return true;
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ import android.widget.TextView;
|
||||||
|
|
||||||
import com.kabouzeid.materialmusic.R;
|
import com.kabouzeid.materialmusic.R;
|
||||||
import com.kabouzeid.materialmusic.helper.SongDetailDialogHelper;
|
import com.kabouzeid.materialmusic.helper.SongDetailDialogHelper;
|
||||||
import com.kabouzeid.materialmusic.loader.SongFileLoader;
|
import com.kabouzeid.materialmusic.loader.SongFilePathLoader;
|
||||||
import com.kabouzeid.materialmusic.misc.AppKeys;
|
import com.kabouzeid.materialmusic.misc.AppKeys;
|
||||||
import com.kabouzeid.materialmusic.model.Song;
|
import com.kabouzeid.materialmusic.model.Song;
|
||||||
import com.kabouzeid.materialmusic.ui.activities.tageditor.SongTagEditorActivity;
|
import com.kabouzeid.materialmusic.ui.activities.tageditor.SongTagEditorActivity;
|
||||||
|
|
@ -58,7 +58,7 @@ public class SongViewListAdapter extends SongAdapter {
|
||||||
context.startActivity(intent);
|
context.startActivity(intent);
|
||||||
return true;
|
return true;
|
||||||
case R.id.action_details:
|
case R.id.action_details:
|
||||||
String songFilePath = SongFileLoader.getSongFile(context, song.id);
|
String songFilePath = SongFilePathLoader.getSongFilePath(context, song.id);
|
||||||
File songFile = new File(songFilePath);
|
File songFile = new File(songFilePath);
|
||||||
SongDetailDialogHelper.getDialog(context, songFile).show();
|
SongDetailDialogHelper.getDialog(context, songFile).show();
|
||||||
return true;
|
return true;
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,11 @@ public class AlbumLoader {
|
||||||
return albums;
|
return albums;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Cursor makeAlbumCursor(final Context context) {
|
public static final Cursor makeAlbumCursor(final Context context) {
|
||||||
|
return makeAlbumCursor(context, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static final Cursor makeAlbumCursor(final Context context, String selection) {
|
||||||
return context.getContentResolver().query(MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI,
|
return context.getContentResolver().query(MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI,
|
||||||
new String[]{
|
new String[]{
|
||||||
/* 0 */
|
/* 0 */
|
||||||
|
|
@ -53,16 +57,14 @@ public class AlbumLoader {
|
||||||
MediaStore.Audio.AlbumColumns.NUMBER_OF_SONGS,
|
MediaStore.Audio.AlbumColumns.NUMBER_OF_SONGS,
|
||||||
/* 5 */
|
/* 5 */
|
||||||
MediaStore.Audio.AlbumColumns.FIRST_YEAR
|
MediaStore.Audio.AlbumColumns.FIRST_YEAR
|
||||||
}, null, null, null);
|
}, selection, null, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Album getAlbum(Context context, int albumId) {
|
public static Album getAlbum(Context context, int albumId) {
|
||||||
Cursor cursor = makeAlbumCursor(context);
|
Cursor cursor = makeAlbumCursor(context, BaseColumns._ID + "=" + albumId);
|
||||||
Album album = new Album();
|
Album album = new Album();
|
||||||
if (cursor != null && cursor.moveToFirst()) {
|
if (cursor != null && cursor.moveToFirst()) {
|
||||||
do {
|
|
||||||
final int id = cursor.getInt(0);
|
final int id = cursor.getInt(0);
|
||||||
if (id == albumId) {
|
|
||||||
final String albumName = cursor.getString(1);
|
final String albumName = cursor.getString(1);
|
||||||
final String artist = cursor.getString(2);
|
final String artist = cursor.getString(2);
|
||||||
final int artistId = cursor.getInt(3);
|
final int artistId = cursor.getInt(3);
|
||||||
|
|
@ -71,8 +73,6 @@ public class AlbumLoader {
|
||||||
|
|
||||||
album = new Album(id, albumName, artist, artistId, songCount, year);
|
album = new Album(id, albumName, artist, artistId, songCount, year);
|
||||||
}
|
}
|
||||||
} while (cursor.moveToNext());
|
|
||||||
}
|
|
||||||
|
|
||||||
if (cursor != null) {
|
if (cursor != null) {
|
||||||
cursor.close();
|
cursor.close();
|
||||||
|
|
@ -81,12 +81,11 @@ public class AlbumLoader {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static List<Album> getAlbums(Context context, String query) {
|
public static List<Album> getAlbums(Context context, String query) {
|
||||||
Cursor cursor = makeAlbumCursor(context);
|
Cursor cursor = makeAlbumCursor(context, MediaStore.Audio.AlbumColumns.ALBUM + " LIKE '%" + query + "%'");
|
||||||
List<Album> albums = new ArrayList<>();
|
List<Album> albums = new ArrayList<>();
|
||||||
if (cursor != null && cursor.moveToFirst()) {
|
if (cursor != null && cursor.moveToFirst()) {
|
||||||
do {
|
do {
|
||||||
final String albumName = cursor.getString(1);
|
final String albumName = cursor.getString(1);
|
||||||
if (albumName.trim().toLowerCase().contains(query.trim().toLowerCase())) {
|
|
||||||
final int id = cursor.getInt(0);
|
final int id = cursor.getInt(0);
|
||||||
final String artist = cursor.getString(2);
|
final String artist = cursor.getString(2);
|
||||||
final int artistId = cursor.getInt(3);
|
final int artistId = cursor.getInt(3);
|
||||||
|
|
@ -95,7 +94,6 @@ public class AlbumLoader {
|
||||||
|
|
||||||
final Album album = new Album(id, albumName, artist, artistId, songCount, year);
|
final Album album = new Album(id, albumName, artist, artistId, songCount, year);
|
||||||
albums.add(album);
|
albums.add(album);
|
||||||
}
|
|
||||||
} while (cursor.moveToNext());
|
} while (cursor.moveToNext());
|
||||||
}
|
}
|
||||||
if (cursor != null) {
|
if (cursor != null) {
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,10 @@ public class ArtistLoader {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final Cursor makeArtistCursor(final Context context) {
|
public static final Cursor makeArtistCursor(final Context context) {
|
||||||
|
return makeArtistCursor(context, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static final Cursor makeArtistCursor(final Context context, String selection) {
|
||||||
return context.getContentResolver().query(MediaStore.Audio.Artists.EXTERNAL_CONTENT_URI,
|
return context.getContentResolver().query(MediaStore.Audio.Artists.EXTERNAL_CONTENT_URI,
|
||||||
new String[]{
|
new String[]{
|
||||||
/* 0 */
|
/* 0 */
|
||||||
|
|
@ -47,24 +51,20 @@ public class ArtistLoader {
|
||||||
MediaStore.Audio.ArtistColumns.NUMBER_OF_ALBUMS,
|
MediaStore.Audio.ArtistColumns.NUMBER_OF_ALBUMS,
|
||||||
/* 3 */
|
/* 3 */
|
||||||
MediaStore.Audio.ArtistColumns.NUMBER_OF_TRACKS
|
MediaStore.Audio.ArtistColumns.NUMBER_OF_TRACKS
|
||||||
}, null, null, null);
|
}, selection, null, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Artist getArtist(Context context, int artistId) {
|
public static Artist getArtist(Context context, int artistId) {
|
||||||
Cursor cursor = makeArtistCursor(context);
|
Cursor cursor = makeArtistCursor(context, BaseColumns._ID + "=" + artistId);
|
||||||
Artist artist = new Artist();
|
Artist artist = new Artist();
|
||||||
if (cursor != null && cursor.moveToFirst()) {
|
if (cursor != null && cursor.moveToFirst()) {
|
||||||
do {
|
|
||||||
final int id = cursor.getInt(0);
|
final int id = cursor.getInt(0);
|
||||||
if (id == artistId) {
|
|
||||||
final String artistName = cursor.getString(1);
|
final String artistName = cursor.getString(1);
|
||||||
final int albumCount = cursor.getInt(2);
|
final int albumCount = cursor.getInt(2);
|
||||||
final int songCount = cursor.getInt(3);
|
final int songCount = cursor.getInt(3);
|
||||||
|
|
||||||
artist = new Artist(id, artistName, albumCount, songCount);
|
artist = new Artist(id, artistName, albumCount, songCount);
|
||||||
}
|
}
|
||||||
} while (cursor.moveToNext());
|
|
||||||
}
|
|
||||||
|
|
||||||
if (cursor != null) {
|
if (cursor != null) {
|
||||||
cursor.close();
|
cursor.close();
|
||||||
|
|
@ -73,19 +73,17 @@ public class ArtistLoader {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static List<Artist> getArtists(Context context, String query) {
|
public static List<Artist> getArtists(Context context, String query) {
|
||||||
Cursor cursor = makeArtistCursor(context);
|
Cursor cursor = makeArtistCursor(context, MediaStore.Audio.ArtistColumns.ARTIST + " LIKE '%" + query + "%'");
|
||||||
List<Artist> artists = new ArrayList<>();
|
List<Artist> artists = new ArrayList<>();
|
||||||
if (cursor != null && cursor.moveToFirst()) {
|
if (cursor != null && cursor.moveToFirst()) {
|
||||||
do {
|
do {
|
||||||
final String artistName = cursor.getString(1);
|
final String artistName = cursor.getString(1);
|
||||||
if (artistName.trim().toLowerCase().contains(query.trim().toLowerCase())) {
|
|
||||||
final int id = cursor.getInt(0);
|
final int id = cursor.getInt(0);
|
||||||
final int albumCount = cursor.getInt(2);
|
final int albumCount = cursor.getInt(2);
|
||||||
final int songCount = cursor.getInt(3);
|
final int songCount = cursor.getInt(3);
|
||||||
|
|
||||||
final Artist artist = new Artist(id, artistName, albumCount, songCount);
|
final Artist artist = new Artist(id, artistName, albumCount, songCount);
|
||||||
artists.add(artist);
|
artists.add(artist);
|
||||||
}
|
|
||||||
} while (cursor.moveToNext());
|
} while (cursor.moveToNext());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,62 +0,0 @@
|
||||||
package com.kabouzeid.materialmusic.loader;
|
|
||||||
|
|
||||||
import android.content.Context;
|
|
||||||
import android.database.Cursor;
|
|
||||||
import android.provider.BaseColumns;
|
|
||||||
import android.provider.MediaStore;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Created by karim on 11.01.15.
|
|
||||||
*/
|
|
||||||
public class SongFileLoader {
|
|
||||||
public static final String TAG = SongFileLoader.class.getSimpleName();
|
|
||||||
|
|
||||||
public static List<String> getSongFiles(Context context, List<Integer> queryIds) {
|
|
||||||
Cursor cursor = makeSongFileCursor(context);
|
|
||||||
List<String> songFiles = new ArrayList<>();
|
|
||||||
if (cursor != null && cursor.moveToFirst()) {
|
|
||||||
do {
|
|
||||||
final int id = cursor.getInt(0);
|
|
||||||
if (queryIds.contains(id)) {
|
|
||||||
songFiles.add(cursor.getString(1));
|
|
||||||
}
|
|
||||||
} while (cursor.moveToNext());
|
|
||||||
}
|
|
||||||
|
|
||||||
if (cursor != null) {
|
|
||||||
cursor.close();
|
|
||||||
}
|
|
||||||
return songFiles;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static final Cursor makeSongFileCursor(final Context context) {
|
|
||||||
return context.getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
|
|
||||||
new String[]{
|
|
||||||
/* 0 */
|
|
||||||
BaseColumns._ID,
|
|
||||||
/* 1 */
|
|
||||||
MediaStore.Audio.AudioColumns.DATA,
|
|
||||||
}, null, null, null);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static String getSongFile(Context context, int queryId) {
|
|
||||||
Cursor cursor = makeSongFileCursor(context);
|
|
||||||
String filePath = "";
|
|
||||||
if (cursor != null && cursor.moveToFirst()) {
|
|
||||||
do {
|
|
||||||
final int id = cursor.getInt(0);
|
|
||||||
if (id == queryId) {
|
|
||||||
filePath = cursor.getString(1);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
} while (cursor.moveToNext());
|
|
||||||
}
|
|
||||||
if (cursor != null) {
|
|
||||||
cursor.close();
|
|
||||||
}
|
|
||||||
return filePath;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -0,0 +1,60 @@
|
||||||
|
package com.kabouzeid.materialmusic.loader;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.database.Cursor;
|
||||||
|
import android.provider.BaseColumns;
|
||||||
|
import android.provider.MediaStore;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by karim on 11.01.15.
|
||||||
|
*/
|
||||||
|
public class SongFilePathLoader {
|
||||||
|
public static final String TAG = SongFilePathLoader.class.getSimpleName();
|
||||||
|
|
||||||
|
public static List<String> getSongFilePaths(Context context, int[] queryIds) {
|
||||||
|
StringBuilder selectionBuilder = new StringBuilder();
|
||||||
|
selectionBuilder.append(BaseColumns._ID).append(" IN(");
|
||||||
|
for (int i = 0; i < queryIds.length; i++) {
|
||||||
|
selectionBuilder.append(queryIds[i]);
|
||||||
|
if (i < queryIds.length - 1) {
|
||||||
|
selectionBuilder.append(",");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
selectionBuilder.append(")");
|
||||||
|
Cursor cursor = makeSongFilePathCursor(context, selectionBuilder.toString());
|
||||||
|
List<String> songFiles = new ArrayList<>();
|
||||||
|
if (cursor != null && cursor.moveToFirst()) {
|
||||||
|
do {
|
||||||
|
songFiles.add(cursor.getString(0));
|
||||||
|
} while (cursor.moveToNext());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (cursor != null) {
|
||||||
|
cursor.close();
|
||||||
|
}
|
||||||
|
return songFiles;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String getSongFilePath(Context context, int queryId){
|
||||||
|
try {
|
||||||
|
return getSongFilePaths(context, new int[]{queryId}).get(0);
|
||||||
|
} catch (Exception e){
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static final Cursor makeSongFilePathCursor(final Context context) {
|
||||||
|
return makeSongFilePathCursor(context, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static final Cursor makeSongFilePathCursor(final Context context, String selection) {
|
||||||
|
return context.getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
|
||||||
|
new String[]{
|
||||||
|
/* 0 */
|
||||||
|
MediaStore.Audio.AudioColumns.DATA,
|
||||||
|
}, selection, null, null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -43,7 +43,7 @@ public class SongLoader {
|
||||||
return makeSongCursor(context, (MediaStore.Audio.AudioColumns.IS_MUSIC + "=1"));
|
return makeSongCursor(context, (MediaStore.Audio.AudioColumns.IS_MUSIC + "=1"));
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final Cursor makeSongCursor(final Context context, final String selection) {
|
public static final Cursor makeSongCursor(final Context context, final String selection) {
|
||||||
return context.getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
|
return context.getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
|
||||||
new String[]{
|
new String[]{
|
||||||
/* 0 */
|
/* 0 */
|
||||||
|
|
@ -66,12 +66,11 @@ public class SongLoader {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static List<Song> getSongs(Context context, String query) {
|
public static List<Song> getSongs(Context context, String query) {
|
||||||
Cursor cursor = makeSongCursor(context);
|
Cursor cursor = makeSongCursor(context, MediaStore.Audio.AudioColumns.TITLE + " LIKE '%" + query + "%'");
|
||||||
List<Song> songs = new ArrayList<>();
|
List<Song> songs = new ArrayList<>();
|
||||||
if (cursor != null && cursor.moveToFirst()) {
|
if (cursor != null && cursor.moveToFirst()) {
|
||||||
do {
|
do {
|
||||||
final String songName = cursor.getString(1);
|
final String songName = cursor.getString(1);
|
||||||
if (songName.trim().toLowerCase().contains(query.trim().toLowerCase())) {
|
|
||||||
final int id = cursor.getInt(0);
|
final int id = cursor.getInt(0);
|
||||||
final String artist = cursor.getString(2);
|
final String artist = cursor.getString(2);
|
||||||
final String album = cursor.getString(3);
|
final String album = cursor.getString(3);
|
||||||
|
|
@ -82,7 +81,6 @@ public class SongLoader {
|
||||||
|
|
||||||
final Song song = new Song(id, albumId, artistId, songName, artist, album, duration, trackNumber);
|
final Song song = new Song(id, albumId, artistId, songName, artist, album, duration, trackNumber);
|
||||||
songs.add(song);
|
songs.add(song);
|
||||||
}
|
|
||||||
} while (cursor.moveToNext());
|
} while (cursor.moveToNext());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ import com.kabouzeid.materialmusic.helper.PlayingQueueDialogHelper;
|
||||||
import com.kabouzeid.materialmusic.helper.SongDetailDialogHelper;
|
import com.kabouzeid.materialmusic.helper.SongDetailDialogHelper;
|
||||||
import com.kabouzeid.materialmusic.interfaces.OnMusicRemoteEventListener;
|
import com.kabouzeid.materialmusic.interfaces.OnMusicRemoteEventListener;
|
||||||
import com.kabouzeid.materialmusic.lastfm.artist.LastFMArtistImageLoader;
|
import com.kabouzeid.materialmusic.lastfm.artist.LastFMArtistImageLoader;
|
||||||
import com.kabouzeid.materialmusic.loader.SongFileLoader;
|
import com.kabouzeid.materialmusic.loader.SongFilePathLoader;
|
||||||
import com.kabouzeid.materialmusic.misc.AppKeys;
|
import com.kabouzeid.materialmusic.misc.AppKeys;
|
||||||
import com.kabouzeid.materialmusic.model.MusicRemoteEvent;
|
import com.kabouzeid.materialmusic.model.MusicRemoteEvent;
|
||||||
import com.kabouzeid.materialmusic.model.Song;
|
import com.kabouzeid.materialmusic.model.Song;
|
||||||
|
|
@ -413,7 +413,7 @@ public class MusicControllerActivity extends AbsFabActivity implements OnMusicRe
|
||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
return true;
|
return true;
|
||||||
case R.id.action_details:
|
case R.id.action_details:
|
||||||
String songFilePath = SongFileLoader.getSongFile(this, song.id);
|
String songFilePath = SongFilePathLoader.getSongFilePath(this, song.id);
|
||||||
File songFile = new File(songFilePath);
|
File songFile = new File(songFilePath);
|
||||||
SongDetailDialogHelper.getDialog(this, songFile).show();
|
SongDetailDialogHelper.getDialog(this, songFile).show();
|
||||||
return true;
|
return true;
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ import android.widget.Toast;
|
||||||
import com.kabouzeid.materialmusic.R;
|
import com.kabouzeid.materialmusic.R;
|
||||||
import com.kabouzeid.materialmusic.lastfm.album.LastFMAlbumImageLoader;
|
import com.kabouzeid.materialmusic.lastfm.album.LastFMAlbumImageLoader;
|
||||||
import com.kabouzeid.materialmusic.loader.AlbumSongLoader;
|
import com.kabouzeid.materialmusic.loader.AlbumSongLoader;
|
||||||
import com.kabouzeid.materialmusic.loader.SongFileLoader;
|
import com.kabouzeid.materialmusic.loader.SongFilePathLoader;
|
||||||
import com.kabouzeid.materialmusic.model.Song;
|
import com.kabouzeid.materialmusic.model.Song;
|
||||||
import com.kabouzeid.materialmusic.util.MusicUtil;
|
import com.kabouzeid.materialmusic.util.MusicUtil;
|
||||||
import com.kabouzeid.materialmusic.util.Util;
|
import com.kabouzeid.materialmusic.util.Util;
|
||||||
|
|
@ -157,11 +157,11 @@ public class AlbumTagEditorActivity extends AbsTagEditorActivity implements Text
|
||||||
@Override
|
@Override
|
||||||
protected List<String> getSongPaths() {
|
protected List<String> getSongPaths() {
|
||||||
List<Song> songs = AlbumSongLoader.getAlbumSongList(this, getId());
|
List<Song> songs = AlbumSongLoader.getAlbumSongList(this, getId());
|
||||||
List<Integer> songIds = new ArrayList<>();
|
int[] songIds = new int[songs.size()];
|
||||||
for (Song song : songs) {
|
for (int i = 0; i < songs.size(); i++) {
|
||||||
songIds.add(song.id);
|
songIds[i] = songs.get(i).id;
|
||||||
}
|
}
|
||||||
return SongFileLoader.getSongFiles(this, songIds);
|
return SongFilePathLoader.getSongFilePaths(this, songIds);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ import android.text.TextWatcher;
|
||||||
import android.widget.EditText;
|
import android.widget.EditText;
|
||||||
|
|
||||||
import com.kabouzeid.materialmusic.R;
|
import com.kabouzeid.materialmusic.R;
|
||||||
import com.kabouzeid.materialmusic.loader.SongFileLoader;
|
import com.kabouzeid.materialmusic.loader.SongFilePathLoader;
|
||||||
|
|
||||||
import org.jaudiotagger.tag.FieldKey;
|
import org.jaudiotagger.tag.FieldKey;
|
||||||
|
|
||||||
|
|
@ -103,9 +103,7 @@ public class SongTagEditorActivity extends AbsTagEditorActivity implements TextW
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected List<String> getSongPaths() {
|
protected List<String> getSongPaths() {
|
||||||
List<Integer> tempIdList = new ArrayList<>();
|
return SongFilePathLoader.getSongFilePaths(this, new int[]{getId()});
|
||||||
tempIdList.add(getId());
|
|
||||||
return SongFileLoader.getSongFiles(this, tempIdList);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue