From d986b2caa52348a13a4029e5afce2687954ae08d Mon Sep 17 00:00:00 2001 From: theiled00 <theiled00@zedat.fu-berlin.de> Date: Thu, 30 Mar 2023 17:21:56 +0200 Subject: [PATCH] Adjust android setup; setup connection to local running backend --- android/app/build.gradle | 2 +- android/app/src/main/AndroidManifest.xml | 5 +-- lib/main.dart | 44 ++++++++++++++++-------- 3 files changed, 34 insertions(+), 17 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index 5355468..3c01706 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -47,7 +47,7 @@ android { applicationId "com.example.router_app" // You can update the following values to match your application needs. // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. - minSdkVersion flutter.minSdkVersion + minSdkVersion 20 targetSdkVersion flutter.targetSdkVersion versionCode flutterVersionCode.toInteger() versionName flutterVersionName diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 89d872b..905e23f 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -32,7 +32,8 @@ android:value="2" /> <meta-data android:name="com.google.andoid.geo.API_KEY" android:value="AIzaSyAzedQacDEZmyxAOUEEeocvehT8MEdMWys"/> - <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> - <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> </application> + + <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> + <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> </manifest> diff --git a/lib/main.dart b/lib/main.dart index 4608290..9aad9b7 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -214,17 +214,32 @@ class _MyHomePageState extends State<MyHomePage> { var destlon = _destCoordinates.longitude; // Get direction data - final response = await http.get( - Uri.parse( - 'https://api.openrouteservice.org/v2/directions/driving-car?api_key=${config.OSM_API}&start=$originlon,$originlat&end=$destlon,$destlat', + // No weather or days included for now + final response = await http.post( + Uri.parse('http://10.0.2.2:8080/route'), + body: jsonEncode( + { + "start_node": { + "lat": originlat, + "lon": originlon + }, + "end_node": { + "lat": destlat, + "lon": destlon + }, + "forbidden": [], + "start_after_today": 0, + "end_after_today": 0 + } ), + headers: <String, String>{"Content-Type": "application/json"} ); _data = jsonDecode(response.body); - var coordinates = _data['features'][0]['geometry']['coordinates']; - double duration = - _data['features'][0]['properties']['segments'][0]['duration']; - double distance = - _data['features'][0]['properties']['segments'][0]['distance']; + var coordinates = _data['route']; + int duration = _data['duration']; + int distance = _data['distance']; + //TODO include day + int daysAfterToday = _data['days_after_today']; // Format duration and distance _totalDuration = getTotalDuration(duration); @@ -260,12 +275,11 @@ class _MyHomePageState extends State<MyHomePage> { // Draw polyline based on given coordinates for (int i = 0; i < ls.lineString.length; i++) { - _polyline.add(latlng.LatLng(ls.lineString[i][1], ls.lineString[i][0])); + _polyline.add(latlng.LatLng(ls.lineString[i][0], ls.lineString[i][1])); } } - String getTotalDuration(double duration) { - double durationInMins = duration / 60; + String getTotalDuration(int durationInMins) { int hours = (durationInMins / 60).floor(); int min = (durationInMins % 60).floor(); if (hours != 0) { @@ -274,7 +288,7 @@ class _MyHomePageState extends State<MyHomePage> { return '$min mins'; } - String getTotalDistance(double distance) { + String getTotalDistance(int distance) { int distanceInKm = (distance / 1000).ceil(); return '$distanceInKm km'; } @@ -954,8 +968,9 @@ class _MyHomePageState extends State<MyHomePage> { itemCount: 1, padding: EdgeInsets.all(20), itemBuilder: (BuildContext context, int index) { - return Expanded( - child: Column( + return Stack( + children: [ + Column( children: [ Container( margin: EdgeInsets.only(bottom: 15, top: 5), @@ -1231,6 +1246,7 @@ class _MyHomePageState extends State<MyHomePage> { ), ], ), + ], ); }, ), -- GitLab