/** * @param context The {@link Context} to use. * @param name The name of the new playlist. * @return A new playlist ID. */ public static final long createPlaylist(final Context context, final String name) { if (name != null && name.length() > 0) { final ContentResolver resolver = context.getContentResolver(); final String[] projection = new String[]{ PlaylistsColumns.NAME }; final String selection = PlaylistsColumns.NAME + " = '" + name + "'"; Cursor cursor = resolver.query(MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI, projection, selection, null, null); if (cursor.getCount() <= 0) { final ContentValues values = new ContentValues(1); values.put(PlaylistsColumns.NAME, name); final Uri uri = resolver.insert(MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI, values); return Long.parseLong(uri.getLastPathSegment()); } if (cursor != null) { cursor.close(); cursor = null; } return -1; } return -1; }
/** * Returns The ID for a playlist. * * @param context The {@link Context} to use. * @param name The name of the playlist. * @return The ID for a playlist. */ public static final long getIdForPlaylist(final Context context, final String name) { Cursor cursor = context.getContentResolver().query( MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI, new String[]{ BaseColumns._ID }, PlaylistsColumns.NAME + "=?", new String[]{ name }, PlaylistsColumns.NAME); int id = -1; if (cursor != null) { cursor.moveToFirst(); if (!cursor.isAfterLast()) { id = cursor.getInt(0); } cursor.close(); cursor = null; } return id; }
/** * @param context The {@link Context} to use. * @param id The id of the playlist. * @return The name for a playlist. */ public static final String getNameForPlaylist(final Context context, final long id) { Cursor cursor = context.getContentResolver().query( MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI, new String[]{PlaylistsColumns.NAME}, BaseColumns._ID + "=?", new String[]{Long.toString(id)}, null); if (cursor != null) { try { if (cursor.moveToFirst()) { return cursor.getString(0); } } finally { cursor.close(); } } // nothing found return null; }
/** * @param context * @param name * @return */ public static long createPlaylist(Context context, String name) { if (name != null && name.length() > 0) { ContentResolver resolver = context.getContentResolver(); String[] cols = new String[] { PlaylistsColumns.NAME }; String whereclause = PlaylistsColumns.NAME + " = '" + name + "'"; Cursor cur = resolver.query(Audio.Playlists.EXTERNAL_CONTENT_URI, cols, whereclause, null, null); if (cur.getCount() <= 0) { ContentValues values = new ContentValues(1); values.put(PlaylistsColumns.NAME, name); Uri uri = resolver.insert(Audio.Playlists.EXTERNAL_CONTENT_URI, values); return Long.parseLong(uri.getLastPathSegment()); } return -1; } return -1; }
/** * @param context * @return */ public static long getFavoritesId(Context context) { long favorites_id = -1; String favorites_where = PlaylistsColumns.NAME + "='" + "Favorites" + "'"; String[] favorites_cols = new String[] { BaseColumns._ID }; Uri favorites_uri = Audio.Playlists.EXTERNAL_CONTENT_URI; Cursor cursor = query(context, favorites_uri, favorites_cols, favorites_where, null, null); if (cursor.getCount() <= 0) { favorites_id = createPlaylist(context, "Favorites"); } else { cursor.moveToFirst(); favorites_id = cursor.getLong(0); cursor.close(); } return favorites_id; }
/** * @param context * @param id */ public static void removeFromFavorites(Context context, long id) { long favorites_id; if (id < 0) { } else { ContentResolver resolver = context.getContentResolver(); String favorites_where = PlaylistsColumns.NAME + "='" + PLAYLIST_NAME_FAVORITES + "'"; String[] favorites_cols = new String[] { BaseColumns._ID }; Uri favorites_uri = Audio.Playlists.EXTERNAL_CONTENT_URI; Cursor cursor = resolver.query(favorites_uri, favorites_cols, favorites_where, null, null); if (cursor.getCount() <= 0) { favorites_id = createPlaylist(context, PLAYLIST_NAME_FAVORITES); } else { cursor.moveToFirst(); favorites_id = cursor.getLong(0); cursor.close(); } Uri uri = Playlists.Members.getContentUri(EXTERNAL, favorites_id); resolver.delete(uri, Playlists.Members.AUDIO_ID + "=" + id, null); } }
/** * @param playlist_id * @return playlist name */ public static String getPlaylistName(Context mContext, long playlist_id) { String where = BaseColumns._ID + "=" + playlist_id; String[] cols = new String[] { PlaylistsColumns.NAME }; Uri uri = Audio.Playlists.EXTERNAL_CONTENT_URI; Cursor cursor = mContext.getContentResolver().query(uri, cols, where, null, null); if (cursor == null){ return ""; } if (cursor.getCount() <= 0) return ""; cursor.moveToFirst(); String name = cursor.getString(0); cursor.close(); return name; }
/** * Returns The ID for a playlist. * * @param context The {@link Context} to use. * @param name The name of the playlist. * @return The ID for a playlist. */ public static long getIdForPlaylist(final Context context, final String name) { Cursor cursor = context.getContentResolver().query( MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI, new String[] { BaseColumns._ID }, PlaylistsColumns.NAME + "=?", new String[] { name }, PlaylistsColumns.NAME); int id = -1; if (cursor != null) { cursor.moveToFirst(); if (!cursor.isAfterLast()) { id = cursor.getInt(0); } cursor.close(); cursor = null; } return id; }
/** * @param context The {@link Context} to use. * @param name The name of the new playlist. * @return A new playlist ID. */ public static long createPlaylist(final Context context, final String name) { if (name != null && name.length() > 0) { final ContentResolver resolver = context.getContentResolver(); final String[] projection = new String[] { PlaylistsColumns.NAME }; final String selection = PlaylistsColumns.NAME + " = '" + name + "'"; Cursor cursor = resolver.query(MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI, projection, selection, null, null); int count = 1; if (cursor != null) { count = cursor.getCount(); cursor.close(); } if (count <= 0) { final ContentValues values = new ContentValues(1); values.put(PlaylistsColumns.NAME, name); final Uri uri = resolver.insert(MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI, values); return Long.parseLong(uri.getLastPathSegment()); } return -1; } return -1; }
/** * Returns The ID for a playlist. * * @param context The {@link Context} to use. * @param name The name of the playlist. * @return The ID for a playlist. */ public static final long getIdForPlaylist(final Context context, final String name) { Cursor cursor = context.getContentResolver().query( MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI, new String[] { BaseColumns._ID }, PlaylistsColumns.NAME + "=?", new String[] { name }, PlaylistsColumns.NAME); int id = -1; if (cursor != null) { cursor.moveToFirst(); if (!cursor.isAfterLast()) { id = cursor.getInt(0); } cursor.close(); cursor = null; } return id; }
/** * @param context The {@link Context} to use. * @param name The name of the new playlist. * @return A new playlist ID. */ public static final long createPlaylist(final Context context, final String name) { if (name != null && name.length() > 0) { final ContentResolver resolver = context.getContentResolver(); final String[] projection = new String[] { PlaylistsColumns.NAME }; final String selection = PlaylistsColumns.NAME + " = '" + name + "'"; Cursor cursor = resolver.query(MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI, projection, selection, null, null); if (cursor.getCount() <= 0) { final ContentValues values = new ContentValues(1); values.put(PlaylistsColumns.NAME, name); final Uri uri = resolver.insert(MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI, values); return Long.parseLong(uri.getLastPathSegment()); } if (cursor != null) { cursor.close(); cursor = null; } return -1; } return -1; }
@NonNull public static Playlist getPlaylist(@NonNull final Context context, final String playlistName) { return getPlaylist(makePlaylistCursor( context, PlaylistsColumns.NAME + "=?", new String[]{ playlistName } )); }
@Nullable public static Cursor makePlaylistCursor(@NonNull final Context context, final String selection, final String[] values) { try { return context.getContentResolver().query(MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI, new String[]{ /* 0 */ BaseColumns._ID, /* 1 */ PlaylistsColumns.NAME }, selection, values, MediaStore.Audio.Playlists.DEFAULT_SORT_ORDER); } catch (SecurityException e) { return null; } }
public static final Cursor makePlaylistCursor(final Context context) { return context.getContentResolver().query(MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI, new String[]{ BaseColumns._ID, PlaylistsColumns.NAME }, null, null, MediaStore.Audio.Playlists.DEFAULT_SORT_ORDER); }
@NonNull public static Observable<Playlist> getPlaylist(@NonNull final Context context, final String playlistName) { return getPlaylist(makePlaylistCursor( context, PlaylistsColumns.NAME + "=?", new String[]{ playlistName } )); }
public void setupFragmentData(){ mAdapter = new PlaylistAdapter(getActivity(), R.layout.music_listview_items, null, new String[] {}, new int[] {}, 0); mProjection = new String[] { BaseColumns._ID, PlaylistsColumns.NAME }; mSortOrder = Audio.Playlists.DEFAULT_SORT_ORDER; mUri = Audio.Playlists.EXTERNAL_CONTENT_URI; mFragmentGroupId = 5; mType = TYPE_PLAYLIST; mTitleColumn = PlaylistsColumns.NAME; }
@Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { AdapterContextMenuInfo mi = (AdapterContextMenuInfo)menuInfo; menu.add(mFragmentGroupId, PLAY_SELECTION, 0, getResources().getString(R.string.play_all)); if (mi.id >= 0) { menu.add(mFragmentGroupId, RENAME_PLAYLIST, 0, getResources().getString(R.string.rename_playlist)); menu.add(mFragmentGroupId, DELETE_PLAYLIST, 0, getResources().getString(R.string.delete_playlist)); } mCurrentId = mCursor.getString(mCursor.getColumnIndexOrThrow(BaseColumns._ID)); String title = mCursor.getString(mCursor.getColumnIndexOrThrow(PlaylistsColumns.NAME)); menu.setHeaderTitle(title); }
/** * @param mContext * @param id * @param name */ public static void renamePlaylist(Context mContext, long id, String name) { if (name != null && name.length() > 0) { ContentResolver resolver = mContext.getContentResolver(); ContentValues values = new ContentValues(1); values.put(PlaylistsColumns.NAME, name); resolver.update(Audio.Playlists.EXTERNAL_CONTENT_URI, values, BaseColumns._ID + "=?", new String[] { String.valueOf(id) }); Toast.makeText(mContext, "Playlist renamed", Toast.LENGTH_SHORT).show(); } }
public void setupFragmentData(){ mAdapter = new PlaylistAdapter(getActivity(), R.layout.listview_items, null, new String[] {}, new int[] {}, 0); mProjection = new String[] { BaseColumns._ID, PlaylistsColumns.NAME }; mSortOrder = Audio.Playlists.DEFAULT_SORT_ORDER; mUri = Audio.Playlists.EXTERNAL_CONTENT_URI; mFragmentGroupId = 5; mType = TYPE_PLAYLIST; mTitleColumn = PlaylistsColumns.NAME; }
@Override public Loader<Cursor> onCreateLoader(int id, Bundle args) { String[] projection = new String[] { BaseColumns._ID, PlaylistsColumns.NAME }; Uri uri = Audio.Playlists.EXTERNAL_CONTENT_URI; String sortOrder = Audio.Playlists.DEFAULT_SORT_ORDER; return new CursorLoader(getActivity(), uri, projection, null, null, sortOrder); }
@Override public void onLoadFinished(Loader<Cursor> loader, Cursor data) { // Check for database errors if (data == null) { return; } mPlaylistIdIndex = data.getColumnIndexOrThrow(BaseColumns._ID); mPlaylistNameIndex = data.getColumnIndexOrThrow(PlaylistsColumns.NAME); mPlaylistAdapter.changeCursor(data); mCursor = data; }
/** * Creates the {@link Cursor} used to run the query. * * @param context The {@link Context} to use. * @return The {@link Cursor} used to run the playlist query. */ public static final Cursor makePlaylistCursor(final Context context) { return context.getContentResolver().query(MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI, new String[] { /* 0 */ BaseColumns._ID, /* 1 */ PlaylistsColumns.NAME }, null, null, MediaStore.Audio.Playlists.DEFAULT_SORT_ORDER); }
public void setupViewData( Cursor mCursor ){ mLineOneText = mCursor.getString(mCursor.getColumnIndexOrThrow(PlaylistsColumns.NAME)); }