package com.mercandalli.android.apps.files.file.audio.playlist;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.support.annotation.NonNull;
import java.util.ArrayList;
import java.util.List;
/**
* {@inheritDoc}
*/
/* package */
class AudioPlayListManagerImpl extends AudioPlayListManager {
@NonNull
private final AudioPlayListDbHelper mAudioPlayListDbHelper;
private SQLiteDatabase mDatabase;
public AudioPlayListManagerImpl(@NonNull final Context context) {
mAudioPlayListDbHelper = new AudioPlayListDbHelper(context.getApplicationContext());
}
@Override
public void add(@NonNull final AudioPlayList audioPlayList) {
open();
AudioPlayListDb.createAudioPlayList(mDatabase, audioPlayList);
close();
}
@NonNull
@Override
public List<AudioPlayList> get() {
open();
final List<AudioPlayList> list = new ArrayList<>();
Cursor cursor = mDatabase.query(AudioPlayListDb.TABLE_NAME, null, null, null, null, null, null);
while (cursor.moveToNext()) {
final String name = cursor.getString(AudioPlayListDb.COLUMN_ID_PLAYLIST_NAME);
list.add(new AudioPlayList(name));
}
cursor.close();
close();
return list;
}
@Override
public void getPlayLists() {
}
@Override
public boolean addGetPlayListsListener(final GetPlayListsListener getPlayListsListener) {
return false;
}
@Override
public boolean removeGetPlayListsListener(final GetPlayListsListener getPlayListsListener) {
return false;
}
/**
* Open the database in order to perform some operation on it.
*/
private void open() {
mDatabase = mAudioPlayListDbHelper.getWritableDatabase();
}
/**
* Close the database.
*/
private void close() {
mAudioPlayListDbHelper.close();
}
}