summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/filtershow/category/CategoryAdapter.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/gallery3d/filtershow/category/CategoryAdapter.java')
-rw-r--r--src/com/android/gallery3d/filtershow/category/CategoryAdapter.java43
1 files changed, 42 insertions, 1 deletions
diff --git a/src/com/android/gallery3d/filtershow/category/CategoryAdapter.java b/src/com/android/gallery3d/filtershow/category/CategoryAdapter.java
index f08699dee..398c6785e 100644
--- a/src/com/android/gallery3d/filtershow/category/CategoryAdapter.java
+++ b/src/com/android/gallery3d/filtershow/category/CategoryAdapter.java
@@ -41,6 +41,7 @@ public class CategoryAdapter extends ArrayAdapter<Action> {
private boolean mUseFilterIconButton = false;
private int mSelectedPosition;
int mCategory;
+ private int mOrientation;
public CategoryAdapter(Context context, int textViewResourceId) {
super(context, textViewResourceId);
@@ -67,8 +68,13 @@ public class CategoryAdapter extends ArrayAdapter<Action> {
public void initializeSelection(int category) {
mCategory = category;
- // TODO: fix this
mSelectedPosition = -1;
+ if (category == MainPanel.LOOKS) {
+ mSelectedPosition = 0;
+ }
+ if (category == MainPanel.BORDERS) {
+ mSelectedPosition = 0;
+ }
}
@Override
@@ -95,10 +101,12 @@ public class CategoryAdapter extends ArrayAdapter<Action> {
convertView = new CategoryView(getContext());
}
CategoryView view = (CategoryView) convertView;
+ view.setOrientation(mOrientation);
view.setAction(getItem(position), this);
view.setLayoutParams(
new ListView.LayoutParams(mItemWidth, mItemHeight));
view.setTag(position);
+ view.invalidate();
return view;
}
@@ -168,4 +176,37 @@ public class CategoryAdapter extends ArrayAdapter<Action> {
}
}
}
+
+ public void setOrientation(int orientation) {
+ mOrientation = orientation;
+ }
+
+ public void reflectImagePreset(ImagePreset preset) {
+ int selected = 0; // if nothing found, select "none" (first element)
+ FilterRepresentation rep = null;
+ if (mCategory == MainPanel.LOOKS) {
+ int pos = preset.getPositionForType(FilterRepresentation.TYPE_FX);
+ if (pos != -1) {
+ rep = preset.getFilterRepresentation(pos);
+ }
+ } else if (mCategory == MainPanel.BORDERS) {
+ int pos = preset.getPositionForType(FilterRepresentation.TYPE_BORDER);
+ if (pos != -1) {
+ rep = preset.getFilterRepresentation(pos);
+ }
+ }
+ if (rep != null) {
+ for (int i = 0; i < getCount(); i++) {
+ if (rep.getName().equalsIgnoreCase(
+ getItem(i).getRepresentation().getName())) {
+ selected = i;
+ }
+ }
+ }
+ if (mSelectedPosition != selected) {
+ mSelectedPosition = selected;
+ this.notifyDataSetChanged();
+ }
+
+ }
}