From c59d678a4140b195d51959e9d9f9aa80d588d589 Mon Sep 17 00:00:00 2001 From: SHAJ Date: Sun, 19 Aug 2018 04:03:06 -0700 Subject: [PATCH] Initial commit --- .gitignore | 9 + .idea/caches/build_file_checksums.ser | Bin 0 -> 585 bytes .idea/codeStyles/Project.xml | 29 + .idea/gradle.xml | 19 + .idea/misc.xml | 34 + .idea/modules.xml | 10 + .idea/runConfigurations.xml | 12 + app/.gitignore | 1 + app/build.gradle | 48 + app/proguard-rules.pro | 21 + .../shajt3ch/ExampleInstrumentedTest.java | 26 + app/src/debug/res/values/google_maps_api.xml | 24 + app/src/main/AndroidManifest.xml | 65 + app/src/main/ic_launcher-web.png | Bin 0 -> 96830 bytes .../shajt3ch/AccelerometerListener.java | 11 + .../shajt3ch/AccelerometerManager.java | 229 +++ .../shajt3ch/BackgrndServices.java | 192 +++ .../com/womensafety/shajt3ch/Constants.java | 35 + .../com/womensafety/shajt3ch/DataHolder.java | 77 + .../com/womensafety/shajt3ch/DataParser.java | 82 ++ .../com/womensafety/shajt3ch/Display.java | 68 + .../com/womensafety/shajt3ch/DownloadUrl.java | 53 + .../com/womensafety/shajt3ch/GPSTracker.java | 206 +++ .../shajt3ch/GetNearbyPlacesData.java | 67 + .../java/com/womensafety/shajt3ch/Holder.java | 32 + .../womensafety/shajt3ch/MainActivity.java | 357 +++++ .../womensafety/shajt3ch/MapsActivity.java | 286 ++++ .../java/com/womensafety/shajt3ch/Model.java | 11 + .../womensafety/shajt3ch/MyPagerAdapter.java | 34 + .../com/womensafety/shajt3ch/MyService.java | 186 +++ .../com/womensafety/shajt3ch/PhoneNumber.java | 6 + .../com/womensafety/shajt3ch/RGeocoder.java | 82 ++ .../womensafety/shajt3ch/RecyclerAdapter.java | 39 + .../com/womensafety/shajt3ch/Register.java | 104 ++ .../java/com/womensafety/shajt3ch/Safety.java | 58 + .../java/com/womensafety/shajt3ch/Verify.java | 51 + .../res/drawable-v21/card_view_border.xml | 9 + app/src/main/res/drawable-v21/help.png | Bin 0 -> 31125 bytes .../main/res/drawable-v21/ic_menu_camera.xml | 12 + .../main/res/drawable-v21/ic_menu_gallery.xml | 9 + .../main/res/drawable-v21/ic_menu_manage.xml | 9 + .../main/res/drawable-v21/ic_menu_send.xml | 9 + .../main/res/drawable-v21/ic_menu_share.xml | 9 + .../res/drawable-v21/ic_menu_slideshow.xml | 9 + app/src/main/res/drawable-v21/rate.png | Bin 0 -> 7663 bytes .../drawable-v24/ic_launcher_foreground.xml | 34 + .../res/drawable-v24/icon_power_black.png | Bin 0 -> 803 bytes .../main/res/drawable-v24/icon_power_on.png | Bin 0 -> 14939 bytes .../main/res/drawable-v24/icon_power_red.png | Bin 0 -> 14559 bytes .../main/res/drawable/ic_close_black_24dp.png | Bin 0 -> 207 bytes .../res/drawable/ic_launcher_background.xml | 74 + app/src/main/res/drawable/icon_contatcs.png | Bin 0 -> 1627 bytes app/src/main/res/drawable/icon_display.png | Bin 0 -> 570 bytes app/src/main/res/drawable/icon_inst.png | Bin 0 -> 923 bytes app/src/main/res/drawable/icon_nearby.png | Bin 0 -> 709 bytes app/src/main/res/drawable/icon_register.png | Bin 0 -> 1088 bytes app/src/main/res/drawable/icon_safety.png | Bin 0 -> 11852 bytes app/src/main/res/drawable/instruct_icon.png | Bin 0 -> 17664 bytes app/src/main/res/drawable/power.png | Bin 0 -> 1122 bytes app/src/main/res/drawable/power2.png | Bin 0 -> 1283 bytes app/src/main/res/drawable/power3.png | Bin 0 -> 1422 bytes app/src/main/res/drawable/power4.png | Bin 0 -> 2554 bytes app/src/main/res/drawable/power5.png | Bin 0 -> 2167 bytes app/src/main/res/drawable/side_nav_bar.xml | 9 + app/src/main/res/layout/activity_main.xml | 25 + app/src/main/res/layout/activity_maps.xml | 63 + app/src/main/res/layout/activity_my.xml | 28 + app/src/main/res/layout/activity_safety.xml | 16 + app/src/main/res/layout/app_bar_main.xml | 33 + app/src/main/res/layout/contacts_register.xml | 50 + app/src/main/res/layout/content_main.xml | 66 + app/src/main/res/layout/display.xml | 6 + app/src/main/res/layout/item_main.xml | 45 + app/src/main/res/layout/main_fragment.xml | 11 + app/src/main/res/layout/nav_header_main.xml | 35 + app/src/main/res/layout/popup_layout.xml | 20 + app/src/main/res/layout/selfregister.xml | 37 + .../main/res/menu/activity_main_drawer.xml | 46 + app/src/main/res/menu/main.xml | 12 + app/src/main/res/menu/newbutton.xml | 17 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + app/src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 4120 bytes .../mipmap-hdpi/ic_launcher_foreground.png | Bin 0 -> 10367 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 6501 bytes .../main/res/mipmap-mdpi/firstaid_icon.png | Bin 0 -> 18982 bytes app/src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2577 bytes .../mipmap-mdpi/ic_launcher_foreground.png | Bin 0 -> 5348 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 3621 bytes .../main/res/mipmap-mdpi/selfdefence_icon.png | Bin 0 -> 33133 bytes app/src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 5577 bytes .../mipmap-xhdpi/ic_launcher_foreground.png | Bin 0 -> 16934 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 10064 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 9226 bytes .../mipmap-xxhdpi/ic_launcher_foreground.png | Bin 0 -> 35009 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 18560 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 12310 bytes .../mipmap-xxxhdpi/ic_launcher_foreground.png | Bin 0 -> 56124 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 28705 bytes app/src/main/res/values-v21/styles.xml | 8 + app/src/main/res/values/colors.xml | 6 + app/src/main/res/values/dimens.xml | 8 + app/src/main/res/values/drawables.xml | 8 + app/src/main/res/values/strings.xml | 19 + app/src/main/res/values/styles.xml | 20 + .../release/res/values/google_maps_api.xml | 20 + .../womensafety/shajt3ch/ExampleUnitTest.java | 17 + build.gradle | 31 + gradle.properties | 17 + gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 53636 bytes gradle/wrapper/gradle-wrapper.properties | 6 + gradlew | 160 ++ gradlew.bat | 90 ++ settings.gradle | 2 + speech/build.gradle | 121 ++ .../debug/net/gotev/speech/BuildConfig.java | 13 + .../source/r/debug/net/gotev/speech/R.java | 10 + speech/build/intermediates/attr/R.txt | 1293 +++++++++++++++++ .../sac/speech/DefaultLoggerDelegate.class | Bin 0 -> 1582 bytes .../com/sac/speech/DelayedOperation$1$1.class | Bin 0 -> 945 bytes .../com/sac/speech/DelayedOperation$1.class | Bin 0 -> 1710 bytes .../speech/DelayedOperation$Operation.class | Bin 0 -> 299 bytes .../com/sac/speech/DelayedOperation.class | Bin 0 -> 2956 bytes .../GoogleVoiceTypingDisabledException.class | Bin 0 -> 431 bytes .../debug/com/sac/speech/Logger$1.class | Bin 0 -> 196 bytes .../com/sac/speech/Logger$LogLevel.class | Bin 0 -> 1164 bytes .../sac/speech/Logger$LoggerDelegate.class | Bin 0 -> 358 bytes .../sac/speech/Logger$SingletonHolder.class | Bin 0 -> 658 bytes .../classes/debug/com/sac/speech/Logger.class | Bin 0 -> 2564 bytes .../debug/com/sac/speech/Speech$1.class | Bin 0 -> 1244 bytes .../debug/com/sac/speech/Speech$2$1.class | Bin 0 -> 1044 bytes .../debug/com/sac/speech/Speech$2.class | Bin 0 -> 4971 bytes .../sac/speech/Speech$stopDueToDelay.class | Bin 0 -> 261 bytes .../classes/debug/com/sac/speech/Speech.class | Bin 0 -> 13760 bytes .../debug/com/sac/speech/SpeechDelegate.class | Bin 0 -> 358 bytes .../speech/SpeechRecognitionException.class | Bin 0 -> 1780 bytes .../SpeechRecognitionNotAvailable.class | Bin 0 -> 413 bytes .../debug/com/sac/speech/SpeechUtil.class | Bin 0 -> 870 bytes .../com/sac/speech/TextToSpeechCallback.class | Bin 0 -> 200 bytes .../sac/speech/TtsProgressListener$1.class | Bin 0 -> 845 bytes .../sac/speech/TtsProgressListener$2.class | Bin 0 -> 1117 bytes .../sac/speech/TtsProgressListener$3.class | Bin 0 -> 1104 bytes .../com/sac/speech/TtsProgressListener.class | Bin 0 -> 2515 bytes .../debug/com/sac/speech/ui/SpeechBar.class | Bin 0 -> 1749 bytes .../sac/speech/ui/SpeechProgressView$1.class | Bin 0 -> 864 bytes .../sac/speech/ui/SpeechProgressView.class | Bin 0 -> 8093 bytes .../ui/animators/BarParamsAnimator.class | Bin 0 -> 198 bytes .../speech/ui/animators/BarRmsAnimator.class | Bin 0 -> 3248 bytes .../speech/ui/animators/IdleAnimator.class | Bin 0 -> 2194 bytes .../sac/speech/ui/animators/RmsAnimator.class | Bin 0 -> 1932 bytes .../ui/animators/RotatingAnimator.class | Bin 0 -> 3699 bytes ...ator$OnInterpolationFinishedListener.class | Bin 0 -> 318 bytes .../ui/animators/TransformAnimator.class | Bin 0 -> 3371 bytes .../debug/net/gotev/speech/BuildConfig.class | Bin 0 -> 707 bytes .../classes/debug/net/gotev/speech/R.class | Bin 0 -> 262 bytes .../compileDebugAidl/dependency.store | Bin 0 -> 5 bytes .../debug-mergeJniLibs/merge-state | Bin 0 -> 542 bytes .../mergeDebugJniLibFolders/merger.xml | 2 + .../incremental/mergeDebugShaders/merger.xml | 2 + .../incremental/packageDebugAssets/merger.xml | 2 + .../compile-file-map.properties | 1 + .../packageDebugResources/merger.xml | 2 + .../intermediate-jars/debug/classes.jar | Bin 0 -> 41245 bytes .../intermediate-jars/debug/res.jar | Bin 0 -> 22 bytes .../debug/annotationProcessors.json | 1 + .../manifests/aapt/debug/AndroidManifest.xml | 14 + .../manifests/aapt/debug/output.json | 1 + .../manifests/full/debug/AndroidManifest.xml | 14 + .../manifests/full/debug/output.json | 1 + .../debug/package-aware-r.txt | 1 + .../build/intermediates/symbols/debug/R.txt | 0 .../mergeJniLibs/debug/__content__.json | 1 + .../logs/manifest-merger-debug-report.txt | 45 + speech/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 53636 bytes .../gradle/wrapper/gradle-wrapper.properties | 6 + speech/gradlew | 160 ++ speech/gradlew.bat | 90 ++ speech/proguard-rules.pro | 17 + .../java/com/sac/speech/ApplicationTest.java | 13 + speech/src/main/AndroidManifest.xml | 7 + .../com/sac/speech/DefaultLoggerDelegate.java | 29 + .../java/com/sac/speech/DelayedOperation.java | 86 ++ .../GoogleVoiceTypingDisabledException.java | 9 + .../src/main/java/com/sac/speech/Logger.java | 75 + .../src/main/java/com/sac/speech/Speech.java | 525 +++++++ .../java/com/sac/speech/SpeechDelegate.java | 33 + .../speech/SpeechRecognitionException.java | 68 + .../speech/SpeechRecognitionNotAvailable.java | 8 + .../main/java/com/sac/speech/SpeechUtil.java | 21 + .../com/sac/speech/TextToSpeechCallback.java | 7 + .../com/sac/speech/TtsProgressListener.java | 65 + .../java/com/sac/speech/ui/SpeechBar.java | 81 ++ .../com/sac/speech/ui/SpeechProgressView.java | 286 ++++ .../ui/animators/BarParamsAnimator.java | 7 + .../speech/ui/animators/BarRmsAnimator.java | 142 ++ .../sac/speech/ui/animators/IdleAnimator.java | 61 + .../sac/speech/ui/animators/RmsAnimator.java | 45 + .../speech/ui/animators/RotatingAnimator.java | 109 ++ .../ui/animators/TransformAnimator.java | 111 ++ .../java/com/sac/speech/ExampleUnitTest.java | 15 + 200 files changed, 7279 insertions(+) create mode 100644 .gitignore create mode 100644 .idea/caches/build_file_checksums.ser create mode 100644 .idea/codeStyles/Project.xml create mode 100644 .idea/gradle.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/runConfigurations.xml create mode 100644 app/.gitignore create mode 100644 app/build.gradle create mode 100644 app/proguard-rules.pro create mode 100644 app/src/androidTest/java/com/womensafety/shajt3ch/ExampleInstrumentedTest.java create mode 100644 app/src/debug/res/values/google_maps_api.xml create mode 100644 app/src/main/AndroidManifest.xml create mode 100644 app/src/main/ic_launcher-web.png create mode 100644 app/src/main/java/com/womensafety/shajt3ch/AccelerometerListener.java create mode 100644 app/src/main/java/com/womensafety/shajt3ch/AccelerometerManager.java create mode 100644 app/src/main/java/com/womensafety/shajt3ch/BackgrndServices.java create mode 100644 app/src/main/java/com/womensafety/shajt3ch/Constants.java create mode 100644 app/src/main/java/com/womensafety/shajt3ch/DataHolder.java create mode 100644 app/src/main/java/com/womensafety/shajt3ch/DataParser.java create mode 100644 app/src/main/java/com/womensafety/shajt3ch/Display.java create mode 100644 app/src/main/java/com/womensafety/shajt3ch/DownloadUrl.java create mode 100644 app/src/main/java/com/womensafety/shajt3ch/GPSTracker.java create mode 100644 app/src/main/java/com/womensafety/shajt3ch/GetNearbyPlacesData.java create mode 100644 app/src/main/java/com/womensafety/shajt3ch/Holder.java create mode 100644 app/src/main/java/com/womensafety/shajt3ch/MainActivity.java create mode 100644 app/src/main/java/com/womensafety/shajt3ch/MapsActivity.java create mode 100644 app/src/main/java/com/womensafety/shajt3ch/Model.java create mode 100644 app/src/main/java/com/womensafety/shajt3ch/MyPagerAdapter.java create mode 100644 app/src/main/java/com/womensafety/shajt3ch/MyService.java create mode 100644 app/src/main/java/com/womensafety/shajt3ch/PhoneNumber.java create mode 100644 app/src/main/java/com/womensafety/shajt3ch/RGeocoder.java create mode 100644 app/src/main/java/com/womensafety/shajt3ch/RecyclerAdapter.java create mode 100644 app/src/main/java/com/womensafety/shajt3ch/Register.java create mode 100644 app/src/main/java/com/womensafety/shajt3ch/Safety.java create mode 100644 app/src/main/java/com/womensafety/shajt3ch/Verify.java create mode 100644 app/src/main/res/drawable-v21/card_view_border.xml create mode 100644 app/src/main/res/drawable-v21/help.png create mode 100644 app/src/main/res/drawable-v21/ic_menu_camera.xml create mode 100644 app/src/main/res/drawable-v21/ic_menu_gallery.xml create mode 100644 app/src/main/res/drawable-v21/ic_menu_manage.xml create mode 100644 app/src/main/res/drawable-v21/ic_menu_send.xml create mode 100644 app/src/main/res/drawable-v21/ic_menu_share.xml create mode 100644 app/src/main/res/drawable-v21/ic_menu_slideshow.xml create mode 100644 app/src/main/res/drawable-v21/rate.png create mode 100644 app/src/main/res/drawable-v24/ic_launcher_foreground.xml create mode 100644 app/src/main/res/drawable-v24/icon_power_black.png create mode 100644 app/src/main/res/drawable-v24/icon_power_on.png create mode 100644 app/src/main/res/drawable-v24/icon_power_red.png create mode 100644 app/src/main/res/drawable/ic_close_black_24dp.png create mode 100644 app/src/main/res/drawable/ic_launcher_background.xml create mode 100644 app/src/main/res/drawable/icon_contatcs.png create mode 100644 app/src/main/res/drawable/icon_display.png create mode 100644 app/src/main/res/drawable/icon_inst.png create mode 100644 app/src/main/res/drawable/icon_nearby.png create mode 100644 app/src/main/res/drawable/icon_register.png create mode 100644 app/src/main/res/drawable/icon_safety.png create mode 100644 app/src/main/res/drawable/instruct_icon.png create mode 100644 app/src/main/res/drawable/power.png create mode 100644 app/src/main/res/drawable/power2.png create mode 100644 app/src/main/res/drawable/power3.png create mode 100644 app/src/main/res/drawable/power4.png create mode 100644 app/src/main/res/drawable/power5.png create mode 100644 app/src/main/res/drawable/side_nav_bar.xml create mode 100644 app/src/main/res/layout/activity_main.xml create mode 100644 app/src/main/res/layout/activity_maps.xml create mode 100644 app/src/main/res/layout/activity_my.xml create mode 100644 app/src/main/res/layout/activity_safety.xml create mode 100644 app/src/main/res/layout/app_bar_main.xml create mode 100644 app/src/main/res/layout/contacts_register.xml create mode 100644 app/src/main/res/layout/content_main.xml create mode 100644 app/src/main/res/layout/display.xml create mode 100644 app/src/main/res/layout/item_main.xml create mode 100644 app/src/main/res/layout/main_fragment.xml create mode 100644 app/src/main/res/layout/nav_header_main.xml create mode 100644 app/src/main/res/layout/popup_layout.xml create mode 100644 app/src/main/res/layout/selfregister.xml create mode 100644 app/src/main/res/menu/activity_main_drawer.xml create mode 100644 app/src/main/res/menu/main.xml create mode 100644 app/src/main/res/menu/newbutton.xml create mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 app/src/main/res/mipmap-mdpi/firstaid_icon.png create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 app/src/main/res/mipmap-mdpi/selfdefence_icon.png create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 app/src/main/res/values-v21/styles.xml create mode 100644 app/src/main/res/values/colors.xml create mode 100644 app/src/main/res/values/dimens.xml create mode 100644 app/src/main/res/values/drawables.xml create mode 100644 app/src/main/res/values/strings.xml create mode 100644 app/src/main/res/values/styles.xml create mode 100644 app/src/release/res/values/google_maps_api.xml create mode 100644 app/src/test/java/com/womensafety/shajt3ch/ExampleUnitTest.java create mode 100644 build.gradle create mode 100644 gradle.properties create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100644 gradlew create mode 100644 gradlew.bat create mode 100644 settings.gradle create mode 100644 speech/build.gradle create mode 100644 speech/build/generated/source/buildConfig/debug/net/gotev/speech/BuildConfig.java create mode 100644 speech/build/generated/source/r/debug/net/gotev/speech/R.java create mode 100644 speech/build/intermediates/attr/R.txt create mode 100644 speech/build/intermediates/classes/debug/com/sac/speech/DefaultLoggerDelegate.class create mode 100644 speech/build/intermediates/classes/debug/com/sac/speech/DelayedOperation$1$1.class create mode 100644 speech/build/intermediates/classes/debug/com/sac/speech/DelayedOperation$1.class create mode 100644 speech/build/intermediates/classes/debug/com/sac/speech/DelayedOperation$Operation.class create mode 100644 speech/build/intermediates/classes/debug/com/sac/speech/DelayedOperation.class create mode 100644 speech/build/intermediates/classes/debug/com/sac/speech/GoogleVoiceTypingDisabledException.class create mode 100644 speech/build/intermediates/classes/debug/com/sac/speech/Logger$1.class create mode 100644 speech/build/intermediates/classes/debug/com/sac/speech/Logger$LogLevel.class create mode 100644 speech/build/intermediates/classes/debug/com/sac/speech/Logger$LoggerDelegate.class create mode 100644 speech/build/intermediates/classes/debug/com/sac/speech/Logger$SingletonHolder.class create mode 100644 speech/build/intermediates/classes/debug/com/sac/speech/Logger.class create mode 100644 speech/build/intermediates/classes/debug/com/sac/speech/Speech$1.class create mode 100644 speech/build/intermediates/classes/debug/com/sac/speech/Speech$2$1.class create mode 100644 speech/build/intermediates/classes/debug/com/sac/speech/Speech$2.class create mode 100644 speech/build/intermediates/classes/debug/com/sac/speech/Speech$stopDueToDelay.class create mode 100644 speech/build/intermediates/classes/debug/com/sac/speech/Speech.class create mode 100644 speech/build/intermediates/classes/debug/com/sac/speech/SpeechDelegate.class create mode 100644 speech/build/intermediates/classes/debug/com/sac/speech/SpeechRecognitionException.class create mode 100644 speech/build/intermediates/classes/debug/com/sac/speech/SpeechRecognitionNotAvailable.class create mode 100644 speech/build/intermediates/classes/debug/com/sac/speech/SpeechUtil.class create mode 100644 speech/build/intermediates/classes/debug/com/sac/speech/TextToSpeechCallback.class create mode 100644 speech/build/intermediates/classes/debug/com/sac/speech/TtsProgressListener$1.class create mode 100644 speech/build/intermediates/classes/debug/com/sac/speech/TtsProgressListener$2.class create mode 100644 speech/build/intermediates/classes/debug/com/sac/speech/TtsProgressListener$3.class create mode 100644 speech/build/intermediates/classes/debug/com/sac/speech/TtsProgressListener.class create mode 100644 speech/build/intermediates/classes/debug/com/sac/speech/ui/SpeechBar.class create mode 100644 speech/build/intermediates/classes/debug/com/sac/speech/ui/SpeechProgressView$1.class create mode 100644 speech/build/intermediates/classes/debug/com/sac/speech/ui/SpeechProgressView.class create mode 100644 speech/build/intermediates/classes/debug/com/sac/speech/ui/animators/BarParamsAnimator.class create mode 100644 speech/build/intermediates/classes/debug/com/sac/speech/ui/animators/BarRmsAnimator.class create mode 100644 speech/build/intermediates/classes/debug/com/sac/speech/ui/animators/IdleAnimator.class create mode 100644 speech/build/intermediates/classes/debug/com/sac/speech/ui/animators/RmsAnimator.class create mode 100644 speech/build/intermediates/classes/debug/com/sac/speech/ui/animators/RotatingAnimator.class create mode 100644 speech/build/intermediates/classes/debug/com/sac/speech/ui/animators/TransformAnimator$OnInterpolationFinishedListener.class create mode 100644 speech/build/intermediates/classes/debug/com/sac/speech/ui/animators/TransformAnimator.class create mode 100644 speech/build/intermediates/classes/debug/net/gotev/speech/BuildConfig.class create mode 100644 speech/build/intermediates/classes/debug/net/gotev/speech/R.class create mode 100644 speech/build/intermediates/incremental/compileDebugAidl/dependency.store create mode 100644 speech/build/intermediates/incremental/debug-mergeJniLibs/merge-state create mode 100644 speech/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml create mode 100644 speech/build/intermediates/incremental/mergeDebugShaders/merger.xml create mode 100644 speech/build/intermediates/incremental/packageDebugAssets/merger.xml create mode 100644 speech/build/intermediates/incremental/packageDebugResources/compile-file-map.properties create mode 100644 speech/build/intermediates/incremental/packageDebugResources/merger.xml create mode 100644 speech/build/intermediates/intermediate-jars/debug/classes.jar create mode 100644 speech/build/intermediates/intermediate-jars/debug/res.jar create mode 100644 speech/build/intermediates/javaPrecompile/debug/annotationProcessors.json create mode 100644 speech/build/intermediates/manifests/aapt/debug/AndroidManifest.xml create mode 100644 speech/build/intermediates/manifests/aapt/debug/output.json create mode 100644 speech/build/intermediates/manifests/full/debug/AndroidManifest.xml create mode 100644 speech/build/intermediates/manifests/full/debug/output.json create mode 100644 speech/build/intermediates/res/symbol-table-with-package/debug/package-aware-r.txt create mode 100644 speech/build/intermediates/symbols/debug/R.txt create mode 100644 speech/build/intermediates/transforms/mergeJniLibs/debug/__content__.json create mode 100644 speech/build/outputs/logs/manifest-merger-debug-report.txt create mode 100644 speech/gradle/wrapper/gradle-wrapper.jar create mode 100644 speech/gradle/wrapper/gradle-wrapper.properties create mode 100644 speech/gradlew create mode 100644 speech/gradlew.bat create mode 100644 speech/proguard-rules.pro create mode 100644 speech/src/androidTest/java/com/sac/speech/ApplicationTest.java create mode 100644 speech/src/main/AndroidManifest.xml create mode 100644 speech/src/main/java/com/sac/speech/DefaultLoggerDelegate.java create mode 100644 speech/src/main/java/com/sac/speech/DelayedOperation.java create mode 100644 speech/src/main/java/com/sac/speech/GoogleVoiceTypingDisabledException.java create mode 100644 speech/src/main/java/com/sac/speech/Logger.java create mode 100644 speech/src/main/java/com/sac/speech/Speech.java create mode 100644 speech/src/main/java/com/sac/speech/SpeechDelegate.java create mode 100644 speech/src/main/java/com/sac/speech/SpeechRecognitionException.java create mode 100644 speech/src/main/java/com/sac/speech/SpeechRecognitionNotAvailable.java create mode 100644 speech/src/main/java/com/sac/speech/SpeechUtil.java create mode 100644 speech/src/main/java/com/sac/speech/TextToSpeechCallback.java create mode 100644 speech/src/main/java/com/sac/speech/TtsProgressListener.java create mode 100644 speech/src/main/java/com/sac/speech/ui/SpeechBar.java create mode 100644 speech/src/main/java/com/sac/speech/ui/SpeechProgressView.java create mode 100644 speech/src/main/java/com/sac/speech/ui/animators/BarParamsAnimator.java create mode 100644 speech/src/main/java/com/sac/speech/ui/animators/BarRmsAnimator.java create mode 100644 speech/src/main/java/com/sac/speech/ui/animators/IdleAnimator.java create mode 100644 speech/src/main/java/com/sac/speech/ui/animators/RmsAnimator.java create mode 100644 speech/src/main/java/com/sac/speech/ui/animators/RotatingAnimator.java create mode 100644 speech/src/main/java/com/sac/speech/ui/animators/TransformAnimator.java create mode 100644 speech/src/test/java/com/sac/speech/ExampleUnitTest.java diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..39fb081 --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +*.iml +.gradle +/local.properties +/.idea/workspace.xml +/.idea/libraries +.DS_Store +/build +/captures +.externalNativeBuild diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser new file mode 100644 index 0000000000000000000000000000000000000000..704a5ef743d451b425d713f70bacb2cf2e054e65 GIT binary patch literal 585 zcmZ4UmVvdnh`~NNKUXg?FQq6yGexf?KR>5fFEb@IQ7^qHF(oHeub?PDD>b=9F91S2 zm1gFoxMk*~I%lLNXBU^|7Q2L-Ts|(GuF1r}l-a(W(##Th_( zR`y#54~r#SWM*J;W8likPfT%3OfJbU@?_vF$tX%K&dAS6sVJ~_U;qK0at2z_zyOYkOxc*3?Qo+1f&n~m^c1DF{$uX>HF`Z9$`Qy z7N?e!Wagz8!!#B$)G@Gu)V`kCUpS%NJ>FzDkGwnE^dBV*JSaB66;9waHD5K`X!Xjo zMenkzUgrRvlarsEm;(yhg4Cjt%+%sixZ=t=XRD|GIj`eAMa1{0uhgp&2I1m@)YRk* zROiFh8{ZPLe( + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml new file mode 100644 index 0000000..2c7f2f9 --- /dev/null +++ b/.idea/gradle.xml @@ -0,0 +1,19 @@ + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..c0f68ed --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..dc52ff4 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml new file mode 100644 index 0000000..7f68460 --- /dev/null +++ b/.idea/runConfigurations.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/app/.gitignore b/app/.gitignore new file mode 100644 index 0000000..796b96d --- /dev/null +++ b/app/.gitignore @@ -0,0 +1 @@ +/build diff --git a/app/build.gradle b/app/build.gradle new file mode 100644 index 0000000..2f57171 --- /dev/null +++ b/app/build.gradle @@ -0,0 +1,48 @@ +apply plugin: 'com.android.application' + +android { + compileSdkVersion 26 + defaultConfig { + applicationId "com.womensafety.shajt3ch" + minSdkVersion 16 + targetSdkVersion 26 + versionCode 1 + versionName "1.0" + testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" + } + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } +} + +dependencies { + implementation fileTree(include: ['*.jar'], dir: 'libs') + //noinspection GradleCompatible + implementation 'com.android.support:appcompat-v7:26.1.0' + implementation 'com.codemybrainsout.rating:ratingdialog:1.0.8' + implementation 'com.android.support:design:26.1.0' + implementation 'com.google.android.gms:play-services-location:11.8.0' + implementation 'com.android.support.constraint:constraint-layout:1.0.2' + implementation 'com.google.android.gms:play-services-maps:11.8.0' + implementation 'cn.hugeterry.coordinatortablayout:coordinatortablayout:1.2.2' + implementation 'com.android.support:cardview-v7:26.1.0' + implementation fileTree(include: ['*.jar'], dir: 'libs') + implementation 'com.tbruyelle.rxpermissions:rxpermissions:0.7.0@aar' + implementation 'io.reactivex:rxandroid:1.2.1' + implementation 'com.afollestad.material-dialogs:core:0.9.4.2' + implementation project(':speech') + implementation 'io.reactivex:rxjava:1.1.6' + testImplementation 'junit:junit:4.12' + /* testImplementation 'junit:junit:4.12' + androidTestImplementation 'com.android.support.test:runner:1.0.1' + androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1' + */ +} + diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro new file mode 100644 index 0000000..f1b4245 --- /dev/null +++ b/app/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile diff --git a/app/src/androidTest/java/com/womensafety/shajt3ch/ExampleInstrumentedTest.java b/app/src/androidTest/java/com/womensafety/shajt3ch/ExampleInstrumentedTest.java new file mode 100644 index 0000000..94d6402 --- /dev/null +++ b/app/src/androidTest/java/com/womensafety/shajt3ch/ExampleInstrumentedTest.java @@ -0,0 +1,26 @@ +package com.womensafety.shajt3ch; + +import android.content.Context; +import android.support.test.InstrumentationRegistry; +import android.support.test.runner.AndroidJUnit4; + +import org.junit.Test; +import org.junit.runner.RunWith; + +import static org.junit.Assert.*; + +/** + * Instrumented test, which will execute on an Android device. + * + * @see Testing documentation + */ +@RunWith(AndroidJUnit4.class) +public class ExampleInstrumentedTest { + @Test + public void useAppContext() throws Exception { + // Context of the app under test. + Context appContext = InstrumentationRegistry.getTargetContext(); + + assertEquals("com.apkglobal.suraksha", appContext.getPackageName()); + } +} diff --git a/app/src/debug/res/values/google_maps_api.xml b/app/src/debug/res/values/google_maps_api.xml new file mode 100644 index 0000000..6ff3c6d --- /dev/null +++ b/app/src/debug/res/values/google_maps_api.xml @@ -0,0 +1,24 @@ + + + AIzaSyDxRfxqFdgUlccCFu65mDq2C9Ao33G9q4A + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..9fea3e3 --- /dev/null +++ b/app/src/main/AndroidManifest.xml @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/ic_launcher-web.png b/app/src/main/ic_launcher-web.png new file mode 100644 index 0000000000000000000000000000000000000000..bf1cde6d1c478d6223b9966ff2d42b8f55a1e312 GIT binary patch literal 96830 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 RNeCeAx|*(P(G|-l{{x25a$W!c literal 0 HcmV?d00001 diff --git a/app/src/main/java/com/womensafety/shajt3ch/AccelerometerListener.java b/app/src/main/java/com/womensafety/shajt3ch/AccelerometerListener.java new file mode 100644 index 0000000..87ca3e9 --- /dev/null +++ b/app/src/main/java/com/womensafety/shajt3ch/AccelerometerListener.java @@ -0,0 +1,11 @@ +package com.womensafety.shajt3ch; + + + +interface AccelerometerListener { + + public void onAccelerationChanged(float x, float y, float z); + + public void onShake(float force); + +} diff --git a/app/src/main/java/com/womensafety/shajt3ch/AccelerometerManager.java b/app/src/main/java/com/womensafety/shajt3ch/AccelerometerManager.java new file mode 100644 index 0000000..d317d6d --- /dev/null +++ b/app/src/main/java/com/womensafety/shajt3ch/AccelerometerManager.java @@ -0,0 +1,229 @@ +package com.womensafety.shajt3ch; + +import android.content.Context; +import android.hardware.Sensor; +import android.hardware.SensorEvent; +import android.hardware.SensorEventListener; +import android.hardware.SensorManager; +import android.widget.Toast; + +import java.util.List; + + + +class AccelerometerManager{ + + private static Context aContext=null; + + + /** Accuracy configuration */ + private static float threshold = 15.0f; + private static int interval = 200; + + private static Sensor sensor; + private static SensorManager sensorManager; + // you could use an OrientationListener array instead + // if you plans to use more than one listener + private static AccelerometerListener listener; + + /** indicates whether or not Accelerometer Sensor is supported */ + private static Boolean supported; + /** indicates whether or not Accelerometer Sensor is running */ + private static boolean running = false; + + /** + * Returns true if the manager is listening to orientation changes + */ + public static boolean isListening() { + return running; + } + + /** + * Unregisters listeners + */ + public static void stopListening() { + running = false; + try { + if (sensorManager != null && sensorEventListener != null) { + sensorManager.unregisterListener(sensorEventListener); + } + } catch (Exception e) {} + } + + /** + * Returns true if at least one Accelerometer sensor is available + * @param context + */ + public static boolean isSupported(Context context) { + aContext = context; + if (supported == null) { + if (aContext != null) { + + + sensorManager = (SensorManager) aContext. + getSystemService(Context.SENSOR_SERVICE); + + // Get all sensors in device + List sensors = sensorManager.getSensorList( + Sensor.TYPE_ACCELEROMETER); + + supported = new Boolean(sensors.size() > 0); + + + + } else { + supported = Boolean.FALSE; + } + } + return supported; + } + + /** + * Configure the listener for shaking + * @param threshold + * minimum acceleration variation for considering shaking + * @param interval + * minimum interval between to shake events + */ + public static void configure(int threshold, int interval) { + AccelerometerManager.threshold = threshold; + AccelerometerManager.interval = interval; + } + + /** + * Registers a listener and start listening + * @param accelerometerListener + * callback for accelerometer events + */ + public static void startListening( AccelerometerListener accelerometerListener ) + { + + sensorManager = (SensorManager) aContext. + getSystemService(Context.SENSOR_SERVICE); + + // Take all sensors in device + List sensors = sensorManager.getSensorList( + Sensor.TYPE_ACCELEROMETER); + + if (sensors.size() > 0) { + + sensor = sensors.get(0); + + // Register Accelerometer Listener + running = sensorManager.registerListener( + sensorEventListener, sensor, + SensorManager.SENSOR_DELAY_GAME); + + listener = accelerometerListener; + } + + + } + + /** + * Configures threshold and interval + * And registers a listener and start listening + * @param accelerometerListener + * callback for accelerometer events + * @param threshold + * minimum acceleration variation for considering shaking + * @param interval + * minimum interval between to shake events + */ + public static void startListening( + AccelerometerListener accelerometerListener, + int threshold, int interval) { + configure(threshold, interval); + startListening(accelerometerListener); + } + + /** + * The listener that listen to events from the accelerometer listener + */ + private static SensorEventListener sensorEventListener = + new SensorEventListener() { + + private long now = 0; + private long timeDiff = 0; + private long lastUpdate = 0; + private long lastShake = 0; + + private float x = 0; + private float y = 0; + private float z = 0; + private float lastX = 0; + private float lastY = 0; + private float lastZ = 0; + private float force = 0; + + + + + public void onAccuracyChanged(Sensor sensor, int accuracy) {} + + public void onSensorChanged(SensorEvent event) { + // use the event timestamp as reference + // so the manager precision won't depends + // on the AccelerometerListener implementation + // processing time + now = event.timestamp; + + x = event.values[0]; + y = event.values[1]; + z = event.values[2]; + + // if not interesting in shake events + // just remove the whole if then else block + if (lastUpdate == 0) { + lastUpdate = now; + lastShake = now; + lastX = x; + lastY = y; + lastZ = z; + Toast.makeText(aContext,"No Motion detected", + Toast.LENGTH_SHORT).show(); + + } else { + timeDiff = now - lastUpdate; + + if (timeDiff > 0) { + + /*force = Math.abs(x + y + z - lastX - lastY - lastZ) + / timeDiff;*/ + force = Math.abs(x + y + z - lastX - lastY - lastZ); + + if (Float.compare(force, threshold) >0 ) { + //Toast.makeText(Accelerometer.getContext(), + //(now-lastShake)+" >= "+interval, 1000).show(); + + if (now - lastShake >= interval) { + + // trigger shake event + listener.onShake(force); + } + else + { + Toast.makeText(aContext,"No Motion detected", + Toast.LENGTH_SHORT).show(); + + } + lastShake = now; + } + lastX = x; + lastY = y; + lastZ = z; + lastUpdate = now; + } + else + { + Toast.makeText(aContext,"No Motion detected", Toast.LENGTH_SHORT).show(); + + } + } + // trigger change event + listener.onAccelerationChanged(x, y, z); + } + + }; + +} diff --git a/app/src/main/java/com/womensafety/shajt3ch/BackgrndServices.java b/app/src/main/java/com/womensafety/shajt3ch/BackgrndServices.java new file mode 100644 index 0000000..c832efd --- /dev/null +++ b/app/src/main/java/com/womensafety/shajt3ch/BackgrndServices.java @@ -0,0 +1,192 @@ +package com.womensafety.shajt3ch; + +import android.app.Service; +import android.content.Context; +import android.content.Intent; +import android.database.Cursor; +import android.database.sqlite.SQLiteDatabase; +import android.os.Bundle; +import android.os.Handler; +import android.os.HandlerThread; +import android.os.IBinder; +import android.os.Looper; +import android.os.Message; +import android.support.annotation.Nullable; +import android.telephony.SmsManager; +import android.util.Log; +import android.widget.Toast; + + + +public class BackgrndServices extends Service implements AccelerometerListener { + String str_address; + + + private Looper mServiceLooper; + private ServiceHandler mServiceHandler; + // Handler that receives messages from the thread. + private final class ServiceHandler extends Handler { + + public ServiceHandler(Looper looper) { + + super(looper); + } + @Override + public void handleMessage(Message msg) { + + // REPLACE THIS CODE WITH YOUR APP CODE + // Wait before Toasting Service Message + // to give the Service Started message time to display. + + // Toast Service Message. + /* Context context = getApplicationContext(); + CharSequence text = "Service Message"; + int duration = Toast.LENGTH_LONG; + Toast toast = Toast.makeText(context, text, duration); + toast.show(); + */ + + // Service can stop itself using the stopSelf() method. + // Not using in this app. Example statement shown below. + //stopSelf(msg.arg1); + } + } + + + @Override + public void onCreate() { + super.onCreate(); + + + if (AccelerometerManager.isSupported(this)) { + + AccelerometerManager.startListening(this); + } + HandlerThread thread = new HandlerThread("ServiceStartArguments",android.os.Process.THREAD_PRIORITY_BACKGROUND); + thread.start(); + + mServiceLooper = thread.getLooper(); + + mServiceHandler = new ServiceHandler(mServiceLooper); + } + @Override + public int onStartCommand(Intent intent, int flags, int startId) { + + // Get message from message pool using handler. + Message msg = mServiceHandler.obtainMessage(); + + // Set start ID (unique to the specific start) in message. + msg.arg1 = startId; + + // Send message to start job. + mServiceHandler.sendMessage(msg); + + // Toast Service Started message. + // Context context = getApplicationContext(); + + + + + /* CharSequence text = "Service Started"; + int duration = Toast.LENGTH_SHORT; + Toast toast = Toast.makeText(context, text, duration); + toast.show(); + */ + + // Start a sticky. + return START_STICKY; + } + public class GeocoderHandler extends Handler { + @Override + public void handleMessage(Message message) { + + Toast.makeText(getApplicationContext(), "geocoderhandler started", Toast.LENGTH_SHORT).show(); + + + switch (message.what) { + case 1: + Bundle bundle = message.getData(); + str_address = bundle.getString("address"); + // TelephonyManager tmgr=(TelephonyManager)BgService.this.getSystemService(Context.TELEPHONY_SERVICE); + // String ph_number=tmgr.getLine1Number(); + SQLiteDatabase db; + db=openOrCreateDatabase("NumDB", Context.MODE_PRIVATE, null); + Cursor c=db.rawQuery("SELECT * FROM details", null); + Cursor c1=db.rawQuery("SELECT * FROM SOURCE", null); + + String source_ph_number=c1.getString(0); + while(c.moveToNext()) + { + String target_ph_number=c.getString(1); + SmsManager smsManager=SmsManager.getDefault(); + smsManager.sendTextMessage(target_ph_number, source_ph_number, "Please help me. I need help immediately. This is where i am now:"+str_address, null, null); + + Toast.makeText(getApplicationContext(), "Source:"+source_ph_number+"Target:"+target_ph_number, Toast.LENGTH_SHORT).show(); + + } + db.close(); + + break; + default: + str_address = null; + } + Toast.makeText(getApplicationContext(), str_address, Toast.LENGTH_SHORT).show(); + + } + } + + @Nullable + @Override + public IBinder onBind(Intent intent) { + return null; + } + + @Override + public void onAccelerationChanged(float x, float y, float z) { + + } + + @Override + public void onShake(float force) { + GPSTracker gps; + gps = new GPSTracker(BackgrndServices.this); + if(gps.canGetLocation()){ + + double latitude = gps.getLatitude(); + double longitude = gps.getLongitude(); + + RGeocoder RGeocoder = new RGeocoder(); + RGeocoder.getAddressFromLocation(latitude, longitude,getApplicationContext(), new GeocoderHandler()); + Toast.makeText(getApplicationContext(), "onShake", Toast.LENGTH_SHORT).show(); + + } + else{ + gps.showSettingsAlert(); + } + } + + + // onDestroy method. Display toast that service has stopped. + @Override + public void onDestroy() { + super.onDestroy(); + + // Toast Service Stopped. + Context context = getApplicationContext(); + + Log.i("Sensor", "Service distroy"); + + if (AccelerometerManager.isListening()) { + + AccelerometerManager.stopListening(); + + } + + CharSequence text = "App Service Stopped"; + int duration = Toast.LENGTH_SHORT; + Toast toast = Toast.makeText(context, text, duration); + toast.show(); + + + } +} diff --git a/app/src/main/java/com/womensafety/shajt3ch/Constants.java b/app/src/main/java/com/womensafety/shajt3ch/Constants.java new file mode 100644 index 0000000..09d6032 --- /dev/null +++ b/app/src/main/java/com/womensafety/shajt3ch/Constants.java @@ -0,0 +1,35 @@ +package com.womensafety.shajt3ch; + +import android.content.ComponentName; +import android.content.Intent; +import android.net.Uri; + +public class Constants { + + public static final Intent[] AUTO_START_INTENTS = { + new Intent().setComponent(new ComponentName("com.samsung.android.lool", + "com.samsung.android.sm.ui.battery.BatteryActivity")), + new Intent("miui.intent.action.OP_AUTO_START").addCategory(Intent.CATEGORY_DEFAULT), + new Intent().setComponent(new ComponentName("com.miui.securitycenter", + "com.miui.permcenter.autostart.AutoStartManagementActivity")), new Intent().setComponent( + new ComponentName("com.letv.android.letvsafe", + "com.letv.android.letvsafe.AutobootManageActivity")), new Intent().setComponent( + new ComponentName("com.huawei.systemmanager", + "com.huawei.systemmanager.optimize.process.ProtectActivity")), new Intent().setComponent( + new ComponentName("com.coloros.safecenter", + "com.coloros.safecenter.permission.startup.StartupAppListActivity")), + new Intent().setComponent(new ComponentName("com.coloros.safecenter", + "com.coloros.safecenter.startupapp.StartupAppListActivity")), new Intent().setComponent( + new ComponentName("com.oppo.safe", "com.oppo.safe.permission.startup.StartupAppListActivity")), + new Intent().setComponent(new ComponentName("com.iqoo.secure", + "com.iqoo.secure.ui.phoneoptimize.AddWhiteListActivity")), new Intent().setComponent( + new ComponentName("com.iqoo.secure", "com.iqoo.secure.ui.phoneoptimize.BgStartUpManager")), + new Intent().setComponent(new ComponentName("com.vivo.permissionmanager", + "com.vivo.permissionmanager.activity.BgStartUpManagerActivity")), new Intent().setComponent( + new ComponentName("com.asus.mobilemanager", + "com.asus.mobilemanager.entry.FunctionActivity")).setData( + Uri.parse("mobilemanager://function/entry/AutoStart")) + }; + + +} diff --git a/app/src/main/java/com/womensafety/shajt3ch/DataHolder.java b/app/src/main/java/com/womensafety/shajt3ch/DataHolder.java new file mode 100644 index 0000000..1d304c0 --- /dev/null +++ b/app/src/main/java/com/womensafety/shajt3ch/DataHolder.java @@ -0,0 +1,77 @@ +package com.womensafety.shajt3ch; + +import android.os.Bundle; +import android.support.v4.app.Fragment; +import android.support.v7.widget.LinearLayoutManager; +import android.support.v7.widget.RecyclerView; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import java.util.ArrayList; + + + +public class DataHolder extends Fragment { + private RecyclerView mRecyclerView; + + private ArrayList mDatas; + private static final String ARG_TITLE = "title"; + private String mTitle; + /* Configure configure=new Configure();*/ + private final String[] First_Aid={"choking", "bleeding heavily" ,"burns" ,"a broken bone" ,"heart attack" ,"stroke" ,"seizures (epilepsy)" + ,"diabetic emergency" ,"asthma attack"}; + private final String[] Self_Defence={"1","2","3"}; + + public static DataHolder getInstance(String title) { + DataHolder fra = new DataHolder(); + Bundle bundle = new Bundle(); + bundle.putString(ARG_TITLE, title); + fra.setArguments(bundle); + return fra; + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + Bundle bundle = getArguments(); + mTitle = bundle.getString(ARG_TITLE); + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + View v = inflater.inflate(R.layout.main_fragment, container, false); + + initData(); + mRecyclerView = (RecyclerView) v.findViewById(R.id.recyclerview); + mRecyclerView.setLayoutManager(new LinearLayoutManager(mRecyclerView.getContext())); + mRecyclerView.setAdapter(new RecyclerAdapter(mRecyclerView.getContext(), mDatas)); + + return v; + } + + /* private void initData() { + mDatas = new ArrayList<>(); + for (int i = 'A'; i < 'z'; i++) { + mDatas.add(mTitle + (char) i); + } + }*/ + private void initData() { + mDatas = new ArrayList<>(); + if (mTitle.equals("First_Aid")) { + for (int i = 0; i < First_Aid.length; i++) { + + mDatas.add(new Model(First_Aid[i])); + } + } + + else if (mTitle.equals("Self_defence")) { + for (int i = 0; i < Self_Defence.length; i++) { + + mDatas.add(new Model(Self_Defence[i])); + } + } + + } +} + diff --git a/app/src/main/java/com/womensafety/shajt3ch/DataParser.java b/app/src/main/java/com/womensafety/shajt3ch/DataParser.java new file mode 100644 index 0000000..2c4ff7a --- /dev/null +++ b/app/src/main/java/com/womensafety/shajt3ch/DataParser.java @@ -0,0 +1,82 @@ +package com.womensafety.shajt3ch; + +import android.util.Log; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + + +public class DataParser { + public List> parse(String jsonData) { + JSONArray jsonArray = null; + JSONObject jsonObject; + + try { + Log.d("Places", "parse"); + jsonObject = new JSONObject((String) jsonData); + jsonArray = jsonObject.getJSONArray("results"); + } catch (JSONException e) { + Log.d("Places", "parse error"); + e.printStackTrace(); + } + return getPlaces(jsonArray); + } + + private List> getPlaces(JSONArray jsonArray) { + int placesCount = jsonArray.length(); + List> placesList = new ArrayList<>(); + HashMap placeMap = null; + Log.d("Places", "getPlaces"); + + for (int i = 0; i < placesCount; i++) { + try { + placeMap = getPlace((JSONObject) jsonArray.get(i)); + placesList.add(placeMap); + Log.d("Places", "Adding places"); + + } catch (JSONException e) { + Log.d("Places", "Error in Adding places"); + e.printStackTrace(); + } + } + return placesList; + } + + private HashMap getPlace(JSONObject googlePlaceJson) { + HashMap googlePlaceMap = new HashMap(); + String placeName = "-NA-"; + String vicinity = "-NA-"; + String latitude = ""; + String longitude = ""; + String reference = ""; + + Log.d("getPlace", "Entered"); + + try { + if (!googlePlaceJson.isNull("name")) { + placeName = googlePlaceJson.getString("name"); + } + if (!googlePlaceJson.isNull("vicinity")) { + vicinity = googlePlaceJson.getString("vicinity"); + } + latitude = googlePlaceJson.getJSONObject("geometry").getJSONObject("location").getString("lat"); + longitude = googlePlaceJson.getJSONObject("geometry").getJSONObject("location").getString("lng"); + reference = googlePlaceJson.getString("reference"); + googlePlaceMap.put("place_name", placeName); + googlePlaceMap.put("vicinity", vicinity); + googlePlaceMap.put("lat", latitude); + googlePlaceMap.put("lng", longitude); + googlePlaceMap.put("reference", reference); + Log.d("getPlace", "Putting Places"); + } catch (JSONException e) { + Log.d("getPlace", "Error"); + e.printStackTrace(); + } + return googlePlaceMap; + } +} \ No newline at end of file diff --git a/app/src/main/java/com/womensafety/shajt3ch/Display.java b/app/src/main/java/com/womensafety/shajt3ch/Display.java new file mode 100644 index 0000000..cd03048 --- /dev/null +++ b/app/src/main/java/com/womensafety/shajt3ch/Display.java @@ -0,0 +1,68 @@ +package com.womensafety.shajt3ch; + +import android.app.AlertDialog; +import android.support.v4.app.Fragment; +import android.content.Context; +import android.database.Cursor; +import android.database.sqlite.SQLiteDatabase; +import android.os.Bundle; +import android.support.annotation.Nullable; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + + + +public class Display extends Fragment { + Cursor c; + + @Override + public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + //returning our layout file + //change R.layout.yourlayoutfilename for each of your fragments + /*return inflater.inflate(R.layout.display, container, false);*/ + View view = inflater.inflate(R.layout.display, container, false); + + SQLiteDatabase db; + db = getActivity().openOrCreateDatabase("NumberDB",Context.MODE_PRIVATE, null); + + c = db.rawQuery("SELECT * FROM details", null); + if (c.getCount() == 0) { + showMessage("Error", "No records found."); + return inflater.inflate(R.layout.display, container, false); + } + StringBuffer buffer = new StringBuffer(); + while (c.moveToNext()) { + buffer.append("Name: " + c.getString(0) + "\n"); + buffer.append("Number: " + c.getString(1) + "\n"); + } + showMessage("Details", buffer.toString()); + /*Intent i_startservice=new Intent(Display.this,BgService.class); + startService(i_startservice); +*/ return view; + + } + + + + public void showMessage(String title,String message) + { + AlertDialog.Builder builder=new AlertDialog.Builder(getActivity()); + builder.setCancelable(true); + builder.setTitle(title); + builder.setMessage(message); + builder.show(); + } + + + + + /*public void back(View v) { + Intent i_back=new Intent(Display.this,MainActivity.class); + startActivity(i_back); + + } +*/ + + +} diff --git a/app/src/main/java/com/womensafety/shajt3ch/DownloadUrl.java b/app/src/main/java/com/womensafety/shajt3ch/DownloadUrl.java new file mode 100644 index 0000000..0287b6b --- /dev/null +++ b/app/src/main/java/com/womensafety/shajt3ch/DownloadUrl.java @@ -0,0 +1,53 @@ +package com.womensafety.shajt3ch; + +import android.util.Log; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.net.HttpURLConnection; +import java.net.URL; + + + +public class DownloadUrl { + + public String readUrl(String strUrl) throws IOException { + String data = ""; + InputStream iStream = null; + HttpURLConnection urlConnection = null; + try { + URL url = new URL(strUrl); + + // Creating an http connection to communicate with url + urlConnection = (HttpURLConnection) url.openConnection(); + + // Connecting to url + urlConnection.connect(); + + // Reading data from url + iStream = urlConnection.getInputStream(); + + BufferedReader br = new BufferedReader(new InputStreamReader(iStream)); + + StringBuffer sb = new StringBuffer(); + + String line = ""; + while ((line = br.readLine()) != null) { + sb.append(line); + } + + data = sb.toString(); + Log.d("downloadUrl", data.toString()); + br.close(); + + } catch (Exception e) { + Log.d("Exception", e.toString()); + } finally { + iStream.close(); + urlConnection.disconnect(); + } + return data; + } +} \ No newline at end of file diff --git a/app/src/main/java/com/womensafety/shajt3ch/GPSTracker.java b/app/src/main/java/com/womensafety/shajt3ch/GPSTracker.java new file mode 100644 index 0000000..0a7cbb9 --- /dev/null +++ b/app/src/main/java/com/womensafety/shajt3ch/GPSTracker.java @@ -0,0 +1,206 @@ +package com.womensafety.shajt3ch; + +import android.annotation.SuppressLint; +import android.app.AlertDialog; +import android.app.Service; +import android.content.Context; +import android.content.DialogInterface; +import android.content.Intent; +import android.location.Location; +import android.location.LocationListener; +import android.location.LocationManager; +import android.os.Bundle; +import android.os.IBinder; +import android.provider.Settings; +import android.util.Log; + + + +public class GPSTracker extends Service implements LocationListener { + + private final Context mContext; + + // flag for GPS status + boolean isGPSEnabled = false; + + // flag for network status + boolean isNetworkEnabled = false; + + // flag for GPS status + boolean canGetLocation = false; + + Location location; // location + double latitude; // latitude + double longitude; // longitude + + // The minimum distance to change Updates in meters + private static final long MIN_DISTANCE_CHANGE_FOR_UPDATES = 10; // 10 meters + + // The minimum time between updates in milliseconds + private static final long MIN_TIME_BW_UPDATES = 1000 * 60 * 1; // 1 minute + + // Declaring a Location Manager + protected LocationManager locationManager; + + public GPSTracker(Context context) { + this.mContext = context; + getLocation(); + } + + @SuppressLint("MissingPermission") + public Location getLocation() { + try { + locationManager = (LocationManager) mContext + .getSystemService(LOCATION_SERVICE); + + // getting GPS status + isGPSEnabled = locationManager + .isProviderEnabled(LocationManager.GPS_PROVIDER); + + // getting network status + isNetworkEnabled = locationManager + .isProviderEnabled(LocationManager.NETWORK_PROVIDER); + + if (!isGPSEnabled && !isNetworkEnabled) { + // no network provider is enabled + } else { + this.canGetLocation = true; + if (isNetworkEnabled) { + locationManager.requestLocationUpdates( + LocationManager.NETWORK_PROVIDER, + MIN_TIME_BW_UPDATES, + MIN_DISTANCE_CHANGE_FOR_UPDATES, this); + Log.d("Network", "Network"); + if (locationManager != null) { + location = locationManager + .getLastKnownLocation(LocationManager.NETWORK_PROVIDER); + if (location != null) { + latitude = location.getLatitude(); + longitude = location.getLongitude(); + } + } + } + // if GPS Enabled get lat/long using GPS Services + if (isGPSEnabled) { + if (location == null) { + locationManager.requestLocationUpdates( + LocationManager.GPS_PROVIDER, + MIN_TIME_BW_UPDATES, + MIN_DISTANCE_CHANGE_FOR_UPDATES, this); + Log.d("GPS Enabled", "GPS Enabled"); + if (locationManager != null) { + location = locationManager + .getLastKnownLocation(LocationManager.GPS_PROVIDER); + if (location != null) { + latitude = location.getLatitude(); + longitude = location.getLongitude(); + } + } + } + } + } + + } catch (Exception e) { + e.printStackTrace(); + } + + return location; + } + + /** + * Stop using GPS listener + * Calling this function will stop using GPS in your app + * */ + public void stopUsingGPS(){ + if(locationManager != null){ + locationManager.removeUpdates(GPSTracker.this); + } + } + + /** + * Function to get latitude + * */ + public double getLatitude(){ + if(location != null){ + latitude = location.getLatitude(); + } + + // return latitude + return latitude; + } + + /** + * Function to get longitude + * */ + public double getLongitude(){ + if(location != null){ + longitude = location.getLongitude(); + } + + // return longitude + return longitude; + } + + /** + * Function to check GPS/wifi enabled + * @return boolean + * */ + public boolean canGetLocation() { + return this.canGetLocation; + } + + /** + * Function to show settings alert dialog + * On pressing Settings button will lauch Settings Options + * */ + public void showSettingsAlert(){ + AlertDialog.Builder alertDialog = new AlertDialog.Builder(mContext); + + // Setting Dialog Title + alertDialog.setTitle("GPS is settings"); + + // Setting Dialog Message + alertDialog.setMessage("GPS is not enabled. Do you want to go to settings menu?"); + + // On pressing Settings button + alertDialog.setPositiveButton("Settings", new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog,int which) { + Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS); + mContext.startActivity(intent); + } + }); + + // on pressing cancel button + alertDialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + dialog.cancel(); + } + }); + + // Showing Alert Message + alertDialog.show(); + } + + @Override + public void onLocationChanged(Location location) { + } + + @Override + public void onProviderDisabled(String provider) { + } + + @Override + public void onProviderEnabled(String provider) { + } + + @Override + public void onStatusChanged(String provider, int status, Bundle extras) { + } + + @Override + public IBinder onBind(Intent arg0) { + return null; + } + +} + diff --git a/app/src/main/java/com/womensafety/shajt3ch/GetNearbyPlacesData.java b/app/src/main/java/com/womensafety/shajt3ch/GetNearbyPlacesData.java new file mode 100644 index 0000000..93c6461 --- /dev/null +++ b/app/src/main/java/com/womensafety/shajt3ch/GetNearbyPlacesData.java @@ -0,0 +1,67 @@ +package com.womensafety.shajt3ch; + +import android.os.AsyncTask; +import android.util.Log; + +import com.google.android.gms.maps.CameraUpdateFactory; +import com.google.android.gms.maps.GoogleMap; +import com.google.android.gms.maps.model.BitmapDescriptorFactory; +import com.google.android.gms.maps.model.LatLng; +import com.google.android.gms.maps.model.MarkerOptions; + +import java.util.HashMap; +import java.util.List; + + + +public class GetNearbyPlacesData extends AsyncTask { + + String googlePlacesData; + GoogleMap mMap; + String url; + + @Override + protected String doInBackground(Object... params) { + try { + Log.d("GetNearbyPlacesData", "doInBackground entered"); + mMap = (GoogleMap) params[0]; + url = (String) params[1]; + DownloadUrl downloadUrl = new DownloadUrl(); + googlePlacesData = downloadUrl.readUrl(url); + Log.d("GooglePlacesReadTask", "doInBackground Exit"); + } catch (Exception e) { + Log.d("GooglePlacesReadTask", e.toString()); + } + return googlePlacesData; + } + + @Override + protected void onPostExecute(String result) { + Log.d("GooglePlacesReadTask", "onPostExecute Entered"); + List> nearbyPlacesList = null; + DataParser dataParser = new DataParser(); + nearbyPlacesList = dataParser.parse(result); + ShowNearbyPlaces(nearbyPlacesList); + Log.d("GooglePlacesReadTask", "onPostExecute Exit"); + } + + private void ShowNearbyPlaces(List> nearbyPlacesList) { + for (int i = 0; i < nearbyPlacesList.size(); i++) { + Log.d("onPostExecute","Entered into showing locations"); + MarkerOptions markerOptions = new MarkerOptions(); + HashMap googlePlace = nearbyPlacesList.get(i); + double lat = Double.parseDouble(googlePlace.get("lat")); + double lng = Double.parseDouble(googlePlace.get("lng")); + String placeName = googlePlace.get("place_name"); + String vicinity = googlePlace.get("vicinity"); + LatLng latLng = new LatLng(lat, lng); + markerOptions.position(latLng); + markerOptions.title(placeName + " : " + vicinity); + mMap.addMarker(markerOptions); + markerOptions.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_RED)); + //move map camera + mMap.moveCamera(CameraUpdateFactory.newLatLng(latLng)); + mMap.animateCamera(CameraUpdateFactory.zoomTo(11)); + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/womensafety/shajt3ch/Holder.java b/app/src/main/java/com/womensafety/shajt3ch/Holder.java new file mode 100644 index 0000000..fceacfc --- /dev/null +++ b/app/src/main/java/com/womensafety/shajt3ch/Holder.java @@ -0,0 +1,32 @@ +package com.womensafety.shajt3ch; + +import android.content.Context; +import android.support.v7.widget.RecyclerView; +import android.view.View; +import android.widget.TextView; + + +class Holder extends RecyclerView.ViewHolder { + TextView choice; + + Context context; + + String type,demand_name; + + public Holder(final View itemView) { + super(itemView); + context=itemView.getContext(); + + + choice=(TextView) itemView.findViewById(R.id.text_of_choice); + + + + } + + public void bindData(Model skillModel) + { + choice.setText(skillModel.name_of_choice); + + } +} diff --git a/app/src/main/java/com/womensafety/shajt3ch/MainActivity.java b/app/src/main/java/com/womensafety/shajt3ch/MainActivity.java new file mode 100644 index 0000000..72ff474 --- /dev/null +++ b/app/src/main/java/com/womensafety/shajt3ch/MainActivity.java @@ -0,0 +1,357 @@ +package com.womensafety.shajt3ch; + +import android.app.ActionBar; +import android.app.ActivityManager; +import android.content.Context; +import android.content.Intent; +import android.content.SharedPreferences; +import android.content.pm.PackageManager; +import android.database.Cursor; +import android.database.sqlite.SQLiteDatabase; +import android.graphics.Color; +import android.graphics.drawable.ColorDrawable; +import android.os.Bundle; +import android.preference.PreferenceManager; +import android.support.design.widget.NavigationView; +import android.support.v4.app.Fragment; +import android.support.v4.app.FragmentTransaction; +import android.support.v4.view.GravityCompat; +import android.support.v4.view.MenuItemCompat; +import android.support.v4.widget.DrawerLayout; +import android.support.v7.app.ActionBarDrawerToggle; +import android.support.v7.app.AlertDialog; +import android.support.v7.app.AppCompatActivity; +import android.support.v7.widget.ShareActionProvider; +import android.support.v7.widget.Toolbar; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.Menu; +import android.view.MenuItem; +import android.view.View; +import android.widget.Button; +import android.widget.TextView; +import android.widget.Toast; + +import com.afollestad.materialdialogs.MaterialDialog; +import com.afollestad.materialdialogs.Theme; +import com.codemybrainsout.ratingdialog.RatingDialog; + + + +public class MainActivity extends AppCompatActivity + implements NavigationView.OnNavigationItemSelectedListener { + + public static Boolean isActive = false; + + private Button btStartService; + private TextView tvText; + + private ShareActionProvider mShareActionProvider; + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + setContentView(R.layout.activity_main); + Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); + setSupportActionBar(toolbar); + + + + btStartService = (Button) findViewById(R.id.btStartService); + tvText = (TextView) findViewById(R.id.tvText); + enableAutoStart(); + + + if (checkServiceRunning()) { + btStartService.setText(getString(R.string.stop_service)); + tvText.setVisibility(View.VISIBLE); + } + + + btStartService.setOnClickListener(v -> { + if (btStartService.getText().toString().equalsIgnoreCase(getString(R.string.start_service))) { + startService(new Intent(MainActivity.this, MyService.class)); + btStartService.setText(getString(R.string.stop_service)); + tvText.setVisibility(View.VISIBLE); + } else { + stopService(new Intent(MainActivity.this, MyService.class)); + btStartService.setText(getString(R.string.start_service)); + tvText.setVisibility(View.GONE); + } + }); + + + DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); + ActionBarDrawerToggle toggle = new ActionBarDrawerToggle( + this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close); + drawer.addDrawerListener(toggle); + toggle.syncState(); + + NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); + navigationView.setNavigationItemSelectedListener(this); + displaySelectedScreen(R.id.nav_inst); + + +/* + //wi;; delete + SQLiteDatabase db = openOrCreateDatabase("NumDB", Context.MODE_PRIVATE, null); + Cursor c = db.rawQuery("SELECT * FROM details", null); + + while (c.moveToFirst()) + { + Log.d("Number", c.getString(1)); + }*/ + + + + + + + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + switch (item.getItemId()) { + case R.id.action_power: + android.support.v7.app.ActionBar bar = getSupportActionBar(); + //item.setTitle("changed"); + + Log.d("Title:", item.getTitle().toString()); + + if (item.getTitle().toString().contains("START")) { + Log.d("Title2:", "If er vitore"); + + SQLiteDatabase db2 = this.openOrCreateDatabase("NumberDB", MODE_PRIVATE, null); + + + + Log.d("Number is:", Register.getNumber(db2)); + + bar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#78C257"))); + startService(new Intent(MainActivity.this, MyService.class)); + + item.setTitle("STOP SERVICE"); + + return true; + } + + else + { + bar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#E81123"))); + startService(new Intent(MainActivity.this, MyService.class)); + item.setTitle("START SERVICE"); + return true; + } + +/* + bar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#439EB8"))); + stopService(new Intent(MainActivity.this, MyService.class)); + return true; +*/ + default: + // If we got here, the user's action was not recognized. + // Invoke the superclass to handle it. + return super.onOptionsItemSelected(item); + + } } + + protected void onDestroy() { + super.onDestroy(); + } + + private boolean checkServiceRunning() { + ActivityManager manager = (ActivityManager) getSystemService(ACTIVITY_SERVICE); + if (manager != null) { + for (ActivityManager.RunningServiceInfo service : manager.getRunningServices( + Integer.MAX_VALUE)) { + if (getString(R.string.my_service_name).equals(service.service.getClassName())) { + return true; + } + } + } + return false; + } + + private void enableAutoStart() { + for (Intent intent : Constants.AUTO_START_INTENTS) { + if (getPackageManager().resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY) != null) { + new MaterialDialog.Builder(this).title(R.string.enable_autostart) + .content(R.string.ask_permission) + .theme(Theme.LIGHT) + .positiveText(getString(R.string.allow)) + .onPositive((dialog, which) -> { + try { + for (Intent intent1 : Constants.AUTO_START_INTENTS) + if (getPackageManager().resolveActivity(intent1, PackageManager.MATCH_DEFAULT_ONLY) + != null) { + startActivity(intent1); + break; + } + } catch (Exception e) { + e.printStackTrace(); + } + }) + .show(); + break; + } + } + } + + @Override + public void onBackPressed() { + DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); + if (drawer.isDrawerOpen(GravityCompat.START)) { + drawer.closeDrawer(GravityCompat.START); + } else { + super.onBackPressed(); + } + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + + // Inflate menu resource file. + getMenuInflater().inflate(R.menu.newbutton, menu); + + // Locate MenuItem with ShareActionProvider + // MenuItem item = menu.findItem(R.id.menu_share); + + // Fetch and store ShareActionProvider + //mShareActionProvider = (ShareActionProvider) MenuItemCompat.getActionProvider(item); + //setIntent("Testing Share Feature"); + // Return true to display menu + + return true; + } + + // Call to update the share intent + private void setIntent(String s) { + Intent intent=new Intent(Intent.ACTION_SEND); + intent.setType("text/html"); + intent.putExtra(Intent.EXTRA_TEXT,s); + mShareActionProvider.setShareIntent(intent); + + } + + + /* @Override + public boolean onCreateOptionsMenu(Menu menu) { + // Inflate the menu; this adds items to the action bar if it is present. + getMenuInflater().inflate(R.menu.main, menu); + return true; + } +*/ + /* @Override + public boolean onOptionsItemSelected(MenuItem item) { + // Handle action bar item clicks here. The action bar will + // automatically handle clicks on the Home/Up button, so long + // as you specify a parent activity in AndroidManifest.xml. + int id = item.getItemId(); + + //noinspection SimplifiableIfStatement + if (id == R.id.action_settings) { + return true; + } + + return super.onOptionsItemSelected(item); + }*/ + + @SuppressWarnings("StatementWithEmptyBody") + @Override + public boolean onNavigationItemSelected(MenuItem item) { + displaySelectedScreen(item.getItemId()); + + // Handle navigation view item clicks here. + /*int id = item.getItemId(); + if (id == R.id.nav_camera) { + + // Handle the camera action + } else if (id == R.id.nav_gallery) { + + } else if (id == R.id.nav_slideshow) { + + } else if (id == R.id.nav_manage) { + + } *//*else if (id == R.id.nav_share) { + + } else if (id == R.id.nav_send) { + + }*/ + + /* DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); + drawer.closeDrawer(GravityCompat.START);*/ + return true; + } + private void displaySelectedScreen(int itemId) { + + //creating fragment object + Fragment fragment = null; + + //initializing the fragment object which is selected + switch (itemId) { + case R.id.nav_inst: { + LayoutInflater inflater = getLayoutInflater(); + View alertLayout = inflater.inflate(R.layout.popup_layout, null); + AlertDialog alertDialog = new AlertDialog.Builder( + MainActivity.this).create(); + + // Setting Dialog Title + alertDialog.setTitle("Instructions"); + // Setting Dialog Message + alertDialog.setView(alertLayout); + + // Setting Icon to Dialog + alertDialog.setIcon(R.drawable.instruct_icon); + + + + // Showing Alert Message + alertDialog.show(); + }break; + + case R.id.nav_verify: + fragment = new Verify(); + break; + case R.id.nav_register: + fragment = new Register(); + break; + case R.id.nav_display: + fragment = new Display(); + break; + case R.id.nav_nearby: + Intent i = new Intent(MainActivity.this,MapsActivity.class); + startActivity(i); + break; + case R.id.nav_rate: + final RatingDialog ratingDialog = new RatingDialog.Builder(this) + .threshold(3) + .onRatingBarFormSumbit(new RatingDialog.Builder.RatingDialogFormListener() { + @Override + public void onFormSubmitted(String feedback) { + + } + }).build(); + + ratingDialog.show(); + break; + case R.id.nav_safety: + Intent intent = new Intent(MainActivity.this,Safety.class); + startActivity(intent); + break; + } + + //replacing the fragment + if (fragment != null) { + FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); + ft.replace(R.id.content_frame,fragment); + ft.commit(); + } + + DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); + drawer.closeDrawer(GravityCompat.START); + + } + + + +} diff --git a/app/src/main/java/com/womensafety/shajt3ch/MapsActivity.java b/app/src/main/java/com/womensafety/shajt3ch/MapsActivity.java new file mode 100644 index 0000000..29377ca --- /dev/null +++ b/app/src/main/java/com/womensafety/shajt3ch/MapsActivity.java @@ -0,0 +1,286 @@ +package com.womensafety.shajt3ch; + +import android.Manifest; +import android.content.pm.PackageManager; +import android.location.Location; +import android.os.Build; +import android.os.Bundle; +import android.support.v4.app.ActivityCompat; +import android.support.v4.app.FragmentActivity; +import android.support.v4.content.ContextCompat; +import android.util.Log; +import android.view.View; +import android.widget.Button; +import android.widget.Toast; + +import com.google.android.gms.common.ConnectionResult; +import com.google.android.gms.common.GoogleApiAvailability; +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; + +public class MapsActivity extends FragmentActivity implements OnMapReadyCallback, + GoogleApiClient.ConnectionCallbacks, + GoogleApiClient.OnConnectionFailedListener, + LocationListener { + + private GoogleMap mMap; + double latitude; + double longitude; + private int PROXIMITY_RADIUS = 10000; + GoogleApiClient mGoogleApiClient; + Location mLastLocation; + Marker mCurrLocationMarker; + LocationRequest mLocationRequest; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_maps); + + if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + checkLocationPermission(); + } + + //Check if Google Play Services Available or not + if (!CheckGooglePlayServices()) { + Log.d("onCreate", "Finishing test case since Google Play Services are not available"); + finish(); + } + else { + Log.d("onCreate","Google Play Services available."); + } + + // 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); + } + + private boolean CheckGooglePlayServices() { + GoogleApiAvailability googleAPI = GoogleApiAvailability.getInstance(); + int result = googleAPI.isGooglePlayServicesAvailable(this); + if(result != ConnectionResult.SUCCESS) { + if(googleAPI.isUserResolvableError(result)) { + googleAPI.getErrorDialog(this, result, + 0).show(); + } + return false; + } + return true; + } + + + @Override + public void onMapReady(GoogleMap googleMap) { + mMap = googleMap; + //mMap.setMapType(GoogleMap.MAP_TYPE_HYBRID); + mMap.setMapType(GoogleMap.MAP_TYPE_TERRAIN); + + //Initialize Google Play Services + if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + if (ContextCompat.checkSelfPermission(this, + Manifest.permission.ACCESS_FINE_LOCATION) + == PackageManager.PERMISSION_GRANTED) { + buildGoogleApiClient(); + mMap.setMyLocationEnabled(true); + } + } + else { + buildGoogleApiClient(); + mMap.setMyLocationEnabled(true); + } + + Button btnPolice = (Button) findViewById(R.id.btnPolice); + btnPolice.setOnClickListener(new View.OnClickListener() { + String Police = "police"; + @Override + public void onClick(View v) { + Log.d("onClick", "Button is Clicked"); + mMap.clear(); + String url = getUrl(latitude, longitude, Police); + Object[] DataTransfer = new Object[2]; + DataTransfer[0] = mMap; + DataTransfer[1] = url; + Log.d("onClick", url); + GetNearbyPlacesData getNearbyPlacesData = new GetNearbyPlacesData(); + getNearbyPlacesData.execute(DataTransfer); + Toast.makeText(MapsActivity.this,"Nearby Police Stations", Toast.LENGTH_LONG).show(); + } + }); + + Button btnHospital = (Button) findViewById(R.id.btnHospital); + btnHospital.setOnClickListener(new View.OnClickListener() { + String Hospital = "hospital"; + @Override + public void onClick(View v) { + Log.d("onClick", "Button is Clicked"); + mMap.clear(); + String url = getUrl(latitude, longitude, Hospital); + Object[] DataTransfer = new Object[2]; + DataTransfer[0] = mMap; + DataTransfer[1] = url; + Log.d("onClick", url); + GetNearbyPlacesData getNearbyPlacesData = new GetNearbyPlacesData(); + getNearbyPlacesData.execute(DataTransfer); + Toast.makeText(MapsActivity.this,"Nearby Hospitals", Toast.LENGTH_LONG).show(); + } + }); + + + } + + protected synchronized void buildGoogleApiClient() { + mGoogleApiClient = new GoogleApiClient.Builder(this) + .addConnectionCallbacks(this) + .addOnConnectionFailedListener(this) + .addApi(LocationServices.API) + .build(); + mGoogleApiClient.connect(); + } + + @Override + public void onConnected(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); + } + } + + private String getUrl(double latitude, double longitude, String nearbyPlace) { + + StringBuilder googlePlacesUrl = new StringBuilder("https://maps.googleapis.com/maps/api/place/nearbysearch/json?"); + googlePlacesUrl.append("location=" + latitude + "," + longitude); + googlePlacesUrl.append("&radius=" + PROXIMITY_RADIUS); + googlePlacesUrl.append("&type=" + nearbyPlace); + googlePlacesUrl.append("&sensor=true"); + googlePlacesUrl.append("&key=" + "AIzaSyDxRfxqFdgUlccCFu65mDq2C9Ao33G9q4A"); + Log.d("getUrl", googlePlacesUrl.toString()); + return (googlePlacesUrl.toString()); + } + + @Override + public void onConnectionSuspended(int i) { + + } + + @Override + public void onLocationChanged(Location location) { + Log.d("onLocationChanged", "entered"); + + mLastLocation = location; + if (mCurrLocationMarker != null) { + mCurrLocationMarker.remove(); + } + + //Place current location marker + latitude = location.getLatitude(); + longitude = location.getLongitude(); + LatLng latLng = new LatLng(location.getLatitude(), location.getLongitude()); + MarkerOptions markerOptions = new MarkerOptions(); + markerOptions.position(latLng); + markerOptions.title("Current Position"); + markerOptions.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_MAGENTA)); + mCurrLocationMarker = mMap.addMarker(markerOptions); + + //move map camera + mMap.moveCamera(CameraUpdateFactory.newLatLng(latLng)); + mMap.animateCamera(CameraUpdateFactory.zoomTo(11)); + Toast.makeText(MapsActivity.this,"Your Current Location", Toast.LENGTH_LONG).show(); + + Log.d("onLocationChanged", String.format("latitude:%.3f longitude:%.3f",latitude,longitude)); + + //stop location updates + if (mGoogleApiClient != null) { + LocationServices.FusedLocationApi.removeLocationUpdates(mGoogleApiClient, this); + Log.d("onLocationChanged", "Removing Location Updates"); + } + Log.d("onLocationChanged", "Exit"); + + } + + @Override + public void onConnectionFailed(ConnectionResult connectionResult) { + + } + + public static final int MY_PERMISSIONS_REQUEST_LOCATION = 99; + public boolean checkLocationPermission(){ + if (ContextCompat.checkSelfPermission(this, + Manifest.permission.ACCESS_FINE_LOCATION) + != PackageManager.PERMISSION_GRANTED) { + + // Asking user if explanation is needed + if (ActivityCompat.shouldShowRequestPermissionRationale(this, + Manifest.permission.ACCESS_FINE_LOCATION)) { + + // Show an explanation to the user *asynchronously* -- don't block + // this thread waiting for the user's response! After the user + // sees the explanation, try again to request the permission. + + //Prompt the user once explanation has been shown + ActivityCompat.requestPermissions(this, + new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, + MY_PERMISSIONS_REQUEST_LOCATION); + + + } else { + // No explanation needed, we can request the permission. + ActivityCompat.requestPermissions(this, + new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, + MY_PERMISSIONS_REQUEST_LOCATION); + } + return false; + } else { + return true; + } + } + + @Override + public void onRequestPermissionsResult(int requestCode, + String permissions[], int[] grantResults) { + switch (requestCode) { + case MY_PERMISSIONS_REQUEST_LOCATION: { + // If request is cancelled, the result arrays are empty. + if (grantResults.length > 0 + && grantResults[0] == PackageManager.PERMISSION_GRANTED) { + + // permission was granted. Do the + // contacts-related task you need to do. + if (ContextCompat.checkSelfPermission(this, + Manifest.permission.ACCESS_FINE_LOCATION) + == PackageManager.PERMISSION_GRANTED) { + + if (mGoogleApiClient == null) { + buildGoogleApiClient(); + } + mMap.setMyLocationEnabled(true); + } + + } else { + + // Permission denied, Disable the functionality that depends on this permission. + Toast.makeText(this, "permission denied", Toast.LENGTH_LONG).show(); + } + return; + } + + // other 'case' lines to check for other permissions this app might request. + // You can add here other case statements according to your requirement. + } + } +} diff --git a/app/src/main/java/com/womensafety/shajt3ch/Model.java b/app/src/main/java/com/womensafety/shajt3ch/Model.java new file mode 100644 index 0000000..130b486 --- /dev/null +++ b/app/src/main/java/com/womensafety/shajt3ch/Model.java @@ -0,0 +1,11 @@ +package com.womensafety.shajt3ch; + + + +public class Model { + public String name_of_choice; + + public Model(String name_of_choice) { + this.name_of_choice = name_of_choice; + } +} diff --git a/app/src/main/java/com/womensafety/shajt3ch/MyPagerAdapter.java b/app/src/main/java/com/womensafety/shajt3ch/MyPagerAdapter.java new file mode 100644 index 0000000..1334f4c --- /dev/null +++ b/app/src/main/java/com/womensafety/shajt3ch/MyPagerAdapter.java @@ -0,0 +1,34 @@ +package com.womensafety.shajt3ch; + +import android.support.v4.app.Fragment; +import android.support.v4.app.FragmentManager; +import android.support.v4.app.FragmentPagerAdapter; + +import java.util.ArrayList; + +public class MyPagerAdapter extends FragmentPagerAdapter { + private ArrayList mFragments = new ArrayList<>(); + private final String[] mTitles; + + public MyPagerAdapter(FragmentManager fm, ArrayList mFragments, String[] mTitles) { + super(fm); + this.mFragments = mFragments; + this.mTitles = mTitles; + } + + @Override + public int getCount() { + return mFragments.size(); + } + + @Override + public CharSequence getPageTitle(int position) { + return mTitles[position]; + } + + @Override + public Fragment getItem(int position) { + return mFragments.get(position); + } +} + diff --git a/app/src/main/java/com/womensafety/shajt3ch/MyService.java b/app/src/main/java/com/womensafety/shajt3ch/MyService.java new file mode 100644 index 0000000..3daad44 --- /dev/null +++ b/app/src/main/java/com/womensafety/shajt3ch/MyService.java @@ -0,0 +1,186 @@ +package com.womensafety.shajt3ch; + +import android.Manifest.permission; +import android.app.AlarmManager; +import android.app.PendingIntent; +import android.app.Service; +import android.content.Context; +import android.content.Intent; +import android.database.Cursor; +import android.database.sqlite.SQLiteDatabase; +import android.media.AudioManager; +import android.net.Uri; +import android.os.Build.VERSION; +import android.os.Build.VERSION_CODES; +import android.os.IBinder; +import android.telephony.SmsManager; +import android.text.TextUtils; +import android.util.Log; +import android.widget.Toast; + +import com.sac.speech.GoogleVoiceTypingDisabledException; +import com.sac.speech.Speech; +import com.sac.speech.SpeechDelegate; +import com.sac.speech.SpeechRecognitionNotAvailable; +import com.tbruyelle.rxpermissions.RxPermissions; + +import java.util.List; +import java.util.Objects; +import java.util.Random; + +public class MyService extends Service implements SpeechDelegate, Speech.stopDueToDelay { + + public static SpeechDelegate delegate; + + @Override + public int onStartCommand(Intent intent, int flags, int startId) { + try { + if (VERSION.SDK_INT >= VERSION_CODES.KITKAT) { + ((AudioManager) Objects.requireNonNull( + getSystemService(Context.AUDIO_SERVICE))).setStreamMute(AudioManager.STREAM_SYSTEM, true); + } + } catch (Exception e) { + e.printStackTrace(); + } + + Speech.init(this); + delegate = this; + Speech.getInstance().setListener(this); + + if (Speech.getInstance().isListening()) { + Speech.getInstance().stopListening(); + muteBeepSoundOfRecorder(); + } else { + System.setProperty("rx.unsafe-disable", "True"); + RxPermissions.getInstance(this).request(permission.RECORD_AUDIO).subscribe(granted -> { + if (granted) { // Always true pre-M + try { + Speech.getInstance().stopTextToSpeech(); + Speech.getInstance().startListening(null, this); + } catch (SpeechRecognitionNotAvailable exc) { + //showSpeechNotSupportedDialog(); + + } catch (GoogleVoiceTypingDisabledException exc) { + //showEnableGoogleVoiceTyping(); + } + } else { + Toast.makeText(this, R.string.permission_required, Toast.LENGTH_LONG).show(); + } + }); + muteBeepSoundOfRecorder(); + } + return Service.START_STICKY; + } + + @Override + public IBinder onBind(Intent intent) { + return null; + } + + @Override + public void onStartOfSpeech() { + } + + @Override + public void onSpeechRmsChanged(float value) { + + } + + @Override + public void onSpeechPartialResults(List results) { + for (String partial : results) { + Log.d("Result", partial + ""); + } + } + + @Override + public void onSpeechResult(String result) { + + + Log.d("Result", result + ""); + if (!TextUtils.isEmpty(result)) { + + Toast.makeText(this, "You Said : " + result, Toast.LENGTH_SHORT).show(); + if (result.contains("help") || result.contains("bachao")) { + //Toast.makeText(this, "Help mode activated ", Toast.LENGTH_SHORT).show(); + Toast.makeText(this, "Help mode activated ", Toast.LENGTH_SHORT).show(); + + + SQLiteDatabase db2 = this.openOrCreateDatabase("NumberDB", MODE_PRIVATE, null); + + Log.d("Number is:", Register.getNumber(db2)); + + SmsManager smsManager = SmsManager.getDefault(); + smsManager.sendTextMessage(Register.getNumber(db2), null, "Please HELP me !! I am in Danger, I need your help", null, null); + + + Intent intent = new Intent(Intent.ACTION_CALL); + intent.setData(Uri.parse("tel:" + Register.getNumber(db2))); + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + intent.addFlags(Intent.FLAG_FROM_BACKGROUND); + startActivity(intent); + + + Toast.makeText(this, "Help mode activated ", Toast.LENGTH_SHORT).show(); + + + } + } + } + + @Override + public void onSpecifiedCommandPronounced(String event) { + try { + if (VERSION.SDK_INT >= VERSION_CODES.KITKAT) { + ((AudioManager) Objects.requireNonNull( + getSystemService(Context.AUDIO_SERVICE))).setStreamMute(AudioManager.STREAM_SYSTEM, true); + } + } catch (Exception e) { + e.printStackTrace(); + } + if (Speech.getInstance().isListening()) { + muteBeepSoundOfRecorder(); + Speech.getInstance().stopListening(); + } else { + RxPermissions.getInstance(this).request(permission.RECORD_AUDIO).subscribe(granted -> { + if (granted) { // Always true pre-M + try { + Speech.getInstance().stopTextToSpeech(); + Speech.getInstance().startListening(null, this); + } catch (SpeechRecognitionNotAvailable exc) { + //showSpeechNotSupportedDialog(); + + } catch (GoogleVoiceTypingDisabledException exc) { + //showEnableGoogleVoiceTyping(); + } + } else { + Toast.makeText(this, R.string.permission_required, Toast.LENGTH_LONG).show(); + } + }); + muteBeepSoundOfRecorder(); + } + } + + private void muteBeepSoundOfRecorder() { + AudioManager amanager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); + if (amanager != null) { + amanager.setStreamMute(AudioManager.STREAM_NOTIFICATION, true); + amanager.setStreamMute(AudioManager.STREAM_ALARM, true); + amanager.setStreamMute(AudioManager.STREAM_MUSIC, true); + amanager.setStreamMute(AudioManager.STREAM_RING, true); + amanager.setStreamMute(AudioManager.STREAM_SYSTEM, true); + } + } + + @Override + public void onTaskRemoved(Intent rootIntent) { + PendingIntent service = + PendingIntent.getService(getApplicationContext(), new Random().nextInt(), + new Intent(getApplicationContext(), MyService.class), PendingIntent.FLAG_ONE_SHOT); + + AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE); + assert alarmManager != null; + alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, 1000, service); + super.onTaskRemoved(rootIntent); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/womensafety/shajt3ch/PhoneNumber.java b/app/src/main/java/com/womensafety/shajt3ch/PhoneNumber.java new file mode 100644 index 0000000..f00d225 --- /dev/null +++ b/app/src/main/java/com/womensafety/shajt3ch/PhoneNumber.java @@ -0,0 +1,6 @@ +package com.womensafety.shajt3ch; + +public class PhoneNumber { + public static String phoneNumber = "01521313051"; + +} diff --git a/app/src/main/java/com/womensafety/shajt3ch/RGeocoder.java b/app/src/main/java/com/womensafety/shajt3ch/RGeocoder.java new file mode 100644 index 0000000..ee6c22a --- /dev/null +++ b/app/src/main/java/com/womensafety/shajt3ch/RGeocoder.java @@ -0,0 +1,82 @@ +package com.womensafety.shajt3ch; + +import android.content.Context; +import android.location.Address; +import android.location.Geocoder; +import android.os.Bundle; +import android.os.Handler; +import android.os.Message; +import android.util.Log; + +import java.io.IOException; +import java.util.List; +import java.util.Locale; + + +public class RGeocoder { + + private static final String TAG = "LocationAddress"; + + + public void getAddressFromLocation(final double latitude, final double longitude, + final Context context, final Handler handler) { + + Thread thread = new Thread() { + @Override + public void run() { + Geocoder geocoder = new Geocoder(context, Locale.getDefault()); + String result = null; + try { + + List
addressList = geocoder.getFromLocation(latitude, longitude, 1); + if (addressList != null && addressList.size() > 0) { + Address address = addressList.get(0); + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < address.getMaxAddressLineIndex(); i++) { + sb.append(address.getAddressLine(i)).append("\n"); + } + sb.append(address.getLocality()).append("\n"); + sb.append(address.getPostalCode()).append("\n"); + sb.append(address.getCountryName()); + result = sb.toString(); + + + } + } + + + catch (IOException e) { + Log.e(TAG, "Unable connect to Geocoder", e); + } + + + finally { + Message message = Message.obtain(); + message.setTarget(handler); + if (result != null) { + message.what = 1; + Bundle bundle = new Bundle(); + result = "Latitude: " + latitude + " Longitude: " + longitude + + "\n\nAddress:\n" + result; + bundle.putString("address", result); + message.setData(bundle); + } else { + message.what = 1; + Bundle bundle = new Bundle(); + result = "Latitude: " + latitude + " Longitude: " + longitude + + "\n Unable to get address for this lat-long."; + bundle.putString("address", result); + message.setData(bundle); + } + message.sendToTarget(); + } + } + }; + thread.start(); + + + + + } +} + diff --git a/app/src/main/java/com/womensafety/shajt3ch/RecyclerAdapter.java b/app/src/main/java/com/womensafety/shajt3ch/RecyclerAdapter.java new file mode 100644 index 0000000..2734212 --- /dev/null +++ b/app/src/main/java/com/womensafety/shajt3ch/RecyclerAdapter.java @@ -0,0 +1,39 @@ +package com.womensafety.shajt3ch; + +import android.content.Context; +import android.support.v7.widget.RecyclerView; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import java.util.List; + + + +public class RecyclerAdapter extends RecyclerView.Adapter { +private Context mContext; +private List mDatas; + +public RecyclerAdapter(Context context, List datas) { + mContext = context; + mDatas = datas; + } + +@Override +public Holder onCreateViewHolder(ViewGroup parent, int viewType) { + return new Holder(LayoutInflater.from( + mContext).inflate(R.layout.item_main, parent, false)); + } + +@Override +public void onBindViewHolder(Holder holder, int position) { + Model model=mDatas.get(position); + holder.bindData(model); + } + +@Override +public int getItemCount() { + return mDatas.size(); + } + } diff --git a/app/src/main/java/com/womensafety/shajt3ch/Register.java b/app/src/main/java/com/womensafety/shajt3ch/Register.java new file mode 100644 index 0000000..fa74e07 --- /dev/null +++ b/app/src/main/java/com/womensafety/shajt3ch/Register.java @@ -0,0 +1,104 @@ +package com.womensafety.shajt3ch; + +import android.content.Context; +import android.content.SharedPreferences; +import android.database.Cursor; +import android.database.sqlite.SQLiteDatabase; +import android.os.Bundle; +import android.preference.PreferenceManager; +import android.support.annotation.Nullable; +import android.support.design.widget.TextInputLayout; +import android.support.v4.app.Fragment; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.Button; +import android.widget.EditText; +import android.widget.Toast; + +import static android.content.Context.MODE_PRIVATE; + + +public class Register extends Fragment implements View.OnClickListener { + TextInputLayout namelayout, numberlayout; + private static EditText name, number; + public SQLiteDatabase db; + public static SQLiteDatabase db2; + public static final String MY_PREFS_NAME = "MyPrefsFile"; + + public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + + //returning our layout file + //change R.layout.yourlayoutfilename for each of your fragments + View view = inflater.inflate(R.layout.contacts_register, container, false); + namelayout = view.findViewById(R.id.name); + numberlayout = view.findViewById(R.id.mobile); + name = view.findViewById(R.id.editText2); + number = view.findViewById(R.id.editText3); + Button save = view.findViewById(R.id.save); + save.setOnClickListener(this); + return view; + } + + @Override + public void onClick(View view) { + Toast.makeText(getActivity(), "save started", Toast.LENGTH_LONG).show(); + + /* name.setHint("Person name"); + number.setHint("Mobile Number");*/ + String str_name = name.getText().toString(); + String str_number = number.getText().toString(); + PhoneNumber.phoneNumber = str_number; + Log.d("Phone", PhoneNumber.phoneNumber); + db = getActivity().openOrCreateDatabase("NumberDB", MODE_PRIVATE, null); + //Toast.makeText(getApplicationContext(), "db created",Toast.LENGTH_LONG).show(); + //db2 = db; + db.execSQL("CREATE TABLE IF NOT EXISTS details(Pname VARCHAR,number VARCHAR);"); + //Toast.makeText(getApplicationContext(), "table created",Toast.LENGTH_LONG).show(); + + Cursor c = db.rawQuery("SELECT * FROM details", null); + if (c.getCount() < 1) { + db.execSQL("INSERT INTO details VALUES('" + str_name + "','" + str_number + "');"); + + + Toast.makeText(getActivity(), "Successfully Saved", Toast.LENGTH_SHORT).show(); + } else { + + db.execSQL("INSERT INTO details VALUES('" + str_name + "','" + str_number + "');"); + Toast.makeText(getActivity(), "Maximun Numbers limited reached. Previous numbers are replaced.", Toast.LENGTH_SHORT).show(); + } + + + db.close(); + + + } + + + public static String getNumber(SQLiteDatabase db2) { + + + Cursor c = null; + String phone_num = ""; + //db2 = openOrCreateDatabase("NumDB", MODE_PRIVATE, null); + + c = db2.rawQuery("SELECT * FROM details LIMIT 1", null); + if (c.getCount() > 0) { + //c.moveToFirst(); + + while (c.moveToNext()) { + + phone_num += c.getString(1); + } + + } + + return phone_num; + + + } + + +} + diff --git a/app/src/main/java/com/womensafety/shajt3ch/Safety.java b/app/src/main/java/com/womensafety/shajt3ch/Safety.java new file mode 100644 index 0000000..e86c4eb --- /dev/null +++ b/app/src/main/java/com/womensafety/shajt3ch/Safety.java @@ -0,0 +1,58 @@ +package com.womensafety.shajt3ch; + +import android.os.Bundle; +import android.support.v4.app.Fragment; +import android.support.v4.view.ViewPager; +import android.support.v7.app.AppCompatActivity; + +import java.util.ArrayList; + +import cn.hugeterry.coordinatortablayout.CoordinatorTabLayout; + +public class Safety extends AppCompatActivity { + private CoordinatorTabLayout mCoordinatorTabLayout; + private int[] mImageArray, mColorArray; + private ArrayList mFragments; + private final String[] mTitles = {"First_Aid","Self_defence"}; + private ViewPager mViewPager; + + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_safety); + initFragments(); + initViewPager(); + mImageArray = new int[]{ + R.mipmap.firstaid_icon, + R.mipmap.selfdefence_icon, + }; + mColorArray = new int[]{ + + android.R.color.holo_red_light, + android.R.color.holo_orange_light, + }; + + mCoordinatorTabLayout = (CoordinatorTabLayout) findViewById(R.id.coordinatortablayout); + mCoordinatorTabLayout.setTranslucentStatusBar(this) + .setTitle("Safety Tips") + .setBackEnable(true) + .setImageArray(mImageArray, mColorArray) + .setupWithViewPager(mViewPager); + } + + private void initFragments() { + mFragments = new ArrayList<>(); + for (String title : mTitles) { + mFragments.add(DataHolder.getInstance(title)); + } + } + + private void initViewPager() { + mViewPager = (ViewPager) findViewById(R.id.vp); + mViewPager.setOffscreenPageLimit(1); + mViewPager.setAdapter(new MyPagerAdapter(getSupportFragmentManager(), mFragments, mTitles)); + } + +} + diff --git a/app/src/main/java/com/womensafety/shajt3ch/Verify.java b/app/src/main/java/com/womensafety/shajt3ch/Verify.java new file mode 100644 index 0000000..893629a --- /dev/null +++ b/app/src/main/java/com/womensafety/shajt3ch/Verify.java @@ -0,0 +1,51 @@ +package com.womensafety.shajt3ch; + +import android.content.Context; +import android.database.sqlite.SQLiteDatabase; +import android.os.Bundle; +import android.support.annotation.Nullable; +import android.support.design.widget.TextInputLayout; +import android.support.v4.app.Fragment; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.Button; +import android.widget.EditText; +import android.widget.Toast; + + +public class Verify extends Fragment implements View.OnClickListener { + TextInputLayout source_no; + private static EditText phone; + + public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + + View view = inflater.inflate(R.layout.selfregister, container, false); + source_no = (TextInputLayout) view.findViewById(R.id.verify); + phone = view.findViewById(R.id.editText1); + Button submit = view.findViewById(R.id.button1); + submit.setOnClickListener(this); + return view; + } + + + + + @Override + public void onClick(View view) { + + + /*source_no.setHint("Your Phone No.");*/ + String str_source_no = phone.getText().toString(); + SQLiteDatabase db; + db = getActivity().openOrCreateDatabase("NumDB", Context.MODE_PRIVATE, null); + // if(source_no.getText()!=null){ + + db.execSQL("CREATE TABLE IF NOT EXISTS source(number VARCHAR);"); + db.execSQL("INSERT INTO source VALUES('" + str_source_no + "');"); + Toast.makeText(getActivity(), str_source_no + " Successfully Saved", Toast.LENGTH_SHORT).show(); + db.close(); + + + } +} diff --git a/app/src/main/res/drawable-v21/card_view_border.xml b/app/src/main/res/drawable-v21/card_view_border.xml new file mode 100644 index 0000000..1f1c1ec --- /dev/null +++ b/app/src/main/res/drawable-v21/card_view_border.xml @@ -0,0 +1,9 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable-v21/help.png b/app/src/main/res/drawable-v21/help.png new file mode 100644 index 0000000000000000000000000000000000000000..8c1ce7b141353b47de2b6d3a791e1bf3560b5109 GIT binary patch literal 31125 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 Dt)1FA literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-v21/ic_menu_camera.xml b/app/src/main/res/drawable-v21/ic_menu_camera.xml new file mode 100644 index 0000000..0d9ea10 --- /dev/null +++ b/app/src/main/res/drawable-v21/ic_menu_camera.xml @@ -0,0 +1,12 @@ + + + + diff --git a/app/src/main/res/drawable-v21/ic_menu_gallery.xml b/app/src/main/res/drawable-v21/ic_menu_gallery.xml new file mode 100644 index 0000000..f6872c4 --- /dev/null +++ b/app/src/main/res/drawable-v21/ic_menu_gallery.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable-v21/ic_menu_manage.xml b/app/src/main/res/drawable-v21/ic_menu_manage.xml new file mode 100644 index 0000000..c1be60b --- /dev/null +++ b/app/src/main/res/drawable-v21/ic_menu_manage.xml @@ -0,0 +1,9 @@ + + + \ No newline at end of file diff --git a/app/src/main/res/drawable-v21/ic_menu_send.xml b/app/src/main/res/drawable-v21/ic_menu_send.xml new file mode 100644 index 0000000..00c668c --- /dev/null +++ b/app/src/main/res/drawable-v21/ic_menu_send.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable-v21/ic_menu_share.xml b/app/src/main/res/drawable-v21/ic_menu_share.xml new file mode 100644 index 0000000..a28fb9e --- /dev/null +++ b/app/src/main/res/drawable-v21/ic_menu_share.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable-v21/ic_menu_slideshow.xml b/app/src/main/res/drawable-v21/ic_menu_slideshow.xml new file mode 100644 index 0000000..209aa64 --- /dev/null +++ b/app/src/main/res/drawable-v21/ic_menu_slideshow.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable-v21/rate.png b/app/src/main/res/drawable-v21/rate.png new file mode 100644 index 0000000000000000000000000000000000000000..1740f815309eb227fe0a706bc079d1449ff8c529 GIT binary patch literal 7663 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml new file mode 100644 index 0000000..c7bd21d --- /dev/null +++ b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + diff --git a/app/src/main/res/drawable-v24/icon_power_black.png b/app/src/main/res/drawable-v24/icon_power_black.png new file mode 100644 index 0000000000000000000000000000000000000000..2f67e50d7adfb48e59475f2b0c4cd45ee0dd2e37 GIT binary patch literal 803 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE0wix1Z>k4UEa{HEjtmSN`?>!lvVtU&J%W50 z7^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10f+@+{-GzZ+Rj;xUkjGiz z5m^kh={g8AI%&+V01C2~c>21sKVlc}|5r~YC5<`i@@qO` z(>)AUtd=MVo^$feySweHi@WCjOnWxFIPIKV$E3Jxk;|v6do?lV<*IeOTF#uWECb&xw%$9-xRHNl zsL2bZ(gNihtfG7e*?DC@$Y^)>`d%|$E!bQ8zTq;H?(@=R^K-YoJnuYRwd$dLz?rEI zi;qlH?A*8b4#P?d`(E!?CjWYOvZp@UVA17T(58CJ+c`k#S?-z==fouk1w^_l<&F2w z5nnV{x@pY}(>;Bz7uF@)nzBScVR_N*dST_Qjfxv)R*N`JubF!&B}J$HWre}s{_4(u zPZ~<^aPC;|%sY*(DC*4RjrvuV``m06ay~Q7JM&sAB{a6!gl*aWqP^^vtNy&RfA#O^ zf;fHUr8Uo@{%-&D;$iJaW1k&svc+Z|RPvmpqB%+LzQO&b^FOA|k5bKv z!i*b04U!-mg7ec#$`gxH8OqDc^)mCai<1)zQuXqS(r3T3kpe1W@O1TaS?83{1OS&! BHuL}h literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-v24/icon_power_on.png b/app/src/main/res/drawable-v24/icon_power_on.png new file mode 100644 index 0000000000000000000000000000000000000000..0c1522316bde3618144df6a234669c8f35c46477 GIT binary patch literal 14939 zcmeIZXIN8N^e=ppkOV0KL_kUa!zic}K|l;r6c8MmC`zx=kupjIK_Gxi6dU6VV4+9{ zLBP;Ngu^J7p|=1w;*2BJF^)8Wkar#b?|q;9<^6g;-FcpQFga)Mz4lsbueJ7X{c`EB zgSEJbf(U{j;)iT3k01yh{)tC~N$_VrZg>U$2nFxA-;W@5*G1R-i11nUgv}9q1c~2< zAk6a!g1y3=LJ-C-1ex(g5PA-R$VK06aoPtDNdC6gmhcz;`)=_#8UAdDwsAWRtBqp+ z;|^%ti9?XRMu#l-JIB5L{O)XP)KUJ6ucHicIe9gUpEULKUv0X2#BAYye?k3i@qu}d zP4{TOIVbrYTG?Ll+c6u~Pa`^^v>m_KWo;XhxE0ts%IDWL{cEyxH{oCTwh6vl!k49Q zUyZKcR}O6NTgv<9_2tX!@EQYx)O1x2e+50AV!$+*T>bVnIgjub|JF0PN6=>`s{QUH z--Puty1SO5N=uVrPl&~d*Y4(B30=GY3ExiYCH0DEdj<2KTzbhZM_4iD-ASU{YSaOx zTeNgHI0tg??;y}Vm*G_h{dHHxnU46HDBi=FoWhdEN2Asm4{uIOq?DN@Co7k6^d+;Y@0p?Kqvqx)P;3i_rAi za`<;rGBlETEjHLRryoqy>)B~0~T8OGgm^pj}b5d4auU^0&f}&8iaxH~67<(Hh zx&7(A7}%Aov@mCjrR8pf_Q`)y5$A&6UCq}2sO-z<4pKS$Em!Q|$)f3@WKuFyhI!pJ zU2@vE2Vrf#JZ>hp{5yj}kRT|Mve*5nmc=#t1XcgpTn_GvCb4y#e%>Y@bi27iV)bkT zgJNOqMwXo3ErUoIdkpm0CvRKhk6t&s%)(*c7<-U+84|_@V2lrp85`Kt>`jo`9WP@3 z3`}FerOzr6<2JhO{yWw+7qI0sFOGO1HIcbRs-P}^bE0|iSzDZ~ zYr4kEQyiS-iVe}+(y}-m##ma$|KAV)$8{jvL{VMzU)-JIh7K;|vzZCZWK#Ag_etr@ zSC__hNL9FfL{~*uksLzz1Hn0@nX>E=J*_+2>Tf|T2=-s>6EY;^c_*6?;{H3ZK6(Aw zTogW1Xq~i%Z#HU3roEBG@%R7oMWS=AhVbCt3g1+{IVNpkNv$Wx zk7|B#XOLOijQEFzg;6?TdGtMHO>CLM%jFKHaVCQAJev!~#rJ%AWYApS!eBLC8jlj2 z6Q2{_$6yL(CXnEx{79b&e&V0JawNvNJ87%04>#92pLFpbW$qm`JIyxRBY7gC0Ke<9 z2rAS$myLK6S{37dA!P4UG1}K0Q?an5omPhL*VSE>VJ4Q71TqS3Yg^Ivj*@(jcFNYH zxXo5XU%dZf6yDT|;nN-}hfgPFCx!CqSfGuul){A_LyvCW~Oxn>hPasK@csQL+!+b�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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-v24/icon_power_red.png b/app/src/main/res/drawable-v24/icon_power_red.png new file mode 100644 index 0000000000000000000000000000000000000000..1f44d6ff25097dd392851a3b4de46826880648d6 GIT binary patch literal 14559 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 PAgbLS+uMH!o%p{1dn^29 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/ic_close_black_24dp.png b/app/src/main/res/drawable/ic_close_black_24dp.png new file mode 100644 index 0000000000000000000000000000000000000000..1a9cd75a0d2692fa380f367bdb41c2420df310b0 GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^Dj>|k0wldT1B8LpG*1`DkP61PSG>8J9RwIIzPh7b zJflYMsk(bE^P@Beu4=(eGmA7oyR_x~a$D?{a5p37g|Cs|p&E~Q4@@WZu3cW0RzKfl zOG4W1`7gJ literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..01f0af0 --- /dev/null +++ b/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/icon_contatcs.png b/app/src/main/res/drawable/icon_contatcs.png new file mode 100644 index 0000000000000000000000000000000000000000..6c291e36a52a2924fd4cc71e0f3c3d4caeebc0d1 GIT binary patch literal 1627 zcmV-h2Bi6kP)(^b8FWQhbW?9;ba!ELWdL_~cP?peYja~^ zaAhuUa%Y?FJQ@H11=vYMK~!jg&Dv|MT}2fK@Lz9x`v9>ZPlZxxL7)T>5h$<3@`wsT zeS}B|q`(IxB8g}Mhy+lA@(3hggg}80#)=Rg0#PiY5CfEyVq>+uMyE zhc!EA&bfQveeOM{J^d#uduHv~GqYx9z2+R+#|+$nWf;J^^+W^sJFdg@QOvI`dya#Okd` zgO5x7?@MCO?I`-5o4#+goLjXHFdg%R zzZjo*v(kWXwK34W*s*H0Dli8xcUzE=u$_@Zm5Vex*R63TZpC7ur1#?{%?kzFh={r? zf=t4RB6Pkjqw8^8CQRART%Pr_S*pKRGpQHF@hUJ4Z*(fiwAArPofM&Ts~=e;37=QzxR)Bx7!8IJOcND36Xm(C|0& z67MAqeVJ@{4A&IkiJdOq?U#7_k5!O9{4}jfu_8H+!t1z3v!h%tEE61-o;Qgz52qTw z1E0^z)A8x7zAinhoMV*^FkKh`*xw`cq( z5-*R8%kumEviF7c8xlr^FwZMWzH3`Y;Bc`kt)BZ`5kq|fKgW})eG&E(j*f_I3oLC} zg!yHyzVABCQk+TNJzZ)jMk?c zxTpHCW>n_4icU*y7i7G{6K_j###d?Hsdh0_eTdYSAo+P-l>{qjk?^+t;tc;MYdb%i z%vp)IM8s}6CgN(t%`su!R^TDw>CeIQV-@7hj9E4qaWt-P>0n4?dxWlCrxB(s5b@d7 z8u`ZSxFSvVN)3m3w}`$8U98%jT0w5hn8m~jY$H~Csq)SjX?B$J@M=ZdR$3(#yf8R@ znvd?N1=$f#D-R>uNp&AcD_LNo@b;I9Wb8>{99|Kr^sP8q+pMm)FOLqfr%qjl-ddh+SGHoa$iWZH`ajAaR@0RctD<#44vafG?!B3oF`e z2&xTHE)ZAr`7KC}$s(Yn5v6W)=)(y$Z9Wp#2XR=+ui_tdjmG0#5i&fhIp`bh zCHDHF)3Z6%I>dgF7aXeLUs|t#dO-;#GL@lF>e*be%| zy;nZxYjMVCI+-T!Z+oryIsH$4lwFFg@rR8-fOSHL@>~Bg;aG8#-cG{ROp literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/icon_display.png b/app/src/main/res/drawable/icon_display.png new file mode 100644 index 0000000000000000000000000000000000000000..73d9402deb51f2ec8b20a9dc6e643c7b9e0dc959 GIT binary patch literal 570 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=1|;R|J2nC-mSQK*5Dp-y;YjHK@;M7UB8wRq zq~?Jz64!{5;QX|b^2DN4hVt@qz0ADq;^f4FRK5J7^x5xhq!<_&w|lxc zhGaCpon`2K*g@oYeOH1bYpdTnKD|XAfh_9k=Ir6-?8hHndH>+LfJ{ux(Sy4}Hblr+ zaVTl&^#x^ZY~?G>@X}9buJqlo{`ubr6K(FP{`vppsZ(FGf%F010Cp>{#e5=-GJ-jb zxvWl)-K1~Gq&$ghw8*^k^@u;qamfXVGqM=`o9}2PNY3CrXMONz`T7~EZ?=57{)%M^ zNA_7JpT3~LSry8+KDcdp*qd=!QaSk0$K40^O`OlP-7St`+N3V79SrLp@lBJ8WbW(P z<8$ML+y>n}=_2|ZJrVWBnB(DFAn#(Ghju_tC0*q${Pgg&ebxsLQ E07;JTO8@`> literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/icon_inst.png b/app/src/main/res/drawable/icon_inst.png new file mode 100644 index 0000000000000000000000000000000000000000..f4071189476e3c1a1b0f07fede84f4f137c7cb07 GIT binary patch literal 923 zcmV;M17!S(P)(^b8FWQhbW?9;ba!ELWdL_~cP?peYja~^ zaAhuUa%Y?FJQ@H10~kp}K~!jg?U_wTRY4erpKFSOrcsC%xG1F}7j4XnXwkx!Eo+el zt!tB;64FHywQ13&+NFzHwg_BQ;HDoV0;B)3AVJ6qsT7eA?`<(>;&_@fXJ*cvdv4$h zFI?`-yx;rHxo3X93#+Is6f)Fq1Wp1yKnb`9Tm|McjOiU4fmetG!h8X=sfC;;P_ zCm}gbwp)NTda+MJ@@Nizm1qE_aZh9#s4u%~1%_}>Lh^jsT}RLcED&#S2DlB}1-@(g zEd*M*;g-Ub)iGOK-8fuJYmBc|q1Cs3ujTTFd z9^XmS0+W^|4k>gFSZYkNa#M|k>C1i!=rHUnu|x6Qc1w*8L?y-xT7fz2X0il~D73CP z===&iXkqe127t8&{i0AUvs)c>8WBr=Ds%zM*w3Qe*rIsvsI?q;aY6xj$T!wXsjg!am?@?=Lf-|_CyBal11QSKp(4N z9FJ9#;#6sX0_rQTZ*)~5GWy?9sshIHcHseIAeP`!vitpJ%{zql!y3eY-xC#J%#;(r xX+%L?c^|1ooGx7p+*zXte8J*QvWiutz#qSxOgu(t#kT+e002ovPDHLkV1m?0kGuc? literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/icon_nearby.png b/app/src/main/res/drawable/icon_nearby.png new file mode 100644 index 0000000000000000000000000000000000000000..0c9cf1da2fcb519a38679361250d6a0ea02e128b GIT binary patch literal 709 zcmV;$0y_PPP)+Kn17(6`%rCfC?yq3Qz$mKn17(6`%rC!2D+RX3oufmoK|}k2mC>`{T0N ze94z=c1JejGMaJ!?H|BTXRvk#R?TeJ%=pfyFBl)q>^*%i)3*xtS^#kR$jp{RuU?Wq zV2Y#^0Fgd#MLOyXnb|MNNC|-Ll`Dw0C4^)XTzQ~n`U+wwV49|+T5lh zjqcZ{PbL5Xtz^jo@KC^c&oP`|^OV~EqX702?<0Feb*YC7bx{<+bD&kKK6LeHvCHb> z2mrVbeH6Jdv(r{lZkXAjnQbYH6OE)=hycK$1Hpkl3aAu3OMu<&A^>P{>yAYtPmApn z`n{Kldov?zu0#MR-AC!=I7S=p6S*5j0DQXPFnK($X6sJ@;G~>$vQUdcAL>aT$$(PC z6zGlvk{QY?^g)W4(~-H~lV96LIfza?@6&%W!MQ;s5!x^7y~sD_<#8fHA#PiY64MYy z2}TN6A^lV@rhNK<^fKjy@Ne*68GVBM~ug!1J7XP0?pq3`+?BHmmW#rA)9Bft3QluyRG5*%$DI#VigxH4XxneUgN80CUUX{BLdrhPY%jm}D@LaY rAnH$8e~2OuJ5jRWA3#a;YOMVNmb7g#VxB{Q00000NkvXXu0mjfCU!M9 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/icon_register.png b/app/src/main/res/drawable/icon_register.png new file mode 100644 index 0000000000000000000000000000000000000000..7c2907697e5738387da583b0193c271eab1d656e GIT binary patch literal 1088 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/power4.png b/app/src/main/res/drawable/power4.png new file mode 100644 index 0000000000000000000000000000000000000000..50285685f2b47cb05ec5b9d0750106a817bd7d42 GIT binary patch literal 2554 zcmVPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D36DucK~#8N?U{K{ zRreLgaVBZnKbkbvn6_!!W<*7bh=72AJjJ5y%BDOKK~PL}Ow>q}i4;vtqjAY-q7$dF zu8C1m1Q(*#6>Uw7Rvi?hY;Hzhk z;kTOBekrLzc?lnIYnoYu&6?JJnN@>pr8PvYY1Uy}(X{ra$?DTA}eW{6H=@D1Wb_HYTcXojYm?? z@wnhuMARts*N}r{`-rThX%2c7A*QKb&mz?JC_=o3?j1sk=>C9lSloLY(0d#auOIU3 zG#?-8q$v(o{Da6!nsyV^Noq+=tqtiVJvHI(5Fue+KtY04eO2c=Dz6JPAa6Zn5j3wgrBYqvKp*C5whsa8r)+W+J zdYPVMaZXNvhP+F}7(5o9kJ|8jqOd%ih$zG_HRMF|v-IX}A}eW{p{+CAFBhG|@^Mmn zhv(sZB%cTkc?bV2`bp#%9E%!5#OsOZQS`8e9I)RlG8bE;#^AGvO#Do3pN)KwR?;*d z*+=%38d6Jb2l7YY_(_?8*MG`P8uC0bxmX;NOEh3K{xg^dQQJXG4n_>f#Wj<|t1Sl+ z8uHol4w02K%_n*^!kud5QkI4sM32QI9Q&{2@JtKT_AIfZkPw>#49Y=$tQ}!$JK*^9 zu{lH{&e<>^$N4>4SxsamO*6>8QlqgR_Z)>e8gek$j{asAjt{hBsM?;vW~2M!vT<&R zooL8NOjp}MoSkM%EY6O4)b_nag(P2X&ksqJ8h9WzYdY+x$M9I1;%MOUTBJ1UoX+Zo%%IL{`$Y7Q|;GQ))|(_z}oa+aR;>Ocy1V zG?I$cb}w0ckx9(2wL>k1 zI`NEWOe_P#)N~)28K}z2Aj(X~(`p$qGH9UqS?Tn3W@hWp0ylHCipWZu)+Tm4b>SJV zm{~GmQ`^A)w8mMmO)d8@Dv2J>PRI4^G}Lp`N7OcqOvjGwbRu4#Q_GTfD~YV6X_kyk zL#g(xRLd|r4P80bAmX>|Lu$LusNqP+8BUZl9Ea30NJI9n=L|!=J(;?wZOMskL{`!? zOQi3pVQ3IFKOsEpQJIx<;?#1T{1nW|PbJDv#eB64{JKE=ycATabxTfF;M(a5qE@x_ z_P-R(OT~7b$?2lYvn(<*rQ$DYxlTbcstZ$y#wIym{R@-vhWG`k&esJi&Thrl54IAu zrn6hHQPXb8*c41Ly_2y*Ed#&K5T9pjc9C>}qC}i7O5&m^2vo~3J_#qq9~b}qqwcLZ zUrv6t<@l<03z4(%<%KP`|HH_H1Vl-1p5eG!hH;4$r2a{@TxVheKAD(EG%3~jQ`f{q z{7?MxL+|V(>BR~>erYo{UoOX$%jNX-rE=PICkHRcEYkbW3HVek!-OO}Ccez9mg`I& zif^8ZCz^WGr#j)Oczi2r9Ws7sYX=sMCW^lV1|=d@J$>C9!x^ddm!I8K&8&i}=NH_*^a5 z;byfZgZV&X;jfl~z4yhRIk@Gwzn-Qf4pBPOdukcj4=^*u;+$HpGb=#OK-OspUFz`OMF?5zURk0ksTe{n3@Z>o3IM#*6%(RNLc7uemmS_ks-# zGK1O%_72Oe&)bl!mg~G?qhGufjT@}Gm!h4&0A;Uo-T)$Az4M(MGcOtoP0sR|0#(r zjKoN_-NzDsz*riNPnJdyEe%7G+6I381jnwLSU5`6b~{TWP-c2W;L0oE^ar&KOCpe> zv5(9AJ@jC}tCWt~!B!bB1d;Upn&$7BNURx7Pw5BgEtqf}UIbd}#MsUs*$>H@I*21^KZ~r+#a%CT`Q?E6y ztPN@T)0p(;87}KAOVsu}yZGO1eGrbV?@J`>x>oMFYXkAbx*$}U93y9Y0Pk)KAgTyJ-L^lX_<#p~pp;u3*Pmf}H1;}n*Uo%%y2HM|2X^v$eSZ(4I}z{GAp0KZj_e=Rfw#snUp#ow z7byq3;pIc!P{lgO`hs8Ai)5Sip~mJP_C@lMp7^=$-a!W)bkIQu9>K@w|7q6l@s+)J Q7ytkO07*qoM6N<$f^B~N-~a#s literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/power5.png b/app/src/main/res/drawable/power5.png new file mode 100644 index 0000000000000000000000000000000000000000..1be620780ab78b2163cbc91769582dfae99486d5 GIT binary patch literal 2167 zcmV--2#EKIP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D2nz+tm@y#SNtnjJ3VfFD@SD;R-LY7G8Ekbi|1U{4pLr!=MjDc4{Ge@Hq?~$`sf&L&#cFPTV$6(G$P@h~H;|x^Uh)&_utK57b+ywka7LccUZIyc zT@*~CNB*su_J&B9;n(G<{GR9Flwtf9kA)X#ccxAT&Yyo;y80DNVBE2(BQ=pmV!dC7 zp3?3WSJVVItxw$!<3{4EhL^OP#gXKdaH+KTAKZcIM^=sd$!K_qb~jjw$BcKSl^?K* zJ!2Zy(7|e}XH%I1pYa{l^^EZVzG}CFk%U>lQJ(zYyh88vZh6PLHFIVb_>SrN0lp%U z((V@~vb-&oN#-wBkslJ5Le{NWv+^1M-{CiA;|Jxl_^!k7C#j6ixW_8+%jmgJ@`Klm zo;gBo`~u&7PmIIOp=YqpvVuL)blMuKtFZ?5?NI-B(*VQAYpubr-gwID+p)=Nn>SYl*R^hy`rb_gzz+Y1ZC~a4s;tbiy&}tYlMc(Bs0`0sMttpQexoNYk}$rIqmA z8;l#S_72HdxRw{-%;@LGt&Y++sN*1r1^}o7b!FD=8q?UN!{nlOcAj^22&#S20_t#@ z?u~25b=mJ=ya9HW)8EseE|in$gG;&{dx2z7mBh#qbjkKN?Vmi>_nz{y@viHp0ifHn zX+70RgF1Z;hp4ethnp{wOaDrZ9Kg6_4ubYY3$5W3`?B=iG(ei+qq}7SOsyh}&b2E% zPmDNJ(cxyxSk!ox890HpnmGnKS1+^T7xSNxmj+1dJM}QNkI1o^3~7WHb=VUkv*a13 zY)9h4N!zE>wPuBtXbMw1uMGgu)jL;|QXAw7i3=yFodbprdqQOLyGaynv74wmmMygs zm+dn+KMep7WZU9})DEi#vvJ^>4m%|{e)e>FD=8{{`XwdSNP~S4z;6S9+o$%^jTC(G zk~U+vc+WihoDN^cf9l+xDl-NTRp&VY`aUS9`k55c008F)%oaW|eS7NH>F_cB)k_Pa z#OW?uo##Mn$!k{p{HIhulR_H+J&g5&?hS8KeLJMbpVHxD{2SjfC5kLN=?zXM=}d1j z3T*(;x$3PvTlnN;~APsO;hp)E2 z{Y;55bZif;91|4N&n1Wk7(Ve4wI4dVhw3vBvko5(;QrKS@IV! za+@4bSFSx6sjs8@45@2k8T66}C8A*(0QUY&pMh;OGRL$nK6^=J+38d3>=N4@C_@?` zD-rUP3M1>wbpYHB9iaM*(Q_ZGoC4r8(_yF$5vdyoGfdx(tW+59(U_7QIHG1wAVp>R zLDI1@KMe-RPnfs0fHhxdwD0<*Tm5c$FNLxiSJ`;2T*3)+&Q$)-ir6AjU8DNU|N#6ibj;}KsILA3vhNHzj%_``2l6MFI`OQ zf)8%9&~Z#7tizrVya}et4h-zAq)vhMC5v3|51bhN?3gNx)dAoGvvVTe6na62oh_0a z{LBn&k#)Ok&2s7(z;Hm~MbTBlSFOHZ-*Q75hRo2B4(JZFt^}IAz8A^72E*ZUR;s!{nRz4aY={eUT`1S>+3QG-s>Sx$D3R? zje%VqbaB4t>-Bdorg6QavGGYAmNyaOmt`mfc1;f3RqWZ-t+Cn)b%X`*8Q+aW4tv_t zP6m9pO?uo4E*nbn5ZFb@sl#{x-*p&;3Emw_YX){zw%90NO=GQgKNt!0vUD*qBYy^V zPdHa_6+Or~A!u;Yn}~)NYj=wyxL$&!f;lkFw9ue5{{{b*iH6OCjmRSG*002ovPDHLkV1nSG9i;#O literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/side_nav_bar.xml b/app/src/main/res/drawable/side_nav_bar.xml new file mode 100644 index 0000000..6d81870 --- /dev/null +++ b/app/src/main/res/drawable/side_nav_bar.xml @@ -0,0 +1,9 @@ + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000..a61d8a6 --- /dev/null +++ b/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,25 @@ + + + + + + + + diff --git a/app/src/main/res/layout/activity_maps.xml b/app/src/main/res/layout/activity_maps.xml new file mode 100644 index 0000000..177baf8 --- /dev/null +++ b/app/src/main/res/layout/activity_maps.xml @@ -0,0 +1,63 @@ + + + + + + +