From f414239a71179fb180996f70895b40c4b490fcd8 Mon Sep 17 00:00:00 2001 From: Alinson Xavier Date: Sat, 20 Jun 2015 13:59:54 -0400 Subject: [PATCH] Initial version --- .gitignore | 32 ++ SimpleTimer.iml | 19 + art/hourglass.png | Bin 0 -> 38652 bytes art/hourglass.svg | 243 ++++++++++ build.gradle | 19 + gradle.properties | 18 + gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 49896 bytes gradle/wrapper/gradle-wrapper.properties | 6 + gradlew | 164 +++++++ gradlew.bat | 90 ++++ mobile/.gitignore | 1 + mobile/build.gradle | 26 ++ mobile/mobile.iml | 136 ++++++ mobile/proguard-rules.pro | 17 + .../isoron/simpletimer/ApplicationTest.java | 15 + mobile/src/main/AndroidManifest.xml | 24 + .../org/isoron/simpletimer/MainActivity.java | 43 ++ mobile/src/main/res/layout/activity_main.xml | 16 + mobile/src/main/res/menu/menu_main.xml | 8 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3418 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2206 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4842 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 7718 bytes mobile/src/main/res/values-v21/styles.xml | 5 + mobile/src/main/res/values-w820dp/dimens.xml | 6 + mobile/src/main/res/values/dimens.xml | 5 + mobile/src/main/res/values/strings.xml | 6 + mobile/src/main/res/values/styles.xml | 8 + settings.gradle | 1 + wear/.gitignore | 1 + wear/build.gradle | 28 ++ wear/proguard-rules.pro | 17 + wear/src/main/AndroidManifest.xml | 30 ++ wear/src/main/ic_launcher-web.png | Bin 0 -> 18624 bytes .../org/isoron/base/AmbientModeListener.java | 12 + .../org/isoron/simpletimer/MainActivity.java | 191 ++++++++ .../org/isoron/simpletimer/TimerView.java | 435 ++++++++++++++++++ wear/src/main/res/layout/activity_main.xml | 13 + .../main/res/layout/rect_activity_main.xml | 15 + .../main/res/layout/round_activity_main.xml | 15 + wear/src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 1699 bytes wear/src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 1125 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 2279 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 3726 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 5087 bytes wear/src/main/res/values/strings.xml | 6 + wear/wear.iml | 102 ++++ 47 files changed, 1773 insertions(+) create mode 100644 .gitignore create mode 100644 SimpleTimer.iml create mode 100644 art/hourglass.png create mode 100644 art/hourglass.svg create mode 100644 build.gradle create mode 100644 gradle.properties create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100755 gradlew create mode 100644 gradlew.bat create mode 100644 mobile/.gitignore create mode 100644 mobile/build.gradle create mode 100644 mobile/mobile.iml create mode 100644 mobile/proguard-rules.pro create mode 100644 mobile/src/androidTest/java/org/isoron/simpletimer/ApplicationTest.java create mode 100644 mobile/src/main/AndroidManifest.xml create mode 100644 mobile/src/main/java/org/isoron/simpletimer/MainActivity.java create mode 100644 mobile/src/main/res/layout/activity_main.xml create mode 100644 mobile/src/main/res/menu/menu_main.xml create mode 100644 mobile/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 mobile/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 mobile/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 mobile/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 mobile/src/main/res/values-v21/styles.xml create mode 100644 mobile/src/main/res/values-w820dp/dimens.xml create mode 100644 mobile/src/main/res/values/dimens.xml create mode 100644 mobile/src/main/res/values/strings.xml create mode 100644 mobile/src/main/res/values/styles.xml create mode 100644 settings.gradle create mode 100644 wear/.gitignore create mode 100644 wear/build.gradle create mode 100644 wear/proguard-rules.pro create mode 100644 wear/src/main/AndroidManifest.xml create mode 100644 wear/src/main/ic_launcher-web.png create mode 100644 wear/src/main/java/org/isoron/base/AmbientModeListener.java create mode 100644 wear/src/main/java/org/isoron/simpletimer/MainActivity.java create mode 100644 wear/src/main/java/org/isoron/simpletimer/TimerView.java create mode 100644 wear/src/main/res/layout/activity_main.xml create mode 100644 wear/src/main/res/layout/rect_activity_main.xml create mode 100644 wear/src/main/res/layout/round_activity_main.xml create mode 100644 wear/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 wear/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 wear/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 wear/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 wear/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 wear/src/main/res/values/strings.xml create mode 100644 wear/wear.iml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e491bde --- /dev/null +++ b/.gitignore @@ -0,0 +1,32 @@ +#built application files +*.apk +*.ap_ + +# files for the dex VM +*.dex + +# Java class files +*.class + +# generated files +bin/ +gen/ + +# Local configuration file (sdk path, etc) +local.properties + +# Windows thumbnail db +Thumbs.db + +# OSX files +.DS_Store + +# Eclipse project files +.classpath +.project + +# Android Studio +.idea +#.idea/workspace.xml - remove # and delete .idea if it better suit your needs. +.gradle +build/ diff --git a/SimpleTimer.iml b/SimpleTimer.iml new file mode 100644 index 0000000..d557092 --- /dev/null +++ b/SimpleTimer.iml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/art/hourglass.png b/art/hourglass.png new file mode 100644 index 0000000000000000000000000000000000000000..661a60406dcee144d39029e61b48bfd17b27bbd1 GIT binary patch literal 38652 zcmX_I2{_bW_y3Y*5*Z~$VTcTsLJ=C-8B2_P-wSvXyq}i|H0>ei+$to%%UdUig>gHI{PQ; zJbQ2Na*Dsp0Pm%(xt7-46jsh7jz4mKtc3rXbXr_oWQ007ZTj!&E(n#l|FEv?6+A9t zs#`irO}WS)X0H@!K(G?=27g&AY_wnBnYtU4%SyDWjeb=?qZVJrq+E;wGl}u0nDf=Z=N@1&+dcOGU|ahUdY77+=w!WKuE$ zA};-l!zPTMRb#5h;?)E>UN@%R<7PbyA(2c%&_)_fUVn^!vwxrTG~d}<453vj6x}Re zMf)IfAH1C!OcO^K%e z!bIFzGW`jg}mFku!!iyetW&7 zEPg$GEis7c+hIUb50l6OlAE*mt4TyPQGQWsDnU~>AuE|Nzr>begXPpF8&C=W>3x`# z2awi0Xl7kOW1kY%Zv29db*9Mb;I%2+gryk)b?CDUAW-;%ze*zVj&a>SdHpEE+m~MN zU*!?C2=`2Ce+fV<{D4B*rk}TnpJ7Alh9C-gDqD2hSg}u_-LaJw3cHPBLRwbLeG=!7 z5LEwiep~~3KhLpvDRiSBXmd1}6Usy(7}OJJ@+a#~Lhjn7^|nl%tdB)8`TXvj_A*oZ zAXhacBLXwxe+sLBrTikq9qVWK66uR2>r?Cr_ddxCJ44UXfavpP@qL#HPp+tAxA^)Q zkT$+Ln`M+68?E$X5E=+X`C3!1jHaTnU(>G>&{r9I#cwOFG%3iCok=K4xo6^Vu+fk4 zYcujtzHST!XJUE0?Xc>!S@*!_A};+c$9;g!79{C|GcChS~*}?pqnayGo}&$ zKLg2#Ck~fcA%)c^L9f25f_1CJfHJ3VV%(n*52qz}mb~$YQ04{_{C6XDPZ`}ObwkQp zVDa{E_^WLchTz9UHIdgqw8}5WL@}qRk&oKv{8E8zKPRJ@z8t8SOUwu;B4!cD;9yZk zmglGjgotcC;tz`y1}GXC#XI6pmf(+a*WvR8JiPZ#CQj>Y8Ur4EF)Yd#xMHC9ee@?D zI$B@u5%?14ps4yJosQ|1MgY70fYba~6q6xO#oXG1fCQq9NRm|UJ}81-L!^mLrs)yQ ztWy|ZU`7#cV&?n``&k6el?(@QKunso#PKvGuZ^l-Jdltkk`b*i;=if=xNvQ>bNl)T zr2M6=V$Jg96_LXw>*d{hs8z-_0F8VF$YfU0WWd~#Z;x0wY4uLea#zt7YG&l zIaNTA%m|QM=VknS7=WeNroSY0%@sRMxG)iX5JJhVif*e?IDpmE0zB=gBN;d1d%aG! zOH!|6+ki|Vwpt@frHJiIuhUT2F%^V^;)uVdM7ZpV$*)5p5F*ERB7yp*x?c$u)zDfC??@9`V$>&tw=M0Wwe3; z+V~`l#bP71PZ^B^b)YfPNJMjQVV;;S*^pugd9NTZ6mS0Xtg zRAKB%piPKz;bLJV|6g6{hu@xYA%wu}EIovP7*&h#2ACrh^RkB!fu;s^Az}A~;2QB) zDp(U$njtkpkg7*A@j&XmPncmfh?`Xf5d$3QQ^QRm$haJg3V#*H`ba-*^k+Q_ zKnS?DF+))YCyK$4I~WQALlAIF5Odn_;YybF*(w1>hjoN%XSYqiN7~vx z?3_-iEWnYnq?L%RIJFxn`3?{=|49Uc;7yE}q(?eYSA5V`Kr`12LvPYB%sJrSm{g*cU8VJZub)Kwe}LGSsY?V}B4(LNpe64TJNG*doD) zu(l0{Pq6wCK*0h$vW|iQwcAGyR$ynpti<+M;c3{X(~qHkB2=Hfvg!ZZN_>jtyM7tS z6%}Gli4;9tVqJb0as=is3M|YJJA&P8g12YSz0`L`{<80Gz z)ntUCoIaPYRhF3pBlmt|9c2jAEDStjD{wLVF0j&&n~g*nAh;7WA!Q3>j51eKt}(!t z&Qsp<^RQwv>vhPg6ixslH=304M}UUgHvKn5Y)^YUhj$ltxlOD*b+{yrjzql$S~q~5 z*_uDL*b>%y*N!>m7FgU9ERFSAgaxSg_L>Yh^CNuWw6Mu`&r& zu>xOhv}t;15JrAfIi_Omw1gd)y}_%32mlu8Sr~cu7bA8Ec1p@i0B^!nii_}&6NY8w zWHfRf=yWhm>GY+&-O->Sc~6L)O={GP z(aIVD#roKa1`>UsnIITDtbYfBJXy7%^QV(J0uzPM5dNCwP zWy2l?zyoekxtc2m!4Leh`1Y5~8^hK>1J^EBuI+P&6~uj*^O4GP7azvRtFKTXcdocW z$ep<@gE-!Y6y^rO;9)=#@jpuaxRpb!1d=@qAfpOaygcI1f+d?$)Pc)_P|~@N)|!Ex zy#=6x@%hIj~vJ1M4 zim7bQ9n_-Oi}3pZdk4u1r>=rH2&ur8&a%zxGG~6caJd$r<2)ip2vvOp_-&1tkigIQ~93bHJA6BeA$bUY7d7Q|Y z6%LR(;Wi%~+KUrV+S?O__WIQy@dy-G%*uX{@ag;pei!D|(5XjM6xeVrK=YDNjQogy z^24?Gcohgja)gUw2=Xk9dR#H*zvKJlL?$ImreNb$<{i={WBkuBWqu{#GW{@O6>A5q z`}dY}_^E@P2C(rSRzqT#gy8f@0UJpOD2KfX^t4G0#%cX19szPAb;~`uOcGAPF$7x4 zDi-C3T|%uu^gIfIlLZE!7EnnPg7E}}Eu6(Z1q-j1-$n5SKWBdrOrDn@02>`trKl!? z$(0Xc)JaCEziZC*uOW8mF8J(;6C&$whWS1o8ppx{p?%rx{ zL+J^%c!D3MScg(ixLONK1?jhYnpy_JRT&)_!>JOV4=lNiXf4XWhYOU5K-wM@0cyIy zIdILnwT%>mL;TKrTe{epZSE&7TX3ob0}Up;p+C7Jf)RB>LeMkrH`;g!|6XQpX0WCo zX3h}Hsk`92hl<`!UHm2gpUm8eDD@WrXGWk-An!TS_^1lPQvZoN49r3Z97y4mPE#eZ z^gXEv6YVIrSymYhdg0}uhWl8ugnv1U zOA<Yu=opYeJ#%{(E{rCJ5>a;m_(+p%b4uUNj zNT)`)@Fts4c=vdJkV+GU{b9W&=j}+Yn0ZhsJ|g&}t!cp44!!N!#VUYN?^*%INMXc) z(1?Gj=(g#hbBe%75Dki=Ihmj~EWg_siBJuTp~=$;J{bYTJ(O|3o)+cL&?Cx%g*%Wj zpJQqANra_`0ecY*;vOm>D5Zi?3$QI11qfXt2t2s3mq|c6-*~Z4^-dXift3Xjs@h`_ zZs+$@hx(cOaMrH~dFWix-G*tI;1t+IqR^Ql)ZAVvlyEXCv8i`Z-S_A^JAjY+yF7wV z|A_;_U5GA3PpkV%YLtbA>sJQ zUtFNR)B{j#-*X7ik9IV5tXE1{I1ZIqWUsC863+yd3Y%dsOyS~^Vsd=dl)HKuJ7=*B zK8;#_k}7Ye9)pbG0-kJL)YhR5ctEHlDqb5|{~joRN_3&7ypZdvS8gHuMgtTT}|j=+K@6P)1)Ttd+P3)1T9k+(%W8NrM0>LUqL2CKZE)Q8vT63YW9A zx5x2_gu5tqkO}`uUrQtI?12fXqbsV9J!J%2-HnymcMpI$mk~oXU~N1L*wiJ<`Tx9! zL?P5btd_tw>hS%CpFBBD3MtFkkm-cVv4bNz3SE1$6`ny9rl@fFF*$aEv+V=f4lG;c z*(d4pJQ`8I46`5*DqXOVbyL7?MQLvtNk1fy;+cM{Az1*3Wkj}Z|KnjGb*uZtlOVS` zIjr_TG5UNI$eG2dH?Wg?W(X06wIAn#TGNtK#Rt(9bpunJLKG9_*h?~?pR;GN#$akF zn2HgQIE(^WC6;Ur#{uY{dpxm4rn?-0h(3>kZE7=>_-;=OQCIcS*NS_qPcueE;$GZn zCOVU}zyv7Nubk3dfdC$!9UAd(7ovL7_`%1@2ivpsh!Gwb#uhE)<`bHHw>H`K$p>Iz z%2jn(1<5S!NmmS0&PhZ#a1-|k0uN1mVGjqreR&ECXO$pme3Xj*2uiw9Ezq&~Pu>Ty zRoPI|fR_j1Mk%2O8UB|3#0uMZ?-+os@(TS?fc1}KN0ro&n}e02NsR(Pgb??;;KGy} zUuBr``a$NBPP80`n~YJy*^lIhV^jP%^HM;EL4(pEV!8(uNavXb#Sy?roF=3Vm;;zr zBK*+i1NQRuu(2NfqW*%_pzcLejs#0iMrgyRg?QFl&T~8c(O8{p&e-c4!a7dX#9v@O zh9-nUgoD(R4a=#cFcHkA`Yex}t+|#{w7sckv`&ujEMLr%yoljWF|{z*2Qg_|hn7uE z*H|5YZ0_~phbw-&&3$d`w^&`ZD~Wy~=H*L5GN=Mc!)o~z6g(t?y>dhlIq&on%H5rtbCsST=3aR&D;v9eQxMCvCp6=X;1SOJGj4@glXjTq5sQPWj{a zc$z!}U2k+9KZW_d`2m0Zg?;cbj+^wyMBp4e+vpF_!Uzt~mq-oB1~6 zUOBLRusW9!QZD`>8LHQ~vt?9YCu?n>QZ*q&-Ea}sc#_6zkX!W&!*%Daim|O=PRPm- zKz--B=DMP~yFgg|zW^B!BD(IZeVTqO7a<(|1Xy!Po`Dgp3^ zsw$Q64ERkX@_AkQr!tJ!Az$?WnJA4y^vv;L50kV|$0TNk9?Mgm0!fRm@D9-dq{YIl zR7o?})-gO=v~xbCyAQoDx{4jdYGVp@SP^-mJ9#_#&w?xk4?6D})#i;46@q@=DtAX& zTTQ5S)gsktgnQWWPK20E+skyUQ}K2QQdOJTBe+87&=Mb)h2TLMNUn zx%woOJgD z`cQP0Hb~)(Hjf z3&5qjLnGIM)p!rAA=e>NULy-#pm6BE99QhyA*RBVHXIX^BPhB3n~1BVTc}Ky^%Gtg z;P4K=WKA>=&5l={o%z=*b%{+K$pf6^62XUi_sm1FzJrWVeyO#ZFIJfCVM-J6xJ>sq zG{j}xZl9dl(wQe2f5rs z^%7|E1+NP8(F}b^AUV&;qMy<5sZ$R~cQ3tVRLNu>@psa(mv~Qg=bn80p$CS5gVWGv zq5O7mKGL$(Y?CsONq>MsA!_{_h*YrC)yj_bIy#6~daX6{@AxAhe$P|H#h=kP-#jJ| zs*GF$*A1aq@+WXIuMb6qRt-D)G+t2P4}CNBz4m?cwPJgLt-4UcBBi(ba?l;rM6Es6 zvku5AG;s7fEQYk9RbQpw1Ir?8IGZFL!5(KhMAsy!2Gp@y*2~HpZRCGa|04@T!oqM; zRPfhJxr&U*0cp)$Vi~{^UwTETTAAEzkTV8?RO&rn8nx9rMa*4^LaX1f&5>`=VnuZI zZQB^x)41Z3S?zZU;N!gic3WO<@h>Y^EIPMcM{vAgACn_1-0#V8Yuh*Q`)5~Zeb}P# z-dR5VuD`$bc|x&v>jgN9D|^XwZ+_mdvVproxbO+jlrP4UY8N)g)mHz{l?H0nv{%+W_QM_1VVBmQYIEmb zijxR0Psu^XDBge@SF6C8kv$hq2lhCdmyp^%;K4nl#?bIok+ndJ#4e{Yn9$dAV)f)5 zR4ECq9!ANc3r>^T)1UeyW5kPd+a2B-T@rh#1d&T-8)E?rrK2z zeisbm0MGqy?#e`Qde_s7p-Z;Ipk;(k81-K^T8O=JbnXri&xFdi(#}P2Vfc@AuN`*| z`|Xr*rk97$5c&Iu((>n&=I(z+FIf_6bD1FJsVR%!tre}b<730*`X<3kMFA(=R@G*V zQf|`|x@*s1)nB+_SwW`+bd1Vx#GPMM;JUMNZ()qh)U3On6j)Z#wi{|y?Ndz`fuP?t zPLocyp}Xq|f_DzNv*DgA6dp(Y78Z;F3Ai1ln{*3Oq>Z&`66zdRt!#s6RJ`-M)i?J+ zM)u*jZtjR{V{QdU_DK3tDmZm-x6E0j$HR7)PjLQKsRMT#H{t`AFP6FbZ({Tx9WmYf z=D1sUM@!JTl?{r*WMkGPx2HQI%pS|!;s5#@H@obOE!gW?B2VM4s0HW7t8AEzOx2G^ zj`&;C%qG|Rb=MlZD`p>Yg9enRm+#=TK#P&w_A24`>u0aBRJon1gm4>RI>sXW^V9)q{Oz(>`~8vM@rz zzJJFw$TRossnfnn*DEo|2rFZ???(H6=%(j+8v!DpJ6@3X%JZw6S+=~t=T z+Q00S`M-?<1B$1ASoe=&@{!GUrlkJ3 zIdF!Ltm-35>@3%aW)++tTW&OmaW`j|2ArO_jv+n~4vYhg;|m2vWIo~#JgCIvh_7X@ zCU4cpab9{0f*KR$pXl!Jk;cdmc+ILCMabq5b4ol&?cd?Go7ETV4^JPKijVSIuq|64 zv%zkIX`^j0N+Nplb`_;)h$(i^%;C_p4$vu%)#E z4BQ8B24;}(zwdQfaPQDqp=T%6g=%E% zsOgA$L%~Dj+(9(;5RG41ewHtG(fj@8Q8jR#au=;0B>C=w#^qg4XTyrl z-?e84chLO#$k1VPY7v6;kp=LjCYl5MAX*MS*a>9p=URUmZ!VoY4%I@zBi0~JS1EHd zLJ#)kBU{W#$c{MSG*})?;KF1XI>QwU%IGNct0n%Y9*H0KyCQXTtUx0<3e5zeSk;As z&ZQ-Bkx{^K9uo^dnPFf(Ez{GM(5Ruum`u<=|?W|506Z@+46`KQ}P z!fXuCTLxTw3Y>j4;Bs|8F8ud{{9GCG_6`Tm5$zw7)PbfuVa?@@G6NQvJUhSC`$F zIeX~ZZBA8eH{%BY*Izal zc#=3(6-=`Dugqft9E)&_Vh>c%;PxqR_+-@ilm9u-u|Ty)K53o%ZQwa)-_=hss5AU$ zxvuB_GNeQ3+Xqy!?%I4He#Eo=_c%CNZK~P+G-YPTA5_d7&}@F(e^lt0mLpgvmdql7 z5Y0h(2m&B+|9Ahy((p8&^iG5oGGZJLAzec>0IqQw+?uA(9*drb)xr+yg8kF?t>0Uxi()#3I8sGn=}P?X2Hea=wv1dLE+nROyw)VCKBmzjkTqT#xi za~W3vYWMJoJ7i3D4C`M9J6sjS7F#VtAEo{`bknoQHSEJWkUfpy2|5PzC;oTv=cZ&Z zG6GM^A=U!6KFj=X(v6@ZkFcH*FsX-tw@iT^{QpiLb*V+a&Q8Nda)WtRQx8)7ufh_e zeO<@iWP~Z|Q3eQc)?m*6u;(aeLv8padWF@|!R`m*OF_IU1l?5Tj?3{Kf0F?V#RYp8 zuxyxFq*R}<^}CE6f|S&`<3{tc-u&Y45GW1r#zRrxo|pfoWdJu67LR6^v6oF=PW}X1 zF2dB{y>3U;{`~Xh$^CW7l^c>kEvN4tPXS#9q^-K+F;n!ULi@KeU_!;&#LB%^8q~`b z>$vtvZ*?QCGTM-0Ng!Lmnmt=mM=r&8;}k;XoY&gW6>x_Lb)LW-lXd?~)u6Y7 z4G$CkRPS{*HV)#Bo!UZADz$$pMqM7n!z+BTR(H(YC<+gQwYT;#AdwC(yr9mJ_^zr; zrv{aOfX@kT*wUK+EFge8#$u`?_dvdb=_~Ir+|7&XM6tc>Jj&rB0Op^N^tke$Ud}UQ ztV*MOQLJ7TYhGA@nkb+|qSYNgW;H(W0FWM3qx?!g4o_D;$#&=GhTh?^EE zBKCwH@KVmq056%Ag zuuPIk&?BCwCKNp^hvw7c%Dmp*-VM2iMwMr_GwdukdtkSH$_+ijY`4tKU`d5-dT-T`_q? zs|KHj+^A>Z)U$fLOpc@Hcmv@~^Vj#CR_OY5?@1>>!&lm3X#fe6+DixUs@T|Vxgo<- zHcEWlGcqI-GoE$i%^+m_gDQLJF~dn03`2Y!*%Mp~vf++#yZRQ^z(A+#*dITD61Gwm zh@pck=F*Dyv%KuCwXR-G9dY@+@m;9QERUiZ@pay=RFT-N({fR^e(%sxMx~Vp*BzPN z5x4;Lyy-wwa@PBz36)^0tSf?$vtx%#U3EjTgp*nS9Ap03qD=A-y*?Lb#3ZB>jb3Z1 zku@HL(~jGOgW@A|`@V1j`U?X0%R<#6X}roJfg~EKG=Y!CEBe}46DO^n_mrRDQCx$b zqDKP z)mK6P92b9l-y`3rg0P71iVQ8Awg;u3qZaq3>F8L=8Q4md2u0~L{tPP_f!WiwxrR4! zm(a}ro|}U!vWh9>&a}xLPGoGvg^PoRqUIGcF=FY|RdDU2f0m{eDd^ZQ8EOqwP-32; z0=Dt&8U8T#`NU4o($~Z4d4i7$^WGncv5{m`xA@$D=-{<611X<}Ebo0B8o$ECAGV(G zt7mb=Mi{5ZNrV8j%a~ANj3Nb~oqEaHb*^F4i>2-vEB0iT4ea`6L|!E4`~t_s6~sOu z6}`80CfG+a>_Qp$8Mzu|XWbE^9?MGwph$dJ16nR%b)Spw2*+6TS}LK@L_YdKkH+oz z16!g6gt}XD(MWXh?MY2b1GGH21?0xf9~Jd2A;5SzDUx*d`yBKo5*JK=H8uG%(vNKe z%MIipjBrdsuidH6Dw4=DdMY&g6BVUxBRy7pBfj)B4Ky(xB2!*pd6(a}) zW=JUl?;+AA7Ls&NdOl4M^?+lAVCdoD+x>MN79IpNv5d9^zs~E40s-P zi6E=_|L zqmx@#jn9l13_w8qVM*w^^OpxLG|Wq7U`0C|)g6xAg-I8V@92&~y0|7A69Uhn7?7`g zRK@a@nW((|o(~082d&=p_O$fH6wLlvYVY9lBwO}FswL!nGqup9#$4RZjPOkR za27tI9_9J0Ksl)*i`G9=4xl#j{nF3#-1l&q_869lGUOW$%?Dk&VHus|+B*pD{HiB^ zKGd1v9(~&b$GoA*(#aD;>qy#uWwge3fk}}Qdcz+6JuEa{S1FID z1*W`}HMtBis%Llx(_VC2_M`9XTg!qzgechlADC_U>4!uRGNSaYAgA)%Gq!?BTZooV z0V53il-w};5U~%#i_1d80p46+jH<*i;w(HhyesmVftUgbZrn7mUvX@ieRZy(>|k72 zAHWbBZqwJ}1?4C(k=H8R>6Aph&?6dB{m2MCqYIKttPdJT(yusT@~&^naSVPDV72Op z7)kac;TMT>7GRUrZ{sPz)h66UpLt|eI9`TM;Ee&M=#Y|Lo?RK3ZD!Sv&i2^Soa<#V zWHV;fn)~{lCR;JPzW^baUuBXoZ1}ct*S%D_{9=LUVd&E+r?N^P z%ICHd|J|g-_5|W&OnjFS+A8#jD2PbBr#vjAlz5_6Lc_nO4j+Dh3TPf5vlPjg;4$`K z#)P-BAr~imt{q%IF+B^2?{Yex?okzegtn*rw`0+d{6E!@M)8`XdIDjI0P!wBcxg-Y z?ZCGmQ_J1c^m`iIK7_9G0^jSw75myOjpei%@@6wSs@&VlYoPV@fc#2Hyy?RHzP{>Q z2B!D!Z~nOx`wq5m_6?4WjX7cVp)vVYnF$mJW*DFv;qN)3u4Oj-p=F1pd6^-+rsb~yoH`rM;*4NVorOxmjX1wJVtyOzKIIFo%}dm`n9E;{3;K=p zUEApFog<((y++;c@WB+6j}291AXL>ka2D(uA)H}S(GRv*8D_6L_gI|`^R1vK)_9gv zOHxuYT`~Js>Up=qv6Bm%KqqC58T~_>`eh_{@J5cCNA1N~vqaSFjtUeK@_lj?NYiKG zi}O$=tsS(0?H7isG7gTes{>7R4{C6Es5|Dd`BX>4(MpJ*$*sVseBrFcY8pMJ=6<(C z+A;rRr_r4SR&{NsUO7{)%DP-!(7ASfr0}=+F4e@h7c8gPFlw-^|88(v9k;4?ECF1O z7k3{^8mAqGx8s%h;>WRwc>#1o8mlt7Z+^Bam*MkCwgWiB)FXVbGkJzO*Kzm*t9Y1O zuiU4`>Sxm*_o)_GhhO3M?`$5H(QEDep5J*;-Laj`v!)fcOg`*oHGXB4AC`c>rvaveKT&w5X-^*FAVzF zvfNR=hv)MHCL>zKdOP<@C4TSl9b}psV0}`+puc6=f4X9Ek+)RmZI9v;RWN-7|SVUa%2M-o5Q4B_MrgKI;-X?^meS`ci7QJ^j=0uqRNI zSpIqQkVZ=(m5q0d5t7jL^@*-6;dR1hPSQ_BTdgFeaXgEm8Su7)1FT_#__(Z~dapkd zEkKt$n%qBxmt}iS!x@{9M?m{iZYZch{7i6Oet2lo2=;Kq z^WgF>d_va9RJhsck#h~X3>$*DOwvG>W{+jNJEB;e7I_h>3at*-tF>?I!N)ZlEbj&a zHa-9rjP8(^D^tZp_dJ%kD+BOm6y2+-M}?<@2NSthI3a}#w?>`u9U&w-yK%LJ zo>=1UZ5G+2s$9mjS5ZY@6ceAv)}N(5)4zy}ww9D(597$9F&zQJo!Qo{I?#IqX<~4E7e?FwF8V}0 zjFg_TLkh+?-ocsG=IbT|&oc70;k2F$u zHC8O%oV|wJ3%2RM#=i>V9S^vEMOnYVUnQ8Zt*u(bYQHM}$SI*3t^-xdOgKmfjy`P>6 zDK|)z%{*?L^*C!K)sIi8eB~s?@BgLog7@2B!^TmQkCkTqH-Fxq6X%%;e646*=al=S z9ryuu)RXwG9D4r+>*1T*Bt^-i%!W4ulT69W&Bx2#H?HbQh2wWCz1~!1fi(_(_`K}G zU%xv#EE9IG(nI+kSFB=B$te8f+j!cfaBdo}-ZOlrF87*56#)v2V;}xPHYy{Fr-%V&JrYq+w`i zHeir1UbVyoE`w8v+y3C?WXL?FK+~Wz*%6KoEB4yqpqheQRd& zQ6-J~m(!vjJOoEiTp9GSeD|IG>!%Zum!a9SJgKD%PGr|VLjXug#qwP`m(B9}Q?}Yq zv2WJVx$RrP2uQ}xs4KF~=rmdnU%6xryRmY<&`;NLh=sI zZfCa8DP5zF*Oz2KpqNhx;&z(^&yAt!1oKxWrpHG}wUH$a4Q4d?c3JXt-eY;GlJ~*& zbnX}%Q;npnxogfzOSj^|#$H}tLx9u+vrjpopsEQzaV$|h1iX&FeDP2DK+Q#8+5l{} zzuNvE$~Ap>Hq}yc&DG+o?Iv6FTo=sib%C7F;&f67@H>!rDejW!pkHX(B5zkUf$#V9 zKIm`B^Te{6Q3?R|1e;y^$V3fpYH$Rkbyc--^W_EuF=GA z`|bM6U3>YX9t4aqi?#goWpS{xu+wn0845h2)3)MHvH=gwxXX8Pz8q07$@;M*Gxw)jtIo>ZU6Z+s++^$Plv&M#*; zZvr-|`Z6O5A1~mo4fZDF{0Zxu)F<(E|8i z=Z5_mW5qO_41zA_HI&iQltboUcg!aho&$#Qpwdsv5f}YHSCe5wXJqOkfvA}KFDbp! z)}{57MR3Lm1sRb0e0aPmGv%07@ZIYuHCZeY<}T0bT+FBMHi`kbtwuxC9+%{lemeDA_+H5j(q<+|#@%tTJjYgkwCk(T)RE!K8 z=i3Xm#eV|g{Hlm=@;@*{344HUwuK(ve^i&e+kBif$8;4KNc#n9H{VdoNU!GP&Nk;@ zFZO7ew4FCb)Nd(rNwcl_rzmKCCy0mPK0n8_N;w(qq2izTsf&NEKK;-{qte#i=Zht= zG8=#_-#&9iZ7-WMc5wOGc{1Qzu=$Z{9e|2eKodB!hjT-=ulKtqW%+@7s`6ZrFfp~x z`}0S3duh4CtlauKM%?dPHCuSZ1oPwb^Jtnly7u0kLz@##%i;n(KW;F79!&_mPjBgH zv8gy1W7(Ad0L6r~(+~G7%&hb1VcFiCTCI1bxzVt<58r>iHoC8aRB|V!HaA*2t9^Nn z4*o8*IMY+W58idq-1dmUB%ofMvzKw&;5#{$7J3U~r?)>1h?X6lk29eJeip>Nk*aGKLI|gh7q*LYkP_dluQ3vF14WyD&*Etvmj{HO?o}LWK+4<1t2h#A) z_}4_A@WGD1LsL^lw2-%YDn-j%A^iT(dS)!cdOVNMYw~My?%lT#B8WR^EC_rr=i~G8 z;V;@P9>zGw;o zrSXC5$P%(-_?54rUeg1QZbhhpBJ_AATg8pg@aXkV%-qXaXC~hKpp$?1`Odf1FIyNe zd=Yz*s0zLw6L5iEV%jRa{RsbVftkFyD}`mo&;3G^{MfLLeSX>_n@R) zES-Jv=kF4ibdXua<%$djA+YVAPitUQV-UH0ctJ|6u zxaqg)-3d*u2dj=-H7>xka_Q|3!1|C(r`Z&*xAwsu6$U1|K-<`b?9zr^dfD=25>22< z+1r~GR~GGUxV{}YR`;~5om@ue4%1c(l*^G_oEs|}2gtuYG(21i(^j^xf~X0p9D0KO zS@jF#0(rw9NmfJjBjdZ9uNwu1mIYhmyStA%C=dF9kZ@$dXz(STO`6XubYYF!VYplI zvb>nd40yPR-7gyWUnDJ3F@(r>P+DYr-rXZ@`|h47-QAcK1sBz0 zANsqNu3xh&+ztP&X!UDH7_drdyb%xdlBj#@Koxxd9QuV(@-VYum{j4+`D{VH3_N?e z`Q=e0uv9Ouhh>`^aeuk9HL@AV?}-tW zZc3^31Ky(pY!fMlJdO1h&IUI%S1tS=}U&=y+yO;?BY zgI+RLfM<8@(u+42hrEgOw2w2`%2=-{GS+-LT+#q=X0?;p^+IsxAb8&q|0MWwk-#?X z$T;=>8hq#d=+;iLtoNvc+?g+w<<6}vmh~?xLxo)};5$jcbJ>Q>MJ^ z@zis;Kn)T-trMoHXqvg+))rO)(1!a~iJm3kpbce^L|~M-V?iotn=u`cKI~)T2-x}0 zgD^oala4#2;+QvZ;5aI_t^MeiCqQm}&1EBQU#}d|y*ZBe$z6v*5%MvUK0b4N59xa#yv-KkdJ|i>R6fe_9Gyb0WwM7E8WK|bUb;PW;Lxg z7x5>9@8cbFiP^thOsycufSt*9hgba>QDc5GjVs|X*9&ez<=pfwOM4;n4S zOmDt!<*2grTpLITA^-bRdrt-0aS1K*%lHBEIR`O*jjwNh1d_icS9*aK)nZ(1=fi>> zwZ3>uP%bRL#kv3PFHt^_-v0db(gs;pwz3vHM9irL!ItIg7pE{52vL)qU-e&a3U_l_ z9EBbztp=upx?$|bDf$86Y`x+98$cK5-vb%|P?ftZ?o#kv#}^>-fM*5hiJHLLieK%d z44%G*<2;P4%c0T9@?UIT*K8j-&*)U0nascCt zJg@i826}#L{}-UIFS2?Y*-d}aL{#}3rVb%$fhb6A`jNpaPMFR2i$O0{zjWRf9O;gW z90e_e{dbZnbwb_NK(|`<&9*RA{o=p&V-TYBxBAy-dRy2rI{Q~;>`-&W1t>lmtOdaF z_v_Pz7jwHnr-&0u|8&PXb{&Uh-uoD)NGafZK_`ZB@x?-jlJ5WB0?h3i$X)qoT<^Xm zeGWoIQ?wlGDT`trBd8NkdbAj#o>S3mqSW+Jb84=8q_2zwlT!i}l&Hl!`oN#3=>xwU zexpmHG~V3GV1IdN?sl6`R`?^3C!>=nT3^3#?zqgoGazV>eavvyc(#$*x{6e=t#`~b4FMkC* zt)iYwvFrQp72;V+BV`?q;NGlt>rTSh?|b~GHkV5qbS&)!+H5#`o8N&~O=()x{HmAW zBrkz@>cIS`=XUhvFah_*LOM0 zh1ZAI#KGk}=#|#wa$SN0I+<1SqfF)QBskG$2_J4B-;NwkNBs8|4k*98799q6;yJ=KY=}o6guM>b1x!nKTp4q+e(XVz_g8Wc!R%HO z->tWXyYz`HM|8|>EtYUA)%vyj{2Ow$YV#@7uRgKJCmH%-`AMxUf4?3U87_hSOdfG zJKe@DtGjz9=JFK;q!iM@?X!An`~5d&^3osKv$oZrPg$t*U)-??8JGPTf64P-^TVfK z*(sDG_X8&vz45NU7~x}a6h7*DaR`JXL!OelVwICh7HreO>#nw;TW8v8e{y6ya9wEf zN&CY~ccdK)mnBBH>+?krfp~)5M~{>L{ISH(OlFV@AmzF>u>D0fZ6PM;skdb8csur- z)n;jX$oQGI`q?93nSfcJIrMkRu+--4{I91jK~))3R=*Qqg0p}SNF}~#=aH%#g5lYO zk%xi)xOnWcWTf#3$l^z)LIzG*ykalqFWP={!kxchB#vXk^zdClH~y1{>_X=>Y(Yvl zWxG=ZFVdit-X-c=At3q-IO;T8gTj@zN4_-j__^UOjs8)l`{jG*9iA zT&;?|pF0@XXkWf=*6z*E41LSvEUXGu%hPa*1ONENfU&quHNM1c`o=xGu$gnRFN9qj z0`LDh5z!Qw$nW{wV<0B)u0=PZ?dbHzeVE9s+|CnTq;S3P0eDo4(gvzE^~#{dwJ4G1 z?80B2vWWTFVf;p+>)@i|!lhjPiQC{)b-4+;2g#~sLV*o>WxTB8nEDFj8weACuMcEX zGSxhTR?;!&9j)=IPd~KGweuM580O~9$I=Q4{R&pW3(FysYh^w4Zj%zQLVXn_Vq+PB zLLKsojhcL3T221TJ~v-|bXo4*kt16v@&gL0DM7rgm3&@zExQq9wmwu-;{>_fg4GXF8EM>Wt z;h3sd6Km;hdPgAiyB+PAwY)=dVvr#ISzzMFcbH%P+y7EVJZF4QLXfewTzl!=sZGn_ z!8enx=sS=Du{cW=yZL>BM$f)7eJHr7YP{LQcgXy%*NvXsmnl`rNQI8St7l;Xk~0L! zj^m3yo(*v}y)Tx2pE0W0sc@z5uFo+4>Kv1x#O#~;pT7KG!%eAHNdgyMC}=*Pkcv!R z3Y&MM9fP90y>V;@4#gs&u6zse*13m*)T93HWt}xG>x;wELkeA6umUb;)FgAUF&|mG z-&`BmfAUIAG9xtquE^+fTi*Fshux8k%GbD0$99B%GuxhBH!tgabAmv;an@MX9}3HK zJAL*D+vMiE<;vmZ+@>Lb8wV{mf`2cVG!G^Lsq0>8U7r3l*(S8%AY^Qet9-~2YSH~b zWO4XrR3MZ8lqdV0X*XN_!pKfyD-J_hKsRkhJZG4uLD%X-AU)d`VB*;f&6 z6(vD2EJFtylN~*`;{rFA+UzM$d1Acg%pv6)%q4xPCLa7u(2B}yov$BVdWu5ZKWJGm( zh0Teu^Ui84KV5UZo_k^nP3W9988Iv6SWPs&YrUTqq*{e zoug!WbZIQk^;4H(&(z2I#(FCKmL0776;@!h$csQ6`Gvb+pwVN163Hak`}PZi^Q?UT z?AY1;5;52?Zw6&X6KORB#AQ;>eaf3hY|->NP|v&iyZ=Ykn+HPuegETQ2}z7nA#0X~ z60#53!;m#(4GGy3lPz0_%D!gblP!BfmJktR4Mm6;k}X8m?-{Sx>-Ty8{&@Y-%b9!6 zJqd+vGO%Xzo+o{mih5gQR<>Q}t_l(BzO6F*nVK@bVtxW~ycw`l(G=wSpyw)fV&9X`c++Y1J@H*_ikZf& z?h3t?!u93ei+{q@5GoX)iZ(g0ndRSNn`z#!b=|Whx6O%c83edj?WslIT5Hvv__l+) zcI)T2S!aS4;?5D2a0OVvn|YgTUHcO|rEsk6&Vse$b)TsbsxF_%eZ}6UKX0*A2-&}S z0DfT6Z zx3W-ob+(w-^z^n!;Hu2J(?H#(eKGj-0jk3Q{>%`O~ z2nym}@VivUQo6Z}rGcH3i@)UKF@3=TPHIXc&Ib8=m8RDYe6mt>U?l`x53P4p`<{#~ z+UT0zX4Yrjrn2Zx2y3kH2pBFl*4uDJ1tXA>ml=-vbB?~DYus)(b0CSA>#O%|cTDV` zXyhjR`4Yj;bsP*SXACF;Z?`biaOL=Ts%udav5E2$R8RWFgmUuspE@kvWcl4HVIQBP zzn$eB9ENtU_o{iH8lu9 z-*i)Uk)rXE0eR@#LgDRHa6qr5uuzA+u5FSM@qG$AFqH5TkyP$ka_b%kgy^NI(dXj za#}KXL9J6RmMW+_s=c34?9qeH8N#Y`hAZyUAx>F0^>-L6qfT2>s9{%wVjnStfJmdu zBOr%ViRy9-=RPUZf>turB3Bc$GASzL-IFkj28!=^CQy15>Z1Bi74P60T5CV!RZw1G z;j8{6_$$v}*`!@4xu z=}rnZtm00h_Ti(ADNXyW=$ntuN5V8&9|)%99xkGQZI9#svy?T zP~iK**-{4<6E~~{a%eBSL^fYc(s)!tLs=;^Z;bf=R5E?kB2rjVxaD|56#$N!;3%){ zE}eIKA24FO-Rv@~jnvK|j~tmDloZaa>#q^y0oHjPcu5d0x@Mn?8OVEvSD%o^%cZkl ze%{YFvsrs{?p4;qvVZ2~Of_yLSo95r9;B(qssrFqCt5X=@-ib|%6D~3?1uue^&9Ya z8p1Lzs$)5@{qMzI6@WVE+HR<|qD)=7dhBfJXUATEG6gyaROb|ax(^4F_v*uti>T0o zmpc}9(?cmD*|z5<+jHrN{dou~r+y+9HW(Jzn731Cy@;|F4-ue0Ssl3ff9-*~d7i7hee z<3GYO zQoc8pK6>B=|8_jO9-@)De8eWI{zH212g0b555e$6d{%n9By5oKyRxVW5NpC5e7CSh^(0(ZY}AF^Pw&_hRRRLd}D%fYd3L& zgb_6kF1x-2^_5bFx7wZc{Bq;9@j(5sEdp`)BXw}2L8d6MJ>8C(>#D(3Mh#%mG(-HS zszgRI6KLqs`fbtJ#fiOyt_sLtkN4)eeU-jt*Y)CbagHKYus|_&nnwjrX71AOcX9kP z+LW;Oahl0xgG@=Db2bmV6UT4=`=kCM%D)t_L0>4cK^4S%M3^ZYArHQ+6J0oPk$St1 zn_6-Rt;*>l;Iq9{`6;??JIJ~4g6Zrh!Xi`#;9V2)iHi*AV$}DG$TjMK#|<5R=~7`?&A+W#hb_vEItj zp!13DoDk|>6qY#j9V5S;-yg_rr2LdsF_}FzPhL zV&k^WZzicQP6+GYO7*Ht{u%Q3Xk;(Pa!Aenn?*i{4_zmp%zRlFJ*@4obYZIe^%8X4^)}p;h1wQQpP7m6pC}&sMiDghjnFc5C(iA7QSgE1sL;7)?!iqBdlM` zy7hd!ZM$5hp4n#yX0Dg7g0x4pBn>hots<0a!nTfxH@eko#kdGAjm#leA0kMBZ~%ZR z|L}feO(3&QJ5h6`Z!`;lnIPG*Tc~+H+nem&)(`Bt_{7vn5rQIbJSzw?2JACXCc2RI zrto&6dXx5y@-qHN#@qh!%tH8*=mQA_l%N^~qVc@U-9lWFS2gdT$guV)e})$E0&wBH zq%X-;gK~{w1Z3tD=linP!8gh183ES!pCj|?=)n&H(DX8A7I>?f{lfozn^iGu&!Ho3 z-ktceM^4ygQgKH*d|tTuHU9Si2vJ2XpVzIw{Fd#{ZOeZ&6B9e}Z4b{kdCE-aBQc`9 z^6%QeS-?nhXOO%I3sq?{1f^!Hzc?KzBdN#8>|L2be z{zO;M{xqF|Frz)rbEi%FurTLh#`4jMk8f@D_>KN9S>+03Lm({O+K*TcsX89WK&@z8DT&B-|b{j*h=Tm8O+ z$p790+yZbsB4?>t9YOq5-Rji*d}sdRY32Q*R2s(!9SSzNVUft<{VAcKBUF%&RY4#H z)72KLd|nS7SZY*7JXRmodcQIGTSpnXbRMlKXkxDvvNo2dam zH8KWXcXAlRZXik+z_V_Cv?xwPFHY)g9#VE(BHz#9@8nqHY}ead&gCyTZGXW($x<-dG~DS%Yhhi-}3gFlJ9 zvq;6#{X*1--BHUiZeMiG@77jWnu_TFU4_QVXZ5)fJj7Ym=*+zf2#SLL1p&GZG9Tm^ z{r`bL{E=)fivpe?iIrw=3_q1G1?oske<92-?TpI%xHWhQSG_ZvrfB$;3wuM z{uddJ`6#g~_A=U$6Bg1xpRmRid7Xz8sfVj=a{h-r7Lf7hW0KOFP)dV+kk$VHgDT5& zu%Ks@V@Z2CfOxs(J+at{Dtld1!Dck&&Qq?O`S7oWUZ$e^O5v=vW=9fL40rXi7>g{w zOD8)W?l5j@!+Jmd2o1C-ci6lN3bU0GQ$5livgqu5$p%A+*6Djb<{Jtb;Zsp4TjA2Y zM63kJUa%{gL3h=>nZ{1S6VV8sBaytipMLOWsY818PkhghiRg{nY)=u*T0YoHY0oJU zDIp5ZAxOxMY#}S6b&-hEfADui(% zM*Bk6mzo)Ffp$ed)s9x%ojQ1FY}Z56*;q4P@C4$8s&_nk*S|=(s&PZ86Uh=x9E{u- zs_?w!^RvxfFS_vZ5pT%d#Xr)cgT}+LR&cY4wG@6~gJ87DNQ~O<2+leo;1E_(brKteK7NKhooa#-AUK zaUc}GSk$Ly?JKc5Gm}`gT*+B&eScbGpnNxN=7`v0I&VB@Y#)B`qUXo$*o}vVr-@|! zAut~%-N}n}cFL$7my$sgBII~;5``ZEO zzrCKCe?n#tD>9Ve%M=XT1SI9yH!Y=XIOUUo1Ysxc;mKEwcbSh_wF4)E&0o1q-F}S# zxE|qk*^kup<%Jbg5aP~~g15=5wB$b(5kzc{+rvkd^O?4JCJCTkHl6C7o!Eti3`@!xo zG(hvsn<8)>XF_H|+Eq|r$o+Xs9%P`8@oK!Bg~$wpxPo@=x}}@;x-#N18Z}wZ+Mh9<%0ymXSm-KG}e7VlNGO0u@m=ci5cWG|F)g% z$fF}hox|5EKil7rnDDxtP}N-{jL_n?OxfxuRP;Lh+0)q-wFnv7Lsp3oTQ0y}m-&ZG z3z6$$lzcmHVtam2#yop1aSUO9rhwPy?r%KEOeLx^awogAKEg?fhji*vK3)`C$Fe!c z7a~u=He}>3W2RosQEb@^J1`0jwN{lhDMx+7cE~MPKSeyGkN3Jo0byJA9>KH8!>{$A z$>jafp_$bh(h8C^Nd^h!z{1{C>X=0$LAAwkYKw858HpXv>QSS*WC37St`P?@I=AaC z&)ftNba{F?C}*_77CRa{`c_D!%C{Jb2**XiyO?VxYpu>_=ul+R6;PJWQ|IXLQ(B0| z8W)DwheMr>3Nj_-<%e%z=Sfi?*3z}Mn^F2*eRj8l2dvxI#cOj6FSETIAzf1A%uf?f z4|np;qz)?oY0P%`RE5-|lOI)qE`7I(?g9?Wt65`N>Jvvg^VGapSt)G@>(>=Z8l z-bUtchaU*Ue)*@e2DhQxtbB_i5MXxNYCRkN3RANCs}#JZ&&+90T=8U9Jm=ljY-IiO zI&22{kI1|}snza!Z+bQ`tsKW(+DRirJbLi)3hPbv>z;n!<#qchEFfgv?)c@Z|D{xc zhqUiRQSy@!sqqxeU!TV?qOoIa=^Uiy#cwL)$X(~yyqaHLr3f7Ev>^npBYLf{^^MV& z)HMn|o|i1Xpb$4hA|-DUHcs@2z8q*mVV2~2VYLJ}a?J(Tv$BNOfeVM_0V`iFyH$YD z7)}RKJmt8U_VP*H`v4OFdGq>ImieXpKeK#y8*`T%^NIWim?f4^7pmwPcF2YTnp1WL|wNkE;!H5+DN2}XW*`4|-Y z*+fRFY!Tek;k$E#M3ir3Vk<=n7CDj!HVhh4=1Q3(umO$Y#Bby`K9UA( ze0B2m`8*#bpHVc~1%Iv_iWHJ9aXE$a9i(3BkO$+($Nwc`ZrJtwy}d-%Ajhgm*s@`6 z@>A~B#mTdMc~`aTlOf&2pOFfn7_;G(af(P*=H&Ue&$+|J2he1Qjj_0I5&a+MTmsAz zbtpLF2D4MHq;AzTKEn7-@Xl?{*dsD~BUt>>Q&X{2ilk~vv`QKp7d2CCA2_PAM@iup zzBl@+`%Q2gh*D<$QW9Ct0w61o2vEsFUP$GRyk;UvlXmZj^fIpYky+CdaIm6V!jR zdMwnZ=d~se>8WPh%_p0|Av-%(KEC!JtsgArHkPU%^PfQ99f>qlhHw6T?qyWoC-lq~ON%3$TaE#cOLS$ITfch9`XCCHgiPsT`}ODRU!=%q8lfIp9@0DAwSV{j zUIo+Ef+BtF4<^ay*{mK{ML(UcFch~6m4;_Ec3lE+!7oA8&{I4%BovgJeCnP zP=d2^1%1bB=oxfm(h;xSobP>dRY&Foc&)ecfYAP5BPf>V(kd6euILAqKI6&>eY}&b zq|V?ThNZ%Q6f{x?*O`UZpYNdJ1)sm8O2H&?SQ#KP@T&6!CMT~4sIV;rog$A)cbQwGehOJO&6?bY5clf>x9 zt!^S#rLD=ec@x4es78!0<_y!mk>?@3;259yXL)hu+}7@JFKm4{H@)pnAw-K*N9>Ny z^JIt0KcO!C@c$-V3_as;evw5--2X%Bn#asBn%B!KBZ*#PlQ*YFNc_2}By|C27wJRA zttn`^U>~z2^oL@Ro)sjU-663xrqkFsWSowNFUA~TWKflV^HS4TNHN?no`(!Q%fGY? z-}$Qjop#{fipj;RGLXnteAXAeXYz>-yc+rTX->YKELJ@7D=mR^ZjRp!>nu~e{t9Y<%;SfVI% z^031)Y*01`^sPkie%+AZ-rEm{Y_{<t+$M~B46i39^41{vbrdCD-yf9DHR*ZH{ ze;Fp(j&7$0rL4MW{5_9LG5+0_YE~oKOG`X2^zdA8MqPb<2?t{Tfvk%A`ERhJph!9u znKIg4I+hFq+vv>vYQgyVZ3vdCP1fBaaM|Ox(HS}i_PxzPv4Z+C_CEUy=?_`Z+JWQ| zWfA?Cz?h_@G~IWuMz99n6{^K^U0dleK*U(oBoqwOB1!DUiib5>4=Pv;>Gzt{qz@tw zKNJ2r>}0^aT}>^ngL03T1k14wG$QW&xfy_{40`>QF9fNij8M@simtPW?&s< z?)vWvS8xrwrB^(0=x4W0f2TG|ZoxG%(|S;oEBmIr#Ls`{Bw+HWi%w^Uy2BjaanBo5 zoI+Hlki&TK724E>nS^%pXAFMh8@Wu0yMCiJ^Q_NG@gwy~pVh%E)T_{!$z4Q@l5U!C z{tGdlO1z|?Q2nnc1AdGTfKcCdCJCwsLvIuIOE}oFTiz)OQK=cwI-YL7Q5n(4527=` zEo6Pc<4hMuJbWh`rIabmLp*$u`)eOt>Nf{N#uOT!eri{D`nn1KF3Dkg%pDeC%^nA4 z6qTw;;C8FzlWP#-S)s;=t?mpdtoOwv-*z-;42?b4;x}yWo@MMV<(cN&G$jK+ztc|r z?WRaPNwMX|c~JV3#D|ScVrvH;zSIdlKhk42Vlpg=LlaHOR?gRkpEkEyX9(23eCxd0 zuj*92(A$ttd{e&ejk%VGLrR}Fn;6Af6QrN%OtRfe~ zrBYpG*1T^_I)4VQEXzH&&vH(71L~MVCSnjmspiO`0K&R%dpcQmDj7&hhlQEC7WXQBaoeV5pryBKwR~6Ja$;H z>#+{SMr7gxE5j?i@#RQhBA@fx&DU#0ik~P%8JzI=*(S3+*dGel8f<%uOe+vL0XRicIpUpLvV;cxUe?;FQX|Ru$D=1lpDZ&-|NrI z6ZmU-I5kq26IazJI8*UDc7;|7Nt~9LyDR0nXJdv21XR-rC%P1>?0rJ`+C!c#k;iZM z#eIoY-Uf*9{oc0CFuFOB z^MoBGf&=p}({no(!?eV((SGxNLl(4;C;Kx9syv)q8ORlfph8rbFTILudAzsavJ2Qw`XmJ4T9` zhLbK>Kw=b`_h|IRMbG3@Mg&z(NnIOu>3?_b@mu|<8b+8c$gUWJYp1}pGX&0d7zTI7 z{E$a!Q${=Bj#ZlIQocbR=;*LFFA`BaePU!yF%uy~7T5|@(Hlop2En?)mv)!4Q;t1+ zZY5NEi>v44PcKBv`%Xaxde_TVR4i()u~|@uAmm4`aq^tu>l^s
14S|cZR{_I#Z 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 + + +image/svg+xml \ No newline at end of file diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..9405f3f --- /dev/null +++ b/build.gradle @@ -0,0 +1,19 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. + +buildscript { + repositories { + jcenter() + } + dependencies { + classpath 'com.android.tools.build:gradle:1.2.3' + + // NOTE: Do not place your application dependencies here; they belong + // in the individual module build.gradle files + } +} + +allprojects { + repositories { + jcenter() + } +} diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..1d3591c --- /dev/null +++ b/gradle.properties @@ -0,0 +1,18 @@ +# Project-wide Gradle settings. + +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. + +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html + +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +# Default value: -Xmx10248m -XX:MaxPermSize=256m +# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 + +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..8c0fb64a8698b08ecc4158d828ca593c4928e9dd GIT binary patch literal 49896 zcmagFb986H(k`5d^NVfUwr$(C?M#x1ZQHiZiEVpg+jrjgoQrerx!>1o_ul)D>ebz~ zs=Mmxr&>W81QY-S1PKWQ%N-;H^tS;2*XwVA`dej1RRn1z<;3VgfE4~kaG`A%QSPsR z#ovnZe+tS9%1MfeDyz`RirvdjPRK~p(#^q2(^5@O&NM19EHdvN-A&StN>0g6QA^VN z0Gx%Gq#PD$QMRFzmK+utjS^Y1F0e8&u&^=w5K<;4Rz|i3A=o|IKLY+g`iK6vfr9?+ z-`>gmU&i?FGSL5&F?TXFu`&Js6h;15QFkXp2M1H9|Eq~bpov-GU(uz%mH0n55wUl- zv#~ccAz`F5wlQ>e_KlJS3@{)B?^v*EQM=IxLa&76^y51a((wq|2-`qON>+4dLc{Oo z51}}o^Zen(oAjxDK7b++9_Yg`67p$bPo3~BCpGM7uAWmvIhWc5Gi+gQZ|Pwa-Gll@<1xmcPy z|NZmu6m)g5Ftu~BG&Xdxclw7Cij{xbBMBn-LMII#Slp`AElb&2^Hw+w>(3crLH!;I zN+Vk$D+wP1#^!MDCiad@vM>H#6+`Ct#~6VHL4lzmy;lSdk>`z6)=>Wh15Q2)dQtGqvn0vJU@+(B5{MUc*qs4!T+V=q=wy)<6$~ z!G>e_4dN@lGeF_$q9`Ju6Ncb*x?O7=l{anm7Eahuj_6lA{*#Gv*TaJclevPVbbVYu z(NY?5q+xxbO6%g1xF0r@Ix8fJ~u)VRUp`S%&rN$&e!Od`~s+64J z5*)*WSi*i{k%JjMSIN#X;jC{HG$-^iX+5f5BGOIHWAl*%15Z#!xntpk($-EGKCzKa zT7{siZ9;4TICsWQ$pu&wKZQTCvpI$Xvzwxoi+XkkpeE&&kFb!B?h2hi%^YlXt|-@5 zHJ~%AN!g_^tmn1?HSm^|gCE#!GRtK2(L{9pL#hp0xh zME}|DB>(5)`iE7CM)&_+S}-Bslc#@B5W4_+k4Cp$l>iVyg$KP>CN?SVGZ(&02>iZK zB<^HP$g$Lq*L$BWd?2(F?-MUbNWTJVQdW7$#8a|k_30#vHAD1Z{c#p;bETk0VnU5A zBgLe2HFJ3032$G<`m*OB!KM$*sdM20jm)It5OSru@tXpK5LT>#8)N!*skNu1$TpIw zufjjdp#lyH5bZ%|Iuo|iu9vG1HrIVWLH>278xo>aVBkPN3V$~!=KnlXQ4eDqS7%E% zQ!z^$Q$b^6Q)g#cLpwur(|<0gWHo6A6jc;n`t(V9T;LzTAU{IAu*uEQ%Ort1k+Kn+f_N`9|bxYC+~Z1 zCC1UCWv*Orx$_@ydv9mIe(liLfOr7mhbV@tKw{6)q^1DH1nmvZ0cj215R<~&I<4S| zgnr;9Cdjqpz#o8i0CQjtl`}{c*P)aSdH|abxGdrR)-3z+02-eX(k*B)Uqv6~^nh** z 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 \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >&- +APP_HOME="`pwd -P`" +cd "$SAVED" >&- + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules +function splitJvmOpts() { + JVM_OPTS=("$@") +} +eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS +JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" + +exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..aec9973 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,90 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windowz variants + +if not "%OS%" == "Windows_NT" goto win9xME_args +if "%@eval[2+2]" == "4" goto 4NT_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* +goto execute + +:4NT_args +@rem Get arguments from the 4NT Shell from JP Software +set CMD_LINE_ARGS=%$ + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/mobile/.gitignore b/mobile/.gitignore new file mode 100644 index 0000000..796b96d --- /dev/null +++ b/mobile/.gitignore @@ -0,0 +1 @@ +/build diff --git a/mobile/build.gradle b/mobile/build.gradle new file mode 100644 index 0000000..cd4cdb0 --- /dev/null +++ b/mobile/build.gradle @@ -0,0 +1,26 @@ +apply plugin: 'com.android.application' + +android { + compileSdkVersion 22 + buildToolsVersion "22.0.1" + + defaultConfig { + applicationId "org.isoron.simpletimer" + minSdkVersion 22 + targetSdkVersion 22 + versionCode 1 + versionName "1.0" + } + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } +} + +dependencies { + compile fileTree(dir: 'libs', include: ['*.jar']) + wearApp project(':wear') + compile 'com.google.android.gms:play-services:+' +} diff --git a/mobile/mobile.iml b/mobile/mobile.iml new file mode 100644 index 0000000..df29754 --- /dev/null +++ b/mobile/mobile.iml @@ -0,0 +1,136 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/mobile/proguard-rules.pro b/mobile/proguard-rules.pro new file mode 100644 index 0000000..bf7ada2 --- /dev/null +++ b/mobile/proguard-rules.pro @@ -0,0 +1,17 @@ +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in /opt/android-sdk-update-manager/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the proguardFiles +# directive in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/mobile/src/androidTest/java/org/isoron/simpletimer/ApplicationTest.java b/mobile/src/androidTest/java/org/isoron/simpletimer/ApplicationTest.java new file mode 100644 index 0000000..03fd870 --- /dev/null +++ b/mobile/src/androidTest/java/org/isoron/simpletimer/ApplicationTest.java @@ -0,0 +1,15 @@ +package org.isoron.simpletimer; + +import android.app.Application; +import android.test.ApplicationTestCase; + +/** + * Testing Fundamentals + */ +public class ApplicationTest extends ApplicationTestCase +{ + public ApplicationTest() + { + super(Application.class); + } +} \ No newline at end of file diff --git a/mobile/src/main/AndroidManifest.xml b/mobile/src/main/AndroidManifest.xml new file mode 100644 index 0000000..8d144c0 --- /dev/null +++ b/mobile/src/main/AndroidManifest.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + diff --git a/mobile/src/main/java/org/isoron/simpletimer/MainActivity.java b/mobile/src/main/java/org/isoron/simpletimer/MainActivity.java new file mode 100644 index 0000000..47d4e0e --- /dev/null +++ b/mobile/src/main/java/org/isoron/simpletimer/MainActivity.java @@ -0,0 +1,43 @@ +package org.isoron.simpletimer; + +import android.app.Activity; +import android.os.Bundle; +import android.view.Menu; +import android.view.MenuItem; + + +public class MainActivity extends Activity +{ + + @Override + protected void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) + { + // Inflate the menu; this adds items to the action bar if it is present. + getMenuInflater().inflate(R.menu.menu_main, menu); + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) + { + // Handle action bar item clicks here. The action bar will + // automatically handle clicks on the Home/Up button, so long + // as you specify a parent activity in AndroidManifest.xml. + int id = item.getItemId(); + + //noinspection SimplifiableIfStatement + if (id == R.id.action_settings) + { + return true; + } + + return super.onOptionsItemSelected(item); + } +} diff --git a/mobile/src/main/res/layout/activity_main.xml b/mobile/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000..53ce557 --- /dev/null +++ b/mobile/src/main/res/layout/activity_main.xml @@ -0,0 +1,16 @@ + + + + + diff --git a/mobile/src/main/res/menu/menu_main.xml b/mobile/src/main/res/menu/menu_main.xml new file mode 100644 index 0000000..38ae07f --- /dev/null +++ b/mobile/src/main/res/menu/menu_main.xml @@ -0,0 +1,8 @@ + + + diff --git a/mobile/src/main/res/mipmap-hdpi/ic_launcher.png b/mobile/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..cde69bcccec65160d92116f20ffce4fce0b5245c GIT binary patch literal 3418 zcmZ{nX*|@A^T0p5j$I+^%FVhdvMbgt%d+mG98ubwNv_tpITppba^GiieBBZGI>I89 zGgm8TA>_)DlEu&W;s3#ZUNiH4&CF{a%siTjzG;eOzQB6{003qKeT?}z_5U*{{kgZ; zdV@U&tqa-&4FGisjMN8o=P}$t-`oTM2oeB5d9mHPgTYJx4jup)+5a;Tke$m708DocFzDL>U$$}s6FGiy_I1?O zHXq`q884|^O4Q*%V#vwxqCz-#8i`Gu)2LeB0{%%VKunOF%9~JcFB9MM>N00M`E~;o zBU%)O5u-D6NF~OQV7TV#JAN;=Lylgxy0kncoQpGq<<_gxw`FC=C-cV#$L|(47Hatl ztq3Jngq00x#}HGW@_tj{&A?lwOwrVX4@d66vLVyj1H@i}VD2YXd)n03?U5?cKtFz4 zW#@+MLeDVP>fY0F2IzT;r5*MAJ2}P8Z{g3utX0<+ZdAC)Tvm-4uN!I7|BTw&G%RQn zR+A5VFx(}r<1q9^N40XzP=Jp?i=jlS7}T~tB4CsWx!XbiHSm zLu}yar%t>-3jlutK=wdZhES->*1X({YI;DN?6R=C*{1U6%wG`0>^?u}h0hhqns|SeTmV=s;Gxx5F9DtK>{>{f-`SpJ`dO26Ujk?^%ucsuCPe zIUk1(@I3D^7{@jmXO2@<84|}`tDjB}?S#k$ik;jC))BH8>8mQWmZ zF#V|$gW|Xc_wmmkoI-b5;4AWxkA>>0t4&&-eC-J_iP(tLT~c6*(ZnSFlhw%}0IbiJ ztgnrZwP{RBd(6Ds`dM~k;rNFgkbU&Yo$KR#q&%Kno^YXF5ONJwGwZ*wEr4wYkGiXs z$&?qX!H5sV*m%5t@3_>ijaS5hp#^Pu>N_9Q?2grdNp({IZnt|P9Xyh);q|BuoqeUJ zfk(AGX4odIVADHEmozF|I{9j>Vj^jCU}K)r>^%9#E#Y6B0i#f^iYsNA!b|kVS$*zE zx7+P?0{oudeZ2(ke=YEjn#+_cdu_``g9R95qet28SG>}@Me!D6&}un*e#CyvlURrg8d;i$&-0B?4{eYEgzwotp*DOQ_<=Ai21Kzb0u zegCN%3bdwxj!ZTLvBvexHmpTw{Z3GRGtvkwEoKB1?!#+6h1i2JR%4>vOkPN_6`J}N zk}zeyY3dPV+IAyn;zRtFH5e$Mx}V(|k+Ey#=nMg-4F#%h(*nDZDK=k1snlh~Pd3dA zV!$BoX_JfEGw^R6Q2kpdKD_e0m*NX?M5;)C zb3x+v?J1d#jRGr=*?(7Habkk1F_#72_iT7{IQFl<;hkqK83fA8Q8@(oS?WYuQd4z^ z)7eB?N01v=oS47`bBcBnKvI&)yS8`W8qHi(h2na?c6%t4mU(}H(n4MO zHIpFdsWql()UNTE8b=|ZzY*>$Z@O5m9QCnhOiM%)+P0S06prr6!VET%*HTeL4iu~!y$pN!mOo5t@1 z?$$q-!uP(+O-%7<+Zn5i=)2OftC+wOV;zAU8b`M5f))CrM6xu94e2s78i&zck@}%= zZq2l!$N8~@63!^|`{<=A&*fg;XN*7CndL&;zE(y+GZVs-IkK~}+5F`?ergDp=9x1w z0hkii!N(o!iiQr`k`^P2LvljczPcM`%7~2n#|K7nJq_e0Ew;UsXV_~3)<;L?K9$&D zUzgUOr{C6VLl{Aon}zp`+fH3>$*~swkjCw|e>_31G<=U0@B*~hIE)|WSb_MaE41Prxp-2eEg!gcon$fN6Ctl7A_lV8^@B9B+G~0=IYgc%VsprfC`e zoBn&O3O)3MraW#z{h3bWm;*HPbp*h+I*DoB%Y~(Fqp9+x;c>K2+niydO5&@E?SoiX_zf+cI09%%m$y=YMA~rg!xP*>k zmYxKS-|3r*n0J4y`Nt1eO@oyT0Xvj*E3ssVNZAqQnj-Uq{N_&3e45Gg5pna+r~Z6^ z>4PJ7r(gO~D0TctJQyMVyMIwmzw3rbM!};>C@8JA<&6j3+Y9zHUw?tT_-uNh^u@np zM?4qmcc4MZjY1mWLK!>1>7uZ*%Pe%=DV|skj)@OLYvwGXuYBoZvbB{@l}cHK!~UHm z4jV&m&uQAOLsZUYxORkW4|>9t3L@*ieU&b0$sAMH&tKidc%;nb4Z=)D7H<-`#%$^# zi`>amtzJ^^#zB2e%o*wF!gZBqML9>Hq9jqsl-|a}yD&JKsX{Op$7)_=CiZvqj;xN& zqb@L;#4xW$+icPN?@MB|{I!>6U(h!Wxa}14Z0S&y|A5$zbH(DXuE?~WrqNv^;x}vI z0PWfSUuL7Yy``H~*?|%z zT~ZWYq}{X;q*u-}CT;zc_NM|2MKT8)cMy|d>?i^^k)O*}hbEcCrU5Bk{Tjf1>$Q=@ zJ9=R}%vW$~GFV_PuXqE4!6AIuC?Tn~Z=m#Kbj3bUfpb82bxsJ=?2wL>EGp=wsj zAPVwM=CffcycEF; z@kPngVDwPM>T-Bj4##H9VONhbq%=SG;$AjQlV^HOH7!_vZk=}TMt*8qFI}bI=K9g$fgD9$! zO%cK1_+Wbk0Ph}E$BR2}4wO<_b0{qtIA1ll>s*2^!7d2e`Y>$!z54Z4FmZ*vyO}EP z@p&MG_C_?XiKBaP#_XrmRYszF;Hyz#2xqG%yr991pez^qN!~gT_Jc=PPCq^8V(Y9K zz33S+Mzi#$R}ncqe!oJ3>{gacj44kx(SOuC%^9~vT}%7itrC3b;ZPfX;R`D2AlGgN zw$o4-F77!eWU0$?^MhG9zxO@&zDcF;@w2beXEa3SL^htWYY{5k?ywyq7u&)~Nys;@ z8ZNIzUw$#ci&^bZ9mp@A;7y^*XpdWlzy%auO1hU=UfNvfHtiPM@+99# z!uo2`>!*MzphecTjN4x6H)xLeeDVEO#@1oDp`*QsBvmky=JpY@fC0$yIexO%f>c-O zAzUA{ch#N&l;RClb~;`@dqeLPh?e-Mr)T-*?Sr{32|n(}m>4}4c3_H3*U&Yj)grth z{%F0z7YPyjux9hfqa+J|`Y%4gwrZ_TZCQq~0wUR8}9@Jj4lh( z#~%AcbKZ++&f1e^G8LPQ)*Yy?lp5^z4pDTI@b^hlv06?GC%{ZywJcy}3U@zS3|M{M zGPp|cq4Zu~9o_cEZiiNyU*tc73=#Mf>7uzue|6Qo_e!U;oJ)Z$DP~(hOcRy&hR{`J zP7cNIgc)F%E2?p%{%&sxXGDb0yF#zac5fr2x>b)NZz8prv~HBhw^q=R$nZ~@&zdBi z)cEDu+cc1?-;ZLm?^x5Ov#XRhw9{zr;Q#0*wglhWD={Pn$Qm$;z?Vx)_f>igNB!id zmTlMmkp@8kP212#@jq=m%g4ZEl$*a_T;5nHrbt-6D0@eqFP7u+P`;X_Qk68bzwA0h zf{EW5xAV5fD)il-cV&zFmPG|KV4^Z{YJe-g^>uL2l7Ep|NeA2#;k$yerpffdlXY<2 znDODl8(v(24^8Cs3wr(UajK*lY*9yAqcS>92eF=W8<&GtU-}>|S$M5}kyxz~p>-~Pb{(irc?QF~icx8A201&Xin%Hxx@kekd zw>yHjlemC*8(JFz05gs6x7#7EM|xoGtpVVs0szqB0bqwaqAdVG7&rLc6#(=y0YEA! z=jFw}xeKVfmAMI*+}bv7qH=LK2#X5^06wul0s+}M(f|O@&WMyG9frlGyLb z&Eix=47rL84J+tEWcy_XTyc*xw9uOQy`qmHCjAeJ?d=dUhm;P}^F=LH42AEMIh6X8 z*I7Q1jK%gVlL|8w?%##)xSIY`Y+9$SC8!X*_A*S0SWOKNUtza(FZHahoC2|6f=*oD zxJ8-RZk!+YpG+J}Uqnq$y%y>O^@e5M3SSw^29PMwt%8lX^9FT=O@VX$FCLBdlj#<{ zJWWH<#iU!^E7axvK+`u;$*sGq1SmGYc&{g03Md&$r@btQSUIjl&yJXA&=79FdJ+D< z4K^ORdM{M0b2{wRROvjz1@Rb>5dFb@gfkYiIOAKM(NR3*1JpeR_Hk3>WGvU&>}D^HXZ02JUnM z@1s_HhX#rG7;|FkSh2#agJ_2fREo)L`ws+6{?IeWV(>Dy8A(6)IjpSH-n_uO=810y z#4?ez9NnERv6k)N13sXmx)=sv=$$i_QK`hp%I2cyi*J=ihBWZLwpx9Z#|s;+XI!0s zLjYRVt!1KO;mnb7ZL~XoefWU02f{jcY`2wZ4QK+q7gc4iz%d0)5$tPUg~$jVI6vFO zK^wG7t=**T40km@TNUK+WTx<1mL|6Tn6+kB+E$Gpt8SauF9E-CR9Uui_EHn_nmBqS z>o#G}58nHFtICqJPx<_?UZ;z0_(0&UqMnTftMKW@%AxYpa!g0fxGe060^xkRtYguj ze&fPtC!?RgE}FsE0*^2lnE>42K#jp^nJDyzp{JV*jU?{+%KzW37-q|d3i&%eooE6C8Z2t2 z9bBL;^fzVhdLxCQh1+Ms5P)ilz9MYFKdqYN%*u^ch(Fq~QJASr5V_=szAKA4Xm5M} z(Kka%r!noMtz6ZUbjBrJ?Hy&c+mHB{OFQ}=41Irej{0N90`E*~_F1&7Du+zF{Dky) z+KN|-mmIT`Thcij!{3=ibyIn830G zN{kI3d`NgUEJ|2If}J!?@w~FV+v?~tlo8ps3Nl`3^kI)WfZ0|ms6U8HEvD9HIDWkz6`T_QSewYZyzkRh)!g~R>!jaR9;K|#82kfE5^;R!~}H4C?q{1AG?O$5kGp)G$f%VML%aPD?{ zG6)*KodSZRXbl8OD=ETxQLJz)KMI7xjArKUNh3@0f|T|75?Yy=pD7056ja0W)O;Td zCEJ=7q?d|$3rZb+8Cvt6mybV-#1B2}Jai^DOjM2<90tpql|M5tmheg){2NyZR}x3w zL6u}F+C-PIzZ56q0x$;mVJXM1V0;F}y9F29ob51f;;+)t&7l30gloMMHPTuod530FC}j^4#qOJV%5!&e!H9#!N&XQvs5{R zD_FOomd-uk@?_JiWP%&nQ_myBlM6so1Ffa1aaL7B`!ZTXPg_S%TUS*>M^8iJRj1*~ e{{%>Z1YfTk|3C04d;8A^0$7;Zm{b|L#{L(;l>}-4 literal 0 HcmV?d00001 diff --git a/mobile/src/main/res/mipmap-xhdpi/ic_launcher.png b/mobile/src/main/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..bfa42f0e7b91d006d22352c9ff2f134e504e3c1d GIT binary patch literal 4842 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 literal 0 HcmV?d00001 diff --git a/mobile/src/main/res/mipmap-xxhdpi/ic_launcher.png b/mobile/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..324e72cdd7480cb983fa1bcc7ce686e51ef87fe7 GIT binary patch literal 7718 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 literal 0 HcmV?d00001 diff --git a/mobile/src/main/res/values-v21/styles.xml b/mobile/src/main/res/values-v21/styles.xml new file mode 100644 index 0000000..dba3c41 --- /dev/null +++ b/mobile/src/main/res/values-v21/styles.xml @@ -0,0 +1,5 @@ + + + + diff --git a/mobile/src/main/res/values-w820dp/dimens.xml b/mobile/src/main/res/values-w820dp/dimens.xml new file mode 100644 index 0000000..63fc816 --- /dev/null +++ b/mobile/src/main/res/values-w820dp/dimens.xml @@ -0,0 +1,6 @@ + + + 64dp + diff --git a/mobile/src/main/res/values/dimens.xml b/mobile/src/main/res/values/dimens.xml new file mode 100644 index 0000000..47c8224 --- /dev/null +++ b/mobile/src/main/res/values/dimens.xml @@ -0,0 +1,5 @@ + + + 16dp + 16dp + diff --git a/mobile/src/main/res/values/strings.xml b/mobile/src/main/res/values/strings.xml new file mode 100644 index 0000000..9c982b3 --- /dev/null +++ b/mobile/src/main/res/values/strings.xml @@ -0,0 +1,6 @@ + + Simple Timer + + Hello world! + Settings + diff --git a/mobile/src/main/res/values/styles.xml b/mobile/src/main/res/values/styles.xml new file mode 100644 index 0000000..ff6c9d2 --- /dev/null +++ b/mobile/src/main/res/values/styles.xml @@ -0,0 +1,8 @@ + + + + + + diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 0000000..6a4e79f --- /dev/null +++ b/settings.gradle @@ -0,0 +1 @@ +include ':mobile', ':wear' diff --git a/wear/.gitignore b/wear/.gitignore new file mode 100644 index 0000000..796b96d --- /dev/null +++ b/wear/.gitignore @@ -0,0 +1 @@ +/build diff --git a/wear/build.gradle b/wear/build.gradle new file mode 100644 index 0000000..49fc958 --- /dev/null +++ b/wear/build.gradle @@ -0,0 +1,28 @@ +apply plugin: 'com.android.application' + + +android { + compileSdkVersion 22 + buildToolsVersion "22.0.1" + + defaultConfig { + applicationId "org.isoron.simpletimer" + minSdkVersion 21 + targetSdkVersion 22 + versionCode 1 + versionName "1.0" + } + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } +} + +dependencies { + compile fileTree(dir: 'libs', include: ['*.jar']) + compile 'com.google.android.support:wearable:1.2.0' + compile 'com.google.android.gms:play-services-wearable:7.5.0' + provided 'com.google.android.wearable:wearable:1.0.0' +} diff --git a/wear/proguard-rules.pro b/wear/proguard-rules.pro new file mode 100644 index 0000000..bf7ada2 --- /dev/null +++ b/wear/proguard-rules.pro @@ -0,0 +1,17 @@ +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in /opt/android-sdk-update-manager/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the proguardFiles +# directive in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/wear/src/main/AndroidManifest.xml b/wear/src/main/AndroidManifest.xml new file mode 100644 index 0000000..136ce76 --- /dev/null +++ b/wear/src/main/AndroidManifest.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/wear/src/main/ic_launcher-web.png b/wear/src/main/ic_launcher-web.png new file mode 100644 index 0000000000000000000000000000000000000000..f68d4fb7d67a606ca846662df993b3b0fed71532 GIT binary patch literal 18624 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 ZfA%E;fm_$z24+bh@O1TaS?83{1OUop!}I_E literal 0 HcmV?d00001 diff --git a/wear/src/main/java/org/isoron/base/AmbientModeListener.java b/wear/src/main/java/org/isoron/base/AmbientModeListener.java new file mode 100644 index 0000000..030f9c8 --- /dev/null +++ b/wear/src/main/java/org/isoron/base/AmbientModeListener.java @@ -0,0 +1,12 @@ +package org.isoron.base; + +import android.os.Bundle; + +public interface AmbientModeListener +{ + public void onEnterAmbient(Bundle ambientDetails); + + public void onExitAmbient(); + + public void onUpdateAmbient(); +} diff --git a/wear/src/main/java/org/isoron/simpletimer/MainActivity.java b/wear/src/main/java/org/isoron/simpletimer/MainActivity.java new file mode 100644 index 0000000..6f40689 --- /dev/null +++ b/wear/src/main/java/org/isoron/simpletimer/MainActivity.java @@ -0,0 +1,191 @@ +package org.isoron.simpletimer; + +import android.app.AlarmManager; +import android.app.PendingIntent; +import android.content.Context; +import android.content.Intent; +import android.os.Bundle; +import android.support.wearable.activity.WearableActivity; +import android.support.wearable.view.WatchViewStub; +import android.util.Log; + +import org.isoron.base.AmbientModeListener; + +import java.util.Timer; +import java.util.TimerTask; + +public class MainActivity extends WearableActivity +{ + + private static final String TAG = "MainActivity"; + AmbientModeListener ambientModeListener = null; + TimerView timerView; + + private AlarmManager ambientModeAlarmManager; + private PendingIntent ambientModePendingIntent; + private Timer timer; + private boolean isActive = false; + + @Override + protected void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + + setAmbientEnabled(); + + ambientModeAlarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE); + + Intent ambientModeIntent = new Intent(getApplicationContext(), MainActivity.class); + ambientModeIntent.setAction("REFRESH"); + + ambientModePendingIntent = + PendingIntent.getActivity(getApplicationContext(), 0, ambientModeIntent, + PendingIntent.FLAG_UPDATE_CURRENT); + + final WatchViewStub stub = (WatchViewStub) findViewById(R.id.watch_view_stub); + stub.setOnLayoutInflatedListener(new WatchViewStub.OnLayoutInflatedListener() + { + @Override + public void onLayoutInflated(WatchViewStub stub) + { + timerView = (TimerView) findViewById(R.id.timerview); + setAmbientModeListener(timerView); + + startTimer(); + refresh(); + } + }); + } + + private void startTimer() + { + if (timer != null) timer.cancel(); + timer = new Timer(); + timer.scheduleAtFixedRate(new TimerTask() + { + @Override + public void run() + { + runOnUiThread(new Runnable() + { + @Override + public void run() + { + refresh(); + } + }); + } + }, 0, 1000); + } + + private void stopTimer() + { + if (timer != null) timer.cancel(); + } + + private void refresh() + { + Log.d(TAG, "refresh() ambient? " + isAmbient() + " active? " + isActive); + + if (timerView != null) + { + timerView.tick(); + timerView.invalidate(); + } + + if (isAmbient() || !isActive) + { + long delay = -1; + if (timerView != null) + { + if (isAmbient()) delay = timerView.getMillisecondsUntilNextMinute(); + else delay = timerView.getRemainingTime(); + } + + if (delay > 0) + { + Log.d(TAG, "sleeping for " + delay + " milliseconds (" + delay / 1000 / 60.0 + " minutes)"); + ambientModeAlarmManager.setExact(AlarmManager.RTC_WAKEUP, + System.currentTimeMillis() + delay + 100, ambientModePendingIntent); + } + } + } + + @Override + public void onEnterAmbient(Bundle ambientDetails) + { + super.onEnterAmbient(ambientDetails); + if (ambientModeListener != null) ambientModeListener.onEnterAmbient(ambientDetails); + stopTimer(); + refresh(); + } + + @Override + public void onExitAmbient() + { + super.onExitAmbient(); + if (ambientModeListener != null) ambientModeListener.onExitAmbient(); + startTimer(); + refresh(); + } + + @Override + public void onUpdateAmbient() + { + Log.d(TAG, "onUpdateAmbient()"); + super.onUpdateAmbient(); + if (ambientModeListener != null) ambientModeListener.onUpdateAmbient(); + } + + public void setAmbientModeListener(AmbientModeListener ambientModeListener) + { + this.ambientModeListener = ambientModeListener; + } + + @Override + protected void onNewIntent(Intent intent) + { + super.onNewIntent(intent); + setIntent(intent); + + Log.d(TAG, "onNewIntent: " + intent.getAction()); + + refresh(); + } + + @Override + protected void onPause() + { + super.onPause(); + Log.d(TAG, "onPause()"); + isActive = false; + stopTimer(); + refresh(); + } + + @Override + protected void onStop() + { + super.onStop(); + Log.d(TAG, "onStop()"); + } + + @Override + protected void onResume() + { + super.onResume(); + Log.d(TAG, "onResume()"); + + isActive = true; + if(!isAmbient()) startTimer(); + refresh(); + } + + @Override + protected void onRestart() + { + super.onRestart(); + Log.d(TAG, "onRestart()"); + } +} diff --git a/wear/src/main/java/org/isoron/simpletimer/TimerView.java b/wear/src/main/java/org/isoron/simpletimer/TimerView.java new file mode 100644 index 0000000..96aaf0e --- /dev/null +++ b/wear/src/main/java/org/isoron/simpletimer/TimerView.java @@ -0,0 +1,435 @@ +package org.isoron.simpletimer; + +import android.app.Activity; +import android.content.Context; +import android.graphics.Canvas; +import android.graphics.Color; +import android.graphics.Paint; +import android.graphics.Rect; +import android.graphics.RectF; +import android.os.Bundle; +import android.os.PowerManager; +import android.os.Vibrator; +import android.util.AttributeSet; +import android.util.Log; +import android.view.MotionEvent; +import android.view.View; +import android.view.WindowManager; + +import org.isoron.base.AmbientModeListener; + +import java.util.Timer; + +public class TimerView extends View implements AmbientModeListener +{ + private static final String TAG = "TimerView"; + + private final int primaryColor; + private final int secondaryColor; + private final int tertiaryColor; + + private final int backgroundColor; + + private Paint paint; + private Paint paintInteractive; + private Paint paintAmbient; + private Paint pClockInteractive; + + private int width; + private int height; + private int fontHeight; + private int size; + private Timer timer; + private final Activity activity; + private Vibrator vibrator; + + private int step; + private boolean isRunning; + private long totalTime; + private long remainingTime; + private long lastTick; + + private int brightnessCountdown; + private boolean isBright = false; + + private boolean hasLongPressed; + private boolean hasMoved = false; + private boolean ambientMode = false; + + private final int DEFAULT_TIME = 5 * 60 * 1000; + private final int GRANULARITY = 60 * 1000; + private final int BRIGHTNESS_LENGTH = 5; + private final long VIBRATION_FINISH[] = {0, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250}; + + private RectF screenRect; + + public TimerView(Context ctx, AttributeSet attrs) + { + super(ctx, attrs); + this.activity = (Activity) ctx; + + step = 0; + isRunning = false; + totalTime = DEFAULT_TIME; + remainingTime = totalTime; + + hasMoved = false; + hasLongPressed = false; + + paintInteractive = new Paint(); + paintInteractive.setColor(Color.parseColor("#B2FF59")); + paintInteractive.setStyle(Paint.Style.FILL); + paintInteractive.setAntiAlias(true); + paintInteractive.setTextAlign(Paint.Align.CENTER); + + pClockInteractive = new Paint(); + pClockInteractive.setColor(Color.parseColor("#9E9E9E")); + pClockInteractive.setStyle(Paint.Style.FILL); + pClockInteractive.setAntiAlias(true); + pClockInteractive.setTextAlign(Paint.Align.CENTER); + + paintAmbient = new Paint(); + paintAmbient.setColor(Color.WHITE); + paintAmbient.setStyle(Paint.Style.FILL_AND_STROKE); + paintAmbient.setAntiAlias(false); + paintAmbient.setTextAlign(Paint.Align.CENTER); + + primaryColor = Color.parseColor("#0288d1"); + secondaryColor = Color.WHITE; + tertiaryColor = mixColors(primaryColor, Color.BLACK, 0.37f); + backgroundColor = Color.BLACK; + + vibrator = (Vibrator) activity.getSystemService(Activity.VIBRATOR_SERVICE); + + setLongClickable(true); + setOnLongClickListener(new View.OnLongClickListener() + { + @Override + public boolean onLongClick(View v) + { + if (hasMoved) return false; + highBrightness(); + + remainingTime = totalTime; + vibrator.vibrate(250); + hasLongPressed = true; + isRunning = false; + invalidate(); + + return true; + } + }); + + setOnTouchListener(new View.OnTouchListener() + { + private float prevY; + private long prevTime; + + @Override + public boolean onTouch(View v, MotionEvent event) + { + int box = 20; + highBrightness(); + + switch (event.getAction() & MotionEvent.ACTION_MASK) + { + case MotionEvent.ACTION_DOWN: + prevY = event.getY(); + prevTime = remainingTime; + hasMoved = false; + hasLongPressed = false; + break; + + case MotionEvent.ACTION_MOVE: + float dy = (event.getY() - prevY) / box; + if (Math.abs(dy) < 1) break; + hasMoved = true; + + if (isRunning) break; + totalTime = Math.max(GRANULARITY, prevTime - (long) dy * GRANULARITY); + totalTime = (totalTime / GRANULARITY) * GRANULARITY; + remainingTime = totalTime; + + step = 1; + invalidate(); + break; + + case MotionEvent.ACTION_UP: + if (hasMoved) break; + if (hasLongPressed) break; + + isRunning = !isRunning; + + vibrator.vibrate(80); + invalidate(); + break; + } + + return false; + } + }); + + highBrightness(); + } + + public void tick() + { + Log.d(TAG, "tick()"); + long currentTime = System.currentTimeMillis(); + + step = (step + 1) % 2; + + if (brightnessCountdown-- == 0) lowBrightness(); + + if (remainingTime <= 0) + { + isRunning = false; + } + + if (isRunning) + { + remainingTime -= (currentTime - lastTick); + + if (remainingTime <= 0) + { + step = 1; + isRunning = false; + remainingTime = totalTime; + vibrator.vibrate(VIBRATION_FINISH, -1); + + PowerManager powerManager = + (PowerManager) activity.getSystemService(Activity.POWER_SERVICE); + PowerManager.WakeLock mWakeLock = powerManager.newWakeLock( + (PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.FULL_WAKE_LOCK | + PowerManager.ACQUIRE_CAUSES_WAKEUP), "MyWakelockTag"); + mWakeLock.acquire(); + + highBrightness(); + } + } + + lastTick = currentTime; + } + + public long getMillisecondsUntilNextMinute() + { + if (!isRunning) return -1; + return remainingTime % 60000; + } + + public long getRemainingTime() + { + if(!isRunning) return -1; + return remainingTime; + } + + @Override + protected void onSizeChanged(int w, int h, int oldw, int oldh) + { + width = w; + height = h; + size = Math.min(width, height); + paintInteractive.setTextSize(size * 0.2f); + paintAmbient.setTextSize(size * 0.15f); + pClockInteractive.setTextSize(size * 0.08f); + + Rect bounds = new Rect(); + paintInteractive.getTextBounds("00:00", 0, 1, bounds); + fontHeight = bounds.height(); + + screenRect = new RectF(0, 0, width, height); + } + + @Override + protected void onDraw(Canvas canvas) + { +// Log.d(TAG, "onDraw()"); + paint = paintInteractive; + + if (ambientMode) paint = paintAmbient; + + clearBackground(canvas); + drawOuterRing(canvas); + drawInnerRing(canvas); + drawTimer(canvas); + drawCurrentTime(canvas); + } + + private void drawCurrentTime(Canvas canvas) + { + } + + private void drawTimer(Canvas canvas) + { + if (ambientMode) paint.setColor(Color.WHITE); + else paint.setColor(primaryColor); + long minutes; + + if (ambientMode) + { + minutes = (long) (60 * Math.ceil(remainingTime / 1000 / 60.0)); + paint.setTextSize(size * 0.25f); + canvas.drawText(String.format("%d", minutes / 60), screenRect.centerX(), + screenRect.centerY() + (int) (fontHeight * 0.3), paint); + } + else + { + minutes = (long) (60 * Math.floor(remainingTime / 1000 / 60.0)); + long seconds = remainingTime / 1000 % 60; + + if (isRunning || step == 1) + { + paint.setTextSize(size * 0.25f); + float minutesWidth = paint.measureText(String.format("%d", minutes / 60)); + + paint.setTextSize(size * 0.15f); + float secondsWidth = paint.measureText(String.format("%02d", minutes / 60)); + float totalWidth = minutesWidth + secondsWidth; + + paint.setTextSize(size * 0.25f); + canvas.drawText(String.format("%d", minutes / 60), + screenRect.centerX() + minutesWidth / 2 - totalWidth / 2, + screenRect.centerY() + (int) (fontHeight * 0.3), paint); + + paint.setTextSize(size * 0.15f); + paint.setColor(secondaryColor); + canvas.drawText(String.format("%02d", seconds), + screenRect.centerX() + minutesWidth + secondsWidth / 2 + size * 0.025f - + totalWidth / 2, screenRect.centerY() + (int) (fontHeight * 0.3), + paint); + } + } + + paint.setTextSize(size * 0.08f); + if (!ambientMode) paint.setColor(secondaryColor); + + String text = "minutes"; + if (minutes / 60 == 1) text = "minute"; + + canvas.drawText(text, screenRect.centerX(), screenRect.centerY() + (int) (fontHeight * 1.0), + paint); + } + + private void drawInnerRing(Canvas canvas) + { + int totalPieces = (int) Math.min(16, totalTime / 60000); + int remainingPieces = (int) Math.ceil(remainingTime / 60000.0); + + float pieceAngle = 360.0f / totalPieces; + float gap = 1.0f; + + RectF r = new RectF(screenRect); + r.inset(size * 0.1f, size * 0.1f); + + if (ambientMode) paint.setColor(Color.WHITE); + else paint.setColor(primaryColor); + + for (int i = 0; i < remainingPieces; i++) + canvas.drawArc(r, -90 - (i + 1) * pieceAngle, pieceAngle - gap, true, paint); + +// canvas.drawArc(r, -90.0f, -360.0f * (remainingTime / 1000) / (totalTime / 1000), true, paint); + + r.inset(size * 0.015f, size * 0.015f); + paint.setColor(backgroundColor); + canvas.drawArc(r, 0, 360, true, paint); + } + + private void drawOuterRing(Canvas canvas) + { + if (ambientMode) return; + + int totalPieces = 60 / 5; + float remainingPercentage = (remainingTime / 1000 % 60) / 60.0f; + int remainingPieces = (int) Math.ceil(remainingPercentage * totalPieces); + + if (remainingPieces == 0) remainingPieces = totalPieces; + + float pieceAngle = 360.0f / totalPieces; + float gap = 0.5f; + + RectF r = new RectF(screenRect); + r.inset(size * 0.075f, size * 0.075f); + + paint.setColor(tertiaryColor); + for (int i = 0; i < remainingPieces; i++) + canvas.drawArc(r, -90 - (i + 1) * pieceAngle, pieceAngle - gap, true, paint); + + r.inset(size * 0.015f, size * 0.015f); + paint.setColor(backgroundColor); + canvas.drawArc(r, 0, 360, true, paint); + } + + private void clearBackground(Canvas canvas) + { + paint.setColor(backgroundColor); + canvas.drawRect(screenRect, paint); + } + + @Override + public void onEnterAmbient(Bundle ambientDetails) + { + ambientMode = true; + Log.d(TAG, "onEnterAmbient()"); + } + + @Override + public void onExitAmbient() + { + ambientMode = false; + highBrightness(); + Log.d(TAG, "onExitAmbient()"); + } + + @Override + public void onUpdateAmbient() + { + Log.d(TAG, "onUpdateAmbient()"); + } + + public static int mixColors(int color1, int color2, float amount) + { + final byte ALPHA_CHANNEL = 24; + final byte RED_CHANNEL = 16; + final byte GREEN_CHANNEL = 8; + final byte BLUE_CHANNEL = 0; + + final float inverseAmount = 1.0f - amount; + + int a = ((int) (((float) (color1 >> ALPHA_CHANNEL & 0xff) * amount) + + ((float) (color2 >> ALPHA_CHANNEL & 0xff) * inverseAmount))) & 0xff; + int r = ((int) (((float) (color1 >> RED_CHANNEL & 0xff) * amount) + + ((float) (color2 >> RED_CHANNEL & 0xff) * inverseAmount))) & 0xff; + int g = ((int) (((float) (color1 >> GREEN_CHANNEL & 0xff) * amount) + + ((float) (color2 >> GREEN_CHANNEL & 0xff) * inverseAmount))) & 0xff; + int b = ((int) (((float) (color1 & 0xff) * amount) + + ((float) (color2 & 0xff) * inverseAmount))) & 0xff; + + return a << ALPHA_CHANNEL | r << RED_CHANNEL | g << GREEN_CHANNEL | b << BLUE_CHANNEL; + } + + public void changeBrightness(float brightness) + { + WindowManager.LayoutParams layout = activity.getWindow().getAttributes(); + layout.screenBrightness = brightness; + activity.getWindow().setAttributes(layout); + } + + public void lowBrightness() + { + if (!isBright) return; + + Log.d(TAG, "lowBrightness()"); + changeBrightness(0F); + isBright = false; + } + + public void highBrightness() + { + brightnessCountdown = BRIGHTNESS_LENGTH; + if (isBright) return; + + Log.d(TAG, "highBrightness()"); + changeBrightness(0.8F); + isBright = true; + } +} diff --git a/wear/src/main/res/layout/activity_main.xml b/wear/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000..0093473 --- /dev/null +++ b/wear/src/main/res/layout/activity_main.xml @@ -0,0 +1,13 @@ + + + diff --git a/wear/src/main/res/layout/rect_activity_main.xml b/wear/src/main/res/layout/rect_activity_main.xml new file mode 100644 index 0000000..c6822b7 --- /dev/null +++ b/wear/src/main/res/layout/rect_activity_main.xml @@ -0,0 +1,15 @@ + + + + + diff --git a/wear/src/main/res/layout/round_activity_main.xml b/wear/src/main/res/layout/round_activity_main.xml new file mode 100644 index 0000000..6793fce --- /dev/null +++ b/wear/src/main/res/layout/round_activity_main.xml @@ -0,0 +1,15 @@ + + + + + diff --git a/wear/src/main/res/mipmap-hdpi/ic_launcher.png b/wear/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..9877d260c8534d53ffb40926d51b72c0c00abd22 GIT binary patch literal 1699 zcmV;U23+}xP)snNon{dMo2Mf z($E$V4o;$2+gPtv0R?S<(*uDcARGdBd?|8w(|OxFxxHoYW_M?H_v}6M5^}pUJM(ep z&3kWVHYFt~Nl8jl{zqc9XKp*%X)3UEnoe3eOf43hsSm3g>oQhO#$d!Y=J zeesB(l$UVlwwHF8Dobsq5!`8{M4=9-3+jZr6ZcJN%Y4mZ%PPj5aw>%qL!Iypcvj+o z>CSz_Vl$t{jrTGH6Rlo&COlieV64`cOFOa-;Kq7X1QV?uXalrGS8$GWncu{Xb7%-A zS{=|PUBEfoVfqL+$fqMXVf8`VGy_xcQ^6}Ro9GY>f7Ziogtn>*r^uf7YRHE{38A>H z&}P-(U|+|l|w_d67SkPI?|R&jY8llJ+?aZ{f_?{TDzUI53B_0hG)RDqLmPm zM^S(qipph8sQ^h!K;)3jrxoOLl%*`bXv)wO5FsS5tb9@^*`>%aE9=bG91t0#tYXP& zQW}}SXh1>y@7CjX^ygTcEQPXAM_BxU4GbtPE+7I(PD$xo$oJB6?^o8Bc>n7aJ$q!= zRnhYyudd~_MItyPkhmN-i;yCoj(G-nooXMflwDW*;J3WGoKyXh0L6kNDFmUh`ViKu zLyf#n&96+M^2_f?uBY7oHdi)MF8y^*G9WQX&}ZUxE1D7X*{gdvTM;RbW_!_b++or> z;NFL`cX)L`oh29ZWdRa{M6~Y4E$UHDGyLKFMKA-w&^vK?ciggY&)EEcp!}}`&9dQ$ zL4v-=pWb1`lQJNyEe}n2h6SCRTo^*9y7NWL!8N!iTE=IGP*MF(#ef8maNpwtVw4ao zx8%;C|bm)8*6F6ZltTVbv04+1m4Y%$>55^rl0CT>H=hvr~T)b=dAKyd=>ob_b3F!(6 zAio+3^pcirG`lpp8HNM{s1%1LaBU;7zB&9BC(!5T($#eme*YgaD!)n-fC znR)Tn%)+?t05Kn8$L-h-J-H>YGXO0bkRFE^QzH$t)u`w0mg$RQB7oE~(pcS^PV*6!###5REtG4@9L@89rK#~9g`SJG(>VWoDrxvK5?trji zd3}KhP^kn!-qokrXlGId^huRro9YR()_dO&!3hR~930R9b{a|K;P*Z|u08XiM#o`6Irt5(#gcjNG(7`d zZQP;yvJcpl$haz67FTCc^>2Gc%fmIeNA%6}ucJZ=v)R5H!$Zlt_USAf=7=sFLcZs0 z&j;~y+W4NWazj!U4&wt#E!Je|Sq#vq=N{)(OYy*=3?o3^{dMWDtG;$cg-MlUVC+k)OxGkopdsPjkc03fO)UQux~q tYvr&U3@e_ns7JhRm6W6;B`Gh6{0l|*kx6BqVWa>6002ovPDHLkV1gXIHmCpq literal 0 HcmV?d00001 diff --git a/wear/src/main/res/mipmap-mdpi/ic_launcher.png b/wear/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..ac4e9f2807797f9f11a24ac7418ac440f3c09db1 GIT binary patch literal 1125 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 PcYvC*rc#B1dFcNGCaQiR literal 0 HcmV?d00001 diff --git a/wear/src/main/res/values/strings.xml b/wear/src/main/res/values/strings.xml new file mode 100644 index 0000000..40cfb02 --- /dev/null +++ b/wear/src/main/res/values/strings.xml @@ -0,0 +1,6 @@ + + Simple Timer + Timer + Hello Round World! + Hello Square World! + diff --git a/wear/wear.iml b/wear/wear.iml new file mode 100644 index 0000000..ea4785c --- /dev/null +++ b/wear/wear.iml @@ -0,0 +1,102 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file