From b54af7d7346b7d789c1b74ad53580e5530de7ecc Mon Sep 17 00:00:00 2001 From: cagryinside Date: Fri, 5 Feb 2016 12:23:47 -0500 Subject: [PATCH] Cycle Atlanta Android multi-region architecture implementation --- .gitignore | 7 + AndroidManifest.xml | 41 +- Cycle-Atlanta-Android.iml | 98 ++ README.md | 54 + apk/Cycle Atlanta.apk | Bin 0 -> 931664 bytes build.gradle | 81 +- gradlew | 160 +++ gradlew.bat | 90 ++ res/layout/activity_user_info.xml | 34 +- res/raw/regions_v3.json | 432 ++++++ res/values/integers.xml | 2 + res/values/strings.xml | 16 + .../gatech/ppl/cycleatlanta/Application.java | 265 ++++ .../ppl/cycleatlanta/FragmentMainInput.java | 1278 +++++++++-------- .../FragmentSavedTripsSection.java | 711 ++++----- .../ppl/cycleatlanta/FragmentUserInfo.java | 655 +++++---- .../ppl/cycleatlanta/NoteDetailActivity.java | 6 +- .../ppl/cycleatlanta/NoteMapActivity.java | 8 +- .../ppl/cycleatlanta/NoteTypeActivity.java | 15 +- .../gatech/ppl/cycleatlanta/NoteUploader.java | 30 +- .../gatech/ppl/cycleatlanta/TabsConfig.java | 4 - .../ppl/cycleatlanta/TripDetailActivity.java | 2 +- .../ppl/cycleatlanta/TripMapActivity.java | 18 +- .../ppl/cycleatlanta/TripPurposeActivity.java | 3 - .../gatech/ppl/cycleatlanta/TripUploader.java | 14 +- .../cycleatlanta/provider/ObaContract.java | 407 ++++++ .../cycleatlanta/provider/ObaProvider.java | 462 ++++++ .../region/JacksonSerializer.java | 141 ++ .../ppl/cycleatlanta/region/ObaApi.java | 54 + .../cycleatlanta/region/ObaConnection.java | 40 + .../region/ObaConnectionFactory.java | 25 + .../ppl/cycleatlanta/region/ObaContext.java | 143 ++ .../region/ObaDefaultConnection.java | 75 + .../region/ObaDefaultConnectionFactory.java | 41 + .../cycleatlanta/region/ObaRegionsLoader.java | 66 + .../region/ObaRegionsRequest.java | 115 ++ .../region/ObaRegionsResponse.java | 28 + .../cycleatlanta/region/ObaRegionsTask.java | 259 ++++ .../ppl/cycleatlanta/region/ObaResponse.java | 69 + .../ppl/cycleatlanta/region/RequestBase.java | 189 +++ .../region/elements/ObaRegion.java | 93 ++ .../region/elements/ObaRegionElement.java | 273 ++++ .../region/utils/LocationHelper.java | 216 +++ .../region/utils/LocationUtils.java | 230 +++ .../cycleatlanta/region/utils/MapHelpV2.java | 84 ++ .../region/utils/PreferenceUtils.java | 96 ++ .../region/utils/RegionUtils.java | 546 +++++++ .../cycleatlanta/region/utils/UIUtils.java | 219 +++ 48 files changed, 6480 insertions(+), 1415 deletions(-) create mode 100644 Cycle-Atlanta-Android.iml create mode 100644 README.md create mode 100644 apk/Cycle Atlanta.apk create mode 100644 gradlew create mode 100644 gradlew.bat create mode 100644 res/raw/regions_v3.json create mode 100644 src/edu/gatech/ppl/cycleatlanta/Application.java create mode 100644 src/edu/gatech/ppl/cycleatlanta/provider/ObaContract.java create mode 100644 src/edu/gatech/ppl/cycleatlanta/provider/ObaProvider.java create mode 100644 src/edu/gatech/ppl/cycleatlanta/region/JacksonSerializer.java create mode 100644 src/edu/gatech/ppl/cycleatlanta/region/ObaApi.java create mode 100644 src/edu/gatech/ppl/cycleatlanta/region/ObaConnection.java create mode 100644 src/edu/gatech/ppl/cycleatlanta/region/ObaConnectionFactory.java create mode 100644 src/edu/gatech/ppl/cycleatlanta/region/ObaContext.java create mode 100644 src/edu/gatech/ppl/cycleatlanta/region/ObaDefaultConnection.java create mode 100644 src/edu/gatech/ppl/cycleatlanta/region/ObaDefaultConnectionFactory.java create mode 100644 src/edu/gatech/ppl/cycleatlanta/region/ObaRegionsLoader.java create mode 100644 src/edu/gatech/ppl/cycleatlanta/region/ObaRegionsRequest.java create mode 100644 src/edu/gatech/ppl/cycleatlanta/region/ObaRegionsResponse.java create mode 100644 src/edu/gatech/ppl/cycleatlanta/region/ObaRegionsTask.java create mode 100644 src/edu/gatech/ppl/cycleatlanta/region/ObaResponse.java create mode 100644 src/edu/gatech/ppl/cycleatlanta/region/RequestBase.java create mode 100644 src/edu/gatech/ppl/cycleatlanta/region/elements/ObaRegion.java create mode 100644 src/edu/gatech/ppl/cycleatlanta/region/elements/ObaRegionElement.java create mode 100644 src/edu/gatech/ppl/cycleatlanta/region/utils/LocationHelper.java create mode 100644 src/edu/gatech/ppl/cycleatlanta/region/utils/LocationUtils.java create mode 100644 src/edu/gatech/ppl/cycleatlanta/region/utils/MapHelpV2.java create mode 100644 src/edu/gatech/ppl/cycleatlanta/region/utils/PreferenceUtils.java create mode 100644 src/edu/gatech/ppl/cycleatlanta/region/utils/RegionUtils.java create mode 100644 src/edu/gatech/ppl/cycleatlanta/region/utils/UIUtils.java diff --git a/.gitignore b/.gitignore index 26614e1..1aca587 100644 --- a/.gitignore +++ b/.gitignore @@ -99,3 +99,10 @@ xcuserdata # We're using source-control, so this is a "feature" that we do not want! *.moved-aside + +.gradle +/local.properties +/.idea/ +*.iml +.DS_Store +/build/ diff --git a/AndroidManifest.xml b/AndroidManifest.xml index c5abd87..9ba6990 100755 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -1,12 +1,7 @@ - - +> - - + + + @@ -41,26 +40,17 @@ - - - - + - - @@ -77,10 +67,6 @@ android:name="edu.gatech.ppl.cycleatlanta.NoteMapActivity" android:label="@string/title_activity_note_map" > - - - - - + android:value="AIzaSyB0nRhRzcprm2h9panNqdBsFzVXRI5JOtE" /> \ No newline at end of file diff --git a/Cycle-Atlanta-Android.iml b/Cycle-Atlanta-Android.iml new file mode 100644 index 0000000..ab81124 --- /dev/null +++ b/Cycle-Atlanta-Android.iml @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..6bd6758 --- /dev/null +++ b/README.md @@ -0,0 +1,54 @@ +# Cycle-Atlanta-Android + +Cycle Atlanta Android is a multi-region app to collect data from bicyclists. + +Cycle Atlanta Android provides: + +1. Collecting bicyclists' route information +1. A list of bicyclists' previous trips +1. Ability to add notes to trips + + +### Prerequisites for both Android Studio and Gradle + +1. Clone this repository +1. Install [Java Development Kit (JDK)](http://www.oracle.com/technetwork/java/javase/downloads/index.html) + +### Building in Android Studio + +1. Download, install, and run the latest version of [Android Studio](http://developer.android.com/sdk/installing/studio.html). +1. At the welcome screen select `Import Project`, browse to the location of this repository and select it then select Ok. +1. Open the Android SDK Manager (Tools->Android->SDK Manager) and add a checkmark for the necessary API level (see `compileSdkVersion` in [`onebusaway-android/build.gradle`](onebusaway-android/build.gradle)) then select OK. +1. Connect a [debugging enabled](https://developer.android.com/tools/device.html) Android device to your computer or setup an Android Virtual Device (Tools->Andorid->AVD Manager). +1. Open the "Build Variants" window (it appears as a vertical button on left side of workspace by default) & choose **obaGoogleDebug** to select the Google Play version, or **obaAmazonDebug** to select the Fire Phone. +1. Click the green play button (or Alt+Shift+F10) to build and run the project! + +### Building from the command line using Gradle + +1. Set the `JAVA_HOME` environmental variables to point to your JDK folder (e.g. `C:\Program Files\Java\jdk1.6.0_27`) +1. Download and install the [Android SDK](http://developer.android.com/sdk/index.html). Make sure to install the Google APIs for your API level (e.g. 17), the Android SDK Build-tools version for your `buildToolsVersion` version, the Android Support Repository and the Google Repository. +1. Set the `ANDROID_HOME` environmental variable to your Android SDK location. +1. To start the app, run `adb shell am start -n com.joulespersecond.seattlebusbot/org.onebusaway.android.ui.HomeActivity` (alternately, you can manually start the app) + +### Release builds + +To build a release build, you need to create a `gradle.properties` file that points to a `secure.properties` file, and a `secure.properties` file that points to your keystore and alias. + +The `gradle.properties` file is located in the onebusaway-android directory and has the contents: +``` +secure.properties= +``` + +The `secure.properties` file (in the location specified in gradle.properties) has the contents: +``` +key.store= +key.alias= +``` + +Note that the paths in these files always use the Unix path separator `/`, even on Windows. If you use the Windows path separator `\` you will get the error `No value has been specified for property 'signingConfig.keyAlias'.` + +### Deploying Cycle Atlanta in Your City + +1. Set up your own server and database. See [this page](https://github.com/CUTR-at-USF/cycleatlanta.org/tree/regions) to setup server instructuions. +2. Add your region specs to [this spreadsheet](https://docs.google.com/spreadsheets/d/1g9ROmJh-jhQxU_YfxeovIfAx9EAb3MEvpROx8Aa1-u4/edit#gid=0). + diff --git a/apk/Cycle Atlanta.apk b/apk/Cycle Atlanta.apk new file mode 100644 index 0000000000000000000000000000000000000000..6d8f9f6a192f05de81615093661bec7393909547 GIT binary patch literal 931664 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

N-#Q|EEutv92I2USquG!BJ=OPyb$ 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 z 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%0D{nqPV-95}Fr@Kwg3Lxs$j1KvyfS zUR-!TLbUjSt!cWvJ|FPX>l&`2%Wg}>Y_Uf(F+q}YBW!gwaMi6lck%}GdY>zMoaC1Y zkOMw0d>hxk82-=XM7_yfit1$8ftUl*Ulk@${t6)d>Qy-`#;$J&mR>g@LkT6;vWrd)51LZ zhM96KWH(lFyfP^c+_MHwLnz}nkIJyv+$`|eh$%v9%|5I8{{S;8Semq|Mx-62wM>z( zRqQRK)8hMl*LYhfW8hBiGQEF?f=TQFJ+WT5;cYq}4tQfug7HoD>~>AAYI7od(p*iI zw?H%UlzXAl`q-vgRlU0K<-+L~S5Qc^-`dY`@lSDf$+@J4 zR6FBT4w0h;ZLaaJ37?R5#E(eCe|yO`!(HtWiYdA&#t{)=~>y%oUk+K8|3pG?lB zA=fRR!*`mD_L{i+L{Z&D_Q2quAVg8M*PG_=V)EMsZ zzA`$GIZr$W75i21W_*EF63*@IECs!tjF%T8-Wzcn{f+JiA{i}TGFm^QMo0saFKT#FG=|#Fw#u zYkz0_!Z_AY!_3PmZQ=Lqz{?!4x2DOa{hjS}{{SlA?CgB&P=*;{B%i+-0l_)`KBun~ z?__}I?o!z_NTEw%r!zyUM$5dCIJ4;XPo0)DVdw6CjscC9|<*K+HeLGX`FZD&c z2J>8tPQ2QtNbc@*c&7lMDvqxaDnKj6E8Ts=)fqPWhli~-Q1>%gG;v$W16!XHK+(>U zA&r9ug;?-^Fe}1-HuxUX;*IZtwD~+wb$6mkaQZ4}n$^UYc2~Djq>{%h&{;Y~I+!E6 zLejKv4%p_6gQm&;j$M0DiAWwXw^7+sUDF~1@I?Z-?-uBi`0L?rui^bh=SA@X>M$7e zx7IB*{ZCIz_MZ&T4uxZ*>DI`Q zLoj;_1eR-v)=PWUaV+u-6lD=c$tqXT@GEA(Y4M0ik9Lr(yMz&*9{xbw?qW!fJeDQS ze}_H-$IiB0>}IVhZr}Fn)-R_=%WeJ8#YHJybqM2<3k^cc`#(;dB)I!lsc$sR6jriq zAz_8k;yZ;0bdxSfZ6c%r(w(qx!iNo#I# zEwsI^E%V0UNi7~WwtHmej*m8=*Ee>Sx=q!drDUFFrJ#t(^4B;L+PTOn=@w3Kb}<+& z(c0YG-dQa6(kziNJn{%5s37tfcT<8p^Ti2_=dI?yO&Tw@PoZj-Qe2j{)U_Q!En&HG z+oOqN+Fd4Ig&9Fm0NvKSbH<+w?R-=52GZ-s9wBLb5n-swd#UJ}y@NKbXl@S4EF!u_ z40Nl8b!lO6>d6_1F^Gub_sKNvINV)beUia0WQmqrmW4|dJ(!WmJxD#hE11!e$vh^y zp0e=W_-jiF`aRwHZkaX$ts)VFpvSG!v6rYSBZ3uUJIK|KTo)~w6xM%(p70J*Ij9?&H3N;=E{MxtdFLjjo?tmg9U#&|3ww zjbJd9^4d8+JIgS6pAJ{2R&>-VREk>r$>_9N#q(cuq`KRgTHTc;8mXnR_eJ%r*IHli z^(ZGgul!4GZ*38xDGIvHa%2uabt8z@KPZxNrL%xQ)Q){Z(@3+hl2|Ww*AA-W`Doim zGsr;s6fO&%fRH)J&zkrf#<2WL_-_Y`JUw;$SiC2%!fIn znqgH~wak)Iir1E1SLbf)Q_QPL!Pu@=E6qA5((c~c(!u1PP`uQDk2}y0?L|&^jjG6z zpSlW+E_hYSh`f+=g@Vz%gL0vUm1r0=lgrn1@)43hicA5(FIsw$4s_eCJ~;IqLRRu^ zAle!`=;Q!N3F979s}jeMm=Ay#oa?31Y&9!uO)_aUjVf{`u#smI$*f!~h9!@9z$*dT zp?Cndn8$Wl`;FaP$Y0-y?7qn?+FHj0G*-7VmWI~LIi6d^ClWN7EcxWV(5H>%EY{N7 zUDPi$EiY9?okZ`X+>G9NDn3`X%N^;1%mk~UCmG6u9ll-3y_8*B$8e_hSVKSdjmn*| z!4Sq?DBI;h)=6^24l^XCNTk1#=I!j|L5*7O&UW2yROM`-b?Jt|k=K@!fzt|}pjOjo zx3|%5d|#|jADeLq7*n`gAt!7L>g9*b2POEx`9)0(Q%9yd zUienxdx-D!>qLgoojXl8R`*tSdRCy3TwC0;HLa<+x4Bs}BC8>V1YUDIV!suP-D>x@-YC}DW+WtSiVT4H4Jp{6C3?mtpC_+oVrsQ6aW^5>Ax zrE5mg-AF$&h$N9rBsSnsWCNaZNFTg=7}2E)Y3Pz#-Tph@*H^nd$lTu2>>|AI#gpDk zs$5SbEB1w(Q=U!E2h0v%*NVD)IjM^eDfH{c(}uRvtb2|Y17d(21NVH@VUJey=BLqT zwzktQH4EE|OIZ1;<4SJjva%Do)Qs z@0alQhct^Mx@D~FxY_2W@8@1|@iyba{vYra#j5Du9c$a@B~$0v!s%}Y!e+RT5siw6 z9Pmr3@yQ;e;%#Eb!@54Bs$XRww{x}_{%4Vi!p5V!vEUCo%`#eP+b8QQNw*eVuvE-K=tW%N9Ij0r?k-oPSS;uqur?e*UhJw((c9m#weM-T5Yc zKMmw^$JgeP_ancX?f!j_9U32rwcq$8pX_a*UH;9V5B~sYUk~a!E}vqu_^$eRAH(9} zG+POOcWE?<14ZRV@~;WWJH0yx!O!8Ym!cnyXWVUw>Mmh4|2KZ<8i?+AXeiL|KjxhkqD6bEN8j4N_?2)<=iD zCYE})h~tV?k~@3WlJ)K2g^Dknun*qgs4=N4U!`#W02O8V&Jkj8ZMbx8HGMVTdu;8c z?vI|wWwr2?J)Ko)dffG2g#I1Vbl=&dz#3i0hU_$pn@tAJ-dkt2h;4MXjZaMU=kX-h zLe|MDMQH?|W-;B~*;~sJfK&yB?HG2%QnRQ%j}@gG$t}gDtnzr?%w10%x0r48@DRws zN8ENR^}*>?Vo3Fm64*_pNPIr)X)V5$4f2WY1PH{m@koc{VxT(-0o}mdI@f0{(_~*k zt0mRV;JDM4T|V;i7`1C#l~442JWixsiClu7TDnZkr2N~E4_c5emv^W=oC&D-XGOb? zX@kQm$phNNyQPt$Y&EXs+E>dbX?5J7@loD9Hn**&-L9n=wlUi1x-|Dpsc?yeiSQ1| znnyc}{M&Z`M+DMbCfKi-med!_ST8PB$&*l(TmfqUClN#D;W_3)qjA6)PS+5EZ#Mo- zQhONuY_DOk@n*oGlCp|$u0v)0KC6GA$4O4UR>|CluP_e1>!E# z^K<03^(T%6N?^E>_Sa2@>OZwL+ghd4AC^n$Hw&qgJf9^L#)GaSVcx1qc^&75^&5)| zi-pmybbIKm?0(YC3|8@5Ka>h&k25MHB#q#!# z)+z1WTEsl3+DfqjN6a|px}8#YgU5RMtkPOq{{U%EJ?+XMc@ikC1czdt3uFP$O6GMv zJ5ba-1L8}2NMg8YFR!g#-s&h39$PDQ41C8?joIOHIj)Dq5W;+S;`?i@cf$H>&uMs; zt8=TOOXg2)9BH~dZd`J6&t8<{7j3(KrRn*Vnr4QyQRYS!`E7#mW*x|V0XkQ;bj1`63=gQJYk=Bzi@w)&m9)UNEs)!tIeUQd$8SPTCEEUrgb zZWocfjPOGO1}kFPeLBT1VzkqxwACKqM*3o)N!n5{tFxfU8QeZn2Jm)_jD1SOQIhh* zN3xCy-u2${ZBhji+O+Q(hG|1`2!=hdqMlf}-Nkcbv9z$5dDpEjSV3L3IKj$EE!m?w zUigPlZ5mrU-6Kx7{{WD&xL+OrPCPUE`SA2vV zg%|@YDIt~q%WYw$-CIqhN*Rn-(5I1q4piJ;-2;uW<8POO3aX$P-L}35hp<)ioNCT- zv9uTPVEQlTYrMDe`;NM^RO9U9zfxU=9z?fg(j&HjMvXg$T_)Y1EiBE-n~59dAQD-K z0N`&p`i+*Ct>{;lI^LEqJSdQ)6KMC)iIz}s*6=d74|LCqhmi9h1e_4Zf60$h)FHO; zzT0g+1Ty`bQ)iBAQgRLZi3v9eu&7^~DS(($owO`2{5h)V@Jp&fZG1CpIb9~ z@dv}&7m6+=lwQqctm*LITFCgqTtc!2MvN{M7-WSQVV%{h;q6CHvGDGZrQb)PY4Ih` zk)p+K3dL_a!MAJ07BLtMcBsxWnO?@f7RBWmmkndSze*0J7`<(7ZcTnJuGd%Tb$#BR zj3)}Q<=K@5ye$-{_K@j!@>?<2=7vI%K(2Qf5pq@;BweO$zjrtpEEra@y1beTl(uoA z==$r&ZKssnlS4THW1Am&QeC1pRl{u=%9^XHX}4NSL2Ikr-QM_5&w1v#juP`Tlei_$ z2P#YWY<-9OHYkDsf3agLy-P0*eBkGDq2fIM0IYnra03c<_cpqYiGOu)n)IgL(TqVz zj!kmTJQ2CuE~Y%-xE^E1K>@p3c1afUNu+6@a~f(B*o~pVT*F~&&jhIht`P}hLlA4! zTI^&9(Rp@a)e_>~Cv&GqaCeKlgkoOuW1pHBoaZO~WVpdlptCJ*te-==@kfZ|TkRW7 zl+C5;cj^tv01(f(0lGGJ{o0U7Ado;PqByMQ*Y(-#BoK>q+a9v^`B>vc$d6Bl9T8OJ zk4|~z&N-{yS$t*Vojx5k^xMq`PP{Q``dDxqRk}nVIsu>D#!8%!MmI3XTKwmUG1c>Y zZ}u(gRX|X#2;dWz%N}P; zTgy9(Wzh87om0U69cQ+^zKYzl-QAQCy}}HF@u2ZXB7;rWwF`SRKqHEHBD*L(1Imo}^ite*z~a3*ORC(P9Or}lM-Pbq0A=*?Pl-Hf z;V%l^>bg#+c|N<~StFlD(ydzVW=YoTP`2_~Xd(e6dE!-RM6A%LI|t9c3;xQm{i8fL z;m?L25&k*&$_OtLU)8QA@Na}PEdbd)=xe)^a@rld_em>BDQB@P&g|d5jfrvV{{RBc zpMCok=&3%DsYM<3t>P&BMWy(XYkT>mzI|%@`%NxPQLGML=-h8aO^cnXNL|M&-{I%N z?+^addTc%h@euHDjN!5oYTgXd{7Gqd1=g6Zlf8-2?##btf!8gYMS+)aVopdq*2Thv zCnvJkX8!;yvlzk1!SPnLAB%n<%YSKodwb!lX;|rLI6xW6JLdsWcpJ8$Il|=Uo-nRv zmN5)=w({OzO)rycZ66Obt@l^ZW0Fr`3GG)eCAAk9GsPNNSR=EdbXa2ruswpW7_P&> z9vOW`OP>;IR=RV@50PbIs_B1e@*`ze5|wf`yo$oCs=M+w*d3%?< z$3$_-@z2UKR;+aTMB})T;OQQXln` z5ULP*BK)C8Kn8iub)RarUCZ`}7i$nff4hUo$$d@`KcQ+bs zr-vgK6TA7CW|gpz!Zw4>Nx{ZyltOjV5?F3@TYF{NlHUzJ#?MY!G4m?Ckh8mcAZ#8E zEBkW;fWzRh^zhUoqX;V`wn-n5Rt-3r{7Zx`D zQbim(dRd)f^DKPB5LG)=g$ug?72I+v)wR1%sN~9*DFw?5?Q{0cdIr|a(Sw03^%df-$`b=_`0;XwEokw z+XeCo6{2m*cEvjZ(VJ-=^-|8vX__18?1Npifnc;l#@63Qy_ZY1wzx2hJx0!FLFJOI6n9a^!O$Gzat7n6pnr5z{MXs%z;=F z+XEDf6icET!>IUv=g!pbyx0u$`FMCBMnc|6V!$qb;QRj6g5vVh%G%=J#5R`p@)w2x z-YLE+%z;A!9tPXDa`W#^$4z{JNuY~T(yn|{;TvPC==!Fw{izTV+sun5&`BXwF=bvc zf_d+n)X*~i5U{y+XSlnFT--=cGD{#1>~Y+a_*7O}rmd&y`X-@$<2?r7Nt)w)iu(K9 ziQ`A|-B3wxq@Cn0cM5Ks7Nu#SSlLH;;Jblurir}4t;#n-gK3xkJ;)1`ZgbnMQj2Rq zZEDOPANX@p*0enbR`B)ym!x=)!}_4Vv$)hO<+-+Ko*5vyidds{X%xdVuua1vt9t(BTOwo(|%fHR@uq4xOW6zV;9OG*%8Eq|e*7#91 zh2YctLNsFYM`@aJAJ~N(*#0JB72nhg@5MCHZNmvb~(`Hxg_y&3`H57U+j+F9FC<016FQS&Wj# zB=Vxyuggn!q{|tO8^Gl3Vq4{g>O}dxto*~W5=g6UFWbDWSiPpHCCsWVfJ{SuaEq1s zSEZf0k@DvZ_)>S1y0n+j+IVgaYfxe>XS$K>-%{JQ{^c^yc{Vs`lWAm)PtH|#g-{y5 zS-r1+U-%~#wJcs;tQtT1EdF~oY%T2Mwj)xEwlijvF%KFNIRp}`(UbrIG_v?h!avzI zvn%+6P-Ag1h8Ae8aso7o7~lc&Mv6Ih#!n@NrG>)UX_lJ*0EBYaP(R#o6`8CtdG5eq8-mO9x`%Ha@pP~4A`@{COsj3_4e4SRo?qB!P zIuZ6rq*fTXAhXRcIAepr%INAg`dleBwZ5+=rK9<#Jzr81#?r?!F%ZKx6bRv6tjc!n zcgAoyYKL`=u!tqqz1fLjXybBavW`Lu+NtVqCt?}fIZ#w}ZOtN^%{)nKrFl{6L6+84 zw}mB+c~l*mbU=(4BL%#|FiRFYlp)*tjBJvPwA;|&da)ICd#z10i>>DR%?;vfmSg6& zfqwL*7v@=Z{HlX0`R5~YiH2q228NTHFwk`xq#ci zliq)4NFj?+F2*>~hDX__cgQ6;VUzNn0F{?5!<$=;Fhv*oE~}*7*=Py9?jUin#XG6; z{=*_4ndEK?AuE7O1#Ir9=$DHv#-V3za|fKZ(dqFJBe-~ZipDeiHt+x%SqB@pj2+CQ zW@{_?G>d3tj?Vhp00cT*as8evRSH#p%PJ2t7Yf90$=ot90pgt2k=$Be>d{-7JT<4q zLoRT^Dm*=XQ_lK@wx;Iu!d#UJ>-J88nNe!2kj$3kPmj(W2k2xo}$x|u^zSDIb zUE_~ivxgGhi*ig?@+kpr& zO4w z;8J|so^j%NuQY3q5BN7r(Bxej>=S!+aX;DPl{qe+XHr;?-ecw-fIxpnJ#Z6X)koSE|KL72GU@Z;5u#KBLu+X zIO4v?hBK}j%J6>1jxsJ!SxLJ&ORH`E3#a09*QHvduHs`~#jM%JZa=qgv~59T5}j*L zix&3|G5-J`wu9tsfy}5fc=>Puu5D$O)5lABuPv{Gr8a@AZ*_WK_LuP>XR*13qquCG4S@arc*+tp#ZtVsn!`z53i{VZxzlf+ zNv~qNPcp{l?aAG0vM&%kYM2Z#&ds}N!wUT$4~d0JYH*h{UsUeC^l{D&X!kHJHMtwa zO|5Ge5_m>Si!j<%&T(&l2GGqTI}Ng-0AU;gtBin7>ge>SV$`i}WVDxD(jkWB;PUik zwUWw4Tn2bW!k0zPS719-s{x*;mz%;@`jxrS^j%U*e-1s*nXBmffChU)>cM1>91)db zuA~A$B?|)8++O&b!afsgZ5H!TveOJuFOzSuor%aD2eIqVesh}q&yP6Q6P8wn6E2FK zXYV_v`D59oZC|d7ea_r28B|x1;=d0d@cR56(XYpcJTIr|eh~3ji><9}Y;;S#Pf%-J zE5w)9sPID=mg3^!#7QKMH_0Tf&9s-}$21E#HD8PR4}-0=9ctUdGJIKI7u$Hg>)=m| z?EFB|$*T+Xww`(P#kPlYF|?NUOMt&*%9zuVzPaFAgwv0PVbZ)g;V*}t8qmDksPugb z&K)mJ(d^8o=I8E(jTfuP+$nNN9M^()Q{hgn9G|Gc$B3R^A+y({+0Q2(<;Bvku zn&(TulEX%~jyod+*HGJ?G~BMCaPpF4E!mqSlab4lj)JDsC6`0i%SB;*qG@*a6W?8F z>pXJXI!1~BgPqaHWRfwr3O-}U74Z3ghdG`?-E5x{ok?pb$!ROQ@2_37PqSK`*@kYh zvQDbeD=#f9Xk1#uGU-CoP4hJv^gAniy%uR)SZSmwlWfdBd5H6Piy#m(-9;i=YJ|Xm7Vc=Spj(R@a7UVDKt@Kv@~{~UMnS1Ar@8+C zgn{p6hfdP<3#SB>C2X(T7zpKtVxOQAV5@OT}=zQne&HSVSTqdHndS({m!E6F^BSIVW0yRpDem_)hfm`KOX z!5Z4y_-7iWyzhIZ$>!X{G6ONWBYr>xhGs5Vc9IJkr*f8>wu2-R4Oq{qO1H)At>c|i z$SjcCs|IyHKItY*1A;;A%e z71TkcW6L%jhB9(-$mYCLU%pxVLnL2mc_Ft`3cQB~Ly}%Yj_l=_`zIqeZtZ6`h zYuokz0FSL(zkf2%n#1rsH}ZTu(eJFZ%dJ`nr_>^w?9)aBW!~9_<0Gnp@;7?wEOf1U z1hT$u66#fZtwD@1+`%M>C3|v&;zFnWTLZO@IQ6e?la%2ZTXdh`dz9zT1uo|?tgd_^ zq~wgP-R4O2I?87s{c7CNX3_-qnw9na)HiG48;NGOg3TlX6LTOgtmLlj$VS4Yf0b3c z(aY#MHkqtic#_inr_?UYc2^e4%M)r1ItTMZf^o3?r`oMp!=Xzap4K)#E4g|6GAxT5 zi(t{kCCrC=e7G|2jgCOawP^&o?rSETPaD%=Z9De67FvgiZ8eV?S!#N$w<~s@9!aFK zYYU&VynknkJJWPPg_{VNQ7Atr%_m>rORo??@fOnKP=`>TPuAdTc&;W_Ws+Efy6t1Z z;7T#>IpVpUB0mf2Kedj(cckmy8G?N~Sk>cw5^osWwyM*ldW$js&s$G0p?mAul}*Sd zIU;k!X&T+}%yY-_4@=N2{C}o+AHqM`Ni3E(Fy07ts|g-#K=P#j03^#Qmv)RJG*av( zm5$F7h%y>kwiO-}m1U00FG76ZHh7u@tg+@>r z&Re(#q4A!9eXV>zw29Im{uF;AYg7<5qh(#x2GF0Nc__PhY#} z)FV&#lU{_WcOBP>o5XWRa`y1qq8n+T**=aKeD3k}DER*XTBPF}NEj_v>~CYV)gMr? z)1cI?E~O8r>CQsKb0lu1@AHQ8l|b08qcS<^jjcrYOxm@z?3Q|-mo}Ghrg=QAmp)

m1xYPm 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

7e!J&{Lpuj7&c&%y}3S?C>1+~;H~ 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≫M`(`K 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 W3WrN7N!km4?u8l?`2+l>q4YnHS + def authority; + authority = '"' + "edu.gatech.ppl.cycleatlanta" + '"' + // Must keep the original OBA authority + variant.buildConfigField "String", "DATABASE_AUTHORITY", authority + } } diff --git a/gradlew b/gradlew new file mode 100644 index 0000000..9d82f78 --- /dev/null +++ b/gradlew @@ -0,0 +1,160 @@ +#!/usr/bin/env bash + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn ( ) { + echo "$*" +} + +die ( ) { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; +esac + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +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"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # 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..8a0b282 --- /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/res/layout/activity_user_info.xml b/res/layout/activity_user_info.xml index f050ac0..b088562 100755 --- a/res/layout/activity_user_info.xml +++ b/res/layout/activity_user_info.xml @@ -38,12 +38,23 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/buttonGetStarted" - android:layout_below="@+id/buttonGetStarted" + android:layout_below="@+id/textView11" android:layout_marginLeft="10dp" - android:layout_marginTop="10dp" + android:layout_marginTop="40dp" android:text="Tell us about yourself" android:textAppearance="?android:attr/textAppearanceSmall" /> + + + + + + 300 150 + 8298000 + diff --git a/res/values/strings.xml b/res/values/strings.xml index cb4cf58..2b65efa 100755 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -92,4 +92,20 @@ Cycle Atlanta + + https://script.google.com/macros/s/AKfycbxpN47XZQGAoh-N5wQtBETp51tznG3JnOrWsAVNy0xGJOkD8ibS/exec + + Choose region + preference_last_region_update + preference_auto_select_region + preferences_oba_api_url + preference_region + Finding your transit services… + http:// + preference_experimental_regions + Found %1$s region + Set Custom Api Server + Custom Api Server + Invalid URL. Please enter a working server url. + \ No newline at end of file diff --git a/src/edu/gatech/ppl/cycleatlanta/Application.java b/src/edu/gatech/ppl/cycleatlanta/Application.java new file mode 100644 index 0000000..bdff5c0 --- /dev/null +++ b/src/edu/gatech/ppl/cycleatlanta/Application.java @@ -0,0 +1,265 @@ +package edu.gatech.ppl.cycleatlanta; + +import com.google.android.gms.common.ConnectionResult; +import com.google.android.gms.common.GooglePlayServicesUtil; +import com.google.android.gms.common.api.GoogleApiClient; + +import android.content.Context; +import android.content.SharedPreferences; +import android.content.pm.PackageInfo; +import android.content.pm.PackageManager; +import android.hardware.GeomagneticField; +import android.location.Location; +import android.location.LocationManager; +import android.preference.PreferenceManager; +import android.telephony.TelephonyManager; +import android.util.Log; + +import java.security.MessageDigest; +import java.util.Iterator; +import java.util.List; +import java.util.UUID; + +import edu.gatech.ppl.cycleatlanta.provider.ObaContract; +import edu.gatech.ppl.cycleatlanta.region.ObaApi; +import edu.gatech.ppl.cycleatlanta.region.elements.ObaRegion; +import edu.gatech.ppl.cycleatlanta.region.utils.LocationUtils; +import edu.gatech.ppl.cycleatlanta.region.utils.PreferenceUtils; + +import static com.google.android.gms.location.LocationServices.FusedLocationApi; + +public class Application extends android.app.Application{ + + public static final String APP_UID = "app_uid"; + + // Region preference (long id) + private static final String TAG = "Application"; + + private SharedPreferences mPrefs; + + private static Application mApp; + + private static final String HEXES = "0123456789abcdef"; + + // Magnetic declination is based on location, so track this centrally too. + static GeomagneticField mGeomagneticField = null; + + /** + * We centralize location tracking in the Application class to allow all objects to make + * use of the last known location that we've seen. This is more reliable than using the + * getLastKnownLocation() method of the location providers, and allows us to track both + * Location + * API v1 and fused provider. It allows us to avoid strange behavior like animating a mMap view + * change when opening a new Activity, even when the previous Activity had a current location. + */ + private static Location mLastKnownLocation = null; + + @Override + public void onCreate() { + super.onCreate(); + + mApp = this; + mPrefs = PreferenceManager.getDefaultSharedPreferences(this); + + initObaRegion(); + } + + public static Application get() { + return mApp; + } + + public synchronized ObaRegion getCurrentRegion() { + return ObaApi.getDefaultContext().getRegion(); + } + + public synchronized void setCurrentRegion(ObaRegion region) { + if (region != null) { + // First set it in preferences, then set it in OBA. + ObaApi.getDefaultContext().setRegion(region); + PreferenceUtils + .saveLong(mPrefs, getString(R.string.preference_key_region), region.getId()); + //We're using a region, so clear the custom API URL preference + setCustomApiUrl(null); + } else { + //User must have just entered a custom API URL via Preferences, so clear the region info + ObaApi.getDefaultContext().setRegion(null); + PreferenceUtils.saveLong(mPrefs, getString(R.string.preference_key_region), -1); + } + } + + /** + * Gets the date at which the region information was last updated, in the number of + * milliseconds + * since January 1, 1970, 00:00:00 GMT + * Default value is 0 if the region info has never been updated. + * + * @return the date at which the region information was last updated, in the number of + * milliseconds since January 1, 1970, 00:00:00 GMT. Default value is 0 if the region info has + * never been updated. + */ + public long getLastRegionUpdateDate() { + SharedPreferences preferences = getPrefs(); + return preferences.getLong(getString(R.string.preference_key_last_region_update), 0); + } + + /** + * Sets the date at which the region information was last updated + * + * @param date the date at which the region information was last updated, in the number of + * milliseconds since January 1, 1970, 00:00:00 GMT + */ + public void setLastRegionUpdateDate(long date) { + PreferenceUtils + .saveLong(mPrefs, getString(R.string.preference_key_last_region_update), date); + } + + /** + * Returns the custom URL if the user has set a custom API URL manually via Preferences, or + * null + * if it has not been set + * + * @return the custom URL if the user has set a custom API URL manually via Preferences, or null + * if it has not been set + */ + public String getCustomApiUrl() { + SharedPreferences preferences = getPrefs(); + return preferences.getString(getString(R.string.preference_key_oba_api_url), null); + } + + /** + * Sets the custom URL used to reach a OBA REST API server that is not available via the + * Regions + * REST API + * + * @param url the custom URL + */ + public void setCustomApiUrl(String url) { + PreferenceUtils.saveString(getString(R.string.preference_key_oba_api_url), url); + } + + public static SharedPreferences getPrefs() { + return get().mPrefs; + } + + /** + * Returns the last known location that the application has seen, or null if we haven't seen a + * location yet. When trying to get a most recent location in one shot, this method should + * always be called. + * + * @param cxt The Context being used, or null if one isn't available + * @param client The GoogleApiClient being used to obtain fused provider updates, or null if + * one + * isn't available + * @return the last known location that the application has seen, or null if we haven't seen a + * location yet + */ + public static synchronized Location getLastKnownLocation(Context cxt, GoogleApiClient client) { + if (mLastKnownLocation == null) { + // Try to get a last known location from the location providers + mLastKnownLocation = getLocation2(cxt, client); + } + // Pass back last known saved location, hopefully from past location listener updates + return mLastKnownLocation; + } + + private static Location getLocation2(Context cxt, GoogleApiClient client) { + Location playServices = null; + if (client != null && + cxt != null && + GooglePlayServicesUtil.isGooglePlayServicesAvailable(cxt) + == ConnectionResult.SUCCESS + && client.isConnected()) { + playServices = FusedLocationApi.getLastLocation(client); + Log.d(TAG, "Got location from Google Play Services, testing against API v1..."); + } + Location apiV1 = getLocationApiV1(cxt); + + if (LocationUtils.compareLocationsByTime(playServices, apiV1)) { + Log.d(TAG, "Using location from Google Play Services"); + return playServices; + } else { + Log.d(TAG, "Using location from Location API v1"); + return apiV1; + } + } + + /** + * Sets the last known location observed by the application via an instance of LocationHelper + * + * @param l a location received by a LocationHelper instance + */ + public static synchronized void setLastKnownLocation(Location l) { + // If the new location is better than the old one, save it + if (LocationUtils.compareLocations(l, mLastKnownLocation)) { + if (mLastKnownLocation == null) { + mLastKnownLocation = new Location("Last known location"); + } + mLastKnownLocation.set(l); + mGeomagneticField = new GeomagneticField( + (float) l.getLatitude(), + (float) l.getLongitude(), + (float) l.getAltitude(), + System.currentTimeMillis()); + // Log.d(TAG, "Newest best location: " + mLastKnownLocation.toString()); + } + } + + private static Location getLocationApiV1(Context cxt) { + if (cxt == null) { + return null; + } + LocationManager mgr = (LocationManager) cxt.getSystemService(Context.LOCATION_SERVICE); + List providers = mgr.getProviders(true); + Location last = null; + for (Iterator i = providers.iterator(); i.hasNext(); ) { + Location loc = mgr.getLastKnownLocation(i.next()); + // If this provider has a last location, and either: + // 1. We don't have a last location, + // 2. Our last location is older than this location. + if (LocationUtils.compareLocationsByTime(loc, last)) { + last = loc; + } + } + return last; + } + + private String getAppUid() { + try { + final TelephonyManager telephony = + (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); + final String id = telephony.getDeviceId(); + MessageDigest digest = MessageDigest.getInstance("MD5"); + digest.update(id.getBytes()); + return getHex(digest.digest()); + } catch (Exception e) { + return UUID.randomUUID().toString(); + } + } + + public static String getHex(byte[] raw) { + final StringBuilder hex = new StringBuilder(2 * raw.length); + for (byte b : raw) { + hex.append(HEXES.charAt((b & 0xF0) >> 4)) + .append(HEXES.charAt((b & 0x0F))); + } + return hex.toString(); + } + + private void initObaRegion() { + // Read the region preference, look it up in the DB, then set the region. + long id = mPrefs.getLong(getString(R.string.preference_key_region), -1); + if (id < 0) { + Log.d(TAG, "Regions preference ID is less than 0, returning..."); + return; + } + + ObaRegion region = ObaContract.Regions.get(this, (int) id); + if (region == null) { + Log.d(TAG, "Regions preference is null, returning..."); + return; + } + + + ObaApi.getDefaultContext().setRegion(region); + } +} diff --git a/src/edu/gatech/ppl/cycleatlanta/FragmentMainInput.java b/src/edu/gatech/ppl/cycleatlanta/FragmentMainInput.java index 9d8f76d..486ed6c 100755 --- a/src/edu/gatech/ppl/cycleatlanta/FragmentMainInput.java +++ b/src/edu/gatech/ppl/cycleatlanta/FragmentMainInput.java @@ -1,9 +1,17 @@ package edu.gatech.ppl.cycleatlanta; -import java.text.SimpleDateFormat; -import java.util.TimeZone; -import java.util.Timer; -import java.util.TimerTask; +import com.google.android.gms.common.ConnectionResult; +import com.google.android.gms.common.GooglePlayServicesUtil; +import com.google.android.gms.common.api.GoogleApiClient; +import com.google.android.gms.location.LocationListener; +import com.google.android.gms.location.LocationRequest; +import com.google.android.gms.maps.CameraUpdateFactory; +import com.google.android.gms.maps.GoogleMap; +import com.google.android.gms.maps.GoogleMap.OnMyLocationButtonClickListener; +import com.google.android.gms.maps.SupportMapFragment; +import com.google.android.gms.maps.UiSettings; +import com.google.android.gms.maps.model.LatLng; +import com.google.android.gms.maps.model.LatLngBounds; import android.app.AlertDialog; import android.content.ComponentName; @@ -11,13 +19,19 @@ import android.content.DialogInterface; import android.content.Intent; import android.content.ServiceConnection; +import android.content.SharedPreferences; +import android.content.pm.PackageInfo; +import android.content.pm.PackageManager; import android.location.Location; import android.location.LocationManager; +import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.os.IBinder; import android.provider.Settings; import android.support.v4.app.Fragment; +import android.support.v4.app.FragmentManager; +import android.text.TextUtils; import android.util.Log; import android.view.LayoutInflater; import android.view.View; @@ -26,624 +40,642 @@ import android.widget.TextView; import android.widget.Toast; -import com.google.android.gms.common.ConnectionResult; -import com.google.android.gms.common.GooglePlayServicesClient.ConnectionCallbacks; -import com.google.android.gms.common.GooglePlayServicesClient.OnConnectionFailedListener; -import com.google.android.gms.location.LocationClient; -import com.google.android.gms.location.LocationListener; -import com.google.android.gms.location.LocationRequest; -import com.google.android.gms.maps.CameraUpdateFactory; -import com.google.android.gms.maps.GoogleMap; -import com.google.android.gms.maps.GoogleMap.OnMyLocationButtonClickListener; -import com.google.android.gms.maps.SupportMapFragment; -import com.google.android.gms.maps.UiSettings; -import com.google.android.gms.maps.model.LatLng; - -public class FragmentMainInput extends Fragment implements ConnectionCallbacks, - OnConnectionFailedListener, LocationListener, - OnMyLocationButtonClickListener { - - public static final String ARG_SECTION_NUMBER = "section_number"; +import java.text.SimpleDateFormat; +import java.util.Collections; +import java.util.Date; +import java.util.TimeZone; +import java.util.Timer; +import java.util.TimerTask; - Intent fi; - TripData trip; - NoteData note; - boolean isRecording = false; - Timer timer; - float curDistance; - - TextView txtDuration; - TextView txtDistance; - TextView txtCurSpeed; - - int zoomFlag = 1; - - Location currentLocation = new Location(""); - - final SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); - - // Need handler for callbacks to the UI thread - final Handler mHandler = new Handler(); - final Runnable mUpdateTimer = new Runnable() { - public void run() { - updateTimer(); - } - }; - - private final static int MENU_USER_INFO = 0; - private final static int MENU_HELP = 1; - - private final static int CONTEXT_RETRY = 0; - private final static int CONTEXT_DELETE = 1; - - DbAdapter mDb; - GoogleMap map; - UiSettings mUiSettings; - private LocationClient mLocationClient; - - private static final LocationRequest REQUEST = LocationRequest.create() - .setInterval(5000) // 5 seconds - .setFastestInterval(16) // 16ms = 60fps - .setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY); - - public FragmentMainInput() { - } - - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, - Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - - Log.v("Jason", "Cycle: MainInput onCreateView"); - - // Toast.makeText(getActivity(), "Record Created", - // Toast.LENGTH_LONG).show(); - - View rootView = inflater.inflate(R.layout.activity_main_input, - container, false); - setUpMapIfNeeded(); - - // LatLng myLocation = new - // LatLng(mLocationClient.getLastLocation().getLatitude(), - // mLocationClient.getLastLocation().getLongitude()); - // map.moveCamera(CameraUpdateFactory.newLatLngZoom(myLocation, 13)); - - // map.moveCamera(CameraUpdateFactory.newLatLngZoom(atlanta, 13)); - - // map = ((SupportMapFragment) - // getActivity().getSupportFragmentManager().findFragmentById(R.id.map)).getMap(); - - // LatLng atlanta = new LatLng(33.749038, -84.388068); - - // map.setMyLocationEnabled(true); - // map.moveCamera(CameraUpdateFactory.newLatLngZoom(atlanta, 13)); - - // Log.d("Jason", "Start"); - - // Hide action bar title on Main Screen - // getActivity().getActionBar().setDisplayShowTitleEnabled(true); - // getActivity().getActionBar().setDisplayShowHomeEnabled(true); - - Intent rService = new Intent(getActivity(), RecordingService.class); - ServiceConnection sc = new ServiceConnection() { - public void onServiceDisconnected(ComponentName name) { - } - - public void onServiceConnected(ComponentName name, IBinder service) { - IRecordService rs = (IRecordService) service; - int state = rs.getState(); - if (state > RecordingService.STATE_IDLE) { - if (state == RecordingService.STATE_FULL) { - startActivity(new Intent(getActivity(), - TripPurposeActivity.class)); - } else { // RECORDING OR PAUSED: - // startActivity(new Intent(MainInput.this, - // RecordingActivity.class)); - } - getActivity().finish(); - } else { - // Idle. First run? Switch to user prefs screen if there are - // no prefs stored yet - // SharedPreferences settings = - // getSharedPreferences("PREFS", 0); - // if (settings.getAll().isEmpty()) { - // showWelcomeDialog(); - // } - // // Not first run - set up the list view of saved trips - // ListView listSavedTrips = (ListView) - // findViewById(R.id.ListSavedTrips); - // populateList(listSavedTrips); - } - getActivity().unbindService(this); // race? this says - // we no longer care - } - }; - // This needs to block until the onServiceConnected (above) completes. - // Thus, we can check the recording status before continuing on. - getActivity().bindService(rService, sc, Context.BIND_AUTO_CREATE); - - // Log.d("Jason", "Start2"); - - // And set up the record button - Button startButton = (Button) rootView.findViewById(R.id.buttonStart); - startButton.setOnClickListener(new View.OnClickListener() { - public void onClick(View v) { - if (isRecording == false) { - // Before we go to record, check GPS status - final LocationManager manager = (LocationManager) getActivity() - .getSystemService(Context.LOCATION_SERVICE); - if (!manager - .isProviderEnabled(LocationManager.GPS_PROVIDER)) { - buildAlertMessageNoGps(); - } else { - // startActivity(i); - // call function in Recording Activity - // Toast.makeText(getApplicationContext(), - // "Start Clicked",Toast.LENGTH_LONG).show(); - startRecording(); - // MainInputActivity.this.finish(); - } - } else if (isRecording == true) { - // pop up: save, discard, cancel - buildAlertMessageSaveClicked(); - } - } - }); - - Button noteThisButton = (Button) rootView - .findViewById(R.id.buttonNoteThis); - noteThisButton.setOnClickListener(new View.OnClickListener() { - public void onClick(View v) { - final LocationManager manager = (LocationManager) getActivity() - .getSystemService(Context.LOCATION_SERVICE); - if (!manager.isProviderEnabled(LocationManager.GPS_PROVIDER)) { - buildAlertMessageNoGps(); - } else { - fi = new Intent(getActivity(), NoteTypeActivity.class); - // update note entity - note = NoteData.createNote(getActivity()); - - fi.putExtra("noteid", note.noteid); - - Log.v("Jason", "Note ID in MainInput: " + note.noteid); - - if (isRecording == true) { - fi.putExtra("isRecording", 1); - } else { - fi.putExtra("isRecording", 0); - } - - note.updateNoteStatus(NoteData.STATUS_INCOMPLETE); - - double currentTime = System.currentTimeMillis(); - - if (currentLocation != null) { - note.addPointNow(currentLocation, currentTime); - - // Log.v("Jason", "Note ID: "+note); - - startActivity(fi); - getActivity().overridePendingTransition( - R.anim.slide_in_right, R.anim.slide_out_left); - // getActivity().finish(); - } else { - Toast.makeText(getActivity(), - "No GPS data acquired; nothing to submit.", - Toast.LENGTH_SHORT).show(); - } - } - } - }); - - // copy from Recording Activity - txtDuration = (TextView) rootView - .findViewById(R.id.textViewElapsedTime); - txtDistance = (TextView) rootView.findViewById(R.id.textViewDistance); - txtCurSpeed = (TextView) rootView.findViewById(R.id.textViewSpeed); - - sdf.setTimeZone(TimeZone.getTimeZone("UTC")); - - return rootView; - } - - // @Override - // public View onCreateView(LayoutInflater inflater, ViewGroup container, - // Bundle savedInstanceState) { - // View rootView = inflater.inflate( - // R.layout.activity_main_input, container, false); - // return rootView; - // } - - public void updateStatus(int points, float distance, float spdCurrent, - float spdMax) { - this.curDistance = distance; - - // fix GPS Issue to ensure this - // // TODO: check task status before doing this? - // if (points > 0) { - // txtStat.setText("" + points + " data points received..."); - // } else { - // txtStat.setText("Waiting for GPS fix..."); - // } - - txtCurSpeed.setText(String.format("%1.1f mph", spdCurrent)); - - float miles = 0.0006212f * distance; - txtDistance.setText(String.format("%1.1f miles", miles)); - } - - void cancelRecording() { - final Button startButton = (Button) getActivity().findViewById( - R.id.buttonStart); - startButton.setText("Start"); - // startButton.setBackgroundColor(0x4d7d36); - Intent rService = new Intent(getActivity(), RecordingService.class); - ServiceConnection sc = new ServiceConnection() { - public void onServiceDisconnected(ComponentName name) { - } - - public void onServiceConnected(ComponentName name, IBinder service) { - IRecordService rs = (IRecordService) service; - rs.cancelRecording(); - getActivity().unbindService(this); - } - }; - // This should block until the onServiceConnected (above) completes. - getActivity().bindService(rService, sc, Context.BIND_AUTO_CREATE); - - isRecording = false; - - txtDuration = (TextView) getActivity().findViewById( - R.id.textViewElapsedTime); - txtDuration.setText("00:00:00"); - txtDistance = (TextView) getActivity().findViewById( - R.id.textViewDistance); - txtDistance.setText("0.0 miles"); - - txtCurSpeed = (TextView) getActivity().findViewById(R.id.textViewSpeed); - txtCurSpeed.setText("0.0 mph"); - } - - void startRecording() { - // Query the RecordingService to figure out what to do. - final Button startButton = (Button) getActivity().findViewById( - R.id.buttonStart); - Intent rService = new Intent(getActivity(), RecordingService.class); - getActivity().startService(rService); - ServiceConnection sc = new ServiceConnection() { - public void onServiceDisconnected(ComponentName name) { - } - - public void onServiceConnected(ComponentName name, IBinder service) { - IRecordService rs = (IRecordService) service; - - switch (rs.getState()) { - case RecordingService.STATE_IDLE: - trip = TripData.createTrip(getActivity()); - rs.startRecording(trip); - isRecording = true; - startButton.setText("Save"); - // startButton.setBackgroundColor(0xFF0000); - // MainInputActivity.this.pauseButton.setEnabled(true); - // MainInputActivity.this - // .setTitle("Cycle Atlanta - Recording..."); - break; - case RecordingService.STATE_RECORDING: - long id = rs.getCurrentTrip(); - trip = TripData.fetchTrip(getActivity(), id); - isRecording = true; - startButton.setText("Save"); - // startButton.setBackgroundColor(0xFF0000); - // MainInputActivity.this.pauseButton.setEnabled(true); - // MainInputActivity.this - // .setTitle("Cycle Atlanta - Recording..."); - break; - // case RecordingService.STATE_PAUSED: - // long tid = rs.getCurrentTrip(); - // isRecording = false; - // trip = TripData.fetchTrip(MainInputActivity.this, tid); - // // MainInputActivity.this.pauseButton.setEnabled(true); - // // MainInputActivity.this.pauseButton.setText("Resume"); - // // MainInputActivity.this - // // .setTitle("Cycle Atlanta - Paused..."); - // break; - case RecordingService.STATE_FULL: - // Should never get here, right? - break; - } - rs.setListener((FragmentMainInput) getActivity() - .getSupportFragmentManager().findFragmentByTag( - "android:switcher:" + R.id.pager + ":0")); - getActivity().unbindService(this); - } - }; - getActivity().bindService(rService, sc, Context.BIND_AUTO_CREATE); - - isRecording = true; - } - - private void buildAlertMessageNoGps() { - final AlertDialog.Builder builder = new AlertDialog.Builder( - getActivity()); - builder.setMessage( - "Your phone's GPS is disabled. Cycle Atlanta needs GPS to determine your location.\n\nGo to System Settings now to enable GPS?") - .setCancelable(false) - .setPositiveButton("GPS Settings...", - new DialogInterface.OnClickListener() { - public void onClick(final DialogInterface dialog, - final int id) { - final ComponentName toLaunch = new ComponentName( - "com.android.settings", - "com.android.settings.SecuritySettings"); - final Intent intent = new Intent( - Settings.ACTION_LOCATION_SOURCE_SETTINGS); - intent.addCategory(Intent.CATEGORY_LAUNCHER); - intent.setComponent(toLaunch); - intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - startActivityForResult(intent, 0); - } - }) - .setNegativeButton("Cancel", - new DialogInterface.OnClickListener() { - public void onClick(final DialogInterface dialog, - final int id) { - dialog.cancel(); - } - }); - final AlertDialog alert = builder.create(); - alert.show(); - } - - private void buildAlertMessageSaveClicked() { - final AlertDialog.Builder builder = new AlertDialog.Builder( - getActivity()); - builder.setTitle("Save Trip"); - builder.setMessage("Do you want to save this trip?"); - builder.setNegativeButton("Save", - new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int id) { - dialog.cancel(); - // save - // If we have points, go to the save-trip activity - // trip.numpoints > 0 - if (trip.numpoints > 0) { - // Handle pause time gracefully - if (trip.pauseStartedAt > 0) { - trip.totalPauseTime += (System - .currentTimeMillis() - trip.pauseStartedAt); - } - if (trip.totalPauseTime > 0) { - trip.endTime = System.currentTimeMillis() - - trip.totalPauseTime; - } - // Save trip so far (points and extent, but no - // purpose or - // notes) - fi = new Intent(getActivity(), - TripPurposeActivity.class); - trip.updateTrip("", "", "", ""); - - startActivity(fi); - getActivity().overridePendingTransition( - R.anim.slide_in_right, - R.anim.slide_out_left); - getActivity().finish(); - } - // Otherwise, cancel and go back to main screen - else { - Toast.makeText(getActivity(), - "No GPS data acquired; nothing to submit.", - Toast.LENGTH_SHORT).show(); - - cancelRecording(); - } - } - }); - - builder.setNeutralButton("Discard", - new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int id) { - dialog.cancel(); - // discard - cancelRecording(); - } - }); - - builder.setPositiveButton("Cancel", - new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int id) { - dialog.cancel(); - // continue - } - }); - final AlertDialog alert = builder.create(); - alert.show(); - } - - void updateTimer() { - if (trip != null && isRecording) { - double dd = System.currentTimeMillis() - trip.startTime - - trip.totalPauseTime; - - txtDuration.setText(sdf.format(dd)); - - // double avgSpeed = 3600.0 * 0.6212 * this.curDistance / dd; - // txtAvgSpeed.setText(String.format("%1.1f mph", avgSpeed)); - } - } - - // onResume is called whenever this activity comes to foreground. - // Use a timer to update the trip duration. - @Override - public void onResume() { - super.onResume(); - - Log.v("Jason", "Cycle: MainInput onResume"); - - timer = new Timer(); - timer.scheduleAtFixedRate(new TimerTask() { - @Override - public void run() { - mHandler.post(mUpdateTimer); - } - }, 0, 1000); // every second - - setUpMapIfNeeded(); - if (map != null) { - // Keep the UI Settings state in sync with the checkboxes. - mUiSettings.setZoomControlsEnabled(true); - mUiSettings.setCompassEnabled(true); - mUiSettings.setMyLocationButtonEnabled(true); - map.setMyLocationEnabled(true); - mUiSettings.setScrollGesturesEnabled(true); - mUiSettings.setZoomGesturesEnabled(true); - mUiSettings.setTiltGesturesEnabled(true); - mUiSettings.setRotateGesturesEnabled(true); - } - setUpLocationClientIfNeeded(); - mLocationClient.connect(); - } - - // Don't do pointless UI updates if the activity isn't being shown. - @Override - public void onPause() { - super.onPause(); - Log.v("Jason", "Cycle: MainInput onPause"); - // Background GPS. - if (timer != null) - timer.cancel(); - if (mLocationClient != null) { - mLocationClient.disconnect(); - } - } - - @Override - public void onDestroyView() { - super.onDestroyView(); - Log.v("Jason", "Cycle: MainInput onDestroyView"); - // Toast.makeText(getActivity(), "Record Destroyed", - // Toast.LENGTH_LONG).show(); - // Fragment fragment = - // (getFragmentManager().findFragmentById(R.id.map)); - // FragmentTransaction ft = getActivity().getSupportFragmentManager() - // .beginTransaction(); - // ft.remove(fragment); - // ft.commit(); - - // cancelRecording(); - } - - private void setUpMapIfNeeded() { - // Do a null check to confirm that we have not already instantiated the - // map. - if (map == null) { - // Try to obtain the map from the SupportMapFragment. - map = ((SupportMapFragment) getActivity() - .getSupportFragmentManager().findFragmentById(R.id.map)) - .getMap(); - // Check if we were successful in obtaining the map. - if (map != null) { - map.setMyLocationEnabled(true); - map.setOnMyLocationButtonClickListener(this); - mUiSettings = map.getUiSettings(); - // centerMapOnMyLocation(); - } - } - } - - // private void centerMapOnMyLocation() { - // // Toast.makeText(getActivity(), "Center", Toast.LENGTH_LONG).show(); - // - // map.setMyLocationEnabled(true); - // - // LocationManager locationManager = (LocationManager) getActivity() - // .getSystemService(Context.LOCATION_SERVICE); - // - // // Creating a criteria object to retrieve provider - // Criteria criteria = new Criteria(); - // - // // Getting the name of the best provider - // String provider = locationManager.getBestProvider(criteria, true); - // - // // Getting Current Location - // Location location = locationManager.getLastKnownLocation(provider); - // - // if (location != null) { - // onLocationChanged(location); - // } - // - // LatLng myLocation; - // - // if (location != null) { - // myLocation = new LatLng(location.getLatitude(), - // location.getLongitude()); - // map.animateCamera(CameraUpdateFactory.newLatLngZoom(myLocation, 16)); - // } - // } - - private void setUpLocationClientIfNeeded() { - if (mLocationClient == null) { - mLocationClient = new LocationClient(getActivity(), this, // ConnectionCallbacks - this); // OnConnectionFailedListener - } - } - - /** - * Implementation of {@link LocationListener}. - */ - @Override - public void onLocationChanged(Location location) { - // onMyLocationButtonClick(); - currentLocation = location; - - // Log.v("Jason", "Current Location: "+currentLocation); - - if (zoomFlag == 1) { - LatLng myLocation; - - if (location != null) { - myLocation = new LatLng(location.getLatitude(), - location.getLongitude()); - map.animateCamera(CameraUpdateFactory.newLatLngZoom(myLocation, - 16)); - zoomFlag = 0; - } - } - } - - /** - * Callback called when connected to GCore. Implementation of - * {@link ConnectionCallbacks}. - */ - @Override - public void onConnected(Bundle connectionHint) { - mLocationClient.requestLocationUpdates(REQUEST, this); // LocationListener - } - - /** - * Callback called when disconnected from GCore. Implementation of - * {@link ConnectionCallbacks}. - */ - @Override - public void onDisconnected() { - // Do nothing - } - - /** - * Implementation of {@link OnConnectionFailedListener}. - */ - @Override - public void onConnectionFailed(ConnectionResult result) { - // Do nothing - } - - @Override - public boolean onMyLocationButtonClick() { - // Toast.makeText(getActivity(), "MyLocation button clicked", - // Toast.LENGTH_SHORT).show(); - // Return false so that we don't consume the event and the default - // behavior still occurs - // (the camera animates to the user's current position). - return false; - } +import edu.gatech.ppl.cycleatlanta.region.ObaRegionsTask; +import edu.gatech.ppl.cycleatlanta.region.elements.ObaRegion; +import edu.gatech.ppl.cycleatlanta.region.utils.LocationHelper; +import edu.gatech.ppl.cycleatlanta.region.utils.LocationUtils; +import edu.gatech.ppl.cycleatlanta.region.utils.MapHelpV2; +import edu.gatech.ppl.cycleatlanta.region.utils.PreferenceUtils; +import edu.gatech.ppl.cycleatlanta.region.utils.RegionUtils; +import edu.gatech.ppl.cycleatlanta.region.utils.UIUtils; + +public class FragmentMainInput extends Fragment implements + OnMyLocationButtonClickListener, LocationHelper.Listener, + ObaRegionsTask.Callback { + + public static final String ARG_SECTION_NUMBER = "section_number"; + + private static final String TAG = "FragmentMainInput"; + + Intent fi; + TripData trip; + NoteData note; + boolean isRecording = false; + Timer timer; + float curDistance; + + TextView txtDuration; + TextView txtDistance; + TextView txtCurSpeed; + + LocationHelper mLocationHelper; + + int zoomFlag = 1; + + Location currentLocation = new Location(""); + + final SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); + + // Need handler for callbacks to the UI thread + final Handler mHandler = new Handler(); + final Runnable mUpdateTimer = new Runnable() { + public void run() { + updateTimer(); + } + }; + + private static final long REGION_UPDATE_THRESHOLD = 1000 * 60 * 60 * 24 * 7; + + private static final String CHECK_REGION_VER = "checkRegionVer"; + + GoogleMap mMap; + UiSettings mUiSettings; + protected GoogleApiClient mGoogleApiClient; + + private static final LocationRequest REQUEST = LocationRequest.create() + .setInterval(5000) // 5 seconds + .setFastestInterval(16) // 16ms = 60fps + .setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY); + + public FragmentMainInput() { + } + + @Override + public void onStart() { + super.onStart(); + // Make sure GoogleApiClient is connected, if available + if (mGoogleApiClient != null && !mGoogleApiClient.isConnected()) { + mGoogleApiClient.connect(); + } + } + + @Override + public void onStop() { + // Tear down GoogleApiClient + if (mGoogleApiClient != null && mGoogleApiClient.isConnected()) { + mGoogleApiClient.disconnect(); + } + super.onStop(); + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + setupGooglePlayServices(); + + mLocationHelper = new LocationHelper(getActivity()); + mLocationHelper.registerListener(this); + + checkRegionStatus(); + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + View rootView = inflater.inflate(R.layout.activity_main_input, + container, false); + setUpMapIfNeeded(); + + Intent rService = new Intent(getActivity(), RecordingService.class); + ServiceConnection sc = new ServiceConnection() { + public void onServiceDisconnected(ComponentName name) { + } + + public void onServiceConnected(ComponentName name, IBinder service) { + IRecordService rs = (IRecordService) service; + int state = rs.getState(); + if (state > RecordingService.STATE_IDLE) { + if (state == RecordingService.STATE_FULL) { + startActivity(new Intent(getActivity(), + TripPurposeActivity.class)); + } + + getActivity().finish(); + } + getActivity().unbindService(this); // race? this says + // we no longer care + } + }; + // This needs to block until the onServiceConnected (above) completes. + // Thus, we can check the recording status before continuing on. + getActivity().bindService(rService, sc, Context.BIND_AUTO_CREATE); + + // Log.d("Jason", "Start2"); + + // And set up the record button + Button startButton = (Button) rootView.findViewById(R.id.buttonStart); + startButton.setOnClickListener(new View.OnClickListener() { + public void onClick(View v) { + if (isRecording == false) { + // Before we go to record, check GPS status + final LocationManager manager = (LocationManager) getActivity() + .getSystemService(Context.LOCATION_SERVICE); + if (!manager + .isProviderEnabled(LocationManager.GPS_PROVIDER)) { + buildAlertMessageNoGps(); + } else { + // startActivity(i); + // call function in Recording Activity + // Toast.makeText(getApplicationContext(), + // "Start Clicked",Toast.LENGTH_LONG).show(); + startRecording(); + // MainInputActivity.this.finish(); + } + } else if (isRecording == true) { + // pop up: save, discard, cancel + buildAlertMessageSaveClicked(); + } + } + }); + + Button noteThisButton = (Button) rootView + .findViewById(R.id.buttonNoteThis); + noteThisButton.setOnClickListener(new View.OnClickListener() { + public void onClick(View v) { + final LocationManager manager = (LocationManager) getActivity() + .getSystemService(Context.LOCATION_SERVICE); + if (!manager.isProviderEnabled(LocationManager.GPS_PROVIDER)) { + buildAlertMessageNoGps(); + } else { + fi = new Intent(getActivity(), NoteTypeActivity.class); + // update note entity + note = NoteData.createNote(getActivity()); + + fi.putExtra("noteid", note.noteid); + + Log.v("Jason", "Note ID in MainInput: " + note.noteid); + + if (isRecording == true) { + fi.putExtra("isRecording", 1); + } else { + fi.putExtra("isRecording", 0); + } + + note.updateNoteStatus(NoteData.STATUS_INCOMPLETE); + + double currentTime = System.currentTimeMillis(); + + if (currentLocation != null) { + note.addPointNow(currentLocation, currentTime); + + // Log.v("Jason", "Note ID: "+note); + + startActivity(fi); + getActivity().overridePendingTransition( + R.anim.slide_in_right, R.anim.slide_out_left); + // getActivity().finish(); + } else { + Toast.makeText(getActivity(), + "No GPS data acquired; nothing to submit.", + Toast.LENGTH_SHORT).show(); + } + } + } + }); + + // copy from Recording Activity + txtDuration = (TextView) rootView + .findViewById(R.id.textViewElapsedTime); + txtDistance = (TextView) rootView.findViewById(R.id.textViewDistance); + txtCurSpeed = (TextView) rootView.findViewById(R.id.textViewSpeed); + + sdf.setTimeZone(TimeZone.getTimeZone("UTC")); + + return rootView; + } + + private void checkRegionStatus() { + //First check for custom API URL set by user via Preferences, since if that is set we don't need region info from the REST API + if (!TextUtils.isEmpty(Application.get().getCustomApiUrl())) { + return; + } + + // Check if region is hard-coded for this build flavor + if (BuildConfig.USE_FIXED_REGION) { + ObaRegion r = RegionUtils.getRegionFromBuildFlavor(); + // Set the hard-coded region + RegionUtils.saveToProvider(getActivity(), Collections.singletonList(r)); + Application.get().setCurrentRegion(r); + // Disable any region auto-selection in preferences + PreferenceUtils + .saveBoolean(getString(R.string.preference_key_auto_select_region), false); + return; + } + + boolean forceReload = false; + boolean showProgressDialog = true; + + //If we don't have region info selected, or if enough time has passed since last region info update, + //force contacting the server again + if (Application.get().getCurrentRegion() == null || + new Date().getTime() - Application.get().getLastRegionUpdateDate() + > REGION_UPDATE_THRESHOLD) { + forceReload = true; + Log.d(TAG, + "Region info has expired (or does not exist), forcing a reload from the server..."); + } + + if (Application.get().getCurrentRegion() != null) { + //We already have region info locally, so just check current region status quietly in the background + showProgressDialog = false; + } + + try { + PackageInfo appInfo = getActivity().getPackageManager().getPackageInfo( + getActivity().getPackageName(), PackageManager.GET_META_DATA); + SharedPreferences settings = Application.getPrefs(); + final int oldVer = settings.getInt(CHECK_REGION_VER, 0); + final int newVer = appInfo.versionCode; + + if (oldVer < newVer) { + forceReload = true; + } + PreferenceUtils.saveInt(CHECK_REGION_VER, appInfo.versionCode); + } catch (PackageManager.NameNotFoundException e) { + // Do nothing + } + + //Check region status, possibly forcing a reload from server and checking proximity to current region + ObaRegionsTask task = new ObaRegionsTask(getActivity(), this, forceReload, + showProgressDialog); + task.execute(); + } + + private void setupGooglePlayServices() { + // Init Google Play Services as early as possible in the Fragment lifecycle to give it time + if (GooglePlayServicesUtil.isGooglePlayServicesAvailable(getActivity()) + == ConnectionResult.SUCCESS) { + mGoogleApiClient = LocationUtils.getGoogleApiClientWithCallbacks(getActivity()); + mGoogleApiClient.connect(); + } + } + + public void updateStatus(int points, float distance, float spdCurrent, + float spdMax) { + this.curDistance = distance; + + txtCurSpeed.setText(String.format("%1.1f mph", spdCurrent)); + + float miles = 0.0006212f * distance; + txtDistance.setText(String.format("%1.1f miles", miles)); + } + + void cancelRecording() { + final Button startButton = (Button) getActivity().findViewById( + R.id.buttonStart); + startButton.setText("Start"); + // startButton.setBackgroundColor(0x4d7d36); + Intent rService = new Intent(getActivity(), RecordingService.class); + ServiceConnection sc = new ServiceConnection() { + public void onServiceDisconnected(ComponentName name) { + } + + public void onServiceConnected(ComponentName name, IBinder service) { + IRecordService rs = (IRecordService) service; + rs.cancelRecording(); + getActivity().unbindService(this); + } + }; + // This should block until the onServiceConnected (above) completes. + getActivity().bindService(rService, sc, Context.BIND_AUTO_CREATE); + + isRecording = false; + + txtDuration = (TextView) getActivity().findViewById( + R.id.textViewElapsedTime); + txtDuration.setText("00:00:00"); + txtDistance = (TextView) getActivity().findViewById( + R.id.textViewDistance); + txtDistance.setText("0.0 miles"); + + txtCurSpeed = (TextView) getActivity().findViewById(R.id.textViewSpeed); + txtCurSpeed.setText("0.0 mph"); + } + + void startRecording() { + // Query the RecordingService to figure out what to do. + final Button startButton = (Button) getActivity().findViewById( + R.id.buttonStart); + Intent rService = new Intent(getActivity(), RecordingService.class); + getActivity().startService(rService); + ServiceConnection sc = new ServiceConnection() { + public void onServiceDisconnected(ComponentName name) { + } + + public void onServiceConnected(ComponentName name, IBinder service) { + IRecordService rs = (IRecordService) service; + + switch (rs.getState()) { + case RecordingService.STATE_IDLE: + trip = TripData.createTrip(getActivity()); + rs.startRecording(trip); + isRecording = true; + startButton.setText("Save"); + // startButton.setBackgroundColor(0xFF0000); + // MainInputActivity.this.pauseButton.setEnabled(true); + // MainInputActivity.this + // .setTitle("Cycle Atlanta - Recording..."); + break; + case RecordingService.STATE_RECORDING: + long id = rs.getCurrentTrip(); + trip = TripData.fetchTrip(getActivity(), id); + isRecording = true; + startButton.setText("Save"); + // startButton.setBackgroundColor(0xFF0000); + // MainInputActivity.this.pauseButton.setEnabled(true); + // MainInputActivity.this + // .setTitle("Cycle Atlanta - Recording..."); + break; + // case RecordingService.STATE_PAUSED: + // long tid = rs.getCurrentTrip(); + // isRecording = false; + // trip = TripData.fetchTrip(MainInputActivity.this, tid); + // // MainInputActivity.this.pauseButton.setEnabled(true); + // // MainInputActivity.this.pauseButton.setText("Resume"); + // // MainInputActivity.this + // // .setTitle("Cycle Atlanta - Paused..."); + // break; + case RecordingService.STATE_FULL: + // Should never get here, right? + break; + } + rs.setListener((FragmentMainInput) getActivity() + .getSupportFragmentManager().findFragmentByTag( + "android:switcher:" + R.id.pager + ":0")); + getActivity().unbindService(this); + } + }; + getActivity().bindService(rService, sc, Context.BIND_AUTO_CREATE); + + isRecording = true; + } + + private void buildAlertMessageNoGps() { + final AlertDialog.Builder builder = new AlertDialog.Builder( + getActivity()); + builder.setMessage( + "Your phone's GPS is disabled. Cycle Atlanta needs GPS to determine your location.\n\nGo to System Settings now to enable GPS?") + .setCancelable(false) + .setPositiveButton("GPS Settings...", + new DialogInterface.OnClickListener() { + public void onClick(final DialogInterface dialog, + final int id) { + final ComponentName toLaunch = new ComponentName( + "com.android.settings", + "com.android.settings.SecuritySettings"); + final Intent intent = new Intent( + Settings.ACTION_LOCATION_SOURCE_SETTINGS); + intent.addCategory(Intent.CATEGORY_LAUNCHER); + intent.setComponent(toLaunch); + intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + startActivityForResult(intent, 0); + } + }) + .setNegativeButton("Cancel", + new DialogInterface.OnClickListener() { + public void onClick(final DialogInterface dialog, + final int id) { + dialog.cancel(); + } + }); + final AlertDialog alert = builder.create(); + alert.show(); + } + + private void buildAlertMessageSaveClicked() { + final AlertDialog.Builder builder = new AlertDialog.Builder( + getActivity()); + builder.setTitle("Save Trip"); + builder.setMessage("Do you want to save this trip?"); + builder.setNegativeButton("Save", + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + dialog.cancel(); + // save + // If we have points, go to the save-trip activity + // trip.numpoints > 0 + if (trip.numpoints > 0) { + // Handle pause time gracefully + if (trip.pauseStartedAt > 0) { + trip.totalPauseTime += (System + .currentTimeMillis() - trip.pauseStartedAt); + } + if (trip.totalPauseTime > 0) { + trip.endTime = System.currentTimeMillis() + - trip.totalPauseTime; + } + // Save trip so far (points and extent, but no + // purpose or + // notes) + fi = new Intent(getActivity(), + TripPurposeActivity.class); + trip.updateTrip("", "", "", ""); + + startActivity(fi); + getActivity().overridePendingTransition( + R.anim.slide_in_right, + R.anim.slide_out_left); + getActivity().finish(); + } + // Otherwise, cancel and go back to main screen + else { + Toast.makeText(getActivity(), + "No GPS data acquired; nothing to submit.", + Toast.LENGTH_SHORT).show(); + + cancelRecording(); + } + } + }); + + builder.setNeutralButton("Discard", + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + dialog.cancel(); + // discard + cancelRecording(); + } + }); + + builder.setPositiveButton("Cancel", + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + dialog.cancel(); + // continue + } + }); + final AlertDialog alert = builder.create(); + alert.show(); + } + + void updateTimer() { + if (trip != null && isRecording) { + double dd = System.currentTimeMillis() - trip.startTime + - trip.totalPauseTime; + + txtDuration.setText(sdf.format(dd)); + + } + } + + // onResume is called whenever this activity comes to foreground. + // Use a timer to update the trip duration. + @Override + public void onResume() { + super.onResume(); + + mLocationHelper.onResume(); + + Log.v("Jason", "Cycle: MainInput onResume"); + + timer = new Timer(); + timer.scheduleAtFixedRate(new TimerTask() { + @Override + public void run() { + mHandler.post(mUpdateTimer); + } + }, 0, 1000); // every second + + setUpMapIfNeeded(); + if (mMap != null) { + // Keep the UI Settings state in sync with the checkboxes. + mUiSettings.setZoomControlsEnabled(true); + mUiSettings.setCompassEnabled(true); + mUiSettings.setMyLocationButtonEnabled(true); + mMap.setMyLocationEnabled(true); + mUiSettings.setScrollGesturesEnabled(true); + mUiSettings.setZoomGesturesEnabled(true); + mUiSettings.setTiltGesturesEnabled(true); + mUiSettings.setRotateGesturesEnabled(true); + } + } + + // Don't do pointless UI updates if the activity isn't being shown. + @Override + public void onPause() { + super.onPause(); + Log.v("Jason", "Cycle: MainInput onPause"); + mLocationHelper.onPause(); + // Background GPS. + if (timer != null) + timer.cancel(); + } + + @Override + public void onDestroyView() { + super.onDestroyView(); + Log.v("Jason", "Cycle: MainInput onDestroyView"); + } + + private void setUpMapIfNeeded() { + // Do a null check to confirm that we have not already instantiated the + // mMap. + if (mMap == null) { + // Try to obtain the mMap from the SupportMapFragment. + + mMap = getMapFragment().getMap(); + // Check if we were successful in obtaining the mMap. + if (mMap != null) { + mMap.setMyLocationEnabled(true); + mMap.setOnMyLocationButtonClickListener(this); + mUiSettings = mMap.getUiSettings(); + // centerMapOnMyLocation(); + } + } + } + + private SupportMapFragment getMapFragment() { + FragmentManager fm = null; + + Log.d(TAG, "sdk: " + Build.VERSION.SDK_INT); + Log.d(TAG, "release: " + Build.VERSION.RELEASE); + + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) { + Log.d(TAG, "using getFragmentManager"); + fm = getFragmentManager(); + } else { + Log.d(TAG, "using getChildFragmentManager"); + fm = getChildFragmentManager(); + } + + return (SupportMapFragment) fm.findFragmentById(R.id.map); + } + + /** + * Implementation of {@link LocationListener}. + */ + @Override + public void onLocationChanged(Location location) { + // onMyLocationButtonClick(); + currentLocation = location; + + // Log.v("Jason", "Current Location: "+currentLocation); + + if (zoomFlag == 1) { + LatLng myLocation; + + if (location != null) { + myLocation = new LatLng(location.getLatitude(), + location.getLongitude()); + mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(myLocation, + 16)); + zoomFlag = 0; + } + } + } + + @Override + public boolean onMyLocationButtonClick() { + // Toast.makeText(getActivity(), "MyLocation button clicked", + // Toast.LENGTH_SHORT).show(); + // Return false so that we don't consume the event and the default + // behavior still occurs + // (the camera animates to the user's current position). + return false; + } + + @Override + public void onRegionTaskFinished(boolean currentRegionChanged) { + if (currentRegionChanged + && Application + .getLastKnownLocation(this.getActivity(), mLocationHelper.getGoogleApiClient()) + == null) { + // Move mMap view after a new region has been selected, if we don't have user location + zoomToRegion(); + } + + // If region changed and was auto-selected, show user what region we're using + if (currentRegionChanged + && Application.getPrefs() + .getBoolean(getString(R.string.preference_key_auto_select_region), true) + && Application.get().getCurrentRegion() != null + && UIUtils.canManageDialog(getActivity())) { + Toast.makeText(getActivity(), getString(R.string.region_region_found, + Application.get().getCurrentRegion().getName()), + Toast.LENGTH_LONG + ).show(); + } + + } + + void zoomToRegion() { + // If we have a region, then zoom to it. + ObaRegion region = Application.get().getCurrentRegion(); + + if (region != null && mMap != null) { + LatLngBounds b = MapHelpV2.getRegionBounds(region); + int padding = 0; + mMap.animateCamera((CameraUpdateFactory.newLatLngBounds(b, padding))); + } + } } \ No newline at end of file diff --git a/src/edu/gatech/ppl/cycleatlanta/FragmentSavedTripsSection.java b/src/edu/gatech/ppl/cycleatlanta/FragmentSavedTripsSection.java index ef5e75d..b1ca2cb 100755 --- a/src/edu/gatech/ppl/cycleatlanta/FragmentSavedTripsSection.java +++ b/src/edu/gatech/ppl/cycleatlanta/FragmentSavedTripsSection.java @@ -1,7 +1,5 @@ package edu.gatech.ppl.cycleatlanta; -import java.util.ArrayList; - import android.app.AlertDialog; import android.content.DialogInterface; import android.content.Intent; @@ -23,422 +21,299 @@ import android.widget.ListView; import android.widget.Toast; +import java.util.ArrayList; + public class FragmentSavedTripsSection extends Fragment { - public static final String ARG_SECTION_NUMBER = "section_number"; - - ListView listSavedTrips; - ActionMode mActionMode; - ArrayList tripIdArray = new ArrayList(); - private MenuItem saveMenuItemDelete, saveMenuItemUpload; - String[] values; - - Long storedID; - - Cursor allTrips; - - public SavedTripsAdapter sta; - - public FragmentSavedTripsSection() { - } - - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, - Bundle savedInstanceState) { - View rootView = inflater.inflate(R.layout.activity_saved_trips, null); - - Log.v("Jason", "Cycle: SavedTrips onCreateView"); - - setHasOptionsMenu(true); - - listSavedTrips = (ListView) rootView - .findViewById(R.id.listViewSavedTrips); - populateTripList(listSavedTrips); - - final DbAdapter mDb = new DbAdapter(getActivity()); - mDb.open(); - - // Clean up any bad trips & coords from crashes - int cleanedTrips = mDb.cleanTripsCoordsTables(); - if (cleanedTrips > 0) { - Toast.makeText(getActivity(), - "" + cleanedTrips + " bad trip(s) removed.", - Toast.LENGTH_SHORT).show(); - } - mDb.close(); - - tripIdArray.clear(); - -// listSavedTrips.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL); -// listSavedTrips -// .setMultiChoiceModeListener(new MultiChoiceModeListener() { -// -// @Override -// public void onItemCheckedStateChanged(ActionMode mode, -// int position, long id, boolean checked) { -// // Here you can do something when items are -// // selected/de-selected, -// // such as update the title in the CAB -// // highlight -// -// if (tripIdArray.indexOf(id) > -1) { -// tripIdArray.remove(id); -// listSavedTrips.getChildAt(position) -// .setBackgroundColor( -// Color.parseColor("#80ffffff")); -// } else { -// tripIdArray.add(id); -// listSavedTrips.getChildAt(position) -// .setBackgroundColor( -// Color.parseColor("#ff33b5e5")); -// } -// -// // Toast.makeText(getActivity(), -// // "Selected: " + tripIdArray, Toast.LENGTH_SHORT) -// // .show(); -// -// if (tripIdArray.size() == 0) { -// saveMenuItemDelete.setEnabled(false); -// } else { -// saveMenuItemDelete.setEnabled(true); -// } -// -// mode.setTitle(tripIdArray.size() + " Selected"); -// } -// -// @Override -// public boolean onActionItemClicked(ActionMode mode, -// MenuItem item) { -// // Respond to clicks on the actions in the CAB -// switch (item.getItemId()) { -// case R.id.action_delete_saved_trips: -// // delete selected trips -// for (int i = 0; i < tripIdArray.size(); i++) { -// deleteTrip(tripIdArray.get(i)); -// } -// mode.finish(); // Action picked, so close the CAB -// return true; -// case R.id.action_upload_saved_trips: -// // upload selected trips -// // for (int i = 0; i < tripIdArray.size(); i++) { -// // retryTripUpload(tripIdArray.get(i)); -// // } -// retryTripUpload(storedID); -// mode.finish(); // Action picked, so close the CAB -// return true; -// default: -// return false; -// } -// } -// -// @Override -// public boolean onCreateActionMode(ActionMode mode, Menu menu) { -// // Inflate the menu for the CAB -// MenuInflater inflater = mode.getMenuInflater(); -// inflater.inflate(R.menu.saved_trips_context_menu, menu); -// return true; -// } -// -// @Override -// public void onDestroyActionMode(ActionMode mode) { -// // Here you can make any necessary updates to the -// // activity when -// // the CAB is removed. By default, selected items are -// // deselected/unchecked. -// mActionMode = null; -// tripIdArray.clear(); -// for (int i = 0; i < listSavedTrips.getCount(); i++) { -// Log.v("Jason", "Count" + listSavedTrips.getCount()); -// Log.v("Jason", -// "Count" + listSavedTrips.getChildCount()); -// if (listSavedTrips.getChildCount() != 0) { -// listSavedTrips.getChildAt(i) -// .setBackgroundColor( -// Color.parseColor("#80ffffff")); -// } -// -// } -// } -// -// @Override -// public boolean onPrepareActionMode(ActionMode mode, -// Menu menu) { -// // Here you can perform updates to the CAB due to -// // an invalidate() request -// Log.v("Jason", "Prepare"); -// saveMenuItemDelete = menu.getItem(0); -// saveMenuItemDelete.setEnabled(false); -// saveMenuItemUpload = menu.getItem(1); -// -// int flag = 1; -// for (int i = 0; i < listSavedTrips.getCount(); i++) { -// allTrips.moveToPosition(i); -// flag = flag -// * (allTrips.getInt(allTrips -// .getColumnIndex("status")) - 1); -// if (flag == 0) { -// storedID = allTrips.getLong(allTrips -// .getColumnIndex("_id")); -// Log.v("Jason", "" + storedID); -// break; -// } -// } -// if (flag == 1) { -// saveMenuItemUpload.setEnabled(false); -// } else { -// saveMenuItemUpload.setEnabled(true); -// } -// -// mode.setTitle(tripIdArray.size() + " Selected"); -// return false; -// } -// }); - - return rootView; - } - - private ActionMode.Callback mActionModeCallback = new ActionMode.Callback() { - - // Called when the action mode is created; startActionMode() was called - @Override - public boolean onCreateActionMode(ActionMode mode, Menu menu) { - // Inflate a menu resource providing context menu items - MenuInflater inflater = mode.getMenuInflater(); - inflater.inflate(R.menu.saved_trips_context_menu, menu); - return true; - } - - // Called each time the action mode is shown. Always called after - // onCreateActionMode, but - // may be called multiple times if the mode is invalidated. - @Override - public boolean onPrepareActionMode(ActionMode mode, Menu menu) { - Log.v("Jason", "Prepare"); - saveMenuItemDelete = menu.getItem(0); - saveMenuItemDelete.setEnabled(false); - saveMenuItemUpload = menu.getItem(1); - - int flag = 1; - for (int i = 0; i < listSavedTrips.getCount(); i++) { - allTrips.moveToPosition(i); - flag = flag - * (allTrips.getInt(allTrips.getColumnIndex("status")) - 1); - if (flag == 0) { - storedID = allTrips.getLong(allTrips.getColumnIndex("_id")); - Log.v("Jason", "" + storedID); - break; - } - } - if (flag == 1) { - saveMenuItemUpload.setEnabled(false); - } else { - saveMenuItemUpload.setEnabled(true); - } - - mode.setTitle(tripIdArray.size() + " Selected"); - return false; // Return false if nothing is done - } - - // Called when the user selects a contextual menu item - @Override - public boolean onActionItemClicked(ActionMode mode, MenuItem item) { - switch (item.getItemId()) { - case R.id.action_delete_saved_trips: - // delete selected trips - for (int i = 0; i < tripIdArray.size(); i++) { - deleteTrip(tripIdArray.get(i)); - } - mode.finish(); // Action picked, so close the CAB - return true; - case R.id.action_upload_saved_trips: - // upload selected trips - // for (int i = 0; i < tripIdArray.size(); i++) { - // retryTripUpload(tripIdArray.get(i)); - // } - // Log.v("Jason", "" + storedID); - retryTripUpload(storedID); - mode.finish(); // Action picked, so close the CAB - return true; - default: - return false; - } - } - - // Called when the user exits the action mode - @Override - public void onDestroyActionMode(ActionMode mode) { - mActionMode = null; - tripIdArray.clear(); - for (int i = 0; i < listSavedTrips.getCount(); i++) { - // Log.v("Jason", "Count" + listSavedTrips.getCount()); - // Log.v("Jason", "Count" + listSavedTrips.getChildCount()); - if (listSavedTrips.getChildCount() != 0) { - listSavedTrips.getChildAt(i).setBackgroundColor( - Color.parseColor("#80ffffff")); - } - } - } - }; - - void populateTripList(ListView lv) { - // Get list from the real phone database. W00t! - final DbAdapter mDb = new DbAdapter(getActivity()); - mDb.open(); - - try { - allTrips = mDb.fetchAllTrips(); - - String[] from = new String[] { "purp", "fancystart", "fancyinfo", - "endtime", "start", "distance", "status" }; - int[] to = new int[] { R.id.TextViewPurpose, R.id.TextViewStart, - R.id.TextViewInfo }; - - sta = new SavedTripsAdapter(getActivity(), - R.layout.saved_trips_list_item, allTrips, from, to, - CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER); - - lv.setAdapter(sta); - } catch (SQLException sqle) { - // Do nothing, for now! - } - mDb.close(); - - lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { - public void onItemClick(AdapterView parent, View v, int pos, - long id) { - allTrips.moveToPosition(pos); - if (mActionMode == null) { - if (allTrips.getInt(allTrips.getColumnIndex("status")) == 2) { - Intent i = new Intent(getActivity(), - TripMapActivity.class); - i.putExtra("showtrip", id); - startActivity(i); - } else if (allTrips.getInt(allTrips - .getColumnIndex("status")) == 1) { - // Toast.makeText(getActivity(), "Unsent", - // Toast.LENGTH_SHORT).show(); - buildAlertMessageUnuploadedTripClicked(id); - - // Log.v("Jason", - // ""+allTrips.getLong(allTrips.getColumnIndex("_id"))); - } - - } else { - // highlight - if (tripIdArray.indexOf(id) > -1) { - tripIdArray.remove(id); - v.setBackgroundColor(Color.parseColor("#80ffffff")); - } else { - tripIdArray.add(id); - v.setBackgroundColor(Color.parseColor("#ff33b5e5")); - } - // Toast.makeText(getActivity(), "Selected: " + tripIdArray, - // Toast.LENGTH_SHORT).show(); - if (tripIdArray.size() == 0) { - saveMenuItemDelete.setEnabled(false); - } else { - saveMenuItemDelete.setEnabled(true); - } - - mActionMode.setTitle(tripIdArray.size() + " Selected"); - } - } - }); - - registerForContextMenu(lv); - } - - private void buildAlertMessageUnuploadedTripClicked(final long position) { - final AlertDialog.Builder builder = new AlertDialog.Builder( - getActivity()); - builder.setTitle("Upload Trip"); - builder.setMessage("Do you want to upload this trip?"); - builder.setNegativeButton("Upload", - new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int id) { - dialog.cancel(); - retryTripUpload(position); - // Toast.makeText(getActivity(),"Send Clicked: "+position, - // Toast.LENGTH_SHORT).show(); - } - }); - - builder.setPositiveButton("Cancel", - new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int id) { - dialog.cancel(); - // continue - } - }); - final AlertDialog alert = builder.create(); - alert.show(); - } - - private void retryTripUpload(long tripId) { - TripUploader uploader = new TripUploader(getActivity()); - FragmentSavedTripsSection f2 = (FragmentSavedTripsSection) getActivity() - .getSupportFragmentManager().findFragmentByTag( - "android:switcher:" + R.id.pager + ":1"); - uploader.setSavedTripsAdapter(sta); - uploader.setFragmentSavedTripsSection(f2); - uploader.setListView(listSavedTrips); - uploader.execute(); - } - - private void deleteTrip(long tripId) { - DbAdapter mDbHelper = new DbAdapter(getActivity()); - mDbHelper.open(); - mDbHelper.deleteAllCoordsForTrip(tripId); - mDbHelper.deleteTrip(tripId); - mDbHelper.close(); - listSavedTrips.invalidate(); - populateTripList(listSavedTrips); - } - - // show edit button and hidden delete button - @Override - public void onResume() { - super.onResume(); - Log.v("Jason", "Cycle: SavedTrips onResume"); - populateTripList(listSavedTrips); - } - - @Override - public void onPause() { - super.onPause(); - Log.v("Jason", "Cycle: SavedTrips onPause"); - } - - @Override - public void onDestroyView() { - super.onDestroyView(); - Log.v("Jason", "Cycle: SavedTrips onDestroyView"); - } - - /* Creates the menu items */ - @Override - public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { - // Inflate the menu items for use in the action bar - inflater.inflate(R.menu.saved_trips, menu); - super.onCreateOptionsMenu(menu, inflater); - } - - /* Handles item selections */ - @Override - public boolean onOptionsItemSelected(MenuItem item) { - // Handle presses on the action bar items - switch (item.getItemId()) { - case R.id.action_edit_saved_trips: - // edit - if (mActionMode != null) { - return false; - } - - // Start the CAB using the ActionMode.Callback defined above - mActionMode = getActivity().startActionMode(mActionModeCallback); - return true; - default: - return super.onOptionsItemSelected(item); - } - } + public static final String ARG_SECTION_NUMBER = "section_number"; + + ListView listSavedTrips; + ActionMode mActionMode; + ArrayList tripIdArray = new ArrayList(); + private MenuItem saveMenuItemDelete, saveMenuItemUpload; + String[] values; + + Long storedID; + + Cursor allTrips; + + public SavedTripsAdapter sta; + + public FragmentSavedTripsSection() { + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + View rootView = inflater.inflate(R.layout.activity_saved_trips, null); + + Log.v("Jason", "Cycle: SavedTrips onCreateView"); + + setHasOptionsMenu(true); + + listSavedTrips = (ListView) rootView + .findViewById(R.id.listViewSavedTrips); + populateTripList(listSavedTrips); + + final DbAdapter mDb = new DbAdapter(getActivity()); + mDb.open(); + + // Clean up any bad trips & coords from crashes + int cleanedTrips = mDb.cleanTripsCoordsTables(); + if (cleanedTrips > 0) { + Toast.makeText(getActivity(), + "" + cleanedTrips + " bad trip(s) removed.", + Toast.LENGTH_SHORT).show(); + } + mDb.close(); + + tripIdArray.clear(); + + return rootView; + } + + private ActionMode.Callback mActionModeCallback = new ActionMode.Callback() { + + // Called when the action mode is created; startActionMode() was called + @Override + public boolean onCreateActionMode(ActionMode mode, Menu menu) { + // Inflate a menu resource providing context menu items + MenuInflater inflater = mode.getMenuInflater(); + inflater.inflate(R.menu.saved_trips_context_menu, menu); + return true; + } + + // Called each time the action mode is shown. Always called after + // onCreateActionMode, but + // may be called multiple times if the mode is invalidated. + @Override + public boolean onPrepareActionMode(ActionMode mode, Menu menu) { + Log.v("Jason", "Prepare"); + saveMenuItemDelete = menu.getItem(0); + saveMenuItemDelete.setEnabled(false); + saveMenuItemUpload = menu.getItem(1); + + int flag = 1; + for (int i = 0; i < listSavedTrips.getCount(); i++) { + allTrips.moveToPosition(i); + flag = flag + * (allTrips.getInt(allTrips.getColumnIndex("status")) - 1); + if (flag == 0) { + storedID = allTrips.getLong(allTrips.getColumnIndex("_id")); + Log.v("Jason", "" + storedID); + break; + } + } + if (flag == 1) { + saveMenuItemUpload.setEnabled(false); + } else { + saveMenuItemUpload.setEnabled(true); + } + + mode.setTitle(tripIdArray.size() + " Selected"); + return false; // Return false if nothing is done + } + + // Called when the user selects a contextual menu item + @Override + public boolean onActionItemClicked(ActionMode mode, MenuItem item) { + switch (item.getItemId()) { + case R.id.action_delete_saved_trips: + // delete selected trips + for (int i = 0; i < tripIdArray.size(); i++) { + deleteTrip(tripIdArray.get(i)); + } + mode.finish(); // Action picked, so close the CAB + return true; + case R.id.action_upload_saved_trips: + // upload selected trips + // for (int i = 0; i < tripIdArray.size(); i++) { + // retryTripUpload(tripIdArray.get(i)); + // } + // Log.v("Jason", "" + storedID); + retryTripUpload(storedID); + mode.finish(); // Action picked, so close the CAB + return true; + default: + return false; + } + } + + // Called when the user exits the action mode + @Override + public void onDestroyActionMode(ActionMode mode) { + mActionMode = null; + tripIdArray.clear(); + for (int i = 0; i < listSavedTrips.getCount(); i++) { + // Log.v("Jason", "Count" + listSavedTrips.getCount()); + // Log.v("Jason", "Count" + listSavedTrips.getChildCount()); + if (listSavedTrips.getChildCount() != 0) { + listSavedTrips.getChildAt(i).setBackgroundColor( + Color.parseColor("#80ffffff")); + } + } + } + }; + + void populateTripList(ListView lv) { + // Get list from the real phone database. W00t! + final DbAdapter mDb = new DbAdapter(getActivity()); + mDb.open(); + + try { + allTrips = mDb.fetchAllTrips(); + + String[] from = new String[]{"purp", "fancystart", "fancyinfo", + "endtime", "start", "distance", "status"}; + int[] to = new int[]{R.id.TextViewPurpose, R.id.TextViewStart, + R.id.TextViewInfo}; + + sta = new SavedTripsAdapter(getActivity(), + R.layout.saved_trips_list_item, allTrips, from, to, + CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER); + + lv.setAdapter(sta); + } catch (SQLException sqle) { + // Do nothing, for now! + } + mDb.close(); + + lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { + public void onItemClick(AdapterView parent, View v, int pos, + long id) { + allTrips.moveToPosition(pos); + if (mActionMode == null) { + if (allTrips.getInt(allTrips.getColumnIndex("status")) == 2) { + Intent i = new Intent(getActivity(), + TripMapActivity.class); + i.putExtra("showtrip", id); + startActivity(i); + } else if (allTrips.getInt(allTrips + .getColumnIndex("status")) == 1) { + // Toast.makeText(getActivity(), "Unsent", + // Toast.LENGTH_SHORT).show(); + buildAlertMessageUnuploadedTripClicked(id); + + // Log.v("Jason", + // ""+allTrips.getLong(allTrips.getColumnIndex("_id"))); + } + + } else { + // highlight + if (tripIdArray.indexOf(id) > -1) { + tripIdArray.remove(id); + v.setBackgroundColor(Color.parseColor("#80ffffff")); + } else { + tripIdArray.add(id); + v.setBackgroundColor(Color.parseColor("#ff33b5e5")); + } + // Toast.makeText(getActivity(), "Selected: " + tripIdArray, + // Toast.LENGTH_SHORT).show(); + if (tripIdArray.size() == 0) { + saveMenuItemDelete.setEnabled(false); + } else { + saveMenuItemDelete.setEnabled(true); + } + + mActionMode.setTitle(tripIdArray.size() + " Selected"); + } + } + }); + + registerForContextMenu(lv); + } + + private void buildAlertMessageUnuploadedTripClicked(final long position) { + final AlertDialog.Builder builder = new AlertDialog.Builder( + getActivity()); + builder.setTitle("Upload Trip"); + builder.setMessage("Do you want to upload this trip?"); + builder.setNegativeButton("Upload", + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + dialog.cancel(); + retryTripUpload(position); + // Toast.makeText(getActivity(),"Send Clicked: "+position, + // Toast.LENGTH_SHORT).show(); + } + }); + + builder.setPositiveButton("Cancel", + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + dialog.cancel(); + // continue + } + }); + final AlertDialog alert = builder.create(); + alert.show(); + } + + private void retryTripUpload(long tripId) { + TripUploader uploader = new TripUploader(getActivity()); + FragmentSavedTripsSection f2 = (FragmentSavedTripsSection) getActivity() + .getSupportFragmentManager().findFragmentByTag( + "android:switcher:" + R.id.pager + ":1"); + uploader.setSavedTripsAdapter(sta); + uploader.setFragmentSavedTripsSection(f2); + uploader.setListView(listSavedTrips); + uploader.execute(); + } + + private void deleteTrip(long tripId) { + DbAdapter mDbHelper = new DbAdapter(getActivity()); + mDbHelper.open(); + mDbHelper.deleteAllCoordsForTrip(tripId); + mDbHelper.deleteTrip(tripId); + mDbHelper.close(); + listSavedTrips.invalidate(); + populateTripList(listSavedTrips); + } + + // show edit button and hidden delete button + @Override + public void onResume() { + super.onResume(); + Log.v("Jason", "Cycle: SavedTrips onResume"); + populateTripList(listSavedTrips); + } + + @Override + public void onPause() { + super.onPause(); + Log.v("Jason", "Cycle: SavedTrips onPause"); + } + + @Override + public void onDestroyView() { + super.onDestroyView(); + Log.v("Jason", "Cycle: SavedTrips onDestroyView"); + } + + /* Creates the menu items */ + @Override + public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { + // Inflate the menu items for use in the action bar + inflater.inflate(R.menu.saved_trips, menu); + super.onCreateOptionsMenu(menu, inflater); + } + + /* Handles item selections */ + @Override + public boolean onOptionsItemSelected(MenuItem item) { + // Handle presses on the action bar items + switch (item.getItemId()) { + case R.id.action_edit_saved_trips: + // edit + if (mActionMode != null) { + return false; + } + + // Start the CAB using the ActionMode.Callback defined above + mActionMode = getActivity().startActionMode(mActionModeCallback); + return true; + default: + return super.onOptionsItemSelected(item); + } + } } diff --git a/src/edu/gatech/ppl/cycleatlanta/FragmentUserInfo.java b/src/edu/gatech/ppl/cycleatlanta/FragmentUserInfo.java index 61f3145..5d0202e 100755 --- a/src/edu/gatech/ppl/cycleatlanta/FragmentUserInfo.java +++ b/src/edu/gatech/ppl/cycleatlanta/FragmentUserInfo.java @@ -1,13 +1,15 @@ package edu.gatech.ppl.cycleatlanta; -import java.util.Map; -import java.util.Map.Entry; - +import android.app.AlertDialog; +import android.content.DialogInterface; import android.content.Intent; import android.content.SharedPreferences; import android.net.Uri; import android.os.Bundle; import android.support.v4.app.Fragment; +import android.support.v4.app.LoaderManager; +import android.support.v4.content.Loader; +import android.util.Patterns; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuInflater; @@ -15,285 +17,380 @@ import android.view.View; import android.view.ViewGroup; import android.view.inputmethod.EditorInfo; +import android.widget.AdapterView; +import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.EditText; import android.widget.Spinner; import android.widget.Toast; -public class FragmentUserInfo extends Fragment { - - public final static int PREF_AGE = 1; - public final static int PREF_ZIPHOME = 2; - public final static int PREF_ZIPWORK = 3; - public final static int PREF_ZIPSCHOOL = 4; - public final static int PREF_EMAIL = 5; - public final static int PREF_GENDER = 6; - public final static int PREF_CYCLEFREQ = 7; - public final static int PREF_ETHNICITY = 8; - public final static int PREF_INCOME = 9; - public final static int PREF_RIDERTYPE = 10; - public final static int PREF_RIDERHISTORY = 11; - - private static final String TAG = "UserPrefActivity"; - - private final static int MENU_SAVE = 0; - - public FragmentUserInfo() { - } - - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, - Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - View rootView = inflater.inflate(R.layout.activity_user_info, - container, false); - // getActivity().getActionBar().setDisplayShowTitleEnabled(true); - // getActivity().getActionBar().setDisplayShowHomeEnabled(true); - - // Don't pop up the soft keyboard until user clicks! - // this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); - - // not using seekbar any more - // SeekBar sb = (SeekBar) findViewById(R.id.SeekCycleFreq); - // sb.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { - // - // @Override - // public void onStopTrackingTouch(SeekBar arg0) { - // // TODO Auto-generated method stub - // } - // - // @Override - // public void onStartTrackingTouch(SeekBar arg0) { - // // TODO Auto-generated method stub - // } - // - // @Override - // public void onProgressChanged(SeekBar arg0, int arg1, boolean arg2) { - // TextView tv = (TextView) findViewById(R.id.TextFreq); - // tv.setText(freqDesc[arg1 / 100]); - // } - // }); - - // put on Cycle Atlanta bar - // Button btn = (Button) findViewById(R.id.saveButton); - // btn.setOnClickListener(new OnClickListener() { - // @Override - // public void onClick(View arg0) { - // Intent intent = new Intent(UserInfoActivity.this, - // MainInput.class); - // startActivity(intent); - // finish(); - // } - // - // }); - - final Button GetStarted = (Button) rootView - .findViewById(R.id.buttonGetStarted); - GetStarted.setOnClickListener(new View.OnClickListener() { - public void onClick(View v) { - // Toast.makeText(getActivity(), "Get Started Clicked", - // Toast.LENGTH_LONG).show(); - Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri - .parse("http://cycleatlanta.org/instructions-v2/")); - startActivity(browserIntent); - } - }); - - SharedPreferences settings = getActivity().getSharedPreferences( - "PREFS", 0); - Map prefs = settings.getAll(); - for (Entry p : prefs.entrySet()) { - int key = Integer.parseInt(p.getKey()); - // CharSequence value = (CharSequence) p.getValue(); - - switch (key) { - case PREF_AGE: - ((Spinner) rootView.findViewById(R.id.ageSpinner)) - .setSelection(((Integer) p.getValue()).intValue()); - break; - case PREF_ETHNICITY: - ((Spinner) rootView.findViewById(R.id.ethnicitySpinner)) - .setSelection(((Integer) p.getValue()).intValue()); - break; - case PREF_INCOME: - ((Spinner) rootView.findViewById(R.id.incomeSpinner)) - .setSelection(((Integer) p.getValue()).intValue()); - break; - case PREF_RIDERTYPE: - ((Spinner) rootView.findViewById(R.id.ridertypeSpinner)) - .setSelection(((Integer) p.getValue()).intValue()); - break; - case PREF_RIDERHISTORY: - ((Spinner) rootView.findViewById(R.id.riderhistorySpinner)) - .setSelection(((Integer) p.getValue()).intValue()); - break; - case PREF_ZIPHOME: - ((EditText) rootView.findViewById(R.id.TextZipHome)) - .setText((CharSequence) p.getValue()); - break; - case PREF_ZIPWORK: - ((EditText) rootView.findViewById(R.id.TextZipWork)) - .setText((CharSequence) p.getValue()); - break; - case PREF_ZIPSCHOOL: - ((EditText) rootView.findViewById(R.id.TextZipSchool)) - .setText((CharSequence) p.getValue()); - break; - case PREF_EMAIL: - ((EditText) rootView.findViewById(R.id.TextEmail)) - .setText((CharSequence) p.getValue()); - break; - case PREF_CYCLEFREQ: - ((Spinner) rootView.findViewById(R.id.cyclefreqSpinner)) - .setSelection(((Integer) p.getValue()).intValue()); - // ((SeekBar) - // findViewById(R.id.SeekCycleFreq)).setProgress(((Integer) - // p.getValue()).intValue()); - break; - case PREF_GENDER: - ((Spinner) rootView.findViewById(R.id.genderSpinner)) - .setSelection(((Integer) p.getValue()).intValue()); - break; - // int x = ((Integer) p.getValue()).intValue(); - // if (x == 2) { - // ((RadioButton) findViewById(R.id.ButtonMale)).setChecked(true); - // } else if (x == 1) { - // ((RadioButton) findViewById(R.id.ButtonFemale)).setChecked(true); - // } - // break; - } - } - - final EditText edittextEmail = (EditText) rootView - .findViewById(R.id.TextEmail); - - edittextEmail.setImeOptions(EditorInfo.IME_ACTION_DONE); - - setHasOptionsMenu(true); - return rootView; - } - - @Override - public void onDestroyView() { - super.onDestroyView(); - // savePreferences(); - } - - public void savePreferences() { - // Toast.makeText(getActivity(), "savePreferences()", - // Toast.LENGTH_LONG).show(); - - // Save user preferences. We need an Editor object to - // make changes. All objects are from android.context.Context - SharedPreferences settings = getActivity().getSharedPreferences( - "PREFS", 0); - SharedPreferences.Editor editor = settings.edit(); - - editor.putInt("" + PREF_AGE, - ((Spinner) getActivity().findViewById(R.id.ageSpinner)) - .getSelectedItemPosition()); - editor.putInt("" + PREF_ETHNICITY, ((Spinner) getActivity() - .findViewById(R.id.ethnicitySpinner)).getSelectedItemPosition()); - editor.putInt("" + PREF_INCOME, - ((Spinner) getActivity().findViewById(R.id.incomeSpinner)) - .getSelectedItemPosition()); - editor.putInt("" + PREF_RIDERTYPE, ((Spinner) getActivity() - .findViewById(R.id.ridertypeSpinner)).getSelectedItemPosition()); - editor.putInt("" + PREF_RIDERHISTORY, ((Spinner) getActivity() - .findViewById(R.id.riderhistorySpinner)) - .getSelectedItemPosition()); - - editor.putString("" + PREF_ZIPHOME, ((EditText) getActivity() - .findViewById(R.id.TextZipHome)).getText().toString()); - editor.putString("" + PREF_ZIPWORK, ((EditText) getActivity() - .findViewById(R.id.TextZipWork)).getText().toString()); - editor.putString("" + PREF_ZIPSCHOOL, ((EditText) getActivity() - .findViewById(R.id.TextZipSchool)).getText().toString()); - editor.putString("" + PREF_EMAIL, ((EditText) getActivity() - .findViewById(R.id.TextEmail)).getText().toString()); - - editor.putInt("" + PREF_CYCLEFREQ, ((Spinner) getActivity() - .findViewById(R.id.cyclefreqSpinner)).getSelectedItemPosition()); - // editor.putInt("" + PREF_CYCLEFREQ, ((SeekBar) - // findViewById(R.id.SeekCycleFreq)).getProgress()); - - editor.putInt("" + PREF_GENDER, - ((Spinner) getActivity().findViewById(R.id.genderSpinner)) - .getSelectedItemPosition()); - // RadioGroup rbg = (RadioGroup) findViewById(R.id.RadioGroup01); - // if (rbg.getCheckedRadioButtonId() == R.id.ButtonMale) { - // editor.putInt("" + PREF_GENDER, 2); - // //Log.v(TAG, "gender=" + 2); - // } - // if (rbg.getCheckedRadioButtonId() == R.id.ButtonFemale) { - // editor.putInt("" + PREF_GENDER, 1); - // //Log.v(TAG, "gender=" + 1); - // } - - // Log.v(TAG, - // "ageIndex=" - // + ((Spinner) findViewById(R.id.ageSpinner)) - // .getSelectedItemPosition()); - // Log.v(TAG, - // "ethnicityIndex=" - // + ((Spinner) findViewById(R.id.ethnicitySpinner)) - // .getSelectedItemPosition()); - // Log.v(TAG, - // "incomeIndex=" - // + ((Spinner) findViewById(R.id.incomeSpinner)) - // .getSelectedItemPosition()); - // Log.v(TAG, - // "ridertypeIndex=" - // + ((Spinner) findViewById(R.id.ridertypeSpinner)) - // .getSelectedItemPosition()); - // Log.v(TAG, - // "riderhistoryIndex=" - // + ((Spinner) findViewById(R.id.riderhistorySpinner)) - // .getSelectedItemPosition()); - // Log.v(TAG, "ziphome=" - // + ((EditText) findViewById(R.id.TextZipHome)).getText() - // .toString()); - // Log.v(TAG, "zipwork=" - // + ((EditText) findViewById(R.id.TextZipWork)).getText() - // .toString()); - // Log.v(TAG, "zipschool=" - // + ((EditText) findViewById(R.id.TextZipSchool)).getText() - // .toString()); - // Log.v(TAG, "email=" - // + ((EditText) findViewById(R.id.TextEmail)).getText() - // .toString()); - // Log.v(TAG, - // "frequency=" - // + ((SeekBar) findViewById(R.id.SeekCycleFreq)) - // .getProgress() / 100); - - // Don't forget to commit your edits!!! - editor.commit(); - Toast.makeText(getActivity(), "User information saved.", - Toast.LENGTH_SHORT).show(); - // Toast.makeText(getActivity(), ""+((Spinner) - // getActivity().findViewById(R.id.ageSpinner)).getSelectedItemPosition(), - // Toast.LENGTH_LONG).show(); - } - - /* Creates the menu items */ - @Override - public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { - // Inflate the menu items for use in the action bar - inflater.inflate(R.menu.user_info, menu); - super.onCreateOptionsMenu(menu, inflater); - } - - /* Handles item selections */ - @Override - public boolean onOptionsItemSelected(MenuItem item) { - // Handle presses on the action bar items - switch (item.getItemId()) { - case R.id.action_save_user_info: - savePreferences(); - return true; - default: - return super.onOptionsItemSelected(item); - } - } +import java.net.MalformedURLException; +import java.net.URL; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + +import edu.gatech.ppl.cycleatlanta.region.ObaRegionsLoader; +import edu.gatech.ppl.cycleatlanta.region.elements.ObaRegion; +import edu.gatech.ppl.cycleatlanta.region.utils.PreferenceUtils; + +public class FragmentUserInfo extends Fragment implements + LoaderManager.LoaderCallbacks> { + + public final static int PREF_AGE = 1; + public final static int PREF_ZIPHOME = 2; + public final static int PREF_ZIPWORK = 3; + public final static int PREF_ZIPSCHOOL = 4; + public final static int PREF_EMAIL = 5; + public final static int PREF_GENDER = 6; + public final static int PREF_CYCLEFREQ = 7; + public final static int PREF_ETHNICITY = 8; + public final static int PREF_INCOME = 9; + public final static int PREF_RIDERTYPE = 10; + public final static int PREF_RIDERHISTORY = 11; + + private static final String RELOAD = ".reload"; + + private Spinner regionSpinner; + + private List mObaRegions; + + private boolean mLoaderCheck = false; + + public FragmentUserInfo() { + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + View rootView = inflater.inflate(R.layout.activity_user_info, + container, false); + final Button getStarted = (Button) rootView + .findViewById(R.id.buttonGetStarted); + getStarted.setOnClickListener(new View.OnClickListener() { + public void onClick(View v) { + ObaRegion currentRegion = Application.get().getCurrentRegion(); + + if (currentRegion != null) { + String tutorialUrl = currentRegion.getTutorialUrl(); + Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri + .parse(tutorialUrl)); + startActivity(browserIntent); + } + } + }); + + if (Application.get().getCurrentRegion() == null) { + getStarted.setVisibility(View.GONE); + } + + SharedPreferences settings = getActivity().getSharedPreferences( + "PREFS", 0); + Map prefs = settings.getAll(); + for (Entry p : prefs.entrySet()) { + int key = Integer.parseInt(p.getKey()); + + switch (key) { + case PREF_AGE: + ((Spinner) rootView.findViewById(R.id.ageSpinner)) + .setSelection(((Integer) p.getValue()).intValue()); + break; + case PREF_ETHNICITY: + ((Spinner) rootView.findViewById(R.id.ethnicitySpinner)) + .setSelection(((Integer) p.getValue()).intValue()); + break; + case PREF_INCOME: + ((Spinner) rootView.findViewById(R.id.incomeSpinner)) + .setSelection(((Integer) p.getValue()).intValue()); + break; + case PREF_RIDERTYPE: + ((Spinner) rootView.findViewById(R.id.ridertypeSpinner)) + .setSelection(((Integer) p.getValue()).intValue()); + break; + case PREF_RIDERHISTORY: + ((Spinner) rootView.findViewById(R.id.riderhistorySpinner)) + .setSelection(((Integer) p.getValue()).intValue()); + break; + case PREF_ZIPHOME: + ((EditText) rootView.findViewById(R.id.TextZipHome)) + .setText((CharSequence) p.getValue()); + break; + case PREF_ZIPWORK: + ((EditText) rootView.findViewById(R.id.TextZipWork)) + .setText((CharSequence) p.getValue()); + break; + case PREF_ZIPSCHOOL: + ((EditText) rootView.findViewById(R.id.TextZipSchool)) + .setText((CharSequence) p.getValue()); + break; + case PREF_EMAIL: + ((EditText) rootView.findViewById(R.id.TextEmail)) + .setText((CharSequence) p.getValue()); + break; + case PREF_CYCLEFREQ: + ((Spinner) rootView.findViewById(R.id.cyclefreqSpinner)) + .setSelection(((Integer) p.getValue()).intValue()); + break; + case PREF_GENDER: + ((Spinner) rootView.findViewById(R.id.genderSpinner)) + .setSelection(((Integer) p.getValue()).intValue()); + break; + } + } + + final EditText edittextEmail = (EditText) rootView + .findViewById(R.id.TextEmail); + + edittextEmail.setImeOptions(EditorInfo.IME_ACTION_DONE); + + setHasOptionsMenu(true); + return rootView; + } + + @Override + public void onActivityCreated(Bundle savedInstanceState) { + super.onActivityCreated(savedInstanceState); + initRegions(); + } + + private void initRegions() { + regionSpinner = (Spinner) getActivity().findViewById(R.id.regionsSpinner); + + Bundle args = new Bundle(); + args.putBoolean(RELOAD, false); + getLoaderManager().initLoader(0, args, this); + + regionSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { + @Override + public void onItemSelected(AdapterView parent, View view, int position, long id) { + if (mLoaderCheck) { + mLoaderCheck = false; + return; + } + if (mObaRegions != null && position < mObaRegions.size()) { + ObaRegion selectedRegion = mObaRegions.get(position); + Application.get().setCurrentRegion(selectedRegion); + Application.get().setCustomApiUrl(null); + PreferenceUtils + .saveBoolean(getString(R.string.preference_key_auto_select_region), false); + } else if (mObaRegions != null && mObaRegions.size() == position) { + showCustomApiDialog(); + } + } + + @Override + public void onNothingSelected(AdapterView parent) { + + } + }); + } + + private void showCustomApiDialog() { + AlertDialog.Builder alert = new AlertDialog.Builder(getActivity()); + final EditText edittext = new EditText(getActivity()); + alert.setTitle(getActivity().getString(R.string.custom_api_server_title)); + + alert.setView(edittext); + + alert.setPositiveButton("OK", new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int whichButton) { + String value = edittext.getText().toString(); + String validValue = validateUrl(value); + if (validValue != null) { + setCustomApiUrl(validValue); + } else { + resetSelection(); + Toast.makeText(getActivity(), getString(R.string.custom_api_url_error), + Toast.LENGTH_SHORT).show(); + } + } + }); + + alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int whichButton) { + resetSelection(); + } + }); + + alert.show(); + } + + private void resetSelection() { + ArrayList arraySpinner = new ArrayList(); + ObaRegion currentRegion = Application.get().getCurrentRegion(); + int selection = 0; + int i = 0; + + for (ObaRegion r : mObaRegions) { + arraySpinner.add(r.getName()); + if (currentRegion != null && r.getId() == currentRegion.getId()) { + selection = i; + } + i++; + } + + arraySpinner.add(getActivity().getString(R.string.custom_api_server)); + + ArrayAdapter adapter = new ArrayAdapter(getActivity(), + android.R.layout.simple_list_item_1, arraySpinner); + regionSpinner.setAdapter(adapter); + regionSpinner.setSelection(selection); + } + + private void setCustomApiUrl(String value) { + Application.get().setCurrentRegion(null); + Application.get().setCustomApiUrl(value); + + ArrayList arraySpinner = new ArrayList(); + + for (ObaRegion r : mObaRegions) { + arraySpinner.add(r.getName()); + } + + arraySpinner.add(getActivity().getString(R.string.custom_api_server)); + + arraySpinner.add(value); + + ArrayAdapter adapter = new ArrayAdapter(getActivity(), + android.R.layout.simple_list_item_1, arraySpinner); + regionSpinner.setAdapter(adapter); + regionSpinner.setSelection(arraySpinner.size() - 1); + } + + /** + * Returns true if the provided apiUrl could be a valid URL, false if it could not + * + * @param apiUrl the URL to validate + * @return true if the provided apiUrl could be a valid URL, false if it could not + */ + private String validateUrl(String apiUrl) { + if (apiUrl == null) return null; + + try { + // URI.parse() doesn't tell us if the scheme is missing, so use URL() instead (#126) + URL url = new URL(apiUrl); + } catch (MalformedURLException e) { + // Assume HTTP scheme if none is provided + apiUrl = getString(R.string.http_prefix) + apiUrl; + return apiUrl; + } + if (Patterns.WEB_URL.matcher(apiUrl).matches()) + return apiUrl; + else + return null; + } + + @Override + public void onDestroyView() { + super.onDestroyView(); + } + + public void savePreferences() { + SharedPreferences settings = getActivity().getSharedPreferences( + "PREFS", 0); + SharedPreferences.Editor editor = settings.edit(); + + editor.putInt("" + PREF_AGE, + ((Spinner) getActivity().findViewById(R.id.ageSpinner)) + .getSelectedItemPosition()); + editor.putInt("" + PREF_ETHNICITY, ((Spinner) getActivity() + .findViewById(R.id.ethnicitySpinner)).getSelectedItemPosition()); + editor.putInt("" + PREF_INCOME, + ((Spinner) getActivity().findViewById(R.id.incomeSpinner)) + .getSelectedItemPosition()); + editor.putInt("" + PREF_RIDERTYPE, ((Spinner) getActivity() + .findViewById(R.id.ridertypeSpinner)).getSelectedItemPosition()); + editor.putInt("" + PREF_RIDERHISTORY, ((Spinner) getActivity() + .findViewById(R.id.riderhistorySpinner)) + .getSelectedItemPosition()); + + editor.putString("" + PREF_ZIPHOME, ((EditText) getActivity() + .findViewById(R.id.TextZipHome)).getText().toString()); + editor.putString("" + PREF_ZIPWORK, ((EditText) getActivity() + .findViewById(R.id.TextZipWork)).getText().toString()); + editor.putString("" + PREF_ZIPSCHOOL, ((EditText) getActivity() + .findViewById(R.id.TextZipSchool)).getText().toString()); + editor.putString("" + PREF_EMAIL, ((EditText) getActivity() + .findViewById(R.id.TextEmail)).getText().toString()); + + editor.putInt("" + PREF_CYCLEFREQ, ((Spinner) getActivity() + .findViewById(R.id.cyclefreqSpinner)).getSelectedItemPosition()); + + editor.putInt("" + PREF_GENDER, + ((Spinner) getActivity().findViewById(R.id.genderSpinner)) + .getSelectedItemPosition()); + + // Don't forget to commit your edits!!! + editor.commit(); + Toast.makeText(getActivity(), "User information saved.", + Toast.LENGTH_SHORT).show(); + } + + /* Creates the menu items */ + @Override + public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { + // Inflate the menu items for use in the action bar + inflater.inflate(R.menu.user_info, menu); + super.onCreateOptionsMenu(menu, inflater); + } + + /* Handles item selections */ + @Override + public boolean onOptionsItemSelected(MenuItem item) { + // Handle presses on the action bar items + switch (item.getItemId()) { + case R.id.action_save_user_info: + savePreferences(); + return true; + default: + return super.onOptionsItemSelected(item); + } + } + + @Override + public Loader> onCreateLoader(int id, Bundle args) { + boolean refresh = args.getBoolean(RELOAD); + return new ObaRegionsLoader(getActivity(), refresh); + } + + @Override + public void onLoadFinished(Loader> loader, ArrayList data) { + mObaRegions = data; + mLoaderCheck = true; + + ArrayList arraySpinner = new ArrayList(); + ObaRegion currentRegion = Application.get().getCurrentRegion(); + String customApiUrl = Application.get().getCustomApiUrl(); + int selection = 0; + int i = 0; + + for (ObaRegion r : data) { + arraySpinner.add(r.getName()); + if (currentRegion != null && r.getId() == currentRegion.getId()) { + selection = i; + } + i++; + } + + arraySpinner.add(getActivity().getString(R.string.custom_api_server)); + + if (currentRegion == null && customApiUrl != null) { + // Add the custom api to beginning of the list + arraySpinner.add(customApiUrl); + selection = arraySpinner.size() - 1; + } + + + ArrayAdapter adapter = new ArrayAdapter(getActivity(), + android.R.layout.simple_list_item_1, arraySpinner); + regionSpinner.setAdapter(adapter); + regionSpinner.setSelection(selection); + } + + @Override + public void onLoaderReset(Loader> loader) { + + } } \ No newline at end of file diff --git a/src/edu/gatech/ppl/cycleatlanta/NoteDetailActivity.java b/src/edu/gatech/ppl/cycleatlanta/NoteDetailActivity.java index fff3b5a..094959e 100755 --- a/src/edu/gatech/ppl/cycleatlanta/NoteDetailActivity.java +++ b/src/edu/gatech/ppl/cycleatlanta/NoteDetailActivity.java @@ -109,10 +109,6 @@ void submit(String noteDetailsToUpload, byte[] noteImage) { note.updateNoteStatus(NoteData.STATUS_COMPLETE); - // Now create the MainInput Activity so BACK btn works properly - // Should not use this. - - // TODO: note uploader if (note.notestatus < NoteData.STATUS_SENT) { // And upload to the cloud database, too! W00t W00t! NoteUploader uploader = new NoteUploader(NoteDetailActivity.this); @@ -124,7 +120,7 @@ void submit(String noteDetailsToUpload, byte[] noteImage) { Intent i = new Intent(getApplicationContext(), TabsConfig.class); startActivity(i); - // And, show the map! + // And, show the mMap! xi.putExtra("shownote", note.noteid); xi.putExtra("uploadNote", true); Log.v("Jason", "Noteid: " + String.valueOf(note.noteid)); diff --git a/src/edu/gatech/ppl/cycleatlanta/NoteMapActivity.java b/src/edu/gatech/ppl/cycleatlanta/NoteMapActivity.java index 1a84363..ca4498e 100755 --- a/src/edu/gatech/ppl/cycleatlanta/NoteMapActivity.java +++ b/src/edu/gatech/ppl/cycleatlanta/NoteMapActivity.java @@ -69,7 +69,7 @@ protected void onCreate(Bundle savedInstanceState) { t2.setText(note.notedetails); t3.setText(note.notefancystart); - // Center & zoom the map + // Center & zoom the mMap LatLng center = new LatLng(note.latitude * 1E-6, note.longitude * 1E-6); @@ -150,14 +150,14 @@ public boolean onOptionsItemSelected(MenuItem item) { // close -> go back to FragmentMainInput onBackPressed(); case R.id.action_switch_note_view: - // animation for map and image.. + // animation for mMap and image.. if (saveMenuItem.getTitle().equals("image")) { - saveMenuItem.setTitle("map"); + saveMenuItem.setTitle("mMap"); Animation animFadeIn = AnimationUtils.loadAnimation( getApplicationContext(), android.R.anim.fade_in); imageView.setAnimation(animFadeIn); imageView.setVisibility(View.VISIBLE); - } else if (saveMenuItem.getTitle().equals("map")) { + } else if (saveMenuItem.getTitle().equals("mMap")) { saveMenuItem.setTitle("image"); Animation animFadeOut = AnimationUtils.loadAnimation( getApplicationContext(), android.R.anim.fade_out); diff --git a/src/edu/gatech/ppl/cycleatlanta/NoteTypeActivity.java b/src/edu/gatech/ppl/cycleatlanta/NoteTypeActivity.java index 2816dc8..e7f1cc3 100755 --- a/src/edu/gatech/ppl/cycleatlanta/NoteTypeActivity.java +++ b/src/edu/gatech/ppl/cycleatlanta/NoteTypeActivity.java @@ -40,12 +40,12 @@ void prepareNoteTypeButtons() { // Note Issue noteTypeDescriptions .put(0, - "HereÕs a spot where the road needs to be repaired (pothole, rough concrete, gravel in the road, manhole cover, sewer grate)."); + "Here-s a spot where the road needs to be repaired (pothole, rough concrete, gravel in the road, manhole cover, sewer grate)."); noteTypeDescriptions.put(1, - "HereÕs a signal that you canÕt activate with your bike."); + "Here-s a signal that you can-t activate with your bike."); noteTypeDescriptions .put(2, - "The bike lane is always blocked here, cars disobey \"no right on red\"É anything where the cops can help make cycling safer."); + "The bike lane is always blocked here, cars disobey \"no right on red\"- anything where the cops can help make cycling safer."); noteTypeDescriptions.put(3, "You need a bike rack to secure your bike here."); noteTypeDescriptions @@ -64,16 +64,16 @@ void prepareNoteTypeButtons() { "Have a flat, a broken chain, or spongy brakes? Or do you need a bike to jump into this world of cycling in the first place? Here's a shop ready to help."); noteTypeDescriptions .put(8, - "Help us make cycling mainstreamÉ hereÕs a place to refresh yourself before you re-enter the fashionable world of Atlanta."); + "Help us make cycling mainstream- here-s a place to refresh yourself before you re-enter the fashionable world of Atlanta."); noteTypeDescriptions .put(9, "Here's an access point under the tracks, through the park, onto a trail, or over a ravine."); noteTypeDescriptions .put(10, - "HereÕs a spot to fill your bottle on those hot summer daysÉ stay hydrated, people. We need you."); + "Here-s a spot to fill your bottle on those hot summer days- stay hydrated, people. We need you."); noteTypeDescriptions .put(11, - "Anything else we should map to help your fellow cyclists? Share the details."); + "Anything else we should mMap to help your fellow cyclists? Share the details."); } @Override @@ -117,9 +117,6 @@ public void clearSelection() { @Override public void onItemClick(AdapterView parent, View view, int position, long id) { - // TODO Auto-generated method stub - // view.setSelected(true); - // view.setBackgroundDrawable(parent.getResources().getDrawable(R.drawable.bg_key)); clearSelection(); oldSelection = view; view.setBackgroundColor(Color.parseColor("#ff33b5e5")); diff --git a/src/edu/gatech/ppl/cycleatlanta/NoteUploader.java b/src/edu/gatech/ppl/cycleatlanta/NoteUploader.java index 4a42c48..590c398 100644 --- a/src/edu/gatech/ppl/cycleatlanta/NoteUploader.java +++ b/src/edu/gatech/ppl/cycleatlanta/NoteUploader.java @@ -50,6 +50,8 @@ import android.widget.ListView; import android.widget.Toast; +import edu.gatech.ppl.cycleatlanta.region.elements.ObaRegion; + public class NoteUploader extends AsyncTask { Context mCtx; DbAdapter mDb; @@ -232,27 +234,13 @@ public String getDeviceId() { boolean uploadOneNote(long currentNoteId) { boolean result = false; - final String postUrl = "http://cycleatlanta.org/post_dev/"; - - // byte[] postBodyDataZipped; - // - // BasicHttpEntity postBodyEntity; - // - // List nameValuePairs; - // try { - // postBodyEntity = getPostData(currentNoteId); - // } catch (JSONException e) { - // e.printStackTrace(); - // return result; - // } catch (IOException e) { - // e.printStackTrace(); - // return result; - // } - // - // HttpClient client = new DefaultHttpClient(); - // // TODO: Server URL - // final String postUrl = "http://cycleatlanta.org/post_dev/"; - // HttpPost postRequest = new HttpPost(postUrl); + ObaRegion currentRegion = Application.get().getCurrentRegion(); + String postUrl; + if (currentRegion != null) { + postUrl = currentRegion.getBaseUrl(); + } else { + postUrl = Application.get().getCustomApiUrl(); + } try { diff --git a/src/edu/gatech/ppl/cycleatlanta/TabsConfig.java b/src/edu/gatech/ppl/cycleatlanta/TabsConfig.java index 7c18477..39c50ee 100755 --- a/src/edu/gatech/ppl/cycleatlanta/TabsConfig.java +++ b/src/edu/gatech/ppl/cycleatlanta/TabsConfig.java @@ -141,25 +141,21 @@ public void onTabUnselected(ActionBar.Tab tab, mViewPager.startActionMode(new ActionMode.Callback() { @Override public boolean onPrepareActionMode(ActionMode mode, Menu menu) { - // TODO Auto-generated method stub return false; } @Override public void onDestroyActionMode(ActionMode mode) { - // TODO Auto-generated method stub } @Override public boolean onCreateActionMode(ActionMode mode, Menu menu) { - // TODO Auto-generated method stub return false; } @Override public boolean onActionItemClicked(ActionMode mode, MenuItem item) { - // TODO Auto-generated method stub return false; } }); diff --git a/src/edu/gatech/ppl/cycleatlanta/TripDetailActivity.java b/src/edu/gatech/ppl/cycleatlanta/TripDetailActivity.java index bb346fb..8af1ac2 100755 --- a/src/edu/gatech/ppl/cycleatlanta/TripDetailActivity.java +++ b/src/edu/gatech/ppl/cycleatlanta/TripDetailActivity.java @@ -68,7 +68,7 @@ void submit(String notesToUpload) { Intent i = new Intent(getApplicationContext(), TabsConfig.class); startActivity(i); - // And, show the map! + // And, show the mMap! xi.putExtra("showtrip", trip.tripid); xi.putExtra("uploadTrip", true); Log.v("Jason", "Tripid: " + String.valueOf(trip.tripid)); diff --git a/src/edu/gatech/ppl/cycleatlanta/TripMapActivity.java b/src/edu/gatech/ppl/cycleatlanta/TripMapActivity.java index d604c96..981f4e2 100755 --- a/src/edu/gatech/ppl/cycleatlanta/TripMapActivity.java +++ b/src/edu/gatech/ppl/cycleatlanta/TripMapActivity.java @@ -74,7 +74,7 @@ public void onCreate(Bundle savedInstanceState) { setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); - // Toast.makeText(this, "trip map", Toast.LENGTH_LONG).show(); + // Toast.makeText(this, "trip mMap", Toast.LENGTH_LONG).show(); try { // Set zoom controls @@ -100,12 +100,12 @@ public void onCreate(Bundle savedInstanceState) { t2.setText(trip.info); t3.setText(trip.fancystart); - // Center & zoom the map + // Center & zoom the mMap // int latcenter = (trip.lathigh + trip.latlow) / 2; // int lgtcenter = (trip.lgthigh + trip.lgtlow) / 2; // LatLng center = new LatLng(latcenter, lgtcenter); - // map.animateCamera(CameraUpdateFactory.newLatLngZoom(center,16)); + // mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(center,16)); // trip = trips[0]; // always get just the first trip @@ -153,14 +153,14 @@ public void onCreate(Bundle savedInstanceState) { Log.v("Jason", String.valueOf(gpspoints.size())); // //startpoint - // map.addMarker(new MarkerOptions() + // mMap.addMarker(new MarkerOptions() // .icon(BitmapDescriptorFactory.fromResource(R.drawable.pingreen)) // .anchor(0.0f, 1.0f) // Anchors the marker on the bottom left // .position(new LatLng(gpspoints.get(0).latitude*1E-6, // gpspoints.get(0).longitude*1E-6))); // // //endpoint - // map.addMarker(new MarkerOptions() + // mMap.addMarker(new MarkerOptions() // .icon(BitmapDescriptorFactory.fromResource(R.drawable.pinpurple)) // .anchor(0.0f, 1.0f) // Anchors the marker on the bottom left // .position(new @@ -178,7 +178,7 @@ public void onCreate(Bundle savedInstanceState) { polyline = map.addPolyline(rectOptions); - // map.moveCamera(CameraUpdateFactory.newLatLngBounds(bounds.build(), + // mMap.moveCamera(CameraUpdateFactory.newLatLngBounds(bounds.build(), // 480, 320, 10)); map.setOnCameraChangeListener(new OnCameraChangeListener() { @@ -195,7 +195,7 @@ public void onCameraChange(CameraPosition arg0) { // MapController mc = mapView.getController(); // mc.animateTo(center); - // Add 500 to map span, to guarantee pins fit on map + // Add 500 to mMap span, to guarantee pins fit on mMap // mc.zoomToSpan(500+trip.lathigh - trip.latlow, 500+trip.lgthigh - // trip.lgtlow); @@ -228,7 +228,7 @@ public void onCameraChange(CameraPosition arg0) { @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && map != null) { - // map.getOverlays().clear(); + // mMap.getOverlays().clear(); polyline.remove(); } return super.onKeyDown(keyCode, event); @@ -300,7 +300,7 @@ public boolean onOptionsItemSelected(MenuItem item) { // mapOverlays.add(new PushPinOverlay(trip.endpoint, R.drawable.pinpurple)); // } // - // // Redraw the map + // // Redraw the mMap // mapView.invalidate(); // } // } diff --git a/src/edu/gatech/ppl/cycleatlanta/TripPurposeActivity.java b/src/edu/gatech/ppl/cycleatlanta/TripPurposeActivity.java index 337c4c5..432e31c 100755 --- a/src/edu/gatech/ppl/cycleatlanta/TripPurposeActivity.java +++ b/src/edu/gatech/ppl/cycleatlanta/TripPurposeActivity.java @@ -147,9 +147,6 @@ public void clearSelection() { @Override public void onItemClick(AdapterView parent, View view, int position, long id) { - // TODO Auto-generated method stub - // view.setSelected(true); - // view.setBackgroundDrawable(parent.getResources().getDrawable(R.drawable.bg_key)); clearSelection(); oldSelection = view; view.setBackgroundColor(Color.parseColor("#ff33b5e5")); diff --git a/src/edu/gatech/ppl/cycleatlanta/TripUploader.java b/src/edu/gatech/ppl/cycleatlanta/TripUploader.java index cf01ae3..b4776e2 100755 --- a/src/edu/gatech/ppl/cycleatlanta/TripUploader.java +++ b/src/edu/gatech/ppl/cycleatlanta/TripUploader.java @@ -66,6 +66,8 @@ import android.widget.ListView; import android.widget.Toast; +import edu.gatech.ppl.cycleatlanta.region.elements.ObaRegion; + public class TripUploader extends AsyncTask { Context mCtx; DbAdapter mDb; @@ -116,7 +118,7 @@ private JSONObject getCoordsJSON(long tripId) throws JSONException { mDb.openReadOnly(); Cursor tripCoordsCursor = mDb.fetchAllCoordsForTrip(tripId); - // Build the map between JSON fieldname and phone db fieldname: + // Build the mMap between JSON fieldname and phone db fieldname: Map fieldMap = new HashMap(); fieldMap.put(TRIP_COORDS_TIME, tripCoordsCursor.getColumnIndex(DbAdapter.K_POINT_TIME)); @@ -371,8 +373,14 @@ boolean uploadOneTrip(long currentTripId) { } HttpClient client = new DefaultHttpClient(); - // TODO: Server URL - final String postUrl = "http://cycleatlanta.org/post_dev/"; + ObaRegion currentRegion = Application.get().getCurrentRegion(); + String postUrl; + if (currentRegion != null) { + postUrl = currentRegion.getBaseUrl(); + } else { + postUrl = Application.get().getCustomApiUrl(); + } + HttpPost postRequest = new HttpPost(postUrl); try { diff --git a/src/edu/gatech/ppl/cycleatlanta/provider/ObaContract.java b/src/edu/gatech/ppl/cycleatlanta/provider/ObaContract.java new file mode 100644 index 0000000..ce8a9a8 --- /dev/null +++ b/src/edu/gatech/ppl/cycleatlanta/provider/ObaContract.java @@ -0,0 +1,407 @@ +/* + * Copyright (C) 2010-2015 Paul Watts (paulcwatts@gmail.com), + * University of South Florida (sjbarbeau@gmail.com), + * Benjamin Du (bendu@me.com) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package edu.gatech.ppl.cycleatlanta.provider; + +import android.content.ContentResolver; +import android.content.ContentUris; +import android.content.ContentValues; +import android.content.Context; +import android.database.Cursor; +import android.net.Uri; +import android.provider.BaseColumns; + +import edu.gatech.ppl.cycleatlanta.BuildConfig; +import edu.gatech.ppl.cycleatlanta.region.elements.ObaRegion; +import edu.gatech.ppl.cycleatlanta.region.elements.ObaRegionElement; + +/** + * The contract between clients and the ObaProvider. + * + * This really needs to be documented better. + * + * NOTE: The AUTHORITY names in this class cannot be changed. They need to stay under the + * BuildConfig.DATABASE_AUTHORITY namespace (for the original OBA brand, "com.joulespersecond.oba") + * namespace to support backwards compatibility with existing installed apps + * + * @author paulw + */ +public final class ObaContract { + + public static final String TAG = "ObaContract"; + + /** The authority portion of the URI - defined in build.gradle */ + public static final String AUTHORITY = BuildConfig.DATABASE_AUTHORITY; + + /** The base URI for the Oba provider */ + public static final Uri AUTHORITY_URI = Uri.parse("content://" + AUTHORITY); + + protected interface RegionsColumns { + + /** + * The name of the region. + *

+ * Type: TEXT + *

+ */ + public static final String NAME = "name"; + + /** + * The base OBA URL. + *

+ * Type: TEXT + *

+ */ + public static final String BASE_URL = "oba_base_url"; + + /** + * The email of the person responsible for this server. + *

+ * Type: TEXT + *

+ */ + public static final String CONTACT_EMAIL = "contact_email"; + + + /** + * The Twitter URL for the region. + *

+ * Type: TEXT + *

+ */ + public static final String TWITTER_URL = "twitter_url"; + + public static final String FACEBOOK_URL = "facebook_url"; + + /** + * Whether or not the server is experimental (i.e., not production). + *

+ * Type: BOOLEAN + *

+ */ + public static final String EXPERIMENTAL = "experimental"; + + /** + * The StopInfo URL for the region (see #103) + *

+ * Type: TEXT + *

+ */ + public static final String TUTORIAL_URL = "tutorial_url"; + } + + protected interface RegionBoundsColumns { + + /** + * The region ID + *

+ * Type: INTEGER + *

+ */ + public static final String REGION_ID = "region_id"; + + /** + * The latitude center of the agencies coverage area + *

+ * Type: REAL + *

+ */ + public static final String LOWER_LEFT_LATITUDE = "lowerLeftLatitude"; + + /** + * The longitude center of the agencies coverage area + *

+ * Type: REAL + *

+ */ + public static final String LOWER_LEFT_LONGITUDE = "lowerLeftLongitude"; + + /** + * The height of the agencies bounding box + *

+ * Type: REAL + *

+ */ + public static final String UPPER_RIGHT_LATITUDE = "upperRightLatitude"; + + /** + * The width of the agencies bounding box + *

+ * Type: REAL + *

+ */ + public static final String UPPER_RIGHT_LONGITUDE = "upperRightLongitude"; + + } + + protected interface RegionOpen311ServersColumns { + + /** + * The region ID + *

+ * Type: INTEGER + *

+ */ + public static final String REGION_ID = "region_id"; + + /** + * The jurisdiction id of the open311 server + *

+ * Type: TEXT + *

+ */ + public static final String JURISDICTION = "jurisdiction"; + + /** + * The api key of the open311 server + *

+ * Type: TEXT + *

+ */ + public static final String API_KEY = "api_key"; + + /** + * The url of the open311 server + *

+ * Type: TEXT + *

+ */ + public static final String BASE_URL = "open311_base_url"; + + } + + public static class Regions implements BaseColumns, RegionsColumns { + + // Cannot be instantiated + private Regions() { + } + + /** The URI path portion for this table */ + public static final String PATH = "regions"; + + /** + * The content:// style URI for this table URI is of the form + * content:///regions/ + */ + public static final Uri CONTENT_URI = Uri.withAppendedPath( + AUTHORITY_URI, PATH); + + public static final String CONTENT_TYPE + = "vnd.android.cursor.item/" + BuildConfig.DATABASE_AUTHORITY + ".region"; + + public static final String CONTENT_DIR_TYPE + = "vnd.android.dir/" + BuildConfig.DATABASE_AUTHORITY + ".region"; + + public static final Uri buildUri(int id) { + return ContentUris.withAppendedId(CONTENT_URI, id); + } + + public static Uri insertOrUpdate(Context context, + int id, + ContentValues values) { + return insertOrUpdate(context.getContentResolver(), id, values); + } + + public static Uri insertOrUpdate(ContentResolver cr, + int id, + ContentValues values) { + final Uri uri = Uri.withAppendedPath(CONTENT_URI, String.valueOf(id)); + Cursor c = cr.query(uri, new String[]{}, null, null, null); + Uri result; + if (c != null && c.getCount() > 0) { + cr.update(uri, values, null, null); + result = uri; + } else { + values.put(_ID, id); + result = cr.insert(CONTENT_URI, values); + } + if (c != null) { + c.close(); + } + return result; + } + + public static ObaRegion get(Context context, int id) { + return get(context.getContentResolver(), id); + } + + public static ObaRegion get(ContentResolver cr, int id) { + final String[] PROJECTION = { + _ID, + NAME, + BASE_URL, + CONTACT_EMAIL, + TWITTER_URL, + FACEBOOK_URL, + EXPERIMENTAL, + TUTORIAL_URL + + }; + + Cursor c = cr.query(buildUri((int) id), PROJECTION, null, null, null); + if (c != null) { + try { + if (c.getCount() == 0) { + return null; + } + c.moveToFirst(); + return new ObaRegionElement(id, // id + c.getString(1), // Name + true, // Active + c.getString(2), // OBA Base URL + RegionBounds.getRegion(cr, id), // Bounds + RegionOpen311Servers.getOpen311Server(cr, id), // Open311 servers + c.getString(3), // Contact Email + c.getString(4), // Twitter URL + c.getString(5), // Fb URL + c.getInt(6) > 0, // Experimental + c.getString(7) + ); + } finally { + c.close(); + } + } + return null; + } + } + + public static class RegionBounds implements BaseColumns, RegionBoundsColumns { + + // Cannot be instantiated + private RegionBounds() { + } + + /** The URI path portion for this table */ + public static final String PATH = "region_bounds"; + + /** + * The content:// style URI for this table URI is of the form + * content:///region_bounds/ + */ + public static final Uri CONTENT_URI = Uri.withAppendedPath( + AUTHORITY_URI, PATH); + + public static final String CONTENT_TYPE + = "vnd.android.cursor.item/" + BuildConfig.DATABASE_AUTHORITY + ".region_bounds"; + + public static final String CONTENT_DIR_TYPE + = "vnd.android.dir/" + BuildConfig.DATABASE_AUTHORITY + ".region_bounds"; + + public static final Uri buildUri(int id) { + return ContentUris.withAppendedId(CONTENT_URI, id); + } + + public static ObaRegionElement.Bounds[] getRegion(ContentResolver cr, int regionId) { + final String[] PROJECTION = { + LOWER_LEFT_LATITUDE, + UPPER_RIGHT_LATITUDE, + LOWER_LEFT_LONGITUDE, + UPPER_RIGHT_LONGITUDE + }; + Cursor c = cr.query(CONTENT_URI, PROJECTION, + "(" + RegionBounds.REGION_ID + " = " + regionId + ")", + null, null); + if (c != null) { + try { + ObaRegionElement.Bounds[] results = new ObaRegionElement.Bounds[c.getCount()]; + if (c.getCount() == 0) { + return results; + } + + int i = 0; + c.moveToFirst(); + do { + results[i] = new ObaRegionElement.Bounds( + c.getDouble(0), + c.getDouble(1), + c.getDouble(2), + c.getDouble(3)); + i++; + } while (c.moveToNext()); + + return results; + } finally { + c.close(); + } + } + return null; + } + } + + public static class RegionOpen311Servers implements BaseColumns, RegionOpen311ServersColumns { + + // Cannot be instantiated + private RegionOpen311Servers() { + } + + /** The URI path portion for this table */ + public static final String PATH = "open311_servers"; + + /** + * The content:// style URI for this table URI is of the form + * content:///region_open311_servers/ + */ + public static final Uri CONTENT_URI = Uri.withAppendedPath( + AUTHORITY_URI, PATH); + + public static final String CONTENT_TYPE + = "vnd.android.cursor.item/" + BuildConfig.DATABASE_AUTHORITY + ".open311_servers"; + + public static final String CONTENT_DIR_TYPE + = "vnd.android.dir/" + BuildConfig.DATABASE_AUTHORITY + ".open311_servers"; + + public static final Uri buildUri(int id) { + return ContentUris.withAppendedId(CONTENT_URI, id); + } + + public static ObaRegionElement.Open311Servers[] getOpen311Server + (ContentResolver cr, int regionId) { + final String[] PROJECTION = { + JURISDICTION, + API_KEY, + BASE_URL + }; + Cursor c = cr.query(CONTENT_URI, PROJECTION, + "(" + RegionOpen311Servers.REGION_ID + " = " + regionId + ")", + null, null); + if (c != null) { + try { + ObaRegionElement.Open311Servers[] results = new ObaRegionElement. + Open311Servers[c.getCount()]; + if (c.getCount() == 0) { + return results; + } + + int i = 0; + c.moveToFirst(); + do { + results[i] = new ObaRegionElement.Open311Servers( + c.getString(0), + c.getString(1), + c.getString(2)); + i++; + } while (c.moveToNext()); + + return results; + } finally { + c.close(); + } + } + return null; + } + } +} diff --git a/src/edu/gatech/ppl/cycleatlanta/provider/ObaProvider.java b/src/edu/gatech/ppl/cycleatlanta/provider/ObaProvider.java new file mode 100644 index 0000000..30669ae --- /dev/null +++ b/src/edu/gatech/ppl/cycleatlanta/provider/ObaProvider.java @@ -0,0 +1,462 @@ +/* + * Copyright (C) 2010-2012 Paul Watts (paulcwatts@gmail.com) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package edu.gatech.ppl.cycleatlanta.provider; + +import android.content.ContentProvider; +import android.content.ContentUris; +import android.content.ContentValues; +import android.content.Context; +import android.content.UriMatcher; +import android.database.Cursor; +import android.database.DatabaseUtils; +import android.database.sqlite.SQLiteDatabase; +import android.database.sqlite.SQLiteOpenHelper; +import android.database.sqlite.SQLiteQueryBuilder; +import android.net.Uri; + +import java.io.File; +import java.util.HashMap; + +import edu.gatech.ppl.cycleatlanta.BuildConfig; + +public class ObaProvider extends ContentProvider { + + /** + * The database name cannot be changed. It needs to remain the same to support backwards + * compatibility with existing installed apps + */ + private static final String DATABASE_NAME = BuildConfig.APPLICATION_ID + ".db"; + + private class OpenHelper extends SQLiteOpenHelper { + + private static final int DATABASE_VERSION = 1; + + public OpenHelper(Context context) { + super(context, DATABASE_NAME, null, DATABASE_VERSION); + } + + @Override + public void onCreate(SQLiteDatabase db) { +// bootstrapDatabase(db); + onUpgrade(db, 12, DATABASE_VERSION); + } + + @Override + public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { + db.execSQL( + "CREATE TABLE " + + ObaContract.Regions.PATH + " (" + + ObaContract.Regions._ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + + ObaContract.Regions.NAME + " VARCHAR NOT NULL, " + + ObaContract.Regions.BASE_URL + " VARCHAR NOT NULL, " + + ObaContract.Regions.CONTACT_EMAIL + " VARCHAR NOT NULL, " + + ObaContract.Regions.TWITTER_URL + " VARCHAR NOT NULL, " + + ObaContract.Regions.FACEBOOK_URL + " VARCHAR NOT NULL, " + + ObaContract.Regions.EXPERIMENTAL + " INTEGER NOT NULL, " + + ObaContract.Regions.TUTORIAL_URL + " VARCHAR NOT NULL " + + ");"); + db.execSQL( + "CREATE TABLE " + + ObaContract.RegionBounds.PATH + " (" + + ObaContract.RegionBounds._ID + + " INTEGER PRIMARY KEY AUTOINCREMENT, " + + ObaContract.RegionBounds.REGION_ID + " INTEGER NOT NULL, " + + ObaContract.RegionBounds.LOWER_LEFT_LATITUDE + " REAL NOT NULL, " + + ObaContract.RegionBounds.UPPER_RIGHT_LATITUDE + " REAL NOT NULL, " + + ObaContract.RegionBounds.LOWER_LEFT_LONGITUDE + " REAL NOT NULL, " + + ObaContract.RegionBounds.UPPER_RIGHT_LONGITUDE + " REAL NOT NULL " + + ");"); + db.execSQL( + "CREATE TABLE " + + ObaContract.RegionOpen311Servers.PATH + " (" + + ObaContract.RegionOpen311Servers._ID + + " INTEGER PRIMARY KEY AUTOINCREMENT, " + + ObaContract.RegionOpen311Servers.REGION_ID + " INTEGER NOT NULL, " + + ObaContract.RegionOpen311Servers.JURISDICTION + " VARCHAR, " + + ObaContract.RegionOpen311Servers.API_KEY + " VARCHAR NOT NULL, " + + ObaContract.RegionOpen311Servers.BASE_URL + " VARCHAR NOT NULL " + + ");"); + db.execSQL("DROP TRIGGER IF EXISTS region_bounds_cleanup"); + db.execSQL( + "CREATE TRIGGER region_bounds_cleanup DELETE ON " + ObaContract.Regions.PATH + + + " BEGIN " + + "DELETE FROM " + ObaContract.RegionBounds.PATH + + " WHERE " + ObaContract.RegionBounds.REGION_ID + " = old." + + ObaContract.Regions._ID + + ";" + + "END"); + } + + private void dropTables(SQLiteDatabase db) { + db.execSQL("DROP TABLE IF EXISTS " + ObaContract.Regions.PATH); + db.execSQL("DROP TABLE IF EXISTS " + ObaContract.RegionBounds.PATH); + db.execSQL("DROP TABLE IF EXISTS " + ObaContract.RegionOpen311Servers.PATH); + } + } + + private static final int REGIONS = 12; + + private static final int REGIONS_ID = 13; + + private static final int REGION_BOUNDS = 14; + + private static final int REGION_BOUNDS_ID = 15; + + private static final int REGION_OPEN311_SERVERS = 17; + + private static final int REGION_OPEN311_SERVERS_ID = 18; + + private static final UriMatcher sUriMatcher; + + private static final HashMap sRegionsProjectionMap; + + private static final HashMap sRegionBoundsProjectionMap; + + private static final HashMap sRegionOpen311ProjectionMap; + + // Insert helpers are useful. + private DatabaseUtils.InsertHelper mRegionsInserter; + + private DatabaseUtils.InsertHelper mRegionBoundsInserter; + + private DatabaseUtils.InsertHelper mRegionOpen311ServersInserter; + + static { + sUriMatcher = new UriMatcher(UriMatcher.NO_MATCH); + sUriMatcher.addURI(ObaContract.AUTHORITY, ObaContract.Regions.PATH, REGIONS); + sUriMatcher.addURI(ObaContract.AUTHORITY, ObaContract.Regions.PATH + "/#", REGIONS_ID); + sUriMatcher.addURI(ObaContract.AUTHORITY, ObaContract.RegionBounds.PATH, REGION_BOUNDS); + sUriMatcher.addURI(ObaContract.AUTHORITY, ObaContract.RegionBounds.PATH + "/#", + REGION_BOUNDS_ID); + sUriMatcher.addURI(ObaContract.AUTHORITY, ObaContract.RegionOpen311Servers.PATH, REGION_OPEN311_SERVERS); + sUriMatcher.addURI(ObaContract.AUTHORITY, ObaContract.RegionOpen311Servers.PATH + "/#", + REGION_OPEN311_SERVERS_ID); + + + sRegionsProjectionMap = new HashMap(); + sRegionsProjectionMap.put(ObaContract.Regions._ID, ObaContract.Regions._ID); + sRegionsProjectionMap.put(ObaContract.Regions.NAME, ObaContract.Regions.NAME); + sRegionsProjectionMap + .put(ObaContract.Regions.BASE_URL, ObaContract.Regions.BASE_URL); + sRegionsProjectionMap + .put(ObaContract.Regions.CONTACT_EMAIL, ObaContract.Regions.CONTACT_EMAIL); + sRegionsProjectionMap.put(ObaContract.Regions.TWITTER_URL, ObaContract.Regions.TWITTER_URL); + sRegionsProjectionMap.put(ObaContract.Regions.FACEBOOK_URL, ObaContract.Regions.FACEBOOK_URL); + sRegionsProjectionMap.put(ObaContract.Regions.TUTORIAL_URL, ObaContract.Regions.TUTORIAL_URL); + sRegionsProjectionMap + .put(ObaContract.Regions.EXPERIMENTAL, ObaContract.Regions.EXPERIMENTAL); + + sRegionBoundsProjectionMap = new HashMap(); + sRegionBoundsProjectionMap.put(ObaContract.RegionBounds._ID, ObaContract.RegionBounds._ID); + sRegionBoundsProjectionMap + .put(ObaContract.RegionBounds.REGION_ID, ObaContract.RegionBounds.REGION_ID); + sRegionBoundsProjectionMap + .put(ObaContract.RegionBounds.LOWER_LEFT_LATITUDE, ObaContract.RegionBounds.LOWER_LEFT_LATITUDE); + sRegionBoundsProjectionMap + .put(ObaContract.RegionBounds.UPPER_RIGHT_LATITUDE, ObaContract.RegionBounds.UPPER_RIGHT_LATITUDE); + sRegionBoundsProjectionMap + .put(ObaContract.RegionBounds.LOWER_LEFT_LONGITUDE, ObaContract.RegionBounds.LOWER_LEFT_LONGITUDE); + sRegionBoundsProjectionMap + .put(ObaContract.RegionBounds.UPPER_RIGHT_LONGITUDE, ObaContract.RegionBounds.UPPER_RIGHT_LONGITUDE); + + sRegionOpen311ProjectionMap = new HashMap(); + sRegionOpen311ProjectionMap + .put(ObaContract.RegionOpen311Servers._ID, ObaContract.RegionOpen311Servers._ID); + sRegionOpen311ProjectionMap + .put(ObaContract.RegionOpen311Servers.REGION_ID, ObaContract.RegionOpen311Servers.REGION_ID); + sRegionOpen311ProjectionMap + .put(ObaContract.RegionOpen311Servers.JURISDICTION, ObaContract.RegionOpen311Servers.JURISDICTION); + sRegionOpen311ProjectionMap + .put(ObaContract.RegionOpen311Servers.API_KEY, ObaContract.RegionOpen311Servers.API_KEY); + sRegionOpen311ProjectionMap + .put(ObaContract.RegionOpen311Servers.BASE_URL, ObaContract.RegionOpen311Servers.BASE_URL); + + } + + private SQLiteDatabase mDb; + + private OpenHelper mOpenHelper; + + public static File getDatabasePath(Context context) { + return context.getDatabasePath(DATABASE_NAME); + } + + @Override + public boolean onCreate() { + mOpenHelper = new OpenHelper(getContext()); + return true; + } + + @Override + public String getType(Uri uri) { + int match = sUriMatcher.match(uri); + switch (match) { + case REGIONS: + return ObaContract.Regions.CONTENT_DIR_TYPE; + case REGIONS_ID: + return ObaContract.Regions.CONTENT_TYPE; + case REGION_BOUNDS: + return ObaContract.RegionBounds.CONTENT_DIR_TYPE; + case REGION_BOUNDS_ID: + return ObaContract.RegionBounds.CONTENT_TYPE; + case REGION_OPEN311_SERVERS: + return ObaContract.RegionOpen311Servers.CONTENT_DIR_TYPE; + case REGION_OPEN311_SERVERS_ID: + return ObaContract.RegionOpen311Servers.CONTENT_TYPE; + default: + throw new IllegalArgumentException("Unknown URI: " + uri); + } + } + + @Override + public Uri insert(Uri uri, ContentValues values) { + final SQLiteDatabase db = getDatabase(); + db.beginTransaction(); + try { + Uri result = insertInternal(db, uri, values); + getContext().getContentResolver().notifyChange(uri, null); + db.setTransactionSuccessful(); + return result; + } finally { + db.endTransaction(); + } + } + + @Override + public Cursor query(Uri uri, String[] projection, String selection, + String[] selectionArgs, String sortOrder) { + final SQLiteDatabase db = getDatabase(); + return queryInternal(db, uri, projection, selection, selectionArgs, sortOrder); + } + + @Override + public int update(Uri uri, ContentValues values, String selection, + String[] selectionArgs) { + final SQLiteDatabase db = getDatabase(); + db.beginTransaction(); + try { + int result = updateInternal(db, uri, values, selection, selectionArgs); + if (result > 0) { + getContext().getContentResolver().notifyChange(uri, null); + } + db.setTransactionSuccessful(); + return result; + } finally { + db.endTransaction(); + } + } + + @Override + public int delete(Uri uri, String selection, String[] selectionArgs) { + final SQLiteDatabase db = getDatabase(); + db.beginTransaction(); + try { + int result = deleteInternal(db, uri, selection, selectionArgs); + if (result > 0) { + getContext().getContentResolver().notifyChange(uri, null); + } + db.setTransactionSuccessful(); + return result; + } finally { + db.endTransaction(); + } + } + + private Uri insertInternal(SQLiteDatabase db, Uri uri, ContentValues values) { + final int match = sUriMatcher.match(uri); + String id; + Uri result; + long longId; + + switch (match) { + + case REGIONS: + longId = mRegionsInserter.insert(values); + result = ContentUris.withAppendedId(ObaContract.Regions.CONTENT_URI, longId); + return result; + + case REGION_BOUNDS: + longId = mRegionBoundsInserter.insert(values); + result = ContentUris.withAppendedId(ObaContract.RegionBounds.CONTENT_URI, longId); + return result; + + case REGION_OPEN311_SERVERS: + longId = mRegionOpen311ServersInserter.insert(values); + result = ContentUris.withAppendedId(ObaContract.RegionOpen311Servers.CONTENT_URI, longId); + return result; + + // What would these mean, anyway?? + case REGIONS_ID: + case REGION_BOUNDS_ID: + throw new UnsupportedOperationException("Cannot insert to this URI: " + uri); + default: + throw new IllegalArgumentException("Unknown URI: " + uri); + } + } + + private Cursor queryInternal(SQLiteDatabase db, + Uri uri, String[] projection, String selection, + String[] selectionArgs, String sortOrder) { + final int match = sUriMatcher.match(uri); + final String limit = uri.getQueryParameter("limit"); + + SQLiteQueryBuilder qb = new SQLiteQueryBuilder(); + + switch (match) { + + case REGIONS: + qb.setTables(ObaContract.Regions.PATH); + qb.setProjectionMap(sRegionsProjectionMap); + return qb.query(mDb, projection, selection, selectionArgs, + null, null, sortOrder, limit); + + case REGIONS_ID: + qb.setTables(ObaContract.Regions.PATH); + qb.setProjectionMap(sRegionsProjectionMap); + qb.appendWhere(ObaContract.Regions._ID); + qb.appendWhere("="); + qb.appendWhere(String.valueOf(ContentUris.parseId(uri))); + return qb.query(mDb, projection, selection, selectionArgs, + null, null, sortOrder, limit); + + case REGION_BOUNDS: + qb.setTables(ObaContract.RegionBounds.PATH); + qb.setProjectionMap(sRegionBoundsProjectionMap); + return qb.query(mDb, projection, selection, selectionArgs, + null, null, sortOrder, limit); + + case REGION_BOUNDS_ID: + qb.setTables(ObaContract.RegionBounds.PATH); + qb.setProjectionMap(sRegionBoundsProjectionMap); + qb.appendWhere(ObaContract.RegionBounds._ID); + qb.appendWhere("="); + qb.appendWhere(String.valueOf(ContentUris.parseId(uri))); + return qb.query(mDb, projection, selection, selectionArgs, + null, null, sortOrder, limit); + + case REGION_OPEN311_SERVERS: + qb.setTables(ObaContract.RegionOpen311Servers.PATH); + qb.setProjectionMap(sRegionOpen311ProjectionMap); + return qb.query(mDb, projection, selection, selectionArgs, + null, null, sortOrder, limit); + + case REGION_OPEN311_SERVERS_ID: + qb.setTables(ObaContract.RegionOpen311Servers.PATH); + qb.setProjectionMap(sRegionOpen311ProjectionMap); + qb.appendWhere(ObaContract.RegionOpen311Servers._ID); + qb.appendWhere("="); + qb.appendWhere(String.valueOf(ContentUris.parseId(uri))); + return qb.query(mDb, projection, selection, selectionArgs, + null, null, sortOrder, limit); + + default: + throw new IllegalArgumentException("Unknown URI: " + uri); + } + } + + private int updateInternal(SQLiteDatabase db, + Uri uri, ContentValues values, String selection, + String[] selectionArgs) { + final int match = sUriMatcher.match(uri); + switch (match) { + case REGIONS: + return db.update(ObaContract.Regions.PATH, values, selection, selectionArgs); + + case REGIONS_ID: + return db.update(ObaContract.Regions.PATH, values, + whereLong(ObaContract.Regions._ID, uri), selectionArgs); + + case REGION_BOUNDS: + return db.update(ObaContract.RegionBounds.PATH, values, selection, selectionArgs); + + case REGION_BOUNDS_ID: + return db.update(ObaContract.RegionBounds.PATH, values, + whereLong(ObaContract.RegionBounds._ID, uri), selectionArgs); + + case REGION_OPEN311_SERVERS: + return db.update(ObaContract.RegionOpen311Servers.PATH, values, selection, selectionArgs); + + case REGION_OPEN311_SERVERS_ID: + return db.update(ObaContract.RegionOpen311Servers.PATH, values, + whereLong(ObaContract.RegionOpen311Servers._ID, uri), selectionArgs); + + default: + throw new IllegalArgumentException("Unknown URI: " + uri); + } + } + + private int deleteInternal(SQLiteDatabase db, + Uri uri, String selection, String[] selectionArgs) { + final int match = sUriMatcher.match(uri); + switch (match) { + + case REGIONS: + return db.delete(ObaContract.Regions.PATH, selection, selectionArgs); + + case REGIONS_ID: + return db.delete(ObaContract.Regions.PATH, + whereLong(ObaContract.Regions._ID, uri), selectionArgs); + + case REGION_BOUNDS: + return db.delete(ObaContract.RegionBounds.PATH, selection, selectionArgs); + + case REGION_BOUNDS_ID: + return db.delete(ObaContract.RegionBounds.PATH, + whereLong(ObaContract.RegionBounds._ID, uri), selectionArgs); + + default: + throw new IllegalArgumentException("Unknown URI: " + uri); + } + } + + private String where(String column, Uri uri) { + StringBuilder sb = new StringBuilder(); + sb.append(column); + sb.append('='); + DatabaseUtils.appendValueToSql(sb, uri.getLastPathSegment()); + return sb.toString(); + } + + private String whereLong(String column, Uri uri) { + StringBuilder sb = new StringBuilder(); + sb.append(column); + sb.append('='); + sb.append(String.valueOf(ContentUris.parseId(uri))); + return sb.toString(); + } + + private SQLiteDatabase getDatabase() { + if (mDb == null) { + mDb = mOpenHelper.getWritableDatabase(); + // Initialize the insert helpers + mRegionsInserter = new DatabaseUtils.InsertHelper(mDb, ObaContract.Regions.PATH); + mRegionBoundsInserter = new DatabaseUtils.InsertHelper(mDb, + ObaContract.RegionBounds.PATH); + mRegionOpen311ServersInserter = new DatabaseUtils.InsertHelper(mDb, + ObaContract.RegionOpen311Servers.PATH); + } + return mDb; + } + + // + // Closes the database + // + public void closeDB() { + mOpenHelper.close(); + mDb = null; + } +} diff --git a/src/edu/gatech/ppl/cycleatlanta/region/JacksonSerializer.java b/src/edu/gatech/ppl/cycleatlanta/region/JacksonSerializer.java new file mode 100644 index 0000000..e4d9b86 --- /dev/null +++ b/src/edu/gatech/ppl/cycleatlanta/region/JacksonSerializer.java @@ -0,0 +1,141 @@ +/* + * Copyright (C) 2010-2012 Paul Watts (paulcwatts@gmail.com) + * and individual contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package edu.gatech.ppl.cycleatlanta.region; + +import com.fasterxml.jackson.annotation.JsonAutoDetect; +import com.fasterxml.jackson.core.JsonGenerationException; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.JsonMappingException; +import com.fasterxml.jackson.databind.MappingJsonFactory; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.introspect.VisibilityChecker; +import com.fasterxml.jackson.databind.node.JsonNodeFactory; +import com.fasterxml.jackson.databind.node.TextNode; +import com.fasterxml.jackson.databind.node.TreeTraversingParser; + +import android.util.Log; + +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.Reader; +import java.io.StringWriter; + +public class JacksonSerializer implements ObaApi.SerializationHandler { + + private static final String TAG = "JacksonSerializer"; + + private static class SingletonHolder { + + public static final JacksonSerializer INSTANCE = new JacksonSerializer(); + } + + private static final ObjectMapper mMapper = new ObjectMapper(); + + static { + mMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + mMapper.setVisibilityChecker( + VisibilityChecker.Std.defaultInstance() + .withFieldVisibility(JsonAutoDetect.Visibility.ANY)); + } + + private JacksonSerializer() { /* singleton */ } + + /** + * Make the singleton instance available + */ + public static ObaApi.SerializationHandler getInstance() { + return SingletonHolder.INSTANCE; + } + + private static JsonParser getJsonParser(Reader reader) + throws IOException, JsonProcessingException { + TreeTraversingParser parser = new TreeTraversingParser(mMapper.readTree(reader)); + parser.setCodec(mMapper); + return parser; + } + + public String toJson(String input) { + TextNode node = JsonNodeFactory.instance.textNode(input); + return node.toString(); + } + + @Override + public T createFromError(Class cls, int code, String error) { + // This is not very efficient, but it's an error case and it's easier + // than instantiating one ourselves. + final String jsonErr = toJson(error); + final String json = getErrorJson(code, jsonErr); + + try { + // Hopefully this never returns null or throws. + return mMapper.readValue(json, cls); + } catch (JsonParseException e) { + Log.e(TAG, e.toString()); + } catch (JsonMappingException e) { + Log.e(TAG, e.toString()); + } catch (IOException e) { + Log.e(TAG, e.toString()); + } + return null; + } + + private String getErrorJson(int code, final String jsonErr) { + return String.format("{\"code\": %d,\"version\":\"2\",\"text\":%s}", code, jsonErr); + } + + public T deserialize(Reader reader, Class cls) { + try { + T t = getJsonParser(reader).readValueAs(cls); + if (t == null) { + t = createFromError(cls, ObaApi.OBA_INTERNAL_ERROR, "Json error"); + } + return t; + } catch (FileNotFoundException e) { + return createFromError(cls, ObaApi.OBA_NOT_FOUND, e.toString()); + } catch (JsonProcessingException e) { + return createFromError(cls, ObaApi.OBA_INTERNAL_ERROR, e.toString()); + } catch (IOException e) { + return createFromError(cls, ObaApi.OBA_IO_EXCEPTION, e.toString()); + } + } + + public String serialize(Object obj) { + StringWriter writer = new StringWriter(); + JsonGenerator jsonGenerator; + + try { + jsonGenerator = new MappingJsonFactory().createJsonGenerator(writer); + mMapper.writeValue(jsonGenerator, obj); + + return writer.toString(); + + } catch (JsonGenerationException e) { + Log.e(TAG, e.toString()); + return getErrorJson(ObaApi.OBA_INTERNAL_ERROR, e.toString()); + } catch (JsonMappingException e) { + Log.e(TAG, e.toString()); + return getErrorJson(ObaApi.OBA_INTERNAL_ERROR, e.toString()); + } catch (IOException e) { + Log.e(TAG, e.toString()); + return getErrorJson(ObaApi.OBA_IO_EXCEPTION, e.toString()); + } + } +} diff --git a/src/edu/gatech/ppl/cycleatlanta/region/ObaApi.java b/src/edu/gatech/ppl/cycleatlanta/region/ObaApi.java new file mode 100644 index 0000000..5592808 --- /dev/null +++ b/src/edu/gatech/ppl/cycleatlanta/region/ObaApi.java @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2010 Paul Watts (paulcwatts@gmail.com) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package edu.gatech.ppl.cycleatlanta.region; + +import java.io.Reader; + +public final class ObaApi { + + private ObaApi() { + throw new AssertionError(); + } + + public static final int OBA_OK = 200; + + public static final int OBA_NOT_FOUND = 404; + + public static final int OBA_INTERNAL_ERROR = 500; + + public static final int OBA_IO_EXCEPTION = 700; + + public static final String VERSION1 = "1"; + + private static final ObaContext mDefaultContext = new ObaContext(); + + public static ObaContext getDefaultContext() { + return mDefaultContext; + } + + public interface SerializationHandler { + + T deserialize(Reader reader, Class cls); + + String serialize(Object obj); + + T createFromError(Class cls, int code, String error); + } + + public static final SerializationHandler getSerializer(Class cls) { + return JacksonSerializer.getInstance(); + } +} diff --git a/src/edu/gatech/ppl/cycleatlanta/region/ObaConnection.java b/src/edu/gatech/ppl/cycleatlanta/region/ObaConnection.java new file mode 100644 index 0000000..d1f520f --- /dev/null +++ b/src/edu/gatech/ppl/cycleatlanta/region/ObaConnection.java @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2012 Paul Watts (paulcwatts@gmail.com) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package edu.gatech.ppl.cycleatlanta.region; + +import java.io.IOException; +import java.io.Reader; + +/** + * Implements a basic connection object for ObaRequests. + * These are created by the ObaConnectionFactory class. + * + * Under normal circumstances this is always implemented by + * the ObaDefaultConnection class. In the unit tests, it is + * replaced by the ObaMockConnection class. + * + * @author paulw + */ +public interface ObaConnection { + + public void disconnect(); + + public Reader get() throws IOException; + + public Reader post(String string) throws IOException; + + public int getResponseCode() throws IOException; +} diff --git a/src/edu/gatech/ppl/cycleatlanta/region/ObaConnectionFactory.java b/src/edu/gatech/ppl/cycleatlanta/region/ObaConnectionFactory.java new file mode 100644 index 0000000..3f6c367 --- /dev/null +++ b/src/edu/gatech/ppl/cycleatlanta/region/ObaConnectionFactory.java @@ -0,0 +1,25 @@ +/* + * Copyright (C) 2012 Paul Watts (paulcwatts@gmail.com) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package edu.gatech.ppl.cycleatlanta.region; + +import android.net.Uri; + +import java.io.IOException; + +public interface ObaConnectionFactory { + + public ObaConnection newConnection(Uri uri) throws IOException; +} diff --git a/src/edu/gatech/ppl/cycleatlanta/region/ObaContext.java b/src/edu/gatech/ppl/cycleatlanta/region/ObaContext.java new file mode 100644 index 0000000..c485824 --- /dev/null +++ b/src/edu/gatech/ppl/cycleatlanta/region/ObaContext.java @@ -0,0 +1,143 @@ +/* + * Copyright (C) 2012 Paul Watts (paulcwatts@gmail.com) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package edu.gatech.ppl.cycleatlanta.region; + +import android.content.Context; +import android.net.Uri; +import android.text.TextUtils; +import android.util.Log; + +import java.net.MalformedURLException; +import java.net.URL; + +import edu.gatech.ppl.cycleatlanta.Application; +import edu.gatech.ppl.cycleatlanta.R; +import edu.gatech.ppl.cycleatlanta.region.elements.ObaRegion; + +public class ObaContext { + + private static final String TAG = "ObaContext"; + + private String mApiKey = "v1_BktoDJ2gJlu6nLM6LsT9H8IUbWc=cGF1bGN3YXR0c0BnbWFpbC5jb20="; + + private int mAppVer = 0; + + private String mAppUid = null; + + private ObaConnectionFactory mConnectionFactory = ObaDefaultConnectionFactory.getInstance(); + + private ObaRegion mRegion; + + public ObaContext() { + } + + public void setAppInfo(int version, String uuid) { + mAppVer = version; + mAppUid = uuid; + } + + public void setAppInfo(Uri.Builder builder) { + if (mAppVer != 0) { + builder.appendQueryParameter("app_ver", String.valueOf(mAppVer)); + } + if (mAppUid != null) { + builder.appendQueryParameter("app_uid", mAppUid); + } + } + + public void setApiKey(String apiKey) { + mApiKey = apiKey; + } + + public String getApiKey() { + return mApiKey; + } + + public void setRegion(ObaRegion region) { + mRegion = region; + } + + public ObaRegion getRegion() { + return mRegion; + } + + /** + * Connection factory + * + */ + public ObaConnectionFactory setConnectionFactory(ObaConnectionFactory factory) { + ObaConnectionFactory prev = mConnectionFactory; + mConnectionFactory = factory; + return prev; + } + + public ObaConnectionFactory getConnectionFactory() { + return mConnectionFactory; + } + + public void setBaseUrl(Context context, Uri.Builder builder) { + // If there is a custom preference, then use that. + String serverName = Application.get().getCustomApiUrl(); + + if (!TextUtils.isEmpty(serverName) || mRegion != null) { + Uri baseUrl = null; + if (!TextUtils.isEmpty(serverName)) { + Log.d(TAG, "Using custom API URL set by user '" + serverName + "'."); + + try { + // URI.parse() doesn't tell us if the scheme is missing, so use URL() instead (#126) + URL url = new URL(serverName); + } catch (MalformedURLException e) { + // Assume HTTP scheme, since without a scheme the Uri won't parse the authority + serverName = context.getString(R.string.http_prefix) + serverName; + } + + baseUrl = Uri.parse(serverName); + } else if (mRegion != null) { + Log.d(TAG, "Using region base URL '" + mRegion.getBaseUrl() + "'."); + + baseUrl = Uri.parse(mRegion.getBaseUrl()); + } + + // Copy partial path (if one exists) from the base URL + Uri.Builder path = new Uri.Builder(); + path.encodedPath(baseUrl.getEncodedPath()); + + // Then, tack on the rest of the REST API method path from the Uri.Builder that was passed in + path.appendEncodedPath(builder.build().getPath()); + + // Finally, overwrite builder that was passed in with the full URL + builder.scheme(baseUrl.getScheme()); + builder.encodedAuthority(baseUrl.getEncodedAuthority()); + builder.encodedPath(path.build().getEncodedPath()); + } else { + String fallBack = "api.pugetsound.onebusaway.org"; + Log.e(TAG, "Accessing default fallback '" + fallBack + "' ...this is wrong!!"); + // Current fallback for existing users? + builder.scheme("http"); + builder.authority(fallBack); + } + } + + @Override + public ObaContext clone() { + ObaContext result = new ObaContext(); + result.setApiKey(mApiKey); + result.setAppInfo(mAppVer, mAppUid); + result.setConnectionFactory(mConnectionFactory); + return result; + } +} diff --git a/src/edu/gatech/ppl/cycleatlanta/region/ObaDefaultConnection.java b/src/edu/gatech/ppl/cycleatlanta/region/ObaDefaultConnection.java new file mode 100644 index 0000000..4219850 --- /dev/null +++ b/src/edu/gatech/ppl/cycleatlanta/region/ObaDefaultConnection.java @@ -0,0 +1,75 @@ +/* + * Copyright (C) 2010-2012 Paul Watts (paulcwatts@gmail.com) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package edu.gatech.ppl.cycleatlanta.region; + +import android.net.Uri; +import android.util.Log; + +import java.io.BufferedInputStream; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.OutputStream; +import java.io.Reader; +import java.net.HttpURLConnection; +import java.net.URL; + +public final class ObaDefaultConnection implements ObaConnection { + + private static final String TAG = "ObaDefaultConnection"; + + private HttpURLConnection mConnection; + + ObaDefaultConnection(Uri uri) throws IOException { + Log.d(TAG, uri.toString()); + URL url = new URL(uri.toString()); + mConnection = (HttpURLConnection) url.openConnection(); + mConnection.setReadTimeout(30 * 1000); + } + + @Override + public void disconnect() { + mConnection.disconnect(); + } + + @Override + public Reader get() throws IOException { + return new InputStreamReader( + new BufferedInputStream(mConnection.getInputStream(), 8 * 1024)); + } + + @Override + public Reader post(String string) throws IOException { + byte[] data = string.getBytes(); + + mConnection.setDoOutput(true); + mConnection.setFixedLengthStreamingMode(data.length); + mConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); + + // Set the output stream + OutputStream stream = mConnection.getOutputStream(); + stream.write(data); + stream.flush(); + stream.close(); + + return new InputStreamReader( + new BufferedInputStream(mConnection.getInputStream(), 8 * 1024)); + } + + @Override + public int getResponseCode() throws IOException { + return mConnection.getResponseCode(); + } +} diff --git a/src/edu/gatech/ppl/cycleatlanta/region/ObaDefaultConnectionFactory.java b/src/edu/gatech/ppl/cycleatlanta/region/ObaDefaultConnectionFactory.java new file mode 100644 index 0000000..d155662 --- /dev/null +++ b/src/edu/gatech/ppl/cycleatlanta/region/ObaDefaultConnectionFactory.java @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2012 Paul Watts (paulcwatts@gmail.com) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package edu.gatech.ppl.cycleatlanta.region; + +import android.net.Uri; + +import java.io.IOException; + +public class ObaDefaultConnectionFactory implements ObaConnectionFactory { + + private ObaDefaultConnectionFactory() { + } + + private static class SingletonHolder { + + public static final ObaDefaultConnectionFactory INSTANCE + = new ObaDefaultConnectionFactory(); + } + + public static ObaDefaultConnectionFactory getInstance() { + return SingletonHolder.INSTANCE; + } + + @Override + public ObaConnection newConnection(Uri uri) throws IOException { + return new ObaDefaultConnection(uri); + } +} diff --git a/src/edu/gatech/ppl/cycleatlanta/region/ObaRegionsLoader.java b/src/edu/gatech/ppl/cycleatlanta/region/ObaRegionsLoader.java new file mode 100644 index 0000000..5aaa962 --- /dev/null +++ b/src/edu/gatech/ppl/cycleatlanta/region/ObaRegionsLoader.java @@ -0,0 +1,66 @@ +/* + * Copyright (C) 2012-2013 Paul Watts (paulcwatts@gmail.com) + * and individual contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package edu.gatech.ppl.cycleatlanta.region; + + +import android.content.Context; +import android.support.v4.content.AsyncTaskLoader; + +import java.util.ArrayList; + +import edu.gatech.ppl.cycleatlanta.region.elements.ObaRegion; +import edu.gatech.ppl.cycleatlanta.region.utils.RegionUtils; + +public class ObaRegionsLoader extends AsyncTaskLoader> { + //private static final String TAG = "ObaRegionsLoader"; + + private Context mContext; + + private ArrayList mResults; + + private final boolean mForceReload; + + public ObaRegionsLoader(Context context) { + super(context); + this.mContext = context; + mForceReload = false; + } + + /** + * @param context The context. + * @param force Forces loading the regions from the remote repository. + */ + public ObaRegionsLoader(Context context, boolean force) { + super(context); + this.mContext = context; + mForceReload = force; + } + + @Override + protected void onStartLoading() { + if (mResults != null) { + deliverResult(mResults); + } else { + forceLoad(); + } + } + + @Override + public ArrayList loadInBackground() { + return RegionUtils.getRegions(mContext, mForceReload); + } +} diff --git a/src/edu/gatech/ppl/cycleatlanta/region/ObaRegionsRequest.java b/src/edu/gatech/ppl/cycleatlanta/region/ObaRegionsRequest.java new file mode 100644 index 0000000..a318214 --- /dev/null +++ b/src/edu/gatech/ppl/cycleatlanta/region/ObaRegionsRequest.java @@ -0,0 +1,115 @@ +/* + * Copyright (C) 2013 Paul Watts (paulcwatts@gmail.com) + * and individual contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package edu.gatech.ppl.cycleatlanta.region; + +import android.content.ContentResolver; +import android.content.Context; +import android.net.Uri; + +import java.io.InputStream; +import java.io.InputStreamReader; +import java.util.concurrent.Callable; + +import edu.gatech.ppl.cycleatlanta.Application; +import edu.gatech.ppl.cycleatlanta.R; + +/** + * Retrieves the current list of OneBusAway regions. + * {https://github.com/OneBusAway/onebusaway/wiki/Multi-Region#regions-rest-api} + * + * @author Paul Watts (paulcwatts@gmail.com) + */ +public final class ObaRegionsRequest extends RequestBase implements + Callable { + + protected ObaRegionsRequest(Uri uri) { + super(uri); + } + + // + // This currently has a very simple builder because you can't do much with this "API" + // + public static class Builder { + + private static Uri URI = Uri + .parse(Application.get().getResources().getString(R.string.regions_api_url)); + + public Builder(Context context) { + } + + public Builder(Context context, Uri uri) { + URI = uri; + } + + public ObaRegionsRequest build() { + return new ObaRegionsRequest(URI); + } + } + + /** + * Helper method for constructing new instances. + * + * @param context The package context. + * @return The new request instance. + */ + public static ObaRegionsRequest newRequest(Context context) { + return new Builder(context).build(); + } + + /** + * Helper method for constructing new instances, allowing + * the requester to set the URI to retrieve the regions info + * from + * + * @param context The package context. + * @param uri URI to the regions file + * @return The new request instance. + */ + public static ObaRegionsRequest newRequest(Context context, Uri uri) { + return new Builder(context, uri).build(); + } + + @Override + public ObaRegionsResponse call() { + //If the URI is for an Android resource then get from resource, otherwise get from Region REST API + if (mUri.getScheme().equals(ContentResolver.SCHEME_ANDROID_RESOURCE)) { + return getRegionFromResource(); + } else { + return call(ObaRegionsResponse.class); + } + } + + @Override + public String toString() { + return "ObaRegionsRequest [mUri=" + mUri + "]"; + } + + private ObaRegionsResponse getRegionFromResource() { + ObaRegionsResponse response = null; + + InputStream is = Application.get().getApplicationContext().getResources() + .openRawResource(R.raw.regions_v3); + ObaApi.SerializationHandler handler = ObaApi.getSerializer(ObaRegionsResponse.class); + response = handler.deserialize(new InputStreamReader(is), ObaRegionsResponse.class); + if (response == null) { + response = handler.createFromError(ObaRegionsResponse.class, ObaApi.OBA_INTERNAL_ERROR, + "Json error"); + } + + return response; + } +} diff --git a/src/edu/gatech/ppl/cycleatlanta/region/ObaRegionsResponse.java b/src/edu/gatech/ppl/cycleatlanta/region/ObaRegionsResponse.java new file mode 100644 index 0000000..51e5c93 --- /dev/null +++ b/src/edu/gatech/ppl/cycleatlanta/region/ObaRegionsResponse.java @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2013 Paul Watts (paulcwatts@gmail.com) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package edu.gatech.ppl.cycleatlanta.region; + +import edu.gatech.ppl.cycleatlanta.region.elements.ObaRegion; +import edu.gatech.ppl.cycleatlanta.region.elements.ObaRegionElement; + +public class ObaRegionsResponse extends ObaResponse { + + private final ObaRegionElement[] list = ObaRegionElement.EMPTY_ARRAY; + + public ObaRegion[] getRegions() { + return list; + } +} diff --git a/src/edu/gatech/ppl/cycleatlanta/region/ObaRegionsTask.java b/src/edu/gatech/ppl/cycleatlanta/region/ObaRegionsTask.java new file mode 100644 index 0000000..d49a49e --- /dev/null +++ b/src/edu/gatech/ppl/cycleatlanta/region/ObaRegionsTask.java @@ -0,0 +1,259 @@ +/* + * Copyright (C) 2012-2015 Paul Watts (paulcwatts@gmail.com), University of South Florida + * and individual contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package edu.gatech.ppl.cycleatlanta.region; + +import com.google.android.gms.common.ConnectionResult; +import com.google.android.gms.common.GooglePlayServicesUtil; +import com.google.android.gms.common.api.GoogleApiClient; + + +import android.app.AlertDialog; +import android.app.ProgressDialog; +import android.content.Context; +import android.content.DialogInterface; +import android.content.SharedPreferences; +import android.location.Location; +import android.os.AsyncTask; +import android.os.Handler; +import android.util.Log; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +import edu.gatech.ppl.cycleatlanta.Application; +import edu.gatech.ppl.cycleatlanta.R; +import edu.gatech.ppl.cycleatlanta.region.elements.ObaRegion; +import edu.gatech.ppl.cycleatlanta.region.utils.LocationUtils; +import edu.gatech.ppl.cycleatlanta.region.utils.RegionUtils; +import edu.gatech.ppl.cycleatlanta.region.utils.UIUtils; + +/** + * AsyncTask used to refresh region info from the Regions REST API. + *

+ * Classes utilizing this task can request a callback via MapModeController.Callback.setMyLocation() + * by passing in class implementing MapModeController.Callback in the constructor + * + * @author barbeau + */ +public class ObaRegionsTask extends AsyncTask> { + + public interface Callback { + + /** + * Called when the ObaRegionsTask is complete + * + * @param currentRegionChanged true if the current region changed as a result of the task, + * false if it didn't change + */ + public void onRegionTaskFinished(boolean currentRegionChanged); + } + + private static final String TAG = "ObaRegionsTask"; + + private final int CALLBACK_DELAY = 100; //in milliseconds + + private Context mContext; + + private ProgressDialog mProgressDialog; + + private ObaRegionsTask.Callback mCallback; + + private final boolean mForceReload; + + private final boolean mShowProgressDialog; + + /** + * GoogleApiClient being used for Location Services + */ + GoogleApiClient mGoogleApiClient; + + /** + * @param callback a callback will be made via this interface after the task is complete + * (null if no callback is requested) + */ + public ObaRegionsTask(Context context, ObaRegionsTask.Callback callback) { + this.mContext = context; + this.mCallback = callback; + mForceReload = false; + mShowProgressDialog = true; + } + + /** + * @param callback a callback will be made via this interface after the task is + * complete + * (null if no callback is requested) + * @param force true if the task should be forced to update region info from the + * server, false if it can return local info + * @param showProgressDialog true if a progress dialog should be shown to the user during the + * task, false if it should not + */ + public ObaRegionsTask(Context context, ObaRegionsTask.Callback callback, boolean force, + boolean showProgressDialog) { + this.mContext = context; + this.mCallback = callback; + mForceReload = force; + mShowProgressDialog = showProgressDialog; + if (GooglePlayServicesUtil.isGooglePlayServicesAvailable(context) + == ConnectionResult.SUCCESS) { + mGoogleApiClient = LocationUtils.getGoogleApiClientWithCallbacks(context); + mGoogleApiClient.connect(); + } + } + + @Override + protected void onPreExecute() { + if (mShowProgressDialog && UIUtils.canManageDialog(mContext)) { + mProgressDialog = ProgressDialog.show(mContext, "", + mContext.getString(R.string.region_detecting_server), true); + mProgressDialog.setIndeterminate(true); + mProgressDialog.setCancelable(false); + mProgressDialog.show(); + } + + super.onPreExecute(); + } + + @Override + protected ArrayList doInBackground(Void... params) { + return RegionUtils.getRegions(mContext, mForceReload); + } + + @Override + protected void onPostExecute(ArrayList results) { + if (results == null) { + //This is a catastrophic failure to load region info from all sources + return; + } + + // Dismiss the dialog before calling the callbacks to avoid errors referencing the dialog later + if (mShowProgressDialog && UIUtils.canManageDialog(mContext) && mProgressDialog + .isShowing()) { + mProgressDialog.dismiss(); + } + + SharedPreferences settings = Application.getPrefs(); + + if (settings + .getBoolean(mContext.getString(R.string.preference_key_auto_select_region), true)) { + // Pass in the GoogleApiClient initialized in constructor + Location myLocation = Application.getLastKnownLocation(mContext, mGoogleApiClient); + + ObaRegion closestRegion = RegionUtils.getClosestRegion(results, myLocation, true); + + if (Application.get().getCurrentRegion() == null) { + if (closestRegion != null) { + //No region has been set, so set region application-wide to closest region + Application.get().setCurrentRegion(closestRegion); + Log.d(TAG, "Detected closest region '" + closestRegion.getName() + "'"); + + doCallback(true); + } else { + //No region has been set, and we couldn't find a usable region based on RegionUtil.isRegionUsable() + //or we couldn't find a closest a region, so ask the user to pick the region + haveUserChooseRegion(results); + } + } else if (Application.get().getCurrentRegion() != null && closestRegion != null + && !Application.get().getCurrentRegion().equals(closestRegion)) { + //User is closer to a different region than the current region, so change to the closest region + String oldRegionName = Application.get().getCurrentRegion().getName(); + Application.get().setCurrentRegion(closestRegion); + Log.d(TAG, "Detected closer region '" + closestRegion.getName() + + "', changed to this region."); + + doCallback(true); + } else if (Application.get().getCurrentRegion() != null && closestRegion != null + && Application.get().getCurrentRegion().equals(closestRegion)) { + //User is closer to a different region than the current region, so change to the closest region + Application.get().setCurrentRegion(closestRegion); + doCallback(false); + } else { + doCallback(false); + } + } else { + if (Application.get().getCurrentRegion() == null) { + //We don't have a region selected, and the user chose not to auto-select one, so make them pick one + haveUserChooseRegion(results); + } else { + doCallback(false); + } + } + + // Tear down Location Services client + if (mGoogleApiClient != null) { + mGoogleApiClient.disconnect(); + } + + super.onPostExecute(results); + } + + private void haveUserChooseRegion(final ArrayList result) { + if (!UIUtils.canManageDialog(mContext)) { + return; + } + + // Create dialog for user to choose + List serverNames = new ArrayList(); + for (ObaRegion region : result) { + if (RegionUtils.isRegionUsable(region)) { + serverNames.add(region.getName()); + } + } + + Collections.sort(serverNames); + + final CharSequence[] items = serverNames + .toArray(new CharSequence[serverNames.size()]); + + AlertDialog.Builder builder = new AlertDialog.Builder(mContext); + builder.setTitle(mContext.getString(R.string.region_choose_region)); + builder.setCancelable(false); + builder.setItems(items, new DialogInterface.OnClickListener() { + + public void onClick(DialogInterface dialog, int item) { + for (ObaRegion region : result) { + if (region.getName().equals(items[item])) { + //Set the region application-wide + Application.get().setCurrentRegion(region); + Log.d(TAG, "User chose region '" + items[item] + "'."); + doCallback(true); + break; + } + } + } + }); + + AlertDialog alert = builder.create(); + alert.show(); + } + + private void doCallback(final boolean currentRegionChanged) { + //If we execute on same thread immediately after setting Region, map UI may try to call + //OBA REST API before the new region info is set in Application. So, pause briefly. + final Handler mPauseForCallbackHandler = new Handler(); + final Runnable mPauseForCallback = new Runnable() { + public void run() { + //Map may not have triggered call to OBA REST API, so we force one here + if (mCallback != null) { + mCallback.onRegionTaskFinished(currentRegionChanged); + } + } + }; + mPauseForCallbackHandler.postDelayed(mPauseForCallback, + CALLBACK_DELAY); + } +} diff --git a/src/edu/gatech/ppl/cycleatlanta/region/ObaResponse.java b/src/edu/gatech/ppl/cycleatlanta/region/ObaResponse.java new file mode 100644 index 0000000..0549706 --- /dev/null +++ b/src/edu/gatech/ppl/cycleatlanta/region/ObaResponse.java @@ -0,0 +1,69 @@ +/* + * Copyright (C) 2010 Paul Watts (paulcwatts@gmail.com) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package edu.gatech.ppl.cycleatlanta.region; + +/** + * Base class for response objects. + * + * @author Paul Watts (paulcwatts@gmail.com) + */ +public class ObaResponse { + + private final String version; + + private final int code; + + private final long currentTime; + + private final String text; + + protected ObaResponse() { + version = "1"; + code = 0; + currentTime = 0; + text = "ERROR"; + } + + /** + * @return The version of this response. + */ + public String getVersion() { + return version; + } + + /** + * @return The status code (one of the ObaApi.OBA_ constants) + */ + public int getCode() { + return code; + } + + /** + * @return The status text. + */ + + public String getText() { + return text; + } + + /** + * @return The current system time on the API server + * as milliseconds since the epoch. + */ + public long getCurrentTime() { + return currentTime; + } +} diff --git a/src/edu/gatech/ppl/cycleatlanta/region/RequestBase.java b/src/edu/gatech/ppl/cycleatlanta/region/RequestBase.java new file mode 100644 index 0000000..80c9c98 --- /dev/null +++ b/src/edu/gatech/ppl/cycleatlanta/region/RequestBase.java @@ -0,0 +1,189 @@ +/* + * Copyright (C) 2010-2012 Paul Watts (paulcwatts@gmail.com) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package edu.gatech.ppl.cycleatlanta.region; + +import android.content.Context; +import android.net.Uri; +import android.os.Build; +import android.text.TextUtils; +import android.util.Log; + +import java.io.BufferedReader; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.Reader; +import java.net.HttpURLConnection; + +/** + * The base class for Oba requests. + * + * @author Paul Watts (paulcwatts@gmail.com) + */ +public class RequestBase { + + private static final String TAG = "RequestBase"; + + protected final Uri mUri; + + protected final String mPostData; + + protected RequestBase(Uri uri) { + mUri = uri; + mPostData = null; + } + + protected RequestBase(Uri uri, String postData) { + mUri = uri; + mPostData = postData; + } + + public static class BuilderBase { + + protected static final String BASE_PATH = "api/where"; + + protected final Uri.Builder mBuilder; + + protected ObaContext mObaContext; + + protected Context mContext; + + protected BuilderBase(Context context, String path) { + this(context, null, path); + } + + protected BuilderBase(Context context, ObaContext obaContext, String path) { + mContext = context; + mObaContext = obaContext; + mBuilder = new Uri.Builder(); + mBuilder.path(path); + } + + protected static String getPathWithId(String pathElement, String id) { + StringBuilder builder = new StringBuilder(BASE_PATH); + builder.append(pathElement); + builder.append(Uri.encode(id)); + builder.append(".json"); + return builder.toString(); + } + + protected Uri buildUri() { + ObaContext context = (mObaContext != null) ? mObaContext : ObaApi.getDefaultContext(); + context.setBaseUrl(mContext, mBuilder); + context.setAppInfo(mBuilder); + mBuilder.appendQueryParameter("version", "2"); + mBuilder.appendQueryParameter("key", context.getApiKey()); + return mBuilder.build(); + } + + public ObaContext getObaContext() { + if (mObaContext == null) { + mObaContext = ObaApi.getDefaultContext().clone(); + } + return mObaContext; + } + } + + /** + * Subclass for BuilderBase that can handle post data as well. + * + * @author paulw + */ + public static class PostBuilderBase extends BuilderBase { + + protected final Uri.Builder mPostData; + + protected PostBuilderBase(Context context, String path) { + super(context, path); + mPostData = new Uri.Builder(); + } + + public String buildPostData() { + return mPostData.build().getEncodedQuery(); + } + } + + protected T call(Class cls) { + ObaApi.SerializationHandler handler = ObaApi.getSerializer(cls); + ObaConnection conn = null; + try { + conn = ObaApi.getDefaultContext().getConnectionFactory().newConnection(mUri); + Reader reader; + if (mPostData != null) { + reader = conn.post(mPostData); + } else { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) { + // Theoretically you can't call ResponseCode before calling + // getInputStream, but you can't read from the input stream + // before you read the response??? + int responseCode = conn.getResponseCode(); + if (responseCode != HttpURLConnection.HTTP_OK) { + return handler.createFromError(cls, responseCode, ""); + } + } + + reader = conn.get(); + } + T t = handler.deserialize(reader, cls); + if (t == null) { + t = handler.createFromError(cls, ObaApi.OBA_INTERNAL_ERROR, "Json error"); + } + return t; + } catch (FileNotFoundException e) { + Log.e(TAG, e.toString()); + return handler.createFromError(cls, ObaApi.OBA_NOT_FOUND, e.toString()); + } catch (IOException e) { + Log.e(TAG, e.toString()); + return handler.createFromError(cls, ObaApi.OBA_IO_EXCEPTION, e.toString()); + } finally { + if (conn != null) { + conn.disconnect(); + } + } + } + + protected T callPostHack(Class cls) { + ObaApi.SerializationHandler handler = ObaApi.getSerializer(cls); + ObaConnection conn = null; + try { + conn = ObaApi.getDefaultContext().getConnectionFactory().newConnection(mUri); + BufferedReader reader = new BufferedReader(conn.post(mPostData), 8 * 1024); + + String line; + StringBuffer text = new StringBuffer(); + while ((line = reader.readLine()) != null) { + text.append(line + "\n"); + } + + String response = text.toString(); + if (TextUtils.isEmpty(response)) { + return handler.createFromError(cls, ObaApi.OBA_OK, "OK"); + } else { + return handler.createFromError(cls, ObaApi.OBA_INTERNAL_ERROR, response); + } + + } catch (FileNotFoundException e) { + Log.e(TAG, e.toString()); + return handler.createFromError(cls, ObaApi.OBA_NOT_FOUND, e.toString()); + } catch (IOException e) { + Log.e(TAG, e.toString()); + return handler.createFromError(cls, ObaApi.OBA_IO_EXCEPTION, e.toString()); + } finally { + if (conn != null) { + conn.disconnect(); + } + } + } +} diff --git a/src/edu/gatech/ppl/cycleatlanta/region/elements/ObaRegion.java b/src/edu/gatech/ppl/cycleatlanta/region/elements/ObaRegion.java new file mode 100644 index 0000000..adbc2d7 --- /dev/null +++ b/src/edu/gatech/ppl/cycleatlanta/region/elements/ObaRegion.java @@ -0,0 +1,93 @@ +/* + * Copyright (C) 2013 Paul Watts (paulcwatts@gmail.com) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package edu.gatech.ppl.cycleatlanta.region.elements; + + +/** + * Specifies a region in the OneBusAway multi-region system. + */ +public interface ObaRegion { + + /** + * Specifies a single bound rectangle within this region. + */ + public interface Bounds { + + public double getLowerLeftLatitude(); + + public double getLowerLeftLongitude(); + + public double getUpperRightLatitude(); + + public double getUpperRightLongitude(); + } + + public interface Open311Servers { + + public String getJuridisctionId(); + + public String getApiKey(); + + public String getBaseUrl(); + } + + /** + * @return The ID of this region. + */ + public long getId(); + + /** + * @return The name of the region. + */ + public String getName(); + + /** + * @return true if this server is active and should be presented in a list of working servers, + * false otherwise. + */ + public boolean getActive(); + + /** + * @return The base OBA URL for this region, or null if it doesn't have a base OBA URL. + */ + public String getBaseUrl(); + + + /** + * @return An array of bounding boxes for the region. + */ + public Bounds[] getBounds(); + + /** + * @return The email of the party responsible for this region's OBA server. + */ + public String getContactEmail(); + + public Open311Servers[] getOpen311Servers(); + + /** + * @return The Twitter URL for the region + */ + public String getTwitterUrl(); + + public String getFacebookUrl(); + /** + * @return true if this server is experimental, false if its production. + */ + public boolean getExperimental(); + + public String getTutorialUrl(); +} diff --git a/src/edu/gatech/ppl/cycleatlanta/region/elements/ObaRegionElement.java b/src/edu/gatech/ppl/cycleatlanta/region/elements/ObaRegionElement.java new file mode 100644 index 0000000..7b30464 --- /dev/null +++ b/src/edu/gatech/ppl/cycleatlanta/region/elements/ObaRegionElement.java @@ -0,0 +1,273 @@ +/* + * Copyright (C) 2012-2013 Paul Watts (paulcwatts@gmail.com) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package edu.gatech.ppl.cycleatlanta.region.elements; + + +import java.util.Arrays; + +public class ObaRegionElement implements ObaRegion { + + public static final ObaRegionElement[] EMPTY_ARRAY = new ObaRegionElement[]{}; + + public static class Bounds implements ObaRegion.Bounds { + + public static final Bounds[] EMPTY_ARRAY = new Bounds[]{}; + + private final double lowerLeftLatitude; + + private final double upperRightLatitude; + + private final double lowerLeftLongitude; + + private final double upperRightLongitude; + + Bounds() { + lowerLeftLatitude = 0; + upperRightLatitude = 0; + lowerLeftLongitude = 0; + upperRightLongitude = 0; + } + + public Bounds(double lowerLeftLatitude, + double upperRightLatitude, + double lowerLeftLongitude, + double upperRightLongitude) { + this.lowerLeftLatitude = lowerLeftLatitude; + this.upperRightLatitude = upperRightLatitude; + this.lowerLeftLongitude = lowerLeftLongitude; + this.upperRightLongitude = upperRightLongitude; + } + + + @Override + public double getLowerLeftLatitude() { + return lowerLeftLatitude; + } + + @Override + public double getLowerLeftLongitude() { + return lowerLeftLongitude; + } + + @Override + public double getUpperRightLatitude() { + return upperRightLatitude; + } + + @Override + public double getUpperRightLongitude() { + return upperRightLongitude; + } + } + + public static class Open311Servers implements ObaRegion.Open311Servers { + + public static final Open311Servers[] EMPTY_ARRAY = new Open311Servers[]{}; + + private final String jurisdictionId; + + private final String apiKey; + + private final String baseUrl; + + Open311Servers() { + jurisdictionId = ""; + apiKey = ""; + baseUrl = ""; + } + + public Open311Servers(String jurisdictionId, String apiKey, String baseUrl) { + + this.jurisdictionId = jurisdictionId; + this.apiKey = apiKey; + this.baseUrl = baseUrl; + } + + @Override + public String getJuridisctionId() { + return jurisdictionId; + } + + @Override + public String getApiKey() { + return apiKey; + } + + @Override + public String getBaseUrl() { + return baseUrl; + } + } + + private final long id; + + private final String regionName; + + private final boolean active; + + private final String baseUrl; + + private final Bounds[] bounds; + + private final Open311Servers[] open311Servers; + + private final String contactEmail; + + private final String twitterUrl; + + private final String facebookUrl; + + private final boolean experimental; + + private final String tutorialUrl; + + ObaRegionElement() { + id = 0; + regionName = ""; + baseUrl = null; + active = false; + bounds = Bounds.EMPTY_ARRAY; + open311Servers = Open311Servers.EMPTY_ARRAY; + contactEmail = ""; + twitterUrl = ""; + facebookUrl = ""; + experimental = true; + tutorialUrl = ""; + } + + public ObaRegionElement(long id, + String name, + boolean active, + String baseUrl, + Bounds[] bounds, + Open311Servers[] open311Servers, + String contactEmail, + String twitterUrl, + String facebookUrl, + boolean experimental, + String tutorialUrl) { + this.id = id; + this.regionName = name; + this.active = active; + this.baseUrl = baseUrl; + this.bounds = bounds; + this.open311Servers = open311Servers; + this.contactEmail = contactEmail; + this.twitterUrl = twitterUrl; + this.facebookUrl = facebookUrl; + this.experimental = experimental; + this.tutorialUrl = tutorialUrl; + } + + @Override + public long getId() { + return id; + } + + @Override + public String getName() { + return regionName; + } + + @Override + public boolean getActive() { + return active; + } + + @Override + public String getBaseUrl() { + return baseUrl; + } + + @Override + public Bounds[] getBounds() { + return bounds; + } + + @Override + public String getContactEmail() { + return contactEmail; + } + + @Override + public Open311Servers[] getOpen311Servers() { + return open311Servers; + } + + @Override + public String getTwitterUrl() { + return twitterUrl; + } + + @Override + public String getFacebookUrl() { + return facebookUrl; + } + + @Override + public boolean getExperimental() { + return experimental; + } + + @Override + public String getTutorialUrl() { + return tutorialUrl; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((id == 0) ? 0 : Long.valueOf(id).hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (!(obj instanceof ObaRegionElement)) { + return false; + } + ObaRegionElement other = (ObaRegionElement) obj; + if (id == 0) { + if (other.getId() != 0) { + return false; + } + } else if (id != other.getId()) { + return false; + } + return true; + } + + @Override + public String toString() { + return "ObaRegionElement{" + + "id=" + id + + ", regionName='" + regionName + '\'' + + ", active=" + active + + ", BaseUrl='" + baseUrl + '\'' + + ", bounds=" + Arrays.toString(bounds) + + ", contactEmail='" + contactEmail + '\'' + + ", twitterUrl='" + twitterUrl + '\'' + + ", experimental=" + experimental + + '}'; + } +} diff --git a/src/edu/gatech/ppl/cycleatlanta/region/utils/LocationHelper.java b/src/edu/gatech/ppl/cycleatlanta/region/utils/LocationHelper.java new file mode 100644 index 0000000..fc23042 --- /dev/null +++ b/src/edu/gatech/ppl/cycleatlanta/region/utils/LocationHelper.java @@ -0,0 +1,216 @@ +/* + * Copyright (C) 2014 Sean J. Barbeau (sjbarbeau@gmail.com), University of South Florida + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package edu.gatech.ppl.cycleatlanta.region.utils; + +import com.google.android.gms.common.ConnectionResult; +import com.google.android.gms.common.GooglePlayServicesUtil; +import com.google.android.gms.common.api.GoogleApiClient; +import com.google.android.gms.location.LocationRequest; +import com.google.android.gms.location.LocationServices; + +import android.content.Context; +import android.location.Location; +import android.location.LocationManager; +import android.os.Bundle; +import android.util.Log; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +import edu.gatech.ppl.cycleatlanta.Application; + +import static com.google.android.gms.location.LocationServices.FusedLocationApi; + +/** + * A helper class that keeps listeners updated with the best location available from + * multiple providers + */ +public class LocationHelper implements com.google.android.gms.location.LocationListener, + android.location.LocationListener, GoogleApiClient.ConnectionCallbacks, + GoogleApiClient.OnConnectionFailedListener { + + public interface Listener { + + /** + * Called every time there is an update to the best location available + */ + void onLocationChanged(Location location); + } + + static final String TAG = "LocationHelper"; + + Context mContext; + + LocationManager mLocationManager; + + ArrayList mListeners = new ArrayList(); + + /** + * GoogleApiClient being used for Location Services + */ + protected GoogleApiClient mGoogleApiClient; + + LocationRequest mLocationRequest; + + private static final int MILLISECONDS_PER_SECOND = 1000; + + public static final int UPDATE_INTERVAL_IN_SECONDS = 5; + + private static final long UPDATE_INTERVAL = + MILLISECONDS_PER_SECOND * UPDATE_INTERVAL_IN_SECONDS; + + private static final int FASTEST_INTERVAL_IN_SECONDS = 1; + + private static final long FASTEST_INTERVAL = + MILLISECONDS_PER_SECOND * FASTEST_INTERVAL_IN_SECONDS; + + public LocationHelper(Context context) { + mContext = context; + mLocationManager = (LocationManager) Application.get().getBaseContext() + .getSystemService(Context.LOCATION_SERVICE); + setupGooglePlayServices(); + } + + public synchronized void registerListener(Listener listener) { + if (!mListeners.contains(listener)) { + mListeners.add(listener); + } + + // If this is the first listener, make sure we're monitoring the sensors to provide updates + if (mListeners.size() == 1) { + // Listen for location + registerAllProviders(); + } + } + + public synchronized void unregisterListener(Listener listener) { + if (mListeners.contains(listener)) { + mListeners.remove(listener); + } + + if (mListeners.size() == 0) { + mLocationManager.removeUpdates(this); + } + } + + /** + * Returns the GoogleApiClient being used for fused provider location updates + * + * @return the GoogleApiClient being used for fused provider location updates + */ + public GoogleApiClient getGoogleApiClient() { + return mGoogleApiClient; + } + + public synchronized void onResume() { + registerAllProviders(); + } + + public synchronized void onPause() { + mLocationManager.removeUpdates(this); + + // Tear down GoogleApiClient + if (mGoogleApiClient != null && mGoogleApiClient.isConnected()) { + FusedLocationApi.removeLocationUpdates(mGoogleApiClient, this); + mGoogleApiClient.disconnect(); + } + } + + @Override + public void onLocationChanged(Location location) { + // Offer this location to the centralized location store, it case its better than currently + // stored location + Application.setLastKnownLocation(location); + // Notify listeners with the newest location from the central store (which could be the one + // that was just generated above) + Location lastLocation = Application.getLastKnownLocation(mContext, mGoogleApiClient); + if (lastLocation != null) { + // We need to copy the location, it case this object is reset in Application + Location locationForListeners = new Location("for listeners"); + locationForListeners.set(lastLocation); + for (Listener l : mListeners) { + l.onLocationChanged(locationForListeners); + } + } + } + + @Override + public void onStatusChanged(String provider, int status, Bundle extras) { + + } + + @Override + public void onProviderEnabled(String provider) { + + } + + @Override + public void onProviderDisabled(String provider) { + + } + + private void registerAllProviders() { + List providers = mLocationManager.getProviders(true); + for (Iterator i = providers.iterator(); i.hasNext(); ) { + mLocationManager.requestLocationUpdates(i.next(), 0, 0, this); + } + + // Make sure GoogleApiClient is connected, if available + if (mGoogleApiClient != null && !mGoogleApiClient.isConnected()) { + mGoogleApiClient.connect(); + } + } + + private void setupGooglePlayServices() { + // Create the LocationRequest object + mLocationRequest = LocationRequest.create(); + // Use high accuracy + mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY); + // Set the update interval to 5 seconds + mLocationRequest.setInterval(UPDATE_INTERVAL); + // Set the fastest update interval to 1 second + mLocationRequest.setFastestInterval(FASTEST_INTERVAL); + + // Init Google Play Services as early as possible in the Fragment lifecycle to give it time + if (GooglePlayServicesUtil.isGooglePlayServicesAvailable(mContext) + == ConnectionResult.SUCCESS) { + mGoogleApiClient = new GoogleApiClient.Builder(mContext) + .addApi(LocationServices.API) + .addConnectionCallbacks(this) + .addOnConnectionFailedListener(this) + .build(); + mGoogleApiClient.connect(); + } + } + + @Override + public void onConnected(Bundle bundle) { + Log.d(TAG, "Location Services connected"); + // Request location updates + FusedLocationApi.requestLocationUpdates(mGoogleApiClient, mLocationRequest, this); + } + + @Override + public void onConnectionSuspended(int i) { + + } + + @Override + public void onConnectionFailed(ConnectionResult connectionResult) { + + } +} diff --git a/src/edu/gatech/ppl/cycleatlanta/region/utils/LocationUtils.java b/src/edu/gatech/ppl/cycleatlanta/region/utils/LocationUtils.java new file mode 100644 index 0000000..e258a06 --- /dev/null +++ b/src/edu/gatech/ppl/cycleatlanta/region/utils/LocationUtils.java @@ -0,0 +1,230 @@ +/* + * Copyright (C) 2014 University of South Florida (sjbarbeau@gmail.com) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package edu.gatech.ppl.cycleatlanta.region.utils; + +import com.google.android.gms.common.ConnectionResult; +import com.google.android.gms.common.api.GoogleApiClient; +import com.google.android.gms.location.LocationServices; + +import android.content.Context; +import android.location.Location; +import android.os.Build; +import android.os.Bundle; +import android.os.SystemClock; +import android.provider.Settings; +import android.text.TextUtils; +import android.util.Log; + +import java.util.concurrent.TimeUnit; + +import edu.gatech.ppl.cycleatlanta.Application; +import edu.gatech.ppl.cycleatlanta.region.elements.ObaRegion; + +/** + * Utilities to help obtain and process location data + * + * @author barbeau + */ +public class LocationUtils { + + public static final String TAG = "LocationUtil"; + + public static final int DEFAULT_SEARCH_RADIUS = 40000; + + private static final float FUZZY_EQUALS_THRESHOLD = 15.0f; + + public static final float ACC_THRESHOLD = 50f; // 50 meters + + public static final long TIME_THRESHOLD = TimeUnit.MINUTES.toMillis(10); // 10 minutes + + /** + * Compares Location A to Location B - prefers a non-null location that is more recent. Does + * NOT take estimated accuracy into account. + * @param a first location to compare + * @param b second location to compare + * @return true if Location a is "better" than b, or false if b is "better" than a + */ + public static boolean compareLocationsByTime(Location a, Location b) { + return (a != null && (b == null || a.getTime() > b.getTime())); + } + + /** + * Compares Location A to Location B, considering timestamps and accuracy of locations. + * Typically + * this is used to compare a new location delivered by a LocationListener (Location A) to + * a previously saved location (Location B). + * + * @param a location to compare + * @param b location to compare against + * @return true if Location a is "better" than b, or false if b is "better" than a + */ + public static boolean compareLocations(Location a, Location b) { + if (a == null) { + // New location isn't valid, return false + return false; + } + // If the new location is the first location, save it + if (b == null) { + return true; + } + + // If the last location is older than TIME_THRESHOLD minutes, and the new location is more recent, + // save the new location, even if the accuracy for new location is worse + if (System.currentTimeMillis() - b.getTime() > TIME_THRESHOLD + && compareLocationsByTime(a, b)) { + return true; + } + + // If the new location has an accuracy better than ACC_THRESHOLD and is newer than the last location, save it + if (a.getAccuracy() < ACC_THRESHOLD && compareLocationsByTime(a, b)) { + return true; + } + + // If we get this far, A isn't better than B + return false; + } + + /** + * Converts a latitude/longitude to a Location. + * + * @param lat The latitude. + * @param lon The longitude. + * @return A Location representing this latitude/longitude. + */ + public static final Location makeLocation(double lat, double lon) { + Location l = new Location(""); + l.setLatitude(lat); + l.setLongitude(lon); + return l; + } + + /** + * Returns true if the locations are approximately equal (i.e., within a certain distance + * threshold) + * + * @param a first location + * @param b second location + * @return true if the locations are approximately equal, false if they are not + */ + public static boolean fuzzyEquals(Location a, Location b) { + return a.distanceTo(b) <= FUZZY_EQUALS_THRESHOLD; + } + + /** + * Returns true if the user has enabled location services on their device, false if they have + * not + * + * from http://stackoverflow.com/a/22980843/937715 + * + * @return true if the user has enabled location services on their device, false if they have + * not + */ + public static boolean isLocationEnabled(Context context) { + int locationMode = Settings.Secure.LOCATION_MODE_OFF; + String locationProviders; + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { + try { + locationMode = Settings.Secure + .getInt(context.getContentResolver(), Settings.Secure.LOCATION_MODE); + } catch (Settings.SettingNotFoundException e) { + e.printStackTrace(); + return false; + } + return locationMode != Settings.Secure.LOCATION_MODE_OFF; + } else { + locationProviders = Settings.Secure.getString(context.getContentResolver(), + Settings.Secure.LOCATION_PROVIDERS_ALLOWED); + return !TextUtils.isEmpty(locationProviders); + } + } + + /** + * Returns the human-readable details of a Location (provider, lat/long, accuracy, timestamp) + * + * @return the details of a Location (provider, lat/long, accuracy, timestamp) in a string + */ + public static String printLocationDetails(Location loc) { + if (loc == null) { + return ""; + } + + long timeDiff; + double timeDiffSec; + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) { + timeDiff = SystemClock.elapsedRealtimeNanos() - loc.getElapsedRealtimeNanos(); + // Convert to seconds + timeDiffSec = timeDiff / 1E9; + } else { + timeDiff = System.currentTimeMillis() - loc.getTime(); + timeDiffSec = timeDiff / 1E3; + } + + StringBuilder sb = new StringBuilder(); + sb.append(loc.getProvider()); + sb.append(' '); + sb.append(loc.getLatitude()); + sb.append(','); + sb.append(loc.getLongitude()); + if (loc.hasAccuracy()) { + sb.append(' '); + sb.append(loc.getAccuracy()); + } + sb.append(", "); + sb.append(String.format("%.0f", timeDiffSec) + " second(s) ago"); + + return sb.toString(); + } + + /** + * Returns a new GoogleApiClient which includes LocationServicesCallbacks + */ + public static GoogleApiClient getGoogleApiClientWithCallbacks(Context context) { + LocationServicesCallback locCallback = new LocationServicesCallback(); + return new GoogleApiClient.Builder(context) + .addApi(LocationServices.API) + .addConnectionCallbacks(locCallback) + .addOnConnectionFailedListener(locCallback) + .build(); + } + + + /** + * Class to handle Google Play Location Services callbacks + */ + public static class LocationServicesCallback + implements GoogleApiClient.ConnectionCallbacks, + GoogleApiClient.OnConnectionFailedListener { + + private static final String TAG = "LocationServicesCallback"; + + @Override + public void onConnected(Bundle bundle) { + + } + + @Override + public void onConnectionSuspended(int i) { + + } + + @Override + public void onConnectionFailed(ConnectionResult connectionResult) { + + } + } +} diff --git a/src/edu/gatech/ppl/cycleatlanta/region/utils/MapHelpV2.java b/src/edu/gatech/ppl/cycleatlanta/region/utils/MapHelpV2.java new file mode 100644 index 0000000..96dea55 --- /dev/null +++ b/src/edu/gatech/ppl/cycleatlanta/region/utils/MapHelpV2.java @@ -0,0 +1,84 @@ +/* + * Copyright (C) 2014 University of South Florida (sjbarbeau@gmail.com) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package edu.gatech.ppl.cycleatlanta.region.utils; + +import com.google.android.gms.maps.model.LatLng; +import com.google.android.gms.maps.model.LatLngBounds; + +import edu.gatech.ppl.cycleatlanta.region.elements.ObaRegion; + +/** + * Utilities to help process data for Android Maps API v1 + */ +public class MapHelpV2 { + + public static final String TAG = "MapHelpV2"; + + /** + * Converts a latitude/longitude to a LatLng. + * + * @param lat The latitude. + * @param lon The longitude. + * @return A LatLng representing this latitude/longitude. + */ + public static final LatLng makeLatLng(double lat, double lon) { + return new LatLng(lat, lon); + } + + + /** + * Returns the bounds for the entire region. + * + * @return LatLngBounds for the region + */ + public static LatLngBounds getRegionBounds(ObaRegion region) { + if (region == null) { + throw new IllegalArgumentException("Region is null"); + } + double latMin = 90; + double latMax = -90; + double lonMin = 180; + double lonMax = -180; + + // This is fairly simplistic + for (ObaRegion.Bounds bound : region.getBounds()) { + // Get the top bound + double lat1 = bound.getLowerLeftLatitude(); + double lat2 = bound.getUpperRightLatitude(); + if (lat1 < latMin) { + latMin = lat1; + } + if (lat2 > latMax) { + latMax = lat2; + } + + double lon1 = bound.getLowerLeftLongitude(); + double lon2 = bound.getUpperRightLongitude(); + if (lon1 < lonMin) { + lonMin = lon1; + } + if (lon2 > lonMax) { + lonMax = lon2; + } + } + + LatLngBounds.Builder builder = new LatLngBounds.Builder(); + builder.include(MapHelpV2.makeLatLng(latMin, lonMin)); + builder.include(MapHelpV2.makeLatLng(latMax, lonMax)); + + return builder.build(); + } +} diff --git a/src/edu/gatech/ppl/cycleatlanta/region/utils/PreferenceUtils.java b/src/edu/gatech/ppl/cycleatlanta/region/utils/PreferenceUtils.java new file mode 100644 index 0000000..d36aa86 --- /dev/null +++ b/src/edu/gatech/ppl/cycleatlanta/region/utils/PreferenceUtils.java @@ -0,0 +1,96 @@ +/* + * Copyright (C) 2012 Paul Watts (paulcwatts@gmail.com) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package edu.gatech.ppl.cycleatlanta.region.utils; + +import android.annotation.TargetApi; +import android.content.SharedPreferences; +import android.os.Build; + +import edu.gatech.ppl.cycleatlanta.Application; + +/** + * A class containing utility methods related to preferences + */ +public class PreferenceUtils { + + @TargetApi(9) + public static void saveString(SharedPreferences prefs, String key, String value) { + SharedPreferences.Editor edit = prefs.edit(); + edit.putString(key, value); + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) { + edit.apply(); + } else { + edit.commit(); + } + } + + public static void saveString(String key, String value) { + saveString(Application.getPrefs(), key, value); + } + + @TargetApi(9) + public static void saveInt(SharedPreferences prefs, String key, int value) { + SharedPreferences.Editor edit = prefs.edit(); + edit.putInt(key, value); + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) { + edit.apply(); + } else { + edit.commit(); + } + } + + public static void saveInt(String key, int value) { + saveInt(Application.getPrefs(), key, value); + } + + @TargetApi(9) + public static void saveLong(SharedPreferences prefs, String key, long value) { + SharedPreferences.Editor edit = prefs.edit(); + edit.putLong(key, value); + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) { + edit.apply(); + } else { + edit.commit(); + } + } + + public static void saveLong(String key, long value) { + saveLong(Application.getPrefs(), key, value); + } + + @TargetApi(9) + public static void saveBoolean(SharedPreferences prefs, String key, boolean value) { + SharedPreferences.Editor edit = prefs.edit(); + edit.putBoolean(key, value); + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) { + edit.apply(); + } else { + edit.commit(); + } + } + + public static void saveBoolean(String key, boolean value) { + saveBoolean(Application.getPrefs(), key, value); + } + + public static String getString(String key) { + return Application.getPrefs().getString(key, null); + } +} diff --git a/src/edu/gatech/ppl/cycleatlanta/region/utils/RegionUtils.java b/src/edu/gatech/ppl/cycleatlanta/region/utils/RegionUtils.java new file mode 100644 index 0000000..d9bfebc --- /dev/null +++ b/src/edu/gatech/ppl/cycleatlanta/region/utils/RegionUtils.java @@ -0,0 +1,546 @@ +/* + * Copyright (C) 2012-2013 Paul Watts (paulcwatts@gmail.com) + * and individual contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package edu.gatech.ppl.cycleatlanta.region.utils; + +import com.google.android.gms.maps.model.LatLng; + +import android.content.ContentResolver; +import android.content.ContentValues; +import android.content.Context; +import android.database.Cursor; +import android.location.Location; +import android.net.Uri; +import android.util.Log; + +import java.text.DecimalFormat; +import java.text.NumberFormat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.HashMap; +import java.util.List; + +import edu.gatech.ppl.cycleatlanta.Application; +import edu.gatech.ppl.cycleatlanta.BuildConfig; +import edu.gatech.ppl.cycleatlanta.R; +import edu.gatech.ppl.cycleatlanta.provider.ObaContract; +import edu.gatech.ppl.cycleatlanta.region.ObaRegionsRequest; +import edu.gatech.ppl.cycleatlanta.region.ObaRegionsResponse; +import edu.gatech.ppl.cycleatlanta.region.elements.ObaRegion; +import edu.gatech.ppl.cycleatlanta.region.elements.ObaRegionElement; + +/** + * A class containing utility methods related to handling multiple regions in OneBusAway + */ +public class RegionUtils { + + private static final String TAG = "RegionUtils"; + + public static final double METERS_TO_MILES = 0.000621371; + + private static final int DISTANCE_LIMITER = 100; // miles + + /** + * Get the closest region from a list of regions and a given location + * + * This method also enforces the constraints in isRegionUsable() to + * ensure the returned region is actually usable by the app + * + * @param regions list of regions + * @param loc location + * @param enforceThreshold true if the DISTANCE_LIMITER threshold should be enforced, false if + * it should not + * @return the closest region to the given location from the list of regions, or null if a + * enforceThreshold is true and the closest region exceeded DISTANCE_LIMITER threshold or a + * region couldn't be found + */ + public static ObaRegion getClosestRegion(ArrayList regions, Location loc, + boolean enforceThreshold) { + if (loc == null) { + return null; + } + float minDist = Float.MAX_VALUE; + ObaRegion closestRegion = null; + Float distToRegion; + + NumberFormat fmt = NumberFormat.getInstance(); + if (fmt instanceof DecimalFormat) { + ((DecimalFormat) fmt).setMaximumFractionDigits(1); + } + double miles; + + Log.d(TAG, "Finding region closest to " + loc.getLatitude() + "," + loc.getLongitude()); + + for (ObaRegion region : regions) { + if (!isRegionUsable(region)) { + Log.d(TAG, + "Excluding '" + region.getName() + "' from 'closest region' consideration"); + continue; + } + + distToRegion = getDistanceAway(region, loc.getLatitude(), loc.getLongitude()); + if (distToRegion == null) { + Log.e(TAG, "Couldn't measure distance to region '" + region.getName() + "'"); + continue; + } + miles = distToRegion * METERS_TO_MILES; + Log.d(TAG, "Region '" + region.getName() + "' is " + fmt.format(miles) + " miles away"); + if (distToRegion < minDist) { + closestRegion = region; + minDist = distToRegion; + } + } + + if (enforceThreshold) { + if (minDist * METERS_TO_MILES < DISTANCE_LIMITER) { + return closestRegion; + } else { + return null; + } + } + return closestRegion; + } + + /** + * Returns the distance from the specified location + * to the center of the closest bound in this region. + * + * @return distance from the specified location to the center of the closest bound in this + * region, in meters + */ + public static Float getDistanceAway(ObaRegion region, double lat, double lon) { + ObaRegion.Bounds[] bounds = region.getBounds(); + if (bounds == null) { + return null; + } + float[] results = new float[1]; + float minDistance = Float.MAX_VALUE; + for (ObaRegion.Bounds bound : bounds) { + + LatLng midpoint = midPoint(bound.getLowerLeftLatitude(), bound.getLowerLeftLongitude(), + bound.getUpperRightLatitude(), bound.getUpperRightLongitude()); + Location.distanceBetween(lat, lon, midpoint.latitude, midpoint.longitude, results); + if (results[0] < minDistance) { + minDistance = results[0]; + } + } + return minDistance; + } + + public static Float getDistanceAway(ObaRegion region, Location loc) { + return getDistanceAway(region, loc.getLatitude(), loc.getLongitude()); + } + + public static LatLng midPoint(double lat1,double lon1,double lat2,double lon2){ + + double dLon = Math.toRadians(lon2 - lon1); + + //convert to radians + lat1 = Math.toRadians(lat1); + lat2 = Math.toRadians(lat2); + lon1 = Math.toRadians(lon1); + + double Bx = Math.cos(lat2) * Math.cos(dLon); + double By = Math.cos(lat2) * Math.sin(dLon); + double lat3 = Math.atan2(Math.sin(lat1) + Math.sin(lat2), Math.sqrt((Math.cos(lat1) + Bx) * + (Math.cos(lat1) + Bx) + By * By)); + double lon3 = lon1 + Math.atan2(By, Math.cos(lat1) + Bx); + + return new LatLng(Math.toDegrees(lat3), Math.toDegrees(lon3)); + } + + + /** + * Checks if the given region is usable by the app, based on what this app supports + * - Is the region active? + * - Does the region support the OBA Discovery APIs? + * - Does the region support the OBA Realtime APIs? + * - Is the region experimental, and if so, did the user opt-in via preferences? + * + * @param region region to be checked + * @return true if the region is usable by this application, false if it is not + */ + public static boolean isRegionUsable(ObaRegion region) { + if (!region.getActive()) { + Log.d(TAG, "Region '" + region.getName() + "' is not active."); + return false; + } + return true; + } + + /** + * Gets regions from either the server, local provider, or if both fails the regions file + * packaged + * with the APK. Includes fail-over logic to prefer sources in above order, with server being + * the first preference. + * + * @param forceReload true if a reload from the server should be forced, false if it should not + * @return a list of regions from either the server, the local provider, or the packaged + * resource file + */ + public synchronized static ArrayList getRegions(Context context, + boolean forceReload) { + ArrayList results; + if (!forceReload) { + // + // Check the DB + // + results = RegionUtils.getRegionsFromProvider(context); + if (results != null) { + Log.d(TAG, "Retrieved regions from database."); + return results; + } + Log.d(TAG, "Regions list retrieved from database was null."); + } + + results = RegionUtils.getRegionsFromServer(context); + if (results == null || results.isEmpty()) { + Log.d(TAG, "Regions list retrieved from server was null or empty."); + + if (forceReload) { + //If we tried to force a reload from the server, then we haven't tried to reload from local provider yet + results = RegionUtils.getRegionsFromProvider(context); + if (results != null) { + Log.d(TAG, "Retrieved regions from database."); + return results; + } else { + Log.d(TAG, "Regions list retrieved from database was null."); + } + } + + //If we reach this point, the call to the Regions REST API failed and no results were + //available locally from a prior server request. + //Fetch regions from local resource file as last resort (otherwise user can't use app) + results = RegionUtils.getRegionsFromResources(context); + + if (results == null) { + //This is a complete failure to load region info from all sources, app will be useless + Log.d(TAG, "Regions list retrieved from local resource file was null."); + return results; + } + + Log.d(TAG, "Retrieved regions from local resource file."); + } else { + Log.d(TAG, "Retrieved regions list from server."); + //Update local time for when the last region info was retrieved from the server + Application.get().setLastRegionUpdateDate(new Date().getTime()); + } + + //If the region info came from the server or local resource file, we need to save it to the local provider + RegionUtils.saveToProvider(context, results); + return results; + } + + public static ArrayList getRegionsFromProvider(Context context) { + // Prefetch the bounds to limit the number of DB calls. + HashMap> allBounds = getBoundsFromProvider( + context); + + HashMap> allOpen311Servers = + getOpen311ServersFromProvider(context); + + Cursor c = null; + try { + final String[] PROJECTION = { + ObaContract.Regions._ID, + ObaContract.Regions.NAME, + ObaContract.Regions.BASE_URL, + ObaContract.Regions.CONTACT_EMAIL, + ObaContract.Regions.TWITTER_URL, + ObaContract.Regions.FACEBOOK_URL, + ObaContract.Regions.EXPERIMENTAL, + ObaContract.Regions.TUTORIAL_URL + }; + + ContentResolver cr = context.getContentResolver(); + c = cr.query( + ObaContract.Regions.CONTENT_URI, PROJECTION, null, null, + ObaContract.Regions._ID); + if (c == null) { + return null; + } + if (c.getCount() == 0) { + c.close(); + return null; + } + ArrayList results = new ArrayList(); + + c.moveToFirst(); + do { + long id = c.getLong(0); + ArrayList bounds = allBounds.get(id); + ObaRegionElement.Bounds[] bounds2 = (bounds != null) ? + bounds.toArray(new ObaRegionElement.Bounds[]{}) : + null; + + ArrayList open311Servers = allOpen311Servers.get(id); + ObaRegionElement.Open311Servers[] open311Servers2 = (open311Servers != null) ? + open311Servers.toArray(new ObaRegionElement.Open311Servers[]{}) : + null; + + results.add(new ObaRegionElement(id, // id + c.getString(1), // Name + true, // Active + c.getString(2), // OBA Base URL + bounds2, // Bounds + open311Servers2, // Open311 servers + c.getString(3), // Contact Email + c.getString(4), // Twitter URL + c.getString(5), // FB URL + c.getInt(6) > 0, // Experimental + c.getString(7) + )); + + } while (c.moveToNext()); + + return results; + + } finally { + if (c != null) { + c.close(); + } + } + } + + private static HashMap> getBoundsFromProvider( + Context context) { + // Prefetch the bounds to limit the number of DB calls. + Cursor c = null; + try { + final String[] PROJECTION = { + ObaContract.RegionBounds.REGION_ID, + ObaContract.RegionBounds.LOWER_LEFT_LATITUDE, + ObaContract.RegionBounds.UPPER_RIGHT_LATITUDE, + ObaContract.RegionBounds.LOWER_LEFT_LONGITUDE, + ObaContract.RegionBounds.UPPER_RIGHT_LONGITUDE + }; + HashMap> results + = new HashMap>(); + + ContentResolver cr = context.getContentResolver(); + c = cr.query(ObaContract.RegionBounds.CONTENT_URI, PROJECTION, null, null, null); + if (c == null) { + return results; + } + if (c.getCount() == 0) { + c.close(); + return results; + } + c.moveToFirst(); + do { + long regionId = c.getLong(0); + ArrayList bounds = results.get(regionId); + ObaRegionElement.Bounds b = new ObaRegionElement.Bounds( + c.getDouble(1), + c.getDouble(2), + c.getDouble(3), + c.getDouble(4)); + if (bounds != null) { + bounds.add(b); + } else { + bounds = new ArrayList(); + bounds.add(b); + results.put(regionId, bounds); + } + + } while (c.moveToNext()); + + return results; + + } finally { + if (c != null) { + c.close(); + } + } + } + + private static HashMap> getOpen311ServersFromProvider( + Context context) { + // Prefetch the bounds to limit the number of DB calls. + Cursor c = null; + try { + final String[] PROJECTION = { + ObaContract.RegionOpen311Servers.REGION_ID, + ObaContract.RegionOpen311Servers.JURISDICTION, + ObaContract.RegionOpen311Servers.API_KEY, + ObaContract.RegionOpen311Servers.BASE_URL + }; + HashMap> results + = new HashMap>(); + + ContentResolver cr = context.getContentResolver(); + c = cr.query(ObaContract.RegionOpen311Servers.CONTENT_URI, PROJECTION, null, null, null); + if (c == null) { + return results; + } + if (c.getCount() == 0) { + c.close(); + return results; + } + c.moveToFirst(); + do { + long regionId = c.getLong(0); + ArrayList open311Servers = results.get(regionId); + ObaRegionElement.Open311Servers b = new ObaRegionElement.Open311Servers( + c.getString(1), + c.getString(2), + c.getString(3)); + if (open311Servers != null) { + open311Servers.add(b); + } else { + open311Servers = new ArrayList(); + open311Servers.add(b); + results.put(regionId, open311Servers); + } + + } while (c.moveToNext()); + + return results; + + } finally { + if (c != null) { + c.close(); + } + } + } + + private synchronized static ArrayList getRegionsFromServer(Context context) { + ObaRegionsResponse response = ObaRegionsRequest.newRequest(context).call(); + return new ArrayList(Arrays.asList(response.getRegions())); + } + + /** + * Retrieves region information from a regions file bundled within the app APK + * + * IMPORTANT - this should be a last resort, and we should always try to pull regions + * info from the local provider or Regions REST API instead of from the bundled file. + * + * This method is only intended to be a fail-safe in case the Regions REST API goes + * offline and a user downloads and installs OBA Android during that period + * (i.e., local OBA servers are available, but Regions REST API failure would block initial + * execution of the app). This avoids a potential central point of failure for OBA + * Android installations on devices in multiple regions. + * + * @return list of regions retrieved from the regions file in app resources + */ + public static ArrayList getRegionsFromResources(Context context) { + final Uri.Builder builder = new Uri.Builder(); + builder.scheme(ContentResolver.SCHEME_ANDROID_RESOURCE); + builder.authority(context.getPackageName()); + builder.path(Integer.toString(R.raw.regions_v3)); + ObaRegionsResponse response = ObaRegionsRequest.newRequest(context, builder.build()).call(); + return new ArrayList(Arrays.asList(response.getRegions())); + } + + /** + * Retrieves hard-coded region information from the build flavor defined in build.gradle. + * If a fixed region is defined in a build flavor, it does not allow region roaming. + * + * @return hard-coded region information from the build flavor defined in build.gradle + */ + public static ObaRegion getRegionFromBuildFlavor() { + final int regionId = Integer.MAX_VALUE; // This doesn't get used, but needs to be positive + ObaRegionElement.Bounds[] boundsArray = new ObaRegionElement.Bounds[1]; + ObaRegionElement.Bounds bounds = new ObaRegionElement.Bounds( + BuildConfig.FIXED_REGION_BOUNDS_LAT, BuildConfig.FIXED_REGION_BOUNDS_LON, + BuildConfig.FIXED_REGION_BOUNDS_LAT_SPAN, BuildConfig.FIXED_REGION_BOUNDS_LON_SPAN); + boundsArray[0] = bounds; + ObaRegionElement region = new ObaRegionElement(regionId, + BuildConfig.FIXED_REGION_NAME, true, + BuildConfig.FIXED_REGION_OBA_BASE_URL, + boundsArray, new ObaRegionElement.Open311Servers[0], + BuildConfig.FIXED_REGION_CONTACT_EMAIL, + BuildConfig.FIXED_REGION_TWITTER_URL,BuildConfig.FIXED_REGION_TWITTER_URL, false, + null); + return region; + } + + // + // Saving + // + public synchronized static void saveToProvider(Context context, List regions) { + // Delete all the existing regions + ContentResolver cr = context.getContentResolver(); + + cr.delete(ObaContract.Regions.CONTENT_URI, null, null); + // Should be a no-op? + cr.delete(ObaContract.RegionBounds.CONTENT_URI, null, null); + + for (ObaRegion region : regions) { + if (!isRegionUsable(region)) { + Log.d(TAG, "Skipping insert of '" + region.getName() + "' to provider..."); + continue; + } + + cr.insert(ObaContract.Regions.CONTENT_URI, toContentValues(region)); + Log.d(TAG, "Saved region '" + region.getName() + "' to provider"); + long regionId = region.getId(); + // Bulk insert the bounds + ObaRegion.Bounds[] bounds = region.getBounds(); + if (bounds != null) { + ContentValues[] values = new ContentValues[bounds.length]; + for (int i = 0; i < bounds.length; ++i) { + values[i] = toContentValues(regionId, bounds[i]); + } + cr.bulkInsert(ObaContract.RegionBounds.CONTENT_URI, values); + } + + ObaRegion.Open311Servers[] open311Servers = region.getOpen311Servers(); + + if (open311Servers != null) { + ContentValues[] values = new ContentValues[open311Servers.length]; + for (int i = 0; i < open311Servers.length; ++i) { + values[i] = toContentValues(regionId, open311Servers[i]); + } + cr.bulkInsert(ObaContract.RegionOpen311Servers.CONTENT_URI, values); + } + } + } + + private static ContentValues toContentValues(ObaRegion region) { + ContentValues values = new ContentValues(); + values.put(ObaContract.Regions._ID, region.getId()); + values.put(ObaContract.Regions.NAME, region.getName()); + String obaUrl = region.getBaseUrl(); + values.put(ObaContract.Regions.BASE_URL, obaUrl != null ? obaUrl : ""); + values.put(ObaContract.Regions.CONTACT_EMAIL, region.getContactEmail()); + values.put(ObaContract.Regions.TWITTER_URL, region.getTwitterUrl()); + values.put(ObaContract.Regions.FACEBOOK_URL, region.getFacebookUrl()); + values.put(ObaContract.Regions.EXPERIMENTAL, region.getExperimental()); + values.put(ObaContract.Regions.TUTORIAL_URL, region.getTutorialUrl()); + return values; + } + + private static ContentValues toContentValues(long region, ObaRegion.Bounds bounds) { + ContentValues values = new ContentValues(); + values.put(ObaContract.RegionBounds.REGION_ID, region); + values.put(ObaContract.RegionBounds.LOWER_LEFT_LATITUDE, bounds.getLowerLeftLatitude()); + values.put(ObaContract.RegionBounds.UPPER_RIGHT_LATITUDE, bounds.getUpperRightLatitude()); + values.put(ObaContract.RegionBounds.LOWER_LEFT_LONGITUDE, bounds.getLowerLeftLongitude()); + values.put(ObaContract.RegionBounds.UPPER_RIGHT_LONGITUDE, bounds.getUpperRightLongitude()); + return values; + } + + private static ContentValues toContentValues(long region, ObaRegion.Open311Servers open311Servers) { + ContentValues values = new ContentValues(); + values.put(ObaContract.RegionOpen311Servers.REGION_ID, region); + values.put(ObaContract.RegionOpen311Servers.BASE_URL, open311Servers.getBaseUrl()); + values.put(ObaContract.RegionOpen311Servers.JURISDICTION, open311Servers.getJuridisctionId()); + values.put(ObaContract.RegionOpen311Servers.API_KEY, open311Servers.getApiKey()); + return values; + } +} diff --git a/src/edu/gatech/ppl/cycleatlanta/region/utils/UIUtils.java b/src/edu/gatech/ppl/cycleatlanta/region/utils/UIUtils.java new file mode 100644 index 0000000..7ed38b5 --- /dev/null +++ b/src/edu/gatech/ppl/cycleatlanta/region/utils/UIUtils.java @@ -0,0 +1,219 @@ +/* + * Copyright (C) 2010-2013 Paul Watts (paulcwatts@gmail.com) + * and individual contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package edu.gatech.ppl.cycleatlanta.region.utils; + +import android.animation.Animator; +import android.animation.AnimatorListenerAdapter; +import android.annotation.TargetApi; +import android.app.Activity; +import android.content.Context; +import android.os.Build; +import android.view.View; + +/** + * A class containing utility methods related to the user interface + */ +public final class UIUtils { + + private static final String TAG = "UIHelp"; + + /** + * Returns true if the activity is still active and dialogs can be managed (i.e., displayed + * or dismissed), or false if it is + * not + * + * @param activity Activity to check for displaying/dismissing a dialog + * @return true if the activity is still active and dialogs can be managed, or false if it is + * not + */ + public static boolean canManageDialog(Activity activity) { + if (activity == null) { + return false; + } + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) { + return !activity.isFinishing() && !activity.isDestroyed(); + } else { + return !activity.isFinishing(); + } + } + + /** + * Returns true if the context is an Activity and is still active and dialogs can be managed + * (i.e., displayed or dismissed) OR the context is not an Activity, or false if the Activity + * is + * no longer active. + * + * NOTE: We really shouldn't display dialogs from a Service - a notification is a better way + * to communicate with the user. + * + * @param context Context to check for displaying/dismissing a dialog + * @return true if the context is an Activity and is still active and dialogs can be managed + * (i.e., displayed or dismissed) OR the context is not an Activity, or false if the Activity + * is + * no longer active + */ + public static boolean canManageDialog(Context context) { + if (context == null) { + return false; + } + + if (context instanceof Activity) { + return canManageDialog((Activity) context); + } else { + // We really shouldn't be displaying dialogs from a Service, but if for some reason we + // need to do this, we don't have any way of checking whether its possible + return true; + } + } + + /** + * Returns true if the API level supports animating Views using ViewPropertyAnimator, false if + * it doesn't + * + * @return true if the API level supports animating Views using ViewPropertyAnimator, false if + * it doesn't + */ + public static boolean canAnimateViewModern() { + return Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR1; + } + + /** + * Returns true if the API level supports canceling existing animations via the + * ViewPropertyAnimator, and false if it does not + * + * @return true if the API level supports canceling existing animations via the + * ViewPropertyAnimator, and false if it does not + */ + public static boolean canCancelAnimation() { + return Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH; + } + + /** + * Returns true if the API level supports our Arrival Info Style B (sort by route) views, false + * if it does not. See #350 and #275. + * + * @return true if the API level supports our Arrival Info Style B (sort by route) views, false + * if it does not + */ + public static boolean canSupportArrivalInfoStyleB() { + return Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH; + } + + /** + * Shows a view, using animation if the platform supports it + * + * @param v View to show + * @param animationDuration duration of animation + */ + @TargetApi(14) + public static void showViewWithAnimation(final View v, int animationDuration) { + // If we're on a legacy device, show the view without the animation + if (!canAnimateViewModern()) { + showViewWithoutAnimation(v); + return; + } + + if (v.getVisibility() == View.VISIBLE && v.getAlpha() == 1) { + // View is already visible and not transparent, return without doing anything + return; + } + + v.clearAnimation(); + if (canCancelAnimation()) { + v.animate().cancel(); + } + + if (v.getVisibility() != View.VISIBLE) { + // Set the content view to 0% opacity but visible, so that it is visible + // (but fully transparent) during the animation. + v.setAlpha(0f); + v.setVisibility(View.VISIBLE); + } + + // Animate the content view to 100% opacity, and clear any animation listener set on the view. + v.animate() + .alpha(1f) + .setDuration(animationDuration) + .setListener(null); + } + + /** + * Shows a view without using animation + * + * @param v View to show + */ + public static void showViewWithoutAnimation(final View v) { + if (v.getVisibility() == View.VISIBLE) { + // View is already visible, return without doing anything + return; + } + v.setVisibility(View.VISIBLE); + } + + /** + * Hides a view, using animation if the platform supports it + * + * @param v View to hide + * @param animationDuration duration of animation + */ + @TargetApi(14) + public static void hideViewWithAnimation(final View v, int animationDuration) { + // If we're on a legacy device, hide the view without the animation + if (!canAnimateViewModern()) { + hideViewWithoutAnimation(v); + return; + } + + if (v.getVisibility() == View.GONE) { + // View is already gone, return without doing anything + return; + } + + v.clearAnimation(); + if (canCancelAnimation()) { + v.animate().cancel(); + } + + // Animate the view to 0% opacity. After the animation ends, set its visibility to GONE as + // an optimization step (it won't participate in layout passes, etc.) + v.animate() + .alpha(0f) + .setDuration(animationDuration) + .setListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationEnd(Animator animation) { + v.setVisibility(View.GONE); + } + }); + } + + /** + * Hides a view without using animation + * + * @param v View to hide + */ + public static void hideViewWithoutAnimation(final View v) { + if (v.getVisibility() == View.GONE) { + // View is already gone, return without doing anything + return; + } + // Hide the view without animation + v.setVisibility(View.GONE); + } +}