summaryrefslogtreecommitdiffstats
path: root/src/com/cyngn/eleven/utils/MusicUtils.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/cyngn/eleven/utils/MusicUtils.java')
-rw-r--r--src/com/cyngn/eleven/utils/MusicUtils.java25
1 files changed, 18 insertions, 7 deletions
diff --git a/src/com/cyngn/eleven/utils/MusicUtils.java b/src/com/cyngn/eleven/utils/MusicUtils.java
index e100e87..d3c76bf 100644
--- a/src/com/cyngn/eleven/utils/MusicUtils.java
+++ b/src/com/cyngn/eleven/utils/MusicUtils.java
@@ -1086,14 +1086,25 @@ public final class MusicUtils {
final int size = ids.length;
final ContentResolver resolver = context.getContentResolver();
final String[] projection = new String[] {
- "count(*)"
+ "max(" + Playlists.Members.PLAY_ORDER + ")",
};
final Uri uri = MediaStore.Audio.Playlists.Members.getContentUri("external", playlistid);
- Cursor cursor = resolver.query(uri, projection, null, null, null);
- cursor.moveToFirst();
- final int base = cursor.getInt(0);
- cursor.close();
- cursor = null;
+ Cursor cursor = null;
+ int base = 0;
+
+ try {
+ cursor = resolver.query(uri, projection, null, null, null);
+
+ if (cursor != null && cursor.moveToFirst()) {
+ base = cursor.getInt(0) + 1;
+ }
+ } finally {
+ if (cursor != null) {
+ cursor.close();
+ cursor = null;
+ }
+ }
+
int numinserted = 0;
for (int offSet = 0; offSet < size; offSet += 1000) {
makeInsertItems(ids, offSet, 1000, base);
@@ -1136,7 +1147,7 @@ public final class MusicUtils {
try {
mService.enqueue(list, MusicPlaybackService.LAST, sourceId, sourceType.mId);
final String message = makeLabel(context, R.plurals.NNNtrackstoqueue, list.length);
- CustomToast.makeText((Activity)context, message,CustomToast.LENGTH_SHORT).show();
+ CustomToast.makeText((Activity) context, message, CustomToast.LENGTH_SHORT).show();
} catch (final RemoteException ignored) {
}
}