package eoc.studio.voicecard.card.database;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.Set;
import eoc.studio.voicecard.card.Card;
import android.R.integer;
import android.content.ContentValues;
import android.content.Context;
import android.content.res.AssetManager;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.DisplayMetrics;
import android.util.Log;
public class CardDatabaseHelper
{
private final static String TAG = "CardDatabaseHelper";
private static final String DB_NAME = "cards.sqlite";
private static final String DB_PATH = "/data/data/eoc.studio.voicecard/databases/";
private static final int DATABASE_VERSION = 1;
private static final String DATABASE_TABLE_CARD = "card";
private static final String DATABASE_TABLE_CATEGORY = "category";
public static final String ORDER_DESC = " desc";
public static final int DPI_MDPI = 0;
public static final int DPI_HDPI = 1;
public static final int DPI_XHDPI = 2;
public static final int DPI_XXHDPI = 3;
public static final String KEY_ROW_ID = "_id";
// Table category
public static final String CAT_ID = "cat_id";
public static final String CAT_NAME = "cat_name";
public static final String CAT_ENABLE = "cat_enable";
public static final String CAT_IMG_MDPI_LOCAL_PATH = "cat_img_mdpi_local_path";
public static final String CAT_IMG_HDPI_LOCAL_PATH = "cat_img_hdpi_local_path";
public static final String CAT_IMG_XHDPI_LOCAL_PATH = "cat_img_xhdpi_local_path";
public static final String CAT_IMG_XXHDPI_LOCAL_PATH = "cat_img_xxhdpi_local_path";
public static final String CAT_IMG_MDPI = "cat_img_mdpi";
public static final String CAT_IMG_HDPI = "cat_img_hdpi";
public static final String CAT_IMG_XHDPI = "cat_img_xhdpi";
public static final String CAT_IMG_XXHDPI = "cat_img_xxhdpi";
public static final String CAT_SORT = "cat_sort";
public static final String CAT_CREATED_DATE = "cat_created_date";
public static final String CAT_EDITED_DATE = "cat_edited_date";
public static final String CAT_EDITED_DATE_LOCAL = "cat_edited_date_local";
// Table card
public static final String CARD_MDPI_RIGHT_LOCAL_PATH = "mdpi_right_local_path";
public static final String CARD_MDPI_OPEN_LOCAL_PATH = "mdpi_open_local_path";
public static final String CARD_MDPI_LEFT_LOCAL_PATH = "mdpi_left_local_path";
public static final String CARD_MDPI_CLOSE_LOCAL_PATH = "mdpi_close_local_path";
public static final String CARD_MDPI_COVER_LOCAL_PATH = "mdpi_cover_local_path";
public static final String CARD_HDPI_RIGHT_LOCAL_PATH = "hdpi_right_local_path";
public static final String CARD_HDPI_OPEN_LOCAL_PATH = "hdpi_open_local_path";
public static final String CARD_HDPI_LEFT_LOCAL_PATH = "hdpi_left_local_path";
public static final String CARD_HDPI_COVER_LOCAL_PATH = "hdpi_cover_local_path";
public static final String CARD_HDPI_CLOSE_LOCAL_PATH = "hdpi_close_local_path";
public static final String CARD_XHDPI_RIGHT_LOCAL_PATH = "xhdpi_right_local_path";
public static final String CARD_XHDPI_OPEN_LOCAL_PATH = "xhdpi_open_local_path";
public static final String CARD_XHDPI_LEFT_LOCAL_PATH = "xhdpi_left_local_path";
public static final String CARD_XHDPI_COVER_LOCAL_PATH = "xhdpi_cover_local_path";
public static final String CARD_XHDPI_CLOSE_LOCAL_PATH = "xhdpi_close_local_path";
public static final String CARD_XXHDPI_RIGHT_LOCAL_PATH = "xxhdpi_right_local_path";
public static final String CARD_XXHDPI_OPEN_LOCAL_PATH = "xxhdpi_open_local_path";
public static final String CARD_XXHDPI_LEFT_LOCAL_PATH = "xxhdpi_left_local_path";
public static final String CARD_XXHDPI_COVER_LOCAL_PATH = "xxhdpi_cover_local_path";
public static final String CARD_XXHDPI_CLOSE_LOCAL_PATH = "xxhdpi_close_local_path";
public static final String CARD_CREATED_DATE = "card_created_date";
public static final String CARD_XXHDPI_RIGHT = "xxhdpi_right";
public static final String CARD_XXHDPI_OPEN = "xxhdpi_open";
public static final String CARD_XXHDPI_LEFT = "xxhdpi_left";
public static final String CARD_XXHDPI_COVER = "xxhdpi_cover";
public static final String CARD_XXHDPI_CLOSE = "xxhdpi_close";
public static final String CARD_MDPI_RIGHT = "mdpi_right";
public static final String CARD_MDPI_OPEN = "mdpi_open";
public static final String CARD_MDPI_LEFT = "mdpi_left";
public static final String CARD_MDPI_COVER = "mdpi_cover";
public static final String CARD_MDPI_CLOSE = "mdpi_close";
public static final String CARD_HDPI_RIGHT = "hdpi_right";
public static final String CARD_HDPI_OPEN = "hdpi_open";
public static final String CARD_HDPI_LEFT = "hdpi_left";
public static final String CARD_HDPI_COVER = "hdpi_cover";
public static final String CARD_HDPI_CLOSE = "hdpi_close";
public static final String CARD_XHDPI_RIGHT = "xhdpi_right";
public static final String CARD_XHDPI_OPEN = "xhdpi_open";
public static final String CARD_XHDPI_LEFT = "xhdpi_left";
public static final String CARD_XHDPI_COVER = "xhdpi_cover";
public static final String CARD_XHDPI_CLOSE = "xhdpi_close";
public static final String CARD_FONT_COLOR = "card_font_color";
public static final String CARD_ENABLE = "card_enable";
public static final String CARD_ID = "card_id";
public static final String CARD_NAME = "card_name";
public static final String CARD_CAT_ID = "cat_id";
public static final String CARD_FAVORITE_ENABLE = "favorite_enable";
public static final String CARD_EDITED_DATE_LOCAL = "card_edited_date_local";
public static final String CARD_EDITED_DATE = "card_edited_date";
private Context context = null;
private DatabaseHelper dbHelper;
private SQLiteDatabase db;
/** Constructor */
public CardDatabaseHelper(Context context)
{
this.context = context;
}
public CardDatabaseHelper open() throws SQLException
{
try
{
dbHelper = new DatabaseHelper(context);
}
catch (IOException e)
{
e.printStackTrace();
}
db = dbHelper.openDataBase();
return this;
}
private static class DatabaseHelper extends SQLiteOpenHelper
{
Context context = null;
public DatabaseHelper(Context context) throws IOException
{
super(context, DB_NAME, null, DATABASE_VERSION);
this.context = context;
createDatabase();
}
/**
* Creates empty database on system and rewrites it with existing
* database
*
* @throws IOException
*/
public void createDatabase() throws IOException
{
boolean dbExist = checkDatabase();
if (dbExist)
{
// do nothing, the database already exists;
Log.e("DatabaseHelper", "createDatabase(): dbExist");
}
else
{
Log.e("DatabaseHelper", "createDatabase(): db is not Exist");
this.getReadableDatabase();
try
{
copyDatabase();
}
catch (IOException e)
{
Log.e("DatabaseHelper", "createDatabase(): Error copying database");
throw new Error("Error copying database");
}
}
}
private boolean checkDatabase()
{
File dbFile = new File(DB_PATH + DB_NAME);
return dbFile.exists();
}
private void copyDatabase() throws IOException
{
// Open your local db as the input stream
AssetManager assets = this.context.getAssets();
InputStream myInput = assets.open(DB_NAME);
String outFileName = DB_PATH + DB_NAME;
// Open the empty db as the output stream
OutputStream myOutput = new FileOutputStream(outFileName);
// transfer bytes from the inputfile to the outputfile
byte[] buffer = new byte[1024];
int length;
while ((length = myInput.read(buffer)) > 0)
myOutput.write(buffer, 0, length);
// close the streams
myOutput.flush();
myOutput.close();
myInput.close();
}
public SQLiteDatabase openDataBase() throws SQLException
{
// Open the database
String myPath = DB_PATH + DB_NAME;
return SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READWRITE);
}
@Override
public void onCreate(SQLiteDatabase db)
{
// do nothing
// db.execSQL(DATABASE_CREATE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
{
// do nothing
// db.execSQL("DROP TABLE IF EXISTS " + DATABASE_TABLE_CARD);
// db.execSQL("DROP TABLE IF EXISTS " + DATABASE_TABLE_CATEGORY);
onCreate(db);
}
}
public Boolean setFavoriteCardByCardID(int cardID)
{
if (db.isOpen())
{
ContentValues args = new ContentValues();
args.put(CARD_FAVORITE_ENABLE, 1);
return db.update(DATABASE_TABLE_CARD, args, CARD_ID + "=" + cardID, null) > 0;
}
else
{
return false;
}
}
public Boolean setNonFavoriteCardByCardID(int cardID)
{
if (db.isOpen())
{
ContentValues args = new ContentValues();
args.put(CARD_FAVORITE_ENABLE, 0);
return db.update(DATABASE_TABLE_CARD, args, CARD_ID + "=" + cardID, null) > 0;
}
else
{
return false;
}
}
public Card getCardByCardID(int cardID, int dpi)
{
Log.d(TAG, "getCardByCardID()");
CardAssistant cardAssistant;
Card card;
cardAssistant = getCardAssistantByCardID(cardID, dpi);
int catID = cardAssistant.getCategoryID();
Log.d(TAG, "cardAssistant.getCategoryID() " + cardAssistant.getCategoryID());
CategoryAssistant categoryAssistant = getCategoryByCatId(catID, dpi);
if (categoryAssistant != null)
{
Log.d(TAG, "if(categoryAssistant!=null):" + categoryAssistant.toString());
}
card = new Card(cardAssistant.getCardID(), getCategoryByCatId(catID, dpi),
cardAssistant.getCardName(), cardAssistant.getCloseLocalPath(),
cardAssistant.getOpenLocalPath(), cardAssistant.getCoverLocalPath(),
cardAssistant.getLeftLocalPath(), cardAssistant.getRightLocalPath(),
cardAssistant.getCardFontColor());
if (card != null)
{
Log.d(TAG, "if(card!=null):" + card.toString());
}
return card;
}
public CardAssistant getCardAssistantByCardID(int cardID, int dpi)
{
String closeURLColumn;
String closeLocalPathColumn;
String coverURLColumn;
String coverLocalPathColumn;
String leftURLColumn;
String leftLocalPathColumn;
String openURLColumn;
String openLocalPathColumn;
String rightURLColumn;
String rightLocalPathColumn;
switch (dpi)
{
case DPI_MDPI:
closeURLColumn = CARD_MDPI_CLOSE;
closeLocalPathColumn = CARD_MDPI_CLOSE_LOCAL_PATH;
coverURLColumn = CARD_MDPI_COVER;
coverLocalPathColumn = CARD_MDPI_COVER_LOCAL_PATH;
leftURLColumn = CARD_MDPI_LEFT;
leftLocalPathColumn = CARD_MDPI_LEFT_LOCAL_PATH;
openURLColumn = CARD_MDPI_OPEN;
openLocalPathColumn = CARD_MDPI_OPEN_LOCAL_PATH;
rightURLColumn = CARD_MDPI_RIGHT;
rightLocalPathColumn = CARD_MDPI_RIGHT_LOCAL_PATH;
break;
case DPI_HDPI:
closeURLColumn = CARD_HDPI_CLOSE;
closeLocalPathColumn = CARD_HDPI_CLOSE_LOCAL_PATH;
coverURLColumn = CARD_HDPI_COVER;
coverLocalPathColumn = CARD_HDPI_COVER_LOCAL_PATH;
leftURLColumn = CARD_HDPI_LEFT;
leftLocalPathColumn = CARD_HDPI_LEFT_LOCAL_PATH;
openURLColumn = CARD_HDPI_OPEN;
openLocalPathColumn = CARD_HDPI_OPEN_LOCAL_PATH;
rightURLColumn = CARD_HDPI_RIGHT;
rightLocalPathColumn = CARD_HDPI_RIGHT_LOCAL_PATH;
break;
case DPI_XHDPI:
closeURLColumn = CARD_XHDPI_CLOSE;
closeLocalPathColumn = CARD_XHDPI_CLOSE_LOCAL_PATH;
coverURLColumn = CARD_XHDPI_COVER;
coverLocalPathColumn = CARD_XHDPI_COVER_LOCAL_PATH;
leftURLColumn = CARD_XHDPI_LEFT;
leftLocalPathColumn = CARD_XHDPI_LEFT_LOCAL_PATH;
openURLColumn = CARD_XHDPI_OPEN;
openLocalPathColumn = CARD_XHDPI_OPEN_LOCAL_PATH;
rightURLColumn = CARD_XHDPI_RIGHT;
rightLocalPathColumn = CARD_XHDPI_RIGHT_LOCAL_PATH;
break;
case DPI_XXHDPI:
closeURLColumn = CARD_XXHDPI_CLOSE;
closeLocalPathColumn = CARD_XXHDPI_CLOSE_LOCAL_PATH;
coverURLColumn = CARD_XXHDPI_COVER;
coverLocalPathColumn = CARD_XXHDPI_COVER_LOCAL_PATH;
leftURLColumn = CARD_XXHDPI_LEFT;
leftLocalPathColumn = CARD_XXHDPI_LEFT_LOCAL_PATH;
openURLColumn = CARD_XXHDPI_OPEN;
openLocalPathColumn = CARD_XXHDPI_OPEN_LOCAL_PATH;
rightURLColumn = CARD_XXHDPI_RIGHT;
rightLocalPathColumn = CARD_XXHDPI_RIGHT_LOCAL_PATH;
break;
default:
closeURLColumn = CARD_XHDPI_CLOSE;
closeLocalPathColumn = CARD_XHDPI_CLOSE_LOCAL_PATH;
coverURLColumn = CARD_XHDPI_COVER;
coverLocalPathColumn = CARD_XHDPI_COVER_LOCAL_PATH;
leftURLColumn = CARD_XHDPI_LEFT;
leftLocalPathColumn = CARD_XHDPI_LEFT_LOCAL_PATH;
openURLColumn = CARD_XHDPI_OPEN;
openLocalPathColumn = CARD_XHDPI_OPEN_LOCAL_PATH;
rightURLColumn = CARD_XHDPI_RIGHT;
rightLocalPathColumn = CARD_XHDPI_RIGHT_LOCAL_PATH;
break;
}
if (db.isOpen())
{
Cursor cursor = db.query(true, DATABASE_TABLE_CARD, new String[] { CARD_ID, CARD_NAME,
CARD_CAT_ID, CARD_NAME, CARD_FONT_COLOR, closeURLColumn, closeLocalPathColumn,
coverURLColumn, coverLocalPathColumn, leftURLColumn, leftLocalPathColumn,
openURLColumn, openLocalPathColumn, rightURLColumn, rightLocalPathColumn },
CARD_ENABLE + "=1 and " + CARD_ID + "=" + cardID, null, null, null, null, null);
if (cursor != null)
{
cursor.moveToFirst();
}
CardAssistant cardAssistant = new CardAssistant();
cardAssistant.setCardID(cursor.getInt(cursor.getColumnIndexOrThrow(CARD_ID)));
cardAssistant.setCardFontColor(cursor.getInt(cursor
.getColumnIndexOrThrow(CARD_FONT_COLOR)));
cardAssistant.setCardName(cursor.getString(cursor.getColumnIndexOrThrow(CARD_NAME)));
cardAssistant.setCategoryID(cursor.getInt(cursor.getColumnIndexOrThrow(CARD_CAT_ID)));
cardAssistant.setCloseLocalPath(cursor.getString(cursor
.getColumnIndexOrThrow(closeLocalPathColumn)));
cardAssistant
.setCloseURL(cursor.getString(cursor.getColumnIndexOrThrow(closeURLColumn)));
cardAssistant.setCoverLocalPath(cursor.getString(cursor
.getColumnIndexOrThrow(coverLocalPathColumn)));
cardAssistant
.setCoverURL(cursor.getString(cursor.getColumnIndexOrThrow(coverURLColumn)));
cardAssistant.setLeftLocalPath(cursor.getString(cursor
.getColumnIndexOrThrow(leftLocalPathColumn)));
cardAssistant.setLeftURL(cursor.getString(cursor.getColumnIndexOrThrow(leftURLColumn)));
cardAssistant.setOpenLocalPath(cursor.getString(cursor
.getColumnIndexOrThrow(openLocalPathColumn)));
cardAssistant.setOpenURL(cursor.getString(cursor.getColumnIndexOrThrow(openURLColumn)));
cardAssistant.setRightLocalPath(cursor.getString(cursor
.getColumnIndexOrThrow(rightLocalPathColumn)));
cardAssistant
.setRightURL(cursor.getString(cursor.getColumnIndexOrThrow(rightURLColumn)));
if (cursor != null)
{
cursor.close();
}
return cardAssistant;
}
else
{
return null;
}
}
public CategoryAssistant getCategoryByCatId(int CatId, int dpi)
{
ArrayList<CategoryAssistant> categoryAssistantList = new ArrayList<CategoryAssistant>();
String urlColumn;
String localPathColumn;
switch (dpi)
{
case DPI_MDPI:
urlColumn = CAT_IMG_MDPI;
localPathColumn = CAT_IMG_MDPI_LOCAL_PATH;
break;
case DPI_HDPI:
urlColumn = CAT_IMG_HDPI;
localPathColumn = CAT_IMG_HDPI_LOCAL_PATH;
break;
case DPI_XHDPI:
urlColumn = CAT_IMG_XHDPI;
localPathColumn = CAT_IMG_XHDPI_LOCAL_PATH;
break;
case DPI_XXHDPI:
urlColumn = CAT_IMG_XXHDPI;
localPathColumn = CAT_IMG_XXHDPI_LOCAL_PATH;
break;
default:
urlColumn = CAT_IMG_XHDPI;
localPathColumn = CAT_IMG_XHDPI_LOCAL_PATH;
break;
}
if (db.isOpen())
{
Cursor cursor = db.query(true, DATABASE_TABLE_CATEGORY, new String[] { CAT_ID,
CAT_NAME, urlColumn, localPathColumn }, CAT_ENABLE + "=1 and " + CAT_ID + "="
+ CatId, null, null, null, null, null);
if (cursor != null)
{
cursor.moveToFirst();
}
CategoryAssistant categoryAssistant = new CategoryAssistant();
categoryAssistant.setCategoryID(cursor.getInt(cursor.getColumnIndexOrThrow(CAT_ID)));
categoryAssistant.setCategoryName(cursor.getString(cursor
.getColumnIndexOrThrow(CAT_NAME)));
categoryAssistant.setCategoryURL(cursor.getString(cursor
.getColumnIndexOrThrow(urlColumn)));
categoryAssistant.setCategoryLoocalPath(cursor.getString(cursor
.getColumnIndexOrThrow(localPathColumn)));
categoryAssistantList.add(categoryAssistant);
if (cursor != null)
{
cursor.close();
}
return categoryAssistant;
}
else
{
return null;
}
}
public int getEnabledFavoriteCardListCount()
{
int count = 0;
if (db.isOpen())
{
Cursor cursor = db.query(true, DATABASE_TABLE_CARD, new String[] { CARD_ID, CARD_NAME,
CARD_CAT_ID, CARD_NAME, CARD_FONT_COLOR }, CARD_ENABLE + "=1 and "
+ CARD_FAVORITE_ENABLE + "=1", null, null, null, null, null);
if (cursor != null)
{
count = cursor.getCount();
cursor.close();
}
return count;
}
else
{
return 0;
}
}
public ArrayList<CardAssistant> getEnabledFavoriteCardList(int dpi)
{
String closeURLColumn;
String closeLocalPathColumn;
String coverURLColumn;
String coverLocalPathColumn;
String leftURLColumn;
String leftLocalPathColumn;
String openURLColumn;
String openLocalPathColumn;
String rightURLColumn;
String rightLocalPathColumn;
switch (dpi)
{
case DPI_MDPI:
closeURLColumn = CARD_MDPI_CLOSE;
closeLocalPathColumn = CARD_MDPI_CLOSE_LOCAL_PATH;
coverURLColumn = CARD_MDPI_COVER;
coverLocalPathColumn = CARD_MDPI_COVER_LOCAL_PATH;
leftURLColumn = CARD_MDPI_LEFT;
leftLocalPathColumn = CARD_MDPI_LEFT_LOCAL_PATH;
openURLColumn = CARD_MDPI_OPEN;
openLocalPathColumn = CARD_MDPI_OPEN_LOCAL_PATH;
rightURLColumn = CARD_MDPI_RIGHT;
rightLocalPathColumn = CARD_MDPI_RIGHT_LOCAL_PATH;
break;
case DPI_HDPI:
closeURLColumn = CARD_HDPI_CLOSE;
closeLocalPathColumn = CARD_HDPI_CLOSE_LOCAL_PATH;
coverURLColumn = CARD_HDPI_COVER;
coverLocalPathColumn = CARD_HDPI_COVER_LOCAL_PATH;
leftURLColumn = CARD_HDPI_LEFT;
leftLocalPathColumn = CARD_HDPI_LEFT_LOCAL_PATH;
openURLColumn = CARD_HDPI_OPEN;
openLocalPathColumn = CARD_HDPI_OPEN_LOCAL_PATH;
rightURLColumn = CARD_HDPI_RIGHT;
rightLocalPathColumn = CARD_HDPI_RIGHT_LOCAL_PATH;
break;
case DPI_XHDPI:
closeURLColumn = CARD_XHDPI_CLOSE;
closeLocalPathColumn = CARD_XHDPI_CLOSE_LOCAL_PATH;
coverURLColumn = CARD_XHDPI_COVER;
coverLocalPathColumn = CARD_XHDPI_COVER_LOCAL_PATH;
leftURLColumn = CARD_XHDPI_LEFT;
leftLocalPathColumn = CARD_XHDPI_LEFT_LOCAL_PATH;
openURLColumn = CARD_XHDPI_OPEN;
openLocalPathColumn = CARD_XHDPI_OPEN_LOCAL_PATH;
rightURLColumn = CARD_XHDPI_RIGHT;
rightLocalPathColumn = CARD_XHDPI_RIGHT_LOCAL_PATH;
break;
case DPI_XXHDPI:
closeURLColumn = CARD_XXHDPI_CLOSE;
closeLocalPathColumn = CARD_XXHDPI_CLOSE_LOCAL_PATH;
coverURLColumn = CARD_XXHDPI_COVER;
coverLocalPathColumn = CARD_XXHDPI_COVER_LOCAL_PATH;
leftURLColumn = CARD_XXHDPI_LEFT;
leftLocalPathColumn = CARD_XXHDPI_LEFT_LOCAL_PATH;
openURLColumn = CARD_XXHDPI_OPEN;
openLocalPathColumn = CARD_XXHDPI_OPEN_LOCAL_PATH;
rightURLColumn = CARD_XXHDPI_RIGHT;
rightLocalPathColumn = CARD_XXHDPI_RIGHT_LOCAL_PATH;
break;
default:
closeURLColumn = CARD_XHDPI_CLOSE;
closeLocalPathColumn = CARD_XHDPI_CLOSE_LOCAL_PATH;
coverURLColumn = CARD_XHDPI_COVER;
coverLocalPathColumn = CARD_XHDPI_COVER_LOCAL_PATH;
leftURLColumn = CARD_XHDPI_LEFT;
leftLocalPathColumn = CARD_XHDPI_LEFT_LOCAL_PATH;
openURLColumn = CARD_XHDPI_OPEN;
openLocalPathColumn = CARD_XHDPI_OPEN_LOCAL_PATH;
rightURLColumn = CARD_XHDPI_RIGHT;
rightLocalPathColumn = CARD_XHDPI_RIGHT_LOCAL_PATH;
break;
}
ArrayList<CardAssistant> cardAssistantList = new ArrayList<CardAssistant>();
if (db.isOpen())
{
Cursor cursor = db.query(true, DATABASE_TABLE_CARD, new String[] { CARD_ID, CARD_NAME,
CARD_CAT_ID, CARD_NAME, CARD_FONT_COLOR, closeURLColumn, closeLocalPathColumn,
coverURLColumn, coverLocalPathColumn, leftURLColumn, leftLocalPathColumn,
openURLColumn, openLocalPathColumn, rightURLColumn, rightLocalPathColumn },
CARD_ENABLE + "=1 and " + CARD_FAVORITE_ENABLE + "=1", null, null, null, null,
null);
if (cursor != null)
{
cursor.moveToFirst();
}
if (cursor.getCount() == 0)
{
if (cursor != null)
{
cursor.close();
}
return null;
}
do
{
CardAssistant cardAssistant = new CardAssistant();
cardAssistant.setCardID(cursor.getInt(cursor.getColumnIndexOrThrow(CARD_ID)));
cardAssistant.setCardFontColor(cursor.getInt(cursor
.getColumnIndexOrThrow(CARD_FONT_COLOR)));
cardAssistant
.setCardName(cursor.getString(cursor.getColumnIndexOrThrow(CARD_NAME)));
cardAssistant
.setCategoryID(cursor.getInt(cursor.getColumnIndexOrThrow(CARD_CAT_ID)));
cardAssistant.setCloseLocalPath(cursor.getString(cursor
.getColumnIndexOrThrow(closeLocalPathColumn)));
cardAssistant.setCloseURL(cursor.getString(cursor
.getColumnIndexOrThrow(closeURLColumn)));
cardAssistant.setCoverLocalPath(cursor.getString(cursor
.getColumnIndexOrThrow(coverLocalPathColumn)));
cardAssistant.setCoverURL(cursor.getString(cursor
.getColumnIndexOrThrow(coverURLColumn)));
cardAssistant.setLeftLocalPath(cursor.getString(cursor
.getColumnIndexOrThrow(leftLocalPathColumn)));
cardAssistant.setLeftURL(cursor.getString(cursor
.getColumnIndexOrThrow(leftURLColumn)));
cardAssistant.setOpenLocalPath(cursor.getString(cursor
.getColumnIndexOrThrow(openLocalPathColumn)));
cardAssistant.setOpenURL(cursor.getString(cursor
.getColumnIndexOrThrow(openURLColumn)));
cardAssistant.setRightLocalPath(cursor.getString(cursor
.getColumnIndexOrThrow(rightLocalPathColumn)));
cardAssistant.setRightURL(cursor.getString(cursor
.getColumnIndexOrThrow(rightURLColumn)));
cardAssistantList.add(cardAssistant);
}
while (cursor.moveToNext());
if (cursor != null)
{
cursor.close();
}
return cardAssistantList;
}
else
{
return null;
}
}
public ArrayList<CardAssistant> getEnabledCardListByCategory(
CategoryAssistant categoryAssistant, int dpi)
{
String closeURLColumn;
String closeLocalPathColumn;
String coverURLColumn;
String coverLocalPathColumn;
String leftURLColumn;
String leftLocalPathColumn;
String openURLColumn;
String openLocalPathColumn;
String rightURLColumn;
String rightLocalPathColumn;
switch (dpi)
{
case DPI_MDPI:
closeURLColumn = CARD_MDPI_CLOSE;
closeLocalPathColumn = CARD_MDPI_CLOSE_LOCAL_PATH;
coverURLColumn = CARD_MDPI_COVER;
coverLocalPathColumn = CARD_MDPI_COVER_LOCAL_PATH;
leftURLColumn = CARD_MDPI_LEFT;
leftLocalPathColumn = CARD_MDPI_LEFT_LOCAL_PATH;
openURLColumn = CARD_MDPI_OPEN;
openLocalPathColumn = CARD_MDPI_OPEN_LOCAL_PATH;
rightURLColumn = CARD_MDPI_RIGHT;
rightLocalPathColumn = CARD_MDPI_RIGHT_LOCAL_PATH;
break;
case DPI_HDPI:
closeURLColumn = CARD_HDPI_CLOSE;
closeLocalPathColumn = CARD_HDPI_CLOSE_LOCAL_PATH;
coverURLColumn = CARD_HDPI_COVER;
coverLocalPathColumn = CARD_HDPI_COVER_LOCAL_PATH;
leftURLColumn = CARD_HDPI_LEFT;
leftLocalPathColumn = CARD_HDPI_LEFT_LOCAL_PATH;
openURLColumn = CARD_HDPI_OPEN;
openLocalPathColumn = CARD_HDPI_OPEN_LOCAL_PATH;
rightURLColumn = CARD_HDPI_RIGHT;
rightLocalPathColumn = CARD_HDPI_RIGHT_LOCAL_PATH;
break;
case DPI_XHDPI:
closeURLColumn = CARD_XHDPI_CLOSE;
closeLocalPathColumn = CARD_XHDPI_CLOSE_LOCAL_PATH;
coverURLColumn = CARD_XHDPI_COVER;
coverLocalPathColumn = CARD_XHDPI_COVER_LOCAL_PATH;
leftURLColumn = CARD_XHDPI_LEFT;
leftLocalPathColumn = CARD_XHDPI_LEFT_LOCAL_PATH;
openURLColumn = CARD_XHDPI_OPEN;
openLocalPathColumn = CARD_XHDPI_OPEN_LOCAL_PATH;
rightURLColumn = CARD_XHDPI_RIGHT;
rightLocalPathColumn = CARD_XHDPI_RIGHT_LOCAL_PATH;
break;
case DPI_XXHDPI:
closeURLColumn = CARD_XXHDPI_CLOSE;
closeLocalPathColumn = CARD_XXHDPI_CLOSE_LOCAL_PATH;
coverURLColumn = CARD_XXHDPI_COVER;
coverLocalPathColumn = CARD_XXHDPI_COVER_LOCAL_PATH;
leftURLColumn = CARD_XXHDPI_LEFT;
leftLocalPathColumn = CARD_XXHDPI_LEFT_LOCAL_PATH;
openURLColumn = CARD_XXHDPI_OPEN;
openLocalPathColumn = CARD_XXHDPI_OPEN_LOCAL_PATH;
rightURLColumn = CARD_XXHDPI_RIGHT;
rightLocalPathColumn = CARD_XXHDPI_RIGHT_LOCAL_PATH;
break;
default:
closeURLColumn = CARD_XHDPI_CLOSE;
closeLocalPathColumn = CARD_XHDPI_CLOSE_LOCAL_PATH;
coverURLColumn = CARD_XHDPI_COVER;
coverLocalPathColumn = CARD_XHDPI_COVER_LOCAL_PATH;
leftURLColumn = CARD_XHDPI_LEFT;
leftLocalPathColumn = CARD_XHDPI_LEFT_LOCAL_PATH;
openURLColumn = CARD_XHDPI_OPEN;
openLocalPathColumn = CARD_XHDPI_OPEN_LOCAL_PATH;
rightURLColumn = CARD_XHDPI_RIGHT;
rightLocalPathColumn = CARD_XHDPI_RIGHT_LOCAL_PATH;
break;
}
ArrayList<CardAssistant> cardAssistantList = new ArrayList<CardAssistant>();
if (db.isOpen())
{
Cursor cursor = db
.query(true, DATABASE_TABLE_CARD, new String[] { CARD_ID, CARD_NAME,
CARD_CAT_ID, CARD_NAME, CARD_FONT_COLOR, closeURLColumn,
closeLocalPathColumn, coverURLColumn, coverLocalPathColumn,
leftURLColumn, leftLocalPathColumn, openURLColumn, openLocalPathColumn,
rightURLColumn, rightLocalPathColumn }, CARD_ENABLE + "=1 and "
+ CARD_CAT_ID + "=" + categoryAssistant.getCategoryID(), null, null,
null, null, null);
if (cursor != null)
{
cursor.moveToFirst();
}
if (cursor.getCount() == 0)
{
if (cursor != null)
{
cursor.close();
}
return null;
}
do
{
CardAssistant cardAssistant = new CardAssistant();
cardAssistant.setCardID(cursor.getInt(cursor.getColumnIndexOrThrow(CARD_ID)));
cardAssistant.setCardFontColor(cursor.getInt(cursor
.getColumnIndexOrThrow(CARD_FONT_COLOR)));
cardAssistant
.setCardName(cursor.getString(cursor.getColumnIndexOrThrow(CARD_NAME)));
cardAssistant
.setCategoryID(cursor.getInt(cursor.getColumnIndexOrThrow(CARD_CAT_ID)));
cardAssistant.setCloseLocalPath(cursor.getString(cursor
.getColumnIndexOrThrow(closeLocalPathColumn)));
cardAssistant.setCloseURL(cursor.getString(cursor
.getColumnIndexOrThrow(closeURLColumn)));
cardAssistant.setCoverLocalPath(cursor.getString(cursor
.getColumnIndexOrThrow(coverLocalPathColumn)));
cardAssistant.setCoverURL(cursor.getString(cursor
.getColumnIndexOrThrow(coverURLColumn)));
cardAssistant.setLeftLocalPath(cursor.getString(cursor
.getColumnIndexOrThrow(leftLocalPathColumn)));
cardAssistant.setLeftURL(cursor.getString(cursor
.getColumnIndexOrThrow(leftURLColumn)));
cardAssistant.setOpenLocalPath(cursor.getString(cursor
.getColumnIndexOrThrow(openLocalPathColumn)));
cardAssistant.setOpenURL(cursor.getString(cursor
.getColumnIndexOrThrow(openURLColumn)));
cardAssistant.setRightLocalPath(cursor.getString(cursor
.getColumnIndexOrThrow(rightLocalPathColumn)));
cardAssistant.setRightURL(cursor.getString(cursor
.getColumnIndexOrThrow(rightURLColumn)));
cardAssistantList.add(cardAssistant);
}
while (cursor.moveToNext());
if (cursor != null)
{
cursor.close();
}
return cardAssistantList;
}
else
{
return null;
}
}
public ArrayList<CardAssistant> getEnabledCard(int dpi)
{
String closeURLColumn;
String closeLocalPathColumn;
String coverURLColumn;
String coverLocalPathColumn;
String leftURLColumn;
String leftLocalPathColumn;
String openURLColumn;
String openLocalPathColumn;
String rightURLColumn;
String rightLocalPathColumn;
switch (dpi)
{
case DPI_MDPI:
closeURLColumn = CARD_MDPI_CLOSE;
closeLocalPathColumn = CARD_MDPI_CLOSE_LOCAL_PATH;
coverURLColumn = CARD_MDPI_COVER;
coverLocalPathColumn = CARD_MDPI_COVER_LOCAL_PATH;
leftURLColumn = CARD_MDPI_LEFT;
leftLocalPathColumn = CARD_MDPI_LEFT_LOCAL_PATH;
openURLColumn = CARD_MDPI_OPEN;
openLocalPathColumn = CARD_MDPI_OPEN_LOCAL_PATH;
rightURLColumn = CARD_MDPI_RIGHT;
rightLocalPathColumn = CARD_MDPI_RIGHT_LOCAL_PATH;
break;
case DPI_HDPI:
closeURLColumn = CARD_HDPI_CLOSE;
closeLocalPathColumn = CARD_HDPI_CLOSE_LOCAL_PATH;
coverURLColumn = CARD_HDPI_COVER;
coverLocalPathColumn = CARD_HDPI_COVER_LOCAL_PATH;
leftURLColumn = CARD_HDPI_LEFT;
leftLocalPathColumn = CARD_HDPI_LEFT_LOCAL_PATH;
openURLColumn = CARD_HDPI_OPEN;
openLocalPathColumn = CARD_HDPI_OPEN_LOCAL_PATH;
rightURLColumn = CARD_HDPI_RIGHT;
rightLocalPathColumn = CARD_HDPI_RIGHT_LOCAL_PATH;
break;
case DPI_XHDPI:
closeURLColumn = CARD_XHDPI_CLOSE;
closeLocalPathColumn = CARD_XHDPI_CLOSE_LOCAL_PATH;
coverURLColumn = CARD_XHDPI_COVER;
coverLocalPathColumn = CARD_XHDPI_COVER_LOCAL_PATH;
leftURLColumn = CARD_XHDPI_LEFT;
leftLocalPathColumn = CARD_XHDPI_LEFT_LOCAL_PATH;
openURLColumn = CARD_XHDPI_OPEN;
openLocalPathColumn = CARD_XHDPI_OPEN_LOCAL_PATH;
rightURLColumn = CARD_XHDPI_RIGHT;
rightLocalPathColumn = CARD_XHDPI_RIGHT_LOCAL_PATH;
break;
case DPI_XXHDPI:
closeURLColumn = CARD_XXHDPI_CLOSE;
closeLocalPathColumn = CARD_XXHDPI_CLOSE_LOCAL_PATH;
coverURLColumn = CARD_XXHDPI_COVER;
coverLocalPathColumn = CARD_XXHDPI_COVER_LOCAL_PATH;
leftURLColumn = CARD_XXHDPI_LEFT;
leftLocalPathColumn = CARD_XXHDPI_LEFT_LOCAL_PATH;
openURLColumn = CARD_XXHDPI_OPEN;
openLocalPathColumn = CARD_XXHDPI_OPEN_LOCAL_PATH;
rightURLColumn = CARD_XXHDPI_RIGHT;
rightLocalPathColumn = CARD_XXHDPI_RIGHT_LOCAL_PATH;
break;
default:
closeURLColumn = CARD_XHDPI_CLOSE;
closeLocalPathColumn = CARD_XHDPI_CLOSE_LOCAL_PATH;
coverURLColumn = CARD_XHDPI_COVER;
coverLocalPathColumn = CARD_XHDPI_COVER_LOCAL_PATH;
leftURLColumn = CARD_XHDPI_LEFT;
leftLocalPathColumn = CARD_XHDPI_LEFT_LOCAL_PATH;
openURLColumn = CARD_XHDPI_OPEN;
openLocalPathColumn = CARD_XHDPI_OPEN_LOCAL_PATH;
rightURLColumn = CARD_XHDPI_RIGHT;
rightLocalPathColumn = CARD_XHDPI_RIGHT_LOCAL_PATH;
break;
}
ArrayList<CardAssistant> cardAssistantList = new ArrayList<CardAssistant>();
if (db.isOpen())
{
Cursor cursor = db.query(true, DATABASE_TABLE_CARD, new String[] { CARD_ID, CARD_NAME,
CARD_CAT_ID, CARD_NAME, CARD_FONT_COLOR, closeURLColumn, closeLocalPathColumn,
coverURLColumn, coverLocalPathColumn, leftURLColumn, leftLocalPathColumn,
openURLColumn, openLocalPathColumn, rightURLColumn, rightLocalPathColumn },
CARD_ENABLE + "=1", null, null, null, null, null);
if (cursor != null)
{
cursor.moveToFirst();
}
if (cursor.getCount() == 0)
{
if (cursor != null)
{
cursor.close();
}
return null;
}
do
{
CardAssistant cardAssistant = new CardAssistant();
cardAssistant.setCardID(cursor.getInt(cursor.getColumnIndexOrThrow(CARD_ID)));
cardAssistant.setCardFontColor(cursor.getInt(cursor
.getColumnIndexOrThrow(CARD_FONT_COLOR)));
cardAssistant
.setCardName(cursor.getString(cursor.getColumnIndexOrThrow(CARD_NAME)));
cardAssistant
.setCategoryID(cursor.getInt(cursor.getColumnIndexOrThrow(CARD_CAT_ID)));
cardAssistant.setCloseLocalPath(cursor.getString(cursor
.getColumnIndexOrThrow(closeLocalPathColumn)));
cardAssistant.setCloseURL(cursor.getString(cursor
.getColumnIndexOrThrow(closeURLColumn)));
cardAssistant.setCoverLocalPath(cursor.getString(cursor
.getColumnIndexOrThrow(coverLocalPathColumn)));
cardAssistant.setCoverURL(cursor.getString(cursor
.getColumnIndexOrThrow(coverURLColumn)));
cardAssistant.setLeftLocalPath(cursor.getString(cursor
.getColumnIndexOrThrow(leftLocalPathColumn)));
cardAssistant.setLeftURL(cursor.getString(cursor
.getColumnIndexOrThrow(leftURLColumn)));
cardAssistant.setOpenLocalPath(cursor.getString(cursor
.getColumnIndexOrThrow(openLocalPathColumn)));
cardAssistant.setOpenURL(cursor.getString(cursor
.getColumnIndexOrThrow(openURLColumn)));
cardAssistant.setRightLocalPath(cursor.getString(cursor
.getColumnIndexOrThrow(rightLocalPathColumn)));
cardAssistant.setRightURL(cursor.getString(cursor
.getColumnIndexOrThrow(rightURLColumn)));
cardAssistantList.add(cardAssistant);
}
while (cursor.moveToNext());
if (cursor != null)
{
cursor.close();
}
return cardAssistantList;
}
else
{
return null;
}
}
public ArrayList<CardAssistant> getEnabledAndLocalIsNullCard(int dpi)
{
String closeURLColumn;
String closeLocalPathColumn;
String coverURLColumn;
String coverLocalPathColumn;
String leftURLColumn;
String leftLocalPathColumn;
String openURLColumn;
String openLocalPathColumn;
String rightURLColumn;
String rightLocalPathColumn;
switch (dpi)
{
case DPI_MDPI:
closeURLColumn = CARD_MDPI_CLOSE;
closeLocalPathColumn = CARD_MDPI_CLOSE_LOCAL_PATH;
coverURLColumn = CARD_MDPI_COVER;
coverLocalPathColumn = CARD_MDPI_COVER_LOCAL_PATH;
leftURLColumn = CARD_MDPI_LEFT;
leftLocalPathColumn = CARD_MDPI_LEFT_LOCAL_PATH;
openURLColumn = CARD_MDPI_OPEN;
openLocalPathColumn = CARD_MDPI_OPEN_LOCAL_PATH;
rightURLColumn = CARD_MDPI_RIGHT;
rightLocalPathColumn = CARD_MDPI_RIGHT_LOCAL_PATH;
break;
case DPI_HDPI:
closeURLColumn = CARD_HDPI_CLOSE;
closeLocalPathColumn = CARD_HDPI_CLOSE_LOCAL_PATH;
coverURLColumn = CARD_HDPI_COVER;
coverLocalPathColumn = CARD_HDPI_COVER_LOCAL_PATH;
leftURLColumn = CARD_HDPI_LEFT;
leftLocalPathColumn = CARD_HDPI_LEFT_LOCAL_PATH;
openURLColumn = CARD_HDPI_OPEN;
openLocalPathColumn = CARD_HDPI_OPEN_LOCAL_PATH;
rightURLColumn = CARD_HDPI_RIGHT;
rightLocalPathColumn = CARD_HDPI_RIGHT_LOCAL_PATH;
break;
case DPI_XHDPI:
closeURLColumn = CARD_XHDPI_CLOSE;
closeLocalPathColumn = CARD_XHDPI_CLOSE_LOCAL_PATH;
coverURLColumn = CARD_XHDPI_COVER;
coverLocalPathColumn = CARD_XHDPI_COVER_LOCAL_PATH;
leftURLColumn = CARD_XHDPI_LEFT;
leftLocalPathColumn = CARD_XHDPI_LEFT_LOCAL_PATH;
openURLColumn = CARD_XHDPI_OPEN;
openLocalPathColumn = CARD_XHDPI_OPEN_LOCAL_PATH;
rightURLColumn = CARD_XHDPI_RIGHT;
rightLocalPathColumn = CARD_XHDPI_RIGHT_LOCAL_PATH;
break;
case DPI_XXHDPI:
closeURLColumn = CARD_XXHDPI_CLOSE;
closeLocalPathColumn = CARD_XXHDPI_CLOSE_LOCAL_PATH;
coverURLColumn = CARD_XXHDPI_COVER;
coverLocalPathColumn = CARD_XXHDPI_COVER_LOCAL_PATH;
leftURLColumn = CARD_XXHDPI_LEFT;
leftLocalPathColumn = CARD_XXHDPI_LEFT_LOCAL_PATH;
openURLColumn = CARD_XXHDPI_OPEN;
openLocalPathColumn = CARD_XXHDPI_OPEN_LOCAL_PATH;
rightURLColumn = CARD_XXHDPI_RIGHT;
rightLocalPathColumn = CARD_XXHDPI_RIGHT_LOCAL_PATH;
break;
default:
closeURLColumn = CARD_XHDPI_CLOSE;
closeLocalPathColumn = CARD_XHDPI_CLOSE_LOCAL_PATH;
coverURLColumn = CARD_XHDPI_COVER;
coverLocalPathColumn = CARD_XHDPI_COVER_LOCAL_PATH;
leftURLColumn = CARD_XHDPI_LEFT;
leftLocalPathColumn = CARD_XHDPI_LEFT_LOCAL_PATH;
openURLColumn = CARD_XHDPI_OPEN;
openLocalPathColumn = CARD_XHDPI_OPEN_LOCAL_PATH;
rightURLColumn = CARD_XHDPI_RIGHT;
rightLocalPathColumn = CARD_XHDPI_RIGHT_LOCAL_PATH;
break;
}
ArrayList<CardAssistant> cardAssistantList = new ArrayList<CardAssistant>();
if (db.isOpen())
{
String select = CARD_ENABLE + "=1 " + "AND (" + closeLocalPathColumn + " is null "
+ "OR " + coverLocalPathColumn + " is null " + "OR " + leftLocalPathColumn
+ " is null " + "OR " + openLocalPathColumn + " is null " + "OR "
+ rightLocalPathColumn + " is null " + ")";
Log.d(TAG, "getEnabledAndLocalIsNullCard() selection is: " + select);
Cursor cursor = db.query(true, DATABASE_TABLE_CARD, new String[] { CARD_ID, CARD_NAME,
CARD_CAT_ID, CARD_NAME, CARD_FONT_COLOR, closeURLColumn, closeLocalPathColumn,
coverURLColumn, coverLocalPathColumn, leftURLColumn, leftLocalPathColumn,
openURLColumn, openLocalPathColumn, rightURLColumn, rightLocalPathColumn },
select, null, null, null, null, null);
if (cursor != null)
{
cursor.moveToFirst();
}
if (cursor.getCount() == 0)
{
if (cursor != null)
{
cursor.close();
}
return null;
}
do
{
CardAssistant cardAssistant = new CardAssistant();
cardAssistant.setCardID(cursor.getInt(cursor.getColumnIndexOrThrow(CARD_ID)));
cardAssistant.setCardFontColor(cursor.getInt(cursor
.getColumnIndexOrThrow(CARD_FONT_COLOR)));
cardAssistant
.setCardName(cursor.getString(cursor.getColumnIndexOrThrow(CARD_NAME)));
cardAssistant
.setCategoryID(cursor.getInt(cursor.getColumnIndexOrThrow(CARD_CAT_ID)));
cardAssistant.setCloseLocalPath(cursor.getString(cursor
.getColumnIndexOrThrow(closeLocalPathColumn)));
cardAssistant.setCloseURL(cursor.getString(cursor
.getColumnIndexOrThrow(closeURLColumn)));
cardAssistant.setCoverLocalPath(cursor.getString(cursor
.getColumnIndexOrThrow(coverLocalPathColumn)));
cardAssistant.setCoverURL(cursor.getString(cursor
.getColumnIndexOrThrow(coverURLColumn)));
cardAssistant.setLeftLocalPath(cursor.getString(cursor
.getColumnIndexOrThrow(leftLocalPathColumn)));
cardAssistant.setLeftURL(cursor.getString(cursor
.getColumnIndexOrThrow(leftURLColumn)));
cardAssistant.setOpenLocalPath(cursor.getString(cursor
.getColumnIndexOrThrow(openLocalPathColumn)));
cardAssistant.setOpenURL(cursor.getString(cursor
.getColumnIndexOrThrow(openURLColumn)));
cardAssistant.setRightLocalPath(cursor.getString(cursor
.getColumnIndexOrThrow(rightLocalPathColumn)));
cardAssistant.setRightURL(cursor.getString(cursor
.getColumnIndexOrThrow(rightURLColumn)));
cardAssistantList.add(cardAssistant);
}
while (cursor.moveToNext());
if (cursor != null)
{
cursor.close();
}
return cardAssistantList;
}
else
{
return null;
}
}
public ArrayList<CardAssistant> getLocalDateIsNullOrLocalPathIsNullCard(int dpi)
{
String closeURLColumn;
String closeLocalPathColumn;
String coverURLColumn;
String coverLocalPathColumn;
String leftURLColumn;
String leftLocalPathColumn;
String openURLColumn;
String openLocalPathColumn;
String rightURLColumn;
String rightLocalPathColumn;
switch (dpi)
{
case DPI_MDPI:
closeURLColumn = CARD_MDPI_CLOSE;
closeLocalPathColumn = CARD_MDPI_CLOSE_LOCAL_PATH;
coverURLColumn = CARD_MDPI_COVER;
coverLocalPathColumn = CARD_MDPI_COVER_LOCAL_PATH;
leftURLColumn = CARD_MDPI_LEFT;
leftLocalPathColumn = CARD_MDPI_LEFT_LOCAL_PATH;
openURLColumn = CARD_MDPI_OPEN;
openLocalPathColumn = CARD_MDPI_OPEN_LOCAL_PATH;
rightURLColumn = CARD_MDPI_RIGHT;
rightLocalPathColumn = CARD_MDPI_RIGHT_LOCAL_PATH;
break;
case DPI_HDPI:
closeURLColumn = CARD_HDPI_CLOSE;
closeLocalPathColumn = CARD_HDPI_CLOSE_LOCAL_PATH;
coverURLColumn = CARD_HDPI_COVER;
coverLocalPathColumn = CARD_HDPI_COVER_LOCAL_PATH;
leftURLColumn = CARD_HDPI_LEFT;
leftLocalPathColumn = CARD_HDPI_LEFT_LOCAL_PATH;
openURLColumn = CARD_HDPI_OPEN;
openLocalPathColumn = CARD_HDPI_OPEN_LOCAL_PATH;
rightURLColumn = CARD_HDPI_RIGHT;
rightLocalPathColumn = CARD_HDPI_RIGHT_LOCAL_PATH;
break;
case DPI_XHDPI:
closeURLColumn = CARD_XHDPI_CLOSE;
closeLocalPathColumn = CARD_XHDPI_CLOSE_LOCAL_PATH;
coverURLColumn = CARD_XHDPI_COVER;
coverLocalPathColumn = CARD_XHDPI_COVER_LOCAL_PATH;
leftURLColumn = CARD_XHDPI_LEFT;
leftLocalPathColumn = CARD_XHDPI_LEFT_LOCAL_PATH;
openURLColumn = CARD_XHDPI_OPEN;
openLocalPathColumn = CARD_XHDPI_OPEN_LOCAL_PATH;
rightURLColumn = CARD_XHDPI_RIGHT;
rightLocalPathColumn = CARD_XHDPI_RIGHT_LOCAL_PATH;
break;
case DPI_XXHDPI:
closeURLColumn = CARD_XXHDPI_CLOSE;
closeLocalPathColumn = CARD_XXHDPI_CLOSE_LOCAL_PATH;
coverURLColumn = CARD_XXHDPI_COVER;
coverLocalPathColumn = CARD_XXHDPI_COVER_LOCAL_PATH;
leftURLColumn = CARD_XXHDPI_LEFT;
leftLocalPathColumn = CARD_XXHDPI_LEFT_LOCAL_PATH;
openURLColumn = CARD_XXHDPI_OPEN;
openLocalPathColumn = CARD_XXHDPI_OPEN_LOCAL_PATH;
rightURLColumn = CARD_XXHDPI_RIGHT;
rightLocalPathColumn = CARD_XXHDPI_RIGHT_LOCAL_PATH;
break;
default:
closeURLColumn = CARD_XHDPI_CLOSE;
closeLocalPathColumn = CARD_XHDPI_CLOSE_LOCAL_PATH;
coverURLColumn = CARD_XHDPI_COVER;
coverLocalPathColumn = CARD_XHDPI_COVER_LOCAL_PATH;
leftURLColumn = CARD_XHDPI_LEFT;
leftLocalPathColumn = CARD_XHDPI_LEFT_LOCAL_PATH;
openURLColumn = CARD_XHDPI_OPEN;
openLocalPathColumn = CARD_XHDPI_OPEN_LOCAL_PATH;
rightURLColumn = CARD_XHDPI_RIGHT;
rightLocalPathColumn = CARD_XHDPI_RIGHT_LOCAL_PATH;
break;
}
ArrayList<CardAssistant> cardAssistantList = new ArrayList<CardAssistant>();
if (db.isOpen())
{
String select = "(" + closeLocalPathColumn + " is null " + "OR " + coverLocalPathColumn
+ " is null " + "OR " + leftLocalPathColumn + " is null " + "OR "
+ openLocalPathColumn + " is null " + "OR " + rightLocalPathColumn
+ " is null " + "OR " + CARD_EDITED_DATE_LOCAL + "<>" + CARD_EDITED_DATE
+ " OR " + CARD_EDITED_DATE_LOCAL + " is null " + ")";
Log.d(TAG, "getLocalDateIsNullOrLocalPathIsNullCard() selection is: " + select);
Cursor cursor = db.query(true, DATABASE_TABLE_CARD, new String[] { CARD_ID, CARD_NAME,
CARD_CAT_ID, CARD_NAME, CARD_FONT_COLOR, closeURLColumn, closeLocalPathColumn,
coverURLColumn, coverLocalPathColumn, leftURLColumn, leftLocalPathColumn,
openURLColumn, openLocalPathColumn, rightURLColumn, rightLocalPathColumn,CARD_EDITED_DATE_LOCAL,CARD_EDITED_DATE},
select, null, null, null, null, null);
if (cursor != null)
{
cursor.moveToFirst();
}
if (cursor.getCount() == 0)
{
if (cursor != null)
{
cursor.close();
}
return null;
}
do
{
CardAssistant cardAssistant = new CardAssistant();
cardAssistant.setCardID(cursor.getInt(cursor.getColumnIndexOrThrow(CARD_ID)));
cardAssistant.setCardFontColor(cursor.getInt(cursor
.getColumnIndexOrThrow(CARD_FONT_COLOR)));
cardAssistant
.setCardName(cursor.getString(cursor.getColumnIndexOrThrow(CARD_NAME)));
cardAssistant
.setCategoryID(cursor.getInt(cursor.getColumnIndexOrThrow(CARD_CAT_ID)));
cardAssistant.setCloseLocalPath(cursor.getString(cursor
.getColumnIndexOrThrow(closeLocalPathColumn)));
cardAssistant.setCloseURL(cursor.getString(cursor
.getColumnIndexOrThrow(closeURLColumn)));
cardAssistant.setCoverLocalPath(cursor.getString(cursor
.getColumnIndexOrThrow(coverLocalPathColumn)));
cardAssistant.setCoverURL(cursor.getString(cursor
.getColumnIndexOrThrow(coverURLColumn)));
cardAssistant.setLeftLocalPath(cursor.getString(cursor
.getColumnIndexOrThrow(leftLocalPathColumn)));
cardAssistant.setLeftURL(cursor.getString(cursor
.getColumnIndexOrThrow(leftURLColumn)));
cardAssistant.setOpenLocalPath(cursor.getString(cursor
.getColumnIndexOrThrow(openLocalPathColumn)));
cardAssistant.setOpenURL(cursor.getString(cursor
.getColumnIndexOrThrow(openURLColumn)));
cardAssistant.setRightLocalPath(cursor.getString(cursor
.getColumnIndexOrThrow(rightLocalPathColumn)));
cardAssistant.setRightURL(cursor.getString(cursor
.getColumnIndexOrThrow(rightURLColumn)));
cardAssistant.setCardEditedDate(cursor.getString(cursor
.getColumnIndexOrThrow(CARD_EDITED_DATE)));
cardAssistant.setCardLocalEditedDate(cursor.getString(cursor
.getColumnIndexOrThrow(CARD_EDITED_DATE_LOCAL)));
cardAssistantList.add(cardAssistant);
}
while (cursor.moveToNext());
if (cursor != null)
{
cursor.close();
}
return cardAssistantList;
}
else
{
return null;
}
}
public ArrayList<CategoryAssistant> getEnabledCategory(int dpi)
{
ArrayList<CategoryAssistant> categoryAssistantList = new ArrayList<CategoryAssistant>();
String urlColumn;
String localPathColumn;
switch (dpi)
{
case DPI_MDPI:
urlColumn = CAT_IMG_MDPI;
localPathColumn = CAT_IMG_MDPI_LOCAL_PATH;
break;
case DPI_HDPI:
urlColumn = CAT_IMG_HDPI;
localPathColumn = CAT_IMG_HDPI_LOCAL_PATH;
break;
case DPI_XHDPI:
urlColumn = CAT_IMG_XHDPI;
localPathColumn = CAT_IMG_XHDPI_LOCAL_PATH;
break;
case DPI_XXHDPI:
urlColumn = CAT_IMG_XXHDPI;
localPathColumn = CAT_IMG_XXHDPI_LOCAL_PATH;
break;
default:
urlColumn = CAT_IMG_XHDPI;
localPathColumn = CAT_IMG_XHDPI_LOCAL_PATH;
break;
}
if (db.isOpen())
{
Cursor cursor = db.query(true, DATABASE_TABLE_CATEGORY, new String[] { CAT_ID,
CAT_NAME, urlColumn, localPathColumn }, CAT_ENABLE + "=1", null, null, null,
null, null);
if (cursor != null)
{
cursor.moveToFirst();
}
if (cursor.getCount() == 0)
{
if (cursor != null)
{
cursor.close();
}
return null;
}
do
{
CategoryAssistant categoryAssistant = new CategoryAssistant();
categoryAssistant
.setCategoryID(cursor.getInt(cursor.getColumnIndexOrThrow(CAT_ID)));
categoryAssistant.setCategoryName(cursor.getString(cursor
.getColumnIndexOrThrow(CAT_NAME)));
categoryAssistant.setCategoryURL(cursor.getString(cursor
.getColumnIndexOrThrow(urlColumn)));
categoryAssistant.setCategoryLoocalPath(cursor.getString(cursor
.getColumnIndexOrThrow(localPathColumn)));
categoryAssistantList.add(categoryAssistant);
}
while (cursor.moveToNext());
if (cursor != null)
{
cursor.close();
}
return categoryAssistantList;
}
else
{
return null;
}
}
public ArrayList<CategoryAssistant> getEnabledAndLocalIsNullCategory(int dpi)
{
ArrayList<CategoryAssistant> categoryAssistantList = new ArrayList<CategoryAssistant>();
String urlColumn;
String localPathColumn;
switch (dpi)
{
case DPI_MDPI:
urlColumn = CAT_IMG_MDPI;
localPathColumn = CAT_IMG_MDPI_LOCAL_PATH;
break;
case DPI_HDPI:
urlColumn = CAT_IMG_HDPI;
localPathColumn = CAT_IMG_HDPI_LOCAL_PATH;
break;
case DPI_XHDPI:
urlColumn = CAT_IMG_XHDPI;
localPathColumn = CAT_IMG_XHDPI_LOCAL_PATH;
break;
case DPI_XXHDPI:
urlColumn = CAT_IMG_XXHDPI;
localPathColumn = CAT_IMG_XXHDPI_LOCAL_PATH;
break;
default:
urlColumn = CAT_IMG_XHDPI;
localPathColumn = CAT_IMG_XHDPI_LOCAL_PATH;
break;
}
if (db.isOpen())
{
Cursor cursor = db.query(true, DATABASE_TABLE_CATEGORY, new String[] { CAT_ID,
CAT_NAME, urlColumn, localPathColumn }, CAT_ENABLE + "=1 " + "and ("
+ localPathColumn + " is null " + ")", null, null, null, null, null);
if (cursor != null)
{
cursor.moveToFirst();
}
if (cursor.getCount() == 0)
{
if (cursor != null)
{
cursor.close();
}
return null;
}
do
{
CategoryAssistant categoryAssistant = new CategoryAssistant();
categoryAssistant
.setCategoryID(cursor.getInt(cursor.getColumnIndexOrThrow(CAT_ID)));
categoryAssistant.setCategoryName(cursor.getString(cursor
.getColumnIndexOrThrow(CAT_NAME)));
categoryAssistant.setCategoryURL(cursor.getString(cursor
.getColumnIndexOrThrow(urlColumn)));
categoryAssistant.setCategoryLoocalPath(cursor.getString(cursor
.getColumnIndexOrThrow(localPathColumn)));
categoryAssistantList.add(categoryAssistant);
}
while (cursor.moveToNext());
if (cursor != null)
{
cursor.close();
}
return categoryAssistantList;
}
else
{
return null;
}
}
public ArrayList<CategoryAssistant> getLocalDateIsNullOrLocalPathIsNullCategory(int dpi)
{
ArrayList<CategoryAssistant> categoryAssistantList = new ArrayList<CategoryAssistant>();
String urlColumn;
String localPathColumn;
switch (dpi)
{
case DPI_MDPI:
urlColumn = CAT_IMG_MDPI;
localPathColumn = CAT_IMG_MDPI_LOCAL_PATH;
break;
case DPI_HDPI:
urlColumn = CAT_IMG_HDPI;
localPathColumn = CAT_IMG_HDPI_LOCAL_PATH;
break;
case DPI_XHDPI:
urlColumn = CAT_IMG_XHDPI;
localPathColumn = CAT_IMG_XHDPI_LOCAL_PATH;
break;
case DPI_XXHDPI:
urlColumn = CAT_IMG_XXHDPI;
localPathColumn = CAT_IMG_XXHDPI_LOCAL_PATH;
break;
default:
urlColumn = CAT_IMG_XHDPI;
localPathColumn = CAT_IMG_XHDPI_LOCAL_PATH;
break;
}
if (db.isOpen())
{
String selectionString = "(" + localPathColumn + " is null " + "OR "
+ CAT_EDITED_DATE_LOCAL + " is null " + "OR " + CAT_EDITED_DATE_LOCAL + "<>"
+ CAT_EDITED_DATE + " )";
Log.d(TAG, "getLocalDateIsNullOrLocalPathIsNullCategory() selectionString: "
+ selectionString);
Cursor cursor = db.query(true, DATABASE_TABLE_CATEGORY, new String[] { CAT_ID,
CAT_NAME, urlColumn, localPathColumn ,CAT_EDITED_DATE,CAT_EDITED_DATE_LOCAL}, selectionString, null, null, null,
null, null);
if (cursor != null)
{
cursor.moveToFirst();
}
if (cursor.getCount() == 0)
{
if (cursor != null)
{
cursor.close();
}
return null;
}
do
{
CategoryAssistant categoryAssistant = new CategoryAssistant();
categoryAssistant
.setCategoryID(cursor.getInt(cursor.getColumnIndexOrThrow(CAT_ID)));
categoryAssistant.setCategoryName(cursor.getString(cursor
.getColumnIndexOrThrow(CAT_NAME)));
categoryAssistant.setCategoryURL(cursor.getString(cursor
.getColumnIndexOrThrow(urlColumn)));
categoryAssistant.setCategoryLoocalPath(cursor.getString(cursor
.getColumnIndexOrThrow(localPathColumn)));
categoryAssistant.setCategoryLocalEditedDate(cursor.getString(cursor
.getColumnIndexOrThrow(CAT_EDITED_DATE_LOCAL)));
categoryAssistant.setCategoryEditedDate(cursor.getString(cursor
.getColumnIndexOrThrow(CAT_EDITED_DATE)));
categoryAssistantList.add(categoryAssistant);
}
while (cursor.moveToNext());
if (cursor != null)
{
cursor.close();
}
return categoryAssistantList;
}
else
{
return null;
}
}
public Boolean isExistCategory(String catId)
{
if (db.isOpen())
{
boolean exists = false;
Cursor cursor = db.rawQuery("select " + CAT_ID + " from " + DATABASE_TABLE_CATEGORY
+ " where " + CAT_ID + "=" + catId, null);
if (cursor == null)
{
Log.d(TAG, "isExistCategory " + catId + ": cursor == null");
}
if (cursor.moveToFirst())
{
exists = true;
}
else
{
exists = false;
}
// boolean exists = (cursor.getCount() > 0);
Log.d(TAG, "isExistCategory " + catId + ": " + exists);
if (cursor != null)
{
cursor.close();
}
return exists;
}
else
{
return false;
}
}
public long createCategoryRow(String catId, String catName, String catEnable,
String catImgMdpi, String catImgHdpi, String catImgXdpi, String catImgXXdpi,
String catImgMdpiLocalPath, String catImgHdpiLocalPath, String catImgXdpiLocalPath,
String catImgXXdpiLocalPath, String catEditedDate)
{
ContentValues args = new ContentValues();
if (catId != null) args.put(CAT_ID, Integer.valueOf(catId));
if (catName != null) args.put(CAT_NAME, catName);
if (catImgMdpi != null) args.put(CAT_IMG_MDPI, catImgMdpi);
if (catImgHdpi != null) args.put(CAT_IMG_HDPI, catImgHdpi);
if (catImgXdpi != null) args.put(CAT_IMG_XHDPI, catImgXdpi);
if (catImgXXdpi != null) args.put(CAT_IMG_XXHDPI, catImgXXdpi);
if (catImgMdpiLocalPath != null) args.put(CAT_IMG_MDPI_LOCAL_PATH, catImgMdpiLocalPath);
if (catImgHdpiLocalPath != null) args.put(CAT_IMG_HDPI_LOCAL_PATH, catImgHdpiLocalPath);
if (catImgXdpiLocalPath != null) args.put(CAT_IMG_XHDPI_LOCAL_PATH, catImgXdpiLocalPath);
if (catImgXXdpiLocalPath != null)
args.put(CAT_IMG_XXHDPI_LOCAL_PATH, catImgXXdpiLocalPath);
if (catEditedDate != null) args.put(CAT_EDITED_DATE, catEditedDate);
if (catEnable != null)
{
if (catEnable.equals("Y"))
{
args.put(CAT_ENABLE, 1);
}
else if (catEnable.equals("N"))
{
args.put(CAT_ENABLE, 0);
}
else
{
args.put(CAT_ENABLE, 0);
}
}
return db.insert(DATABASE_TABLE_CATEGORY, null, args);
}
public void updateCategoryImgLocalPath(ArrayList<CategoryAssistant> list, int dpi)
{
for (int index = 0; index < list.size(); index++)
{
switch (dpi)
{
case DPI_MDPI:
updateCategoryRow(String.valueOf(list.get(index).getCategoryID()), null, null,
null, null, null, null, list.get(index).getCategoryLoocalPath(), null,
null, null, null, list.get(index).getCategoryLocalEditedDate());
break;
case DPI_HDPI:
updateCategoryRow(String.valueOf(list.get(index).getCategoryID()), null, null,
null, null, null, null, null, list.get(index).getCategoryLoocalPath(),
null, null, null, list.get(index).getCategoryLocalEditedDate());
break;
case DPI_XHDPI:
updateCategoryRow(String.valueOf(list.get(index).getCategoryID()), null, null,
null, null, null, null, null, null,
list.get(index).getCategoryLoocalPath(), null, null, list.get(index)
.getCategoryLocalEditedDate());
break;
case DPI_XXHDPI:
updateCategoryRow(String.valueOf(list.get(index).getCategoryID()), null, null,
null, null, null, null, null, null, null, list.get(index)
.getCategoryLoocalPath(), null, list.get(index)
.getCategoryLocalEditedDate());
break;
default:
updateCategoryRow(String.valueOf(list.get(index).getCategoryID()), null, null,
null, null, null, null, null, null,
list.get(index).getCategoryLoocalPath(), null, null, list.get(index)
.getCategoryLocalEditedDate());
break;
}
}
}
public void updateCardImgLocalPath(ArrayList<CardAssistant> cardAssistantList, int dpi)
{
for (int index = 0; index < cardAssistantList.size(); index++)
{
updateCardRow(dpi, cardAssistantList.get(index).getCardID(), null, -1, null, null,
null, null, null, null, null, cardAssistantList.get(index).getCloseLocalPath(),
cardAssistantList.get(index).getCoverLocalPath(), cardAssistantList.get(index)
.getLeftLocalPath(), cardAssistantList.get(index).getOpenLocalPath(),
cardAssistantList.get(index).getRightLocalPath(), null,cardAssistantList.get(index).getCardLocalEditedDate());
}
}
public long createCardRow(int dpi, int cardId, String cardName, int cat_id, String cardEnable,
String cardFontColor, String closeURL, String coverURL, String leftURL, String openURL,
String rightURL, String closeLocalPath, String coverLocalPath, String leftLocalPath,
String openLocalPath, String rightLocalPath, int favoriteEnable, String cardEditedDate)
{
String closeURLColumn;
String closeLocalPathColumn;
String coverURLColumn;
String coverLocalPathColumn;
String leftURLColumn;
String leftLocalPathColumn;
String openURLColumn;
String openLocalPathColumn;
String rightURLColumn;
String rightLocalPathColumn;
switch (dpi)
{
case DPI_MDPI:
closeURLColumn = CARD_MDPI_CLOSE;
closeLocalPathColumn = CARD_MDPI_CLOSE_LOCAL_PATH;
coverURLColumn = CARD_MDPI_COVER;
coverLocalPathColumn = CARD_MDPI_COVER_LOCAL_PATH;
leftURLColumn = CARD_MDPI_LEFT;
leftLocalPathColumn = CARD_MDPI_LEFT_LOCAL_PATH;
openURLColumn = CARD_MDPI_OPEN;
openLocalPathColumn = CARD_MDPI_OPEN_LOCAL_PATH;
rightURLColumn = CARD_MDPI_RIGHT;
rightLocalPathColumn = CARD_MDPI_RIGHT_LOCAL_PATH;
break;
case DPI_HDPI:
closeURLColumn = CARD_HDPI_CLOSE;
closeLocalPathColumn = CARD_HDPI_CLOSE_LOCAL_PATH;
coverURLColumn = CARD_HDPI_COVER;
coverLocalPathColumn = CARD_HDPI_COVER_LOCAL_PATH;
leftURLColumn = CARD_HDPI_LEFT;
leftLocalPathColumn = CARD_HDPI_LEFT_LOCAL_PATH;
openURLColumn = CARD_HDPI_OPEN;
openLocalPathColumn = CARD_HDPI_OPEN_LOCAL_PATH;
rightURLColumn = CARD_HDPI_RIGHT;
rightLocalPathColumn = CARD_HDPI_RIGHT_LOCAL_PATH;
break;
case DPI_XHDPI:
closeURLColumn = CARD_XHDPI_CLOSE;
closeLocalPathColumn = CARD_XHDPI_CLOSE_LOCAL_PATH;
coverURLColumn = CARD_XHDPI_COVER;
coverLocalPathColumn = CARD_XHDPI_COVER_LOCAL_PATH;
leftURLColumn = CARD_XHDPI_LEFT;
leftLocalPathColumn = CARD_XHDPI_LEFT_LOCAL_PATH;
openURLColumn = CARD_XHDPI_OPEN;
openLocalPathColumn = CARD_XHDPI_OPEN_LOCAL_PATH;
rightURLColumn = CARD_XHDPI_RIGHT;
rightLocalPathColumn = CARD_XHDPI_RIGHT_LOCAL_PATH;
break;
case DPI_XXHDPI:
closeURLColumn = CARD_XXHDPI_CLOSE;
closeLocalPathColumn = CARD_XXHDPI_CLOSE_LOCAL_PATH;
coverURLColumn = CARD_XXHDPI_COVER;
coverLocalPathColumn = CARD_XXHDPI_COVER_LOCAL_PATH;
leftURLColumn = CARD_XXHDPI_LEFT;
leftLocalPathColumn = CARD_XXHDPI_LEFT_LOCAL_PATH;
openURLColumn = CARD_XXHDPI_OPEN;
openLocalPathColumn = CARD_XXHDPI_OPEN_LOCAL_PATH;
rightURLColumn = CARD_XXHDPI_RIGHT;
rightLocalPathColumn = CARD_XXHDPI_RIGHT_LOCAL_PATH;
break;
default:
closeURLColumn = CARD_XHDPI_CLOSE;
closeLocalPathColumn = CARD_XHDPI_CLOSE_LOCAL_PATH;
coverURLColumn = CARD_XHDPI_COVER;
coverLocalPathColumn = CARD_XHDPI_COVER_LOCAL_PATH;
leftURLColumn = CARD_XHDPI_LEFT;
leftLocalPathColumn = CARD_XHDPI_LEFT_LOCAL_PATH;
openURLColumn = CARD_XHDPI_OPEN;
openLocalPathColumn = CARD_XHDPI_OPEN_LOCAL_PATH;
rightURLColumn = CARD_XHDPI_RIGHT;
rightLocalPathColumn = CARD_XHDPI_RIGHT_LOCAL_PATH;
break;
}
ContentValues args = new ContentValues();
if (cardId != -1) args.put(CARD_ID, cardId);
if (cardName != null) args.put(CARD_NAME, cardName);
if (cat_id != -1) args.put(CARD_CAT_ID, cat_id);
if (cardEnable != null)
{
if (cardEnable.equals("Y"))
{
args.put(CARD_ENABLE, 1);
}
else if (cardEnable.equals("N"))
{
args.put(CARD_ENABLE, 0);
}
else
{
args.put(CARD_ENABLE, 0);
}
}
try
{
if (cardFontColor != null ) args.put(CARD_FONT_COLOR, Long.valueOf(cardFontColor));
}
catch (Exception e)
{
e.printStackTrace();
}
if (closeURL != null) args.put(closeURLColumn, closeURL);
if (coverURL != null) args.put(coverURLColumn, coverURL);
if (leftURL != null) args.put(leftURLColumn, leftURL);
if (openURL != null) args.put(openURLColumn, openURL);
if (rightURL != null) args.put(rightURLColumn, rightURL);
if (closeLocalPath != null) args.put(closeLocalPathColumn, closeLocalPath);
if (coverLocalPath != null) args.put(coverLocalPathColumn, coverLocalPath);
if (leftLocalPath != null) args.put(leftLocalPathColumn, leftLocalPath);
if (openLocalPath != null) args.put(openLocalPathColumn, openLocalPath);
if (rightLocalPath != null) args.put(rightLocalPathColumn, rightLocalPath);
if (favoriteEnable != -1) args.put(CARD_FAVORITE_ENABLE, favoriteEnable);
if (cardEditedDate != null) args.put(CARD_EDITED_DATE, cardEditedDate);
return db.insert(DATABASE_TABLE_CARD, null, args);
}
public Boolean isExistCard(String cardId)
{
if (db.isOpen())
{
boolean exists = false;
Cursor cursor = db.rawQuery("select " + CARD_ID + " from " + DATABASE_TABLE_CARD
+ " where " + CARD_ID + "=" + cardId, null);
if (cursor == null)
{
Log.d(TAG, "isExistCard " + cardId + ": cursor == null");
}
if (cursor.moveToFirst())
{
exists = true;
}
else
{
exists = false;
}
// boolean exists = (cursor.getCount() > 0);
Log.d(TAG, "isExistCard " + cardId + ": " + exists);
if (cursor != null)
{
cursor.close();
}
return exists;
}
else
{
return false;
}
}
public boolean updateCardRow(int dpi, int cardId, String cardName, int cat_id,
String cardEnable, String cardFontColor, String closeURL, String coverURL,
String leftURL, String openURL, String rightURL, String closeLocalPath,
String coverLocalPath, String leftLocalPath, String openLocalPath,
String rightLocalPath, String cardEditedDate, String cardEditedDateLocal)
{
String closeURLColumn;
String closeLocalPathColumn;
String coverURLColumn;
String coverLocalPathColumn;
String leftURLColumn;
String leftLocalPathColumn;
String openURLColumn;
String openLocalPathColumn;
String rightURLColumn;
String rightLocalPathColumn;
switch (dpi)
{
case DPI_MDPI:
closeURLColumn = CARD_MDPI_CLOSE;
closeLocalPathColumn = CARD_MDPI_CLOSE_LOCAL_PATH;
coverURLColumn = CARD_MDPI_COVER;
coverLocalPathColumn = CARD_MDPI_COVER_LOCAL_PATH;
leftURLColumn = CARD_MDPI_LEFT;
leftLocalPathColumn = CARD_MDPI_LEFT_LOCAL_PATH;
openURLColumn = CARD_MDPI_OPEN;
openLocalPathColumn = CARD_MDPI_OPEN_LOCAL_PATH;
rightURLColumn = CARD_MDPI_RIGHT;
rightLocalPathColumn = CARD_MDPI_RIGHT_LOCAL_PATH;
break;
case DPI_HDPI:
closeURLColumn = CARD_HDPI_CLOSE;
closeLocalPathColumn = CARD_HDPI_CLOSE_LOCAL_PATH;
coverURLColumn = CARD_HDPI_COVER;
coverLocalPathColumn = CARD_HDPI_COVER_LOCAL_PATH;
leftURLColumn = CARD_HDPI_LEFT;
leftLocalPathColumn = CARD_HDPI_LEFT_LOCAL_PATH;
openURLColumn = CARD_HDPI_OPEN;
openLocalPathColumn = CARD_HDPI_OPEN_LOCAL_PATH;
rightURLColumn = CARD_HDPI_RIGHT;
rightLocalPathColumn = CARD_HDPI_RIGHT_LOCAL_PATH;
break;
case DPI_XHDPI:
closeURLColumn = CARD_XHDPI_CLOSE;
closeLocalPathColumn = CARD_XHDPI_CLOSE_LOCAL_PATH;
coverURLColumn = CARD_XHDPI_COVER;
coverLocalPathColumn = CARD_XHDPI_COVER_LOCAL_PATH;
leftURLColumn = CARD_XHDPI_LEFT;
leftLocalPathColumn = CARD_XHDPI_LEFT_LOCAL_PATH;
openURLColumn = CARD_XHDPI_OPEN;
openLocalPathColumn = CARD_XHDPI_OPEN_LOCAL_PATH;
rightURLColumn = CARD_XHDPI_RIGHT;
rightLocalPathColumn = CARD_XHDPI_RIGHT_LOCAL_PATH;
break;
case DPI_XXHDPI:
closeURLColumn = CARD_XXHDPI_CLOSE;
closeLocalPathColumn = CARD_XXHDPI_CLOSE_LOCAL_PATH;
coverURLColumn = CARD_XXHDPI_COVER;
coverLocalPathColumn = CARD_XXHDPI_COVER_LOCAL_PATH;
leftURLColumn = CARD_XXHDPI_LEFT;
leftLocalPathColumn = CARD_XXHDPI_LEFT_LOCAL_PATH;
openURLColumn = CARD_XXHDPI_OPEN;
openLocalPathColumn = CARD_XXHDPI_OPEN_LOCAL_PATH;
rightURLColumn = CARD_XXHDPI_RIGHT;
rightLocalPathColumn = CARD_XXHDPI_RIGHT_LOCAL_PATH;
break;
default:
closeURLColumn = CARD_XHDPI_CLOSE;
closeLocalPathColumn = CARD_XHDPI_CLOSE_LOCAL_PATH;
coverURLColumn = CARD_XHDPI_COVER;
coverLocalPathColumn = CARD_XHDPI_COVER_LOCAL_PATH;
leftURLColumn = CARD_XHDPI_LEFT;
leftLocalPathColumn = CARD_XHDPI_LEFT_LOCAL_PATH;
openURLColumn = CARD_XHDPI_OPEN;
openLocalPathColumn = CARD_XHDPI_OPEN_LOCAL_PATH;
rightURLColumn = CARD_XHDPI_RIGHT;
rightLocalPathColumn = CARD_XHDPI_RIGHT_LOCAL_PATH;
break;
}
if (db.isOpen())
{
ContentValues args = new ContentValues();
if (cardId != -1) args.put(CARD_ID, cardId);
if (cardName != null) args.put(CARD_NAME, cardName);
if (cat_id != -1) args.put(CARD_CAT_ID, cat_id);
if (cardEnable != null)
{
if (cardEnable.equals("Y"))
{
args.put(CARD_ENABLE, 1);
}
else if (cardEnable.equals("N"))
{
args.put(CARD_ENABLE, 0);
}
else
{
args.put(CARD_ENABLE, 0);
}
}
try
{
if (cardFontColor != null) args.put(CARD_FONT_COLOR, Integer.valueOf(cardFontColor));
}
catch (Exception e)
{
e.printStackTrace();
}
if (closeURL != null) args.put(closeURLColumn, closeURL);
if (coverURL != null) args.put(coverURLColumn, coverURL);
if (leftURL != null) args.put(leftURLColumn, leftURL);
if (openURL != null) args.put(openURLColumn, openURL);
if (rightURL != null) args.put(rightURLColumn, rightURL);
if (closeLocalPath != null) args.put(closeLocalPathColumn, closeLocalPath);
if (coverLocalPath != null) args.put(coverLocalPathColumn, coverLocalPath);
if (leftLocalPath != null) args.put(leftLocalPathColumn, leftLocalPath);
if (openLocalPath != null) args.put(openLocalPathColumn, openLocalPath);
if (rightLocalPath != null) args.put(rightLocalPathColumn, rightLocalPath);
if (cardEditedDate != null) args.put(CARD_EDITED_DATE, cardEditedDate);
if (cardEditedDateLocal != null) args.put(CARD_EDITED_DATE_LOCAL, cardEditedDateLocal);
return db.update(DATABASE_TABLE_CARD, args, CARD_ID + "=" + cardId, null) > 0;
}
else
{
return false;
}
}
public boolean updateCategoryRow(String catId, String catName, String catEnable,
String catImgMdpi, String catImgHdpi, String catImgXdpi, String catImgXXdpi,
String catImgMdpiLocalPath, String catImgHdpiLocalPath, String catImgXHdpiLocalPath,
String catImgXXdpiLocalPath, String catEditedDate, String catLocalEditedDate)
{
if (db.isOpen())
{
ContentValues args = new ContentValues();
if (catId != null) args.put(CAT_ID, Integer.valueOf(catId));
if (catName != null) args.put(CAT_NAME, catName);
if (catImgMdpi != null) args.put(CAT_IMG_MDPI, catImgMdpi);
if (catImgHdpi != null) args.put(CAT_IMG_HDPI, catImgHdpi);
if (catImgXdpi != null) args.put(CAT_IMG_XHDPI, catImgXdpi);
if (catImgXXdpi != null) args.put(CAT_IMG_XXHDPI, catImgXXdpi);
if (catImgMdpiLocalPath != null)
args.put(CAT_IMG_MDPI_LOCAL_PATH, catImgMdpiLocalPath);
if (catImgHdpiLocalPath != null)
args.put(CAT_IMG_HDPI_LOCAL_PATH, catImgHdpiLocalPath);
if (catImgXHdpiLocalPath != null)
args.put(CAT_IMG_XHDPI_LOCAL_PATH, catImgXHdpiLocalPath);
if (catImgXXdpiLocalPath != null)
args.put(CAT_IMG_XXHDPI_LOCAL_PATH, catImgXXdpiLocalPath);
if (catEditedDate != null) args.put(CAT_EDITED_DATE, catEditedDate);
if (catLocalEditedDate != null) args.put(CAT_EDITED_DATE_LOCAL, catLocalEditedDate);
if (catEnable != null)
{
if (catEnable.equals("Y"))
{
args.put(CAT_ENABLE, 1);
}
else if (catEnable.equals("N"))
{
args.put(CAT_ENABLE, 0);
}
else
{
args.put(CAT_ENABLE, 0);
}
}
return db.update(DATABASE_TABLE_CATEGORY, args, CAT_ID + "=" + Integer.valueOf(catId),
null) > 0;
}
else
{
return false;
}
}
public String getCategoryImgLocalPath(String catId, int dpi) throws SQLException
{
String localPathColumn;
switch (dpi)
{
case DPI_MDPI:
localPathColumn = CAT_IMG_MDPI_LOCAL_PATH;
break;
case DPI_HDPI:
localPathColumn = CAT_IMG_HDPI_LOCAL_PATH;
break;
case DPI_XHDPI:
localPathColumn = CAT_IMG_XHDPI_LOCAL_PATH;
break;
case DPI_XXHDPI:
localPathColumn = CAT_IMG_XXHDPI_LOCAL_PATH;
break;
default:
localPathColumn = CAT_IMG_XHDPI_LOCAL_PATH;
break;
}
if (db.isOpen())
{
Cursor cursor = db.query(true, DATABASE_TABLE_CATEGORY,
new String[] { localPathColumn }, CAT_ID + "=" + Integer.valueOf(catId), null,
null, null, null, null);
if (cursor != null)
{
cursor.moveToFirst();
}
return cursor.getString(cursor.getColumnIndexOrThrow(localPathColumn));
}
else
{
return null;
}
}
public String getCategoryImgURL(String catId, int dpi) throws SQLException
{
String urlColumn;
switch (dpi)
{
case DPI_MDPI:
urlColumn = CAT_IMG_MDPI;
break;
case DPI_HDPI:
urlColumn = CAT_IMG_HDPI;
break;
case DPI_XHDPI:
urlColumn = CAT_IMG_XHDPI;
break;
case DPI_XXHDPI:
urlColumn = CAT_IMG_XXHDPI;
break;
default:
urlColumn = CAT_IMG_XHDPI;
break;
}
if (db.isOpen())
{
Cursor cursor = db.query(true, DATABASE_TABLE_CATEGORY, new String[] { urlColumn },
CAT_ID + "=" + Integer.valueOf(catId), null, null, null, null, null);
if (cursor != null)
{
cursor.moveToFirst();
}
return cursor.getString(cursor.getColumnIndexOrThrow(urlColumn));
}
else
{
return null;
}
}
/** Delete one item from database */
public boolean deleteCardTableByRowId(String rowId)
{
if (db != null && db.isOpen())
return db.delete(DATABASE_TABLE_CARD, KEY_ROW_ID + "=" + rowId, null) > 0;
else return false;
}
public boolean deleteCategoryTableByRowId(String rowId)
{
if (db != null && db.isOpen())
return db.delete(DATABASE_TABLE_CATEGORY, KEY_ROW_ID + "=" + rowId, null) > 0;
else return false;
}
/** Delete all item from database */
public boolean deleteCardTable()
{
if (db != null && db.isOpen())
return db.delete(DATABASE_TABLE_CARD, null, null) > 0;
else return false;
}
public boolean deleteCategoryTable()
{
if (db != null && db.isOpen())
return db.delete(DATABASE_TABLE_CATEGORY, null, null) > 0;
else return false;
}
public void close()
{
if (dbHelper != null) dbHelper.close();
}
public int getSystemDPI(Context context)
{
int density = context.getResources().getDisplayMetrics().densityDpi;
int result = DPI_XHDPI;
switch (density)
{
case DisplayMetrics.DENSITY_LOW:
result = DPI_XHDPI;
break;
case DisplayMetrics.DENSITY_MEDIUM:
result = DPI_XHDPI;
break;
case DisplayMetrics.DENSITY_HIGH:
result = DPI_HDPI;
break;
case DisplayMetrics.DENSITY_XHIGH:
result = DPI_XHDPI;
break;
case DisplayMetrics.DENSITY_TV:
result = DPI_XXHDPI;
break;
default:
result = DPI_XHDPI;
break;
}
return result;
}
}