summaryrefslogtreecommitdiffstats
path: root/src/com/cyngn/theme/util/CursorLoaderHelper.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/cyngn/theme/util/CursorLoaderHelper.java')
-rw-r--r--src/com/cyngn/theme/util/CursorLoaderHelper.java56
1 files changed, 39 insertions, 17 deletions
diff --git a/src/com/cyngn/theme/util/CursorLoaderHelper.java b/src/com/cyngn/theme/util/CursorLoaderHelper.java
index fdbb64f..333899b 100644
--- a/src/com/cyngn/theme/util/CursorLoaderHelper.java
+++ b/src/com/cyngn/theme/util/CursorLoaderHelper.java
@@ -170,30 +170,27 @@ public class CursorLoaderHelper {
selection = MODIFIES_ALARMS + "=?";
break;
case LOADER_ID_LOCKSCREEN:
- selection = MODIFIES_LOCKSCREEN + "=?";
+ selection = MODIFIES_LOCKSCREEN + "=? OR " + MODIFIES_LIVE_LOCK_SCREEN + "=?";
+ selectionArgs = new String[] { "1", "1" };
if (mThemeVersion >= 3) {
projection = new String[]{
PreviewColumns.LOCK_WALLPAPER_THUMBNAIL,
+ PreviewColumns.LIVE_LOCK_SCREEN_THUMBNAIL,
ThemesColumns.TITLE,
ThemesColumns.PKG_NAME,
+ ThemesColumns.MODIFIES_LIVE_LOCK_SCREEN,
PreviewColumns.COMPONENT_ID
};
} else {
projection = new String[]{
PreviewColumns.LOCK_WALLPAPER_THUMBNAIL,
+ PreviewColumns.LIVE_LOCK_SCREEN_THUMBNAIL,
ThemesColumns.TITLE,
+ ThemesColumns.MODIFIES_LIVE_LOCK_SCREEN,
ThemesColumns.PKG_NAME
};
}
break;
- case LOADER_ID_LIVE_LOCK_SCREEN:
- selection = MODIFIES_LIVE_LOCK_SCREEN + "=?";
- projection = new String[] {
- PreviewColumns.LIVE_LOCK_SCREEN_THUMBNAIL,
- ThemesColumns.TITLE,
- ThemesColumns.PKG_NAME
- };
- break;
default:
return null;
}
@@ -354,7 +351,15 @@ public class CursorLoaderHelper {
projection = new String[]{
ThemesColumns.PKG_NAME,
ThemesColumns.TITLE,
- PreviewColumns.LOCK_WALLPAPER_PREVIEW
+ PreviewColumns.LOCK_WALLPAPER_PREVIEW,
+ };
+ break;
+ case LOADER_ID_LIVE_LOCK_SCREEN:
+ projection = new String[]{
+ ThemesColumns.PKG_NAME,
+ ThemesColumns.TITLE,
+ ThemesColumns.MODIFIES_LIVE_LOCK_SCREEN,
+ PreviewColumns.LIVE_LOCK_SCREEN_PREVIEW
};
break;
case LOADER_ID_STYLE:
@@ -378,14 +383,31 @@ public class CursorLoaderHelper {
ThemesColumns.TITLE
};
break;
- case LOADER_ID_LIVE_LOCK_SCREEN:
- projection = new String[] {
- ThemesColumns.PKG_NAME,
- ThemesColumns.TITLE,
- PreviewColumns.LIVE_LOCK_SCREEN_PREVIEW
- };
- break;
}
return new CursorLoader(context, uri, projection, selection, selectionArgs, null);
}
+
+ public static Object[] getRowFromCursor(Cursor cursor) {
+ Object[] row = null;
+ if (cursor != null) {
+ int colCount = cursor.getColumnCount();
+ row = new Object[colCount];
+ for (int indx = 0; indx < colCount; indx++) {
+ row[indx] = getFieldValueFromRow(cursor, indx);
+ }
+ }
+ return row;
+ }
+
+ public static Object getFieldValueFromRow(Cursor cursor, int position) {
+ switch (cursor.getType(position)) {
+ case Cursor.FIELD_TYPE_BLOB: return cursor.getBlob(position);
+ case Cursor.FIELD_TYPE_FLOAT: return cursor.getFloat(position);
+ case Cursor.FIELD_TYPE_INTEGER: return cursor.getInt(position);
+ case Cursor.FIELD_TYPE_STRING: return cursor.getString(position);
+ case Cursor.FIELD_TYPE_NULL:
+ default:
+ return null;
+ }
+ }
} \ No newline at end of file