package org.freemp.droid;
import android.content.Context;
import android.database.Cursor;
import android.provider.MediaStore;
import android.text.TextUtils;
import com.flurry.android.FlurryAgent;
import java.io.File;
import java.util.ArrayList;
/**
* Created by recoil on 26.01.14.
*/
public class FillMediaStoreTracks {
private ArrayList<ClsTrack> tempAllTracksMediaStore;
public FillMediaStoreTracks(Context context) {
tempAllTracksMediaStore = new ArrayList<ClsTrack>();
String selection = MediaStore.Audio.Media.IS_MUSIC + " != 0";
String[] projection = {
MediaStore.Audio.Media.ARTIST,
MediaStore.Audio.Media.TITLE,
MediaStore.Audio.Media.ALBUM,
MediaStore.Audio.Media.COMPOSER,
MediaStore.Audio.Media.YEAR,
MediaStore.Audio.Media.TRACK,
MediaStore.Audio.Media.DURATION,
MediaStore.Audio.Media.DATA,
MediaStore.Audio.Media.ALBUM_ID
};
Cursor cursor = null;
try {
cursor = context.getContentResolver().query(
MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
projection,
selection,
null,
null);
while (cursor != null && cursor.moveToNext()) {
String folder = "";
String path = cursor.getString(7);
String[] pathArray = path.split(
TextUtils.equals(System.getProperty("file.separator"), "") ? "/" : System.getProperty("file.separator")
);
if (pathArray != null && pathArray.length > 1) {
folder = pathArray[pathArray.length - 2];
}
tempAllTracksMediaStore.add(new ClsTrack(
cursor.getString(0),
cursor.getString(1),
cursor.getString(2),
cursor.getString(3),
cursor.getInt(4),
cursor.getInt(5),
(cursor.getInt(6) / 1000),
cursor.getString(7),
folder,
new File(path).lastModified(),
cursor.getInt(8)
));
}
if (cursor != null) {
cursor.close();
}
} catch (Exception e) {
FlurryAgent.onError("1", "1", e.toString());
try {
cursor.close();
} catch (Exception ee) {
}
//e.printStackTrace();
}
FileUtils.writeObject("alltracksms", context, tempAllTracksMediaStore);
}
public ArrayList<ClsTrack> getTracks() {
return tempAllTracksMediaStore;
}
}