From 34bba617846d5f1708b468072ad29a75758df3d3 Mon Sep 17 00:00:00 2001 From: James Wright <jw01324@surrey.ac.uk> Date: Mon, 13 May 2019 12:49:25 +0100 Subject: [PATCH] View Routes activity --- .../executionHistory/executionHistory.bin | Bin 9688088 -> 9688088 bytes .../executionHistory/executionHistory.lock | Bin 17 -> 17 bytes .gradle/5.1.1/fileHashes/fileHashes.bin | Bin 1823764 -> 1824514 bytes .gradle/5.1.1/fileHashes/fileHashes.lock | Bin 17 -> 17 bytes .gradle/5.1.1/javaCompile/classAnalysis.bin | Bin 5370976 -> 5524589 bytes .gradle/5.1.1/javaCompile/javaCompile.lock | Bin 17 -> 17 bytes .../buildOutputCleanup.lock | Bin 17 -> 17 bytes .idea/caches/build_file_checksums.ser | Bin 448 -> 448 bytes .idea/misc.xml | 2 +- .idea/workspace.xml | 480 +++++++++--------- src/main/AndroidManifest.xml | 17 +- .../liliyayankova/unirides/Driver_Main.java | 2 + .../Driver_Profile_Passenger_View.java | 270 ++++++++++ .../example/liliyayankova/unirides/Login.java | 5 +- .../example/liliyayankova/unirides/Map.java | 28 - .../liliyayankova/unirides/User_Main.java | 2 + .../liliyayankova/unirides/ViewRoutes.java | 305 ++++++++++- ...ivity_driver__profile__passenger__view.xml | 185 +++++++ src/main/res/layout/activity_view_routes.xml | 41 +- 19 files changed, 1056 insertions(+), 281 deletions(-) create mode 100644 src/main/java/com/example/liliyayankova/unirides/Driver_Profile_Passenger_View.java create mode 100644 src/main/res/layout/activity_driver__profile__passenger__view.xml diff --git a/.gradle/5.1.1/executionHistory/executionHistory.bin b/.gradle/5.1.1/executionHistory/executionHistory.bin index ee1196166be61b38ab3c41ba8a6c0fec57d689ce..d261197256c1845414cc284c3c3c843a43de12b7 100644 GIT binary patch delta 23168 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 delta 21030 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 SfM6j(Awdz&y}zj7<Np9e6jF@< diff --git a/.gradle/5.1.1/executionHistory/executionHistory.lock b/.gradle/5.1.1/executionHistory/executionHistory.lock index f1c6e6c4f5d014c1a9dc0bd1cad085d6bde0d30f..23fce472c845b30e228007523072de2c569669a4 100644 GIT binary patch literal 17 UcmZQJWKPof)nJ*#00#VV03t;LL;wH) literal 17 UcmZQJWKPof)nJ*#00w-Q03x>ow*UYD diff --git a/.gradle/5.1.1/fileHashes/fileHashes.bin b/.gradle/5.1.1/fileHashes/fileHashes.bin index adf4cf756c92ce7d4aeaf857a8fe39859ad0c1d7..eda4f8719148e1eee0ce081d2574dbb15e06db17 100644 GIT binary patch delta 15403 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 Zv*`S<6yqC?=?fVZ|2f-I8-v2u{}1v8FdhH^ delta 14347 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 diff --git a/.gradle/5.1.1/fileHashes/fileHashes.lock b/.gradle/5.1.1/fileHashes/fileHashes.lock index f2c11ed8a3fdcffad8b19c4cb31820680d5aca25..e45edc0e94e3ab04fa3ff7da7a2509176d3539e3 100644 GIT binary patch literal 17 WcmZQ>7u1+2U%PS#0|>C3O9lWbFa(DH literal 17 WcmZQ>7u1+2U%PS#0|>C3Oa}ldDg=fA diff --git a/.gradle/5.1.1/javaCompile/classAnalysis.bin b/.gradle/5.1.1/javaCompile/classAnalysis.bin index a26be942b95c60fc4fa3482c925d5980a86c5088..3565f33998773d43e22fd46a3bdbb35ab3656a98 100644 GIT binary patch delta 25886 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 RWvJPi;y~G+9xOuq{{bNc^RoZ| delta 2458 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 DX|>_^ diff --git a/.gradle/5.1.1/javaCompile/javaCompile.lock b/.gradle/5.1.1/javaCompile/javaCompile.lock index 14d728d7d9f35bf1ed30e102dacdc8319594ce6d..f9a6e55cc0e77ce66c41405089bf6ab27edcf884 100644 GIT binary patch literal 17 VcmZP;UHg9ByJ?Tz8Nfh49soa61)l%_ literal 17 VcmZP;UHg9ByJ?Tz8Nfi#2mn7M1#tiX diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock index 24d9f24b0ebf71b0a55b141d0a47c1207280f5a8..1cf890c4382b69e61483fc1dbffe4492dee41872 100644 GIT binary patch literal 17 UcmZR!tFm@qq@y0i00yz503jLz{{R30 literal 17 UcmZR!tFm@qq@y0i00z+;0U@#jnE(I) diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index 256b9fc9151b2ea3ed0f80bd6d139919ccb0bf03..bcd48529c4111d84f9fd1883fd75a2c317dfa287 100644 GIT binary patch delta 14 WcmX@We1LhvOy&(CUpCHBVFUm#Tm~Hg delta 14 WcmX@We1LhvOy(-j8yn}SFaiKA6a~Nl diff --git a/.idea/misc.xml b/.idea/misc.xml index 0d45e8d..f5c6d9e 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,4 +1,4 @@ <?xml version="1.0" encoding="UTF-8"?> <project version="4"> - <component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" project-jdk-name="1.8" project-jdk-type="JavaSDK" /> + <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK" /> </project> \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 842e3b3..eca632c 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -6,62 +6,31 @@ </shared> </component> <component name="AndroidLogFilters"> + <option name="TOOL_WINDOW_LOG_LEVEL" value="verbose" /> <option name="TOOL_WINDOW_CONFIGURED_FILTER" value="Show only selected application" /> </component> <component name="ChangeListManager"> <list default="true" id="92eeab65-885e-4873-8c3f-1e2cdc70020e" name="Default Changelist" comment="map activity code updated - Mark Wu"> - <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_google_auto_value_auto_value_annotations_1_6_3_jar.xml" afterDir="false" /> - <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_google_firebase_firebase_auth_17_0_0_aar.xml" afterDir="false" /> - <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_google_firebase_firebase_auth_interop_17_0_0_aar.xml" afterDir="false" /> - <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_google_firebase_firebase_common_17_0_0_aar.xml" afterDir="false" /> - <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_google_firebase_firebase_functions_17_0_0_aar.xml" afterDir="false" /> - <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_google_firebase_firebase_storage_17_0_0_aar.xml" afterDir="false" /> - <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_3_12_1_jar.xml" afterDir="false" /> - <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_squareup_okio_okio_1_15_0_jar.xml" afterDir="false" /> + <change afterPath="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Driver_Profile_Passenger_View.java" afterDir="false" /> + <change afterPath="$PROJECT_DIR$/src/main/res/layout/activity_driver__profile__passenger__view.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.gradle/5.1.1/executionHistory/executionHistory.bin" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/5.1.1/executionHistory/executionHistory.bin" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.gradle/5.1.1/executionHistory/executionHistory.lock" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/5.1.1/executionHistory/executionHistory.lock" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.gradle/5.1.1/fileHashes/fileHashes.bin" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/5.1.1/fileHashes/fileHashes.bin" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.gradle/5.1.1/fileHashes/fileHashes.lock" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/5.1.1/fileHashes/fileHashes.lock" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.gradle/5.1.1/javaCompile/classAnalysis.bin" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/5.1.1/javaCompile/classAnalysis.bin" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.gradle/5.1.1/javaCompile/javaCompile.lock" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/5.1.1/javaCompile/javaCompile.lock" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/.gradle/5.1.1/javaCompile/taskHistory.bin" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/5.1.1/javaCompile/taskHistory.bin" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.gradle/buildOutputCleanup/buildOutputCleanup.lock" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/buildOutputCleanup/buildOutputCleanup.lock" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/.gradle/buildOutputCleanup/outputFiles.bin" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/buildOutputCleanup/outputFiles.bin" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/caches/build_file_checksums.ser" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/caches/build_file_checksums.ser" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__com_google_android_gms_play_services_measurement_16_4_0_aar.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_google_android_gms_play_services_measurement_16_5_0_aar.xml" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__com_google_android_gms_play_services_measurement_api_16_4_0_aar.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_google_android_gms_play_services_measurement_api_16_5_0_aar.xml" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__com_google_android_gms_play_services_measurement_base_16_4_0_aar.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_google_android_gms_play_services_measurement_base_16_5_0_aar.xml" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__com_google_android_gms_play_services_measurement_impl_16_4_0_aar.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_google_android_gms_play_services_measurement_impl_16_5_0_aar.xml" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__com_google_android_gms_play_services_measurement_sdk_16_4_0_aar.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_google_android_gms_play_services_measurement_sdk_16_5_0_aar.xml" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__com_google_android_gms_play_services_measurement_sdk_api_16_4_0_aar.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_google_android_gms_play_services_measurement_sdk_api_16_5_0_aar.xml" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__com_google_auto_value_auto_value_annotations_1_6_jar.xml" beforeDir="false" /> - <change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__com_google_firebase_firebase_analytics_16_4_0_aar.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_google_firebase_firebase_analytics_16_5_0_aar.xml" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__com_google_firebase_firebase_auth_16_2_1_aar.xml" beforeDir="false" /> - <change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__com_google_firebase_firebase_auth_interop_16_0_1_aar.xml" beforeDir="false" /> - <change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__com_google_firebase_firebase_common_16_1_0_aar.xml" beforeDir="false" /> - <change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__com_google_firebase_firebase_core_16_0_8_aar.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_google_firebase_firebase_core_16_0_9_aar.xml" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__com_google_firebase_firebase_database_16_1_0_aar.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_google_firebase_firebase_database_17_0_0_aar.xml" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__com_google_firebase_firebase_iid_17_0_3_aar.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_google_firebase_firebase_iid_18_0_0_aar.xml" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__com_google_firebase_firebase_storage_16_0_2_aar.xml" beforeDir="false" /> + <change beforePath="$PROJECT_DIR$/.idea/misc.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/build.gradle" beforeDir="false" afterPath="$PROJECT_DIR$/build.gradle" afterDir="false" /> <change beforePath="$PROJECT_DIR$/local.properties" beforeDir="false" afterPath="$PROJECT_DIR$/local.properties" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/main/AndroidManifest.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/AndroidManifest.xml" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Driver_Profile.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Driver_Profile.java" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Driver_Register.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Driver_Register.java" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Homepage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Homepage.java" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Driver_Main.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Driver_Main.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Login.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Login.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Map.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Map.java" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Offline_Map.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Offline_Map.java" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Rating.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Rating.java" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Register.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Register.java" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Route.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Route.java" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/SavedRoutes.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/SavedRoutes.java" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Settings.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Settings.java" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/User_Register.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/User_Register.java" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/src/main/res/layout/activity_rating.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/res/layout/activity_rating.xml" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/src/main/res/values/strings.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/res/values/strings.xml" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/unirides.iml" beforeDir="false" afterPath="$PROJECT_DIR$/unirides.iml" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/User_Main.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/User_Main.java" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/ViewRoutes.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/ViewRoutes.java" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/src/main/res/layout/activity_view_routes.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/res/layout/activity_view_routes.xml" afterDir="false" /> </list> <ignored path="$PROJECT_DIR$/build/generated/not_namespaced_r_class_sources/" /> <ignored path="$PROJECT_DIR$/build/generated/source/r/" /> @@ -128,117 +97,120 @@ <component name="FileEditorManager"> <leaf> <file pinned="false" current-in-tab="false"> - <entry file="file://$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Settings.java"> + <entry file="file://$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Map.java"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="677"> - <caret line="172" selection-start-line="172" selection-end-line="172" /> + <state relative-caret-position="-1343"> + <caret line="98" selection-start-line="98" selection-end-line="98" /> + <folding> + <element signature="imports" expanded="true" /> + </folding> </state> </provider> </entry> </file> - <file pinned="false" current-in-tab="false"> - <entry file="file://$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/User_Register.java"> + <file pinned="false" current-in-tab="true"> + <entry file="file://$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/ViewRoutes.java"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="343"> - <caret line="146" column="36" selection-start-line="146" selection-start-column="36" selection-end-line="146" selection-end-column="36" /> + <state relative-caret-position="238"> + <caret line="96" column="87" lean-forward="true" selection-start-line="96" selection-start-column="87" selection-end-line="96" selection-end-column="87" /> + <folding> + <element signature="e#5065#5078#0" expanded="true" /> + <element signature="e#5080#5094#0" expanded="true" /> + <element signature="e#5343#8452#0" expanded="true" /> + <element signature="e#8451#8452#0" expanded="true" /> + </folding> </state> </provider> </entry> </file> <file pinned="false" current-in-tab="false"> - <entry file="file://$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/ViewRoutes.java"> + <entry file="file://$PROJECT_DIR$/src/main/res/layout/activity_report_problem.xml"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="2227"> - <caret line="147" column="28" selection-start-line="147" selection-start-column="28" selection-end-line="147" selection-end-column="28" /> - <folding> - <element signature="e#1758#1771#0" expanded="true" /> - <element signature="e#1773#1787#0" expanded="true" /> - </folding> + <state relative-caret-position="301"> + <caret line="26" column="24" selection-start-line="26" selection-start-column="24" selection-end-line="26" selection-end-column="24" /> </state> </provider> + <provider editor-type-id="android-designer2" /> </entry> </file> - <file pinned="false" current-in-tab="true"> - <entry file="file://$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Rating.java"> + <file pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/src/main/AndroidManifest.xml"> + <provider editor-type-id="android-manifest" /> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="626"> - <caret line="127" column="41" selection-start-line="127" selection-start-column="41" selection-end-line="127" selection-end-column="41" /> + <state relative-caret-position="720"> + <caret line="61" selection-start-line="61" selection-end-line="61" /> <folding> - <element signature="imports" expanded="true" /> - <element signature="e#4122#4817#0" expanded="true" /> - <element signature="e#4816#4817#0" expanded="true" /> - <element signature="e#4918#4931#0" expanded="true" /> - <element signature="e#4932#4946#0" expanded="true" /> - <element signature="e#5185#8178#0" expanded="true" /> - <element signature="e#8177#8178#0" expanded="true" /> - <element signature="e#6921#6922#0" expanded="true" /> - <element signature="e#6953#6954#0" expanded="true" /> - <element signature="e#6997#6998#0" expanded="true" /> - <element signature="e#7030#7031#0" expanded="true" /> - <element signature="e#9636#11058#0" expanded="true" /> - <element signature="e#11057#11058#0" expanded="true" /> - <element signature="e#11498#12065#0" expanded="true" /> - <element signature="e#12064#12065#0" expanded="true" /> + <element signature="e#5175#5192#0" expanded="true" /> + <element signature="e#5298#5319#0" expanded="true" /> </folding> </state> </provider> </entry> </file> <file pinned="false" current-in-tab="false"> - <entry file="file://$PROJECT_DIR$/src/main/res/layout/activity_rating.xml"> - <provider editor-type-id="text-editor"> - <state relative-caret-position="1309"> - <caret line="85" column="51" selection-start-line="85" selection-start-column="51" selection-end-line="85" selection-end-column="51" /> + <entry file="file://$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/SavedRoutes.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="2173"> + <caret line="282" selection-start-line="282" selection-end-line="282" /> </state> </provider> - <provider selected="true" editor-type-id="android-designer2" /> </entry> </file> <file pinned="false" current-in-tab="false"> - <entry file="file://$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Driver_Main.java"> + <entry file="file://$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Route.java"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="-34"> - <caret line="36" column="9" selection-start-line="36" selection-start-column="9" selection-end-line="36" selection-end-column="9" /> + <state relative-caret-position="677"> + <caret line="210" column="36" selection-start-line="168" selection-start-column="15" selection-end-line="210" selection-end-column="36" /> </state> </provider> </entry> </file> <file pinned="false" current-in-tab="false"> - <entry file="file://$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Driver_Profile.java"> + <entry file="file://$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Driver_Profile_Passenger_View.java"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="476"> - <caret line="188" column="33" selection-start-line="188" selection-start-column="33" selection-end-line="188" selection-end-column="33" /> + <state relative-caret-position="408"> + <caret line="110" column="9" selection-start-line="110" selection-start-column="9" selection-end-line="110" selection-end-column="9" /> + <folding> + <element signature="e#5582#5940#0" expanded="true" /> + <element signature="e#5939#5940#0" expanded="true" /> + <element signature="e#6044#6057#0" expanded="true" /> + <element signature="e#6059#6073#0" expanded="true" /> + <element signature="e#9087#9088#0" expanded="true" /> + <element signature="e#9119#9120#0" expanded="true" /> + <element signature="e#9163#9164#0" expanded="true" /> + <element signature="e#9196#9197#0" expanded="true" /> + </folding> </state> </provider> </entry> </file> <file pinned="false" current-in-tab="false"> - <entry file="file://$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Map.java"> + <entry file="file://$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Driver_Main.java"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="476"> - <caret line="212" column="29" selection-start-line="212" selection-start-column="29" selection-end-line="212" selection-end-column="29" /> - <folding> - <element signature="imports" expanded="true" /> - </folding> + <state relative-caret-position="357"> + <caret line="37" selection-start-line="37" selection-end-line="37" /> </state> </provider> </entry> </file> <file pinned="false" current-in-tab="false"> - <entry file="file://$PROJECT_DIR$/src/main/AndroidManifest.xml"> - <provider editor-type-id="android-manifest" /> + <entry file="file://$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/User_Main.java"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="-572"> - <caret line="45" column="18" selection-start-line="45" selection-start-column="18" selection-end-line="45" selection-end-column="18" /> + <state relative-caret-position="187"> + <caret line="31" column="13" selection-start-line="31" selection-start-column="13" selection-end-line="31" selection-end-column="13" /> </state> </provider> </entry> </file> <file pinned="false" current-in-tab="false"> - <entry file="file://$PROJECT_DIR$/build.gradle"> + <entry file="file://$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Driver_Profile.java"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="132"> - <caret line="29" column="94" selection-start-line="29" selection-start-column="94" selection-end-line="29" selection-end-column="94" /> + <state relative-caret-position="255"> + <caret line="104" column="59" selection-start-line="104" selection-start-column="59" selection-end-line="104" selection-end-column="59" /> + <folding> + <element signature="e#7243#7470#0" expanded="true" /> + <element signature="e#7469#7470#0" expanded="true" /> + </folding> </state> </provider> </entry> @@ -273,6 +245,7 @@ <component name="Git.Settings"> <option name="PREVIOUS_COMMIT_AUTHORS"> <list> + <option value="James Wright <jw01324@surrey.ac.uk> & Ronan" /> <option value="James Wright <jw01324@surrey.ac.uk>" /> </list> </option> @@ -295,11 +268,8 @@ <option value="$PROJECT_DIR$/src/main/res/layout/activity_user_profile.xml" /> <option value="$PROJECT_DIR$/src/main/res/menu/toolbar_menu.xml" /> <option value="$PROJECT_DIR$/src/main/res/menu/navbar_menu.xml" /> - <option value="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/User_Main.java" /> - <option value="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Driver_Main.java" /> <option value="$PROJECT_DIR$/src/main/res/layout/activity_driver_register.xml" /> <option value="$PROJECT_DIR$/src/main/res/layout/activity_user_register.xml" /> - <option value="$PROJECT_DIR$/src/main/AndroidManifest.xml" /> <option value="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Terms.java" /> <option value="$PROJECT_DIR$/src/main/res/layout/activity_report_problem.xml" /> <option value="$PROJECT_DIR$/src/main/res/layout/activity_terms.xml" /> @@ -313,19 +283,25 @@ <option value="$PROJECT_DIR$/src/main/res/layout/activity_login.xml" /> <option value="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Driver_Register.java" /> <option value="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Homepage.java" /> - <option value="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Login.java" /> <option value="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Offline_Map.java" /> <option value="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Register.java" /> <option value="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Route.java" /> <option value="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/SavedRoutes.java" /> <option value="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/User_Register.java" /> <option value="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Settings.java" /> - <option value="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/ViewRoutes.java" /> <option value="$PROJECT_DIR$/build.gradle" /> - <option value="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Map.java" /> <option value="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Driver_Profile.java" /> <option value="$PROJECT_DIR$/src/main/res/layout/activity_rating.xml" /> <option value="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Rating.java" /> + <option value="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Login.java" /> + <option value="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Map.java" /> + <option value="$PROJECT_DIR$/src/main/res/layout/activity_view_routes.xml" /> + <option value="$PROJECT_DIR$/src/main/res/layout/activity_driver__profile__passenger__view.xml" /> + <option value="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Driver_Main.java" /> + <option value="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/User_Main.java" /> + <option value="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Driver_Profile_Passenger_View.java" /> + <option value="$PROJECT_DIR$/src/main/AndroidManifest.xml" /> + <option value="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/ViewRoutes.java" /> </list> </option> </component> @@ -377,12 +353,6 @@ <item name="res" type="d4f16f75:AndroidResFolderNode" /> <item name="layout" type="ddeffd01:AndroidResFolderTypeNode" /> </path> - <path> - <item name="unirides" type="1abcf292:AndroidViewProjectNode" /> - <item name="unirides" type="feadf853:AndroidModuleNode" /> - <item name="res" type="d4f16f75:AndroidResFolderNode" /> - <item name="menu" type="ddeffd01:AndroidResFolderTypeNode" /> - </path> <path> <item name="unirides" type="1abcf292:AndroidViewProjectNode" /> <item name="Gradle Scripts" type="ae0cef3a:AndroidBuildScriptsGroupNode" /> @@ -574,7 +544,14 @@ <option name="project" value="LOCAL" /> <updated>1557706013730</updated> </task> - <option name="localTasksCounter" value="4" /> + <task id="LOCAL-00004" summary="Added Ronan's code for server computations in rating + bug fixes"> + <created>1557740957584</created> + <option name="number" value="00004" /> + <option name="presentableId" value="LOCAL-00004" /> + <option name="project" value="LOCAL" /> + <updated>1557740957584</updated> + </task> + <option name="localTasksCounter" value="5" /> <servers /> </component> <component name="TodoView"> @@ -603,12 +580,12 @@ <window_info anchor="bottom" id="TODO" order="1" sideWeight="0.49924013" weight="0.329582" /> <window_info anchor="bottom" id="Android Profiler" order="2" weight="0.329582" /> <window_info anchor="bottom" id="Debug" order="3" /> - <window_info anchor="bottom" id="Terminal" order="4" sideWeight="0.49940357" weight="0.32969603" /> - <window_info anchor="bottom" id="Event Log" order="5" sideWeight="0.5025845" side_tool="true" visible="true" weight="0.3289166" /> + <window_info anchor="bottom" id="Terminal" order="4" sideWeight="0.49900597" weight="0.32969603" /> + <window_info anchor="bottom" id="Event Log" order="5" sideWeight="0.10139165" side_tool="true" visible="true" weight="0.3289166" /> <window_info anchor="bottom" id="Find" order="6" sideWeight="0.49940357" weight="0.3289166" /> <window_info anchor="bottom" id="Version Control" order="7" sideWeight="0.49940357" weight="0.32969603" /> - <window_info anchor="bottom" id="Build" order="8" sideWeight="0.4974155" visible="true" weight="0.3289166" /> - <window_info anchor="bottom" id="Logcat" order="9" sideWeight="0.89900595" weight="0.3289166" /> + <window_info anchor="bottom" id="Build" order="8" sideWeight="0.4970179" weight="0.3289166" /> + <window_info anchor="bottom" id="Logcat" order="9" sideWeight="0.8986083" visible="true" weight="0.3289166" /> <window_info anchor="right" id="Device File Explorer" order="0" side_tool="true" /> <window_info anchor="right" id="Capture Analysis" order="1" /> <window_info anchor="right" id="Gradle" order="2" /> @@ -648,33 +625,10 @@ <MESSAGE value="Merge between small_profile_changes & route_update with fixed navbar and overall navigation." /> <MESSAGE value="Updated Mark's code to fix it!" /> <MESSAGE value="re-push, missed some code" /> - <option name="LAST_COMMIT_MESSAGE" value="re-push, missed some code" /> + <MESSAGE value="Added Ronan's code for server computations in rating + bug fixes" /> + <option name="LAST_COMMIT_MESSAGE" value="Added Ronan's code for server computations in rating + bug fixes" /> </component> <component name="editorHistoryManager"> - <entry file="file://$PROJECT_DIR$/src/main/res/layout/user_toolbar.xml"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="165"> - <caret line="11" column="9" selection-start-line="11" selection-start-column="9" selection-end-line="11" selection-end-column="9" /> - </state> - </provider> - <provider editor-type-id="android-designer2" /> - </entry> - <entry file="file://$PROJECT_DIR$/src/main/res/menu/navbar_menu.xml"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="90"> - <caret line="6" column="27" selection-start-line="6" selection-start-column="27" selection-end-line="6" selection-end-column="27" /> - </state> - </provider> - <provider editor-type-id="android-designer2" /> - </entry> - <entry file="file://$PROJECT_DIR$/src/main/res/layout/activity_user_register.xml"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="551"> - <caret line="121" column="29" selection-start-line="121" selection-start-column="29" selection-end-line="121" selection-end-column="29" /> - </state> - </provider> - <provider editor-type-id="android-designer2" /> - </entry> <entry file="file://$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/TimeFragment.java"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="90"> @@ -682,14 +636,6 @@ </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/src/main/res/layout/activity_map.xml"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="525"> - <caret line="35" column="41" selection-start-line="35" selection-start-column="41" selection-end-line="35" selection-end-column="41" /> - </state> - </provider> - <provider editor-type-id="android-designer2" /> - </entry> <entry file="file://$PROJECT_DIR$/src/main/res/layout/activity_homepage.xml"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="697"> @@ -728,14 +674,6 @@ </provider> <provider editor-type-id="android-designer2" /> </entry> - <entry file="file://$PROJECT_DIR$/src/main/res/layout/activity_report_problem.xml"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="573"> - <caret line="111" column="26" selection-start-line="111" selection-start-column="26" selection-end-line="111" selection-end-column="26" /> - </state> - </provider> - <provider editor-type-id="android-designer2" /> - </entry> <entry file="file://$PROJECT_DIR$/src/main/res/layout/activity_terms.xml"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="270"> @@ -780,14 +718,6 @@ </provider> <provider editor-type-id="android-designer2" /> </entry> - <entry file="file://$PROJECT_DIR$/src/main/res/layout/activity_driver_profile.xml"> - <provider editor-type-id="text-editor"> - <state relative-caret-position="701"> - <caret line="190" column="51" selection-start-line="190" selection-start-column="51" selection-end-line="190" selection-end-column="51" /> - </state> - </provider> - <provider selected="true" editor-type-id="android-designer2" /> - </entry> <entry file="file://$PROJECT_DIR$/src/main/res/layout/activity_driver_main.xml"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="1683"> @@ -853,13 +783,6 @@ </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/User_Main.java"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="340"> - <caret line="42" column="37" selection-start-line="42" selection-start-column="37" selection-end-line="42" selection-end-column="37" /> - </state> - </provider> - </entry> <entry file="file://$PROJECT_DIR$/src/main/res/layout/activity_route.xml"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="1910"> @@ -906,10 +829,6 @@ </provider> <provider selected="true" editor-type-id="android-designer2" /> </entry> - <entry file="file://$PROJECT_DIR$/src/main/res/layout/activity_view_routes.xml"> - <provider editor-type-id="text-editor" /> - <provider selected="true" editor-type-id="android-designer2" /> - </entry> <entry file="file://$PROJECT_DIR$/src/main/res/menu/offline_toolbar_menu.xml"> <provider selected="true" editor-type-id="text-editor" /> <provider editor-type-id="android-designer2" /> @@ -936,16 +855,6 @@ </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Login.java"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="343"> - <caret line="512" column="36" selection-start-line="512" selection-start-column="36" selection-end-line="512" selection-end-column="36" /> - <folding> - <element signature="imports" expanded="true" /> - </folding> - </state> - </provider> - </entry> <entry file="file://$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Offline_Map.java"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="326"> @@ -960,112 +869,207 @@ </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/SavedRoutes.java"> + <entry file="file://$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/User_Register.java"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="135"> - <caret line="282" selection-start-line="282" selection-end-line="282" /> + <state relative-caret-position="343"> + <caret line="146" column="36" selection-start-line="146" selection-start-column="36" selection-end-line="146" selection-end-column="36" /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Route.java"> + <entry file="file://$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Settings.java"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="286"> - <caret line="565" column="61" selection-start-line="565" selection-start-column="61" selection-end-line="565" selection-end-column="61" /> + <state relative-caret-position="677"> + <caret line="172" selection-start-line="172" selection-end-line="172" /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/User_Register.java"> + <entry file="file://$PROJECT_DIR$/build.gradle"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="343"> - <caret line="146" column="36" selection-start-line="146" selection-start-column="36" selection-end-line="146" selection-end-column="36" /> + <state relative-caret-position="132"> + <caret line="29" column="94" selection-start-line="29" selection-start-column="94" selection-end-line="29" selection-end-column="94" /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Settings.java"> + <entry file="file://$PROJECT_DIR$/src/main/res/layout/activity_rating.xml"> + <provider editor-type-id="text-editor"> + <state relative-caret-position="1309"> + <caret line="85" column="51" selection-start-line="85" selection-start-column="51" selection-end-line="85" selection-end-column="51" /> + </state> + </provider> + <provider selected="true" editor-type-id="android-designer2" /> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Rating.java"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="677"> - <caret line="172" selection-start-line="172" selection-end-line="172" /> + <state relative-caret-position="643"> + <caret line="128" column="13" selection-start-line="128" selection-start-column="13" selection-end-line="128" selection-end-column="13" /> + <folding> + <element signature="imports" expanded="true" /> + <element signature="e#4122#4817#0" expanded="true" /> + <element signature="e#4918#4931#0" expanded="true" /> + <element signature="e#4932#4946#0" expanded="true" /> + <element signature="e#5185#8178#0" expanded="true" /> + <element signature="e#8177#8178#0" expanded="true" /> + <element signature="e#6921#6922#0" expanded="true" /> + <element signature="e#6953#6954#0" expanded="true" /> + <element signature="e#6997#6998#0" expanded="true" /> + <element signature="e#7030#7031#0" expanded="true" /> + <element signature="e#9636#11058#0" expanded="true" /> + <element signature="e#11057#11058#0" expanded="true" /> + <element signature="e#11498#12065#0" expanded="true" /> + <element signature="e#12064#12065#0" expanded="true" /> + </folding> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/ViewRoutes.java"> + <entry file="file://$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Login.java"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="2227"> - <caret line="147" column="28" selection-start-line="147" selection-start-column="28" selection-end-line="147" selection-end-column="28" /> + <state relative-caret-position="-680"> + <caret line="288" column="51" selection-start-line="288" selection-start-column="51" selection-end-line="288" selection-end-column="51" /> <folding> - <element signature="e#1758#1771#0" expanded="true" /> - <element signature="e#1773#1787#0" expanded="true" /> + <element signature="imports" expanded="true" /> </folding> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/src/main/AndroidManifest.xml"> - <provider editor-type-id="android-manifest" /> + <entry file="file://$PROJECT_DIR$/src/main/res/layout/activity_map.xml"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="-572"> - <caret line="45" column="18" selection-start-line="45" selection-start-column="18" selection-end-line="45" selection-end-column="18" /> + <state> + <caret selection-end-line="35" selection-end-column="41" /> </state> </provider> + <provider editor-type-id="android-designer2" /> </entry> - <entry file="file://$PROJECT_DIR$/build.gradle"> + <entry file="file://$PROJECT_DIR$/src/main/res/layout/activity_view_routes.xml"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="132"> - <caret line="29" column="94" selection-start-line="29" selection-start-column="94" selection-end-line="29" selection-end-column="94" /> + <state relative-caret-position="459"> + <caret line="27" column="49" selection-start-line="27" selection-start-column="49" selection-end-line="27" selection-end-column="49" /> </state> </provider> + <provider editor-type-id="android-designer2" /> </entry> - <entry file="file://$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Map.java"> + <entry file="file://$PROJECT_DIR$/src/main/res/layout/activity_driver_edit_profile.xml"> + <provider editor-type-id="text-editor" /> + <provider selected="true" editor-type-id="android-designer2" /> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/res/layout/activity_driver_profile.xml"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="476"> - <caret line="212" column="29" selection-start-line="212" selection-start-column="29" selection-end-line="212" selection-end-column="29" /> + <state relative-caret-position="650"> + <caret line="187" column="38" selection-end-line="191" selection-end-column="41" /> + </state> + </provider> + <provider editor-type-id="android-designer2" /> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/res/layout/activity_driver__profile__passenger__view.xml"> + <provider editor-type-id="text-editor"> + <state relative-caret-position="634"> + <caret line="142" column="31" selection-start-line="142" selection-start-column="31" selection-end-line="142" selection-end-column="31" /> <folding> - <element signature="imports" expanded="true" /> + <element signature="e#987#1011#0" expanded="true" /> + <element signature="e#1472#1489#0" expanded="true" /> + <element signature="e#3005#3023#0" expanded="true" /> + <element signature="e#3805#3827#0" expanded="true" /> + <element signature="e#4727#4755#0" expanded="true" /> + <element signature="e#5594#5614#0" expanded="true" /> </folding> </state> </provider> + <provider selected="true" editor-type-id="android-designer2" /> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/User_Main.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="187"> + <caret line="31" column="13" selection-start-line="31" selection-start-column="13" selection-end-line="31" selection-end-column="13" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Driver_Profile_Passenger_View.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="408"> + <caret line="110" column="9" selection-start-line="110" selection-start-column="9" selection-end-line="110" selection-end-column="9" /> + <folding> + <element signature="e#5582#5940#0" expanded="true" /> + <element signature="e#5939#5940#0" expanded="true" /> + <element signature="e#6044#6057#0" expanded="true" /> + <element signature="e#6059#6073#0" expanded="true" /> + <element signature="e#9087#9088#0" expanded="true" /> + <element signature="e#9119#9120#0" expanded="true" /> + <element signature="e#9163#9164#0" expanded="true" /> + <element signature="e#9196#9197#0" expanded="true" /> + </folding> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/SavedRoutes.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="2173"> + <caret line="282" selection-start-line="282" selection-end-line="282" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Route.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="677"> + <caret line="210" column="36" selection-start-line="168" selection-start-column="15" selection-end-line="210" selection-end-column="36" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/res/layout/activity_report_problem.xml"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="301"> + <caret line="26" column="24" selection-start-line="26" selection-start-column="24" selection-end-line="26" selection-end-column="24" /> + </state> + </provider> + <provider editor-type-id="android-designer2" /> </entry> <entry file="file://$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Driver_Main.java"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="-34"> - <caret line="36" column="9" selection-start-line="36" selection-start-column="9" selection-end-line="36" selection-end-column="9" /> + <state relative-caret-position="357"> + <caret line="37" selection-start-line="37" selection-end-line="37" /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Driver_Profile.java"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="476"> - <caret line="188" column="33" selection-start-line="188" selection-start-column="33" selection-end-line="188" selection-end-column="33" /> + <state relative-caret-position="255"> + <caret line="104" column="59" selection-start-line="104" selection-start-column="59" selection-end-line="104" selection-end-column="59" /> + <folding> + <element signature="e#7243#7470#0" expanded="true" /> + <element signature="e#7469#7470#0" expanded="true" /> + </folding> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/src/main/res/layout/activity_rating.xml"> - <provider editor-type-id="text-editor"> - <state relative-caret-position="1309"> - <caret line="85" column="51" selection-start-line="85" selection-start-column="51" selection-end-line="85" selection-end-column="51" /> + <entry file="file://$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Map.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="-1343"> + <caret line="98" selection-start-line="98" selection-end-line="98" /> + <folding> + <element signature="imports" expanded="true" /> + </folding> </state> </provider> - <provider selected="true" editor-type-id="android-designer2" /> </entry> - <entry file="file://$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Rating.java"> + <entry file="file://$PROJECT_DIR$/src/main/AndroidManifest.xml"> + <provider editor-type-id="android-manifest" /> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="626"> - <caret line="127" column="41" selection-start-line="127" selection-start-column="41" selection-end-line="127" selection-end-column="41" /> + <state relative-caret-position="720"> + <caret line="61" selection-start-line="61" selection-end-line="61" /> <folding> - <element signature="imports" expanded="true" /> - <element signature="e#4122#4817#0" expanded="true" /> - <element signature="e#4816#4817#0" expanded="true" /> - <element signature="e#4918#4931#0" expanded="true" /> - <element signature="e#4932#4946#0" expanded="true" /> - <element signature="e#5185#8178#0" expanded="true" /> - <element signature="e#8177#8178#0" expanded="true" /> - <element signature="e#6921#6922#0" expanded="true" /> - <element signature="e#6953#6954#0" expanded="true" /> - <element signature="e#6997#6998#0" expanded="true" /> - <element signature="e#7030#7031#0" expanded="true" /> - <element signature="e#9636#11058#0" expanded="true" /> - <element signature="e#11057#11058#0" expanded="true" /> - <element signature="e#11498#12065#0" expanded="true" /> - <element signature="e#12064#12065#0" expanded="true" /> + <element signature="e#5175#5192#0" expanded="true" /> + <element signature="e#5298#5319#0" expanded="true" /> + </folding> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/ViewRoutes.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="238"> + <caret line="96" column="87" lean-forward="true" selection-start-line="96" selection-start-column="87" selection-end-line="96" selection-end-column="87" /> + <folding> + <element signature="e#5065#5078#0" expanded="true" /> + <element signature="e#5080#5094#0" expanded="true" /> + <element signature="e#5343#8452#0" expanded="true" /> + <element signature="e#8451#8452#0" expanded="true" /> </folding> </state> </provider> diff --git a/src/main/AndroidManifest.xml b/src/main/AndroidManifest.xml index 939a062..6c9a325 100644 --- a/src/main/AndroidManifest.xml +++ b/src/main/AndroidManifest.xml @@ -33,8 +33,6 @@ android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> - <activity android:name=".ViewRoutes"></activity> - <activity android:name=".ReportProblem" /> <!-- The API key for Google Maps-based APIs is defined as a string resource. (See the file "res/values/google_maps_api.xml"). @@ -55,11 +53,13 @@ android:name=".Homepage" android:label="@string/app_name" android:screenOrientation="portrait"> + <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> + </activity> <activity android:name=".Offline_Map" @@ -115,6 +115,19 @@ <activity android:name=".Terms" android:label="@string/settings" /> + <activity + android:name=".Driver_Profile_Passenger_View" + android:label="@string/profile"> + + </activity> + <activity + android:name=".ViewRoutes" + android:label="@string/view_routes"> + + </activity> + <activity + android:name=".ReportProblem" + android:label="Report System" /> </application> </manifest> \ No newline at end of file diff --git a/src/main/java/com/example/liliyayankova/unirides/Driver_Main.java b/src/main/java/com/example/liliyayankova/unirides/Driver_Main.java index ab5aea7..9ccd67f 100644 --- a/src/main/java/com/example/liliyayankova/unirides/Driver_Main.java +++ b/src/main/java/com/example/liliyayankova/unirides/Driver_Main.java @@ -36,6 +36,8 @@ public class Driver_Main extends AppCompatActivity { Log.e("TOOLBAR", e.toString()); } + Toast.makeText(Driver_Main.this, "To access the navbar, swipe from the left side of the screen.", Toast.LENGTH_LONG).show(); + dl = (DrawerLayout)findViewById(R.id.dl); dt = new ActionBarDrawerToggle(this,dl,R.string.Open,R.string.Close); dt.setDrawerIndicatorEnabled(true); diff --git a/src/main/java/com/example/liliyayankova/unirides/Driver_Profile_Passenger_View.java b/src/main/java/com/example/liliyayankova/unirides/Driver_Profile_Passenger_View.java new file mode 100644 index 0000000..688df27 --- /dev/null +++ b/src/main/java/com/example/liliyayankova/unirides/Driver_Profile_Passenger_View.java @@ -0,0 +1,270 @@ +package com.example.liliyayankova.unirides; + +import android.Manifest; +import android.content.Intent; +import android.content.pm.PackageManager; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.net.Uri; +import android.os.Build; +import android.os.Environment; +import android.os.StrictMode; +import android.provider.MediaStore; +import android.support.annotation.NonNull; +import android.support.annotation.RequiresApi; +import android.support.design.widget.NavigationView; +import android.support.v4.widget.DrawerLayout; +import android.support.v7.app.ActionBarDrawerToggle; +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; +import android.support.v7.widget.Toolbar; +import android.util.Log; +import android.view.Menu; +import android.view.MenuInflater; +import android.view.MenuItem; +import android.view.View; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.TextView; +import android.widget.Toast; + +import com.google.android.gms.tasks.OnFailureListener; +import com.google.android.gms.tasks.OnSuccessListener; +import com.google.firebase.auth.FirebaseAuth; +import com.google.firebase.auth.FirebaseUser; +import com.google.firebase.database.DataSnapshot; +import com.google.firebase.database.DatabaseError; +import com.google.firebase.database.DatabaseReference; +import com.google.firebase.database.FirebaseDatabase; +import com.google.firebase.database.ValueEventListener; +import com.google.firebase.storage.FirebaseStorage; +import com.google.firebase.storage.StorageReference; +import com.google.firebase.storage.UploadTask; + +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.InputStream; +import java.text.SimpleDateFormat; +import java.util.Date; + +import static java.lang.String.valueOf; + +public class Driver_Profile_Passenger_View extends AppCompatActivity { + + private static final int CAMERA_REQUEST_CODE=1; + + /**Constant fields for the permissions of the usage of camera */ + private final int MY_PERMISSIONS_REQUEST_CAMERA = 1; + + private TextView name; + private TextView lastName; + private TextView age; + private TextView driving; + private TextView license; + private TextView model; + private Button backButton; + private Button ratingButton; + private Button routeButton; + + private DrawerLayout dl; + private ActionBarDrawerToggle dt; + + private boolean isDriver; + private String driver_id; + + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_driver__profile__passenger__view); + this.backButton = findViewById(R.id.backButton); + this.name = findViewById(R.id.textViewName); + this.lastName = findViewById(R.id.textViewLastName); + this.age = findViewById(R.id.textViewAge); + this.driving = findViewById(R.id.textViewDriving); + this.license = findViewById(R.id.textViewLicense); + this.model = findViewById(R.id.textViewModel); + this.ratingButton = findViewById(R.id.rateButton); + + + //assume the user is a passenger (isDriver = false) unless bundle extra userType value is DRIVER + isDriver = true; + + /* checking if there are any bundle extras (should be the userType) */ + if(getIntent().getExtras() != null) { + //setting userType to this result (DRIVER or PASSENGER) + if(getIntent().getExtras().get("userType") == Login.userType.DRIVER){ + isDriver = true; + } + + if (getIntent().getExtras().get("driver_id") != null){ + driver_id = getIntent().getExtras().get("driver_id").toString(); + } + } + + //setting the user_toolbar layout as the action bar + Toolbar toolbar = findViewById(R.id.toolbar); + try { + setSupportActionBar(toolbar); + } catch (Exception e) { + Log.e("TOOLBAR", e.toString()); + } + + final DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference(); + DatabaseReference usernameRef; + + usernameRef = rootRef.child("drivers").child(driver_id); + usernameRef.addListenerForSingleValueEvent(new ValueEventListener() { + @Override + public void onDataChange(DataSnapshot snapshot) { + if (snapshot.exists()) { + // successfully found user in passengers / drivers in firebase + name.setText(snapshot.child("first_name").getValue(String.class)); + lastName.setText(snapshot.child("last_name").getValue(String.class)); + age.setText(snapshot.child("age").getValue(String.class)); + driving.setText(snapshot.child("time_driving").getValue(String.class)); + license.setText(snapshot.child("license_plate").getValue(String.class)); + model.setText(snapshot.child("car_model").getValue(String.class)); + } + else { + // Haven't found the user, wrong about being driver/passenger? (or user id doesnt exist) + } + + } + + @Override + public void onCancelled(DatabaseError databaseError) { + Log.d("Firebase Error!", databaseError.getMessage()); //Don't ignore errors! + } + }); + + + // For back button + backButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + + // maybe temporary + finish(); + } + }); + + + // For rating button + ratingButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Intent i = new Intent(Driver_Profile_Passenger_View.this, Rating.class); + if(isDriver) { + i.putExtra("userType", Login.userType.DRIVER); + }else{ + i.putExtra("userType", Login.userType.PASSENGER); + } + startActivity(i); + } + }); + + dl = (DrawerLayout) findViewById(R.id.dl); + dt = new ActionBarDrawerToggle(this, dl, R.string.Open, R.string.Close); + dt.setDrawerIndicatorEnabled(true); + + dl.addDrawerListener(dt); + dt.syncState(); + + final NavigationView navbar = (NavigationView) findViewById(R.id.nav_view); + navbar.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() { + @Override + public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) { + int id = menuItem.getItemId(); + + if (id == R.id.nav_home) { + if(isDriver) { + Intent home_i = new Intent(Driver_Profile_Passenger_View.this, Driver_Main.class); + home_i.putExtra("userType", Login.userType.DRIVER); + startActivity(home_i); + }else{ + Intent home_i = new Intent(Driver_Profile_Passenger_View.this, User_Main.class); + home_i.putExtra("userType", Login.userType.PASSENGER); + startActivity(home_i); + } + } else if (id == R.id.nav_account) { + //do nothing as we're on profile page + + } else if (id == R.id.nav_report) { + if(isDriver) { + Intent report_i = new Intent(Driver_Profile_Passenger_View.this, ReportProblem.class); + report_i.putExtra("userType", Login.userType.DRIVER); + startActivity(report_i); + }else{ + Intent report_i = new Intent(Driver_Profile_Passenger_View.this, ReportProblem.class); + report_i.putExtra("userType", Login.userType.PASSENGER); + startActivity(report_i); + } + + + } else if (id == R.id.nav_logout) { + + /* + TODO: + Possibly add a way to log out here? (not sure if we are even tracking the login instance + within each activity? as far as I understand the login just gets you to the next activity + however if you "logout" and just press the back button after it takes you back to the homepage + it will act as if you are still logged in when you reenter). + for now i have just set it so it goes back to the homepage (where you can register or login). + */ + + Toast.makeText(Driver_Profile_Passenger_View.this, "successfully logged out", Toast.LENGTH_SHORT).show(); + Intent logout_i = new Intent(Driver_Profile_Passenger_View.this, Homepage.class); + startActivity(logout_i); + + } + return true; + } + }); + } + + + + @Override + public void onResume(){ + super.onResume(); + } + + @Override + public void onDestroy(){ + super.onDestroy(); + } + + + //Override for the user_toolbar menu items + @Override + public boolean onCreateOptionsMenu(Menu menu) { + MenuInflater menuInflater = getMenuInflater(); + menuInflater.inflate(R.menu.toolbar_menu, menu); + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + + //checks the id of the item, if the item id matches a case id then the code in that case block will execute + switch(item.getItemId()){ + + case(R.id.item_settings): + + Intent settings_i = new Intent(Driver_Profile_Passenger_View.this, Settings.class); + + if(isDriver){ + settings_i.putExtra("userType", Login.userType.DRIVER); + }else{ + settings_i.putExtra("userType", Login.userType.PASSENGER); + } + + startActivity(settings_i); + + return true; + } + + return super.onOptionsItemSelected(item); + } +} diff --git a/src/main/java/com/example/liliyayankova/unirides/Login.java b/src/main/java/com/example/liliyayankova/unirides/Login.java index 1858cde..8094a31 100644 --- a/src/main/java/com/example/liliyayankova/unirides/Login.java +++ b/src/main/java/com/example/liliyayankova/unirides/Login.java @@ -224,8 +224,6 @@ public class Login extends AppCompatActivity implements LoaderCallbacks<Cursor> if(dataSnapshot.exists()){ - //TODO: remove this or change it - toast to confirm that the user is indeed a driver during testing - Toast.makeText(Login.this, "Welcome back Driver!", Toast.LENGTH_SHORT).show(); startActivity(new Intent(Login.this, Driver_Main.class)); }else{ @@ -234,8 +232,7 @@ public class Login extends AppCompatActivity implements LoaderCallbacks<Cursor> * no other option as the user has already logged in before this method is called, hence they must be a passenger * if they are not a driver */ - //TODO: remove this or change it - toast to confirm that the user is NOT a driver during testing - Toast.makeText(Login.this, "Welcome back Passenger!", Toast.LENGTH_LONG).show(); + startActivity(new Intent(Login.this, User_Main.class)); } diff --git a/src/main/java/com/example/liliyayankova/unirides/Map.java b/src/main/java/com/example/liliyayankova/unirides/Map.java index b89d932..f1f3ac9 100644 --- a/src/main/java/com/example/liliyayankova/unirides/Map.java +++ b/src/main/java/com/example/liliyayankova/unirides/Map.java @@ -277,34 +277,6 @@ public class Map extends AppCompatActivity implements FirebaseUser user = mFirebaseAuth.getInstance().getCurrentUser(); String userId = user.getUid(); DatabaseReference dbRef = FirebaseDatabase.getInstance().getReference(); - Log.d("hello", "HELP"); - Log.d("hello", "HELP"); - Log.d("hello", "HELP"); - Log.d("hello", "HELP"); - Log.d("hello", "HELP"); - Log.d("hello", "HELP"); - Log.d("hello", "HELP"); - Log.d("hello", "HELP"); - Log.d("hello", "HELP"); - Log.d("hello", "HELP"); - Log.d("hello", "HELP"); - Log.d("hello", "HELP"); - Log.d("hello", "HELP"); - Log.d("hello", "HELP"); - Log.d("hello", "HELP"); - Log.d("hello", "HELP"); - Log.d("hello", "HELP"); - Log.d("hello", "HELP"); - Log.d("hello", "HELP"); - Log.d("hello", "HELP"); - Log.d("hello", "HELP"); - Log.d("hello", "HELP"); - Log.d("hello", "HELP"); - Log.d("hello", "HELP"); - Log.d("hello", "HELP"); - Log.d("hello", "HELP"); - Log.d("hello", "HELP"); - Log.d("hello", "HELP"); if (myLocation != null) { myLocation.remove(); diff --git a/src/main/java/com/example/liliyayankova/unirides/User_Main.java b/src/main/java/com/example/liliyayankova/unirides/User_Main.java index 69da4df..0c72e6f 100644 --- a/src/main/java/com/example/liliyayankova/unirides/User_Main.java +++ b/src/main/java/com/example/liliyayankova/unirides/User_Main.java @@ -35,6 +35,8 @@ public class User_Main extends AppCompatActivity { Log.e("TOOLBAR", e.toString()); } + Toast.makeText(User_Main.this, "To access the navbar, swipe from the left side of the screen.", Toast.LENGTH_LONG).show(); + ImageButton map_button = findViewById(R.id.view_route_button); map_button.setOnClickListener(new View.OnClickListener() { @Override diff --git a/src/main/java/com/example/liliyayankova/unirides/ViewRoutes.java b/src/main/java/com/example/liliyayankova/unirides/ViewRoutes.java index 80490d2..0552bb6 100644 --- a/src/main/java/com/example/liliyayankova/unirides/ViewRoutes.java +++ b/src/main/java/com/example/liliyayankova/unirides/ViewRoutes.java @@ -1,8 +1,17 @@ package com.example.liliyayankova.unirides; +import android.Manifest; import android.content.Intent; +import android.content.pm.PackageManager; +import android.graphics.Color; +import android.location.Location; +import android.location.LocationManager; +import android.os.Build; import android.support.annotation.NonNull; +import android.support.annotation.Nullable; import android.support.design.widget.NavigationView; +import android.support.v4.app.ActivityCompat; +import android.support.v4.content.ContextCompat; import android.support.v4.widget.DrawerLayout; import android.support.v7.app.ActionBarDrawerToggle; import android.support.v7.app.AppCompatActivity; @@ -15,10 +24,56 @@ import android.view.MenuItem; import android.view.View; import android.widget.Toast; -public class ViewRoutes extends AppCompatActivity { +import com.google.android.gms.common.ConnectionResult; +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.location.LocationServices; +import com.google.android.gms.maps.CameraUpdateFactory; +import com.google.android.gms.maps.GoogleMap; +import com.google.android.gms.maps.OnMapReadyCallback; +import com.google.android.gms.maps.SupportMapFragment; +import com.google.android.gms.maps.model.BitmapDescriptorFactory; +import com.google.android.gms.maps.model.LatLng; +import com.google.android.gms.maps.model.Marker; +import com.google.android.gms.maps.model.MarkerOptions; +import com.google.android.gms.maps.model.Polyline; +import com.google.android.gms.maps.model.PolylineOptions; +import com.google.firebase.FirebaseApp; +import com.google.firebase.auth.FirebaseAuth; +import com.google.firebase.auth.FirebaseUser; +import com.google.firebase.database.DataSnapshot; +import com.google.firebase.database.DatabaseError; +import com.google.firebase.database.DatabaseReference; +import com.google.firebase.database.FirebaseDatabase; +import com.google.firebase.database.ValueEventListener; +import com.google.maps.android.SphericalUtil; + +import java.util.ArrayList; +import java.util.List; + +public class ViewRoutes extends AppCompatActivity implements + OnMapReadyCallback, + GoogleApiClient.ConnectionCallbacks, + GoogleApiClient.OnConnectionFailedListener, + LocationListener { //variables private boolean isDriver; + LocationManager locationManager; + private GoogleMap mMap; + private GoogleApiClient mGoogleApiClient; + private LocationRequest mLocationRequest; + private Location currentLocation; + private static final int REQUEST_USER_LOCATION_CODE = 99; + private FirebaseAuth mFirebaseAuth; + private FirebaseDatabase mFirebaseDatabase; + private DatabaseReference mLocationDatabaseReference; + private Marker start_marker; + private Marker end_marker; + private String driver_id; + private List<String> routes_start; + private List<String> routes_end; //UI private DrawerLayout dl; @@ -29,11 +84,35 @@ public class ViewRoutes extends AppCompatActivity { super.onCreate(savedInstanceState); setContentView(R.layout.activity_view_routes); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + checkUserLocationPermission(); + } + // Obtain the SupportMapFragment and get notified when the map is ready to be used. + SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager() + .findFragmentById(R.id.map); + mapFragment.getMapAsync(this); + + FirebaseApp.initializeApp(this); + mFirebaseDatabase = FirebaseDatabase.getInstance(); + mLocationDatabaseReference = mFirebaseDatabase.getReference().child("drivers"); + + + //TODO: for testing, remove this after joining activities are done + driver_id = "Qg5xwj3cE9PexRlGdfmCdcU6bq73"; + + currentLocation = new Location("dummyprovider"); + + + locationManager = (LocationManager) getSystemService(LOCATION_SERVICE); + /* * assume the user is a passenger (isDriver = false) unless bundle extra userType value is DRIVER */ isDriver = false; + routes_start = new ArrayList<>(); + routes_end = new ArrayList<>(); + /* checking if there are any bundle extras (should be the userType) */ if (getIntent().getExtras() != null) { //setting userType to this result (DRIVER or PASSENGER) @@ -41,6 +120,10 @@ public class ViewRoutes extends AppCompatActivity { isDriver = true; } + if(getIntent().getExtras().get("driver_id") != null){ + driver_id = getIntent().getExtras().get("driver_id").toString(); + } + } //setting the user_toolbar layout as the action bar @@ -118,8 +201,226 @@ public class ViewRoutes extends AppCompatActivity { } }); + + + } + + @Override + public void onMapReady(GoogleMap googleMap) { + mMap = googleMap; + + if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) + == PackageManager.PERMISSION_GRANTED) { + + buildGoogleApiClient(); + + mMap.setMyLocationEnabled(true); + + } + + } + + + public void setupMarkers(){ + + //adding all the start markers for every driver route + for(int i = 0; i < routes_start.size(); i++){ + + MarkerOptions start = new MarkerOptions(); + start.position(convertToLatLng(routes_start.get(i))); + start.title("Start of Route " + i); + start.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_GREEN)); + mMap.addMarker(start); + + } + + //adding all the end markers for every driver route + for(int i = 0; i < routes_end.size(); i++){ + + MarkerOptions end = new MarkerOptions(); + end.position(convertToLatLng(routes_end.get(i))); + end.title("End of Route " + i); + end.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_RED)); + mMap.addMarker(end); + + } + + for(int i = 0; i < routes_start.size(); i++){ + Polyline line = mMap.addPolyline(new PolylineOptions() + .add(convertToLatLng(routes_start.get(i)), convertToLatLng(routes_end.get(i))) + .width(5) + .color(Color.RED)); + } + + + } + + public LatLng convertToLatLng(String location){ + + //converting location string to individual lat lang values + String s1 = ""; + String s2 = ""; + boolean islat = true; + int j = 0; + for (int i = 0; i < location.length(); i++) { + if (location.charAt(i) == ',') { + islat = false; + } + if (islat) { + s1 += location.charAt(i); + } else { + j++; + } + if (!islat && j > 2) { + s2 += location.charAt(i); + } + } + + LatLng latlng = new LatLng(Double.parseDouble(s1), Double.parseDouble(s2)); + return latlng; + + } + + public boolean checkUserLocationPermission() { + if (ContextCompat.checkSelfPermission(this, + Manifest.permission.ACCESS_FINE_LOCATION) + != PackageManager.PERMISSION_GRANTED) { + if (ActivityCompat.shouldShowRequestPermissionRationale(this, + Manifest.permission.ACCESS_FINE_LOCATION)) { + ActivityCompat.requestPermissions(this, new String[] + {Manifest.permission.ACCESS_FINE_LOCATION}, REQUEST_USER_LOCATION_CODE); + } else { + ActivityCompat.requestPermissions(this, new String[] + {Manifest.permission.ACCESS_FINE_LOCATION}, REQUEST_USER_LOCATION_CODE); + } + return false; + } else { + return true; + } + } + + @Override + public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, + @NonNull int[] grantResults) { + switch (requestCode) { + case REQUEST_USER_LOCATION_CODE: + if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { + if (ContextCompat.checkSelfPermission(this, + Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) { + if (mGoogleApiClient == null) { + buildGoogleApiClient(); + } + mMap.setMyLocationEnabled(true); + } + } else { + Toast.makeText(this, "Permission Denied.", Toast.LENGTH_SHORT).show(); + } + return; + } + } + + protected synchronized void buildGoogleApiClient() { + mGoogleApiClient = new GoogleApiClient.Builder(this) + .addConnectionCallbacks(this) + .addOnConnectionFailedListener(this) + .addApi(LocationServices.API) + .build(); + + mGoogleApiClient.connect(); } + @Override + public void onLocationChanged(Location location) { + currentLocation = location; + FirebaseUser user = mFirebaseAuth.getInstance().getCurrentUser(); + String userId = user.getUid(); + DatabaseReference dbRef = FirebaseDatabase.getInstance().getReference(); + + if (isDriver) { + dbRef.child("drivers").child(userId).child("latitude").setValue(currentLocation.getLatitude()); + dbRef.child("drivers").child(userId).child("longitude").setValue(currentLocation.getLongitude()); + } + + LatLng latLng = new LatLng(location.getLatitude(), location.getLongitude()); + + /* Updated this part so that it zooms in on the location, as it was buggy with me, I've left + * the original code commented out as it may be useful for if your location is updated? + * Either way this works for me at the moment & doesn't default me to the ocean lmao - James + */ + float zoomLevel = 15.0f; + mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latLng, zoomLevel)); + //mMap.animateCamera(CameraUpdateFactory.zoomBy(10)); + + final DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference(); + final DatabaseReference usernameRef; + + usernameRef = rootRef.child("routes"); + usernameRef.addListenerForSingleValueEvent(new ValueEventListener() { + @Override + public void onDataChange(DataSnapshot snapshot) { + + for(int i = 0; i < snapshot.getChildrenCount(); i++){ + //Toast.makeText(ViewRoutes.this, snapshot.child(Integer.toString(i)).child("user").getValue() + "", Toast.LENGTH_SHORT).show(); + //Toast.makeText(ViewRoutes.this, driver_id, Toast.LENGTH_SHORT).show(); + //checks all the routes for a route that belongs to the driver being viewed + + if((snapshot.child(Integer.toString(i)).child("user").getValue() + "").equals(driver_id)){ + //Toast.makeText(ViewRoutes.this, "equal", Toast.LENGTH_SHORT).show(); + + String start = snapshot.child(Integer.toString(i)).child("location_start").getValue().toString(); + String end = snapshot.child(Integer.toString(i)).child("location_end").getValue().toString(); + //Toast.makeText(ViewRoutes.this, "routes: " + start + " -> " + end, Toast.LENGTH_SHORT).show(); + routes_start.add(start); + routes_end.add(end); + } + + } + + setupMarkers(); + + } + + @Override + public void onCancelled(DatabaseError databaseError) { + Log.d("Firebase Error!", databaseError.getMessage()); //Don't ignore errors! + } + }); + + + + if (mGoogleApiClient != null) { + LocationServices.FusedLocationApi.removeLocationUpdates(mGoogleApiClient, this); + + } + } + + @Override + public void onConnected(@Nullable Bundle bundle) { + mLocationRequest = new LocationRequest(); + mLocationRequest.setInterval(1000); + mLocationRequest.setFastestInterval(1000); + mLocationRequest.setPriority(LocationRequest.PRIORITY_BALANCED_POWER_ACCURACY); + + if (ContextCompat.checkSelfPermission(this, + Manifest.permission.ACCESS_FINE_LOCATION) + == PackageManager.PERMISSION_GRANTED) { + LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient, + mLocationRequest, this); + } + } + + @Override + public void onConnectionSuspended(int i) { + + } + + @Override + public void onConnectionFailed(@NonNull ConnectionResult connectionResult) { + + } + + + //Override for the user_toolbar menu items @Override public boolean onCreateOptionsMenu(Menu menu) { @@ -152,4 +453,6 @@ public class ViewRoutes extends AppCompatActivity { return super.onOptionsItemSelected(item); } + + } diff --git a/src/main/res/layout/activity_driver__profile__passenger__view.xml b/src/main/res/layout/activity_driver__profile__passenger__view.xml new file mode 100644 index 0000000..6d3bb7e --- /dev/null +++ b/src/main/res/layout/activity_driver__profile__passenger__view.xml @@ -0,0 +1,185 @@ +<android.support.v4.widget.DrawerLayout xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="match_parent" + xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + android:id="@+id/dl"> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="match_parent" + android:orientation="vertical" + tools:context=".Driver_Profile"> + + <include + android:id="@+id/toolbar" + layout="@layout/user_toolbar" /> + + <TextView + android:id="@+id/profile_text" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_margin="20dp" + android:gravity="center" + android:text="@string/driver_profile" + android:textSize="30sp" /> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="212dp" + android:orientation="horizontal"> + + <ImageView + android:id="@+id/profile_image" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_weight="1" + android:contentDescription="@string/profile" + app:srcCompat="@drawable/icon_users" /> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="match_parent" + android:layout_weight="1" + android:orientation="vertical"> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="horizontal"> + + <TextView + android:id="@+id/textViewName" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="Name" /> + + <TextView + android:id="@+id/textViewLastName" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:paddingStart="10dip" + android:text="last name" /> + </LinearLayout> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="horizontal"> + + <TextView + android:id="@+id/textAge" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/edit_age" /> + + <TextView + android:id="@+id/textViewAge" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:paddingStart="10dip" + android:text="age" /> + </LinearLayout> + + <LinearLayout + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:orientation="horizontal"> + + <TextView + android:id="@+id/timeDriving" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:text="@string/edit_driving" /> + + <TextView + android:id="@+id/textViewDriving" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_weight="1" + android:paddingStart="10dip" + android:text="TextView" /> + </LinearLayout> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="horizontal"> + + <TextView + android:id="@+id/textViewLicenseThing" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_weight="0" + android:text="@string/edit_license_plate" /> + + <TextView + android:id="@+id/textViewLicense" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:paddingLeft="10dip" + android:text="License Plate" /> + </LinearLayout> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="horizontal"> + + <TextView + android:id="@+id/model" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_weight="0" + android:text="@string/edit_model" /> + + <TextView + android:id="@+id/textViewModel" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_weight="0" + android:text="model" + android:paddingStart="10dip"/> + </LinearLayout> + + </LinearLayout> + + </LinearLayout> + + <Button + android:id="@+id/rateButton" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:text="Rate Driver" /> + + + <Button + android:id="@+id/viewRoutesButton" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:text="@string/view_routes" /> + + <Button + android:id="@+id/backButton" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:text="BACK" /> + + <ImageView + android:id="@+id/picture_taken1" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:layout_marginHorizontal="100dp" + android:visibility="visible" + tools:visibility="visible" /> + + </LinearLayout> + <android.support.design.widget.NavigationView + android:layout_width="wrap_content" + android:layout_height="match_parent" + app:menu="@menu/navbar_menu" + android:layout_gravity="start" + android:id="@+id/nav_view"> + + </android.support.design.widget.NavigationView> +</android.support.v4.widget.DrawerLayout> \ No newline at end of file diff --git a/src/main/res/layout/activity_view_routes.xml b/src/main/res/layout/activity_view_routes.xml index 4d18694..5ad9b40 100644 --- a/src/main/res/layout/activity_view_routes.xml +++ b/src/main/res/layout/activity_view_routes.xml @@ -1,9 +1,36 @@ -<?xml version="1.0" encoding="utf-8"?> -<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:app="http://schemas.android.com/apk/res-auto" - xmlns:tools="http://schemas.android.com/tools" - android:layout_width="match_parent" +<android.support.v4.widget.DrawerLayout android:layout_width="match_parent" android:layout_height="match_parent" - tools:context=".ViewRoutes"> + xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + android:id="@+id/dl"> + + <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:gravity="center" + android:orientation="vertical" + tools:context=".Map"> + + <include + android:id="@+id/toolbar" + layout="@layout/user_toolbar" /> + + <fragment + android:id="@+id/map" + android:name="com.google.android.gms.maps.SupportMapFragment" + android:layout_width="match_parent" + android:layout_height="match_parent" + tools:context=".Map" /> + + </LinearLayout> + + <android.support.design.widget.NavigationView + android:layout_width="wrap_content" + android:layout_height="match_parent" + app:menu="@menu/navbar_menu" + android:layout_gravity="start" + android:id="@+id/nav_view"> -</android.support.constraint.ConstraintLayout> \ No newline at end of file + </android.support.design.widget.NavigationView> +</android.support.v4.widget.DrawerLayout> \ No newline at end of file -- GitLab