From a043ba8ed7015f07b37aa940dd64a745c057d384 Mon Sep 17 00:00:00 2001 From: Andrew Shaw Date: Fri, 17 Feb 2012 16:05:03 -0800 Subject: [PATCH] Default list icons for tags via ios --- .../astrid/actfm/TagSettingsActivity.java | 1 + .../tags/TagCustomFilterCriteriaExposer.java | 4 ++-- .../com/todoroo/astrid/tags/TagService.java | 18 ++++++++++++++++++ astrid/res/drawable/default_list_0.png | Bin 0 -> 1507 bytes astrid/res/drawable/default_list_1.png | Bin 0 -> 1539 bytes astrid/res/drawable/default_list_2.png | Bin 0 -> 1492 bytes astrid/res/drawable/default_list_3.png | Bin 0 -> 1443 bytes astrid/res/layout/tag_settings_activity.xml | 4 ++-- .../astrid/activity/FilterListFragment.java | 3 ++- .../todoroo/astrid/adapter/FilterAdapter.java | 3 ++- 10 files changed, 27 insertions(+), 6 deletions(-) create mode 100644 astrid/res/drawable/default_list_0.png create mode 100644 astrid/res/drawable/default_list_1.png create mode 100644 astrid/res/drawable/default_list_2.png create mode 100644 astrid/res/drawable/default_list_3.png 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 0000000000000000000000000000000000000000..22cea07e2075d68b76733444f99ed58958550191 GIT binary patch literal 1507 zcmeAS@N?(olHy`uVBq!ia0vp^jv&mz1|<8wpL7LMk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m{l@EB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxKsVXI%uvD1M9IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr4|esh**NZ(?$0 z9!LbN!`Ii!Gq1QLF)umQ)5TT^Xog;9W{Q=uk%^<3n~STVqmikhp{t>jv6+*lg{7&P zfs?tDk)<Mv>2~2MaLa!T6y`aR9TL84#CABECEH%ZgC_h&L>}jh^+-`Bk zX&zK>3U0T!;MA)Rbc{YIYLTKECIn1BASOKF0y*%cpPC0u??u3bU8i^dE&~HosHcl# zNX4zUxA*!72TB|-e3T$j@*%!JJ#W(nD~T}njMJ<&os%B8`0ykwQadKlQJ8SVccZS- z42h{F3bl%f%^Ez%TJBAo)}*#n_o-_}zO$Bbv-bH{%~QKyl4$X_p!j@cUXgUt zzjJL}dJAU1V3k@u`QC!SE8XkD{yp<*5EF3>Ilk2U|AS*$9C}-VpEEo?yFmLX$MuWz z92xxH%dnL4b4YMJC~;OaS-j{VM_ucMbb|)1g#v9n?k6-`p0_Edh#U%b6kq`%3*Dym z&5QE$H=dTuzudymaAbM=l*n02&U_MC{m&&Xxpv-X_YL=VXXK_$u&CSi_;W_Dp4yL(A?z4Brv{RsQY{ z)7**IE|wk9TOZBmU6dpOw)w|OE)=Rij3hD+guXI8ON_`|NY{*TTE}){a{KeKT_JR_ z)$eHD{qgSOe7;28jh(l5$?q&T zI5SCjvCM2%VAwreBQQ_0Z$c=CKaabIc1ze{!8FlBs#}r_oYsGC%h|q=q5DPA&)t`l z+Zc}o1aIB`j6LukLxUyz0;#4~QdN<^4o|t|{(6D$7vY~1q+@mdpZ(8ZHuH9Lc0a>y PP_gUj>gTe~DWM4f?2<8; literal 0 HcmV?d00001 diff --git a/astrid/res/drawable/default_list_1.png b/astrid/res/drawable/default_list_1.png new file mode 100644 index 0000000000000000000000000000000000000000..ac37d129b257df38f32efd83e7ea86a08acdaadc GIT binary patch literal 1539 zcmaJ>eM}Q)9KKAz>LM26m@uZ-!>Ci}-Ica*2VLz4YQ+-LmJVm!IIagRa35X|I24Rl zA_{2S$kbsLWSBW;5P@tivLQN^p#z$rfvJnSn5kig5*OS8BfIkD{usO5-TS`3{GR9c z_2fO2nXzff;+Vw%04%X=Hru4t5d36e(*MZIo-}ER7Sgf>JDVqz51{T4*Al zvQdPqY-bOZ3IGdMc^uh7wsk8`vb2&2`Y1)3lh6Q=suwweETjZ5m&*4rI%uThG6Z^D zI_N!(6|r(A%I(>_i>K_nG92WtLK1U9`gg%p5tj&PN+3XyE@Hg6sDq|>acLhk!w@*- zA{6SN>7=r)nV^Z~DNv(C5=cagf?Bl_RU?=hiw9K*iomD}Mv@Xx1lJ_t2nx5B-#+g{sNe8(Ffx}_Aw6s)Nny6&?d>F+r3`SJ2N|hjaBzVghfe;fIZ`>?{nevjn zhZ8(30|pt1T((%yK~kpECD7a)E#sYOlhiO+BsdsVBEgbo9j(^?cctk$Z?9mZUgi6r z#9l`kN5MAA%NFybG`PIDU?>hZ@f0Djyn|(nX1kc_W(C&kW;xJg*C+NozeYW4 zlJpbY&IwmK%t@bOB)#*Ju-AXT3xbYP%%+{ zU}>@3nTe~&gX&DmWr}Y{f)W-%yF#Fp>$S%oii4H_VwYef(yRKyEDSpUR#a+ z_$#zVANb25dt>N>V+&S|MRy!M$VJ~9ly&_?K>oz8CdJ;Lvy9*RqGRHc7d>jd0o;yJ zqz=XsRq}exrh}2jCQ#-Jz7ug*(+8Khhu8bGYg+KI>N}u(!^`e1C$@22MW?E=8alt( z+gq%AA%nwO3=Ja@+(h|@fBTvmLs|yv%R-)*6Jnzm{w|O5kp&U8LyDBj4gRL(SCU=H zk;@eR{jIku-n>7#2El&`iJROQbvQ#Gdgh{bPet_?n+wbFf|2g96P1I;CP!3yTkf(D zgFM9WXTMCnvVB;nIo-Z|ku&d|*hSjop|NC^d;(o??&Je-qHa^+N$`o{R2(;KbGE!y5<30tGZWdNA%~~z4_$vOucLnmI{ZUUx9Y3@@ zRhdh!26m@h`@C5{jJzdQ>1}80n}sKStN3CvyoJjXb>-WS+<*3f--h07+a}c_?~^rJ zyp^=k?T=L$Wl_Bm<&{UPn%%XTWT#?$gMBX+uOHp<%-IVVhps!=-a)b>2H5&3a8~|h r`cQiv%=lC5LusNW8!lOya$M~1KHRT7jFzn%4qnTav<&lkV~+11RPs2R literal 0 HcmV?d00001 diff --git a/astrid/res/drawable/default_list_2.png b/astrid/res/drawable/default_list_2.png new file mode 100644 index 0000000000000000000000000000000000000000..ef9922c1964dd5dfb3245e0ca36f000bd8943ff0 GIT binary patch literal 1492 zcmeAS@N?(olHy`uVBq!ia0vp^jv&mz1|<8wpL7LMk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m{l@EB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxKsVXI%uvD1M9IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr4|esh**NZ(?$0 z9!LbN!`Ii!Gq1QLF)umQ)5TT^Xog;9W{Q=Iv7v>Txr>3JqmhZBp{t>jv6+*lg{7&P zfs?tDk)<Mv>2~2MaLa!lCy`aR9TL84#CABECEH%ZgC_h&L>}jh^oNjS; z#c3W?ZwgMgIJ@E0s}FRHJ}7FDq8cUyOg|tdJmCU4@T8xb2Tbopz=S<*%F#{+1|~O8 z7srr_TW@dg_l^z}IZ#+A&~EiZzeIfdt{qlW{;`)9oqra!P|PV?s(#^xgIu960yZwq zHZcvG^nFstj~@H12~yt8`=yeTd^?U*RGm}ims9kP-YZw+|G;}1kN$j{qIY{g%xasy z$k)^~x!+L#+cw8p$J7k@zis$teVwT!Igv+dN6uIFytVBgM6}H;8g?^Wd*@csGS!5s zpz6KCh57@F+8F$7TQ0PQnz+qSZmH{KTw$Wfli63`$f0lIenRk2v7-PB2>tM9`7bWK zhdc2DTgBI`ivi6aq!{nDTvyoiU$`e^R_J_T&)>h^$s}rI9LTX@l!@Q1F8TY{A1#5j zBdR=KgDXv+Z(KJ|6eHaeaA)i`(16 zBda-nG%eGamU2{sqe+3Iso*|`iCSgqzqd*+#ROvB%LG-a{|Kl#7192FX0gZIr#DI_ zoORB4e_)@TX>{ft>w=oMGXE#>PWiOf5m6Z>aeC_ut}^23^74A17KLFKt>Qk$O`HL4xn@J_)}8aGe#>V2!2Ei}_bY#l-vlu?bT9|- wH@-R&7iM4KQoM!H>iDD^>}$lc3+tcTzZ1}^)hj!g4=QIpUHx3vIVCg!0K3v4ng9R* literal 0 HcmV?d00001 diff --git a/astrid/res/drawable/default_list_3.png b/astrid/res/drawable/default_list_3.png new file mode 100644 index 0000000000000000000000000000000000000000..294f839a416f0ba1d899de340fe6f640a6019707 GIT binary patch literal 1443 zcmeAS@N?(olHy`uVBq!ia0vp^jv&mz1|<8wpL7LMk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m{l@EB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxKsVXI%uvD1M9IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr4|esh**NZ(?$0 z9!LbN!`Ii!Gq1QLF)umQ)5TT^Xog;9W{Q=Wv8%DErL(D_qmhxJp{t>jv6+*lg{7&P zfs?tDk)<Mv>2~2MaLa!N4y`aR9TL84#CABECEH%ZgC_h&L>}jh^+-@<( zX&zK>3U0TU;MA)Rbc{YIYLTKECIn1BASOKF0y*%cpPC0u??u3b?QFSiDgy(PsHcl# zNX4zUxA*HaCrTVBH0)?RxIaN$y8EiaKW4RRb8Su`!On{(G7<#WF3McO!OXTd%vC!x z@R#wrtBdz;yLJ4tnO^3q$@2O0ztqmENq%{u?p@J$o8H$Q?|)fIy*hGigKN%O->BnZ zhSJyW|ClSy=(Zu4=a$9a*9_(6&NB{t%H<1~&;5F}yTl=%R)#fZIxK~}1=<`5rdk4R z8@mp1L^CBuB{E!`><|$qqo^(*CgOgAtHshSfdzzq=r%bwKYy!TbhK>GBmo&ak6rl( zIMfbssCrJ_xo5rXf_nFko2DM~?=T(>e`xu6^5%!_9LE(`gspla@Tp&alHjVI1>a^W z==F5|&AxE{@Pc@k5Bd{7Z0=}QetIawk)yEarm5Vtilh{XcS+ zrx~%Q-C{6yU940$Ek=Q@aQBu_E0^M_b(bm|vkq$czV|udo~k6%x*$l$dFvO)Ro^|L zE@|l&J+i75XlUt<*zw4Fp0G*N$2kWM3n?2g0a0UU)Ys@GuMP|KpWWl|QR^>n<0EbP zsXrEbof2*d+QyK|d|L3NLH7T(LYuQcMeK zGt5%#VB5HKz4@`DwOe>kB{=2?&pxv2)&9@wGp^Z`E2o9Cf{IN~S3j3^P6 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); }