Default list icons for tags via ios

pull/14/head
Andrew Shaw 14 years ago
parent 38d9b5c3c8
commit a043ba8ed7

@ -167,6 +167,7 @@ public class TagSettingsActivity extends FragmentActivity {
if(actFmPreferenceService.isLoggedIn()) { if(actFmPreferenceService.isLoggedIn()) {
picture.setVisibility(View.VISIBLE); picture.setVisibility(View.VISIBLE);
picture.setDefaultImageResource(TagService.getDefaultImageIDForTag(tagData.getValue(TagData.NAME)));
findViewById(R.id.picture_label).setVisibility(View.VISIBLE); findViewById(R.id.picture_label).setVisibility(View.VISIBLE);
findViewById(R.id.listSettingsMore).setVisibility(View.VISIBLE); findViewById(R.id.listSettingsMore).setVisibility(View.VISIBLE);
} }

@ -51,7 +51,7 @@ public class TagCustomFilterCriteriaExposer extends BroadcastReceiver {
MetadataDao.MetadataCriteria.withKey(TagService.KEY), MetadataDao.MetadataCriteria.withKey(TagService.KEY),
TagService.TAG.eq("?"))).toString(), TagService.TAG.eq("?"))).toString(),
values, tagNames, tagNames, 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)); context.getString(R.string.CFC_tag_name));
ret[j++] = criterion; ret[j++] = criterion;
} }
@ -67,7 +67,7 @@ public class TagCustomFilterCriteriaExposer extends BroadcastReceiver {
MetadataDao.MetadataCriteria.withKey(TagService.KEY), MetadataDao.MetadataCriteria.withKey(TagService.KEY),
TagService.TAG.like("%?%"))).toString(), TagService.TAG.like("%?%"))).toString(),
null, context.getString(R.string.CFC_tag_contains_name), "", 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)); context.getString(R.string.CFC_tag_contains_name));
ret[j++] = criterion; ret[j++] = criterion;
} }

@ -9,6 +9,7 @@ import java.util.LinkedHashSet;
import android.text.TextUtils; import android.text.TextUtils;
import com.timsu.astrid.R;
import com.todoroo.andlib.data.Property.CountProperty; import com.todoroo.andlib.data.Property.CountProperty;
import com.todoroo.andlib.data.Property.LongProperty; import com.todoroo.andlib.data.Property.LongProperty;
import com.todoroo.andlib.data.Property.StringProperty; import com.todoroo.andlib.data.Property.StringProperty;
@ -61,6 +62,13 @@ public final class TagService {
private static TagService instance = null; 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() { public static synchronized TagService getInstance() {
if(instance == null) if(instance == null)
instance = new TagService(); instance = new TagService();
@ -368,4 +376,14 @@ public final class TagService {
Flags.set(Flags.REFRESH); 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()));
}
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

@ -114,7 +114,7 @@
android:layout_width="80dip" android:layout_width="80dip"
android:layout_height="80dip" android:layout_height="80dip"
android:layout_alignParentLeft="true" android:layout_alignParentLeft="true"
android:scaleType="fitCenter" android:scaleType="centerInside"
android:paddingRight="10dip" android:paddingRight="10dip"
android:visibility="gone" android:visibility="gone"
android:layout_below="@id/picture_label" android:layout_below="@id/picture_label"
@ -142,7 +142,7 @@
android:id="@+id/divider" android:id="@+id/divider"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="1dip" android:layout_height="1dip"
android:layout_marginTop="10dip" android:layout_marginTop="25dip"
android:layout_below="@id/tag_description" android:layout_below="@id/tag_description"
style="@style/TEA_Separator" /> style="@style/TEA_Separator" />

@ -58,6 +58,7 @@ import com.todoroo.astrid.api.FilterListItem;
import com.todoroo.astrid.core.CustomFilterActivity; import com.todoroo.astrid.core.CustomFilterActivity;
import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.service.StatisticsService; import com.todoroo.astrid.service.StatisticsService;
import com.todoroo.astrid.tags.TagService;
import com.todoroo.astrid.tags.TagsPlugin; import com.todoroo.astrid.tags.TagsPlugin;
import com.todoroo.astrid.welcome.HelpInfoPopover; import com.todoroo.astrid.welcome.HelpInfoPopover;
@ -398,7 +399,7 @@ public class FilterListFragment extends ListFragment {
Bitmap emblem = filter.listingIcon; Bitmap emblem = filter.listingIcon;
if(emblem == null) if(emblem == null)
emblem = ((BitmapDrawable) activity.getResources().getDrawable( emblem = ((BitmapDrawable) activity.getResources().getDrawable(
R.drawable.gl_list)).getBitmap(); TagService.getDefaultImageIDForTag(filter.listingTitle))).getBitmap();
// create icon by superimposing astrid w/ icon // create icon by superimposing astrid w/ icon
DisplayMetrics metrics = new DisplayMetrics(); DisplayMetrics metrics = new DisplayMetrics();

@ -50,6 +50,7 @@ import com.todoroo.astrid.api.FilterListHeader;
import com.todoroo.astrid.api.FilterListItem; import com.todoroo.astrid.api.FilterListItem;
import com.todoroo.astrid.api.FilterWithUpdate; import com.todoroo.astrid.api.FilterWithUpdate;
import com.todoroo.astrid.service.TaskService; import com.todoroo.astrid.service.TaskService;
import com.todoroo.astrid.tags.TagService;
public class FilterAdapter extends ArrayAdapter<Filter> { public class FilterAdapter extends ArrayAdapter<Filter> {
@ -450,7 +451,7 @@ public class FilterAdapter extends ArrayAdapter<Filter> {
viewHolder.name.getLayoutParams().height = (int) (58 * metrics.density); viewHolder.name.getLayoutParams().height = (int) (58 * metrics.density);
if(filter instanceof FilterWithUpdate) { if(filter instanceof FilterWithUpdate) {
viewHolder.urlImage.setVisibility(View.VISIBLE); 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); viewHolder.urlImage.setUrl(((FilterWithUpdate)filter).imageUrl);
} }

Loading…
Cancel
Save