Last added playlist half working. More to come tomorrow.
This commit is contained in:
parent
cf921dc02f
commit
65c879d64e
47 changed files with 1000 additions and 317 deletions
|
|
@ -0,0 +1,55 @@
|
|||
package com.kabouzeid.gramophone.loader;
|
||||
|
||||
import android.content.Context;
|
||||
import android.database.Cursor;
|
||||
import android.provider.BaseColumns;
|
||||
import android.provider.MediaStore;
|
||||
import android.provider.MediaStore.Audio.AudioColumns;
|
||||
|
||||
import com.kabouzeid.gramophone.model.Song;
|
||||
import com.kabouzeid.gramophone.util.PreferenceUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class LastAddedLoader {
|
||||
|
||||
public static ArrayList<Song> getLastAddedSongs(Context context) {
|
||||
return SongLoader.getSongs(makeLastAddedCursor(context));
|
||||
}
|
||||
|
||||
public static Cursor makeLastAddedCursor(final Context context) {
|
||||
long fourWeeksAgo = (System.currentTimeMillis() / 1000) - (4 * 3600 * 24 * 7);
|
||||
// possible saved timestamp caused by user "clearing" the last added playlist
|
||||
long cutoff = PreferenceUtils.getInstance(context).getLastAddedCutOff() / 1000;
|
||||
if (cutoff < fourWeeksAgo) {
|
||||
cutoff = fourWeeksAgo;
|
||||
}
|
||||
|
||||
//noinspection StringBufferReplaceableByString
|
||||
final StringBuilder selection = new StringBuilder();
|
||||
selection.append(AudioColumns.IS_MUSIC + "=1");
|
||||
selection.append(" AND " + AudioColumns.TITLE + " != ''");
|
||||
selection.append(" AND " + MediaStore.Audio.Media.DATE_ADDED + ">");
|
||||
selection.append(cutoff);
|
||||
|
||||
return context.getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
|
||||
new String[]{
|
||||
/* 0 */
|
||||
BaseColumns._ID,
|
||||
/* 1 */
|
||||
MediaStore.Audio.AudioColumns.TITLE,
|
||||
/* 2 */
|
||||
MediaStore.Audio.AudioColumns.ARTIST,
|
||||
/* 3 */
|
||||
MediaStore.Audio.AudioColumns.ALBUM,
|
||||
/* 4 */
|
||||
MediaStore.Audio.AudioColumns.DURATION,
|
||||
/* 5 */
|
||||
MediaStore.Audio.AudioColumns.TRACK,
|
||||
/* 6 */
|
||||
MediaStore.Audio.AudioColumns.ARTIST_ID,
|
||||
/* 7 */
|
||||
MediaStore.Audio.AudioColumns.ALBUM_ID
|
||||
}, selection.toString(), null, MediaStore.Audio.Media.DATE_ADDED + " DESC");
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue