package akilliyazilim.justhoy.sqlite;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;
import java.util.ArrayList;
import akilliyazilim.justhoy.listeners.MessagingListener;
import akilliyazilim.justhoy.model.MessageText;
/**
* Created by mertsimsek on 15.08.2014.
*/
public class SeperateMessageTable {
public static MessagingListener listener;
private final String CREATE_TABLE_QUERY;
private String TABLE_NAME_SEPERATE_MESSAGING=null;
private final static String ALTER_TABLE = "ALTER TABLE";
public static final String COLUMN_NAME_ID = "_id";
public static final String COLUMN_MESSAGE_TEXT = "message_text";
public static final String COLUMN_STRANGER_ID = "stranger_id";
public static final String COLUMN_MY_ID = "my_id";
public static final String COLUMN_WHOIS = "whois";
public static final int INDEX_COLUMN_NAME_ID = 0;
public static final int INDEX_COLUMN_MESSAGE_ID = 1;
public static final int INDEX_COLUMN_STRANGER_ID = 2;
public static final int INDEX_COLUMN_MY_ID = 3;
public static final int INDEX_COLUMN_WHOIS_ID = 4;
private SQLiteDatabase db;
private String table_name;
public SeperateMessageTable(SQLiteDatabase db,String table_name) {
this.db = db;
this.table_name = table_name;
TABLE_NAME_SEPERATE_MESSAGING = table_name;
CREATE_TABLE_QUERY = "CREATE TABLE IF NOT EXISTS " + table_name + " ("
+ COLUMN_NAME_ID + " integer primary key, "
+ COLUMN_MESSAGE_TEXT + " text not null, "
+ COLUMN_STRANGER_ID + " text not null, "
+ COLUMN_MY_ID + " text not null, "
+ COLUMN_WHOIS + " text not null);";
}
public String getCreateTableQuery()
{
return CREATE_TABLE_QUERY;
}
public String getTableName()
{
return TABLE_NAME_SEPERATE_MESSAGING;
}
public void createTable() {
db.execSQL(CREATE_TABLE_QUERY);
Log.v("SEPERATE TABLE CREATED", "SEPERATE TABLE CREATED Table name : " + table_name);
}
public void dropTable() {
db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME_SEPERATE_MESSAGING);
}
public void closeDatabase() {
db.close();
}
public long insertMessage(MessageText message,String whois_message) {
Log.v("TEST","mesage Inserted ");
ContentValues cv = new ContentValues();
cv.put(SeperateMessageTable.COLUMN_MESSAGE_TEXT, message.getMessage_text());
cv.put(SeperateMessageTable.COLUMN_STRANGER_ID, message.getStranger_id());
cv.put(SeperateMessageTable.COLUMN_MY_ID, message.getMy_id());
cv.put(SeperateMessageTable.COLUMN_WHOIS,whois_message);
long x = db.insert(TABLE_NAME_SEPERATE_MESSAGING, null, cv);
notifyListener();
return x;
}
public ArrayList<MessageText> getAllMessagingMessages() {
Cursor c = db.query(TABLE_NAME_SEPERATE_MESSAGING, null, COLUMN_NAME_ID, null, null, null, null);
ArrayList<MessageText> messages = new ArrayList<MessageText>();
if(c.moveToFirst()) {
do {
MessageText m = new MessageText();
m.setMessage_text(c.getString(INDEX_COLUMN_MESSAGE_ID));
m.setStranger_id(c.getString(INDEX_COLUMN_STRANGER_ID));
m.setMy_id(c.getString(INDEX_COLUMN_MY_ID));
m.setWhois(c.getString(INDEX_COLUMN_WHOIS_ID));
messages.add(m);
} while(c.moveToNext());
}
return messages;
}
public int removeAllMessages()
{
int r = db.delete(TABLE_NAME_SEPERATE_MESSAGING, null, null);
return r;
}
public void setMessagingListener(MessagingListener listener)
{
this.listener = listener;
}
public static void notifyListener()
{
if(listener != null)
{
listener.onMessageInserted();
}
}
}