diff --git a/.gradle/5.1.1/executionHistory/executionHistory.bin b/.gradle/5.1.1/executionHistory/executionHistory.bin index 8c4f16289f3d049418f8e2843791e4f8323b2bf4..27ae04349da8e2f5cb90e5344eb1bcc19544c303 100644 Binary files a/.gradle/5.1.1/executionHistory/executionHistory.bin and b/.gradle/5.1.1/executionHistory/executionHistory.bin differ diff --git a/.gradle/5.1.1/executionHistory/executionHistory.lock b/.gradle/5.1.1/executionHistory/executionHistory.lock index fd2e0540fc09cb86901bd9f919b545786b52ca80..23e2ead6bb4fc68fcdbe0b52744eef5cc4590e31 100644 Binary files a/.gradle/5.1.1/executionHistory/executionHistory.lock and b/.gradle/5.1.1/executionHistory/executionHistory.lock differ diff --git a/.gradle/5.1.1/fileHashes/fileHashes.bin b/.gradle/5.1.1/fileHashes/fileHashes.bin index 46dfd9c78e24345e9663c12bd639eba1d8688289..fe64d7620e564147ba7be84920011a1313e1c726 100644 Binary files a/.gradle/5.1.1/fileHashes/fileHashes.bin and b/.gradle/5.1.1/fileHashes/fileHashes.bin differ diff --git a/.gradle/5.1.1/fileHashes/fileHashes.lock b/.gradle/5.1.1/fileHashes/fileHashes.lock index 9403a7ff5dd4cd0242533caf9488a689cd92e9f3..0b7d9135eaa722539a9d36bcdf0f5bb564e633ba 100644 Binary files a/.gradle/5.1.1/fileHashes/fileHashes.lock and b/.gradle/5.1.1/fileHashes/fileHashes.lock differ diff --git a/.gradle/5.1.1/javaCompile/classAnalysis.bin b/.gradle/5.1.1/javaCompile/classAnalysis.bin index 5746e0516e63cf47a31dfec47d76d5f62c6aed26..fac95c1a7d9d50aa5f4162d5464502f75523634c 100644 Binary files a/.gradle/5.1.1/javaCompile/classAnalysis.bin and b/.gradle/5.1.1/javaCompile/classAnalysis.bin differ diff --git a/.gradle/5.1.1/javaCompile/javaCompile.lock b/.gradle/5.1.1/javaCompile/javaCompile.lock index 5447a33f520db6f9306718a2bf058721451ed6f7..1d6ffa56e36b6c70f41e56f9ca310b855f1bdf5e 100644 Binary files a/.gradle/5.1.1/javaCompile/javaCompile.lock and b/.gradle/5.1.1/javaCompile/javaCompile.lock differ diff --git a/.gradle/5.1.1/javaCompile/taskHistory.bin b/.gradle/5.1.1/javaCompile/taskHistory.bin index 45712337ee59ce5564572b88387cbedf1fe841f7..776a80b55eb6364b92e93367fa9ac6c4fb80d11a 100644 Binary files a/.gradle/5.1.1/javaCompile/taskHistory.bin and b/.gradle/5.1.1/javaCompile/taskHistory.bin differ diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock index 8fc0811b3dfea0bc588ce75ed5efec71d2a4ce8d..0599fb613ad4a0cfb559682d38ca0df391cbaa5b 100644 Binary files a/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ diff --git a/.gradle/buildOutputCleanup/outputFiles.bin b/.gradle/buildOutputCleanup/outputFiles.bin index 1b7ed1f6fa414c98f4309fd531aaf08de3f08a32..366dbcf68cbbad6475e87debd0a86218f5b9fa41 100644 Binary files a/.gradle/buildOutputCleanup/outputFiles.bin and b/.gradle/buildOutputCleanup/outputFiles.bin differ diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index 9b894a7074140515f18d88d05280b13c6e1ee6df..ece26b762a9474b65ef845756c339e216c9c55ec 100644 Binary files a/.idea/caches/build_file_checksums.ser and b/.idea/caches/build_file_checksums.ser differ diff --git a/.idea/caches/gradle_models.ser b/.idea/caches/gradle_models.ser index c6af050db1376efb91b41753c111518d52fdbd8f..8fe8459c469f1ee2aff6c89382269945cf26dc94 100644 Binary files a/.idea/caches/gradle_models.ser and b/.idea/caches/gradle_models.ser differ diff --git a/.idea/libraries/Gradle__com_google_maps_android_android_maps_utils_0_5_aar.xml b/.idea/libraries/Gradle__com_google_maps_android_android_maps_utils_0_5_aar.xml new file mode 100644 index 0000000000000000000000000000000000000000..ccda513e33ed95cb76af84eda747d48d006563e3 --- /dev/null +++ b/.idea/libraries/Gradle__com_google_maps_android_android_maps_utils_0_5_aar.xml @@ -0,0 +1,10 @@ +<component name="libraryTable"> + <library name="Gradle: com.google.maps.android:android-maps-utils:0.5@aar"> + <CLASSES> + <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/ebd4022f0313969aae1e001d9dcdd76c/jars/classes.jar!/" /> + <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/ebd4022f0313969aae1e001d9dcdd76c/res" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> +</component> \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 598fa0fa3c3d2c6b3f722b7d7d8c0ff97c101d85..942456533f5dacb7deef8108d2b0d6a084c907ce 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -9,8 +9,23 @@ <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=""> - <change beforePath="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/ReportProblem.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/ReportProblem.java" afterDir="false" /> + <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_maps_android_android_maps_utils_0_5_aar.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/caches/gradle_models.ser" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/caches/gradle_models.ser" 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$/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$/unirides.iml" beforeDir="false" afterPath="$PROJECT_DIR$/unirides.iml" afterDir="false" /> </list> <ignored path="$PROJECT_DIR$/build/generated/not_namespaced_r_class_sources/" /> <ignored path="$PROJECT_DIR$/build/generated/source/r/" /> @@ -71,19 +86,6 @@ </component> <component name="FileEditorManager"> <leaf> - <file pinned="false" current-in-tab="false"> - <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="210"> - <caret line="30" column="39" selection-start-line="30" selection-start-column="39" selection-end-line="30" selection-end-column="39" /> - <folding> - <element signature="e#1361#1374#0" expanded="true" /> - <element signature="e#1375#1389#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_report_problem.xml"> <provider selected="true" editor-type-id="text-editor"> @@ -158,11 +160,36 @@ </provider> </entry> </file> - <file pinned="false" current-in-tab="true"> + <file pinned="false" current-in-tab="false"> <entry file="file://$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/ReportProblem.java"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="708"> - <caret line="141" column="3" selection-start-line="141" selection-start-column="3" selection-end-line="141" selection-end-column="3" /> + <state relative-caret-position="303"> + <caret line="141" column="2" selection-start-line="141" selection-start-column="2" selection-end-line="141" selection-end-column="2" /> + </state> + </provider> + </entry> + </file> + <file pinned="false" current-in-tab="true"> + <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="266"> + <caret line="348" column="5" lean-forward="true" selection-start-line="348" selection-start-column="5" selection-end-line="348" selection-end-column="5" /> + <folding> + <element signature="imports" expanded="true" /> + <element signature="e#4417#4430#0" expanded="true" /> + <element signature="e#4431#4445#0" expanded="true" /> + <element signature="e#4906#7051#0" expanded="true" /> + <element signature="e#7050#7051#0" expanded="true" /> + </folding> + </state> + </provider> + </entry> + </file> + <file pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/build.gradle"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="608"> + <caret line="45" column="69" selection-start-line="45" selection-start-column="69" selection-end-line="45" selection-end-column="69" /> </state> </provider> </entry> @@ -193,16 +220,6 @@ </provider> </entry> </file> - <file pinned="false" current-in-tab="false"> - <entry file="file://$PROJECT_DIR$/src/main/res/layout/activity_register.xml"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="241"> - <caret line="22" column="34" selection-start-line="13" selection-start-column="4" selection-end-line="22" selection-end-column="34" /> - </state> - </provider> - <provider editor-type-id="android-designer2" /> - </entry> - </file> </leaf> </component> <component name="FileTemplateManagerImpl"> @@ -244,7 +261,6 @@ <option value="$PROJECT_DIR$/local.properties" /> <option value="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/NavBar.java" /> <option value="$PROJECT_DIR$/src/main/res/layout/activity_navbar.xml" /> - <option value="$PROJECT_DIR$/build.gradle" /> <option value="$PROJECT_DIR$/src/main/res/layout/activity_driver_main.xml" /> <option value="$PROJECT_DIR$/src/main/res/layout/activity_driver_profile.xml" /> <option value="$PROJECT_DIR$/src/main/res/layout/activity_map.xml" /> @@ -255,7 +271,6 @@ <option value="$PROJECT_DIR$/src/main/res/menu/toolbar_menu.xml" /> <option value="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Driver_Profile.java" /> <option value="$PROJECT_DIR$/src/main/res/menu/navbar_menu.xml" /> - <option value="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Map.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/User_Profile.java" /> <option value="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Route.java" /> @@ -272,12 +287,14 @@ <option value="$PROJECT_DIR$/src/main/res/values/strings.xml" /> <option value="$PROJECT_DIR$/src/main/res/layout/activity_terms.xml" /> <option value="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/ReportProblem.java" /> + <option value="$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/Map.java" /> + <option value="$PROJECT_DIR$/build.gradle" /> </list> </option> </component> <component name="ProjectFrameBounds"> - <option name="x" value="778" /> - <option name="y" value="23" /> + <option name="x" value="1202" /> + <option name="y" value="27" /> <option name="width" value="1358" /> <option name="height" value="1336" /> </component> @@ -307,23 +324,6 @@ <item name="java" type="edd41e36:AndroidSourceTypeNode" /> <item name="unirides" type="cbb59c9e:AndroidPsiDirectoryNode" /> </path> - <path> - <item name="unirides" type="1abcf292:AndroidViewProjectNode" /> - <item name="unirides" type="feadf853:AndroidModuleNode" /> - <item name="res" type="d4f16f75:AndroidResFolderNode" /> - </path> - <path> - <item name="unirides" type="1abcf292:AndroidViewProjectNode" /> - <item name="unirides" type="feadf853:AndroidModuleNode" /> - <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="values" type="ddeffd01:AndroidResFolderTypeNode" /> - </path> <path> <item name="unirides" type="1abcf292:AndroidViewProjectNode" /> <item name="Gradle Scripts" type="ae0cef3a:AndroidBuildScriptsGroupNode" /> @@ -503,12 +503,11 @@ </todo-panel> </component> <component name="ToolWindowManager"> - <frame x="778" y="23" width="1358" height="1336" extended-state="0" /> - <editor active="true" /> + <frame x="1202" y="27" width="1358" height="1336" extended-state="0" /> <layout> <window_info id="Captures" order="0" side_tool="true" weight="0.25" /> <window_info id="Designer" order="1" /> - <window_info active="true" content_ui="combo" id="Project" order="2" visible="true" weight="0.32978722" /> + <window_info content_ui="combo" id="Project" order="2" visible="true" weight="0.32978722" /> <window_info id="Structure" order="3" side_tool="true" /> <window_info id="Build Variants" order="4" side_tool="true" /> <window_info id="Image Layers" order="5" /> @@ -519,7 +518,7 @@ <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" visible="true" weight="0.32717043" /> + <window_info active="true" anchor="bottom" id="Terminal" order="4" visible="true" weight="0.32717043" /> <window_info anchor="bottom" id="Event Log" order="5" sideWeight="0.10030395" side_tool="true" weight="0.329582" /> <window_info anchor="bottom" id="Find" order="6" weight="0.329582" /> <window_info anchor="bottom" id="Version Control" order="7" /> @@ -533,6 +532,10 @@ <window_info anchor="right" id="Palette	" order="5" /> </layout> </component> + <component name="VcsManagerConfiguration"> + <MESSAGE value="map activity code updated - Mark Wu" /> + <option name="LAST_COMMIT_MESSAGE" value="map activity code updated - Mark Wu" /> + </component> <component name="editorHistoryManager"> <entry file="file://$PROJECT_DIR$/src/main/res/drawable/logo_hd.png"> <provider selected="true" editor-type-id="images" /> @@ -617,13 +620,6 @@ </provider> <provider editor-type-id="android-designer2" /> </entry> - <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="330"> - <caret line="117" column="45" selection-start-line="117" selection-start-column="45" selection-end-line="117" selection-end-column="45" /> - </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="303"> @@ -774,13 +770,6 @@ </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/build.gradle"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="675"> - <caret line="45" column="57" selection-start-line="45" selection-start-column="57" selection-end-line="45" selection-end-column="57" /> - </state> - </provider> - </entry> <entry file="file://$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/DateFragment.java"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="75"> @@ -916,8 +905,29 @@ </entry> <entry file="file://$PROJECT_DIR$/src/main/java/com/example/liliyayankova/unirides/ReportProblem.java"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="708"> - <caret line="141" column="3" selection-start-line="141" selection-start-column="3" selection-end-line="141" selection-end-column="3" /> + <state relative-caret-position="303"> + <caret line="141" column="2" selection-start-line="141" selection-start-column="2" selection-end-line="141" selection-end-column="2" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/build.gradle"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="608"> + <caret line="45" column="69" selection-start-line="45" selection-start-column="69" selection-end-line="45" selection-end-column="69" /> + </state> + </provider> + </entry> + <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="266"> + <caret line="348" column="5" lean-forward="true" selection-start-line="348" selection-start-column="5" selection-end-line="348" selection-end-column="5" /> + <folding> + <element signature="imports" expanded="true" /> + <element signature="e#4417#4430#0" expanded="true" /> + <element signature="e#4431#4445#0" expanded="true" /> + <element signature="e#4906#7051#0" expanded="true" /> + <element signature="e#7050#7051#0" expanded="true" /> + </folding> </state> </provider> </entry> diff --git a/build.gradle b/build.gradle index 05549b742851a96569b62205ce2cff4bd127021b..6cb866a618f575de7eedb0c1211a9d555c2a24c8 100644 --- a/build.gradle +++ b/build.gradle @@ -42,12 +42,16 @@ dependencies { implementation 'com.android.support.constraint:constraint-layout:1.1.3' implementation 'com.android.support:design:28.0.0' implementation 'com.mikepenz:materialdrawer:6.0.9' + implementation 'com.google.maps.android:android-maps-utils:0.5' + implementation 'com.google.android.gms:play-services-maps:15.0.1' implementation 'com.google.android.gms:play-services-maps:16.1.0' implementation 'com.google.android.gms:play-services-location:16.0.0' implementation 'com.google.firebase:firebase-core:16.0.8' implementation 'com.google.firebase:firebase-auth:16.2.1' implementation 'com.google.firebase:firebase-database:16.1.0' implementation 'com.google.firebase:firebase-storage:16.0.2' + implementation 'com.google.maps.android:android-maps-utils:0.5' + implementation 'com.google.android.gms:play-services-maps:15.0.1' testImplementation 'junit:junit:4.12' androidTestImplementation 'com.android.support.test:runner:1.0.2' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' diff --git a/src/main/java/com/example/liliyayankova/unirides/Map.java b/src/main/java/com/example/liliyayankova/unirides/Map.java index ea9ed32a29ba62380624ea78cf50cecbd3d7173d..7763af4faeb4542cca5082e79dcc1a9bfcb7e1ce 100644 --- a/src/main/java/com/example/liliyayankova/unirides/Map.java +++ b/src/main/java/com/example/liliyayankova/unirides/Map.java @@ -8,12 +8,9 @@ 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.os.Bundle; import android.support.v4.content.ContextCompat; -import android.support.v4.widget.DrawerLayout; -import android.support.v7.app.ActionBarDrawerToggle; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.util.Log; @@ -35,6 +32,18 @@ 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.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 android.support.design.widget.NavigationView; +import android.support.v4.widget.DrawerLayout; +import android.support.v7.app.ActionBarDrawerToggle; +import com.google.maps.android.SphericalUtil; public class Map extends AppCompatActivity implements OnMapReadyCallback, @@ -50,7 +59,12 @@ public class Map extends AppCompatActivity implements private Marker myLocation; private static final int REQUEST_USER_LOCATION_CODE = 99; private boolean isDriver; - + private FirebaseAuth mFirebaseAuth; + private FirebaseDatabase mFirebaseDatabase; + private DatabaseReference mLocationDatabaseReference; + private String firstName; + private String lastName; + private LatLng latLng; private DrawerLayout dl; private ActionBarDrawerToggle dt; @@ -66,6 +80,11 @@ public class Map extends AppCompatActivity implements .findFragmentById(R.id.map); mapFragment.getMapAsync(this); + latLng = new LatLng(0.0,0.0); + currentLocation = new Location ("dummyprovider"); + currentLocation.setLatitude(0.0); + currentLocation.setLongitude(0.0); + locationManager = (LocationManager) getSystemService(LOCATION_SERVICE); //setting the user_toolbar layout as the action bar @@ -86,6 +105,9 @@ public class Map extends AppCompatActivity implements isDriver = true; } } + FirebaseApp.initializeApp(this); + mFirebaseDatabase = FirebaseDatabase.getInstance(); + mLocationDatabaseReference= mFirebaseDatabase.getReference().child("drivers"); dl = (DrawerLayout)findViewById(R.id.dl); dt = new ActionBarDrawerToggle(this,dl,R.string.Open,R.string.Close); @@ -123,14 +145,14 @@ public class Map extends AppCompatActivity implements 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). - */ + /* + 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(Map.this, "successfully logged out", Toast.LENGTH_SHORT).show(); Intent logout_i = new Intent(Map.this, Homepage.class); @@ -142,17 +164,50 @@ public class Map extends AppCompatActivity implements } }); + + + } + @Override public void onMapReady(GoogleMap googleMap) { mMap = googleMap; + DatabaseReference dbRef = FirebaseDatabase.getInstance().getReference(); if(ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) { buildGoogleApiClient(); mMap.setMyLocationEnabled(true); + if(!isDriver) { + dbRef.addListenerForSingleValueEvent(new ValueEventListener() { + @Override + public void onDataChange(@NonNull DataSnapshot dataSnapshot) { + for (DataSnapshot child : dataSnapshot.child("drivers").getChildren()) { + Double latitude = child.child("latitude").getValue(Double.class); + Double longitude = child.child("longitude").getValue(Double.class); + latLng = new LatLng(currentLocation.getLatitude(), currentLocation.getLongitude()); + LatLng latLng2 = new LatLng(latitude, longitude); + firstName = child.child("first_name").getValue(String.class); + lastName = child.child("last_name").getValue(String.class); + Log.e("In radius","ronan white"); + + if (SphericalUtil.computeDistanceBetween(latLng, latLng2) < 300) + Log.e("radius", latLng.toString() + " is 300 radius to " + latitude.toString() + ", " + longitude.toString()); + mMap.addMarker(new MarkerOptions() + .position(latLng2) + .title(firstName + " " + lastName)); + + } + } + + @Override + public void onCancelled(@NonNull DatabaseError databaseError) { + + } + }); + } } } @@ -207,9 +262,45 @@ public class Map extends AppCompatActivity implements @Override public void onLocationChanged(Location location) { currentLocation = location; + 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(); } + 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()); MarkerOptions markerOptions = new MarkerOptions(); diff --git a/unirides.iml b/unirides.iml index 0e00de23b998b4161128ee611e107649db9cbbe4..514aa146427d623db2fa9b507e93ba064ebe7aff 100644 --- a/unirides.iml +++ b/unirides.iml @@ -202,6 +202,7 @@ <orderEntry type="library" name="Gradle: com.android.support:viewpager:28.0.0@aar" level="project" /> <orderEntry type="library" name="Gradle: com.mikepenz:materialdrawer:6.0.9@aar" level="project" /> <orderEntry type="library" name="Gradle: com.google.firebase:firebase-common:16.1.0@aar" level="project" /> + <orderEntry type="library" name="Gradle: com.google.maps.android:android-maps-utils:0.5@aar" level="project" /> <orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-integration:1.3@jar" level="project" /> <orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-library:1.3@jar" level="project" /> <orderEntry type="library" name="Gradle: android.arch.lifecycle:common:1.1.1@jar" level="project" />