├── sos
├── .idea
│ ├── .name
│ ├── copyright
│ │ └── profiles_settings.xml
│ ├── encodings.xml
│ ├── modules.xml
│ ├── runConfigurations.xml
│ ├── compiler.xml
│ ├── gradle.xml
│ └── misc.xml
├── app
│ ├── .gitignore
│ ├── src
│ │ ├── main
│ │ │ ├── assets
│ │ │ │ └── Alarm.mp3
│ │ │ ├── res
│ │ │ │ ├── drawable-v21
│ │ │ │ │ ├── menu.png
│ │ │ │ │ ├── nav2.png
│ │ │ │ │ ├── contact.jpg
│ │ │ │ │ ├── garvit.png
│ │ │ │ │ ├── profile.gif
│ │ │ │ │ ├── showmap.png
│ │ │ │ │ ├── sosbtn.png
│ │ │ │ │ ├── sosbtn2.png
│ │ │ │ │ ├── timer2.png
│ │ │ │ │ ├── navdrawer.png
│ │ │ │ │ ├── background.jpg
│ │ │ │ │ ├── contactmin.jpg
│ │ │ │ │ ├── help_image.jpg
│ │ │ │ │ ├── welcome_maps.png
│ │ │ │ │ ├── contact_delete.png
│ │ │ │ │ ├── nearby_places.png
│ │ │ │ │ ├── stop_recording.png
│ │ │ │ │ ├── navigation_drawer.png
│ │ │ │ │ ├── update_contacts.png
│ │ │ │ │ ├── example_appwidget_preview.png
│ │ │ │ │ ├── ic_menu_send.xml
│ │ │ │ │ ├── ic_menu_slideshow.xml
│ │ │ │ │ ├── ic_menu_gallery.xml
│ │ │ │ │ ├── ic_menu_manage.xml
│ │ │ │ │ ├── ic_menu_camera.xml
│ │ │ │ │ └── ic_menu_share.xml
│ │ │ │ ├── mipmap-hdpi
│ │ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-mdpi
│ │ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-xhdpi
│ │ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ │ └── ic_launcher.png
│ │ │ │ ├── values-v14
│ │ │ │ │ └── dimens.xml
│ │ │ │ ├── drawable
│ │ │ │ │ ├── side_nav_bar.xml
│ │ │ │ │ ├── ic_info_black_24dp.xml
│ │ │ │ │ ├── ic_notifications_black_24dp.xml
│ │ │ │ │ └── ic_sync_black_24dp.xml
│ │ │ │ ├── values-w820dp
│ │ │ │ │ └── dimens.xml
│ │ │ │ ├── xml
│ │ │ │ │ └── soswidget_info.xml
│ │ │ │ ├── values-v21
│ │ │ │ │ └── styles.xml
│ │ │ │ ├── layout
│ │ │ │ │ ├── soswidget.xml
│ │ │ │ │ ├── activity_custom__drawing.xml
│ │ │ │ │ ├── activity_main1.xml
│ │ │ │ │ ├── activity_send_message1.xml
│ │ │ │ │ ├── app_bar_main1.xml
│ │ │ │ │ ├── app_bar_send_message1.xml
│ │ │ │ │ ├── activity_maps.xml
│ │ │ │ │ ├── nav_header_send_message1.xml
│ │ │ │ │ ├── nav_header_main1.xml
│ │ │ │ │ ├── welcome_slide4.xml
│ │ │ │ │ ├── welcome_slide1.xml
│ │ │ │ │ ├── welcome_slide3.xml
│ │ │ │ │ ├── activity_send_message.xml
│ │ │ │ │ ├── welcome_slide2.xml
│ │ │ │ │ ├── activity_welcome.xml
│ │ │ │ │ ├── content_send_message1.xml
│ │ │ │ │ ├── activity_settings.xml
│ │ │ │ │ ├── activity_about_us.xml
│ │ │ │ │ ├── activity_main.xml
│ │ │ │ │ ├── activity_help_info.xml
│ │ │ │ │ └── content_main1.xml
│ │ │ │ ├── values
│ │ │ │ │ ├── drawables.xml
│ │ │ │ │ ├── dimens.xml
│ │ │ │ │ ├── styles.xml
│ │ │ │ │ ├── colors.xml
│ │ │ │ │ └── strings.xml
│ │ │ │ └── menu
│ │ │ │ │ ├── menu_main.xml
│ │ │ │ │ ├── main_activity1.xml
│ │ │ │ │ ├── send_message1.xml
│ │ │ │ │ ├── activity_main1_drawer.xml
│ │ │ │ │ └── activity_send_message1_drawer.xml
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── example
│ │ │ │ │ └── pulkit
│ │ │ │ │ └── sos
│ │ │ │ │ ├── HelpInfo.java
│ │ │ │ │ ├── PrefManager.java
│ │ │ │ │ ├── Settings.java
│ │ │ │ │ ├── DownloadUrl.java
│ │ │ │ │ ├── soswidget.java
│ │ │ │ │ ├── GetNearbyPlacesData.java
│ │ │ │ │ ├── DataParser.java
│ │ │ │ │ ├── AboutUs.java
│ │ │ │ │ ├── AppCompatPreferenceActivity.java
│ │ │ │ │ ├── WelcomeActivity.java
│ │ │ │ │ ├── Custom_Drawing.java
│ │ │ │ │ ├── MapsActivity.java
│ │ │ │ │ ├── MainActivity1.java
│ │ │ │ │ └── SendMessage1.java
│ │ │ └── AndroidManifest.xml
│ │ ├── test
│ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── example
│ │ │ │ └── pulkit
│ │ │ │ └── sos
│ │ │ │ └── ExampleUnitTest.java
│ │ ├── androidTest
│ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── example
│ │ │ │ └── pulkit
│ │ │ │ └── sos
│ │ │ │ └── ExampleInstrumentedTest.java
│ │ ├── release
│ │ │ └── res
│ │ │ │ └── values
│ │ │ │ └── google_maps_api.xml
│ │ └── debug
│ │ │ └── res
│ │ │ └── values
│ │ │ └── google_maps_api.xml
│ ├── proguard-rules.pro
│ └── build.gradle
├── settings.gradle
├── gradle
│ └── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
├── .gitignore
├── build.gradle
├── gradle.properties
├── gradlew.bat
└── gradlew
├── screenshots
├── Drawer.png
├── Pattern2.png
├── contacts.png
├── Main-screen.png
├── After-triggering.png
├── Map-of-vicinity.png
└── Before-triggering.png
└── README.md
/sos/.idea/.name:
--------------------------------------------------------------------------------
1 | sos (Android)
--------------------------------------------------------------------------------
/sos/app/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/sos/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
--------------------------------------------------------------------------------
/screenshots/Drawer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/garvit14/stay-safe-sos/HEAD/screenshots/Drawer.png
--------------------------------------------------------------------------------
/screenshots/Pattern2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/garvit14/stay-safe-sos/HEAD/screenshots/Pattern2.png
--------------------------------------------------------------------------------
/screenshots/contacts.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/garvit14/stay-safe-sos/HEAD/screenshots/contacts.png
--------------------------------------------------------------------------------
/screenshots/Main-screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/garvit14/stay-safe-sos/HEAD/screenshots/Main-screen.png
--------------------------------------------------------------------------------
/screenshots/After-triggering.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/garvit14/stay-safe-sos/HEAD/screenshots/After-triggering.png
--------------------------------------------------------------------------------
/screenshots/Map-of-vicinity.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/garvit14/stay-safe-sos/HEAD/screenshots/Map-of-vicinity.png
--------------------------------------------------------------------------------
/sos/.idea/copyright/profiles_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/screenshots/Before-triggering.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/garvit14/stay-safe-sos/HEAD/screenshots/Before-triggering.png
--------------------------------------------------------------------------------
/sos/app/src/main/assets/Alarm.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/garvit14/stay-safe-sos/HEAD/sos/app/src/main/assets/Alarm.mp3
--------------------------------------------------------------------------------
/sos/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/garvit14/stay-safe-sos/HEAD/sos/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/sos/app/src/main/res/drawable-v21/menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/garvit14/stay-safe-sos/HEAD/sos/app/src/main/res/drawable-v21/menu.png
--------------------------------------------------------------------------------
/sos/app/src/main/res/drawable-v21/nav2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/garvit14/stay-safe-sos/HEAD/sos/app/src/main/res/drawable-v21/nav2.png
--------------------------------------------------------------------------------
/sos/app/src/main/res/drawable-v21/contact.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/garvit14/stay-safe-sos/HEAD/sos/app/src/main/res/drawable-v21/contact.jpg
--------------------------------------------------------------------------------
/sos/app/src/main/res/drawable-v21/garvit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/garvit14/stay-safe-sos/HEAD/sos/app/src/main/res/drawable-v21/garvit.png
--------------------------------------------------------------------------------
/sos/app/src/main/res/drawable-v21/profile.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/garvit14/stay-safe-sos/HEAD/sos/app/src/main/res/drawable-v21/profile.gif
--------------------------------------------------------------------------------
/sos/app/src/main/res/drawable-v21/showmap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/garvit14/stay-safe-sos/HEAD/sos/app/src/main/res/drawable-v21/showmap.png
--------------------------------------------------------------------------------
/sos/app/src/main/res/drawable-v21/sosbtn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/garvit14/stay-safe-sos/HEAD/sos/app/src/main/res/drawable-v21/sosbtn.png
--------------------------------------------------------------------------------
/sos/app/src/main/res/drawable-v21/sosbtn2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/garvit14/stay-safe-sos/HEAD/sos/app/src/main/res/drawable-v21/sosbtn2.png
--------------------------------------------------------------------------------
/sos/app/src/main/res/drawable-v21/timer2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/garvit14/stay-safe-sos/HEAD/sos/app/src/main/res/drawable-v21/timer2.png
--------------------------------------------------------------------------------
/sos/app/src/main/res/drawable-v21/navdrawer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/garvit14/stay-safe-sos/HEAD/sos/app/src/main/res/drawable-v21/navdrawer.png
--------------------------------------------------------------------------------
/sos/app/src/main/res/drawable-v21/background.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/garvit14/stay-safe-sos/HEAD/sos/app/src/main/res/drawable-v21/background.jpg
--------------------------------------------------------------------------------
/sos/app/src/main/res/drawable-v21/contactmin.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/garvit14/stay-safe-sos/HEAD/sos/app/src/main/res/drawable-v21/contactmin.jpg
--------------------------------------------------------------------------------
/sos/app/src/main/res/drawable-v21/help_image.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/garvit14/stay-safe-sos/HEAD/sos/app/src/main/res/drawable-v21/help_image.jpg
--------------------------------------------------------------------------------
/sos/app/src/main/res/drawable-v21/welcome_maps.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/garvit14/stay-safe-sos/HEAD/sos/app/src/main/res/drawable-v21/welcome_maps.png
--------------------------------------------------------------------------------
/sos/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/garvit14/stay-safe-sos/HEAD/sos/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/sos/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/garvit14/stay-safe-sos/HEAD/sos/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/sos/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/garvit14/stay-safe-sos/HEAD/sos/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/sos/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/garvit14/stay-safe-sos/HEAD/sos/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/sos/app/src/main/res/drawable-v21/contact_delete.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/garvit14/stay-safe-sos/HEAD/sos/app/src/main/res/drawable-v21/contact_delete.png
--------------------------------------------------------------------------------
/sos/app/src/main/res/drawable-v21/nearby_places.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/garvit14/stay-safe-sos/HEAD/sos/app/src/main/res/drawable-v21/nearby_places.png
--------------------------------------------------------------------------------
/sos/app/src/main/res/drawable-v21/stop_recording.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/garvit14/stay-safe-sos/HEAD/sos/app/src/main/res/drawable-v21/stop_recording.png
--------------------------------------------------------------------------------
/sos/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/garvit14/stay-safe-sos/HEAD/sos/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/sos/app/src/main/res/drawable-v21/navigation_drawer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/garvit14/stay-safe-sos/HEAD/sos/app/src/main/res/drawable-v21/navigation_drawer.png
--------------------------------------------------------------------------------
/sos/app/src/main/res/drawable-v21/update_contacts.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/garvit14/stay-safe-sos/HEAD/sos/app/src/main/res/drawable-v21/update_contacts.png
--------------------------------------------------------------------------------
/sos/.gitignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | .gradle
3 | /local.properties
4 | /.idea/workspace.xml
5 | /.idea/libraries
6 | .DS_Store
7 | /build
8 | /captures
9 | .externalNativeBuild
10 |
--------------------------------------------------------------------------------
/sos/app/src/main/res/drawable-v21/example_appwidget_preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/garvit14/stay-safe-sos/HEAD/sos/app/src/main/res/drawable-v21/example_appwidget_preview.png
--------------------------------------------------------------------------------
/sos/.idea/encodings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/sos/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Mon Dec 28 10:00:20 PST 2015
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
7 |
--------------------------------------------------------------------------------
/sos/app/src/main/res/values-v14/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 | 0dp
9 |
10 |
--------------------------------------------------------------------------------
/sos/app/src/main/res/drawable/side_nav_bar.xml:
--------------------------------------------------------------------------------
1 |
3 |
9 |
--------------------------------------------------------------------------------
/sos/app/src/main/res/drawable-v21/ic_menu_send.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/sos/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/sos/app/src/main/res/values-w820dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 | 64dp
6 |
7 |
--------------------------------------------------------------------------------
/sos/app/src/main/java/com/example/pulkit/sos/HelpInfo.java:
--------------------------------------------------------------------------------
1 | package com.example.pulkit.sos;
2 |
3 | import android.support.v7.app.AppCompatActivity;
4 | import android.os.Bundle;
5 |
6 | public class HelpInfo extends AppCompatActivity {
7 |
8 | @Override
9 | protected void onCreate(Bundle savedInstanceState) {
10 | super.onCreate(savedInstanceState);
11 | setContentView(R.layout.activity_help_info);
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/sos/app/src/main/res/drawable/ic_info_black_24dp.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/sos/app/src/main/res/drawable-v21/ic_menu_slideshow.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/sos/app/src/main/res/drawable-v21/ic_menu_gallery.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/sos/app/src/main/res/xml/soswidget_info.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/sos/app/src/test/java/com/example/pulkit/sos/ExampleUnitTest.java:
--------------------------------------------------------------------------------
1 | package com.example.pulkit.sos;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.junit.Assert.*;
6 |
7 | /**
8 | * Example local unit test, which will execute on the development machine (host).
9 | *
10 | * @see Testing documentation
11 | */
12 | public class ExampleUnitTest {
13 | @Test
14 | public void addition_isCorrect() throws Exception {
15 | assertEquals(4, 2 + 2);
16 | }
17 | }
--------------------------------------------------------------------------------
/sos/app/src/main/res/values-v21/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
11 |
12 |
--------------------------------------------------------------------------------
/sos/app/src/main/res/drawable-v21/ic_menu_manage.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
--------------------------------------------------------------------------------
/sos/app/src/main/res/drawable/ic_notifications_black_24dp.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/sos/app/src/main/res/drawable/ic_sync_black_24dp.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
--------------------------------------------------------------------------------
/sos/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 |
3 | buildscript {
4 | repositories {
5 | jcenter()
6 | }
7 | dependencies {
8 | classpath 'com.android.tools.build:gradle:2.1.2'
9 |
10 | // NOTE: Do not place your application dependencies here; they belong
11 | // in the individual module build.gradle files
12 | }
13 | }
14 |
15 | allprojects {
16 | repositories {
17 | jcenter()
18 | }
19 | }
20 |
21 | task clean(type: Delete) {
22 | delete rootProject.buildDir
23 | }
24 |
--------------------------------------------------------------------------------
/sos/app/src/main/res/layout/soswidget.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
15 |
16 |
--------------------------------------------------------------------------------
/sos/.idea/runConfigurations.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
11 |
12 |
--------------------------------------------------------------------------------
/sos/app/src/main/res/values/drawables.xml:
--------------------------------------------------------------------------------
1 |
2 | - @android:drawable/ic_menu_camera
3 | - @android:drawable/ic_menu_gallery
4 | - @android:drawable/ic_menu_slideshow
5 | - @android:drawable/ic_menu_manage
6 | - @android:drawable/ic_menu_share
7 | - @android:drawable/ic_menu_send
8 |
9 |
--------------------------------------------------------------------------------
/sos/app/src/main/res/drawable-v21/ic_menu_camera.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
12 |
13 |
--------------------------------------------------------------------------------
/sos/app/src/main/res/layout/activity_custom__drawing.xml:
--------------------------------------------------------------------------------
1 |
2 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/sos/app/src/main/res/menu/menu_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/sos/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in C:\Users\Pulkit\AppData\Local\Android\Sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
--------------------------------------------------------------------------------
/sos/app/src/main/res/drawable-v21/ic_menu_share.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/sos/.idea/compiler.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/sos/.idea/gradle.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/sos/app/src/androidTest/java/com/example/pulkit/sos/ExampleInstrumentedTest.java:
--------------------------------------------------------------------------------
1 | package com.example.pulkit.sos;
2 |
3 | import android.content.Context;
4 | import android.support.test.InstrumentationRegistry;
5 | import android.support.test.runner.AndroidJUnit4;
6 |
7 | import org.junit.Test;
8 | import org.junit.runner.RunWith;
9 |
10 | import static org.junit.Assert.*;
11 |
12 | /**
13 | * Instrumentation test, which will execute on an Android device.
14 | *
15 | * @see Testing documentation
16 | */
17 | @RunWith(AndroidJUnit4.class)
18 | public class ExampleInstrumentedTest {
19 | @Test
20 | public void useAppContext() throws Exception {
21 | // Context of the app under test.
22 | Context appContext = InstrumentationRegistry.getTargetContext();
23 |
24 | assertEquals("com.example.pulkit.sos", appContext.getPackageName());
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/sos/app/src/main/res/menu/main_activity1.xml:
--------------------------------------------------------------------------------
1 |
2 |
26 |
--------------------------------------------------------------------------------
/sos/app/src/release/res/values/google_maps_api.xml:
--------------------------------------------------------------------------------
1 |
2 |
19 |
20 | YOUR_KEY_HERE
21 |
22 |
23 |
--------------------------------------------------------------------------------
/sos/gradle.properties:
--------------------------------------------------------------------------------
1 | ## Project-wide Gradle settings.
2 | #
3 | # For more details on how to configure your build environment visit
4 | # http://www.gradle.org/docs/current/userguide/build_environment.html
5 | #
6 | # Specifies the JVM arguments used for the daemon process.
7 | # The setting is particularly useful for tweaking memory settings.
8 | # Default value: -Xmx10248m -XX:MaxPermSize=256m
9 | # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
10 | #
11 | # When configured, Gradle will run in incubating parallel mode.
12 | # This option should only be used with decoupled projects. More details, visit
13 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
14 | # org.gradle.parallel=true
15 | #Tue Jun 27 18:34:38 IST 2017
16 | systemProp.http.proxyPassword=edcguest
17 | systemProp.http.proxyHost=172.31.102.14
18 | org.gradle.jvmargs=-Xmx1536m
19 | systemProp.http.proxyPort=3128
20 | systemProp.http.proxyUser=edcguest
21 |
--------------------------------------------------------------------------------
/sos/app/src/debug/res/values/google_maps_api.xml:
--------------------------------------------------------------------------------
1 |
2 |
18 | AIzaSyAS8Vumbf9NAwvfLVzDrog_XyGPab9xuFQ
19 |
20 |
--------------------------------------------------------------------------------
/sos/app/src/main/res/menu/send_message1.xml:
--------------------------------------------------------------------------------
1 |
2 |
30 |
--------------------------------------------------------------------------------
/sos/app/src/main/res/layout/activity_main1.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
15 |
16 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/sos/app/src/main/res/layout/activity_send_message1.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
15 |
16 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/sos/app/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | 30dp
8 | 20dp
9 | 120dp
10 | 30dp
11 | 16dp
12 |
13 |
17 | 8dp
18 |
19 | 16dp
20 | 160dp
21 | 16dp
22 |
23 | 16dp
24 | 16dp
25 |
26 |
--------------------------------------------------------------------------------
/sos/app/src/main/java/com/example/pulkit/sos/PrefManager.java:
--------------------------------------------------------------------------------
1 | package com.example.pulkit.sos;
2 |
3 | import android.content.Context;
4 | import android.content.SharedPreferences;
5 |
6 | /**
7 | * Created by Pulkit on 3/3/2017.
8 | */
9 | public class PrefManager {
10 | SharedPreferences pref;
11 | SharedPreferences.Editor editor;
12 | Context _context;
13 |
14 | // shared pref mode
15 | int PRIVATE_MODE = 0;
16 |
17 | // Shared preferences file name
18 | private static final String PREF_NAME = "androidhive-welcome";
19 |
20 | private static final String IS_FIRST_TIME_LAUNCH = "IsFirstTimeLaunch";
21 |
22 | public PrefManager(Context context) {
23 | this._context = context;
24 | pref = _context.getSharedPreferences(PREF_NAME, PRIVATE_MODE);
25 | editor = pref.edit();
26 | }
27 |
28 | public void setFirstTimeLaunch(boolean isFirstTime) {
29 | editor.putBoolean(IS_FIRST_TIME_LAUNCH, isFirstTime);
30 | editor.commit();
31 | }
32 |
33 | public boolean isFirstTimeLaunch() {
34 | return pref.getBoolean(IS_FIRST_TIME_LAUNCH, true);
35 | }
36 |
37 | }
38 |
39 |
--------------------------------------------------------------------------------
/sos/app/src/main/java/com/example/pulkit/sos/Settings.java:
--------------------------------------------------------------------------------
1 | package com.example.pulkit.sos;
2 |
3 | import android.content.Context;
4 | import android.content.SharedPreferences;
5 | import android.support.v7.app.AppCompatActivity;
6 | import android.os.Bundle;
7 | import android.widget.CompoundButton;
8 | import android.widget.Switch;
9 |
10 | public class Settings extends AppCompatActivity {
11 | SharedPreferences sp;
12 | Switch aswitch;
13 | boolean checked;
14 | @Override
15 | protected void onCreate(Bundle savedInstanceState) {
16 | super.onCreate(savedInstanceState);
17 | setContentView(R.layout.activity_settings);
18 | aswitch= (Switch) findViewById(R.id.my_switch);
19 | sp = getSharedPreferences("Settings", Context.MODE_PRIVATE);
20 | aswitch.setChecked(sp.getBoolean("isChecked",false));
21 | aswitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
22 | @Override
23 | public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
24 | if(b)
25 | checked=true;
26 | else
27 | checked=false;
28 | SharedPreferences.Editor ed= sp.edit();
29 | ed.putBoolean("isChecked",checked);
30 | ed.commit();
31 | }
32 | });
33 |
34 | }
35 |
36 |
37 | }
38 |
--------------------------------------------------------------------------------
/sos/app/src/main/res/menu/activity_main1_drawer.xml:
--------------------------------------------------------------------------------
1 |
2 |
38 |
--------------------------------------------------------------------------------
/sos/app/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.application'
2 |
3 | android {
4 | compileSdkVersion 23
5 | buildToolsVersion "23.0.3"
6 | defaultConfig {
7 | applicationId "com.example.pulkit.sos"
8 | minSdkVersion 19
9 | targetSdkVersion 23
10 | versionCode 1
11 | versionName "1.0"
12 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
13 | vectorDrawables.useSupportLibrary = true
14 | }
15 | buildTypes {
16 | release {
17 | minifyEnabled false
18 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
19 | }
20 | }
21 | }
22 |
23 | dependencies {
24 | compile fileTree(dir: 'libs', include: ['*.jar'])
25 | androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
26 | exclude group: 'com.android.support', module: 'support-annotations'
27 | })
28 | compile 'com.google.android.gms:play-services:6.5.87'
29 | compile 'com.android.support:appcompat-v7:23.3.0'
30 | // compile 'com.google.android.gms:play-services:10.0.1'
31 | compile 'com.android.support:design:23.3.0'
32 | compile 'com.android.support.test.espresso:espresso-core:2.2.2'
33 | compile 'com.android.support:support-v4:23.3.0'
34 | compile 'com.android.support:support-vector-drawable:23.3.0'
35 | // testCompile 'junit:junit:4.12'
36 | }
37 |
--------------------------------------------------------------------------------
/sos/app/src/main/res/menu/activity_send_message1_drawer.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
9 |
13 |
17 |
21 |
25 |
26 |
27 | -
28 |
29 |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/sos/app/src/main/res/layout/app_bar_main1.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
14 |
15 |
21 |
22 |
23 |
24 |
25 |
26 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/sos/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
28 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/sos/app/src/main/res/layout/app_bar_send_message1.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
14 |
15 |
21 |
22 |
23 |
24 |
25 |
26 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/sos/app/src/main/res/layout/activity_maps.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 |
15 |
19 |
25 |
31 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/sos/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #3f4db5
4 | #258e8b
5 | #4076ff
6 |
7 |
8 | #f64c73
9 | #20d2bb
10 | #3395ff
11 | #c873f4
12 |
13 |
14 | #d1395c
15 | #14a895
16 | #2278d4
17 | #a854d4
18 |
19 |
20 | #f98da5
21 | #8cf9eb
22 | #93c6fd
23 | #e4b5fc
24 |
25 |
26 | - @color/dot_light_screen1
27 | - @color/dot_light_screen2
28 | - @color/dot_light_screen3
29 | - @color/dot_light_screen4
30 |
31 |
32 |
33 | - @color/dot_dark_screen1
34 | - @color/dot_dark_screen2
35 | - @color/dot_dark_screen3
36 | - @color/dot_dark_screen4
37 |
38 |
39 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Stay-Safe-SOS
2 | An Android Operating System based Emergency SOS app.
3 |
4 | ## Features :
5 | - [x] Ability to save upto 5 emergency contacts.
6 | - [x] Sending current location to emergency contacts in case of SOS triggers.
7 | - [x] Show map of vicinity with emergency points(**Hospitals**, **Police Stations**, and **Fire Stations**).
8 | (Uses [Google Nearby Places API](https://developers.google.com/places/android-api/) )
9 | - [x] Record audio using microphone and save it to phone's memory.
10 | - [x] Ability to add SOS button as a widget to homescreen.
11 | - [x] Double tap to cancel triggered sos.
12 | - [x] Draw Pattern to cancel triggered sos.
13 | - [x] Trigger sos when phone or the user falls on the ground(*Partially implemented*).
14 | - [ ] Trigger sos on voice recognition.
15 | - [ ] Runtime Permissions
16 |
17 | ### Some screenshots of the application :
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 | *Tested on Android 5.0 and below.*
26 |
--------------------------------------------------------------------------------
/sos/app/src/main/res/layout/nav_header_send_message1.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
25 |
26 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/sos/app/src/main/res/layout/nav_header_main1.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
26 |
27 |
37 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/sos/app/src/main/java/com/example/pulkit/sos/DownloadUrl.java:
--------------------------------------------------------------------------------
1 | package com.example.pulkit.sos;
2 |
3 | import android.util.Log;
4 |
5 | import java.io.BufferedReader;
6 | import java.io.IOException;
7 | import java.io.InputStream;
8 | import java.io.InputStreamReader;
9 | import java.net.HttpURLConnection;
10 | import java.net.URL;
11 |
12 | /**
13 | * Created by Pulkit on 2/24/2017.
14 | */
15 | public class DownloadUrl {
16 |
17 | public String readUrl(String strUrl) throws IOException {
18 | String data = "";
19 | InputStream iStream = null;
20 | HttpURLConnection urlConnection = null;
21 | try {
22 | URL url = new URL(strUrl);
23 |
24 | // Creating an http connection to communicate with url
25 | urlConnection = (HttpURLConnection) url.openConnection();
26 |
27 | // Connecting to url
28 | urlConnection.connect();
29 |
30 | // Reading data from url
31 | iStream = urlConnection.getInputStream();
32 |
33 | BufferedReader br = new BufferedReader(new InputStreamReader(iStream));
34 |
35 | StringBuffer sb = new StringBuffer();
36 |
37 | String line = "";
38 | while ((line = br.readLine()) != null) {
39 | sb.append(line);
40 | }
41 |
42 | data = sb.toString();
43 | Log.d("downloadUrl", data.toString());
44 | br.close();
45 |
46 | } catch (Exception e) {
47 | Log.d("Exception", e.toString());
48 | } finally {
49 | iStream.close();
50 | urlConnection.disconnect();
51 | }
52 | return data;
53 | }
54 | }
55 |
56 |
--------------------------------------------------------------------------------
/sos/app/src/main/res/layout/welcome_slide4.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
11 |
12 |
19 |
28 |
29 |
30 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/sos/app/src/main/res/layout/welcome_slide1.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
11 |
12 |
20 |
29 |
30 |
31 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/sos/app/src/main/res/layout/welcome_slide3.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
12 |
13 |
20 |
29 |
30 |
31 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/sos/app/src/main/java/com/example/pulkit/sos/soswidget.java:
--------------------------------------------------------------------------------
1 | package com.example.pulkit.sos;
2 |
3 | import android.app.PendingIntent;
4 | import android.appwidget.AppWidgetManager;
5 | import android.appwidget.AppWidgetProvider;
6 | import android.content.Context;
7 | import android.content.Intent;
8 | import android.widget.RemoteViews;
9 |
10 | /**
11 | * Implementation of App Widget functionality.
12 | */
13 | public class soswidget extends AppWidgetProvider {
14 |
15 | static void updateAppWidget(Context context, AppWidgetManager appWidgetManager,
16 | int appWidgetId) {
17 |
18 | CharSequence widgetText = context.getString(R.string.appwidget_text);
19 | // Construct the RemoteViews object
20 | RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.soswidget);
21 | //views.setTextViewText(R.id.appwidget_text, widgetText);
22 | Intent openApp= new Intent(context,SendMessage1.class);
23 | PendingIntent pi = PendingIntent.getActivity(context,0,openApp,0);
24 | views.setOnClickPendingIntent(R.id.widgetbutton,pi);
25 | // Instruct the widget manager to update the widget
26 | appWidgetManager.updateAppWidget(appWidgetId, views);
27 | }
28 |
29 | @Override
30 | public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
31 | // There may be multiple widgets active, so update all of them
32 | for (int appWidgetId : appWidgetIds) {
33 | updateAppWidget(context, appWidgetManager, appWidgetId);
34 | }
35 | }
36 |
37 | @Override
38 | public void onEnabled(Context context) {
39 | // Enter relevant functionality for when the first widget is created
40 | }
41 |
42 | @Override
43 | public void onDisabled(Context context) {
44 | // Enter relevant functionality for when the last widget is disabled
45 | }
46 | }
47 |
48 |
--------------------------------------------------------------------------------
/sos/app/src/main/res/layout/activity_send_message.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
11 |
12 |
13 |
14 |
21 |
33 |
37 |
47 |
48 |
49 |
50 |
--------------------------------------------------------------------------------
/sos/app/src/main/res/layout/welcome_slide2.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
14 |
21 |
30 |
31 |
32 |
43 |
44 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/sos/app/src/main/res/layout/activity_welcome.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
19 |
20 |
28 |
29 |
35 |
36 |
45 |
46 |
55 |
56 |
--------------------------------------------------------------------------------
/sos/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/sos/gradlew.bat:
--------------------------------------------------------------------------------
1 | @if "%DEBUG%" == "" @echo off
2 | @rem ##########################################################################
3 | @rem
4 | @rem Gradle startup script for Windows
5 | @rem
6 | @rem ##########################################################################
7 |
8 | @rem Set local scope for the variables with windows NT shell
9 | if "%OS%"=="Windows_NT" setlocal
10 |
11 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
12 | set DEFAULT_JVM_OPTS=
13 |
14 | set DIRNAME=%~dp0
15 | if "%DIRNAME%" == "" set DIRNAME=.
16 | set APP_BASE_NAME=%~n0
17 | set APP_HOME=%DIRNAME%
18 |
19 | @rem Find java.exe
20 | if defined JAVA_HOME goto findJavaFromJavaHome
21 |
22 | set JAVA_EXE=java.exe
23 | %JAVA_EXE% -version >NUL 2>&1
24 | if "%ERRORLEVEL%" == "0" goto init
25 |
26 | echo.
27 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
28 | echo.
29 | echo Please set the JAVA_HOME variable in your environment to match the
30 | echo location of your Java installation.
31 |
32 | goto fail
33 |
34 | :findJavaFromJavaHome
35 | set JAVA_HOME=%JAVA_HOME:"=%
36 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe
37 |
38 | if exist "%JAVA_EXE%" goto init
39 |
40 | echo.
41 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
42 | echo.
43 | echo Please set the JAVA_HOME variable in your environment to match the
44 | echo location of your Java installation.
45 |
46 | goto fail
47 |
48 | :init
49 | @rem Get command-line arguments, handling Windowz variants
50 |
51 | if not "%OS%" == "Windows_NT" goto win9xME_args
52 | if "%@eval[2+2]" == "4" goto 4NT_args
53 |
54 | :win9xME_args
55 | @rem Slurp the command line arguments.
56 | set CMD_LINE_ARGS=
57 | set _SKIP=2
58 |
59 | :win9xME_args_slurp
60 | if "x%~1" == "x" goto execute
61 |
62 | set CMD_LINE_ARGS=%*
63 | goto execute
64 |
65 | :4NT_args
66 | @rem Get arguments from the 4NT Shell from JP Software
67 | set CMD_LINE_ARGS=%$
68 |
69 | :execute
70 | @rem Setup the command line
71 |
72 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
73 |
74 | @rem Execute Gradle
75 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
76 |
77 | :end
78 | @rem End local scope for the variables with windows NT shell
79 | if "%ERRORLEVEL%"=="0" goto mainEnd
80 |
81 | :fail
82 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
83 | rem the _cmd.exe /c_ return code!
84 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
85 | exit /b 1
86 |
87 | :mainEnd
88 | if "%OS%"=="Windows_NT" endlocal
89 |
90 | :omega
91 |
--------------------------------------------------------------------------------
/sos/app/src/main/java/com/example/pulkit/sos/GetNearbyPlacesData.java:
--------------------------------------------------------------------------------
1 | package com.example.pulkit.sos;
2 |
3 | import android.os.AsyncTask;
4 | import android.util.Log;
5 |
6 | import com.google.android.gms.maps.CameraUpdateFactory;
7 | import com.google.android.gms.maps.GoogleMap;
8 | import com.google.android.gms.maps.model.BitmapDescriptorFactory;
9 | import com.google.android.gms.maps.model.LatLng;
10 | import com.google.android.gms.maps.model.MarkerOptions;
11 |
12 | import java.util.HashMap;
13 | import java.util.List;
14 |
15 | /**
16 | * Created by Pulkit on 2/24/2017.
17 | */
18 |
19 | public class GetNearbyPlacesData extends AsyncTask