/* * This is the source code of DMPLayer for Android v. 1.0.0. * You should have received a copy of the license in this archive (see LICENSE). * Copyright @Dibakar_Mistry, 2015. */ package com.dmplayer.dbhandler; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteStatement; import android.util.Log; import com.dmplayer.ApplicationDMPlayer; import com.dmplayer.models.SongDetail; public class FavoritePlayTableHelper { public static final String TABLENAME = "ResentPlay"; public static final String ID = "_id"; public static final String ALBUM_ID = "album_id"; public static final String ARTIST = "artist"; public static final String TITLE = "title"; public static final String DISPLAY_NAME = "display_name"; public static final String DURATION = "duration"; public static final String PATH = "path"; public static final String AUDIOPROGRESS = "audioProgress"; public static final String AUDIOPROGRESSSEC = "audioProgressSec"; public static final String LastPlayTime = "lastplaytime"; public static final String ISFAVORITE = "isfavorite"; private static DMPLayerDBHelper dbHelper = null; private static FavoritePlayTableHelper mInstance; private SQLiteDatabase sampleDB; public static synchronized FavoritePlayTableHelper getInstance(Context context) { if (mInstance == null) { mInstance = new FavoritePlayTableHelper(context); } return mInstance; } public Context context; public FavoritePlayTableHelper(Context context_) { this.context = context_; if (dbHelper == null) { dbHelper = ((ApplicationDMPlayer) context.getApplicationContext()).DB_HELPER; } } public void inserSong(SongDetail songDetail, int isFav) { try { sampleDB = dbHelper.getDB(); sampleDB.beginTransaction(); String sql = "Insert or Replace into " + TABLENAME + " values(?,?,?,?,?,?,?,?,?,?,?);"; SQLiteStatement insert = sampleDB.compileStatement(sql); try { if (songDetail != null) { insert.clearBindings(); insert.bindLong(1, songDetail.getId()); insert.bindLong(2, songDetail.getAlbum_id()); insert.bindString(3, songDetail.getArtist()); insert.bindString(4, songDetail.getTitle()); insert.bindString(5, songDetail.getDisplay_name()); insert.bindString(6, songDetail.getDuration()); insert.bindString(7, songDetail.getPath()); insert.bindString(8, songDetail.audioProgress + ""); insert.bindString(9, songDetail.audioProgressSec + ""); insert.bindString(10, System.currentTimeMillis() + ""); insert.bindLong(11, isFav); insert.execute(); } } catch (Exception e) { e.printStackTrace(); } sampleDB.setTransactionSuccessful(); } catch (Exception e) { Log.e("XML:", e.toString()); } finally { sampleDB.endTransaction(); } } private void closeCurcor(Cursor cursor) { if (cursor != null) { cursor.close(); cursor = null; } } public Cursor getFavoriteSongList() { Cursor mCursor = null; try { String sqlQuery = "Select * from " + TABLENAME + " where " + ISFAVORITE + "=1"; sampleDB = dbHelper.getDB(); mCursor = sampleDB.rawQuery(sqlQuery, null); } catch (Exception e) { closeCurcor(mCursor); e.printStackTrace(); } return mCursor; } public boolean getIsFavorite(SongDetail mDetail) { Cursor mCursor = null; try { String sqlQuery = "Select * from " + TABLENAME + " where " + ID + "=" + mDetail.getId() + " and " + ISFAVORITE + "=1"; sampleDB = dbHelper.getDB(); mCursor = sampleDB.rawQuery(sqlQuery, null); if (mCursor != null && mCursor.getCount() >= 1) { closeCurcor(mCursor); return true; } } catch (Exception e) { closeCurcor(mCursor); e.printStackTrace(); } return false; } }