diff --git a/astrid/plugin-src/com/todoroo/astrid/actfm/TagSettingsActivity.java b/astrid/plugin-src/com/todoroo/astrid/actfm/TagSettingsActivity.java index 94536df7d..d499cdfc0 100644 --- a/astrid/plugin-src/com/todoroo/astrid/actfm/TagSettingsActivity.java +++ b/astrid/plugin-src/com/todoroo/astrid/actfm/TagSettingsActivity.java @@ -167,6 +167,7 @@ public class TagSettingsActivity extends FragmentActivity { if(actFmPreferenceService.isLoggedIn()) { picture.setVisibility(View.VISIBLE); + picture.setDefaultImageResource(TagService.getDefaultImageIDForTag(tagData.getValue(TagData.NAME))); findViewById(R.id.picture_label).setVisibility(View.VISIBLE); findViewById(R.id.listSettingsMore).setVisibility(View.VISIBLE); } diff --git a/astrid/plugin-src/com/todoroo/astrid/tags/TagCustomFilterCriteriaExposer.java b/astrid/plugin-src/com/todoroo/astrid/tags/TagCustomFilterCriteriaExposer.java index 0b72ff79c..be9d7d32d 100644 --- a/astrid/plugin-src/com/todoroo/astrid/tags/TagCustomFilterCriteriaExposer.java +++ b/astrid/plugin-src/com/todoroo/astrid/tags/TagCustomFilterCriteriaExposer.java @@ -51,7 +51,7 @@ public class TagCustomFilterCriteriaExposer extends BroadcastReceiver { MetadataDao.MetadataCriteria.withKey(TagService.KEY), TagService.TAG.eq("?"))).toString(), values, tagNames, tagNames, - ((BitmapDrawable)r.getDrawable(R.drawable.gl_list)).getBitmap(), + ((BitmapDrawable)r.getDrawable(TagService.getDefaultImageIDForTag(0))).getBitmap(), context.getString(R.string.CFC_tag_name)); ret[j++] = criterion; } @@ -67,7 +67,7 @@ public class TagCustomFilterCriteriaExposer extends BroadcastReceiver { MetadataDao.MetadataCriteria.withKey(TagService.KEY), TagService.TAG.like("%?%"))).toString(), null, context.getString(R.string.CFC_tag_contains_name), "", - ((BitmapDrawable)r.getDrawable(R.drawable.gl_list)).getBitmap(), + ((BitmapDrawable)r.getDrawable(TagService.getDefaultImageIDForTag(0))).getBitmap(), context.getString(R.string.CFC_tag_contains_name)); ret[j++] = criterion; } diff --git a/astrid/plugin-src/com/todoroo/astrid/tags/TagService.java b/astrid/plugin-src/com/todoroo/astrid/tags/TagService.java index 1140edb74..7dc21a74e 100644 --- a/astrid/plugin-src/com/todoroo/astrid/tags/TagService.java +++ b/astrid/plugin-src/com/todoroo/astrid/tags/TagService.java @@ -9,6 +9,7 @@ import java.util.LinkedHashSet; import android.text.TextUtils; +import com.timsu.astrid.R; import com.todoroo.andlib.data.Property.CountProperty; import com.todoroo.andlib.data.Property.LongProperty; import com.todoroo.andlib.data.Property.StringProperty; @@ -61,6 +62,13 @@ public final class TagService { private static TagService instance = null; + private static int[] default_tag_images = new int[] { + R.drawable.default_list_0, + R.drawable.default_list_1, + R.drawable.default_list_2, + R.drawable.default_list_3 + }; + public static synchronized TagService getInstance() { if(instance == null) instance = new TagService(); @@ -368,4 +376,14 @@ public final class TagService { Flags.set(Flags.REFRESH); } + public static int getDefaultImageIDForTag(long remoteID) { + if (remoteID <= 0) { + int random = (int)(Math.random()*4); + return default_tag_images[random]; + } + return default_tag_images[((int)remoteID)%4]; + } + public static int getDefaultImageIDForTag(String title) { + return getDefaultImageIDForTag(Math.abs(title.hashCode())); + } } diff --git a/astrid/res/drawable/default_list_0.png b/astrid/res/drawable/default_list_0.png new file mode 100644 index 000000000..22cea07e2 Binary files /dev/null and b/astrid/res/drawable/default_list_0.png differ diff --git a/astrid/res/drawable/default_list_1.png b/astrid/res/drawable/default_list_1.png new file mode 100644 index 000000000..ac37d129b Binary files /dev/null and b/astrid/res/drawable/default_list_1.png differ diff --git a/astrid/res/drawable/default_list_2.png b/astrid/res/drawable/default_list_2.png new file mode 100644 index 000000000..ef9922c19 Binary files /dev/null and b/astrid/res/drawable/default_list_2.png differ diff --git a/astrid/res/drawable/default_list_3.png b/astrid/res/drawable/default_list_3.png new file mode 100644 index 000000000..294f839a4 Binary files /dev/null and b/astrid/res/drawable/default_list_3.png differ diff --git a/astrid/res/layout/tag_settings_activity.xml b/astrid/res/layout/tag_settings_activity.xml index 92f902a30..6622ad966 100644 --- a/astrid/res/layout/tag_settings_activity.xml +++ b/astrid/res/layout/tag_settings_activity.xml @@ -114,7 +114,7 @@ android:layout_width="80dip" android:layout_height="80dip" android:layout_alignParentLeft="true" - android:scaleType="fitCenter" + android:scaleType="centerInside" android:paddingRight="10dip" android:visibility="gone" android:layout_below="@id/picture_label" @@ -142,7 +142,7 @@ android:id="@+id/divider" android:layout_width="fill_parent" android:layout_height="1dip" - android:layout_marginTop="10dip" + android:layout_marginTop="25dip" android:layout_below="@id/tag_description" style="@style/TEA_Separator" /> diff --git a/astrid/src/com/todoroo/astrid/activity/FilterListFragment.java b/astrid/src/com/todoroo/astrid/activity/FilterListFragment.java index c8a658295..72360b38a 100644 --- a/astrid/src/com/todoroo/astrid/activity/FilterListFragment.java +++ b/astrid/src/com/todoroo/astrid/activity/FilterListFragment.java @@ -58,6 +58,7 @@ import com.todoroo.astrid.api.FilterListItem; import com.todoroo.astrid.core.CustomFilterActivity; import com.todoroo.astrid.data.Task; import com.todoroo.astrid.service.StatisticsService; +import com.todoroo.astrid.tags.TagService; import com.todoroo.astrid.tags.TagsPlugin; import com.todoroo.astrid.welcome.HelpInfoPopover; @@ -398,7 +399,7 @@ public class FilterListFragment extends ListFragment { Bitmap emblem = filter.listingIcon; if(emblem == null) emblem = ((BitmapDrawable) activity.getResources().getDrawable( - R.drawable.gl_list)).getBitmap(); + TagService.getDefaultImageIDForTag(filter.listingTitle))).getBitmap(); // create icon by superimposing astrid w/ icon DisplayMetrics metrics = new DisplayMetrics(); diff --git a/astrid/src/com/todoroo/astrid/adapter/FilterAdapter.java b/astrid/src/com/todoroo/astrid/adapter/FilterAdapter.java index 8f6e6688a..a1d8e03a4 100644 --- a/astrid/src/com/todoroo/astrid/adapter/FilterAdapter.java +++ b/astrid/src/com/todoroo/astrid/adapter/FilterAdapter.java @@ -50,6 +50,7 @@ import com.todoroo.astrid.api.FilterListHeader; import com.todoroo.astrid.api.FilterListItem; import com.todoroo.astrid.api.FilterWithUpdate; import com.todoroo.astrid.service.TaskService; +import com.todoroo.astrid.tags.TagService; public class FilterAdapter extends ArrayAdapter { @@ -450,7 +451,7 @@ public class FilterAdapter extends ArrayAdapter { viewHolder.name.getLayoutParams().height = (int) (58 * metrics.density); if(filter instanceof FilterWithUpdate) { viewHolder.urlImage.setVisibility(View.VISIBLE); - viewHolder.urlImage.setDefaultImageResource(R.drawable.gl_list); + viewHolder.urlImage.setDefaultImageResource(TagService.getDefaultImageIDForTag(viewHolder.name.getText().toString())); viewHolder.urlImage.setUrl(((FilterWithUpdate)filter).imageUrl); }