From 192f0b89f4e6aac320a8fb6d08c06bb8e359d41e Mon Sep 17 00:00:00 2001 From: Peter Siegmund Date: Tue, 16 Feb 2016 16:38:42 +0100 Subject: [PATCH 01/17] new images for flag down --- ...blue_32dp.png => flag_blue_first_32dp.png} | Bin ...blue_48dp.png => flag_blue_first_48dp.png} | Bin ...blue_64dp.png => flag_blue_first_64dp.png} | Bin ...blue_96dp.png => flag_blue_first_96dp.png} | Bin .../res/drawable-hdpi/flag_blue_last_32dp.png | Bin 0 -> 751 bytes .../res/drawable-hdpi/flag_blue_last_48dp.png | Bin 0 -> 625 bytes .../res/drawable-hdpi/flag_blue_last_64dp.png | Bin 0 -> 751 bytes .../res/drawable-hdpi/flag_blue_last_96dp.png | Bin 0 -> 1004 bytes ...blue_32dp.png => flag_blue_first_32dp.png} | Bin ...blue_48dp.png => flag_blue_first_48dp.png} | Bin ...blue_64dp.png => flag_blue_first_64dp.png} | Bin ...blue_96dp.png => flag_blue_first_96dp.png} | Bin .../res/drawable-mdpi/flag_blue_last_32dp.png | Bin 0 -> 583 bytes .../res/drawable-mdpi/flag_blue_last_48dp.png | Bin 0 -> 487 bytes .../res/drawable-mdpi/flag_blue_last_64dp.png | Bin 0 -> 583 bytes .../res/drawable-mdpi/flag_blue_last_96dp.png | Bin 0 -> 751 bytes ...blue_32dp.png => flag_blue_first_32dp.png} | Bin ...blue_48dp.png => flag_blue_first_48dp.png} | Bin ...blue_64dp.png => flag_blue_first_64dp.png} | Bin ...blue_96dp.png => flag_blue_first_96dp.png} | Bin .../drawable-xhdpi/flag_blue_last_32dp.png | Bin 0 -> 934 bytes .../drawable-xhdpi/flag_blue_last_48dp.png | Bin 0 -> 751 bytes .../drawable-xhdpi/flag_blue_last_64dp.png | Bin 0 -> 934 bytes .../drawable-xhdpi/flag_blue_last_96dp.png | Bin 0 -> 1234 bytes ...blue_32dp.png => flag_blue_first_32dp.png} | Bin ...blue_48dp.png => flag_blue_first_48dp.png} | Bin ...blue_64dp.png => flag_blue_first_64dp.png} | Bin ...blue_96dp.png => flag_blue_first_96dp.png} | Bin .../drawable-xxhdpi/flag_blue_last_32dp.png | Bin 0 -> 1234 bytes .../drawable-xxhdpi/flag_blue_last_48dp.png | Bin 0 -> 1004 bytes .../drawable-xxhdpi/flag_blue_last_64dp.png | Bin 0 -> 1234 bytes .../drawable-xxhdpi/flag_blue_last_96dp.png | Bin 0 -> 1811 bytes ...blue_32dp.png => flag_blue_first_32dp.png} | Bin ...blue_48dp.png => flag_blue_first_48dp.png} | Bin ...blue_64dp.png => flag_blue_first_64dp.png} | Bin ...blue_96dp.png => flag_blue_first_96dp.png} | Bin .../drawable-xxxhdpi/flag_blue_last_32dp.png | Bin 0 -> 1609 bytes .../drawable-xxxhdpi/flag_blue_last_48dp.png | Bin 0 -> 1234 bytes .../drawable-xxxhdpi/flag_blue_last_64dp.png | Bin 0 -> 1609 bytes .../drawable-xxxhdpi/flag_blue_last_96dp.png | Bin 0 -> 2502 bytes ...dark.xml => flag_blue_first_32dp_dark.xml} | 2 +- ...ght.xml => flag_blue_first_32dp_light.xml} | 2 +- ...dark.xml => flag_blue_first_48dp_dark.xml} | 2 +- ...ght.xml => flag_blue_first_48dp_light.xml} | 2 +- ...dark.xml => flag_blue_first_64dp_dark.xml} | 2 +- ...ght.xml => flag_blue_first_64dp_light.xml} | 2 +- ...dark.xml => flag_blue_first_96dp_dark.xml} | 2 +- ...ght.xml => flag_blue_first_96dp_light.xml} | 2 +- .../res/drawable/flag_blue_last_32dp_dark.xml | 12 ++ .../drawable/flag_blue_last_32dp_light.xml | 20 +++ .../res/drawable/flag_blue_last_48dp_dark.xml | 12 ++ .../drawable/flag_blue_last_48dp_light.xml | 20 +++ .../res/drawable/flag_blue_last_64dp_dark.xml | 12 ++ .../drawable/flag_blue_last_64dp_light.xml | 20 +++ .../res/drawable/flag_blue_last_96dp_dark.xml | 12 ++ .../drawable/flag_blue_last_96dp_light.xml | 20 +++ ...n_more.xml => panel_button_blue_first.xml} | 6 +- .../res/layout/panel_button_blue_last.xml | 57 ++++++++ .../res/layout/race_finish_config.xml | 2 +- .../res/layout/race_panel_flags_hor.xml | 22 +++- .../res/layout/race_panel_flags_ver.xml | 22 +++- .../res/values-sw600dp/themes_dark.xml | 6 +- .../res/values-sw600dp/themes_light.xml | 6 +- .../res/values-sw720dp/themes_dark.xml | 6 +- .../res/values-sw720dp/themes_light.xml | 6 +- .../res/values/attrs.xml | 8 +- .../res/values/themes_dark.xml | 6 +- .../res/values/themes_light.xml | 6 +- .../fragments/panels/FlagPanelFragment.java | 123 +++++++++++++----- .../fragments/raceinfo/MoreFlagsFragment.java | 3 +- 70 files changed, 358 insertions(+), 65 deletions(-) rename mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/{flag_first_blue_32dp.png => flag_blue_first_32dp.png} (100%) rename mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/{flag_first_blue_48dp.png => flag_blue_first_48dp.png} (100%) rename mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/{flag_first_blue_64dp.png => flag_blue_first_64dp.png} (100%) rename mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/{flag_first_blue_96dp.png => flag_blue_first_96dp.png} (100%) create mode 100644 mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/flag_blue_last_32dp.png create mode 100644 mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/flag_blue_last_48dp.png create mode 100644 mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/flag_blue_last_64dp.png create mode 100644 mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/flag_blue_last_96dp.png rename mobile/com.sap.sailing.racecommittee.app/res/drawable-mdpi/{flag_first_blue_32dp.png => flag_blue_first_32dp.png} (100%) rename mobile/com.sap.sailing.racecommittee.app/res/drawable-mdpi/{flag_first_blue_48dp.png => flag_blue_first_48dp.png} (100%) rename mobile/com.sap.sailing.racecommittee.app/res/drawable-mdpi/{flag_first_blue_64dp.png => flag_blue_first_64dp.png} (100%) rename mobile/com.sap.sailing.racecommittee.app/res/drawable-mdpi/{flag_first_blue_96dp.png => flag_blue_first_96dp.png} (100%) create mode 100644 mobile/com.sap.sailing.racecommittee.app/res/drawable-mdpi/flag_blue_last_32dp.png create mode 100644 mobile/com.sap.sailing.racecommittee.app/res/drawable-mdpi/flag_blue_last_48dp.png create mode 100644 mobile/com.sap.sailing.racecommittee.app/res/drawable-mdpi/flag_blue_last_64dp.png create mode 100644 mobile/com.sap.sailing.racecommittee.app/res/drawable-mdpi/flag_blue_last_96dp.png rename mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/{flag_first_blue_32dp.png => flag_blue_first_32dp.png} (100%) rename mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/{flag_first_blue_48dp.png => flag_blue_first_48dp.png} (100%) rename mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/{flag_first_blue_64dp.png => flag_blue_first_64dp.png} (100%) rename mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/{flag_first_blue_96dp.png => flag_blue_first_96dp.png} (100%) create mode 100644 mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/flag_blue_last_32dp.png create mode 100644 mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/flag_blue_last_48dp.png create mode 100644 mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/flag_blue_last_64dp.png create mode 100644 mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/flag_blue_last_96dp.png rename mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/{flag_first_blue_32dp.png => flag_blue_first_32dp.png} (100%) rename mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/{flag_first_blue_48dp.png => flag_blue_first_48dp.png} (100%) rename mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/{flag_first_blue_64dp.png => flag_blue_first_64dp.png} (100%) rename mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/{flag_first_blue_96dp.png => flag_blue_first_96dp.png} (100%) create mode 100644 mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/flag_blue_last_32dp.png create mode 100644 mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/flag_blue_last_48dp.png create mode 100644 mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/flag_blue_last_64dp.png create mode 100644 mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/flag_blue_last_96dp.png rename mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/{flag_first_blue_32dp.png => flag_blue_first_32dp.png} (100%) rename mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/{flag_first_blue_48dp.png => flag_blue_first_48dp.png} (100%) rename mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/{flag_first_blue_64dp.png => flag_blue_first_64dp.png} (100%) rename mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/{flag_first_blue_96dp.png => flag_blue_first_96dp.png} (100%) create mode 100644 mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/flag_blue_last_32dp.png create mode 100644 mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/flag_blue_last_48dp.png create mode 100644 mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/flag_blue_last_64dp.png create mode 100644 mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/flag_blue_last_96dp.png rename mobile/com.sap.sailing.racecommittee.app/res/drawable/{flag_first_blue_32dp_dark.xml => flag_blue_first_32dp_dark.xml} (81%) rename mobile/com.sap.sailing.racecommittee.app/res/drawable/{flag_first_blue_32dp_light.xml => flag_blue_first_32dp_light.xml} (88%) rename mobile/com.sap.sailing.racecommittee.app/res/drawable/{flags_more_64dp_dark.xml => flag_blue_first_48dp_dark.xml} (81%) rename mobile/com.sap.sailing.racecommittee.app/res/drawable/{flag_first_blue_48dp_light.xml => flag_blue_first_48dp_light.xml} (88%) rename mobile/com.sap.sailing.racecommittee.app/res/drawable/{flag_first_blue_48dp_dark.xml => flag_blue_first_64dp_dark.xml} (81%) rename mobile/com.sap.sailing.racecommittee.app/res/drawable/{flags_more_64dp_light.xml => flag_blue_first_64dp_light.xml} (88%) rename mobile/com.sap.sailing.racecommittee.app/res/drawable/{flags_more_96dp_dark.xml => flag_blue_first_96dp_dark.xml} (81%) rename mobile/com.sap.sailing.racecommittee.app/res/drawable/{flags_more_96dp_light.xml => flag_blue_first_96dp_light.xml} (88%) create mode 100644 mobile/com.sap.sailing.racecommittee.app/res/drawable/flag_blue_last_32dp_dark.xml create mode 100644 mobile/com.sap.sailing.racecommittee.app/res/drawable/flag_blue_last_32dp_light.xml create mode 100644 mobile/com.sap.sailing.racecommittee.app/res/drawable/flag_blue_last_48dp_dark.xml create mode 100644 mobile/com.sap.sailing.racecommittee.app/res/drawable/flag_blue_last_48dp_light.xml create mode 100644 mobile/com.sap.sailing.racecommittee.app/res/drawable/flag_blue_last_64dp_dark.xml create mode 100644 mobile/com.sap.sailing.racecommittee.app/res/drawable/flag_blue_last_64dp_light.xml create mode 100644 mobile/com.sap.sailing.racecommittee.app/res/drawable/flag_blue_last_96dp_dark.xml create mode 100644 mobile/com.sap.sailing.racecommittee.app/res/drawable/flag_blue_last_96dp_light.xml rename mobile/com.sap.sailing.racecommittee.app/res/layout/{panel_button_more.xml => panel_button_blue_first.xml} (92%) create mode 100644 mobile/com.sap.sailing.racecommittee.app/res/layout/panel_button_blue_last.xml diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/flag_first_blue_32dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/flag_blue_first_32dp.png similarity index 100% rename from mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/flag_first_blue_32dp.png rename to mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/flag_blue_first_32dp.png diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/flag_first_blue_48dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/flag_blue_first_48dp.png similarity index 100% rename from mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/flag_first_blue_48dp.png rename to mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/flag_blue_first_48dp.png diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/flag_first_blue_64dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/flag_blue_first_64dp.png similarity index 100% rename from mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/flag_first_blue_64dp.png rename to mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/flag_blue_first_64dp.png diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/flag_first_blue_96dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/flag_blue_first_96dp.png similarity index 100% rename from mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/flag_first_blue_96dp.png rename to mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/flag_blue_first_96dp.png diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/flag_blue_last_32dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/flag_blue_last_32dp.png new file mode 100644 index 0000000000000000000000000000000000000000..4bb7fbf8ea8a7693c0b8937ad1de8198327d68bb GIT binary patch literal 751 zcmVrW~H0002DP)t-s0FTU{ z)$ITO|A5El7@E-_ozf7N&%fjH9GlW`z~Zys@JO%P1d+`sq12Pm={%{}Fr?OCx!>3A z_pjXVtJ?1S{r>0l`b@Cf+wb_}^Z9hb;|!F}G^Wh;Iw^zZomT({l`lg?PS-uL_c zr`YXOwB5_-^+2oHo73xj#pP(d;otH3x8L!*;qi~o=@gjIi_GZj_WOg$=JWdfB%jlG z#N>y{=Qya>Y`)^7*X=B#)nvQi)9m&%rb0#l00Hw!L_t(&-tCrabDBUDhIc`wM9~m~ z(V%!QUQ#uww%YXn|E}&i%OXy`BomiTX5QzEhgX<=+{-~B00000000000002^0Mb#o zUsj@0Rn-2ogm=9;gv3{n_~zeuo+s;#a}>A~HCudf8-{oEWIGI7mLw|ok)!E6yotIL zxlWF>Bhl)dhj4s74ZTA2Sb{`c9MEz4DryXkWX{a7}p%Uv78`GiA5_~T8iz=X3NMv1Nr+cC> z?LkRwX=G1--7}NJ5{K(aw8Naa_{C@7xBC5?$SenMhLJEGqeIn1&-`1rI|L;iKE`Lp|z(&$M600000 h00000006-I`3KC)AvR^>Vx<58002ovPDHLkV1jcfh3NnQ literal 0 HcmV?d00001 diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/flag_blue_last_48dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/flag_blue_last_48dp.png new file mode 100644 index 0000000000000000000000000000000000000000..ad79e383819aa6dca31722ba203d1ffe2c72297a GIT binary patch literal 625 zcmV-%0*?KOP)m+{m16?bi(5dl+Jj>|2F^t0e(qDK~z}7?Uu`Sf-n$32M93=h^Q15pJ-Kl)LN^y z|Nmp1A*fpwT=bl|i%bS`xFi{(01U%048t%C^9Y7%8n1R(LRfbWwWXAm7dw;?qWX^< zHQRZu!}aPy_>Dkk%~m@UZ&9ZU&@*wUXq$0iN8cA3V}O|)=Gn*wFYlT~9RWQhib8D1 z0E3ATVd9N2OJHivFitF^sN)?UGY6<*r~@o8^ib8txGZfys!Az}v_=4PY*Wlqyjm%} zcCE~@qQyy_vg@k5Zd`U9vn1jIMrzC|y0}xS|I6+2K>HKy8zK*)%ERGCQ#^=zw!3@q?CLmR&>N2;(k|T~mMf zxTCLb;F>o(EyHu+fY~-H<{$hm9xwC3>93hg`Tq&SFbu;m4D$$o9?lpkYCEC^00000 LNkvXXu0mjfr9(m? literal 0 HcmV?d00001 diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/flag_blue_last_64dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/flag_blue_last_64dp.png new file mode 100644 index 0000000000000000000000000000000000000000..4bb7fbf8ea8a7693c0b8937ad1de8198327d68bb GIT binary patch literal 751 zcmVrW~H0002DP)t-s0FTU{ z)$ITO|A5El7@E-_ozf7N&%fjH9GlW`z~Zys@JO%P1d+`sq12Pm={%{}Fr?OCx!>3A z_pjXVtJ?1S{r>0l`b@Cf+wb_}^Z9hb;|!F}G^Wh;Iw^zZomT({l`lg?PS-uL_c zr`YXOwB5_-^+2oHo73xj#pP(d;otH3x8L!*;qi~o=@gjIi_GZj_WOg$=JWdfB%jlG z#N>y{=Qya>Y`)^7*X=B#)nvQi)9m&%rb0#l00Hw!L_t(&-tCrabDBUDhIc`wM9~m~ z(V%!QUQ#uww%YXn|E}&i%OXy`BomiTX5QzEhgX<=+{-~B00000000000002^0Mb#o zUsj@0Rn-2ogm=9;gv3{n_~zeuo+s;#a}>A~HCudf8-{oEWIGI7mLw|ok)!E6yotIL zxlWF>Bhl)dhj4s74ZTA2Sb{`c9MEz4DryXkWX{a7}p%Uv78`GiA5_~T8iz=X3NMv1Nr+cC> z?LkRwX=G1--7}NJ5{K(aw8Naa_{C@7xBC5?$SenMhLJEGqeIn1&-`1rI|L;iKE`Lp|z(&$M600000 h00000006-I`3KC)AvR^>Vx<58002ovPDHLkV1jcfh3NnQ literal 0 HcmV?d00001 diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/flag_blue_last_96dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/flag_blue_last_96dp.png new file mode 100644 index 0000000000000000000000000000000000000000..8775ba019f833fd89d365ec5a26f608c3a760356 GIT binary patch literal 1004 zcmV-PKi`~AD&@oc{0D52D=+V1D{`cSgm5SGuI)9d^F{$RP^h&zi5^GL7Sx8L#0 z==C(F)?ByVlhEm8yWkj_(bw(we8uH-!sDmd?L4X2+wb^Fgo`Ku00QJmL_t(|+U=Qb zTcSV|h7~~p^IbH}U`blj^%XVS%GLk>t5)C)%z(9Dx^mp>xxeIi4mNl5dMuX%00000 z0000000000000000000000000_)_vpNdC$-3Tj9J8vn0`R*WcJw}u{ls%k(38ql}~ z4Ncc|^MjaqifQs|Xl3Ij%&Ams^;E3UY_-Ff)#);o+tWtdBaMEr>)uJAF}SzYgnn5F zIzPCWU5rFrHHC6{jfZxsPs3zxX}wge;z_DeRx@-O6stdGgIy^#ep=a{sv`;(&&2E} z88r;nlkw!&H16swjLq4aSv)M8Mb_w?+zrDRvuSpEZ8#U!VB6+2?D$iknyWBaqLv$N zPi(R4@@=>tb*4$notl2ws?w6D+%5&z@@Y8K8P>M=T!SB)({NC(BmZSY$lXMZ?e*QM zgxm?+hXz-z@f;s|6SpqE#$fj{E=1TuuFoA8+u?6bW({|kJpn2A^-VnahOVp{=Hkpr z9p{=YTMR5_Qfio6^)rpr`q+pfm9mT)FRXjUyA#mP=FSygn00sZX)NhaZ8@Lk>RvS- zl&O3g?ADb3ckaB!JeJaF&^c`l&gBNxIbWcAT*V=mhLH+2__c8#y-teSHeXyYjg15v z9Xb%$Xzcl&ie}uOIGe8V@6jZaXf#-PHww#Eb7k`yHF7*q@|uFRsA-FL{O{5@cR1wZ z^4oK3qa@J^XBf5ZRZu8tU7Ax?UA(E-!{Ts#Sq(jPNUJyWa~?dni*F$Xe{7}e?h^M{ z>9QJZ88bF5p>93*mBNwjTv{c0b8=w~O$bgkHURr*<7#Cdder03%_r~nF07Gz9dl!$ z#j~u#&WfXWqf+>~V-mmbe}jf!I1l~qoga1m=mpzVHHy8l?$+~0at$e^zK=ezuZPAt z2^chY&fWaOuzA=kin8}+jcn{T_-}Rhxsd|^00000000000000000000000000002^ aLjD3>7ChpOW}!9!0000tws&i_GXq zui8+u+?Ubnr`YXi!gTTg00CD?L_t(o!|j#ZQo=A4MGxULZJ-wr2nbk^R#89{@b>>- z=1z-_Zw@WY_;A)kZqr#!Pxholf*=TjAPA0zQjLppYpWU{w2f#Gn@Y@ZneWG zPL7i#j-qx41Ji~0$^_NLy*@hz7Gpacx$(6o;*zMcxOX)07?TP5=?$8=w%Egdm9+|v zgbdo0Iy2ZQNHOUKwyM}hQ8Xu-!_uZ(=Kg{xRVq76D!icBo}nBS9^bXjlL{}qUzX*B z<)IinhJJmqT{+WwdbDiD#ao{8+TxITl>WAOX#=sC)E3VQ2_=OEx6>9AoFP{gKbsQ! zg75ZezJp~;d*+!(6eAo&K9;gY=S1;0=746oUb-3|C`W;(gB`MgxRI+qhgHRkq3do8 z%&$oBs$5oXqp3T`>=f~v{sFmq|4==jwpwpoNOY$5;qgYwv(NoT{)>Vj2!bFuz5v9+ V715ktR{j70002ovPDHLkV1itdIVb=C literal 0 HcmV?d00001 diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-mdpi/flag_blue_last_48dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-mdpi/flag_blue_last_48dp.png new file mode 100644 index 0000000000000000000000000000000000000000..928819a386877cf842ea0d6c2beb8c130d3b33df GIT binary patch literal 487 zcmV2$Rl-%I9#v;y9?+5SGuM)$I5C z{k!4u9GlWmvfSJ6`0x1qXuaXTsg=%?82 zJgM08`u)r3_1Eq9)9m(CwB0D7)T`R=M6KG->h)y1;G5IyOt9O7$>zuA^yl>Ym(l86 zx84|<(UN#0x&QzG{YgYYR7l6|l-p9mFc5~f$xnes3#ml{EuoczqIdw6_kT1u$R&qH zFSyBflTCK!o6NtN5CsB(!1aiPi2kXNfIQi3HS(WT#OInv741&k-4}_9)eT?b7D#&@ zioVVO+~q`rdoG5CM!aC`p(s!mMTrU73{x`!R5bkNDbWlW&4C_Stp|U|BAUw@ zpnQSlZz#SB^@u%uHsMODR?3k`_{e+E>=t0o$~R;t&B}0H6GrS|r@Q{7NX<^82``=*t5{-@;fc<&H;_3bS)vYlI13 dQ6LbwB0n{34invM6g2<<002ovPDHLkV1i)Z{PF+* literal 0 HcmV?d00001 diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-mdpi/flag_blue_last_64dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-mdpi/flag_blue_last_64dp.png new file mode 100644 index 0000000000000000000000000000000000000000..49e4b7d3391e263e6edcd06b3e64c6f76246b6d7 GIT binary patch literal 583 zcmV-N0=WH&P)tws&i_GXq zui8+u+?Ubnr`YXi!gTTg00CD?L_t(o!|j#ZQo=A4MGxULZJ-wr2nbk^R#89{@b>>- z=1z-_Zw@WY_;A)kZqr#!Pxholf*=TjAPA0zQjLppYpWU{w2f#Gn@Y@ZneWG zPL7i#j-qx41Ji~0$^_NLy*@hz7Gpacx$(6o;*zMcxOX)07?TP5=?$8=w%Egdm9+|v zgbdo0Iy2ZQNHOUKwyM}hQ8Xu-!_uZ(=Kg{xRVq76D!icBo}nBS9^bXjlL{}qUzX*B z<)IinhJJmqT{+WwdbDiD#ao{8+TxITl>WAOX#=sC)E3VQ2_=OEx6>9AoFP{gKbsQ! zg75ZezJp~;d*+!(6eAo&K9;gY=S1;0=746oUb-3|C`W;(gB`MgxRI+qhgHRkq3do8 z%&$oBs$5oXqp3T`>=f~v{sFmq|4==jwpwpoNOY$5;qgYwv(NoT{)>Vj2!bFuz5v9+ V715ktR{j70002ovPDHLkV1itdIVb=C literal 0 HcmV?d00001 diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-mdpi/flag_blue_last_96dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-mdpi/flag_blue_last_96dp.png new file mode 100644 index 0000000000000000000000000000000000000000..4bb7fbf8ea8a7693c0b8937ad1de8198327d68bb GIT binary patch literal 751 zcmVrW~H0002DP)t-s0FTU{ z)$ITO|A5El7@E-_ozf7N&%fjH9GlW`z~Zys@JO%P1d+`sq12Pm={%{}Fr?OCx!>3A z_pjXVtJ?1S{r>0l`b@Cf+wb_}^Z9hb;|!F}G^Wh;Iw^zZomT({l`lg?PS-uL_c zr`YXOwB5_-^+2oHo73xj#pP(d;otH3x8L!*;qi~o=@gjIi_GZj_WOg$=JWdfB%jlG z#N>y{=Qya>Y`)^7*X=B#)nvQi)9m&%rb0#l00Hw!L_t(&-tCrabDBUDhIc`wM9~m~ z(V%!QUQ#uww%YXn|E}&i%OXy`BomiTX5QzEhgX<=+{-~B00000000000002^0Mb#o zUsj@0Rn-2ogm=9;gv3{n_~zeuo+s;#a}>A~HCudf8-{oEWIGI7mLw|ok)!E6yotIL zxlWF>Bhl)dhj4s74ZTA2Sb{`c9MEz4DryXkWX{a7}p%Uv78`GiA5_~T8iz=X3NMv1Nr+cC> z?LkRwX=G1--7}NJ5{K(aw8Naa_{C@7xBC5?$SenMhLJEGqeIn1&-`1rI|L;iKE`Lp|z(&$M600000 h00000006-I`3KC)AvR^>Vx<58002ovPDHLkV1jcfh3NnQ literal 0 HcmV?d00001 diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/flag_first_blue_32dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/flag_blue_first_32dp.png similarity index 100% rename from mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/flag_first_blue_32dp.png rename to mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/flag_blue_first_32dp.png diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/flag_first_blue_48dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/flag_blue_first_48dp.png similarity index 100% rename from mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/flag_first_blue_48dp.png rename to mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/flag_blue_first_48dp.png diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/flag_first_blue_64dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/flag_blue_first_64dp.png similarity index 100% rename from mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/flag_first_blue_64dp.png rename to mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/flag_blue_first_64dp.png diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/flag_first_blue_96dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/flag_blue_first_96dp.png similarity index 100% rename from mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/flag_first_blue_96dp.png rename to mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/flag_blue_first_96dp.png diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/flag_blue_last_32dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/flag_blue_last_32dp.png new file mode 100644 index 0000000000000000000000000000000000000000..626a1b12e929343c2eb08198f4f6ecceb78f37e4 GIT binary patch literal 934 zcmV;X16lluP)z)G_3QTg=k)rs-tct7<1C`pfXC*~>h*BI z;`jUgo73wMmd_-g)34m``~CjA;qf%4*5C2@hsx(vwB7Ui{j1vU9GlWSso2}^_|xq6 z!{zf(vfK!h&P=e|*X{SW-|;x8*9?@-1d+|-^ZCc-^dOzme8uIL(dulz;#juc@A&+S z%;-d|+9;vaWV_&_*X>-l-V~V7lhEm>*zHKK+K&wax$66n9GUgasU7T00000 z000000000000000xMT7XBY!u-vcixdd>6t6l~KGKVTlGSK^Vdi{;_bOT&eouTKyq* zwKO!91yrrTTQp58(O^x#*h)oMswg4)qj3(jJKb}n*Jo`?gh3j@!R3P$0Nlo2+K->2}NeSYR#*`9JezdZ1Ekmu#G2PR@f9zsjT{vx&AMzl>G%S zNqi0c_KVA#3p=!}DlV(6gl?pz)B5OBx3xG}I>(wvfoG~cQ*C%E)8RGa{hGoGkh61f zECiJoRvbJ01>l`9vnDLwVH+yX+m{AQRoFGz4895~9=|lY^@pXMEn&0R+eQv6Qh5yAQJmRY}c@BH*r=nn^IW-p8rY_9ewdDS% zTe=xbn#Eqn6leH@pKzrW~H0002DP)t-s0FTU{ z)$ITO|A5El7@E-_ozf7N&%fjH9GlW`z~Zys@JO%P1d+`sq12Pm={%{}Fr?OCx!>3A z_pjXVtJ?1S{r>0l`b@Cf+wb_}^Z9hb;|!F}G^Wh;Iw^zZomT({l`lg?PS-uL_c zr`YXOwB5_-^+2oHo73xj#pP(d;otH3x8L!*;qi~o=@gjIi_GZj_WOg$=JWdfB%jlG z#N>y{=Qya>Y`)^7*X=B#)nvQi)9m&%rb0#l00Hw!L_t(&-tCrabDBUDhIc`wM9~m~ z(V%!QUQ#uww%YXn|E}&i%OXy`BomiTX5QzEhgX<=+{-~B00000000000002^0Mb#o zUsj@0Rn-2ogm=9;gv3{n_~zeuo+s;#a}>A~HCudf8-{oEWIGI7mLw|ok)!E6yotIL zxlWF>Bhl)dhj4s74ZTA2Sb{`c9MEz4DryXkWX{a7}p%Uv78`GiA5_~T8iz=X3NMv1Nr+cC> z?LkRwX=G1--7}NJ5{K(aw8Naa_{C@7xBC5?$SenMhLJEGqeIn1&-`1rI|L;iKE`Lp|z(&$M600000 h00000006-I`3KC)AvR^>Vx<58002ovPDHLkV1jcfh3NnQ literal 0 HcmV?d00001 diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/flag_blue_last_64dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/flag_blue_last_64dp.png new file mode 100644 index 0000000000000000000000000000000000000000..626a1b12e929343c2eb08198f4f6ecceb78f37e4 GIT binary patch literal 934 zcmV;X16lluP)z)G_3QTg=k)rs-tct7<1C`pfXC*~>h*BI z;`jUgo73wMmd_-g)34m``~CjA;qf%4*5C2@hsx(vwB7Ui{j1vU9GlWSso2}^_|xq6 z!{zf(vfK!h&P=e|*X{SW-|;x8*9?@-1d+|-^ZCc-^dOzme8uIL(dulz;#juc@A&+S z%;-d|+9;vaWV_&_*X>-l-V~V7lhEm>*zHKK+K&wax$66n9GUgasU7T00000 z000000000000000xMT7XBY!u-vcixdd>6t6l~KGKVTlGSK^Vdi{;_bOT&eouTKyq* zwKO!91yrrTTQp58(O^x#*h)oMswg4)qj3(jJKb}n*Jo`?gh3j@!R3P$0Nlo2+K->2}NeSYR#*`9JezdZ1Ekmu#G2PR@f9zsjT{vx&AMzl>G%S zNqi0c_KVA#3p=!}DlV(6gl?pz)B5OBx3xG}I>(wvfoG~cQ*C%E)8RGa{hGoGkh61f zECiJoRvbJ01>l`9vnDLwVH+yX+m{AQRoFGz4895~9=|lY^@pXMEn&0R+eQv6Qh5yAQJmRY}c@BH*r=nn^IW-p8rY_9ewdDS% zTe=xbn#Eqn6leH@pKz@{7#q)9m)|`24Tj@Av!tNUz$L(dzU1{V1W-v)=IM^!j+jsMiRS&P=e|WV_%%tJ#Oj=P;z!+>_AhB%jl# z*zLpR^PAJ_gURO4>h;_2_*AsrJgL~b;qj~5?ydpzTL1t9&`Cr=RCwC$+S@|nIv9rG zQj|SNg%*U7f>Sj=(YgQ28bz9%>KAP9mW2!bF8g7{8B z9>8nbydZemWZ@d+i&zepqgE()sU3r4n&}WhBbY;;+?@Y|a;5<^(YkRlWRs%ZV~q2*=BN(Q>M} zlo}bBQ0b~>%Ey0bnuu9cRWrCOGZ2LAv?m+eqVeI-GKe?4nkG**I0%0gx{-~YM1MrX zLRM|P&^oKD&t!kZc;Ifo(=t5SpN0IgY`=97Wn~)iIL~+xwdw3&mFQ0{vf%2jQ}!&( z55gb!HoBRi=+Cdjpw5zMwO*0b2rTy6;EbI5~gZ&$WgQ%!|T69kLywv_oA4ka~iWvyPQSKGP`KS6b zZCrZMJ51LxKZugD3FCbJgLQt~t3&6V`9a8?l%4Z$Uv*#E%h=ajS+Ik`YBvaI%796p%Rx!-8}m^)D7g`t&)nx^CYu7x4$Z?>E(|I`6uf2UhiY zws@z+&&(GOE|XdYS2mW>I*nk9ZD@_Hkcy?(LMH|yS~=6-ayYZ5uSHYW(H z8U5EscahtmD>vhw+sXIXwBkQ0J6Wj5hXw^&&!)fNqNibm*^1CZsj#A z)3s7G`2s-%vkxeHZ1tZnlR}}}YlY+9TvSD`e82IhyYFYe`)8c?sHfI=7=2Iz00000 w0000000000000000000000000000p47uASVKi#lTt^fc407*qoM6N<$g598Xz5oCK literal 0 HcmV?d00001 diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/flag_first_blue_32dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/flag_blue_first_32dp.png similarity index 100% rename from mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/flag_first_blue_32dp.png rename to mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/flag_blue_first_32dp.png diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/flag_first_blue_48dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/flag_blue_first_48dp.png similarity index 100% rename from mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/flag_first_blue_48dp.png rename to mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/flag_blue_first_48dp.png diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/flag_first_blue_64dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/flag_blue_first_64dp.png similarity index 100% rename from mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/flag_first_blue_64dp.png rename to mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/flag_blue_first_64dp.png diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/flag_first_blue_96dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/flag_blue_first_96dp.png similarity index 100% rename from mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/flag_first_blue_96dp.png rename to mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/flag_blue_first_96dp.png diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/flag_blue_last_32dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/flag_blue_last_32dp.png new file mode 100644 index 0000000000000000000000000000000000000000..35506d7aafdc3faa9135f1e71c7a9a92b5b7470a GIT binary patch literal 1234 zcmV;@1TFiCP)@{7#q)9m)|`24Tj@Av!tNUz$L(dzU1{V1W-v)=IM^!j+jsMiRS&P=e|WV_%%tJ#Oj=P;z!+>_AhB%jl# z*zLpR^PAJ_gURO4>h;_2_*AsrJgL~b;qj~5?ydpzTL1t9&`Cr=RCwC$+S@|nIv9rG zQj|SNg%*U7f>Sj=(YgQ28bz9%>KAP9mW2!bF8g7{8B z9>8nbydZemWZ@d+i&zepqgE()sU3r4n&}WhBbY;;+?@Y|a;5<^(YkRlWRs%ZV~q2*=BN(Q>M} zlo}bBQ0b~>%Ey0bnuu9cRWrCOGZ2LAv?m+eqVeI-GKe?4nkG**I0%0gx{-~YM1MrX zLRM|P&^oKD&t!kZc;Ifo(=t5SpN0IgY`=97Wn~)iIL~+xwdw3&mFQ0{vf%2jQ}!&( z55gb!HoBRi=+Cdjpw5zMwO*0b2rTy6;EbI5~gZ&$WgQ%!|T69kLywv_oA4ka~iWvyPQSKGP`KS6b zZCrZMJ51LxKZugD3FCbJgLQt~t3&6V`9a8?l%4Z$Uv*#E%h=ajS+Ik`YBvaI%796p%Rx!-8}m^)D7g`t&)nx^CYu7x4$Z?>E(|I`6uf2UhiY zws@z+&&(GOE|XdYS2mW>I*nk9ZD@_Hkcy?(LMH|yS~=6-ayYZ5uSHYW(H z8U5EscahtmD>vhw+sXIXwBkQ0J6Wj5hXw^&&!)fNqNibm*^1CZsj#A z)3s7G`2s-%vkxeHZ1tZnlR}}}YlY+9TvSD`e82IhyYFYe`)8c?sHfI=7=2Iz00000 w0000000000000000000000000000p47uASVKi#lTt^fc407*qoM6N<$g598Xz5oCK literal 0 HcmV?d00001 diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/flag_blue_last_48dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/flag_blue_last_48dp.png new file mode 100644 index 0000000000000000000000000000000000000000..8775ba019f833fd89d365ec5a26f608c3a760356 GIT binary patch literal 1004 zcmV-PKi`~AD&@oc{0D52D=+V1D{`cSgm5SGuI)9d^F{$RP^h&zi5^GL7Sx8L#0 z==C(F)?ByVlhEm8yWkj_(bw(we8uH-!sDmd?L4X2+wb^Fgo`Ku00QJmL_t(|+U=Qb zTcSV|h7~~p^IbH}U`blj^%XVS%GLk>t5)C)%z(9Dx^mp>xxeIi4mNl5dMuX%00000 z0000000000000000000000000_)_vpNdC$-3Tj9J8vn0`R*WcJw}u{ls%k(38ql}~ z4Ncc|^MjaqifQs|Xl3Ij%&Ams^;E3UY_-Ff)#);o+tWtdBaMEr>)uJAF}SzYgnn5F zIzPCWU5rFrHHC6{jfZxsPs3zxX}wge;z_DeRx@-O6stdGgIy^#ep=a{sv`;(&&2E} z88r;nlkw!&H16swjLq4aSv)M8Mb_w?+zrDRvuSpEZ8#U!VB6+2?D$iknyWBaqLv$N zPi(R4@@=>tb*4$notl2ws?w6D+%5&z@@Y8K8P>M=T!SB)({NC(BmZSY$lXMZ?e*QM zgxm?+hXz-z@f;s|6SpqE#$fj{E=1TuuFoA8+u?6bW({|kJpn2A^-VnahOVp{=Hkpr z9p{=YTMR5_Qfio6^)rpr`q+pfm9mT)FRXjUyA#mP=FSygn00sZX)NhaZ8@Lk>RvS- zl&O3g?ADb3ckaB!JeJaF&^c`l&gBNxIbWcAT*V=mhLH+2__c8#y-teSHeXyYjg15v z9Xb%$Xzcl&ie}uOIGe8V@6jZaXf#-PHww#Eb7k`yHF7*q@|uFRsA-FL{O{5@cR1wZ z^4oK3qa@J^XBf5ZRZu8tU7Ax?UA(E-!{Ts#Sq(jPNUJyWa~?dni*F$Xe{7}e?h^M{ z>9QJZ88bF5p>93*mBNwjTv{c0b8=w~O$bgkHURr*<7#Cdder03%_r~nF07Gz9dl!$ z#j~u#&WfXWqf+>~V-mmbe}jf!I1l~qoga1m=mpzVHHy8l?$+~0at$e^zK=ezuZPAt z2^chY&fWaOuzA=kin8}+jcn{T_-}Rhxsd|^00000000000000000000000000002^ aLjD3>7ChpOW}!9!0000@{7#q)9m)|`24Tj@Av!tNUz$L(dzU1{V1W-v)=IM^!j+jsMiRS&P=e|WV_%%tJ#Oj=P;z!+>_AhB%jl# z*zLpR^PAJ_gURO4>h;_2_*AsrJgL~b;qj~5?ydpzTL1t9&`Cr=RCwC$+S@|nIv9rG zQj|SNg%*U7f>Sj=(YgQ28bz9%>KAP9mW2!bF8g7{8B z9>8nbydZemWZ@d+i&zepqgE()sU3r4n&}WhBbY;;+?@Y|a;5<^(YkRlWRs%ZV~q2*=BN(Q>M} zlo}bBQ0b~>%Ey0bnuu9cRWrCOGZ2LAv?m+eqVeI-GKe?4nkG**I0%0gx{-~YM1MrX zLRM|P&^oKD&t!kZc;Ifo(=t5SpN0IgY`=97Wn~)iIL~+xwdw3&mFQ0{vf%2jQ}!&( z55gb!HoBRi=+Cdjpw5zMwO*0b2rTy6;EbI5~gZ&$WgQ%!|T69kLywv_oA4ka~iWvyPQSKGP`KS6b zZCrZMJ51LxKZugD3FCbJgLQt~t3&6V`9a8?l%4Z$Uv*#E%h=ajS+Ik`YBvaI%796p%Rx!-8}m^)D7g`t&)nx^CYu7x4$Z?>E(|I`6uf2UhiY zws@z+&&(GOE|XdYS2mW>I*nk9ZD@_Hkcy?(LMH|yS~=6-ayYZ5uSHYW(H z8U5EscahtmD>vhw+sXIXwBkQ0J6Wj5hXw^&&!)fNqNibm*^1CZsj#A z)3s7G`2s-%vkxeHZ1tZnlR}}}YlY+9TvSD`e82IhyYFYe`)8c?sHfI=7=2Iz00000 w0000000000000000000000000000p47uASVKi#lTt^fc407*qoM6N<$g598Xz5oCK literal 0 HcmV?d00001 diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/flag_blue_last_96dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/flag_blue_last_96dp.png new file mode 100644 index 0000000000000000000000000000000000000000..49343087f4fd44e380263730134e0187317a71a7 GIT binary patch literal 1811 zcmbu9={uW=0>yP&Yf)F!q@}`?(oNppPSw`hBKBBHDUEtZ=XN31)?QjoVyS)0v}e~NJy`vTGs_h{8C>pK;7KHsvWYdh{2|M_zo5@X zwSOH8Xqz>zq3f1W59EGS`(*^Epq(k7P$?R|-N|HZeBBZ61(W6to{vB5TjXzx^GDdu zzcYM@Gbxm%;S~XOZ7b&e=jF4A5&x&-~8pLgdP@QbfuliEvBx% zpmQ{f#~u$X{(NG;nv|5xK?j7DXUrsLn(Z;~D1~RHVzuopbuHf?*8Ac3V}ph_(-N;^ zSv4cmZ0QzC?ZD2i+R>Ul`wgq%e;)Z?WocB;I)@yR6!l*tU98a2Elc;8-8`?QjmP|0}|&f;QCmBqBVq z`ihG@^Fd*hw?g1Xq__yUe1IkH_tw;$BrW^1YU+yk*{*S8{7I4$I5fU^aR5#YMiABG~1P*($V3p1>aLKu2AI=kM_yzo=wCJj7R3>RCv1%IxGdtoO|a3 zk06+#eFs%xxdbPzo|G~^6a=8Wz4XF8v2`Zmih*GZWn1Oxe<3dvXkhOJvjggg1q0F z(*!Sv6AX?RZKDph?*kLgWz3J?>2j4Lw?mHzg;m8^E)GcFPv_`0PJPOo3(!>Uy$cpJ zObfRw%KeC#FIKt0Rrv+dYLbZ}e2sxhHTRMyccvW`&B_JRxUg#|G%Fp;tl`lm{?I0Z z&&B9t+)JRbJave2B7~oT^EU~7YmT((4hydtpGxdnG1^Z+?)#|mV3sN;PX;MxF9J!g zt?8_sf~{IA$vISjk|VEsMXKw6eU<_nj|KH$duBq?vEEm(Q?AXo%H(ZkN1R%C zYhncSJcGCP_)^$uQ3+?!702wfkFLBRM@E|Bo??f?X`4uL z*VH5Z?HA3F^F)xY*831J7hG?Ok(rK9-2_vGWQ61QiQsaUFNuwR^a`&dDNhfJ?hOm@ zZ7B>{4zh1of8^=&HAU;WCeKQ6Lz%o@-<0US*TLtF7MNGplMUlm2>s1L?i39TOO{d7 zx=p?3-AuD<%H*J$){(MKBE#-hHO)-B@Uba<3ASYAh=~<*KXvGCiBz8|FN96}^h85= zYNZfzsPvWtO89_3RWENP!1_~G+tVLTb+>Bx8 z($m#=y|b(ROmq$#Sn0ij4G$vIv(w|ULqZR8YR|`itZXb~1LHgIDy#fg24FaD9raP2 z0Vbm&mVqLYfgi=A^^;kd@9`BFNq9xbc1FlB7;h90#<;lPvSxefc{Gjq zw~$g%BiAU?@BV*8p=XXbN*EKUUFEF??BVp7x6q6bN9ik3g17~{pGm5m4X21ew zT|2EA(i}@ryelc)>47T>TN|pfGp}8(b}um_U0!?Bi2zEK7ddlmG_zJ+<^N)`x>)v4 Wcwg>T^uywRxb9$!LNr(hB>xRh{drgb literal 0 HcmV?d00001 diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/flag_first_blue_32dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/flag_blue_first_32dp.png similarity index 100% rename from mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/flag_first_blue_32dp.png rename to mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/flag_blue_first_32dp.png diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/flag_first_blue_48dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/flag_blue_first_48dp.png similarity index 100% rename from mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/flag_first_blue_48dp.png rename to mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/flag_blue_first_48dp.png diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/flag_first_blue_64dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/flag_blue_first_64dp.png similarity index 100% rename from mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/flag_first_blue_64dp.png rename to mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/flag_blue_first_64dp.png diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/flag_first_blue_96dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/flag_blue_first_96dp.png similarity index 100% rename from mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/flag_first_blue_96dp.png rename to mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/flag_blue_first_96dp.png diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/flag_blue_last_32dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/flag_blue_last_32dp.png new file mode 100644 index 0000000000000000000000000000000000000000..32c090ccc5f6a0508f11607278cc12b46bceaa09 GIT binary patch literal 1609 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 w0000000000000000000000000000p47uASVKi#lTt^fc407*qoM6N<$g598Xz5oCK literal 0 HcmV?d00001 diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/flag_blue_last_64dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/flag_blue_last_64dp.png new file mode 100644 index 0000000000000000000000000000000000000000..32c090ccc5f6a0508f11607278cc12b46bceaa09 GIT binary patch literal 1609 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 + android:src="@drawable/flag_blue_first_32dp"/> \ No newline at end of file diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable/flag_first_blue_32dp_light.xml b/mobile/com.sap.sailing.racecommittee.app/res/drawable/flag_blue_first_32dp_light.xml similarity index 88% rename from mobile/com.sap.sailing.racecommittee.app/res/drawable/flag_first_blue_32dp_light.xml rename to mobile/com.sap.sailing.racecommittee.app/res/drawable/flag_blue_first_32dp_light.xml index a79f422e1ec..532b26d675c 100644 --- a/mobile/com.sap.sailing.racecommittee.app/res/drawable/flag_first_blue_32dp_light.xml +++ b/mobile/com.sap.sailing.racecommittee.app/res/drawable/flag_blue_first_32dp_light.xml @@ -6,7 +6,7 @@ android:top="0dp"> + android:src="@drawable/flag_blue_first_32dp"/> + android:src="@drawable/flag_blue_first_48dp"/> \ No newline at end of file diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable/flag_first_blue_48dp_light.xml b/mobile/com.sap.sailing.racecommittee.app/res/drawable/flag_blue_first_48dp_light.xml similarity index 88% rename from mobile/com.sap.sailing.racecommittee.app/res/drawable/flag_first_blue_48dp_light.xml rename to mobile/com.sap.sailing.racecommittee.app/res/drawable/flag_blue_first_48dp_light.xml index 3bcdfe96db2..82e3bed2098 100644 --- a/mobile/com.sap.sailing.racecommittee.app/res/drawable/flag_first_blue_48dp_light.xml +++ b/mobile/com.sap.sailing.racecommittee.app/res/drawable/flag_blue_first_48dp_light.xml @@ -6,7 +6,7 @@ android:top="0dp"> + android:src="@drawable/flag_blue_first_48dp"/> + android:src="@drawable/flag_blue_first_64dp"/> \ No newline at end of file diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable/flags_more_64dp_light.xml b/mobile/com.sap.sailing.racecommittee.app/res/drawable/flag_blue_first_64dp_light.xml similarity index 88% rename from mobile/com.sap.sailing.racecommittee.app/res/drawable/flags_more_64dp_light.xml rename to mobile/com.sap.sailing.racecommittee.app/res/drawable/flag_blue_first_64dp_light.xml index 9f81cd8ebe6..02cb65d4da7 100644 --- a/mobile/com.sap.sailing.racecommittee.app/res/drawable/flags_more_64dp_light.xml +++ b/mobile/com.sap.sailing.racecommittee.app/res/drawable/flag_blue_first_64dp_light.xml @@ -6,7 +6,7 @@ android:top="0dp"> + android:src="@drawable/flag_blue_first_64dp"/> + android:src="@drawable/flag_blue_first_96dp"/> \ No newline at end of file diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable/flags_more_96dp_light.xml b/mobile/com.sap.sailing.racecommittee.app/res/drawable/flag_blue_first_96dp_light.xml similarity index 88% rename from mobile/com.sap.sailing.racecommittee.app/res/drawable/flags_more_96dp_light.xml rename to mobile/com.sap.sailing.racecommittee.app/res/drawable/flag_blue_first_96dp_light.xml index 7105ea140c1..0bf5426a770 100644 --- a/mobile/com.sap.sailing.racecommittee.app/res/drawable/flags_more_96dp_light.xml +++ b/mobile/com.sap.sailing.racecommittee.app/res/drawable/flag_blue_first_96dp_light.xml @@ -6,7 +6,7 @@ android:top="0dp"> + android:src="@drawable/flag_blue_first_96dp"/> + + + + + + + \ No newline at end of file diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable/flag_blue_last_32dp_light.xml b/mobile/com.sap.sailing.racecommittee.app/res/drawable/flag_blue_last_32dp_light.xml new file mode 100644 index 00000000000..49618d92737 --- /dev/null +++ b/mobile/com.sap.sailing.racecommittee.app/res/drawable/flag_blue_last_32dp_light.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable/flag_blue_last_48dp_dark.xml b/mobile/com.sap.sailing.racecommittee.app/res/drawable/flag_blue_last_48dp_dark.xml new file mode 100644 index 00000000000..95b739f7b9b --- /dev/null +++ b/mobile/com.sap.sailing.racecommittee.app/res/drawable/flag_blue_last_48dp_dark.xml @@ -0,0 +1,12 @@ + + + + + + + + \ No newline at end of file diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable/flag_blue_last_48dp_light.xml b/mobile/com.sap.sailing.racecommittee.app/res/drawable/flag_blue_last_48dp_light.xml new file mode 100644 index 00000000000..4e1fdd7f1d3 --- /dev/null +++ b/mobile/com.sap.sailing.racecommittee.app/res/drawable/flag_blue_last_48dp_light.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable/flag_blue_last_64dp_dark.xml b/mobile/com.sap.sailing.racecommittee.app/res/drawable/flag_blue_last_64dp_dark.xml new file mode 100644 index 00000000000..ad870fb969b --- /dev/null +++ b/mobile/com.sap.sailing.racecommittee.app/res/drawable/flag_blue_last_64dp_dark.xml @@ -0,0 +1,12 @@ + + + + + + + + \ No newline at end of file diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable/flag_blue_last_64dp_light.xml b/mobile/com.sap.sailing.racecommittee.app/res/drawable/flag_blue_last_64dp_light.xml new file mode 100644 index 00000000000..14990e4f77d --- /dev/null +++ b/mobile/com.sap.sailing.racecommittee.app/res/drawable/flag_blue_last_64dp_light.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable/flag_blue_last_96dp_dark.xml b/mobile/com.sap.sailing.racecommittee.app/res/drawable/flag_blue_last_96dp_dark.xml new file mode 100644 index 00000000000..b2e48b58906 --- /dev/null +++ b/mobile/com.sap.sailing.racecommittee.app/res/drawable/flag_blue_last_96dp_dark.xml @@ -0,0 +1,12 @@ + + + + + + + + \ No newline at end of file diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable/flag_blue_last_96dp_light.xml b/mobile/com.sap.sailing.racecommittee.app/res/drawable/flag_blue_last_96dp_light.xml new file mode 100644 index 00000000000..f919a03665f --- /dev/null +++ b/mobile/com.sap.sailing.racecommittee.app/res/drawable/flag_blue_last_96dp_light.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/mobile/com.sap.sailing.racecommittee.app/res/layout/panel_button_more.xml b/mobile/com.sap.sailing.racecommittee.app/res/layout/panel_button_blue_first.xml similarity index 92% rename from mobile/com.sap.sailing.racecommittee.app/res/layout/panel_button_more.xml rename to mobile/com.sap.sailing.racecommittee.app/res/layout/panel_button_blue_first.xml index 5d4412417f1..2119d934015 100644 --- a/mobile/com.sap.sailing.racecommittee.app/res/layout/panel_button_more.xml +++ b/mobile/com.sap.sailing.racecommittee.app/res/layout/panel_button_blue_first.xml @@ -6,7 +6,7 @@ tools:showIn="@layout/race_panel_flags_ver"> @@ -25,7 +25,7 @@ + android:src="?attr/flags_blue_first" /> + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/mobile/com.sap.sailing.racecommittee.app/res/layout/race_finish_config.xml b/mobile/com.sap.sailing.racecommittee.app/res/layout/race_finish_config.xml index 73d9ec2cd37..03bb642b1a8 100644 --- a/mobile/com.sap.sailing.racecommittee.app/res/layout/race_finish_config.xml +++ b/mobile/com.sap.sailing.racecommittee.app/res/layout/race_finish_config.xml @@ -36,7 +36,7 @@ android:layout_gravity="center" android:layout_marginLeft="@dimen/side_padding" android:layout_marginRight="@dimen/side_padding" - android:src="?attr/flag_first_blue" /> + android:src="?attr/flag_blue_first" /> - + + + + + + + + - + + + + + + + + @drawable/ic_chevron_left_white_36dp @drawable/ic_chevron_right_white_36dp - @drawable/flag_first_blue_32dp_dark + @drawable/flag_blue_first_32dp_dark + @drawable/flag_blue_last_32dp_dark @drawable/flags_abandon_64dp_dark + @drawable/flag_blue_first_64dp_dark + @drawable/flag_blue_last_64dp_dark @drawable/flags_course_64dp_dark - @drawable/flags_more_64dp_dark @drawable/flags_postpone_64dp_dark @drawable/flags_recall_64dp_dark diff --git a/mobile/com.sap.sailing.racecommittee.app/res/values-sw600dp/themes_light.xml b/mobile/com.sap.sailing.racecommittee.app/res/values-sw600dp/themes_light.xml index 8b5c9a545d1..f2ed7cbc867 100644 --- a/mobile/com.sap.sailing.racecommittee.app/res/values-sw600dp/themes_light.xml +++ b/mobile/com.sap.sailing.racecommittee.app/res/values-sw600dp/themes_light.xml @@ -5,11 +5,13 @@ @drawable/ic_chevron_left_black_36dp @drawable/ic_chevron_right_black_36dp - @drawable/flag_first_blue_32dp_light + @drawable/flag_blue_first_32dp_light + @drawable/flag_blue_last_32dp_light @drawable/flags_abandon_64dp_light + @drawable/flag_blue_first_64dp_light + @drawable/flag_blue_last_64dp_light @drawable/flags_course_64dp_light - @drawable/flags_more_64dp_light @drawable/flags_postpone_64dp_light @drawable/flags_recall_64dp_light diff --git a/mobile/com.sap.sailing.racecommittee.app/res/values-sw720dp/themes_dark.xml b/mobile/com.sap.sailing.racecommittee.app/res/values-sw720dp/themes_dark.xml index 3fb2da56e08..c72711e8d2f 100644 --- a/mobile/com.sap.sailing.racecommittee.app/res/values-sw720dp/themes_dark.xml +++ b/mobile/com.sap.sailing.racecommittee.app/res/values-sw720dp/themes_dark.xml @@ -5,11 +5,13 @@ @drawable/ic_chevron_left_white_36dp @drawable/ic_chevron_right_white_36dp - @drawable/flag_first_blue_48dp_dark + @drawable/flag_blue_first_48dp_dark + @drawable/flag_blue_last_48dp_dark @drawable/flags_abandon_96dp_dark + @drawable/flag_blue_first_96dp_dark + @drawable/flag_blue_last_96dp_dark @drawable/flags_course_96dp_dark - @drawable/flags_more_96dp_dark @drawable/flags_postpone_96dp_dark @drawable/flags_recall_96dp_dark diff --git a/mobile/com.sap.sailing.racecommittee.app/res/values-sw720dp/themes_light.xml b/mobile/com.sap.sailing.racecommittee.app/res/values-sw720dp/themes_light.xml index b7d240f7d65..4f4ecc63432 100644 --- a/mobile/com.sap.sailing.racecommittee.app/res/values-sw720dp/themes_light.xml +++ b/mobile/com.sap.sailing.racecommittee.app/res/values-sw720dp/themes_light.xml @@ -5,11 +5,13 @@ @drawable/ic_chevron_left_black_36dp @drawable/ic_chevron_right_black_36dp - @drawable/flag_first_blue_48dp_light + @drawable/flag_blue_first_48dp_light + @drawable/flag_blue_last_48dp_light @drawable/flags_abandon_96dp_light + @drawable/flag_blue_first_96dp_light + @drawable/flag_blue_last_96dp_light @drawable/flags_course_96dp_light - @drawable/flags_more_96dp_light @drawable/flags_postpone_96dp_light @drawable/flags_recall_96dp_light diff --git a/mobile/com.sap.sailing.racecommittee.app/res/values/attrs.xml b/mobile/com.sap.sailing.racecommittee.app/res/values/attrs.xml index 62a438146bd..6607efeaa6d 100644 --- a/mobile/com.sap.sailing.racecommittee.app/res/values/attrs.xml +++ b/mobile/com.sap.sailing.racecommittee.app/res/values/attrs.xml @@ -86,14 +86,18 @@ - + + + + + + - diff --git a/mobile/com.sap.sailing.racecommittee.app/res/values/themes_dark.xml b/mobile/com.sap.sailing.racecommittee.app/res/values/themes_dark.xml index 45290a18292..daa5707d977 100644 --- a/mobile/com.sap.sailing.racecommittee.app/res/values/themes_dark.xml +++ b/mobile/com.sap.sailing.racecommittee.app/res/values/themes_dark.xml @@ -106,11 +106,13 @@ @drawable/ic_chevron_left_white_24dp @drawable/ic_chevron_right_white_24dp - @drawable/flag_first_blue_32dp_dark + @drawable/flag_blue_first_32dp_dark + @drawable/flag_blue_last_32dp_dark @drawable/flags_abandon_64dp_dark + @drawable/flag_blue_first_64dp_dark + @drawable/flag_blue_last_64dp_dark @drawable/flags_course_64dp_dark - @drawable/flags_more_64dp_dark @drawable/flags_postpone_64dp_dark @drawable/flags_recall_64dp_dark diff --git a/mobile/com.sap.sailing.racecommittee.app/res/values/themes_light.xml b/mobile/com.sap.sailing.racecommittee.app/res/values/themes_light.xml index 3f393737b9b..85f9155d5f3 100644 --- a/mobile/com.sap.sailing.racecommittee.app/res/values/themes_light.xml +++ b/mobile/com.sap.sailing.racecommittee.app/res/values/themes_light.xml @@ -115,11 +115,13 @@ @drawable/ic_chevron_left_black_24dp @drawable/ic_chevron_right_black_24dp - @drawable/flag_first_blue_32dp_light + @drawable/flag_blue_first_32dp_light + @drawable/flag_blue_last_32dp_light @drawable/flags_abandon_64dp_light + @drawable/flag_blue_first_64dp_light + @drawable/flag_blue_last_64dp_light @drawable/flags_course_64dp_light - @drawable/flags_more_64dp_light @drawable/flags_postpone_64dp_light @drawable/flags_recall_64dp_light diff --git a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/fragments/panels/FlagPanelFragment.java b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/fragments/panels/FlagPanelFragment.java index 0232f5553c9..69f7200c91f 100644 --- a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/fragments/panels/FlagPanelFragment.java +++ b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/fragments/panels/FlagPanelFragment.java @@ -10,6 +10,7 @@ import android.support.v4.content.LocalBroadcastManager; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.TextView; import com.sap.sailing.android.shared.logging.ExLog; import com.sap.sailing.android.shared.util.ViewHelper; @@ -22,6 +23,7 @@ import com.sap.sailing.racecommittee.app.ui.fragments.raceinfo.AbortFlagsFragmen import com.sap.sailing.racecommittee.app.ui.fragments.raceinfo.EmptyFragment; import com.sap.sailing.racecommittee.app.ui.fragments.raceinfo.MoreFlagsFragment; import com.sap.sailing.racecommittee.app.ui.fragments.raceinfo.RecallFlagsFragment; +import com.sap.sailing.racecommittee.app.utils.TimeUtils; import com.sap.sse.common.TimePoint; public class FlagPanelFragment extends BasePanelFragment { @@ -48,9 +50,14 @@ public class FlagPanelFragment extends BasePanelFragment { private View mCourseFlags; private View mCourseLock; - // More Toggle (Finish) - private View mMoreFlags; - private View mMoreLock; + // Blue First + private View mBlueFirstFlag; + private View mBlueFirstLock; + + // Blue Last + private View mBlueLastFlag; + private View mBlueLastLock; + private TextView mBlueLastText; public FlagPanelFragment() { mReceiver = new IntentReceiver(); @@ -93,11 +100,18 @@ public class FlagPanelFragment extends BasePanelFragment { } mCourseLock = ViewHelper.get(layout, R.id.course_flags_lock); - mMoreFlags = ViewHelper.get(layout, R.id.more_flags); - if (mMoreFlags != null) { - mMoreFlags.setOnClickListener(new MoreFlagsClick()); + mBlueFirstFlag = ViewHelper.get(layout, R.id.blue_first_flags); + if (mBlueFirstFlag != null) { + mBlueFirstFlag.setOnClickListener(new BlueFirstFlagClick()); } - mMoreLock = ViewHelper.get(layout, R.id.more_flags_lock); + mBlueFirstLock = ViewHelper.get(layout, R.id.blue_first_flags_lock); + + mBlueLastFlag = ViewHelper.get(layout, R.id.blue_last_flags); + if (mBlueLastFlag != null) { + mBlueLastFlag.setOnClickListener(new BlueLastFlagClick()); + } + mBlueLastLock = ViewHelper.get(layout, R.id.blue_last_flags_lock); + mBlueLastText = ViewHelper.get(layout, R.id.blue_last_flags_text); return layout; } @@ -133,7 +147,8 @@ public class FlagPanelFragment extends BasePanelFragment { changeVisibility(mAbandonLock, mAbandonLayer, View.GONE); changeVisibility(mRecallLock, null, View.GONE); changeVisibility(mCourseLock, null, View.GONE); - changeVisibility(mMoreLock, null, View.GONE); + changeVisibility(mBlueFirstLock, null, View.GONE); + changeVisibility(mBlueLastLock, null, View.GONE); switch (getRace().getStatus()) { case UNSCHEDULED: @@ -141,7 +156,8 @@ public class FlagPanelFragment extends BasePanelFragment { changeVisibility(mAbandonFlags, null, View.VISIBLE); changeVisibility(mRecallFlags, null, View.VISIBLE); changeVisibility(mCourseFlags, null, View.GONE); - changeVisibility(mMoreFlags, null, View.VISIBLE); + changeVisibility(mBlueFirstFlag, null, View.VISIBLE); + changeVisibility(mBlueLastFlag, null, View.GONE); uncheckMarker(mCourseFlags); break; @@ -151,11 +167,13 @@ public class FlagPanelFragment extends BasePanelFragment { changeVisibility(mAbandonFlags, null, View.GONE); changeVisibility(mRecallFlags, null, View.GONE); changeVisibility(mCourseFlags, null, View.GONE); - changeVisibility(mMoreFlags, null, View.GONE); + changeVisibility(mBlueFirstFlag, null, View.GONE); + changeVisibility(mBlueLastFlag, null, View.GONE); uncheckMarker(mAbandonFlags); uncheckMarker(mCourseFlags); - uncheckMarker(mMoreFlags); + uncheckMarker(mBlueFirstFlag); + uncheckMarker(mBlueLastFlag); break; case SCHEDULED: @@ -164,11 +182,13 @@ public class FlagPanelFragment extends BasePanelFragment { changeVisibility(mAbandonFlags, null, View.GONE); changeVisibility(mRecallFlags, null, View.GONE); changeVisibility(mCourseFlags, null, View.GONE); - changeVisibility(mMoreFlags, null, View.GONE); + changeVisibility(mBlueFirstFlag, null, View.GONE); + changeVisibility(mBlueLastFlag, null, View.GONE); uncheckMarker(mAbandonFlags); uncheckMarker(mRecallFlags); - uncheckMarker(mMoreFlags); + uncheckMarker(mBlueFirstFlag); + uncheckMarker(mBlueLastFlag); break; case RUNNING: @@ -178,7 +198,8 @@ public class FlagPanelFragment extends BasePanelFragment { changeVisibility(mAbandonFlags, null, View.VISIBLE); changeVisibility(mRecallFlags, null, View.VISIBLE); changeVisibility(mCourseFlags, null, View.GONE); - changeVisibility(mMoreFlags, null, View.VISIBLE); + changeVisibility(mBlueFirstFlag, null, View.VISIBLE); + changeVisibility(mBlueLastFlag, null, View.GONE); uncheckMarker(mCourseFlags); break; @@ -190,21 +211,24 @@ public class FlagPanelFragment extends BasePanelFragment { changeVisibility(mAbandonFlags, null, View.VISIBLE); changeVisibility(mRecallFlags, null, View.GONE); changeVisibility(mCourseFlags, null, View.GONE); - changeVisibility(mMoreFlags, null, View.GONE); + changeVisibility(mBlueFirstFlag, null, View.GONE); + changeVisibility(mBlueLastFlag, null, View.VISIBLE); uncheckMarker(mRecallFlags); uncheckMarker(mCourseFlags); - uncheckMarker(mMoreFlags); + uncheckMarker(mBlueFirstFlag); + uncheckMarker(mBlueLastFlag); break; case FINISHED: changeVisibility(mPostponeLock, mPostponeLayer, View.VISIBLE); - changeVisibility(mPostponeFlags, null, View.VISIBLE); - changeVisibility(mAbandonFlags, null, View.VISIBLE); - changeVisibility(mRecallFlags, null, View.VISIBLE); + changeVisibility(mPostponeFlags, null, View.GONE); + changeVisibility(mAbandonFlags, null, View.GONE); + changeVisibility(mRecallFlags, null, View.GONE); changeVisibility(mCourseFlags, null, View.GONE); - changeVisibility(mMoreFlags, null, View.VISIBLE); + changeVisibility(mBlueFirstFlag, null, View.GONE); + changeVisibility(mBlueLastFlag, null, View.GONE); uncheckMarker(mCourseFlags); break; @@ -214,13 +238,15 @@ public class FlagPanelFragment extends BasePanelFragment { changeVisibility(mAbandonFlags, null, View.GONE); changeVisibility(mRecallFlags, null, View.GONE); changeVisibility(mCourseFlags, null, View.GONE); - changeVisibility(mMoreFlags, null, View.GONE); + changeVisibility(mBlueFirstFlag, null, View.GONE); + changeVisibility(mBlueLastFlag, null, View.GONE); uncheckMarker(mPostponeFlags); uncheckMarker(mAbandonFlags); uncheckMarker(mRecallFlags); uncheckMarker(mCourseFlags); - uncheckMarker(mMoreFlags); + uncheckMarker(mBlueFirstFlag); + uncheckMarker(mBlueLastFlag); break; } } @@ -243,8 +269,12 @@ public class FlagPanelFragment extends BasePanelFragment { setMarkerLevel(mCourseFlags, R.id.course_flags_marker, LEVEL_NORMAL); } - if (!view.equals(mMoreFlags)) { - setMarkerLevel(mMoreFlags, R.id.more_flags_marker, LEVEL_NORMAL); + if (!view.equals(mBlueFirstFlag)) { + setMarkerLevel(mBlueFirstFlag, R.id.first_blue_flags_marker, LEVEL_NORMAL); + } + + if (!view.equals(mBlueLastFlag)) { + setMarkerLevel(mBlueLastFlag, R.id.blue_down_flags_marker, LEVEL_NORMAL); } } } @@ -270,6 +300,10 @@ public class FlagPanelFragment extends BasePanelFragment { break; case FINISHING: + mBlueLastText.setText(TimeUtils.formatDurationSince(now.minus(getRaceState().getFinishingTime().asMillis()).asMillis())); + changeVisibility(mRecallLock, mRecallLayer, View.VISIBLE); + break; + case FINISHED: changeVisibility(mRecallLock, mRecallLayer, View.VISIBLE); break; @@ -445,16 +479,16 @@ public class FlagPanelFragment extends BasePanelFragment { } } - private class MoreFlagsClick implements View.OnClickListener, DialogInterface.OnClickListener { + private class BlueFirstFlagClick implements View.OnClickListener, DialogInterface.OnClickListener { - private final String TAG = MoreFlagsClick.class.getName(); - private final View container = mMoreFlags; - private final int markerId = R.id.more_flags_marker; + private final String TAG = BlueFirstFlagClick.class.getName(); + private final View container = mBlueFirstFlag; + private final int markerId = R.id.first_blue_flags_marker; @Override public void onClick(View v) { - if (mMoreLock != null) { - if (mMoreLock.getVisibility() == View.VISIBLE && isNormal(container, markerId)) { + if (mBlueFirstLock != null) { + if (mBlueFirstLock.getVisibility() == View.VISIBLE && isNormal(container, markerId)) { showChangeDialog(this); } else { toggleFragment(); @@ -485,6 +519,33 @@ public class FlagPanelFragment extends BasePanelFragment { } } + private class BlueLastFlagClick implements View.OnClickListener, DialogInterface.OnClickListener { + + private final String TAG = BlueLastFlagClick.class.getName(); + private final View container = mBlueLastFlag; + private final int markerId = R.id.blue_down_flags_marker; + + @Override + public void onClick(DialogInterface dialog, int which) { + if (mBlueLastLock != null) { + if (mBlueLastLock.getVisibility() == View.VISIBLE && isNormal(container, markerId)) { + showChangeDialog(this); + } else { + toggleFragment(); + } + } + } + + @Override + public void onClick(View v) { + toggleFragment(); + } + + private void toggleFragment() { + + } + } + private class IntentReceiver extends BroadcastReceiver { @Override @@ -505,7 +566,7 @@ public class FlagPanelFragment extends BasePanelFragment { } else if (AppConstants.INTENT_ACTION_TOGGLE_COURSE.equals(data)) { uncheckMarker(mCourseFlags); } else if (AppConstants.INTENT_ACTION_TOGGLE_MORE.equals(data)) { - uncheckMarker(mMoreFlags); + uncheckMarker(mBlueFirstFlag); } else { uncheckMarker(new View(context)); } diff --git a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/fragments/raceinfo/MoreFlagsFragment.java b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/fragments/raceinfo/MoreFlagsFragment.java index 4d258d37dd5..65e5d83b7b3 100644 --- a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/fragments/raceinfo/MoreFlagsFragment.java +++ b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/fragments/raceinfo/MoreFlagsFragment.java @@ -168,8 +168,7 @@ public class MoreFlagsFragment extends BaseFragment implements MoreFlagItemClick case 1: // Race-State: Finishing -> End Finishing ImageView flag = ViewHelper.get(getView(), R.id.header_flag); if (flag != null) { - flag.setImageDrawable(FlagsResources - .getFlagDrawable(getActivity(), Flags.BLUE.name(), getResources().getInteger(R.integer.flag_size))); + flag.setImageDrawable(FlagsResources.getFlagDrawable(getActivity(), Flags.BLUE.name(), getResources().getInteger(R.integer.flag_size))); } TextView headline = ViewHelper.get(getView(), R.id.header_headline); From a7758a402e4b18b88ee7d92b1957736d43cc481b Mon Sep 17 00:00:00 2001 From: Peter Siegmund Date: Tue, 16 Feb 2016 16:39:14 +0100 Subject: [PATCH 02/17] using support lib for getDrawable --- .../sailing/racecommittee/app/utils/BitmapHelper.java | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/utils/BitmapHelper.java b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/utils/BitmapHelper.java index bbcc11bbc2a..8a905af0359 100644 --- a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/utils/BitmapHelper.java +++ b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/utils/BitmapHelper.java @@ -67,9 +67,6 @@ public class BitmapHelper { return inSampleSize; } - // @SuppressWarnings, but it is handled correctly - @SuppressWarnings("deprecation") - @TargetApi(Build.VERSION_CODES.LOLLIPOP) public static Drawable getAttrDrawable(Context context, @AttrRes int attrRes) { Drawable drawable = null; TypedValue value = new TypedValue(); @@ -77,11 +74,7 @@ public class BitmapHelper { String[] data = String.valueOf(value.string).split("/"); int resId = context.getResources().getIdentifier(data[2].substring(0, data[2].length() - 4), "drawable", context.getPackageName()); if (resId != 0) { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { - drawable = context.getDrawable(resId); - } else { - drawable = context.getResources().getDrawable(resId); - } + drawable = ContextCompat.getDrawable(context, resId); } } return drawable; From d873ca8ffc45a910e56a9b1c341142915435e388 Mon Sep 17 00:00:00 2001 From: Peter Siegmund Date: Tue, 16 Feb 2016 17:31:13 +0100 Subject: [PATCH 03/17] toggle "blue last" opens fragment --- .../racecommittee/app/AppConstants.java | 3 ++- .../fragments/panels/FlagPanelFragment.java | 19 +++++++++++++++++-- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/AppConstants.java b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/AppConstants.java index a85f2c89b62..8736b20521d 100755 --- a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/AppConstants.java +++ b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/AppConstants.java @@ -48,7 +48,8 @@ public class AppConstants { public final static String INTENT_ACTION_TOGGLE_POSTPONE = "postpone"; public final static String INTENT_ACTION_TOGGLE_ABANDON = "abandon"; public final static String INTENT_ACTION_TOGGLE_RECALL = "recall"; - public final static String INTENT_ACTION_TOGGLE_MORE = "more"; + public final static String INTENT_ACTION_TOGGLE_BLUE_FIRST = "more"; + public final static String INTENT_ACTION_TOGGLE_BLUE_LAST = "blue_last"; public final static String INTENT_ACTION_TOGGLE_REPLAY = "replay"; public final static String INTENT_ACTION_TOGGLE_PHOTOS = "photos"; diff --git a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/fragments/panels/FlagPanelFragment.java b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/fragments/panels/FlagPanelFragment.java index 69f7200c91f..507439f454b 100644 --- a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/fragments/panels/FlagPanelFragment.java +++ b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/fragments/panels/FlagPanelFragment.java @@ -502,7 +502,7 @@ public class FlagPanelFragment extends BasePanelFragment { } private void toggleFragment() { - sendIntent(AppConstants.INTENT_ACTION_TOGGLE, AppConstants.INTENT_ACTION_EXTRA, AppConstants.INTENT_ACTION_TOGGLE_MORE); + sendIntent(AppConstants.INTENT_ACTION_TOGGLE, AppConstants.INTENT_ACTION_EXTRA, AppConstants.INTENT_ACTION_TOGGLE_BLUE_FIRST); switch (toggleMarker(container, markerId)) { case LEVEL_NORMAL: sendIntent(AppConstants.INTENT_ACTION_SHOW_MAIN_CONTENT); @@ -542,7 +542,20 @@ public class FlagPanelFragment extends BasePanelFragment { } private void toggleFragment() { + sendIntent(AppConstants.INTENT_ACTION_TOGGLE, AppConstants.INTENT_ACTION_EXTRA, AppConstants.INTENT_ACTION_TOGGLE_BLUE_LAST); + switch (toggleMarker(container, markerId)) { + case LEVEL_NORMAL: + sendIntent(AppConstants.INTENT_ACTION_SHOW_MAIN_CONTENT); + break; + case LEVEL_TOGGLED: + replaceFragment(MoreFlagsFragment.FinishTimeFragment.newInstance(1)); + break; + + default: + ExLog.i(getActivity(), TAG, "Unknown return value"); + } + disableToggle(container, markerId); } } @@ -565,8 +578,10 @@ public class FlagPanelFragment extends BasePanelFragment { uncheckMarker(mPostponeFlags); } else if (AppConstants.INTENT_ACTION_TOGGLE_COURSE.equals(data)) { uncheckMarker(mCourseFlags); - } else if (AppConstants.INTENT_ACTION_TOGGLE_MORE.equals(data)) { + } else if (AppConstants.INTENT_ACTION_TOGGLE_BLUE_FIRST.equals(data)) { uncheckMarker(mBlueFirstFlag); + } else if (AppConstants.INTENT_ACTION_TOGGLE_BLUE_LAST.equals(data)) { + uncheckMarker(mBlueLastFlag); } else { uncheckMarker(new View(context)); } From e0f3b53133843e17004290292824160555256fd7 Mon Sep 17 00:00:00 2001 From: Peter Siegmund Date: Wed, 17 Feb 2016 14:15:41 +0100 Subject: [PATCH 04/17] protest time caption in navigation drawer --- .../res/layout/race_list_area_header.xml | 27 ++++++++++++++----- 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/mobile/com.sap.sailing.racecommittee.app/res/layout/race_list_area_header.xml b/mobile/com.sap.sailing.racecommittee.app/res/layout/race_list_area_header.xml index 0baa2d98585..c6743eb5353 100644 --- a/mobile/com.sap.sailing.racecommittee.app/res/layout/race_list_area_header.xml +++ b/mobile/com.sap.sailing.racecommittee.app/res/layout/race_list_area_header.xml @@ -5,21 +5,36 @@ android:layout_height="@dimen/navigation_drawer_cell_height" android:background="?attr/sap_gray"> - + android:orientation="vertical"> + + + + + Date: Wed, 17 Feb 2016 17:18:29 +0100 Subject: [PATCH 05/17] tracking list while finishing phase --- .../res/layout/protest_time_fragment.xml | 4 +- .../race_tracking_list_competitor_item.xml | 2 +- .../res/layout/race_tracking_list_normal.xml | 6 +- .../res/layout/race_tracking_list_xlarge.xml | 7 +- .../res/values-de/strings.xml | 4 +- .../res/values/strings.xml | 4 +- .../impl/CompetitorResultWithIdImpl.java | 30 ++++ .../domain/impl/CompetitorsWithIdImpl.java | 49 ------ .../app/ui/activities/RacingActivity.java | 3 +- .../app/ui/adapters/FinishListAdapter.java | 43 ++---- .../panels/FinishedButtonFragment.java | 2 +- .../raceinfo/TrackingListFragment.java | 141 +++++++++++------- 12 files changed, 146 insertions(+), 149 deletions(-) create mode 100644 mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/domain/impl/CompetitorResultWithIdImpl.java delete mode 100644 mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/domain/impl/CompetitorsWithIdImpl.java diff --git a/mobile/com.sap.sailing.racecommittee.app/res/layout/protest_time_fragment.xml b/mobile/com.sap.sailing.racecommittee.app/res/layout/protest_time_fragment.xml index 0c4f44dc00c..175bc8c803f 100644 --- a/mobile/com.sap.sailing.racecommittee.app/res/layout/protest_time_fragment.xml +++ b/mobile/com.sap.sailing.racecommittee.app/res/layout/protest_time_fragment.xml @@ -7,7 +7,7 @@ android:clickable="true"> + tools:text="GDR001" /> @@ -126,9 +126,7 @@ + android:layout_above="@id/panel_switcher"> @@ -67,7 +67,8 @@ android:layout_marginLeft="@dimen/side_padding" android:layout_marginRight="@dimen/side_padding" android:gravity="center" - android:orientation="horizontal"> + android:orientation="horizontal" + android:layout_marginBottom="@dimen/default_margin_half"> Wiederholen Ja Nein - Ergebnisliste + Teilnehmerliste + Ergebnisliste Ergebnisliste füllen Ergebnisliste bestätigen Segler @@ -463,5 +464,6 @@ Manuelle Eingabe Group Race Select Race + \'%1$s\' zur Ergebnisliste hinzugefügt an Position %2$s \ No newline at end of file diff --git a/mobile/com.sap.sailing.racecommittee.app/res/values/strings.xml b/mobile/com.sap.sailing.racecommittee.app/res/values/strings.xml index 0987bfc7c7a..a94858eefd2 100644 --- a/mobile/com.sap.sailing.racecommittee.app/res/values/strings.xml +++ b/mobile/com.sap.sailing.racecommittee.app/res/values/strings.xml @@ -108,7 +108,8 @@ Retry Yes No - Tracking List + Competitor List + Tracking List Competitors Finish race Drag handle @@ -490,5 +491,6 @@ Manual Input Group Racing Select Race + Added \'%1$s\' to result list at position %2$s \ No newline at end of file diff --git a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/domain/impl/CompetitorResultWithIdImpl.java b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/domain/impl/CompetitorResultWithIdImpl.java new file mode 100644 index 00000000000..a36403cd548 --- /dev/null +++ b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/domain/impl/CompetitorResultWithIdImpl.java @@ -0,0 +1,30 @@ +package com.sap.sailing.racecommittee.app.domain.impl; + +import java.io.Serializable; + +import com.sap.sailing.domain.abstractlog.race.CompetitorResult; +import com.sap.sailing.domain.abstractlog.race.impl.CompetitorResultImpl; +import com.sap.sailing.domain.common.MaxPointsReason; +import com.sap.sse.common.TimePoint; +import com.sap.sse.common.Util; + +public class CompetitorResultWithIdImpl extends CompetitorResultImpl { + + private long mId; + + public CompetitorResultWithIdImpl(long id, CompetitorResult result) { + this(id, result.getCompetitorId(), result.getCompetitorDisplayName(), result.getOneBasedRank(), + result.getMaxPointsReason(), result.getScore(), result.getFinishingTime(), result.getComment()); + } + + public CompetitorResultWithIdImpl(long id, Serializable competitorId, String competitorDisplayName, + int oneBasedRank, MaxPointsReason maxPointsReason, Double score, + TimePoint finishingTime, String comment) { + super(competitorId, competitorDisplayName, oneBasedRank, maxPointsReason, score, finishingTime, comment); + mId = id; + } + + public long getId() { + return mId; + } +} diff --git a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/domain/impl/CompetitorsWithIdImpl.java b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/domain/impl/CompetitorsWithIdImpl.java deleted file mode 100644 index c2169d77982..00000000000 --- a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/domain/impl/CompetitorsWithIdImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.sap.sailing.racecommittee.app.domain.impl; - -import java.io.Serializable; - -import com.sap.sailing.domain.abstractlog.race.CompetitorResult; -import com.sap.sailing.domain.common.MaxPointsReason; -import com.sap.sse.common.Util; - -public class CompetitorsWithIdImpl { - - private long mId; - private Serializable mKey; - private String mText; - private MaxPointsReason mReason; - - public CompetitorsWithIdImpl(long id, Serializable key, String text, MaxPointsReason reason) { - mId = id; - mKey = key; - mText = text; - mReason = reason; - } - - public CompetitorsWithIdImpl(long id, CompetitorResult triple) { - mId = id; - mKey = triple.getCompetitorId(); - mText = triple.getCompetitorDisplayName(); - mReason = triple.getMaxPointsReason(); - } - - public long getId() { - return mId; - } - - public Serializable getKey() { - return mKey; - } - - public String getText() { - return mText; - } - - public MaxPointsReason getReason() { - return mReason; - } - - public Util.Triple getData() { - return new Util.Triple<>(mKey, mText, mReason); - } -} diff --git a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/activities/RacingActivity.java b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/activities/RacingActivity.java index 7cbd6b13465..8aab517686e 100755 --- a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/activities/RacingActivity.java +++ b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/activities/RacingActivity.java @@ -66,6 +66,7 @@ import com.sap.sailing.racecommittee.app.ui.fragments.raceinfo.BaseFragment; import com.sap.sailing.racecommittee.app.ui.fragments.raceinfo.RaceFinishingFragment; import com.sap.sailing.racecommittee.app.ui.fragments.raceinfo.RaceFlagViewerFragment; import com.sap.sailing.racecommittee.app.ui.fragments.raceinfo.RaceSummaryFragment; +import com.sap.sailing.racecommittee.app.ui.fragments.raceinfo.TrackingListFragment; import com.sap.sailing.racecommittee.app.ui.views.PanelButton; import com.sap.sailing.racecommittee.app.utils.BitmapHelper; import com.sap.sailing.racecommittee.app.utils.RaceHelper; @@ -516,7 +517,7 @@ public class RacingActivity extends SessionActivity implements RaceListCallbacks if (mSelectedRace.getStatus() != RaceLogRaceStatus.FINISHING) { content = RaceFlagViewerFragment.newInstance(); } else { - content = RaceFinishingFragment.newInstance(); + content = TrackingListFragment.newInstance(args, 1); } content.setArguments(args); transaction.replace(R.id.race_content, content); diff --git a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/adapters/FinishListAdapter.java b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/adapters/FinishListAdapter.java index 17fe7a3b848..7f43d62bd5e 100755 --- a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/adapters/FinishListAdapter.java +++ b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/adapters/FinishListAdapter.java @@ -7,7 +7,6 @@ import java.util.List; import android.content.Context; import android.graphics.drawable.Drawable; import android.support.v4.view.ViewCompat; -import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -21,7 +20,7 @@ import com.sap.sailing.android.shared.util.ViewHelper; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.common.MaxPointsReason; import com.sap.sailing.racecommittee.app.R; -import com.sap.sailing.racecommittee.app.domain.impl.CompetitorsWithIdImpl; +import com.sap.sailing.racecommittee.app.domain.impl.CompetitorResultWithIdImpl; import com.sap.sailing.racecommittee.app.utils.BitmapHelper; import com.sap.sailing.racecommittee.app.utils.ThemeHelper; @@ -30,25 +29,19 @@ public class FinishListAdapter extends BaseDraggableSwipeAdapter mCompetitors; - private ArrayList mCompetitor; + private ArrayList mCompetitor; private FinishEvents mListener; - public FinishListAdapter(Context context, ArrayList competitor) { + public FinishListAdapter(Context context, ArrayList competitor) { + setHasStableIds(true); mContext = context; mCompetitor = competitor; - setHasStableIds(true); } public void setListener(FinishEvents listener) { mListener = listener; } - public void setCompetitors(Collection competitors) { - mCompetitors = new ArrayList<>(); - mCompetitors.addAll(competitors); - } - @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View layout = LayoutInflater.from(mContext).inflate(R.layout.race_tracking_list_draggable_item, parent, false); @@ -57,24 +50,14 @@ public class FinishListAdapter extends BaseDraggableSwipeAdapter mFinishedAdapter; - private FinishListAdapter mAdapter; private CompetitorAdapter mCompetitorAdapter; - private ArrayList mFinishedData; + private ArrayList mFinishedData; private ArrayList mCompetitorData; - private long mId = 0; + private int mId = 0; + private TextView mHeader; public TrackingListFragment() { mCompetitorData = new ArrayList<>(); } - public static TrackingListFragment newInstance(Bundle args) { + public static TrackingListFragment newInstance(Bundle args, int startMode) { TrackingListFragment fragment = new TrackingListFragment(); + args.putInt(START_MODE, startMode); fragment.setArguments(args); return fragment; } @@ -78,6 +79,8 @@ public class TrackingListFragment extends BaseFragment public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View layout = inflater.inflate(R.layout.race_tracking_list, container, false); + mHeader = ViewHelper.get(layout, R.id.header_caption); + mDots = new ArrayList<>(); mPanels = new ArrayList<>(); @@ -112,6 +115,18 @@ public class TrackingListFragment extends BaseFragment }); } + if (getArguments().getInt(START_MODE, 0) != 0) { + View header = ViewHelper.get(layout, R.id.tracking_header); + if (header != null) { + header.setVisibility(View.GONE); + } + + View buttonBar = ViewHelper.get(layout, R.id.bottom_bar); + if (buttonBar != null) { + buttonBar.setVisibility(View.GONE); + } + } + return layout; } @@ -148,11 +163,11 @@ public class TrackingListFragment extends BaseFragment mSwipeManager = new RecyclerViewSwipeManager(); LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity()); - mAdapter = new FinishListAdapter(getActivity(), mFinishedData); - mAdapter.setListener(this); + FinishListAdapter adapter = new FinishListAdapter(getActivity(), mFinishedData); + adapter.setListener(this); @SuppressWarnings("unchecked") - RecyclerView.Adapter dragManager = mDragDropManager.createWrappedAdapter(mAdapter); + RecyclerView.Adapter dragManager = mDragDropManager.createWrappedAdapter(adapter); mFinishedAdapter = dragManager; @SuppressWarnings("unchecked") @@ -181,12 +196,17 @@ public class TrackingListFragment extends BaseFragment } }); } + + if (getArguments().getInt(START_MODE, 0) == 0) { + onClick(ViewHelper.get(getView(), R.id.nav_next)); + } else { + viewPanel(MOVE_NONE); + } } Util.addAll(getRace().getCompetitors(), mCompetitorData); Collections.sort(mCompetitorData, new NaturalNamedComparator()); mCompetitorAdapter.notifyDataSetChanged(); - viewPanel(MOVE_NONE); } @Override @@ -226,7 +246,6 @@ public class TrackingListFragment extends BaseFragment super.onDestroy(); } - private void loadCompetitors() { // invalidate all competitors of this race ReadonlyDataManager dataManager = OnlineDataManager.create(getActivity()); @@ -240,9 +259,7 @@ public class TrackingListFragment extends BaseFragment @Override public void onLoadFailed(Exception reason) { - String toastText = getString(R.string.marks_w_placeholder); - Toast.makeText(getActivity(), String.format(toastText, reason.toString()), Toast.LENGTH_LONG) - .show(); + Toast.makeText(getActivity(), getString(R.string.competitor_load_error, reason.toString()), Toast.LENGTH_LONG).show(); } @Override @@ -264,26 +281,21 @@ public class TrackingListFragment extends BaseFragment deleteCompetitorsFromFinishedList(data); deleteCompetitorsFromCompetitorList(); mCompetitorAdapter.notifyDataSetChanged(); - - mAdapter.setCompetitors(getRace().getCompetitors()); - mFinishedAdapter.notifyDataSetChanged(); } private void deleteCompetitorsFromFinishedList(Collection validCompetitors) { - List> toBeDeleted = new ArrayList<>(); - for (CompetitorsWithIdImpl item : mFinishedData) { - Util.Triple positionedItem = item.getData(); - if (!validCompetitors.contains(getCompetitorStore().getExistingCompetitorById(positionedItem.getA()))) { - toBeDeleted.add(positionedItem); + List toBeDeleted = new ArrayList<>(); + for (CompetitorResultWithIdImpl item : mFinishedData) { + if (!validCompetitors.contains(getCompetitorStore().getExistingCompetitorById(item.getCompetitorId()))) { + toBeDeleted.add(item); } } mFinishedData.removeAll(toBeDeleted); } private void deleteCompetitorsFromCompetitorList() { - for (CompetitorsWithIdImpl item : mFinishedData) { - Util.Triple positionedItem = item.getData(); - Competitor competitor = getCompetitorStore().getExistingCompetitorById(positionedItem.getA()); + for (CompetitorResultWithIdImpl item : mFinishedData) { + Competitor competitor = getCompetitorStore().getExistingCompetitorById(item.getCompetitorId()); mCompetitorData.remove(competitor); } } @@ -292,11 +304,11 @@ public class TrackingListFragment extends BaseFragment return DataManager.create(getActivity()).getDataStore().getDomainFactory().getCompetitorStore(); } - private ArrayList initializeFinishList() { - ArrayList positioning = new ArrayList<>(); + private ArrayList initializeFinishList() { + ArrayList positioning = new ArrayList<>(); if (getRaceState() != null && getRaceState().getFinishPositioningList() != null) { for (CompetitorResult results : getRaceState().getFinishPositioningList()) { - positioning.add(new CompetitorsWithIdImpl(mId, results)); + positioning.add(new CompetitorResultWithIdImpl(mId, results)); mId++; } } @@ -311,10 +323,19 @@ public class TrackingListFragment extends BaseFragment } private void moveCompetitorToFinishList(Competitor competitor) { + String name = ""; + if (competitor.getBoat() != null) { + name += competitor.getBoat().getSailID(); + } + name += " - " + competitor.getName(); mFinishedData.add( - new CompetitorsWithIdImpl(mId, competitor.getId(), competitor.getName(), MaxPointsReason.NONE)); + new CompetitorResultWithIdImpl(mId, competitor.getId(), name, mFinishedData.size() + 1, MaxPointsReason.NONE, + /* score */ null, /* finishingTime */ null, /* comment */ null)); mId++; mFinishedAdapter.notifyDataSetChanged(); + if (mDots.size() > 0) { + Toast.makeText(getActivity(), getString(R.string.added_to_result_list, name, mFinishedData.size()), Toast.LENGTH_SHORT).show(); + } } private void removeCompetitorFromList(Competitor competitor) { @@ -329,8 +350,8 @@ public class TrackingListFragment extends BaseFragment } @Override - public void onItemRemoved(CompetitorsWithIdImpl item) { - Competitor competitor = getCompetitorStore().getExistingCompetitorById(item.getKey()); + public void onItemRemoved(CompetitorResultWithIdImpl item) { + Competitor competitor = getCompetitorStore().getExistingCompetitorById(item.getCompetitorId()); if (competitor != null) { addNewCompetitorToCompetitorList(competitor); } @@ -344,7 +365,7 @@ public class TrackingListFragment extends BaseFragment } @Override - public void onLongClick(final CompetitorsWithIdImpl item) { + public void onLongClick(final CompetitorResultWithIdImpl item) { AlertDialog.Builder builder = new AlertDialog.Builder(getActivity(), R.style.AppTheme_AlertDialog); final CharSequence[] maxPointsReasons = getAllMaxPointsReasons(); builder.setTitle(R.string.select_penalty_reason) @@ -365,10 +386,10 @@ public class TrackingListFragment extends BaseFragment return result.toArray(new CharSequence[result.size()]); } - protected void setMaxPointsReasonForItem(CompetitorsWithIdImpl item, CharSequence maxPointsReasonName) { + protected void setMaxPointsReasonForItem(CompetitorResultWithIdImpl item, CharSequence maxPointsReasonName) { MaxPointsReason maxPointsReason = MaxPointsReason.valueOf(maxPointsReasonName.toString()); - CompetitorsWithIdImpl newItem = new CompetitorsWithIdImpl(item.getId(), item.getKey(), item.getText(), - maxPointsReason); + CompetitorResultWithIdImpl newItem = new CompetitorResultWithIdImpl(item.getId(), item.getCompetitorId(), item.getCompetitorDisplayName(), + item.getOneBasedRank(), maxPointsReason, item.getScore(), item.getFinishingTime(), item.getComment()); int currentIndexOfItem = mFinishedData.indexOf(item); replaceItemInPositioningList(currentIndexOfItem, item, newItem); @@ -378,12 +399,12 @@ public class TrackingListFragment extends BaseFragment getRaceState().setFinishPositioningListChanged(MillisecondsTimePoint.now(), getCompetitorResults()); } - private void replaceItemInPositioningList(int index, CompetitorsWithIdImpl item, CompetitorsWithIdImpl newItem) { + private void replaceItemInPositioningList(int index, CompetitorResultWithIdImpl item, CompetitorResultWithIdImpl newItem) { mFinishedData.remove(item); mFinishedData.add(index, newItem); } - private void setCompetitorToBottomOfPositioningList(CompetitorsWithIdImpl item) { + private void setCompetitorToBottomOfPositioningList(CompetitorResultWithIdImpl item) { int lastIndex = Util.size(getCompetitorResults()) - 1; mFinishedData.remove(item); mFinishedData.add(lastIndex, item); @@ -392,24 +413,36 @@ public class TrackingListFragment extends BaseFragment private CompetitorResults getCompetitorResults() { CompetitorResults result = new CompetitorResultsImpl(); int oneBasedRank = 1; - for (CompetitorsWithIdImpl item : mFinishedData) { - result.add(new CompetitorResultImpl(item.getKey(), item.getText(), oneBasedRank++, item.getReason(), - /* score */ null, /* finishingTime */ null, /* comment */ null)); + for (CompetitorResultWithIdImpl item : mFinishedData) { + result.add(new CompetitorResultImpl(item.getCompetitorId(), item.getCompetitorDisplayName(), oneBasedRank++, item.getMaxPointsReason(), + item.getScore(), item.getFinishingTime(), item.getComment())); } return result; } @Override public void onClick(View v) { - switch (v.getId()) { - case R.id.nav_prev: - viewPanel(MOVE_DOWN); - break; + if (v != null) { + switch (v.getId()) { + case R.id.nav_prev: + viewPanel(MOVE_DOWN); + break; - case R.id.nav_next: - viewPanel(MOVE_UP); - break; + case R.id.nav_next: + viewPanel(MOVE_UP); + break; + } } - mConfirm.setEnabled(mActivePage != 0); + if (mHeader != null) { + switch (mActivePage) { + case 0: + mHeader.setText(R.string.tracking_list_01); + break; + + default: + mHeader.setText(R.string.tracking_list_02); + } + } + mConfirm.setEnabled(mActivePage != 0 || mDots.size() == 0); } } From e8badb80227ad29f565485b3a45b96f5f6c2cf23 Mon Sep 17 00:00:00 2001 From: Peter Siegmund Date: Mon, 22 Feb 2016 15:38:40 +0100 Subject: [PATCH 06/17] updated gradle build dependency --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 95bb3e340e4..4602d4c3b88 100644 --- a/build.gradle +++ b/build.gradle @@ -6,7 +6,7 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:2.0.0-beta2' + classpath 'com.android.tools.build:gradle:2.0.0-beta5' } } From 38eee0df1567de4a8ae66e6e1850183dbb68065e Mon Sep 17 00:00:00 2001 From: Peter Siegmund Date: Tue, 23 Feb 2016 12:42:50 +0100 Subject: [PATCH 07/17] new shared custom header view layout --- .../res/layout/flag_list_normal.xml | 41 ++-------- .../res/layout/header_view.xml | 27 +++++++ .../res/layout/photo_list.xml | 51 +++--------- .../res/layout/protest_time_fragment.xml | 2 +- .../layout/race_schedule_course_header.xml | 39 ---------- .../res/layout/race_schedule_course_map.xml | 10 ++- .../race_schedule_course_marks_normal.xml | 11 +-- .../race_schedule_course_marks_xlarge.xml | 7 +- .../res/layout/race_schedule_course_name.xml | 12 +-- .../res/layout/race_schedule_mode.xml | 42 ++-------- .../res/layout/race_schedule_procedure.xml | 44 ++--------- ...e_schedule_procedure_pathfinder_normal.xml | 48 ++---------- ...e_schedule_procedure_pathfinder_xlarge.xml | 46 +---------- .../race_schedule_procedure_timing_normal.xml | 44 ++--------- .../race_schedule_procedure_timing_xlarge.xml | 41 +--------- .../res/layout/race_time_change.xml | 43 ++--------- .../res/layout/race_tracking_list_normal.xml | 67 ++++------------ .../res/layout/wind_view_normal.xml | 2 +- .../res/layout/wind_view_xlarge.xml | 2 +- .../res/layout/wind_view_xlarge_new.xml | 2 +- .../res/layout/wind_view_xlarge_old.xml | 2 +- .../res/values-sw720dp/dimens.xml | 3 +- .../res/values/attrs_custom_views.xml | 5 ++ .../res/values/dimens.xml | 3 +- .../raceinfo/AbortFlagsFragment.java | 14 ++-- .../ui/fragments/raceinfo/CourseFragment.java | 8 +- .../raceinfo/CourseFragmentName.java | 8 +- .../raceinfo/GateStartPathFinderFragment.java | 8 +- .../raceinfo/GateStartTimingFragment.java | 9 +-- .../raceinfo/LineStartModeFragment.java | 9 +-- .../fragments/raceinfo/PhotoListFragment.java | 9 ++- .../raceinfo/RaceTimeChangeFragment.java | 36 ++++----- .../raceinfo/RecallFlagsFragment.java | 14 ++-- .../raceinfo/StartProcedureFragment.java | 11 +-- .../raceinfo/TrackingListFragment.java | 17 ++-- .../{views => layouts}/FloatLabelLayout.java | 2 +- .../app/ui/layouts/HeaderLayout.java | 77 +++++++++++++++++++ 37 files changed, 275 insertions(+), 541 deletions(-) create mode 100644 mobile/com.sap.sailing.racecommittee.app/res/layout/header_view.xml delete mode 100644 mobile/com.sap.sailing.racecommittee.app/res/layout/race_schedule_course_header.xml rename mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/{views => layouts}/FloatLabelLayout.java (99%) create mode 100644 mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/layouts/HeaderLayout.java diff --git a/mobile/com.sap.sailing.racecommittee.app/res/layout/flag_list_normal.xml b/mobile/com.sap.sailing.racecommittee.app/res/layout/flag_list_normal.xml index daf4426083f..8e48a348b6f 100644 --- a/mobile/com.sap.sailing.racecommittee.app/res/layout/flag_list_normal.xml +++ b/mobile/com.sap.sailing.racecommittee.app/res/layout/flag_list_normal.xml @@ -2,45 +2,14 @@ - - - - - - - - - - - + android:layout_height="wrap_content" + app:headerText="@string/not_available"/> + + + + + + diff --git a/mobile/com.sap.sailing.racecommittee.app/res/layout/photo_list.xml b/mobile/com.sap.sailing.racecommittee.app/res/layout/photo_list.xml index 12bdd8c4dde..b8a2ed392c6 100644 --- a/mobile/com.sap.sailing.racecommittee.app/res/layout/photo_list.xml +++ b/mobile/com.sap.sailing.racecommittee.app/res/layout/photo_list.xml @@ -1,55 +1,22 @@ - - - - - - - - - - - - + android:layout_height="wrap_content" + app:headerText="@string/finished_list" /> + android:paddingTop="@dimen/side_padding" /> + android:src="?attr/photo_camera" /> - + \ No newline at end of file diff --git a/mobile/com.sap.sailing.racecommittee.app/res/layout/protest_time_fragment.xml b/mobile/com.sap.sailing.racecommittee.app/res/layout/protest_time_fragment.xml index 175bc8c803f..879244f0be1 100644 --- a/mobile/com.sap.sailing.racecommittee.app/res/layout/protest_time_fragment.xml +++ b/mobile/com.sap.sailing.racecommittee.app/res/layout/protest_time_fragment.xml @@ -41,7 +41,7 @@ diff --git a/mobile/com.sap.sailing.racecommittee.app/res/layout/race_schedule_course_header.xml b/mobile/com.sap.sailing.racecommittee.app/res/layout/race_schedule_course_header.xml deleted file mode 100644 index 10b11b6693c..00000000000 --- a/mobile/com.sap.sailing.racecommittee.app/res/layout/race_schedule_course_header.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/mobile/com.sap.sailing.racecommittee.app/res/layout/race_schedule_course_map.xml b/mobile/com.sap.sailing.racecommittee.app/res/layout/race_schedule_course_map.xml index 870689e3f2f..eda85aeacb6 100644 --- a/mobile/com.sap.sailing.racecommittee.app/res/layout/race_schedule_course_map.xml +++ b/mobile/com.sap.sailing.racecommittee.app/res/layout/race_schedule_course_map.xml @@ -1,14 +1,16 @@ - - + android:layout_width="match_parent" + android:layout_height="wrap_content" + app:headerText="@string/course"/> \ No newline at end of file diff --git a/mobile/com.sap.sailing.racecommittee.app/res/layout/race_schedule_course_marks_normal.xml b/mobile/com.sap.sailing.racecommittee.app/res/layout/race_schedule_course_marks_normal.xml index ccafedeb2a7..2459da2fc9d 100644 --- a/mobile/com.sap.sailing.racecommittee.app/res/layout/race_schedule_course_marks_normal.xml +++ b/mobile/com.sap.sailing.racecommittee.app/res/layout/race_schedule_course_marks_normal.xml @@ -2,11 +2,14 @@ - + android:layout_width="match_parent" + android:layout_height="wrap_content" + app:headerText="@string/course"/> + android:layout_above="@id/bottom_bar" /> \ No newline at end of file diff --git a/mobile/com.sap.sailing.racecommittee.app/res/layout/race_schedule_course_marks_xlarge.xml b/mobile/com.sap.sailing.racecommittee.app/res/layout/race_schedule_course_marks_xlarge.xml index 5a2f8504628..a38d5b76f20 100644 --- a/mobile/com.sap.sailing.racecommittee.app/res/layout/race_schedule_course_marks_xlarge.xml +++ b/mobile/com.sap.sailing.racecommittee.app/res/layout/race_schedule_course_marks_xlarge.xml @@ -2,11 +2,14 @@ - + android:layout_width="match_parent" + android:layout_height="wrap_content" + app:headerText="@string/course"/> - - + android:layout_width="match_parent" + android:layout_height="wrap_content" + app:headerText="@string/course" /> + android:dividerHeight="0dp" /> \ No newline at end of file diff --git a/mobile/com.sap.sailing.racecommittee.app/res/layout/race_schedule_mode.xml b/mobile/com.sap.sailing.racecommittee.app/res/layout/race_schedule_mode.xml index 8939adb95bf..c7e5c1a9723 100644 --- a/mobile/com.sap.sailing.racecommittee.app/res/layout/race_schedule_mode.xml +++ b/mobile/com.sap.sailing.racecommittee.app/res/layout/race_schedule_mode.xml @@ -1,44 +1,14 @@ + android:layout_width="match_parent" + android:layout_height="match_parent" + xmlns:app="http://schemas.android.com/apk/res-auto"> - - - - - - - - - - - + android:layout_height="wrap_content" + app:headerText="@string/start_mode"/> - + android:layout_height="match_parent" + xmlns:app="http://schemas.android.com/apk/res-auto"> - - - - - - - - - - - + android:layout_height="wrap_content" + app:headerText="@string/start_procedure"/> - - - - - - - - - - - + android:layout_height="wrap_content" + app:headerText="@string/gate_start_pathfinder"/> + android:layout_below="@id/header"> - - + - - + diff --git a/mobile/com.sap.sailing.racecommittee.app/res/layout/race_schedule_procedure_pathfinder_xlarge.xml b/mobile/com.sap.sailing.racecommittee.app/res/layout/race_schedule_procedure_pathfinder_xlarge.xml index 86461838be6..16ce1ad088d 100644 --- a/mobile/com.sap.sailing.racecommittee.app/res/layout/race_schedule_procedure_pathfinder_xlarge.xml +++ b/mobile/com.sap.sailing.racecommittee.app/res/layout/race_schedule_procedure_pathfinder_xlarge.xml @@ -4,43 +4,6 @@ android:layout_width="match_parent" android:layout_height="match_parent"> - - - - - - - - - - - - - - + - - + \ No newline at end of file diff --git a/mobile/com.sap.sailing.racecommittee.app/res/layout/race_schedule_procedure_timing_normal.xml b/mobile/com.sap.sailing.racecommittee.app/res/layout/race_schedule_procedure_timing_normal.xml index 6d0d8f5ab32..e02e3a455da 100644 --- a/mobile/com.sap.sailing.racecommittee.app/res/layout/race_schedule_procedure_timing_normal.xml +++ b/mobile/com.sap.sailing.racecommittee.app/res/layout/race_schedule_procedure_timing_normal.xml @@ -2,46 +2,14 @@ + android:layout_height="match_parent" + xmlns:app="http://schemas.android.com/apk/res-auto"> - - - - - - - - - - - - + android:layout_height="wrap_content" + app:headerText="@string/gate_start_timing"/> - - - - - - - - - - - - + android:layout_height="match_parent" + xmlns:app="http://schemas.android.com/apk/res-auto"> - + android:layout_height="match_parent" + xmlns:app="http://schemas.android.com/apk/res-auto"> - - - - - - - - - - - + android:layout_height="wrap_content" + app:headerText="@string/set_time"/> - - - - - - - - - - - - + android:layout_height="wrap_content" + app:headerText="@string/tracking_list_01" /> + android:layout_alignParentTop="true" + android:background="?attr/sap_gray" />