summaryrefslogtreecommitdiffstats
path: root/src/com/cyngn/theme/chooser/ComponentSelector.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/cyngn/theme/chooser/ComponentSelector.java')
-rw-r--r--src/com/cyngn/theme/chooser/ComponentSelector.java126
1 files changed, 20 insertions, 106 deletions
diff --git a/src/com/cyngn/theme/chooser/ComponentSelector.java b/src/com/cyngn/theme/chooser/ComponentSelector.java
index d47c47a..57bc749 100644
--- a/src/com/cyngn/theme/chooser/ComponentSelector.java
+++ b/src/com/cyngn/theme/chooser/ComponentSelector.java
@@ -40,6 +40,7 @@ import android.widget.TextView;
import android.widget.Toast;
import com.cyngn.theme.util.AudioUtils;
+import com.cyngn.theme.util.CursorLoaderHelper;
import com.cyngn.theme.util.ThemedTypefaceHelper;
import com.cyngn.theme.util.TypefaceHelperCache;
import com.cyngn.theme.util.Utils;
@@ -56,6 +57,18 @@ import static android.provider.ThemesContract.ThemesColumns.MODIFIES_NAVIGATION_
import static android.provider.ThemesContract.ThemesColumns.MODIFIES_ICONS;
import static android.provider.ThemesContract.ThemesColumns.MODIFIES_FONTS;
+import static com.cyngn.theme.util.CursorLoaderHelper.LOADER_ID_STATUS_BAR;
+import static com.cyngn.theme.util.CursorLoaderHelper.LOADER_ID_FONT;
+import static com.cyngn.theme.util.CursorLoaderHelper.LOADER_ID_ICONS;
+import static com.cyngn.theme.util.CursorLoaderHelper.LOADER_ID_WALLPAPER;
+import static com.cyngn.theme.util.CursorLoaderHelper.LOADER_ID_NAVIGATION_BAR;
+import static com.cyngn.theme.util.CursorLoaderHelper.LOADER_ID_LOCKSCREEN;
+import static com.cyngn.theme.util.CursorLoaderHelper.LOADER_ID_STYLE;
+import static com.cyngn.theme.util.CursorLoaderHelper.LOADER_ID_BOOT_ANIMATION;
+import static com.cyngn.theme.util.CursorLoaderHelper.LOADER_ID_RINGTONE;
+import static com.cyngn.theme.util.CursorLoaderHelper.LOADER_ID_NOTIFICATION;
+import static com.cyngn.theme.util.CursorLoaderHelper.LOADER_ID_ALARM;
+
public class ComponentSelector extends LinearLayout
implements LoaderManager.LoaderCallbacks<Cursor> {
private static final String TAG = ComponentSelector.class.getSimpleName();
@@ -64,18 +77,6 @@ public class ComponentSelector extends LinearLayout
public static final String EXTERNAL_WALLPAPER = "external";
- private static final int LOADER_ID_STATUS_BAR = 100;
- private static final int LOADER_ID_NAVIGATION_BAR = 101;
- private static final int LOADER_ID_FONT = 102;
- private static final int LOADER_ID_ICON = 103;
- private static final int LOADER_ID_STYLE = 104;
- private static final int LOADER_ID_WALLPAPER = 105;
- private static final int LOADER_ID_BOOTANIMATIONS = 106;
- private static final int LOADER_ID_RINGTONE = 107;
- private static final int LOADER_ID_NOTIFICATION = 108;
- private static final int LOADER_ID_ALARM = 109;
- private static final int LOADER_ID_LOCKSCREEN = 110;
-
private static final int EXTRA_WALLPAPER_COMPONENTS = 2;
protected static final long DEFAULT_COMPONENT_ID = 0;
@@ -277,7 +278,7 @@ public class ComponentSelector extends LinearLayout
return LOADER_ID_FONT;
}
if (MODIFIES_ICONS.equals(component)) {
- return LOADER_ID_ICON;
+ return LOADER_ID_ICONS;
}
if (MODIFIES_OVERLAYS.equals(component)) {
return LOADER_ID_STYLE;
@@ -286,7 +287,7 @@ public class ComponentSelector extends LinearLayout
return LOADER_ID_WALLPAPER;
}
if (MODIFIES_BOOT_ANIM.equals(component)) {
- return LOADER_ID_BOOTANIMATIONS;
+ return LOADER_ID_BOOT_ANIMATION;
}
if (MODIFIES_RINGTONES.equals(component)) {
return LOADER_ID_RINGTONE;
@@ -305,96 +306,7 @@ public class ComponentSelector extends LinearLayout
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
- Uri uri = PreviewColumns.CONTENT_URI;
- String selection;
- String[] selectionArgs = { "1" };
- String[] projection = { ThemesColumns.TITLE, ThemesColumns.PKG_NAME };
- switch(id) {
- case LOADER_ID_STATUS_BAR:
- selection = MODIFIES_STATUS_BAR + "=?";
- projection = new String[] {
- PreviewColumns.STATUSBAR_WIFI_ICON,
- PreviewColumns.STATUSBAR_SIGNAL_ICON,
- PreviewColumns.STATUSBAR_BLUETOOTH_ICON,
- PreviewColumns.STATUSBAR_BACKGROUND,
- PreviewColumns.STATUSBAR_BATTERY_CIRCLE,
- PreviewColumns.STATUSBAR_BATTERY_LANDSCAPE,
- PreviewColumns.STATUSBAR_BATTERY_PORTRAIT,
- ThemesColumns.TITLE,
- ThemesColumns.PKG_NAME
- };
- break;
- case LOADER_ID_NAVIGATION_BAR:
- selection = MODIFIES_NAVIGATION_BAR + "=?";
- projection = new String[] {
- PreviewColumns.NAVBAR_BACK_BUTTON,
- PreviewColumns.STATUSBAR_BACKGROUND,
- ThemesColumns.TITLE,
- ThemesColumns.PKG_NAME,
- };
- break;
- case LOADER_ID_FONT:
- selection = MODIFIES_FONTS + "=?";
- break;
- case LOADER_ID_ICON:
- selection = MODIFIES_ICONS + "=?";
- projection = new String[] {
- PreviewColumns.ICON_PREVIEW_1,
- ThemesColumns.TITLE,
- ThemesColumns.PKG_NAME
- };
- break;
- case LOADER_ID_STYLE:
- selection = MODIFIES_OVERLAYS + "=?";
- projection = new String[] {
- PreviewColumns.STYLE_THUMBNAIL,
- ThemesColumns.TITLE,
- ThemesColumns.PKG_NAME
- };
- break;
- case LOADER_ID_WALLPAPER:
- uri = PreviewColumns.COMPONENTS_URI;
- selection = MODIFIES_LAUNCHER + "=?";
- projection = new String[] {
- PreviewColumns.WALLPAPER_THUMBNAIL,
- ThemesColumns.TITLE,
- ThemesColumns.PKG_NAME,
- PreviewColumns.COMPONENT_ID
- };
- break;
- case LOADER_ID_BOOTANIMATIONS:
- selection = MODIFIES_BOOT_ANIM + "=?";
- projection = new String[] {
- PreviewColumns.BOOTANIMATION_THUMBNAIL,
- ThemesColumns.TITLE,
- ThemesColumns.PKG_NAME
- };
- break;
- case LOADER_ID_RINGTONE:
- selection = MODIFIES_RINGTONES + "=?";
- break;
- case LOADER_ID_NOTIFICATION:
- selection = MODIFIES_NOTIFICATIONS + "=?";
- break;
- case LOADER_ID_ALARM:
- selection = MODIFIES_ALARMS + "=?";
- break;
- case LOADER_ID_LOCKSCREEN:
- selection = MODIFIES_LOCKSCREEN + "=?";
- projection = new String[] {
- PreviewColumns.LOCK_WALLPAPER_THUMBNAIL,
- ThemesColumns.TITLE,
- ThemesColumns.PKG_NAME,
- PreviewColumns.COMPONENT_ID
- };
- break;
- default:
- return null;
- }
- // sort in ascending order but make sure the "default" theme is always first
- String sortOrder = "(" + ThemesContract.ThemesColumns.IS_DEFAULT_THEME + "=1) DESC, "
- + ThemesContract.ThemesColumns.TITLE + " ASC";
- return new CursorLoader(mContext, uri, projection, selection, selectionArgs, sortOrder);
+ return CursorLoaderHelper.componentSelectorCursorLoader(mContext, id);
}
@Override
@@ -418,7 +330,7 @@ public class ComponentSelector extends LinearLayout
count = (int) Math.ceil((double)count / mItemsPerPage);
mContent.setShowDividers(LinearLayout.SHOW_DIVIDER_NONE);
break;
- case LOADER_ID_BOOTANIMATIONS:
+ case LOADER_ID_BOOT_ANIMATION:
dividerPadding = res.getDimensionPixelSize(
R.dimen.component_divider_padding_top_bootani);
dividerHeight = res.getDimensionPixelSize(R.dimen.component_divider_height_bootani);
@@ -598,11 +510,13 @@ public class ComponentSelector extends LinearLayout
cursor.moveToPosition(position - EXTRA_WALLPAPER_COMPONENTS);
int pkgNameIndex = cursor.getColumnIndex(ThemesContract.ThemesColumns.PKG_NAME);
int cmpntIdIndex = cursor.getColumnIndex(PreviewColumns.COMPONENT_ID);
+ long cmpntId = (cmpntIdIndex >= 0) ?
+ cursor.getLong(cmpntIdIndex) : DEFAULT_COMPONENT_ID;
iv.setImageBitmap(
Utils.loadBitmapBlob(cursor, wallpaperIndex));
setTitle(((TextView) v.findViewById(R.id.title)), cursor);
v.setTag(R.id.tag_key_package_name, cursor.getString(pkgNameIndex));
- v.setTag(R.id.tag_key_component_id, cursor.getLong(cmpntIdIndex));
+ v.setTag(R.id.tag_key_component_id, cmpntId);
}
v.setOnClickListener(mItemClickListener);
return v;