aboutsummaryrefslogtreecommitdiff
path: root/mobile
diff options
context:
space:
mode:
authorIvan Shen <iwshen11@gmail.com>2019-03-29 20:19:36 +0000
committerGitHub <noreply@github.com>2019-03-29 20:19:36 +0000
commit558c78d4be964afdf4fec2de20a8fb9a1cc7c66d (patch)
tree47ae03814d3407b45f8750aae732acc24d65e215 /mobile
parent6b91cafd7884e1bc5286f17a5c0e5c045130befb (diff)
parent3dd46ef8b12b9cc58c8ebdb8bd8b058ffa42b3ae (diff)
Merge pull request #67 from csc301-winter-2019/feat/28-patch
add patch for feat28
Diffstat (limited to 'mobile')
-rw-r--r--mobile/components/GreetingPage.js31
1 files changed, 15 insertions, 16 deletions
diff --git a/mobile/components/GreetingPage.js b/mobile/components/GreetingPage.js
index 435022d..0bfa63b 100644
--- a/mobile/components/GreetingPage.js
+++ b/mobile/components/GreetingPage.js
@@ -6,28 +6,31 @@ import { Location, Permissions, Constants } from 'expo';
export default class GreetingPage extends Component {
state = {
- isLoading: true,
+ isLoading: false,
errorMessage: null,
locationResult: null,
};
- // runs as soon as page is loaded
- componentDidMount() {
- // immediately attempt to get the location
- this._getLocationAsync();
- }
-
- _getLocationAsync = async () => {
+ moveToFormPage = async () => {
+ this.setState({isLoading: true});
// ask location services to allow location access to THIS app.
// Note: location services itself must still be enabled for this!
const {status} = await Permissions.askAsync(Permissions.LOCATION);
if (status === 'granted') {
// try to actually get the location asynchronously - a Promise
Location.getCurrentPositionAsync({enableHighAccuracy: true}).then((position) => {
- this.setState({locationResult: position.coords});
+ this.setState({locationResult: position.coords}, () => {
+ this.props.navigation.navigate('FormPage',
+ {coordinates : [
+ this.state.locationResult.longitude,
+ this.state.locationResult.latitude]
+ });
+ });
// since we are guaranteed to have the location here, its safe to load the full view
this.setState({isLoading: false});
+ // move to form page
}).catch((e) => {
+ this.setState({isLoading: false});
alert(e + ' Please make sure your location (GPS) is turned on.');
});
@@ -37,13 +40,9 @@ export default class GreetingPage extends Component {
}
};
- moveToFormPage = () => {
- this.props.navigation.navigate('FormPage',
- {coordinates : [
- this.state.locationResult.longitude,
- this.state.locationResult.latitude]
- });
- };
+ moveToMapPage = () => {
+ this.props.navigation.navigate('MapPage');
+ }
moveToMapPage = () => {
this.props.navigation.navigate('MapPage');