From 1fb320110cf86e43b59f07ddc0dc028b1311e643 Mon Sep 17 00:00:00 2001 From: MJ Rossetti Date: Sun, 11 Jun 2017 21:40:44 -0400 Subject: [PATCH] Release Android app to Google Play store (#3) * Attempt to generate a signed APK * Overcome release issues * Access release key password from keychain * Fix unmet dependency error * Add About page and Contact info; close #1 * Add venmo link #1 * Change section order on About page * Detect internet connection before making request * Edit contents of about page * Edit about page and restrict stations * Fix default station issue * Customize home screen icon --- .gitignore | 3 + CONTRIBUTING.md | 6 + CREDITS.md | 21 +++ README.md | 6 + RELEASING.md | 48 ++++++ android/app/build.gradle | 34 ++++ android/app/src/main/AndroidManifest.xml | 2 + .../java/com/nexttrainct/MainApplication.java | 2 +- .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 3418 -> 15366 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 2206 -> 7093 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 4842 -> 26668 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 7718 -> 58106 bytes android/gradle.properties | 9 ++ components/About.js | 149 ++++++++++++++++++ components/favs/Index.js | 14 +- components/favs/New.js | 2 +- components/trains/Index.js | 45 ++++-- data/all-stations.json | 147 +++++++++++++++++ data/stations.json | 73 --------- index.android.js | 4 + package.json | 6 +- 21 files changed, 480 insertions(+), 91 deletions(-) create mode 100644 RELEASING.md create mode 100644 components/About.js create mode 100644 data/all-stations.json diff --git a/.gitignore b/.gitignore index e0d24e1..dfa34bd 100644 --- a/.gitignore +++ b/.gitignore @@ -42,3 +42,6 @@ android/keystores/debug.keystore # ANDROID APP PEER DEPENDENCIES (NATIVE BASE NEEDS VECTOR ICONS): android/app/src/main/assets/fonts + +# ANDROID STORE +*.keystore diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f5af9b5..2ad43d8 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -12,6 +12,12 @@ npm install Setup a [react-native developer environment](http://data-creative.info/process-documentation/2016/07/22/react-native-android-dev-env-setup-from-scratch/). +Also [enable the gradle daemon](https://docs.gradle.org/2.9/userguide/gradle_daemon.html) to speed-up build times: + +```` sh +touch ~/.gradle/gradle.properties && echo "org.gradle.daemon=true" >> ~/.gradle/gradle.properties +```` + ## Running Locally ### On Android diff --git a/CREDITS.md b/CREDITS.md index b64091e..15e684d 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -43,6 +43,11 @@ + https://github.com/xgfe/react-native-datepicker/blob/7bed2921e5e6b1044f3bc8af05ed3d54c633c81f/style.js + https://facebook.github.io/react-native/docs/listview.html + https://facebook.github.io/react/docs/reusable-components.html#prop-validation + + https://github.com/oblador/react-native-vector-icons/issues/480#issuecomment-304471943 + + https://github.com/airbnb/lottie-react-native/issues/38 + + https://facebook.github.io/react-native/releases/0.21/docs/linking.html + + http://facebook.github.io/react-native/releases/0.42/docs/netinfo.html + + https://facebook.github.io/react-native/docs/alert.html ## Styling and Design @@ -63,6 +68,22 @@ + http://nativebase.io/docs/v0.5.2/getting-started#installing-peer-dependencies + https://github.com/rnpm/rnpm +### Releasing + + + https://stackoverflow.com/a/21609757/670433 + + https://docs.gradle.org/2.9/userguide/gradle_daemon.html + + https://www.garyshood.com/imageconvert/code.php + + https://stackoverflow.com/questions/34329715/how-to-add-icons-to-react-native-app + ## Moment + http://momentjs.com/guides/#/warnings/js-date/ + +## Android Store + + + https://facebook.github.io/react-native/docs/signed-apk-android.html + + https://stackoverflow.com/questions/35935060/how-can-i-generate-an-apk-that-can-run-without-server-with-react-native + + https://pilloxa.gitlab.io/posts/safer-passwords-in-gradle/ + + https://stackoverflow.com/questions/22681907/you-uploaded-an-apk-that-is-not-zip-aligned-error + + https://developer.android.com/studio/publish/app-signing.html#releasecompile + + https://www.youtube.com/watch?v=1aA949H-shk diff --git a/README.md b/README.md index d3a1768..6bf8e11 100644 --- a/README.md +++ b/README.md @@ -3,3 +3,9 @@ A React-native mobile client for the [Next Train API](http://next-train-production.herokuapp.com/). ![a demonstration of an app being used on an android device. the user chooses a route by selecting an origin train station and a destination train station. the route gets saved to the user's favorites, and a corresponding link is added to the home-screen. the user then clicks on the route link from the home screen and is redirected to a list of upcoming trains.](demo.gif) + +## [Contributing](/CONTRIBUTING.md) + +## [Releasing](/RELEASING.md) + +## [License](/LICENSE.md) diff --git a/RELEASING.md b/RELEASING.md new file mode 100644 index 0000000..587be2f --- /dev/null +++ b/RELEASING.md @@ -0,0 +1,48 @@ +# Releasing + +## Android + +This document describes the process of releasing a new software version to the Android Store. Adapted from [source](https://facebook.github.io/react-native/docs/signed-apk-android.html). + +### Prerequisites + +#### Release Key + +```` sh +cd android/app +```` + +Generate a release key called `next-train-ct-release-key.keystore` with an alias called `next-train-ct-key-alias`. + +```` sh +keytool -genkey -v -keystore next-train-ct-release-key.keystore -alias next-train-ct-key-alias -keyalg RSA -keysize 2048 -validity 10000 +```` + +Ensure it is not being tracked by version control. + +Save it somewhere secure. + +[Add it to your Mac OS Keychain](https://pilloxa.gitlab.io/posts/safer-passwords-in-gradle/): + + + Item Name: `next-train-ct-android-release-key` + + Account Name: `mjr` + + Password: HIDDEN + +#### Home Screen Icons + +Save icon images as `ic_launcher.png` in various directories within `/android/app/src/main/res/mipmap-*`: + + + 72*72 in mipmap-hdpi + + 48*48 in mipmap-mdpi + + 96*96 in mipmap-xhdpi + + 144*144 in mipmap-xxhdpi. + +### Releasing + +Generate an APK: + +```` sh +cd android && ./gradlew assembleRelease +```` + +Upload the APK file (`android/app/build/outputs/apk/app-release.apk`) to the [Google Play Developer Console](https://play.google.com/apps/publish/). diff --git a/android/app/build.gradle b/android/app/build.gradle index 74339cd..834dc6e 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -82,6 +82,29 @@ def enableSeparateBuildPerCPUArchitecture = false */ def enableProguardInReleaseBuilds = false + + + + + +def getPassword(String currentUser, String keyChain) { + def stdout = new ByteArrayOutputStream() + def stderr = new ByteArrayOutputStream() + exec { + commandLine 'security', '-q', 'find-generic-password', '-a', currentUser, '-s', keyChain, '-w' + standardOutput = stdout + errorOutput = stderr + ignoreExitValue true + } + //noinspection GroovyAssignabilityCheck + stdout.toString().trim() +} // source: https://pilloxa.gitlab.io/posts/safer-passwords-in-gradle/ + +def keychain_password = getPassword("mjr", "next-train-ct-android-release-key") // adapted from source: https://pilloxa.gitlab.io/posts/safer-passwords-in-gradle/ + + + + android { compileSdkVersion 23 buildToolsVersion "23.0.1" @@ -96,6 +119,16 @@ android { abiFilters "armeabi-v7a", "x86" } } + signingConfigs { + release { + if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) { + storeFile file(MYAPP_RELEASE_STORE_FILE) + storePassword keychain_password + keyAlias MYAPP_RELEASE_KEY_ALIAS + keyPassword keychain_password + } + } + } splits { abi { reset() @@ -108,6 +141,7 @@ android { release { minifyEnabled enableProguardInReleaseBuilds proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" + signingConfig signingConfigs.release } } // applicationVariants are e.g. debug, release diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 3759cc1..11ef996 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -6,6 +6,8 @@ + + diff --git a/android/app/src/main/java/com/nexttrainct/MainApplication.java b/android/app/src/main/java/com/nexttrainct/MainApplication.java index d4d1cfd..7313cf5 100644 --- a/android/app/src/main/java/com/nexttrainct/MainApplication.java +++ b/android/app/src/main/java/com/nexttrainct/MainApplication.java @@ -17,7 +17,7 @@ public class MainApplication extends Application implements ReactApplication { private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) { @Override - protected boolean getUseDeveloperSupport() { + public boolean getUseDeveloperSupport() { // changed "protected" to "public" per https://github.com/airbnb/lottie-react-native/issues/38 return BuildConfig.DEBUG; } diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png index cde69bcccec65160d92116f20ffce4fce0b5245c..39d5cc4d5bc1fe833214c741cd7cdac4fd3ee0a5 100644 GIT binary patch literal 15366 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

|-liS)PFJ8{x|u}h1*A2x!g zZDjneJ^W$c85Rc-9w&#a0HzM#mRG-VbkU8|?I+ z<&GW|j_H4yN8YWp#_MZuJ^t}4nFyROy1BYq0Sq*0Qlj=?$kx*(N$T4^-#f>`uiw^j zhma0#C2L7aV2RURpM&(eb-TVDUtS)u^J`2I*Io_-KVHpV3u3HB5IFFzM9L(P5?}or zMy!YanCLLN-vm@UpQLl;cKB6;mZYDvvL;=e0~N04xcN#dJrsv5(*mgoJ;;GJ{S;7u z;C8$QmN$eqVPG1XSsz{O9$FxqH6mZ7)r@1nu!dH zds=wwj)RpqF)^1>F#2;WZ|Ul-Y9_Q$mDIYg7QgY_jsN@N%n>D^p%zDyAe+gSbe#eF zJupQxyjtR$)%j|1^0O&D#u`nJU|C~3n(8@x)}!U|phuDtV@~LIVm1^uoV**$ln(j+ z?ydGkxz$Umu_)DDQT#;Dw6t7VVzn&=0nl9XFUyj-gslH$sL8ewLtE^!J3XJb9y{eb@gNXbq_ delta 3327 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 JPDHLkV1n>nGui+E diff --git a/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/android/app/src/main/res/mipmap-mdpi/ic_launcher.png index c133a0cbd379f5af6dbf1a899a0293ca5eccfad0..d24aff79815f41d253bd893b104e3970f8d861f5 100644 GIT binary patch delta 7028 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 S`lhr10000MS-S8v^6vi zeq-c;^Dmy#{tlF zn2UDq+?oI&A_0q{^MgM=w4=Lk=F+#H+R}85Nzenk*Lo_T5=IGNOF6#e7|Ab=# zvPg+1p80xx>*IZusDyUuUg;(%FCI%8vBr1IvaCf61{Q zJ@n41(cw!20A{Zi0Rk{*+jsjOS+%L@>4^+}vU}5!#{kHC?rGQ7Y+rpxY>wQfCgoNV z##{y$v9ZI51Ojx*&gRsY3YYnphxY#U)R{A93IN2u-`)Rgsu7QzIQq#Gzxi?h3joHi zrUw8(jmP7ydyZ^)t-htU>%uA7f7dWyX-_oKexc~|z&2o8`~(1inTzdgD5K*U-Ze2| z47GOCTVo$ho!tAtu}uIn018np8&wEEqPutLUE2?I9|H&s=|omF0sDWl^nUu-$-cAi z4)p_=iV8}phQRXWO|h*{uHGH5!{M`+?Mqu`E)Qnk92uF6Wc_Lgf6%@6u1anG ze$Sh=H_44bmJO09I!;N{qo?!k1*zgKH`xoy>=WjQElsvzWjvc}U==y~w* z#jhYj(X2#3*?ypBPkb)*f4YE&f_H+uvOKW+ChB;@_g>z#6BVMQTqEszc57GTXT=d8 zL%? z#|Ov4#x3U}ZGM+Hgn)2akiH#XXxRn;XvAWqWApI(;Qp$tzjomce>5c8002$NCCKSx z7@j!o^TpyjlfMG68bCg1oUjlQ-#NIsS4(ggn0<-blx%nXzA14l1Sz55+0$PYu_E~5 zn6*m+`^VGNv*U+fS&5LE6-Gd9T0;ALK&;P5Zou_^bn0J_Y(xNWKI<}%|4e`A(z}@Z zXCM#;qxm*<9{??=e?2G%=xdL!ZClixd?th(#`B|?Dr6B;YB7=x+V$jfPz7dN?& zCr=};q>z_WI5qkzE{vZH?WxAmme=Z^JAd-yNncxlzG&-8uB!y%T=oRcWlt2X6sR3g zBkVUheGJEke_<<@9R~nz?@IT*4IK7bA}EBEM5B6NDPWu*e=iu02;RHZa4Cj@cGjC@ zv)B@3@E`(OGDTks8_@YLbm9Q;-jPDVhRB?`T5lu*D^_&WYH_M%aAd$v;9=kc%U+q# z@m71KMx>W6ZAnxjK&_qisftKLz=v76+RzD92T-@7p%$Ly)aR0TN{!{Rg<(UI5M;QN zB`e`sS^Q~)e=D$gejsA=bOu0z*x#3ZT}fftpmL3OdLIF1Cc~iCnMw1gLFSCbi2(+L z`HBGuB7nGL7E2doKN3g~zziY*B0$=ho&6XfsGe{tJqv}vv6#<(J_3p&xVDa`3@1;Dc^JK9vWG9aTVR))dSR>%&?)-PV_0t5*ZQ8V}@kougif zD5{B07Od3v$8;$SwM9!PeL(kf|RAuAv;N_6#FElv!a!a zfA=8pY!B`cUkK>|`;AH>RBN+kZ86NHwX}lR;OSF=2lT?M^v&&k@wYz>U7FQ(-{Cn( zoQEA!7>Z(V7})h~gZCdy**8`g_?a0w@t0%gFMBcgZY9RYXGt2`KNfbTzpQG)zke+w zWNp~&g@?&p_t_CTQLXOO%1!E%um5b|SsNd`f9Wg$-94vY6ae*_hMN~IYi?2$<%(A- z!zf(w1*u^eY=4iO{clFs@ezP509P1=rK|u@gKPUI)u_TS|J;=Kf-grPYWwvhaYOzu z<$og|U;;R}vW=7e8W$QgEigGPFf~*$Fgi6iIyE>gFgH3dFucb>?vpPY7bY|P$IyE;sH8?FWH##sd&6@dA00000NkvXXu0mjfIFR!N diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png index bfa42f0e7b91d006d22352c9ff2f134e504e3c1d..d832127ba0a32ed32c823a28f6c2ad89e4a6838e 100644 GIT binary patch literal 26668 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 Hu0mjf?oHSx delta 4800 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 diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png index 324e72cdd7480cb983fa1bcc7ce686e51ef87fe7..8c3ab49375faf7857b76b943be4dc49f653dfaec 100644 GIT binary patch literal 58106 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%0Amroam1TIbj3XlWOE20 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 literal 7718 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 diff --git a/android/gradle.properties b/android/gradle.properties index 1fd964e..ba3caae 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -18,3 +18,12 @@ # org.gradle.parallel=true android.useDeprecatedNdk=true + +# +# For releasing to the android store: +# + +MYAPP_RELEASE_STORE_FILE=next-train-ct-release-key.keystore +MYAPP_RELEASE_KEY_ALIAS=next-train-ct-key-alias +# MYAPP_RELEASE_STORE_PASSWORD=***** # avoid using these by adding them to the Mac OS X Keychain +# MYAPP_RELEASE_KEY_PASSWORD=***** # avoid using these by adding them to the Mac OS X Keychain diff --git a/components/About.js b/components/About.js new file mode 100644 index 0000000..d216878 --- /dev/null +++ b/components/About.js @@ -0,0 +1,149 @@ +import React, {Component} from 'react'; +import {Text, StyleSheet, Linking, TouchableOpacity} from 'react-native' +import { + Container, Header, Title, Content, Footer, Button, Icon, List, ListItem, Badge +} from 'native-base'; + +export default class About extends Component { + constructor(props){ + super(props) + this.navigator = this.props.navigator; + this.goBack = this.goBack.bind(this); + this.goEmail = this.goEmail.bind(this); + this.goTweet = this.goTweet.bind(this); + this.goVenmo = this.goVenmo.bind(this); + this.goClientRepo = this.goClientRepo.bind(this); + this.goServerRepo = this.goServerRepo.bind(this); + this.goGTFS = this.goGTFS.bind(this); + } + + render() { + return ( + +
+ + About NextTrain CT +
+ + + + About + + Search Shore Line East transit schedules in a fast and easy way. + Save a route to your favorites, then find out when the next train is coming anytime with the click of a button. + + + Disclaimer + + This app relies on Shore Line East schedule data published online by CTtransit. + The app developer is not affiliated with Shore Line East or CTtransit, and cannot guarantee the accuracy of their data. + If you notice an issue with the schedule data, please contact the developer, who will notify CTtransit. + + + Contact + + This app was made by MJ Rossetti, a native of Branford, CT. + It relies on a backend web server which is operated by his software development company, Data Creative, as a free public service. + + + + + + + + + + + Donate + + If you like this app, please consider donating. + Your donations keep the servers running! + + + + + + + + Contribute + + This app is powered by open data and open source software. + If you know how to submit a PR or file an issue on GitHub, your contributions are welcome! + + + + + + + + + + + + + +
+ ); + } + + goBack(){ + this.navigator.pop() + } + + linkTo(url){ + Linking.openURL(url).catch(function(err){ console.error("LINKING ERROR", err) }) + } + + goEmail(){ + this.linkTo("mailto:datacreativellc@gmail.com") + } + + goTweet(){ + this.linkTo("https://twitter.com/data_creative") + } + + goVenmo(){ + this.linkTo("https://venmo.com/data_creative?txn=pay&amount=2.99") + } + + goClientRepo(){ + this.linkTo("https://github.com/data-creative/NextTrainCT") + } + + goServerRepo(){ + this.linkTo("https://github.com/data-creative/next-train-api") + } + + goGTFS(){ + this.linkTo("https://www.cttransit.com/about/developers") + } +}; + +About.propTypes = { + navigator: React.PropTypes.object.isRequired // an instance of react-native Navigator +}; + +const styles = StyleSheet.create({ + content: {margin: 20}, + text: {marginTop: 10}, + firstHeading: {color: "#7a7a7a"}, + heading: {color: "#7a7a7a", marginTop: 10}, + listItem: {height:60}, + listItemIcon: {marginRight:13, color:'#282828'}, + listItemText: {fontSize:18} +}); diff --git a/components/favs/Index.js b/components/favs/Index.js index 8a6e5f7..89b6638 100644 --- a/components/favs/Index.js +++ b/components/favs/Index.js @@ -1,5 +1,5 @@ import React, {Component} from 'react'; -import {Alert, Text, StyleSheet, AsyncStorage} from 'react-native' +import {Text, StyleSheet, AsyncStorage} from 'react-native' import {Container, Header, Title, Content, Footer, Button, Icon, Card, CardItem, Spinner} from 'native-base'; import SwipeList from "./SwipeList" @@ -9,7 +9,7 @@ export default class FavsIndex extends Component { constructor(props){ super(props) - console.log("INDEX PROPS FAVS", typeof(this.props.favs), this.props.favs) + //console.log("INDEX PROPS FAVS", typeof(this.props.favs), this.props.favs) this.state = { favs: (this.props.favs ? this.props.favs : []), displaySpinner:false @@ -18,6 +18,7 @@ export default class FavsIndex extends Component { this.fetchAll = this.fetchAll.bind(this); this.removeAll = this.removeAll.bind(this); this.handleButtonPress = this.handleButtonPress.bind(this); + this.goMenu = this.goMenu.bind(this); } render() { @@ -28,6 +29,9 @@ export default class FavsIndex extends Component { return (
+ NextTrain CT
@@ -46,10 +50,14 @@ export default class FavsIndex extends Component { } handleButtonPress(){ - const favs = this.state.favs // todo + const favs = this.state.favs this.navigator.push({name: 'NEW_FAV', params:{favs:favs}}) } + goMenu(){ + this.navigator.push({name: 'ABOUT'}) + } + fetchAll(){ AsyncStorage.getItem('favs') .then(function(results){ console.log("FETCH ALL", results); diff --git a/components/favs/New.js b/components/favs/New.js index 311cc63..e42c907 100644 --- a/components/favs/New.js +++ b/components/favs/New.js @@ -6,7 +6,7 @@ import StationPicker from "../stations/Picker" export default class NewFav extends Component { constructor(props) { super(props); - this.state = {origin: 'GCS', destination: 'NHV', displaySpinner:false}; + this.state = {origin: 'BRN', destination: 'NHV', displaySpinner:false}; this.navigator = this.props.navigator; this.favs = this.props.favs; this.goBack = this.goBack.bind(this); diff --git a/components/trains/Index.js b/components/trains/Index.js index 178b4ac..6ce406b 100644 --- a/components/trains/Index.js +++ b/components/trains/Index.js @@ -1,6 +1,6 @@ import moment from 'moment'; import React, {Component} from 'react'; -import {Text, StyleSheet} from 'react-native' +import {Text, StyleSheet, Alert, NetInfo} from 'react-native' import {Container, Header, Title, Content, Button, Icon, Footer, Spinner} from 'native-base'; import TrainsList from "./List" @@ -17,6 +17,7 @@ export default class TrainsIndex extends Component { this.navigator = this.props.navigator; this.fetchTrainSchedule = this.fetchTrainSchedule.bind(this); this.goBack = this.goBack.bind(this); + this.alertAndGoBack = this.alertAndGoBack.bind(this); } render() { @@ -62,10 +63,26 @@ export default class TrainsIndex extends Component { this.navigator.pop(); } + alertAndGoBack(){ + this.setState({displaySpinner:false, trains: []}) + Alert.alert( + "Check Internet Connection", + "This device is not connected to WiFi. Please connect to the Internet and try again.", + [ + { + text: 'OK', + onPress: function(){ + console.log('OK Pressed') + this.goBack() + }.bind(this) + } + ], + { cancelable: false } + ) + } + fetchTrainSchedule(){ var requestURL = "http://next-train-production.herokuapp.com/api/v1/trains.json?origin=" + this.transitRoute.origin.toUpperCase() + "&destination=" + this.transitRoute.destination.toUpperCase() + "&date=" + this.selectedDate - //=> "http://next-train-production.herokuapp.com/api/v1/trains.json?origin=BRN&destination=NHV&date=2016-12-01" - fetch(requestURL) .then(function(response) { //console.log("RAW RESPONSE", "STATUS", response.status, response.statusText, response.ok, "HEADERS", response.headers, response.url) @@ -76,21 +93,29 @@ export default class TrainsIndex extends Component { this.setState({displaySpinner:false, trains: json.results}) }.bind(this)) .catch(function(err){ - // var flash = {danger: ["There was an issue fetching schedule results from the server. Please try again or contact the developer."]} - console.error(err) + console.error("FETCH ERR", err) // alert... There was an issue fetching schedule results from the server. Please try again, or contact the developer if the issue persists." }) } componentWillMount(){ console.log("TRAINS INDEX WILL MOUNT") } - componentDidMount(){ - console.log("TRAINS INDEX DID MOUNT") - this.fetchTrainSchedule() + componentDidMount(){ console.log("TRAINS INDEX DID MOUNT") + NetInfo.isConnected.fetch() + .then(function(isConnected){ + console.log('DEVICE CONNECTED? ', isConnected) + if (isConnected) { + this.fetchTrainSchedule() + } else { + this.alertAndGoBack() + } + }.bind(this)) + .catch(function(err){ + console.log("NETINFO ERROR", err) + }) } componentWillReceiveProps(nextProps){ console.log("TRAINS INDEX WILL RECEIVE PROPS") } componentWillUpdate(nextProps, nextState){ console.log("TRAINS INDEX WILL UPDATE") } componentDidUpdate(prevProps, prevState){ console.log("TRAINS INDEX DID UPDATE") } - componentWillUnmount(){ console.log("TRAINS INDEX WILL UNMOUNT") } - + componentWillUnmount(){ console.log("TRAINS INDEX WILL UNMOUNT") } }; const styles = StyleSheet.create({ diff --git a/data/all-stations.json b/data/all-stations.json new file mode 100644 index 0000000..b8c9e47 --- /dev/null +++ b/data/all-stations.json @@ -0,0 +1,147 @@ +[ + { + "id":1612, + "abbrev":"NHV", + "name":"New Haven Union Station", + "latitude":"41.297719", + "longitude":"-72.926731", + "url":"http://www.shorelineeast.com/service_info/stations/nh_u.php", + }, + { + "id":1622, + "abbrev":"ST", + "name":"New Haven State Street Station", + "latitude":"41.304985", + "longitude":"-72.921764", + "url":"http://www.shorelineeast.com/service_info/stations/nh_s.php" + }, + { + "id":1632, + "abbrev":"BRN", + "name":"Branford", + "latitude":"41.274628", + "longitude":"-72.817246", + "url":"http://www.shorelineeast.com/service_info/stations/branford.php" + }, + { + "id":1642, + "abbrev":"GUIL", + "name":"Guilford", + "latitude":"41.275819", + "longitude":"-72.673643", + "url":"http://www.shorelineeast.com/service_info/stations/guilford.php" + }, + { + "id":1652, + "abbrev":"MAD", + "name":"Madison", + "latitude":"41.283668", + "longitude":"-72.599539", + "url":"http://www.shorelineeast.com/service_info/stations/madison.php" + }, + { + "id":1662, + "abbrev":"CLIN", + "name":"Clinton", + "latitude":"41.279486", + "longitude":"-72.5283", + "url":"http://www.shorelineeast.com/service_info/stations/clinton.php" + }, + { + "id":1672, + "abbrev":"WES", + "name":"Westbrook", + "latitude":"41.288763", + "longitude":"-72.448402", + "url":"http://www.shorelineeast.com/service_info/stations/westbrook.php", + }, + { + "id":1682, + "abbrev":"OSB", + "name":"Old Saybrook", + "latitude":"41.300391", + "longitude":"-72.376825", + "url":"http://www.shorelineeast.com/service_info/stations/old_saybrook.php", + }, + { + "id":1692, + "abbrev":"NLC", + "name":"New London", + "latitude":"41.354158", + "longitude":"-72.093076", + "url":"http://www.shorelineeast.com/service_info/stations/new_london.php" + }, + + + + + + + + + + { + "id":1702, + "abbrev":"GCS", + "name":"Grand Central Station", + "latitude":"40.753165", + "longitude":"-73.977379", + "url":"http://as0.mta.info/mnr/stations/station_detail.cfm", + }, + { + "id":1712, + "abbrev":"GW", + "name":"Greenwich", + "latitude":"41.021705", + "longitude":"-73.624597", + "url":"http://as0.mta.info/mnr/stations/station_detail.cfm" + }, + { + "id":1722, + "abbrev":"STM", + "name":"Stamford", + "latitude":"41.046654", + "longitude":"-73.542845", + "url":"http://as0.mta.info/mnr/stations/station_detail.cfm?key=226" + }, + { + "id":1732, + "abbrev":"SN", + "name":"South Norwalk", + "latitude":"41.095529", + "longitude":"-73.421803", + "url":"http://as0.mta.info/mnr/stations/station_detail.cfm" + }, + { + "id":1742, + "abbrev":"BRP", + "name":"Bridgeport", + "latitude":"41.178702", + "longitude":"-73.187077", + "url":"http://as0.mta.info/mnr/stations/station_detail.cfm?key=246" + }, + { + "id":1752, + "abbrev":"STR", + "name":"Stratford", + "latitude":"41.194286", + "longitude":"-73.131566", + "url":"http://as0.mta.info/mnr/stations/station_detail.cfm?key=248" + }, + { + "id":1762, + "abbrev":"MIL", + "name":"Milford", + "latitude":"41.22323", + "longitude":"-73.057666", + "url":"http://as0.mta.info/mnr/stations/station_detail.cfm?key=250" + }, + { + "id":1772, + "abbrev":"WH", + "name":"West Haven", + "latitude":"41.271408", + "longitude":"-72.964722", + "url":"http://as0.mta.info/mnr/stations/station_detail.cfm?key=251" + } +] diff --git a/data/stations.json b/data/stations.json index b8c9e47..62ad2fc 100644 --- a/data/stations.json +++ b/data/stations.json @@ -70,78 +70,5 @@ "latitude":"41.354158", "longitude":"-72.093076", "url":"http://www.shorelineeast.com/service_info/stations/new_london.php" - }, - - - - - - - - - - { - "id":1702, - "abbrev":"GCS", - "name":"Grand Central Station", - "latitude":"40.753165", - "longitude":"-73.977379", - "url":"http://as0.mta.info/mnr/stations/station_detail.cfm", - }, - { - "id":1712, - "abbrev":"GW", - "name":"Greenwich", - "latitude":"41.021705", - "longitude":"-73.624597", - "url":"http://as0.mta.info/mnr/stations/station_detail.cfm" - }, - { - "id":1722, - "abbrev":"STM", - "name":"Stamford", - "latitude":"41.046654", - "longitude":"-73.542845", - "url":"http://as0.mta.info/mnr/stations/station_detail.cfm?key=226" - }, - { - "id":1732, - "abbrev":"SN", - "name":"South Norwalk", - "latitude":"41.095529", - "longitude":"-73.421803", - "url":"http://as0.mta.info/mnr/stations/station_detail.cfm" - }, - { - "id":1742, - "abbrev":"BRP", - "name":"Bridgeport", - "latitude":"41.178702", - "longitude":"-73.187077", - "url":"http://as0.mta.info/mnr/stations/station_detail.cfm?key=246" - }, - { - "id":1752, - "abbrev":"STR", - "name":"Stratford", - "latitude":"41.194286", - "longitude":"-73.131566", - "url":"http://as0.mta.info/mnr/stations/station_detail.cfm?key=248" - }, - { - "id":1762, - "abbrev":"MIL", - "name":"Milford", - "latitude":"41.22323", - "longitude":"-73.057666", - "url":"http://as0.mta.info/mnr/stations/station_detail.cfm?key=250" - }, - { - "id":1772, - "abbrev":"WH", - "name":"West Haven", - "latitude":"41.271408", - "longitude":"-72.964722", - "url":"http://as0.mta.info/mnr/stations/station_detail.cfm?key=251" } ] diff --git a/index.android.js b/index.android.js index 067ba8e..6a35a71 100644 --- a/index.android.js +++ b/index.android.js @@ -4,6 +4,7 @@ import {AppRegistry, Navigator} from 'react-native'; import FavsIndex from "./components/favs/Index"; import NewFav from "./components/favs/New"; import TrainsIndex from "./components/trains/Index"; +import About from "./components/About"; class App extends Component { render(){ @@ -28,6 +29,9 @@ class App extends Component { case 'TRAINS': return break; + case 'ABOUT': + return + break; default: console.error("UNRECOGNIZED ROUTE -- " + navRoute.name) }; diff --git a/package.json b/package.json index 556cadd..d0c7b39 100644 --- a/package.json +++ b/package.json @@ -9,10 +9,10 @@ "d3": "^4.9.1", "moment": "^2.18.1", "native-base": "^0.5.8", - "react": "15.4.0", - "react-native": "0.40.0", + "react": "15.4.1", + "react-native": "0.42.3", "react-native-datepicker": "^1.3.2", "react-native-swipe-list-view": "^0.3.0", - "react-native-vector-icons": "^4.0.0" + "react-native-vector-icons": "4.0.0" } }