From e8b416550d12b17e5bcae1c98602268f5e4d3ad7 Mon Sep 17 00:00:00 2001 From: Skylar Ittner Date: Thu, 22 Aug 2019 22:21:03 -0600 Subject: [PATCH] Add icon, add alert sound options, add online maps (needs tweaking), remove node_modules --- config.xml | 8 ++ package.json | 1 + .../drawable/ic_launcher_background.xml | 22 +++++ .../drawable/ic_launcher_foreground.xml | 15 ++++ res/android/mipmap-anydpi-v26/ic_launcher.xml | 5 ++ .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 ++ res/android/mipmap-hdpi/ic_launcher.png | Bin 0 -> 1868 bytes res/android/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 3671 bytes res/android/mipmap-mdpi/ic_launcher.png | Bin 0 -> 1336 bytes res/android/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 2369 bytes res/android/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 2507 bytes .../mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 5197 bytes res/android/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 3664 bytes .../mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 7978 bytes res/android/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 5096 bytes .../mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 11355 bytes www/assets/audio/alert.coin.mp3 | Bin 0 -> 3174 bytes www/assets/audio/alert.jump.mp3 | Bin 0 -> 4615 bytes .../audio/{alert.echo.mp3 => alert.sonar.mp3} | Bin www/assets/js/audio.js | 23 +++-- www/assets/js/map_leaflet.js | 40 ++++++--- www/assets/js/settings.js | 81 +++++++++++++++++- www/routes.js | 12 +++ 23 files changed, 194 insertions(+), 18 deletions(-) create mode 100644 res/android/drawable/ic_launcher_background.xml create mode 100644 res/android/drawable/ic_launcher_foreground.xml create mode 100644 res/android/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 res/android/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 res/android/mipmap-hdpi/ic_launcher.png create mode 100644 res/android/mipmap-hdpi/ic_launcher_round.png create mode 100644 res/android/mipmap-mdpi/ic_launcher.png create mode 100644 res/android/mipmap-mdpi/ic_launcher_round.png create mode 100644 res/android/mipmap-xhdpi/ic_launcher.png create mode 100644 res/android/mipmap-xhdpi/ic_launcher_round.png create mode 100644 res/android/mipmap-xxhdpi/ic_launcher.png create mode 100644 res/android/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 res/android/mipmap-xxxhdpi/ic_launcher.png create mode 100644 res/android/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 www/assets/audio/alert.coin.mp3 create mode 100644 www/assets/audio/alert.jump.mp3 rename www/assets/audio/{alert.echo.mp3 => alert.sonar.mp3} (100%) diff --git a/config.xml b/config.xml index 7d17314..6b14c03 100644 --- a/config.xml +++ b/config.xml @@ -9,6 +9,14 @@ + + + + + + + + diff --git a/package.json b/package.json index aee0d76..5214978 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ ] }, "dependencies": { + "cordova-android": "^8.0.0", "cordova-plugin-whitelist": "^1.3.4" } } \ No newline at end of file diff --git a/res/android/drawable/ic_launcher_background.xml b/res/android/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..d1d858b --- /dev/null +++ b/res/android/drawable/ic_launcher_background.xml @@ -0,0 +1,22 @@ + + + + + + diff --git a/res/android/drawable/ic_launcher_foreground.xml b/res/android/drawable/ic_launcher_foreground.xml new file mode 100644 index 0000000..80bca98 --- /dev/null +++ b/res/android/drawable/ic_launcher_foreground.xml @@ -0,0 +1,15 @@ + + + + + + diff --git a/res/android/mipmap-anydpi-v26/ic_launcher.xml b/res/android/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 0000000..bbd3e02 --- /dev/null +++ b/res/android/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/res/android/mipmap-anydpi-v26/ic_launcher_round.xml b/res/android/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 0000000..bbd3e02 --- /dev/null +++ b/res/android/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/res/android/mipmap-hdpi/ic_launcher.png b/res/android/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..1292697cfeae7336d8c90784e13b3599bb8b5292 GIT binary patch literal 1868 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%0An|2?+MXaZ7NaeP?))Jf~4h zWz?a7_s^^XsWH|e+JpMa)2epbvfd+0x1@8f?P-;=)$!1PK zupf?FIv?7H>o`S+aJrYQKDWnMhuR-8=_gOWd&*is6nM|_i+Vs{(ls}1?${_Sv|Mml z8|5S+woa&3NSbu{2h3tXI~P`rs3>%2n2J0h!!PYCtlQ> z0Fg0+2W`65?E7Ns2vb0B=7)9)2vmOMZx-R`y=Y@quLa~YW8Fv-K*BlOf)v>eDoY_2 zxSm!0nv5SV1uRW$36x>G>qO4DhE;dG;1+07cXv0Tlc{QjTX0Wn$3Z|VxMBCF1< zNK<%9AzAsmRd9%5kT2)gb_z(@qC*#|TG83trUv`rc=w8QX^l_R3sid+W7E8!pQk+I zuGusnxc;{Fa2R`W+YMCTWEqg7<}^S|nwO>gR?748;u`~^Aq|$NRi5T56se4QBuThp zJD{y4sIIBCR{+u%iizib!YsUupV6kv>Or^$*u@1%wzk4*?djEkAPKEF{S~ko2zkJYfvI^Q05P#8TIK2)KOjgtHBJrYv6kx$MS?w>1+ZWsM5nY(2+XJUp0fNdO z1Ujt}`M;Rt-sC3_ zG%@eM^(9}kF)3S9YB!u70fapPRyQH3*rPuI%TE?!20q5#W2{3S;$f z?>eehbuFM8jTX&3s3FTNvXpWHh(JoMvMsz)ey<%I76lJhxtaY%QP}kS0r(GJvhwUs zlGc};(>elZ)S64^(D?=e2|S55?)zf)7{EDl^*)N+hC>UNA}kzY7#1uETa~>s>ydcz z(Y-KshJnRf&mO){Cq5%y@(WY@oNsd!5_l4X8?jGI(JT8JIPaR;YBLKoC~`Zl@>A~^ z!(k0Wv!q89j--TEiYrssnec@7GD>Mz1~POBI%(m5NF-ChK6@VQpO zG1Q~XdgIKMbXoO4SZp-$o~T3{pHrlXiuhC06GeYN3xKp;;YGI9EA2Nd4O6>x@Fxio&w9X;wMY1Kv4XcwU_H9v+|&>@5GBJJ9Wnp zPQdcBI^QSa7T~eS_>nJp*&kY5dPGI}Kmp)0VR@YJ?UOVlCu$PZGv-69-l}?sOLO#L zh2i)-6~7q9;63~=zRrZhZhd)y!=d3I?{N#~3EnJhWJ1I#kR%D0O`Zy9+3Oozefq-#o%D6X*7bL8YHq|d`h-@E)*(0!S2LC$mYcy!3j&kBX_6d`@c zEh%nuWC~(f@xp7{bmwN9B&mXglw{Qz+ zNlX?jIIa}E_aBEr5if#?EKcb%oZV~%16~ub^o(-Il(p+{--eSu22Jqp3eD*pQb2?U z&%+NMdK@~K8Z(Li{Kto}fJ26(K`klP+8lb!(;?RA4hf|cIztgbPAEqHukAX5`vO1U z9m?~Qi%B1Q0FL3-pC=gxu^k9&Zk~~|U*pf*aS}2eqffL(v9PT0EV#vO&QkyileTqw zk6BTy6D-(&(tGT@xzGpF7g{S_=07{3y=kyONHPVFH^S?YzrD<#mXq&4|C=h&yJy>c@DkuzbrVg$Li zKp}JmuQ9jvfXrCwJR}OjM)8qcHAGsx5bP9_-Mf%VSwti%y3*RQL zTCu?sTf^ObW#ha@&zk2O`(f&k>3REx%--_@E)}i{796V-F8sDmu<%497JmqkVqQZ%*|dH-DbHzib@iEukco1mQwv!r6QNlO>~)fEO~56qt1QNy!YF z#~TLO&&|#4VQh~AxPh|pi5~LDV!+@v?8C?Y44;9|GUo)7HUNAeu7*QG26kua?gm(4 z1Bhoy!}vU5uz)w%Uqse|X>ft0wxTVN*(WBS5sna$+6z1-ENs9Z35sQ5Cj*VbnI^&w pPlyMSrCu<24g1J30;9(S_kVL<4NKt+=H37R002ovPDHLkV1jX98*Tsq literal 0 HcmV?d00001 diff --git a/res/android/mipmap-mdpi/ic_launcher.png b/res/android/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..390b976ab6163f2d0c612abb3b4c422931c011eb GIT binary patch literal 1336 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 literal 0 HcmV?d00001 diff --git a/res/android/mipmap-xhdpi/ic_launcher.png b/res/android/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..fbafae3cd47333fd4d705fa3afd960aa8539d92c GIT binary patch literal 2507 zcmV;+2{iVJP)c2FAf`;t?L zX0bmnIf7+IJTG#c?# z>xY9Is;nMrHn)g3I7{gEUmH-ZeXNf4CUqvi|_yr3P2oyjIs{r{57vG1Mj2& zaGP@D=?5r)AOMuMJLcyeco4jk0>I3)7fxhT06_rQ-|n2Zs&qMcM*&a((?|Ez*wFpI zwWIrL?Z`v{$ftV`+t4G&oM_Ey7kajC82t?EiIYQU@oRPpK#sHi@e@O6-PvKZeu`Fq z;6h8^aG(d@bf9JU^=pSI0LcaBt~=vzJ}a0F00;J2_1+L#P)h+ws>j}S@|w@3hkx&& z0HhEsvXJ9*-**KCU9FVqV?HSNlnXtC(-y296hMfAGV{l$f;XQPtOpMt zb@-L46o5!AdELQT^#miBJphsd2(j{6A0_}$_G=VCNO}Mp_tQF8Smr-_#)YzuPynG- zKzIRN5oGx}RdDe(bs?qzf^0wJyyHZ9crjjkM&#m)^$gDa-#^ZMK^8XvzWa^?9lbn) z>f1&+^>*V3T6@-ci{L%J{oz=T9`~IQ0Pr4c3-nnywuu4=R36$< zQ}1{{6K~kvsN|o+egNP-*cRxsaBLVO;Q;6l^dUp#py1iR@1x;>27+4q$I*@{=7Zop z*e3LO7{ioE0KoY4f@Y*E?g+RabQ#+Q+=2$4ZyohBpA~Eq`aFygsG}Ko05V?gLh3CI zNVBa884eEc*5x%9M+D7tjCjzS9QmIWY=eD-jss(vY7zhd7_QmzDFFb|6)&FsFWlBvx04~kI->oEEqHH0YKVe%_p;9>tzh3-*3Mc>xa;(=27&4fR5pM zzTiU_F96sE`v@He#)2{98i3)|ex%ucilTvX7 z0MbaP<`V!-Rtg|g00z8>LK>j}q68r0EdcPgo2MfHY`(6fi}PktOad@ee1SCEuEYlbY(A9Hx_up92)L?? zc>sd#<{)*p(IPv5Gv?8W{uMFbCx8)ZI+6u|{*_)&pqnkBsGzPJSzK<}%(uEcXy=D6 zvW`I^F&O}8^1X_f1EAgA=8@8T&^w$<=6fppI=ha3P0C}#oq%*wKBQoy?To0lK;Hk=}1AvEoLv0lp4h<53p_k13>=LrlLgFQ>a2jKnsjhT$< z8w%C0|9yqr57>Ok9ZLYbW$EWpHy@-e?sOXt4kB&gC+0cY>~!Lt_aqJ@mOKw%QZ_g3 zxw;x`K2mLI9K*BWW=zcjd~pVSqNtj`xBVtwkjJ!pT9E3+_uc}}nCFko4*y$}ya1B# zT=3{p#V`KUsowmF7eao+xGx>WgfzR%9&J&(?84wZ>3ciJiTOp>kb2{V?l}u{U;$2H zatpu0NDwoa`*YwMfzp$gtARbea^v~y zcP(GL2E1YxJdr}YlPG2}DVkLLnwex;zGB{!74It6ooq{c;eu7U;mZOTpcZK=;3KAx2M&|}~cqsmke&m;^Wc{`J;(~toeX7Q|) zv~MTh_r0f+7eBQ+dC|(em{9i0yt&_8C7bSA`lHp!i+}j^oUbar1D+6XQWt25R}!B6 zY(PbH2a}YhWbT-2#6RDQwGb;S!L^WhF;{71(u_*tk=Lt;1W<)VIf+S0pU)&IRLq^J zYAj7m31+G+(yJMTK}Ea(PrTmDU}T6Hq{j8;x!DP>Sw1ghF`fnu8Z>Copg|)(;{S~j Vd);8ulu7^q002ovPDHLkV1fXyw6p*K literal 0 HcmV?d00001 diff --git a/res/android/mipmap-xhdpi/ic_launcher_round.png b/res/android/mipmap-xhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..c0a4049b00dc7f98bf9fb65028666dca32e5248f GIT binary patch literal 5197 zcmV-T6te4yP)>f!cqbGjiEKxt7Ru^p(BLu2=YV;*j9ZWzFUTGSbgfa>msk2RkMNO`z9 z@Nf)P@;Vgc2yodt6dJq6AlBqHs5Axo__#bn0vNo8_uwRZR9n6&rlBg(EI8)!?AD< zI2W9=CFvgbum^Rsb>oWM+cI^&VI&4@Ee7rwHUl=K$=6$0tqW#x9DS~%aBjE;T+5~- zbOevL1U`O4Rri=RhT-ZphOL@>L!~v~G?422TB9bfwvjdXpD|MlGuqnMHYtWmxF%d1 z+F-AJ?G|`tfi4DnqZR{xt|jP}0OS9gT=ROH)?`IcOEPd9pe@j*_D2M(v&JAqn}s|f(ssB9d@ttM&}Ij87C|d!?d{()`8s`LX3u(n%(^#} z!#&x$*EXm3xY6@1y}p$--t!ni?t#vj)Oj@v@GS0i7 zX1*67;?~EM_CV)0K>{0WVK9Rm_yvH^4vg9j_!hB&zAtdD>U}ZGj_@ooXf@AQXVpaD zMtx5_zxC5fuUL;YwW!bgdNg3O0X>BcUc-BA+Dhaor}~gwds@&cJ%PPo{PMHd^YsS_ z`0Ye;64&d|(CxR;_}vX?!XDaE@aq@wd%f1_EhGt(kX`k?I<+Xmza+330Im7|Xiwnx z#sL56^LjJzE$x-h>QTQB^yu+T2K2;6ePhCUAmQphYSOwO|71rNIWTVUhwVvrVhU=} z^V{mscst;;HhNb*=^c2#rV&LAjgM}qMXFU5TiEQ#x8nqMkd;@H#s=K>06th8CIG;l z;Dmq{*7WM<4JLK&Eu_piuk~p!V52<-eXvD6r`=>bNjT8D2tIAQ8%#adU}s!?11T1t z{)104BR0Tjvad^UW6Rr9o*#n^G=2EadbbDw$?CCIXNKbDUYLIeS=}wGQpapJT%J*}tN1AIp?L_w> zw|{x(ZI8gWNL8Dj-EtdYl|agOkEVF17cc=OW?3l@%g%X_9#y{1*j~IJ@_NgB-%}f1 zblVtLfH7K8Rw|pcRp@z8rVkEK zih&#FVJv_$1r+T_<&Fs6t>|wi~98^btIlxowvYX zB7?I9N0z!43z%AlXzGD5bzbdhe`Y=dHtW%+C3n%~S|h47*tRQrBieZU4x0USy_Lax z@R_~i;GDb8-bDkq82sW$EN04#3unWh*9th-iOkxcb@h+_%=^I$KPtY140lZE_Fem? zt2d!#-!`DR`|GU?-hmpTFv4EC9Kp#DAr;61L#!?pZ1u}=zh+Tu?!rk$LRj+ri^)*hB(1~2<7 z_(D4P#f7_0!2>&R@!oylvj(4WIR{(|uIck$kVmJaie;r&rQ@^I1mh7qIytL&1}HPj zUhznN@^nbOx|;L;DZA@XZG&^*>aaX*J9)=00q|Mf9p~qPYr!@BDMQj(UyTE76SSwh zILm$lHQCqmJ@J0ks_RI;;3rP|LiX~-1#X@T!8G@9gIxmPGuVe)FStjp?FSh$sdK84 zBJJ=-Qlzt+4Y3hAIXOs^Tl0h41Yqxvo_`iayflmeOrDH&D(FE0Qd~{;d(x}wy%2u8wXU&FX}|&*Y^XAZ4Sy<0^}JN zhOzqZ@&GKihW368K5NQlm+j8MLgu35=>1@jrp|Rh02u7U^?Yz`Xalsxr)y0~9Jq?a z)BiTsemctNzk226xfaunE(Kta982&?FPK+iGa$q0HTzHlDmrtQvn~Ety;A~UA6L!^ zZGg7;ba^8)Dvo~pn{?Z8pgBM7tjfB!!JW}BNDW9%O9CJkD3+FabNArQ;b4t;_#4!VCl&^$!$qRzgt&m96385IQV`v|}$n{xuGu{?ED0-!ny$%$Nh z?4KCp(EH00^gjWjgb`utoT}rNwG2*%yluhtiQ>0%a84`O;@u53i5w~U-E z{of5v34ncEIVZFM+TxG8kYe$vQ{nO_1*AAVT_r%VwA>;1q!(a< zRM}M)li_;KIXi0^-#RA%_HpH$&<1FW&k2AL@zS$p{O2Yq@2`%s1WYQ7#a>$JN(!pZ zzUkEaS(7g+?T`eRQ_*D?Zt#a`6YUWY7?rxW7bd`^F@PfdA}8=kFZjQcI32suaS2%d zvrafN>(To&A%+0)l%0L>0eY?ksI#g#d%w9CEWAKsK}RG&x%`qLa`?(8>=DpOJh`y1 zD+Bb>h7mH@%a%LkCsv@HUp6SpRCl_2nbdugZBUhwXD)PIA{Wdd>zJ0}44 zY10z)hxEtn5+F>;>#51DaUO&rr(Ia;7Wl;QxF9*d(q#gEx@jae|NV9hK7)PQECEZ; z--sAGv#(tO1Vg6D@rdoBvouthdChI_XRTkxIhP6Wh50iLl`k$S3x9G%93jAJtq?sB z3#8-;0`=+}jt62;ZeH+{N8p3?U33av(>Hbu0t)DF22dWALT1%vBpkbDB4C^_Vn-KyGh$tYBQlfKxi!@-Q&FXZ za`Qt1I4n(Ba;}E|n`yrUjBT$Ir8NmY5UH}R{a{G|)beHXO1uVsha&+0jZQmMjIoU- z7+VEki!E+QPFMVgFHb+S&T>_RVo8}-!Ee(9;Gjtgh8A-do|)dHUR{Nvrtg8-Fg}B^ z?JaKF-{HeB>GZwh%yD3Kb(5ecX{ER(_N#E}_VgnNtB%hx*?_hC(TxB33%%yVC@)*~g5&=mpPao<;wEQisZ_ z?-Ds`wnn=TT6oLgVGgLC{%)HAzIKL4jx7Sf*jYSx>Oax%96Z-0EUFj5)T#V1n=E+} zES(UG#%|4EdVt9ny#TC7+6k1j@Dzy&W?Ot3J(geT@R1`=tv@z+rprqA?U{@5fbo8l zYSk4adi|puz>>j~<3`I+cu4P|k4sVyR?-8oVxI(Kdlo(aoEK9;`#KF0;}CpSieQN) z$F)t(!T0!$u%zGr3b3SxOzY~(gOUMM!oV=-48oMcwOE2+!L45j;JUinqbj8x-M34^ zifhiDf)2hWcqTwRrSL<*5Y}6nzfXwsMn`OZNa71mNoIU|y;XWa+8NGX=W>w5lHy4B z-Hiuk@7Er!3QKrl5MW3R93Sk?v+@CyFdn|zT`nB8X_a)=5&!oBSY5rs`@KM&t0T27 zSHY)K({lSy|FGT49c%O_0kU^W zTzcHeo4Rk;ARgF|B6i|MHupd0gM_L_33i-ve@DH5W-yvRc+pg8>i5jU7k-o?hy~c| zyr%nDLOcSWjR%?5@xZ+FB;!01{BiLtz)TP~B;0-PZ{9jn;c}Qpi;Ya#_8F0)w~CE^ z?FDmB!S{4}EPD8cUaG80B$={v4`9V$=9O>F3cv#c$YG^H(w_ar zlmGEE?U~2@Dn+ma(xbFA&ja1J8xJbz@d5eC6e2yBI!7lx30N^%q}RUgK9Eu-!4DcJ zyAMnqFPZjDqrbBvSXb(HaSXuEtn@DUtQ2KbnAG`tBwu{0k@wq~lK~^1@)uGQon5k$(AQ4e~T4C5;oo_j*u4p~;bBJ~?QXBR|9hx%Rx%5(PW8=mX6+f#-|< zy!|j06!JL1K>7<2lXCj)M}7h|U`Xw+Da6$8h z<30r0d5qk9bI|qsFD$_YyHH{c{K63Y3SD2p@cbQ;zx#7_J4*F z*eqAOT4HttJS{opMtB`H>p%A*hh;#jnMCfDmf%(e-&&5kM@Le@JRl)~H{i9`MdP;r zEKU8+r@bNiof5BqdN=)Gj>-iy4a-+)0@0=Y-H*H)4p$0SgE9u*;lZ-(j>B8qv2 z|4QC2@zk#o=?!GO;QhH}_RB!LqWj?WOUjIjCFLe~Et_)~3CFy@J6NQFS*>1Fgj!8S zL`1YT@GVJzG^`sXkSXxr9*`eLJUe}+Fs1OUWZJ*zwWVyPvf)lDp+y7J(cNqYx{gb&~k zU6Lnyt*DaDln4<`m;~q%9>)lH0Nj0z#~#15qKN>%pae;0d{rqNzOo=FTmVlq_NI8^ zSSHa3_QxR0%aTNOr}#1@(;JeyDIR@3@}p~jVF4KQ%mWLudj(l~H+7%EjNHUiJe7vY?1CQz$>BC~2K@wC;wfVoB9elFf*uclX7UXF%h^T3 z2|LRq|GOWNSvPafIMGZBUFtB>J%uqdNhG)%qZeN^(vnhcv;>>=bh-8%lFd7Yq|?8= zBpkD$C}QB7GjJQ8U_3rPSc2OIZKSon^Mek&t=JG`CW6kEK$;RT2z`TvszKeKnmm*L z(yA@OF(3aZnz*M559&-1Go)`GM$%b7nn%Gc$T6D?dI129b)s8ooh)|MGhX~|2w`O}qA^?M} zf2d}_i{VdBoDnftyNW+-_4deDHy#kCY&|BLP;^1``tB>@$$!6&2Yfe);n$+q_goQ8 z+;u@RWzR9m#7_?h$8IXb!E{ylpc&IcPY`Un{u zHQOW1XFbTia12Nb^w;B&I8Kt-y{BJQqT`kcS!waCnprD-F8Kgd~OlK~{#} zgU`rn1U`=eJA^sML%=;Gge4`Ak&I3ZsFudQA7}w~n+N>A_86}!>EMZM00000NkvXX Hu0mjfMLOdb literal 0 HcmV?d00001 diff --git a/res/android/mipmap-xxhdpi/ic_launcher.png b/res/android/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..2be2366b686639779ebf06f984dc8e83ec6261bd GIT binary patch literal 3664 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 XEjVG1Fh$5?ODhh&tC}3qNd)W$fMb-zRPjLmG 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 E0Qp#4TmS$7 literal 0 HcmV?d00001 diff --git a/res/android/mipmap-xxxhdpi/ic_launcher_round.png b/res/android/mipmap-xxxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..c72c49bf9731049c4297efd251d2fea9d25d9e40 GIT binary patch literal 11355 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 literal 0 HcmV?d00001 diff --git a/www/assets/audio/alert.jump.mp3 b/www/assets/audio/alert.jump.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..d56caf7eaf654ff481138c964d043a205dcf15ff GIT binary patch literal 4615 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 literal 0 HcmV?d00001 diff --git a/www/assets/audio/alert.echo.mp3 b/www/assets/audio/alert.sonar.mp3 similarity index 100% rename from www/assets/audio/alert.echo.mp3 rename to www/assets/audio/alert.sonar.mp3 diff --git a/www/assets/js/audio.js b/www/assets/js/audio.js index 9e9f2db..a586d2b 100644 --- a/www/assets/js/audio.js +++ b/www/assets/js/audio.js @@ -4,13 +4,24 @@ * and open the template in the editor. */ +var sfx = {}; -var sfx = { - "alert": new Audio("assets/audio/alert.echo.mp3"), - "ok": new Audio("assets/audio/ok.mp3"), - "error": new Audio("assets/audio/error.mp3") -}; +function initSFX() { + if (localStorage.getItem("alertsound") == null) { + localStorage.setItem("alertsound", "sonar"); + } + + var alertNoiseName = localStorage.getItem("alertsound"); + + sfx = { + "alert": new Audio("assets/audio/alert." + alertNoiseName + ".mp3"), + "ok": new Audio("assets/audio/ok.mp3"), + "error": new Audio("assets/audio/error.mp3") + }; +} function playSound(sound) { sfx[sound].play(); -} \ No newline at end of file +} + +initSFX(); \ No newline at end of file diff --git a/www/assets/js/map_leaflet.js b/www/assets/js/map_leaflet.js index 77f95d5..398d7d7 100644 --- a/www/assets/js/map_leaflet.js +++ b/www/assets/js/map_leaflet.js @@ -7,20 +7,38 @@ function leafletMap() { var map = L.map('mapbox', { zoomSnap: 0.25, - minZoom: 12, - maxZoom: 16, - zoom: 13, + minZoom: 1, + maxZoom: 20, + zoom: 12, center: L.latLng(46.5966, -112.0180), - maxBounds: L.latLngBounds(L.latLng(46.7384, -112.1429), L.latLng(46.5127, -111.7557)), - //maxBounds: L.latLngBounds(L.latLng(46.9, -112.3), L.latLng(46.35, -111.5)), - attributionControl: false + attributionControl: true, + attribution: '© OpenMapTiles © OpenStreetMap contributors' }); - L.tileLayer('assets/tiles/{z}/{x}/{y}.png', { - minZoom: 12, - maxZoom: 16, - attribution: '© OpenStreetMap contributors' - }).addTo(map); + var mapSources = { + "offline": 'assets/tiles/{z}/{x}/{y}.png', + "liberty": 'https://maps.netsyms.net/styles/osm-liberty/{z}/{x}/{y}.png', + "terrain": 'https://maps.netsyms.net/styles/klokantech-terrain/{z}/{x}/{y}.png' + }; + + if (localStorage.getItem("mapsource") == null) { + localStorage.setItem("mapsource", "offline"); + } + + if (localStorage.getItem("mapsource") == "offline") { + map.setMaxBounds(L.latLngBounds(L.latLng(46.7384, -112.1429), L.latLng(46.5127, -111.7557))); + map.setMinZoom(12); + map.setMaxZoom(16); + L.tileLayer(mapSources[localStorage.getItem("mapsource")], { + minZoom: 12, + maxZoom: 16 + }).addTo(map); + } else { + L.tileLayer(mapSources[localStorage.getItem("mapsource")], { + minZoom: 1, + maxZoom: 20 + }).addTo(map); + } map.locateControl = L.control.locate({ flyTo: true, diff --git a/www/assets/js/settings.js b/www/assets/js/settings.js index 60c0adf..62b2299 100644 --- a/www/assets/js/settings.js +++ b/www/assets/js/settings.js @@ -15,4 +15,83 @@ $('.item-content[data-setting=darktheme] .toggle input').on("change", function ( } else { $("#app").removeClass("theme-dark"); } -}) \ No newline at end of file +}); + +function pickAlertSound() { + var currentalertsound = localStorage.getItem("alertsound"); + app.dialog.create({ + title: 'Alert Sound', + buttons: [ + { + text: 'Sonar' + (currentalertsound == "sonar" ? " (current)" : ""), + }, + { + text: 'Robot' + (currentalertsound == "robot" ? " (current)" : ""), + }, + { + text: 'Coin' + (currentalertsound == "coin" ? " (current)" : ""), + }, + { + text: 'Jump' + (currentalertsound == "jump" ? " (current)" : ""), + } + ], + verticalButtons: true, + onClick: function (dialog, index) { + var alertsound = "sonar"; + switch (index) { + case 1: + alertsound = "robot"; + break; + case 2: + alertsound = "coin"; + break; + case 3: + alertsound = "jump"; + break; + case 0: + default: + alertsound = "sonar"; + } + localStorage.setItem("alertsound", alertsound); + // Reload sound effect stuff to apply new sound + initSFX(); + // Play the selected sound + playSound("alert"); + } + }).open(); +} + +function pickMapSource() { + var currentmapsource = localStorage.getItem("mapsource"); + app.dialog.create({ + title: 'Map', + buttons: [ + { + text: 'Helena Offline' + (currentmapsource == "offline" ? " (current)" : ""), + }, + { + text: 'Liberty' + (currentmapsource == "liberty" ? " (current)" : ""), + }, + { + text: 'Terrain' + (currentmapsource == "terrain" ? " (current)" : ""), + } + ], + verticalButtons: true, + onClick: function (dialog, index) { + var mapsource = "offline"; + switch (index) { + case 1: + mapsource = "liberty"; + break; + case 2: + mapsource = "terrain"; + break; + case 0: + default: + mapsource = "offline"; + } + localStorage.setItem("mapsource", mapsource); + + } + }).open(); +} \ No newline at end of file diff --git a/www/routes.js b/www/routes.js index aba0951..f3282ad 100644 --- a/www/routes.js +++ b/www/routes.js @@ -75,6 +75,12 @@ var routes = [ }, { context: { settings: [ + { + setting: "alertsound", + title: "Alert Sound", + text: "Select which sound to play when a package is nearby.", + onclick: "pickAlertSound()" + }, { setting: "darktheme", title: "Use dark theme", @@ -83,6 +89,12 @@ var routes = [ checked: localStorage.getItem("darktheme") == "true", onclick: "" }, + { + setting: "mapsource", + title: "Map", + text: "Choose which map to use.", + onclick: "pickMapSource()" + }, { setting: "versions", title: "PackageHelper app v1.0.0",