package com.wm.remusic.uitl;
import android.content.Context;
import android.database.Cursor;
import android.provider.MediaStore;
import android.text.TextUtils;
import com.wm.remusic.info.MusicInfo;
import java.util.ArrayList;
/**
* Created by wm on 2016/3/4.
*/
public class SearchUtils {
public static ArrayList<MusicInfo> searchSongs(Context context, String searchString) {
return getSongsForCursor(makeSongCursor(context, "title LIKE ?", new String[]{"%" + searchString + "%"}));
}
public static ArrayList<MusicInfo> getSongsForCursor(Cursor cursor) {
ArrayList arrayList = new ArrayList();
if ((cursor != null) && (cursor.moveToFirst()))
do {
MusicInfo musicInfo = new MusicInfo();
musicInfo.songId = (int) cursor.getLong(cursor.getColumnIndex(MediaStore.Audio.Media._ID));
musicInfo.albumId = cursor.getInt(cursor.getColumnIndex(MediaStore.Audio.Media.ALBUM_ID));
musicInfo.musicName = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.TITLE));
musicInfo.artist = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.ARTIST));
musicInfo.albumName = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.ALBUM));
arrayList.add(musicInfo);
}
while (cursor.moveToNext());
if (cursor != null)
cursor.close();
return arrayList;
}
public static Cursor makeSongCursor(Context context, String selection, String[] paramArrayOfString) {
String selectionStatement = "is_music=1 AND title != ''";
// final String songSortOrder = PreferencesUtility.getInstance(context).getSongSortOrder();
if (!TextUtils.isEmpty(selection)) {
selectionStatement = selectionStatement + " AND " + selection;
}
Cursor cursor = context.getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, new String[]{"_id", "title", "artist", "album", "duration", "track", "artist_id", "album_id"}, selectionStatement, paramArrayOfString, null);
return cursor;
}
}