From f9143a7bbd7465a1ff767bf25a502bd69930f9ae Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 26 Apr 2022 15:15:00 +0800 Subject: [PATCH 1/7] m --- src/FallSafety/.gitignore | 14 + src/FallSafety/.idea/.gitignore | 3 + src/FallSafety/.idea/codeStyles/Project.xml | 116 +++++++++ src/FallSafety/.idea/compiler.xml | 6 + .../.idea/deploymentTargetDropDown.xml | 17 ++ src/FallSafety/.idea/gradle.xml | 20 ++ src/FallSafety/.idea/jarRepositories.xml | 25 ++ src/FallSafety/.idea/misc.xml | 34 +++ src/FallSafety/.idea/render.experimental.xml | 6 + .../05efc8b1657769a27696d478ded1e95f38737233 | 0 .../0712df971a99ac4d2fccb8e0fb19f377f3374cca | 0 .../1bde2df39dafd6172c4acd09bb6ab162d1b564f3 | 15 ++ .../1c2ab64142f0f5030f61b56701c99af9d8c46ce0 | 15 ++ .../2838cca4d9366e68bea04876b0b6ac18707db3c5 | 0 .../2a45a911a8f1836b0b6c5b758962572012d8f8c3 | 0 .../2afbb999f001938c88fa43fc2ef52abf0f8213e4 | 0 .../39a15e2d95c0634318403cc36976da21b44cbdfe | 0 .../48fd53478cffefbba80fa711af4c2c369c8641fd | 0 .../4dd16f90068ddc23e53589a394e09d84e34dca70 | 4 + .../51e1c5d383dfaa35e0e7e5873a0a99355a86880f | 0 .../568a87091bc33befac86bcc677e70c7e9868c5ff | 0 .../58b36f2c0756c995764b9533aafec672bb436a71 | 27 ++ .../5bbfa66edb4db3c7c33c5181f43510990d3307f9 | 0 .../6ecd6000a7b6f4a2884412ff19f74193ed089648 | 0 .../8c55c3ccc257e5907959013f99656e4c8ec3903e | 0 .../8d1fd446c8c6d99790fde41bbe380ade9f0ca396 | 2 + .../8dfb3e76c976382683b78bf748cdcdc30f45b844 | 26 ++ .../976d53529601c2301bf234ecaf0dfa80efd4d05f | 0 .../9e08934d811afe28fbc77aaa3c0d747b94348db9 | 0 .../a5cc2925ca8258af241be7e5b0381edf30266302 | 0 .../b985de2409fd2f293c2d4c9b033860b3f0fb6816 | 9 + .../ba1ffd1a9040a917162df3da1563e36410b4a33b | 0 .../dd1ca85ccab4875ceabface9e43219792c8be9c3 | 25 ++ .../ea375f37886bafe63f95ef39e765923c1380607f | 20 ++ .../f07866736216be0ee2aba49e392191aeae700a35 | 0 .../f4a01d6a4fcb971362ec00a83903fd3902f52164 | 0 .../.idea/sonarlint/issuestore/index.pb | 56 ++++ src/FallSafety/.idea/vcs.xml | 6 + src/FallSafety/app/.gitignore | 1 + src/FallSafety/app/build.gradle | 31 +++ .../fallsafety/ExampleInstrumentedTest.java | 27 ++ .../app/src/main/AndroidManifest.xml | 78 ++++++ .../app/src/main/ic_launcher-web.png | Bin 0 -> 45165 bytes .../com/example/fallsafety/ActiveService.java | 243 ++++++++++++++++++ .../com/example/fallsafety/AppWidget.java | 50 ++++ .../com/example/fallsafety/CallHelper.java | 65 +++++ .../example/fallsafety/ContactsActivity.java | 86 +++++++ .../example/fallsafety/ContactsDbAdapter.java | 179 +++++++++++++ .../com/example/fallsafety/EditActivity.java | 155 +++++++++++ .../com/example/fallsafety/Emergencia.java | 214 +++++++++++++++ .../com/example/fallsafety/MainActivity.java | 164 ++++++++++++ .../example/fallsafety/PostFallDetected.java | 79 ++++++ .../com/example/fallsafety/SplashScreen.java | 36 +++ .../example/fallsafety/TelephonyReceiver.java | 40 +++ .../app/src/main/res/color/switch_color.xml | 7 + .../app/src/main/res/drawable/backbtn.xml | 7 + .../app/src/main/res/drawable/bg_color.xml | 9 + .../app/src/main/res/drawable/ic_contact.xml | 9 + .../res/drawable/ic_person_add_white_60dp.xml | 5 + .../res/drawable/ic_thumb_down_red_150dp.xml | 5 + .../res/drawable/ic_thumb_up_black_150dp.xml | 5 + .../res/drawable/ic_warning_black_24dp.xml | 5 + .../app/src/main/res/drawable/icon.png | Bin 0 -> 14044 bytes .../app/src/main/res/drawable/image.png | Bin 0 -> 113535 bytes .../src/main/res/drawable/widget_preview.png | Bin 0 -> 5203 bytes .../app/src/main/res/font/quicksand.xml | 7 + .../src/main/res/font/quicksand_medium.xml | 7 + .../src/main/res/layout/activity_contacts.xml | 23 ++ .../app/src/main/res/layout/activity_edit.xml | 102 ++++++++ .../app/src/main/res/layout/activity_main.xml | 90 +++++++ .../layout/activity_post_fall_detected.xml | 36 +++ .../res/layout/activity_splash_screen.xml | 15 ++ .../app/src/main/res/layout/app_widget.xml | 16 ++ .../app/src/main/res/layout/contacts_row.xml | 51 ++++ .../main/res/layout/emergencia_activity.xml | 56 ++++ .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 2606 bytes .../mipmap-hdpi/ic_launcher_foreground.png | Bin 0 -> 3330 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 4688 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 1741 bytes .../mipmap-mdpi/ic_launcher_foreground.png | Bin 0 -> 1774 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 2876 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 3654 bytes .../mipmap-xhdpi/ic_launcher_foreground.png | Bin 0 -> 5155 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 6746 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 6225 bytes .../mipmap-xxhdpi/ic_launcher_foreground.png | Bin 0 -> 10143 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 11322 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 9460 bytes .../mipmap-xxxhdpi/ic_launcher_foreground.png | Bin 0 -> 17107 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 17116 bytes .../app/src/main/res/values-en/strings.xml | 27 ++ .../app/src/main/res/values-v14/dimens.xml | 10 + .../src/main/res/values-zh-rCN/strings.xml | 23 ++ .../app/src/main/res/values/colors.xml | 25 ++ .../app/src/main/res/values/dimens.xml | 10 + .../app/src/main/res/values/font_certs.xml | 17 ++ .../res/values/ic_launcher_background.xml | 4 + .../src/main/res/values/preloaded_fonts.xml | 7 + .../app/src/main/res/values/strings.xml | 34 +++ .../app/src/main/res/values/styles.xml | 18 ++ .../src/main/res/xml/new_app_widget_info.xml | 12 + .../example/fallsafety/ExampleUnitTest.java | 17 ++ src/FallSafety/build.gradle | 29 +++ src/FallSafety/gradle.properties | 20 ++ .../gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 54329 bytes .../gradle/wrapper/gradle-wrapper.properties | 6 + src/FallSafety/gradlew | 172 +++++++++++++ src/FallSafety/gradlew.bat | 84 ++++++ src/FallSafety/settings.gradle | 2 + 111 files changed, 2876 insertions(+) create mode 100644 src/FallSafety/.gitignore create mode 100644 src/FallSafety/.idea/.gitignore create mode 100644 src/FallSafety/.idea/codeStyles/Project.xml create mode 100644 src/FallSafety/.idea/compiler.xml create mode 100644 src/FallSafety/.idea/deploymentTargetDropDown.xml create mode 100644 src/FallSafety/.idea/gradle.xml create mode 100644 src/FallSafety/.idea/jarRepositories.xml create mode 100644 src/FallSafety/.idea/misc.xml create mode 100644 src/FallSafety/.idea/render.experimental.xml create mode 100644 src/FallSafety/.idea/sonarlint/issuestore/0/5/05efc8b1657769a27696d478ded1e95f38737233 create mode 100644 src/FallSafety/.idea/sonarlint/issuestore/0/7/0712df971a99ac4d2fccb8e0fb19f377f3374cca create mode 100644 src/FallSafety/.idea/sonarlint/issuestore/1/b/1bde2df39dafd6172c4acd09bb6ab162d1b564f3 create mode 100644 src/FallSafety/.idea/sonarlint/issuestore/1/c/1c2ab64142f0f5030f61b56701c99af9d8c46ce0 create mode 100644 src/FallSafety/.idea/sonarlint/issuestore/2/8/2838cca4d9366e68bea04876b0b6ac18707db3c5 create mode 100644 src/FallSafety/.idea/sonarlint/issuestore/2/a/2a45a911a8f1836b0b6c5b758962572012d8f8c3 create mode 100644 src/FallSafety/.idea/sonarlint/issuestore/2/a/2afbb999f001938c88fa43fc2ef52abf0f8213e4 create mode 100644 src/FallSafety/.idea/sonarlint/issuestore/3/9/39a15e2d95c0634318403cc36976da21b44cbdfe create mode 100644 src/FallSafety/.idea/sonarlint/issuestore/4/8/48fd53478cffefbba80fa711af4c2c369c8641fd create mode 100644 src/FallSafety/.idea/sonarlint/issuestore/4/d/4dd16f90068ddc23e53589a394e09d84e34dca70 create mode 100644 src/FallSafety/.idea/sonarlint/issuestore/5/1/51e1c5d383dfaa35e0e7e5873a0a99355a86880f create mode 100644 src/FallSafety/.idea/sonarlint/issuestore/5/6/568a87091bc33befac86bcc677e70c7e9868c5ff create mode 100644 src/FallSafety/.idea/sonarlint/issuestore/5/8/58b36f2c0756c995764b9533aafec672bb436a71 create mode 100644 src/FallSafety/.idea/sonarlint/issuestore/5/b/5bbfa66edb4db3c7c33c5181f43510990d3307f9 create mode 100644 src/FallSafety/.idea/sonarlint/issuestore/6/e/6ecd6000a7b6f4a2884412ff19f74193ed089648 create mode 100644 src/FallSafety/.idea/sonarlint/issuestore/8/c/8c55c3ccc257e5907959013f99656e4c8ec3903e create mode 100644 src/FallSafety/.idea/sonarlint/issuestore/8/d/8d1fd446c8c6d99790fde41bbe380ade9f0ca396 create mode 100644 src/FallSafety/.idea/sonarlint/issuestore/8/d/8dfb3e76c976382683b78bf748cdcdc30f45b844 create mode 100644 src/FallSafety/.idea/sonarlint/issuestore/9/7/976d53529601c2301bf234ecaf0dfa80efd4d05f create mode 100644 src/FallSafety/.idea/sonarlint/issuestore/9/e/9e08934d811afe28fbc77aaa3c0d747b94348db9 create mode 100644 src/FallSafety/.idea/sonarlint/issuestore/a/5/a5cc2925ca8258af241be7e5b0381edf30266302 create mode 100644 src/FallSafety/.idea/sonarlint/issuestore/b/9/b985de2409fd2f293c2d4c9b033860b3f0fb6816 create mode 100644 src/FallSafety/.idea/sonarlint/issuestore/b/a/ba1ffd1a9040a917162df3da1563e36410b4a33b create mode 100644 src/FallSafety/.idea/sonarlint/issuestore/d/d/dd1ca85ccab4875ceabface9e43219792c8be9c3 create mode 100644 src/FallSafety/.idea/sonarlint/issuestore/e/a/ea375f37886bafe63f95ef39e765923c1380607f create mode 100644 src/FallSafety/.idea/sonarlint/issuestore/f/0/f07866736216be0ee2aba49e392191aeae700a35 create mode 100644 src/FallSafety/.idea/sonarlint/issuestore/f/4/f4a01d6a4fcb971362ec00a83903fd3902f52164 create mode 100644 src/FallSafety/.idea/sonarlint/issuestore/index.pb create mode 100644 src/FallSafety/.idea/vcs.xml create mode 100644 src/FallSafety/app/.gitignore create mode 100644 src/FallSafety/app/build.gradle create mode 100644 src/FallSafety/app/src/androidTest/java/com/example/fallsafety/ExampleInstrumentedTest.java create mode 100644 src/FallSafety/app/src/main/AndroidManifest.xml create mode 100644 src/FallSafety/app/src/main/ic_launcher-web.png create mode 100644 src/FallSafety/app/src/main/java/com/example/fallsafety/ActiveService.java create mode 100644 src/FallSafety/app/src/main/java/com/example/fallsafety/AppWidget.java create mode 100644 src/FallSafety/app/src/main/java/com/example/fallsafety/CallHelper.java create mode 100644 src/FallSafety/app/src/main/java/com/example/fallsafety/ContactsActivity.java create mode 100644 src/FallSafety/app/src/main/java/com/example/fallsafety/ContactsDbAdapter.java create mode 100644 src/FallSafety/app/src/main/java/com/example/fallsafety/EditActivity.java create mode 100644 src/FallSafety/app/src/main/java/com/example/fallsafety/Emergencia.java create mode 100644 src/FallSafety/app/src/main/java/com/example/fallsafety/MainActivity.java create mode 100644 src/FallSafety/app/src/main/java/com/example/fallsafety/PostFallDetected.java create mode 100644 src/FallSafety/app/src/main/java/com/example/fallsafety/SplashScreen.java create mode 100644 src/FallSafety/app/src/main/java/com/example/fallsafety/TelephonyReceiver.java create mode 100644 src/FallSafety/app/src/main/res/color/switch_color.xml create mode 100644 src/FallSafety/app/src/main/res/drawable/backbtn.xml create mode 100644 src/FallSafety/app/src/main/res/drawable/bg_color.xml create mode 100644 src/FallSafety/app/src/main/res/drawable/ic_contact.xml create mode 100644 src/FallSafety/app/src/main/res/drawable/ic_person_add_white_60dp.xml create mode 100644 src/FallSafety/app/src/main/res/drawable/ic_thumb_down_red_150dp.xml create mode 100644 src/FallSafety/app/src/main/res/drawable/ic_thumb_up_black_150dp.xml create mode 100644 src/FallSafety/app/src/main/res/drawable/ic_warning_black_24dp.xml create mode 100644 src/FallSafety/app/src/main/res/drawable/icon.png create mode 100644 src/FallSafety/app/src/main/res/drawable/image.png create mode 100644 src/FallSafety/app/src/main/res/drawable/widget_preview.png create mode 100644 src/FallSafety/app/src/main/res/font/quicksand.xml create mode 100644 src/FallSafety/app/src/main/res/font/quicksand_medium.xml create mode 100644 src/FallSafety/app/src/main/res/layout/activity_contacts.xml create mode 100644 src/FallSafety/app/src/main/res/layout/activity_edit.xml create mode 100644 src/FallSafety/app/src/main/res/layout/activity_main.xml create mode 100644 src/FallSafety/app/src/main/res/layout/activity_post_fall_detected.xml create mode 100644 src/FallSafety/app/src/main/res/layout/activity_splash_screen.xml create mode 100644 src/FallSafety/app/src/main/res/layout/app_widget.xml create mode 100644 src/FallSafety/app/src/main/res/layout/contacts_row.xml create mode 100644 src/FallSafety/app/src/main/res/layout/emergencia_activity.xml create mode 100644 src/FallSafety/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 src/FallSafety/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 src/FallSafety/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 src/FallSafety/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png create mode 100644 src/FallSafety/app/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 src/FallSafety/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 src/FallSafety/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png create mode 100644 src/FallSafety/app/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 src/FallSafety/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 src/FallSafety/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png create mode 100644 src/FallSafety/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 src/FallSafety/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 src/FallSafety/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png create mode 100644 src/FallSafety/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 src/FallSafety/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 src/FallSafety/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png create mode 100644 src/FallSafety/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 src/FallSafety/app/src/main/res/values-en/strings.xml create mode 100644 src/FallSafety/app/src/main/res/values-v14/dimens.xml create mode 100644 src/FallSafety/app/src/main/res/values-zh-rCN/strings.xml create mode 100644 src/FallSafety/app/src/main/res/values/colors.xml create mode 100644 src/FallSafety/app/src/main/res/values/dimens.xml create mode 100644 src/FallSafety/app/src/main/res/values/font_certs.xml create mode 100644 src/FallSafety/app/src/main/res/values/ic_launcher_background.xml create mode 100644 src/FallSafety/app/src/main/res/values/preloaded_fonts.xml create mode 100644 src/FallSafety/app/src/main/res/values/strings.xml create mode 100644 src/FallSafety/app/src/main/res/values/styles.xml create mode 100644 src/FallSafety/app/src/main/res/xml/new_app_widget_info.xml create mode 100644 src/FallSafety/app/src/test/java/com/example/fallsafety/ExampleUnitTest.java create mode 100644 src/FallSafety/build.gradle create mode 100644 src/FallSafety/gradle.properties create mode 100644 src/FallSafety/gradle/wrapper/gradle-wrapper.jar create mode 100644 src/FallSafety/gradle/wrapper/gradle-wrapper.properties create mode 100644 src/FallSafety/gradlew create mode 100644 src/FallSafety/gradlew.bat create mode 100644 src/FallSafety/settings.gradle diff --git a/src/FallSafety/.gitignore b/src/FallSafety/.gitignore new file mode 100644 index 0000000..603b140 --- /dev/null +++ b/src/FallSafety/.gitignore @@ -0,0 +1,14 @@ +*.iml +.gradle +/local.properties +/.idea/caches +/.idea/libraries +/.idea/modules.xml +/.idea/workspace.xml +/.idea/navEditor.xml +/.idea/assetWizardSettings.xml +.DS_Store +/build +/captures +.externalNativeBuild +.cxx diff --git a/src/FallSafety/.idea/.gitignore b/src/FallSafety/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/src/FallSafety/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/src/FallSafety/.idea/codeStyles/Project.xml b/src/FallSafety/.idea/codeStyles/Project.xml new file mode 100644 index 0000000..681f41a --- /dev/null +++ b/src/FallSafety/.idea/codeStyles/Project.xml @@ -0,0 +1,116 @@ + + + + + + + +
+ + + + xmlns:android + + ^$ + + + +
+
+ + + + xmlns:.* + + ^$ + + + BY_NAME + +
+
+ + + + .*:id + + http://schemas.android.com/apk/res/android + + + +
+
+ + + + .*:name + + http://schemas.android.com/apk/res/android + + + +
+
+ + + + name + + ^$ + + + +
+
+ + + + style + + ^$ + + + +
+
+ + + + .* + + ^$ + + + BY_NAME + +
+
+ + + + .* + + http://schemas.android.com/apk/res/android + + + ANDROID_ATTRIBUTE_ORDER + +
+
+ + + + .* + + .* + + + BY_NAME + +
+
+
+
+
+
\ No newline at end of file diff --git a/src/FallSafety/.idea/compiler.xml b/src/FallSafety/.idea/compiler.xml new file mode 100644 index 0000000..61a9130 --- /dev/null +++ b/src/FallSafety/.idea/compiler.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/FallSafety/.idea/deploymentTargetDropDown.xml b/src/FallSafety/.idea/deploymentTargetDropDown.xml new file mode 100644 index 0000000..eaec1b9 --- /dev/null +++ b/src/FallSafety/.idea/deploymentTargetDropDown.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/FallSafety/.idea/gradle.xml b/src/FallSafety/.idea/gradle.xml new file mode 100644 index 0000000..526b4c2 --- /dev/null +++ b/src/FallSafety/.idea/gradle.xml @@ -0,0 +1,20 @@ + + + + + + + \ No newline at end of file diff --git a/src/FallSafety/.idea/jarRepositories.xml b/src/FallSafety/.idea/jarRepositories.xml new file mode 100644 index 0000000..a5f05cd --- /dev/null +++ b/src/FallSafety/.idea/jarRepositories.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/FallSafety/.idea/misc.xml b/src/FallSafety/.idea/misc.xml new file mode 100644 index 0000000..4cae896 --- /dev/null +++ b/src/FallSafety/.idea/misc.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/src/FallSafety/.idea/render.experimental.xml b/src/FallSafety/.idea/render.experimental.xml new file mode 100644 index 0000000..8ec256a --- /dev/null +++ b/src/FallSafety/.idea/render.experimental.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/src/FallSafety/.idea/sonarlint/issuestore/0/5/05efc8b1657769a27696d478ded1e95f38737233 b/src/FallSafety/.idea/sonarlint/issuestore/0/5/05efc8b1657769a27696d478ded1e95f38737233 new file mode 100644 index 0000000..e69de29 diff --git a/src/FallSafety/.idea/sonarlint/issuestore/0/7/0712df971a99ac4d2fccb8e0fb19f377f3374cca b/src/FallSafety/.idea/sonarlint/issuestore/0/7/0712df971a99ac4d2fccb8e0fb19f377f3374cca new file mode 100644 index 0000000..e69de29 diff --git a/src/FallSafety/.idea/sonarlint/issuestore/1/b/1bde2df39dafd6172c4acd09bb6ab162d1b564f3 b/src/FallSafety/.idea/sonarlint/issuestore/1/b/1bde2df39dafd6172c4acd09bb6ab162d1b564f3 new file mode 100644 index 0000000..e95c11d --- /dev/null +++ b/src/FallSafety/.idea/sonarlint/issuestore/1/b/1bde2df39dafd6172c4acd09bb6ab162d1b564f3 @@ -0,0 +1,15 @@ + +f +java:S1301*"KReplace this "switch" statement by "if" statements to increase readability.(ד +P java:S110" +O java:S106"9Replace this use of System.out or System.err by a logger.( + +java:S1186"Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.( +V java:S110"Declare "y" and all following declarations on a separate line.(ԕ +W +java:S1659%"ADeclare "medY" and all following declarations on a separate line.(ߞ +o +java:S1450#"YRemove the "mSensorAcc" field and declare it as a local variable in the relevant methods.( +` +java:S1124="EReorder the modifiers to comply with the Java Language Specification.(䊮 +[ +java:S1124>"EReorder the modifiers to comply with the Java Language Specification.(݊ +N java:S106V"9Replace this use of System.out or System.err by a logger.(ِ +S java:S106^"9Replace this use of System.out or System.err by a logger.(Ϻ +N java:S106z"9Replace this use of System.out or System.err by a logger.(л +O +java:S1854"8Remove this useless assignment to local variable "acel".( +@ +java:S1481")Remove this unused "acel" local variable.( +K +java:S1144"/Remove this unused private "crearNotif" method.(ˡ +W +java:S1144";Remove this unused private "crearCanalNotificacion" method.(É \ No newline at end of file diff --git a/src/FallSafety/.idea/sonarlint/issuestore/9/7/976d53529601c2301bf234ecaf0dfa80efd4d05f b/src/FallSafety/.idea/sonarlint/issuestore/9/7/976d53529601c2301bf234ecaf0dfa80efd4d05f new file mode 100644 index 0000000..e69de29 diff --git a/src/FallSafety/.idea/sonarlint/issuestore/9/e/9e08934d811afe28fbc77aaa3c0d747b94348db9 b/src/FallSafety/.idea/sonarlint/issuestore/9/e/9e08934d811afe28fbc77aaa3c0d747b94348db9 new file mode 100644 index 0000000..e69de29 diff --git a/src/FallSafety/.idea/sonarlint/issuestore/a/5/a5cc2925ca8258af241be7e5b0381edf30266302 b/src/FallSafety/.idea/sonarlint/issuestore/a/5/a5cc2925ca8258af241be7e5b0381edf30266302 new file mode 100644 index 0000000..e69de29 diff --git a/src/FallSafety/.idea/sonarlint/issuestore/b/9/b985de2409fd2f293c2d4c9b033860b3f0fb6816 b/src/FallSafety/.idea/sonarlint/issuestore/b/9/b985de2409fd2f293c2d4c9b033860b3f0fb6816 new file mode 100644 index 0000000..207d55e --- /dev/null +++ b/src/FallSafety/.idea/sonarlint/issuestore/b/9/b985de2409fd2f293c2d4c9b033860b3f0fb6816 @@ -0,0 +1,9 @@ + +V java:S110"Remove this unused import 'android.content.pm.PackageManager'.( +F +java:S1659"+Declare "mTelefonoText" on a separate line.( +F +java:S1172v"+Remove this unused method parameter "view".( +H +java:S1128 +"-Remove this unused import 'android.os.Build'.(Ǥ +F +java:S1172k"+Remove this unused method parameter "view".( +M +java:S1481("2Remove this unused "confirmButton" local variable.( +J +java:S1066V"/Merge this if statement with the enclosing one.( \ No newline at end of file diff --git a/src/FallSafety/.idea/sonarlint/issuestore/e/a/ea375f37886bafe63f95ef39e765923c1380607f b/src/FallSafety/.idea/sonarlint/issuestore/e/a/ea375f37886bafe63f95ef39e765923c1380607f new file mode 100644 index 0000000..87d7578 --- /dev/null +++ b/src/FallSafety/.idea/sonarlint/issuestore/e/a/ea375f37886bafe63f95ef39e765923c1380607f @@ -0,0 +1,20 @@ + +P +java:S1161x":Add the "@Override" annotation above this method signature( +B +java:S1172"+Remove this unused method parameter "view".( +d java:S100"NRename this method name to match the regular expression '^[a-z][a-zA-Z0-9]*$'.( +D +java:S1066|"/Merge this if statement with the enclosing one.(Ƕ( + +java:S1186&"Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.( +U +java:S1854;":Remove this useless assignment to local variable "mRowId".( +Q java:S110"app/src/main/java/com/example/fallsafety/PostFallDetected.java,1\b\1bde2df39dafd6172c4acd09bb6ab162d1b564f3 +j +:app/src/main/java/com/example/fallsafety/EditActivity.java,d\d\dd1ca85ccab4875ceabface9e43219792c8be9c3 +T +$.idea/modules/app/FallSafety.app.iml,9\7\976d53529601c2301bf234ecaf0dfa80efd4d05f +r +B.idea/libraries/Gradle__androidx_appcompat_appcompat_1_2_0_aar.xml,b\a\ba1ffd1a9040a917162df3da1563e36410b4a33b +m +=app/src/test/java/com/example/fallsafety/ExampleUnitTest.java,5\6\568a87091bc33befac86bcc677e70c7e9868c5ff +L +.idea/codeStyles/Project.xml,6\e\6ecd6000a7b6f4a2884412ff19f74193ed089648 +p +@.idea/libraries/Gradle__androidx_activity_activity_1_0_0_aar.xml,4\8\48fd53478cffefbba80fa711af4c2c369c8641fd +n +>app/src/main/java/com/example/fallsafety/ContactsActivity.java,b\9\b985de2409fd2f293c2d4c9b033860b3f0fb6816 +: + +.gitignore,a\5\a5cc2925ca8258af241be7e5b0381edf30266302 +A +gradle.properties,2\a\2afbb999f001938c88fa43fc2ef52abf0f8213e4 +7 +gradlew,5\b\5bbfa66edb4db3c7c33c5181f43510990d3307f9 +; + gradlew.bat,2\a\2a45a911a8f1836b0b6c5b758962572012d8f8c3 +@ +local.properties,0\7\0712df971a99ac4d2fccb8e0fb19f377f3374cca +? +settings.gradle,0\5\05efc8b1657769a27696d478ded1e95f38737233 +> +app/.gitignore,5\1\51e1c5d383dfaa35e0e7e5873a0a99355a86880f +F +app/proguard-rules.pro,9\e\9e08934d811afe28fbc77aaa3c0d747b94348db9 +g +7app/src/main/java/com/example/fallsafety/AppWidget.java,3\9\39a15e2d95c0634318403cc36976da21b44cbdfe +@ +app/build.gradle,f\4\f4a01d6a4fcb971362ec00a83903fd3902f52164 +< + build.gradle,f\0\f07866736216be0ee2aba49e392191aeae700a35 +k +;app/src/main/java/com/example/fallsafety/ActiveService.java,8\d\8dfb3e76c976382683b78bf748cdcdc30f45b844 \ No newline at end of file diff --git a/src/FallSafety/.idea/vcs.xml b/src/FallSafety/.idea/vcs.xml new file mode 100644 index 0000000..6c0b863 --- /dev/null +++ b/src/FallSafety/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/FallSafety/app/.gitignore b/src/FallSafety/app/.gitignore new file mode 100644 index 0000000..796b96d --- /dev/null +++ b/src/FallSafety/app/.gitignore @@ -0,0 +1 @@ +/build diff --git a/src/FallSafety/app/build.gradle b/src/FallSafety/app/build.gradle new file mode 100644 index 0000000..55dae4b --- /dev/null +++ b/src/FallSafety/app/build.gradle @@ -0,0 +1,31 @@ +apply plugin: 'com.android.application' + +android { + compileSdkVersion 29 + buildToolsVersion "29.0.3" + defaultConfig { + applicationId "com.example.fallsafety" + minSdkVersion 23 + targetSdkVersion 29 + versionCode 1 + versionName "1.0" + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + } + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + } + } +} + +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation 'androidx.appcompat:appcompat:1.2.0' + implementation 'androidx.constraintlayout:constraintlayout:1.1.3' + testImplementation 'junit:junit:4.12' + androidTestImplementation 'androidx.test.ext:junit:1.1.1' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' + implementation 'com.google.android.material:material:1.2.0' + +} diff --git a/src/FallSafety/app/src/androidTest/java/com/example/fallsafety/ExampleInstrumentedTest.java b/src/FallSafety/app/src/androidTest/java/com/example/fallsafety/ExampleInstrumentedTest.java new file mode 100644 index 0000000..d33eec3 --- /dev/null +++ b/src/FallSafety/app/src/androidTest/java/com/example/fallsafety/ExampleInstrumentedTest.java @@ -0,0 +1,27 @@ +package com.example.fallsafety; + +import android.content.Context; + +import androidx.test.platform.app.InstrumentationRegistry; +import androidx.test.ext.junit.runners.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() { + // Context of the app under test. + Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext(); + + assertEquals("com.example.fallsafety", appContext.getPackageName()); + } +} diff --git a/src/FallSafety/app/src/main/AndroidManifest.xml b/src/FallSafety/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..9725a63 --- /dev/null +++ b/src/FallSafety/app/src/main/AndroidManifest.xml @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/FallSafety/app/src/main/ic_launcher-web.png b/src/FallSafety/app/src/main/ic_launcher-web.png new file mode 100644 index 0000000000000000000000000000000000000000..1cd924506bf5749081ad05cb20f0bf9e3d194695 GIT binary patch literal 45165 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 literal 0 HcmV?d00001 diff --git a/src/FallSafety/app/src/main/java/com/example/fallsafety/ActiveService.java b/src/FallSafety/app/src/main/java/com/example/fallsafety/ActiveService.java new file mode 100644 index 0000000..7fb8535 --- /dev/null +++ b/src/FallSafety/app/src/main/java/com/example/fallsafety/ActiveService.java @@ -0,0 +1,243 @@ +package com.example.fallsafety; + +import android.Manifest; +import android.app.Notification; +import android.app.NotificationChannel; +import android.app.NotificationManager; +import android.app.PendingIntent; +import android.app.Service; +import android.content.Context; +import android.content.Intent; +import android.content.pm.PackageManager; +import android.hardware.Sensor; +import android.hardware.SensorEvent; +import android.hardware.SensorEventListener; +import android.hardware.SensorManager; +import android.os.Build; +import android.os.CountDownTimer; +import android.os.IBinder; +import android.speech.tts.TextToSpeech; +import android.widget.Toast; +import androidx.annotation.Nullable; +import androidx.core.app.NotificationCompat; +import androidx.core.content.ContextCompat; + + +//X +//通过传感器实现跌倒检测 + +public class ActiveService extends Service implements SensorEventListener, TextToSpeech.OnInitListener { + + /* + * 传感器管理 + */ + private SensorManager mSensorManager; + private Sensor mSensorAcc; + double x, y, z; + double medX, medY, medZ; + + int i = 0; + + boolean min = false; + boolean max = false; + boolean vertical = false; + + + /* + 变量tts + */ + private TextToSpeech tts = null; + + + + double totalX = 0; + double totalY = 0; + double totalZ = 0; + + /* + * 信息通知 + */ + + private final static String CHANNEL_ID = "NOTIFICACION"; + public final static int NOTIFICACION_ID = 0; + + + static CountDownTimer countDownTimer; + Emergencia emergencia; + + + public ActiveService() { + + } + + @Override + public void onCreate() { + + + // 传感器加速度计初始化 + + //得到系统服务(传感器服务),得到senorManger对象 + mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); + //获得加速度传感器服务 + mSensorAcc = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); + //调用SensorManager 的 registerListener() 方法来注册SensorEventListener 才能使其生效 + mSensorManager.registerListener(this, mSensorAcc, SensorManager.SENSOR_DELAY_NORMAL); + + System.out.println("主动服务"); + Toast.makeText(this, "服务激活", Toast.LENGTH_SHORT).show(); + + emergencia = new Emergencia(); + emergencia.getLocation(); + + if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) { + + System.out.println("没有手机读权限"); + } + + //文字转语音 + tts = new TextToSpeech(this, this); + + + } + + @Nullable + @Override + public IBinder onBind(Intent intent) { + return null; + } + + @Override + public int onStartCommand(Intent intent, int flags, int startId) { + return Service.START_NOT_STICKY; + } + + + @Override + public void onDestroy() { + /* + 当调用方法时,服务停止,它被销毁。 + */ + super.onDestroy(); + mSensorManager.unregisterListener(this); + System.out.println("停用服务"); + Toast.makeText(this, "服务已禁用", Toast.LENGTH_SHORT).show(); + + + countDownTimer.cancel(); + + if (tts != null) { + tts.stop(); + tts.shutdown(); + } + + } + + + @Override + public void onInit(int status) { + //检查实例化是否成功 + if (status == TextToSpeech.SUCCESS) { + tts.setPitch(0.8f); + tts.setSpeechRate(1.1f); + } else if (status == TextToSpeech.ERROR) { + Toast.makeText(this, " 文本到语音转换失败 ", Toast.LENGTH_LONG).show(); + } + + } + + @Override + public void onSensorChanged(SensorEvent event) { + + synchronized (this) { + if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) { + + + /* + 当传感器发生变化时,收集值并将其保存在X、Y、Z中. + */ + + x = event.values[0]; + y = event.values[1]; + z = event.values[2]; + + double sum = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2) + Math.pow(z, 2)); + double acel = sum / SensorManager.GRAVITY_EARTH; + + /* + 包含检测算法 + */ + + + } + } + } + + + public void fallDetected() { + + /* + 实现在检测到跌倒时要执行的操作 + 系统声音提示发生事故: + 等待20秒的取消时间 + 调用每个数据库中的联系人 + 如果没有任何反应,则开始发送消息 + */ + + + Toast.makeText(this, "跌倒", Toast.LENGTH_LONG).show(); + String textCaida = getResources().getString(R.string.textCaida); + textSpoken(textCaida); + + + } + + + + + private void crearNotif() { + //应用程序按钮的创建意图和挂起意图 + Intent intentCancelar = new Intent(this, PostFallDetected.class); + PendingIntent pendingIntentCancelar = PendingIntent.getActivity(this, 0, intentCancelar, 0); + + + NotificationCompat.Builder builder = new NotificationCompat.Builder(getApplicationContext(), CHANNEL_ID); + builder.setSmallIcon(R.mipmap.ic_launcher_foreground); + builder.setContentTitle("检测到坠落"); + builder.setContentText("他们会打电话给你的紧急联系人"); + builder.setPriority(NotificationCompat.PRIORITY_HIGH); + builder.setVibrate(new long[]{1000, 1000, 2000, 1000}); + builder.setDefaults(Notification.DEFAULT_SOUND); + builder.setContentIntent(pendingIntentCancelar); + builder.setAutoCancel(true); + + + NotificationManager mNotifyMgr = + (NotificationManager) getSystemService(NOTIFICATION_SERVICE); + mNotifyMgr.notify(NOTIFICACION_ID, builder.build()); + + + } + + private void crearCanalNotificacion() { + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + CharSequence name = "Notification"; + NotificationChannel notificationChannel = new NotificationChannel(CHANNEL_ID, name, NotificationManager.IMPORTANCE_HIGH); + NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); + notificationManager.createNotificationChannel(notificationChannel); + } + + } + + private void textSpoken(String text) { + + tts.speak(text, TextToSpeech.QUEUE_ADD, null, "speak"); + } + + + @Override + public void onAccuracyChanged(Sensor sensor, int accuracy) { + + } + +} diff --git a/src/FallSafety/app/src/main/java/com/example/fallsafety/AppWidget.java b/src/FallSafety/app/src/main/java/com/example/fallsafety/AppWidget.java new file mode 100644 index 0000000..a2f4f91 --- /dev/null +++ b/src/FallSafety/app/src/main/java/com/example/fallsafety/AppWidget.java @@ -0,0 +1,50 @@ +package com.example.fallsafety; + +import android.app.PendingIntent; +import android.appwidget.AppWidgetManager; +import android.appwidget.AppWidgetProvider; +import android.content.Context; +import android.content.Intent; +import android.widget.RemoteViews; + + +//Y + +//应用程序小部件功能的实现。 + +public class AppWidget extends AppWidgetProvider { + + static void updateAppWidget(Context context, AppWidgetManager appWidgetManager, + int appWidgetId) { + + Intent intent= new Intent(context, Emergencia.class); + PendingIntent pendingIntent= PendingIntent.getActivity(context,0,intent,0); + + + // 构造RemoteView对象 + RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.app_widget); + views.setOnClickPendingIntent(R.id.btnadvicewidget, pendingIntent); + + // 指示小部件管理器更新小部件 + appWidgetManager.updateAppWidget(appWidgetId, views); + } + + @Override + public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { + // 可能有多个窗口小部件处于活动状态,因此请更新所有窗口小部件 + for (int appWidgetId : appWidgetIds) { + updateAppWidget(context, appWidgetManager, appWidgetId); + } + } + + @Override + public void onEnabled(Context context) { + // 输入创建第一个小部件时的相关功能 + } + + @Override + public void onDisabled(Context context) { + // 输入最后一个小部件被禁用时的相关功能 + } +} + diff --git a/src/FallSafety/app/src/main/java/com/example/fallsafety/CallHelper.java b/src/FallSafety/app/src/main/java/com/example/fallsafety/CallHelper.java new file mode 100644 index 0000000..3b32f24 --- /dev/null +++ b/src/FallSafety/app/src/main/java/com/example/fallsafety/CallHelper.java @@ -0,0 +1,65 @@ +package com.example.fallsafety; + + import java.lang.reflect.Method; + import android.content.BroadcastReceiver; + import android.content.Context; + import android.content.Intent; + import android.telephony.TelephonyManager; + import android.util.Log; + //Y + //拨号及辅助功能 + + + public class CallHelper extends BroadcastReceiver { + public static String TAG="PhoneStateReceiver"; + @Override + public void onReceive(Context context, Intent intent) { + if (intent.getAction().equals("android.intent.action.PHONE_STATE")) { + String state = intent.getStringExtra(TelephonyManager.EXTRA_STATE); + Log.d(TAG,"PhoneStateReceiver**Call State=" + state); + if (state.equals(TelephonyManager.EXTRA_STATE_IDLE)) { + Log.d(TAG,"PhoneStateReceiver**Idle"); + } else if (state.equals(TelephonyManager.EXTRA_STATE_RINGING)) { + // 来电 + String incomingNumber = intent.getStringExtra(TelephonyManager.EXTRA_INCOMING_NUMBER); + Log.d(TAG,"PhoneStateReceiver**Incoming call " + incomingNumber); + if (!killCall(context)) { + // 使用先前定义的方法 + Log.d(TAG,"PhoneStateReceiver **Unable to kill incoming call"); + } + } else if (state.equals(TelephonyManager.EXTRA_STATE_OFFHOOK)) { + Log.d(TAG,"PhoneStateReceiver **Offhook"); + } + } else if (intent.getAction().equals("android.intent.action.NEW_OUTGOING_CALL")) { + // 去电 + String outgoingNumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER); + Log.d(TAG,"PhoneStateReceiver **Outgoing call " + outgoingNumber); + setResultData(null); + // 杀死去电进程 + } else { + Log.d(TAG,"PhoneStateReceiver **unexpected intent.action=" + intent.getAction()); + } + } + public boolean killCall(Context context) { + try { + // Get the boring old TelephonyManager(电话管理员寻址) + TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); + // 获取getITelephony()方法 + Class classTelephony = Class.forName(telephonyManager.getClass().getName()); + Method methodGetITelephony = classTelephony.getDeclaredMethod("getITelephony"); + // 忽略方法应该是私有的 + methodGetITelephony.setAccessible(true); + //调用getITelephony()以获取ITelephony接口 + Object telephonyInterface = methodGetITelephony.invoke(telephonyManager); + // 从ITelephony获取endCall方法 + Class telephonyInterfaceClass = Class.forName(telephonyInterface.getClass().getName()); + Method methodEndCall = telephonyInterfaceClass.getDeclaredMethod("endCall"); + //调用endCall( + methodEndCall.invoke(telephonyInterface); + } catch (Exception ex) { + // 反射呼叫可能会导致错误 + Log.d(TAG,"PhoneStateReceiver **" + ex.toString()); + return false; + } return true; + } + } diff --git a/src/FallSafety/app/src/main/java/com/example/fallsafety/ContactsActivity.java b/src/FallSafety/app/src/main/java/com/example/fallsafety/ContactsActivity.java new file mode 100644 index 0000000..fd24ca3 --- /dev/null +++ b/src/FallSafety/app/src/main/java/com/example/fallsafety/ContactsActivity.java @@ -0,0 +1,86 @@ +package com.example.fallsafety; + +import androidx.appcompat.app.AppCompatActivity; + +import android.content.Intent; +import android.database.Cursor; +import android.os.Bundle; +import android.view.Menu; +import android.view.MenuItem; +import android.view.View; +import android.widget.AdapterView; +import android.widget.ListView; +import android.widget.SimpleCursorAdapter; + +//X +//有关建立便笺及编辑(应用于添加联系人的初始界面) +public class ContactsActivity extends AppCompatActivity { + + private ContactsDbAdapter dbAdapter; + private ListView m_listview; + + // 指示是否要创建新便笺或编辑现有便笺 + private static final int ACTIVITY_CREATE=0; + private static final int ACTIVITY_EDIT=1; + + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_contacts); + + //创建BD适配器并打开它 + dbAdapter = new ContactsDbAdapter(this); + dbAdapter.open(); + + //我们创建一个ListView,它将包含所有注释的标题和 + //当我们点击一个标题时,我们会启动一个编辑活动 + //具有相应ID的便笺 + m_listview = (ListView) findViewById(R.id.id_list_view); + m_listview.setOnItemClickListener( + new AdapterView.OnItemClickListener() + { + @Override + public void onItemClick(AdapterView arg0, View view, int position, long id) + { + Intent i = new Intent(view.getContext(), EditActivity.class); + i.putExtra(ContactsDbAdapter.KEY_ROWID, id); + startActivityForResult(i, ACTIVITY_EDIT); + } + } + ); + + //我们用BD中所有注释的标题填充ListView + fillData(); + } + private void fillData() { + Cursor contactsCursor = dbAdapter.fetchAllContacts(); + + //创建一个数组,其中包含要在ListView中显示的字段(仅限于注释标题) + String[] from = new String[]{ContactsDbAdapter.KEY_NOMBRE, ContactsDbAdapter.KEY_TELEFONO}; + + //数组,其中包含要绑定到前一行数组中的字段 + int[] to = new int[]{R.id.text1, R.id.text2}; + + //创建了一个SimpleCursorAdapter并将其分配给ListView以显示它 + SimpleCursorAdapter contacts = + new SimpleCursorAdapter(this, R.layout.contacts_row, contactsCursor, from, to, 0); + m_listview.setAdapter(contacts); + } + + + + public void createContact(View view) { + Intent i = new Intent(this, EditActivity.class); + startActivityForResult(i, ACTIVITY_CREATE); + } + + + + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent intent) { + super.onActivityResult(requestCode, resultCode, intent); + fillData(); + } + +} diff --git a/src/FallSafety/app/src/main/java/com/example/fallsafety/ContactsDbAdapter.java b/src/FallSafety/app/src/main/java/com/example/fallsafety/ContactsDbAdapter.java new file mode 100644 index 0000000..1be2107 --- /dev/null +++ b/src/FallSafety/app/src/main/java/com/example/fallsafety/ContactsDbAdapter.java @@ -0,0 +1,179 @@ +package com.example.fallsafety; + + +import android.content.ContentValues; +import android.content.Context; +import android.database.Cursor; +import android.database.SQLException; +import android.database.sqlite.SQLiteDatabase; +import android.database.sqlite.SQLiteOpenHelper; +import android.util.Log; +//X +//数据库类 +//类适配器,方便我们使用BD +public class ContactsDbAdapter { + private static final String TAG = "APMOV: NotesDbAdapter"; //用于日志消息 + + //数据库名称、表(在本例中为a)和版本 + private static final String DATABASE_NAME = "data"; + private static final String DATABASE_TABLE = "CONTACTS"; + private static final int DATABASE_VERSION = 1; + + //数据库表字段 + public static final String KEY_NOMBRE = "NOMBRE"; + public static final String KEY_TELEFONO = "TELEFONO"; + public static final String KEY_PRIORIDAD = "PRIORIDAD"; + public static final String KEY_ROWID = "_id"; + + //创建数据库表的SQL语句 + private static final String DATABASE_CREATE = "create table " + DATABASE_TABLE + " (" + + KEY_ROWID +" integer primary key autoincrement, " + + KEY_NOMBRE +" text not null, " + + KEY_TELEFONO +" text not null, " + + KEY_PRIORIDAD + " integer not null);"; + + private DatabaseHelper mDbHelper; + private SQLiteDatabase mDb; + private final Context mCtx; + private static class DatabaseHelper extends SQLiteOpenHelper { + + DatabaseHelper(Context context) { + super(context, DATABASE_NAME, null, DATABASE_VERSION); + } + + @Override + public void onCreate(SQLiteDatabase db) { + db.execSQL(DATABASE_CREATE); + } + + @Override + public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { + Log.w(TAG, "Upgrading database from version " + oldVersion + " to " + + newVersion + ", which will destroy all old data"); + db.execSQL("DROP TABLE IF EXISTS " + DATABASE_TABLE); + onCreate(db); + } + } + + /** + * 构造函数-获取上下文以允许数据库打开/创建 + * + * @param ctx the Context within which to work + */ + + public ContactsDbAdapter(Context ctx) { + this.mCtx = ctx; + } + + /** + * 打开notes数据库。如果无法打开,请尝试创建一个新窗口 + * 数据库的实例。如果无法创建,则向 + * 发出失败的信号 + * + * @return this (self reference, allowing this to be chained in an + * initialization call) + * @throws SQLException if the database could be neither opened or created + */ + public ContactsDbAdapter open() throws SQLException { + mDbHelper = new DatabaseHelper(mCtx); + mDb = mDbHelper.getWritableDatabase(); + return this; + } + + public void close() { + mDbHelper.close(); + } + + + /** + *使用提供的标题和正文创建新注释。如果纸条是 + *已成功创建并返回该便笺的新rowId,否则返回 + * a-1表示失败。 + * + * @param nombre the name of the contact + * @param telefono the number of the contact + * @return rowId or -1 if failed + */ + public long createContact(String nombre, String telefono, int prioridad) { + ContentValues initialValues = new ContentValues(); + initialValues.put(KEY_NOMBRE, nombre); + initialValues.put(KEY_TELEFONO, telefono); + initialValues.put(KEY_PRIORIDAD, prioridad); + + return mDb.insert(DATABASE_TABLE, null, initialValues); + } + + /** + * 删除具有给定rowId的注释 + * + * @param rowId id of note to delete + * @return true if deleted, false otherwise + */ + public boolean deleteContact(long rowId) { + + return mDb.delete(DATABASE_TABLE, KEY_ROWID + "=" + rowId, null) > 0; + } + + /** + * 在数据库中所有注释的列表上返回一个光标 + * + * @return Cursor over all notes + */ + public Cursor fetchAllContacts() { + + return mDb.query(DATABASE_TABLE, new String[] {KEY_ROWID, KEY_NOMBRE, + KEY_TELEFONO, KEY_PRIORIDAD}, null, null, null, null, KEY_PRIORIDAD+" ASC"); + } + + /** + * 返回一个光标,该光标位于与给定rowId匹配的注释处 + * + * @param rowId id of note to retrieve + * @return Cursor positioned to matching note, if found + * @throws SQLException if note could not be found/retrieved + */ + public Cursor fetchContact(long rowId) throws SQLException { + + Cursor mCursor = + + mDb.query(true, DATABASE_TABLE, new String[] {KEY_ROWID, + KEY_NOMBRE, KEY_TELEFONO, KEY_PRIORIDAD}, KEY_ROWID + "=" + rowId, null, + null, null, null, null); + if (mCursor != null) { + mCursor.moveToFirst(); + } + return mCursor; + + } + + public Cursor fetchContactPriority(int priority) throws SQLException{ + Cursor mCursor = + + mDb.query(true, DATABASE_TABLE, new String[] {KEY_ROWID, + KEY_NOMBRE, KEY_TELEFONO, KEY_PRIORIDAD}, KEY_PRIORIDAD + "=" + priority, null, + null, null, null, null); + if (mCursor != null) { + mCursor.moveToFirst(); + } + return mCursor; + } + + /** + * 使用提供的详细信息更新注释。需要更新的注释如下: + *使用rowId指定,并更改为使用标题和正文 + *传入的值 + * + * @param rowId id of note to update + * @param nombre value to set note title to + * @param telefono value to set note body to + * @return true if the note was successfully updated, false otherwise + */ + public boolean updateContact(long rowId, String nombre, String telefono, int prioridad) { + ContentValues args = new ContentValues(); + args.put(KEY_NOMBRE, nombre); + args.put(KEY_TELEFONO, telefono); + args.put(KEY_PRIORIDAD,prioridad); + + return mDb.update(DATABASE_TABLE, args, KEY_ROWID + "=" + rowId, null) > 0; + } +} diff --git a/src/FallSafety/app/src/main/java/com/example/fallsafety/EditActivity.java b/src/FallSafety/app/src/main/java/com/example/fallsafety/EditActivity.java new file mode 100644 index 0000000..6628ad2 --- /dev/null +++ b/src/FallSafety/app/src/main/java/com/example/fallsafety/EditActivity.java @@ -0,0 +1,155 @@ +package com.example.fallsafety; + +import androidx.appcompat.app.AppCompatActivity; + +import android.Manifest; +import android.content.Intent; +import android.content.pm.PackageManager; +import android.database.Cursor; +import android.net.Uri; +import android.os.Build; +import android.os.Bundle; +import android.provider.ContactsContract; +import android.view.View; +import android.widget.Button; +import android.widget.EditText; +import android.widget.Toast; + +import com.google.android.material.floatingactionbutton.FloatingActionButton; + +//X +//创建三元素的列表相关(应用于添加联系人的编辑界面) +public class EditActivity extends AppCompatActivity { + + + private EditText mNombreText, mTelefonoText, mPrioridadText; + private Long mRowId; + private ContactsDbAdapter dbAdapter; + private static final int PICK_CONTACT_REQUEST=1; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + // infla el layout(充气布局) + setContentView(R.layout.activity_edit); + + // 获取对构成布局的三个视图的引用。 + mNombreText = (EditText) findViewById(R.id.nombreContacto); + mTelefonoText = (EditText) findViewById(R.id.numeroContacto); + mPrioridadText= (EditText) findViewById(R.id.prioridadContacto); + Button confirmButton = (Button) findViewById(R.id.guardar); + + //我们创建了BD适配器并打开它 + dbAdapter = new ContactsDbAdapter(this); + dbAdapter.open(); + + // 获取传递给它的表的行ID(单击联系人编辑0) + mRowId = (savedInstanceState == null) ? null : + (Long) savedInstanceState.getSerializable(ContactsDbAdapter.KEY_ROWID); + if (mRowId == null) { + Bundle extras = getIntent().getExtras(); + mRowId = extras != null ? extras.getLong(ContactsDbAdapter.KEY_ROWID) : null; + } + + // 如果您传递了一个ID(不是空的),则用保存在BD中的字段填充,否则留空 + if (mRowId != null) { + Cursor contact = dbAdapter.fetchContact(mRowId); + mNombreText.setText(contact.getString( + contact.getColumnIndexOrThrow(ContactsDbAdapter.KEY_NOMBRE))); + mTelefonoText.setText(contact.getString( + contact.getColumnIndexOrThrow(ContactsDbAdapter.KEY_TELEFONO))); + mPrioridadText.setText(contact.getString( + contact.getColumnIndexOrThrow(ContactsDbAdapter.KEY_PRIORIDAD))); + } + + FloatingActionButton fab= (FloatingActionButton) findViewById(R.id.fab); + fab.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + seleccionarContacto(); + } + }); + + } + + private void seleccionarContacto() { + Intent selectContacto = new Intent(Intent.ACTION_PICK, Uri.parse("content://contacts")); + selectContacto.setType(ContactsContract.CommonDataKinds.Phone.CONTENT_TYPE); + startActivityForResult(selectContacto, PICK_CONTACT_REQUEST); + + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (requestCode == PICK_CONTACT_REQUEST) { + if (resultCode == RESULT_OK) { + Uri uri = data.getData(); + + Cursor cursor = getContentResolver().query(uri, null, null, null, null); + + if(cursor.moveToFirst()){ + int columnaNombre=cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME); + int columnaNumero=cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER); + + String nombre= cursor.getString(columnaNombre); + String numero= cursor.getString(columnaNumero); + + mNombreText.setText(nombre); + mTelefonoText.setText(numero); + + } + + } + } + } + + public void deleteContact(View view){ + if (mRowId != null) { + dbAdapter.deleteContact(mRowId); + } + setResult(RESULT_OK); + dbAdapter.close(); + finish(); + } + + //添加联系人 + + public void saveNote(View view) { + String nombre = mNombreText.getText().toString(); + String telefono = mTelefonoText.getText().toString(); + String prioridad= mPrioridadText.getText().toString(); + + + + + + + if (telefono.length()!=9 && telefono.length()!=12 && telefono.length()!=16 && telefono.length()==0){ + Toast.makeText(this,"无效号码", Toast.LENGTH_LONG).show(); + } else if(nombre.length() == 0){ + Toast.makeText(this, "输入一个名字", Toast.LENGTH_LONG).show(); + } else if(prioridad.length() == 0 ){ + Toast.makeText(this, "优先级错误", Toast.LENGTH_LONG).show(); + } else { + int priority= Integer.parseInt(prioridad); + + if (mRowId == null) { + long id = dbAdapter.createContact(nombre, telefono,priority); + if (id > 0) { + mRowId = id; + } + } else { + dbAdapter.updateContact(mRowId, nombre, telefono,priority); + } + Toast.makeText(this,"联系人添加正确", Toast.LENGTH_LONG).show(); + setResult(RESULT_OK); + dbAdapter.close(); + finish(); + + + + } + } +} diff --git a/src/FallSafety/app/src/main/java/com/example/fallsafety/Emergencia.java b/src/FallSafety/app/src/main/java/com/example/fallsafety/Emergencia.java new file mode 100644 index 0000000..ca24bb9 --- /dev/null +++ b/src/FallSafety/app/src/main/java/com/example/fallsafety/Emergencia.java @@ -0,0 +1,214 @@ +package com.example.fallsafety; + + +import androidx.appcompat.app.AppCompatActivity; +import androidx.core.content.ContextCompat; + +import android.Manifest; +import android.content.Context; +import android.content.Intent; +import android.content.pm.PackageManager; +import android.database.Cursor; +import android.location.Criteria; +import android.location.Location; +import android.location.LocationListener; +import android.location.LocationManager; +import android.net.Uri; +import android.os.Bundle; +import android.telephony.SmsManager; +import android.util.Log; +import android.widget.Toast; + + +//X +//紧急情况响应 +public class Emergencia extends AppCompatActivity{ + /* + 短信变量 + */ + + SmsManager smsManager; + String phoneNumber; + String textMsg; + + /* + 位置变量 + */ + + double latitude, longitude; + + + /* + 数据库变量 + */ + private ContactsDbAdapter dbAdapter; + + public Emergencia(){ + + } + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.emergencia_activity); + + getLocation(); + + Toast.makeText(this, "clase emergencia", Toast.LENGTH_LONG).show(); + String smsEmergencia=getResources().getString(R.string.smsEmergencia); + sendSMS(this, smsEmergencia); + makeCall(this); + + + + } + + + public void sendSMS(Context context, String txt){ + + getLocation(); + + smsManager= SmsManager.getDefault(); + //textMsg=txt + "https://maps.google.com/?q="+String.valueOf(latitude)+","+String.valueOf(longitude) ; + textMsg=txt + "https://maps.google.com/?q=40.332853,-3.765089" ; + + Toast.makeText(context,"ENVIADO SMS", Toast.LENGTH_LONG).show(); + + /* + 遍历数据库 + */ + + //我们创建了BD适配器并打开它 + dbAdapter = new ContactsDbAdapter(context); + dbAdapter.open(); + + Cursor contactsCursor= dbAdapter.fetchAllContacts(); + if (contactsCursor.getCount()!=0){ + contactsCursor.moveToFirst(); + do{ + System.out.println("NOMBRE: " + contactsCursor.getString(1)); + System.out.println("TELEFONO: " + contactsCursor.getString(2)); + phoneNumber= contactsCursor.getString(2); + System.out.println("PHONE NUMBER A MANDAR SMS: " + phoneNumber); + System.out.println(textMsg); + smsManager.sendTextMessage(phoneNumber, null, textMsg, null, null); + + } while (contactsCursor.moveToNext()); + } + + } + + public void makeCall(Context context){ + + + //我们创建了BD适配器并打开它 + dbAdapter = new ContactsDbAdapter(context); + dbAdapter.open(); + + Cursor contactsCursor= dbAdapter.fetchAllContacts(); + if (contactsCursor.getCount()!=0){ + contactsCursor.moveToFirst(); + + System.out.println("NOMBRE: " + contactsCursor.getString(1)); + System.out.println("TELEFONO: " + contactsCursor.getString(2)); + phoneNumber=contactsCursor.getString(2); + + try{ + + System.out.println("OK"); + + if(ContextCompat.checkSelfPermission(context, Manifest.permission.CALL_PHONE) + != PackageManager.PERMISSION_GRANTED){ + + System.out.println("没有呼叫权限"); + + } + + Intent intentLlamada = new Intent(Intent.ACTION_CALL, Uri.parse("tel:"+phoneNumber)); + intentLlamada.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + context.startActivity(intentLlamada); + + } catch (Exception e){ + System.out.println("错误"); + e.printStackTrace(); + } + + } + + + + } + + + public void getLocation(){ + try{ + + String serviceString= Context.LOCATION_SERVICE; + LocationManager locationManager = (LocationManager) getSystemService(serviceString); + + LocationListener locationListener= new LocationListener() { + @Override + public void onLocationChanged(Location location) { + latitude= location.getLatitude(); + longitude= location.getLongitude(); + + } + + @Override + public void onStatusChanged(String provider, int status, Bundle extras) { + + } + + @Override + public void onProviderEnabled(String provider) { + + } + + @Override + public void onProviderDisabled(String provider) { + + } + }; + + // 检查访问位置的权限 + if(ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) + != PackageManager.PERMISSION_GRANTED){ + //ActivityCompat.requestPermissions(MainActivity.this.getApplicationContext(), new String[]{Manifest.permission.SEND_SMS}, REQUEST_PERMISSION_ACCESS_FINE_LOCATION); + + Toast.makeText(this.getApplicationContext(), "没有位置权限", Toast.LENGTH_SHORT).show(); + + } + + locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 5000, 0, locationListener); + + Criteria criteria= new Criteria(); + + + String provider= String.valueOf(locationManager.getBestProvider(criteria, true)).toString(); + + System.out.println("provider: " + provider); + + Location location= locationManager.getLastKnownLocation(provider); + if(location!=null){ + Log.e("TAG", "GPS ON"); + latitude=location.getLatitude(); + longitude=location.getLongitude(); + } else{ + locationManager.requestLocationUpdates(provider, 1000,0, locationListener ); + } + + locationManager.requestLocationUpdates(provider, 5000, 0, locationListener); + + System.out.println("lat" + latitude + "lon " + longitude); + + } catch (Exception e){ + e.printStackTrace(); + } + + + + + } + + +} diff --git a/src/FallSafety/app/src/main/java/com/example/fallsafety/MainActivity.java b/src/FallSafety/app/src/main/java/com/example/fallsafety/MainActivity.java new file mode 100644 index 0000000..f2297f6 --- /dev/null +++ b/src/FallSafety/app/src/main/java/com/example/fallsafety/MainActivity.java @@ -0,0 +1,164 @@ +package com.example.fallsafety; + +import androidx.appcompat.app.AppCompatActivity; + +import android.Manifest; +import android.content.Context; +import android.content.Intent; +import android.content.pm.PackageManager; +import android.database.Cursor; +import android.os.Build; +import android.os.Bundle; +import android.speech.tts.TextToSpeech; +import android.view.View; +import android.widget.ImageButton; +import android.widget.Switch; +import android.widget.TextView; +import android.widget.Toast; + + +//X +//有关主界面的内部逻辑 +public class MainActivity extends AppCompatActivity implements View.OnClickListener { + private Context mCtx =this; + + /* + 变量TTS + */ + private static int TTS_DATA_CHECK=1; + + private TextView textEstado; + private Switch aSwitch; + + static ContactsDbAdapter dbAdapter; + + + private ImageButton btnAdvice; + + public MainActivity(){ + + } + + + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + + checkPermissions(); + + textEstado= (TextView) findViewById(R.id.textEstado); + aSwitch= (Switch) findViewById(R.id.btnswitch); + + // 我们创建了BD适配器并打开它 + dbAdapter = new ContactsDbAdapter(this); + dbAdapter.open(); + + // 获取传递给它的表的行ID(单击联系人编辑0) + Long mRowId = (savedInstanceState == null) ? null : + (Long) savedInstanceState.getSerializable(ContactsDbAdapter.KEY_ROWID); + + + btnAdvice= (ImageButton) findViewById(R.id.btnadvice); + btnAdvice.setOnClickListener(this); + + Emergencia emergencia = new Emergencia(); + emergencia.getLocation(); + + /* + TTS验证 + */ + + Intent checkTTs= new Intent(); + checkTTs.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA); + startActivityForResult(checkTTs, TTS_DATA_CHECK); + } + + @Override + public void onClick(View v){ + + Cursor contactsCursor = dbAdapter.fetchAllContacts(); + + if(contactsCursor.getCount()==0) { + + Toast.makeText(this, getResources().getString(R.string.noContactos), Toast.LENGTH_SHORT).show(); + } else { + + if (v.getId() == btnAdvice.getId()) { + Toast.makeText(this, "紧急按钮", Toast.LENGTH_LONG).show(); + + Intent intent= new Intent(this, Emergencia.class); + startActivity(intent); + + } + } + } + + public void clickSwitch(View view){ + + Cursor contactsCursor = dbAdapter.fetchAllContacts(); + + if(contactsCursor.getCount()==0) { + aSwitch.setChecked(false); + Toast.makeText(this, getResources().getString(R.string.noContactos), Toast.LENGTH_SHORT).show(); + } else{ + if(view.getId() == R .id.btnswitch){ + + if(aSwitch.isChecked()){ + textEstado.setText(getResources().getString(R.string.estadoOn)); + startService(new Intent(mCtx, ActiveService.class)); + } else { + textEstado.setText(getResources().getString(R.string.estadoOff)); + stopService(new Intent(mCtx, ActiveService.class)); + } + } + + } + } + + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (requestCode == TTS_DATA_CHECK) { + + if (resultCode != TextToSpeech.Engine.CHECK_VOICE_DATA_PASS) { + // 无数据-立即安装 + Intent installTTSIntent = new Intent(); + installTTSIntent.setAction(TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA); + startActivity(installTTSIntent); + } + } + } + + + + + + public void Contact(View view){ + Intent contact= new Intent(this, ContactsActivity.class); + startActivity(contact); + } + + public void checkPermissions(){ + + if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){ + + int permsRequestCode = 100; + String[] perms = {Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.CALL_PHONE, Manifest.permission.SEND_SMS, Manifest.permission.READ_PHONE_STATE, Manifest.permission.READ_CONTACTS}; + int accessFinePermission = checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION); + int accessCoarsePermission = checkSelfPermission(Manifest.permission.ACCESS_COARSE_LOCATION); + int callPermission = checkSelfPermission(Manifest.permission.CALL_PHONE); + int smsPermission= checkSelfPermission(Manifest.permission.SEND_SMS); + int readPhonePermission= checkSelfPermission(Manifest.permission.READ_PHONE_STATE); + int readContacts = checkSelfPermission(Manifest.permission.READ_CONTACTS); + + + if (callPermission == PackageManager.PERMISSION_GRANTED && accessFinePermission == PackageManager.PERMISSION_GRANTED && accessCoarsePermission == PackageManager.PERMISSION_GRANTED && smsPermission==PackageManager.PERMISSION_GRANTED && readPhonePermission==PackageManager.PERMISSION_GRANTED && readContacts==PackageManager.PERMISSION_GRANTED) { + + } else { + requestPermissions(perms, permsRequestCode); + + } + } + } +} diff --git a/src/FallSafety/app/src/main/java/com/example/fallsafety/PostFallDetected.java b/src/FallSafety/app/src/main/java/com/example/fallsafety/PostFallDetected.java new file mode 100644 index 0000000..8d4afb6 --- /dev/null +++ b/src/FallSafety/app/src/main/java/com/example/fallsafety/PostFallDetected.java @@ -0,0 +1,79 @@ +package com.example.fallsafety; + +import androidx.appcompat.app.AppCompatActivity; + +import android.content.Context; +import android.content.Intent; +import android.os.Bundle; +import android.os.CountDownTimer; +import android.view.Gravity; +import android.view.View; + +import android.widget.ImageButton; +import android.widget.Toast; + +//Y +//故障后检测 +public class PostFallDetected extends AppCompatActivity implements View.OnClickListener { + + private Context mCtx =this; + private ImageButton btnNoCaida; + private ImageButton btnSiCaida; + private CountDownTimer count; + + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_post_fall_detected); + + + btnNoCaida = (ImageButton) findViewById(R.id.btnNoCaida); + btnNoCaida.setOnClickListener(this); + btnSiCaida= (ImageButton) findViewById(R.id.btnSiCaida); + btnSiCaida.setOnClickListener(this); + + + } + + @Override + public void onClick(View v) { + switch (v.getId()){ + case R.id.btnNoCaida: + + cancelarServicio(); + + Toast toast = Toast.makeText(this, "AVISO CANCELADO", Toast.LENGTH_LONG); + toast.setGravity(Gravity.CENTER,0,0); + toast.show(); + + break; + + case R.id.btnSiCaida: + + cancelarServicio(); + Intent intent= new Intent(this, Emergencia.class); + startActivity(intent); + + break; + + } + } + + public void cancelarServicio(){ + stopService(new Intent(mCtx, ActiveService.class)); + + count = new CountDownTimer( 30000,1000) { + @Override + public void onTick(long millisUntilFinished) { + + } + + @Override + public void onFinish() { + startService(new Intent(mCtx, ActiveService.class)); + } + }.start(); + + } +} diff --git a/src/FallSafety/app/src/main/java/com/example/fallsafety/SplashScreen.java b/src/FallSafety/app/src/main/java/com/example/fallsafety/SplashScreen.java new file mode 100644 index 0000000..a73381d --- /dev/null +++ b/src/FallSafety/app/src/main/java/com/example/fallsafety/SplashScreen.java @@ -0,0 +1,36 @@ +package com.example.fallsafety; + +import androidx.appcompat.app.AppCompatActivity; + +import android.content.Intent; +import android.os.Bundle; +import android.os.Handler; +//X +//初始化界面的设计 + +public class SplashScreen extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_splash_screen); + + int time=2000; + + + + // 输入一个延迟时间,使活动持续运行运行几秒钟。 + new Handler().postDelayed(new Runnable() { + @Override + //在一段时间后运行下面的内容 + public void run() { + Intent intent = new Intent (SplashScreen.this, MainActivity.class); + startActivity(intent); + } + },time); //暂定4秒 + + } + + + +} diff --git a/src/FallSafety/app/src/main/java/com/example/fallsafety/TelephonyReceiver.java b/src/FallSafety/app/src/main/java/com/example/fallsafety/TelephonyReceiver.java new file mode 100644 index 0000000..67f0569 --- /dev/null +++ b/src/FallSafety/app/src/main/java/com/example/fallsafety/TelephonyReceiver.java @@ -0,0 +1,40 @@ +package com.example.fallsafety; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.media.AudioManager; +import android.telephony.TelephonyManager; +import android.widget.Toast; + +//Y +//收电话 + +public class TelephonyReceiver extends BroadcastReceiver { + @Override + public void onReceive(Context context, Intent intent) { + TelephonyManager telephonyManager= (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); + switch (telephonyManager.getCallState()){ + case TelephonyManager.CALL_STATE_RINGING: + + break; + case TelephonyManager.CALL_STATE_IDLE: + + AudioManager man= (AudioManager) context.getSystemService(Context.AUDIO_SERVICE); + man.setSpeakerphoneOn(false); + break; + case TelephonyManager.CALL_STATE_OFFHOOK: + + + + AudioManager manager= (AudioManager) context.getSystemService(Context.AUDIO_SERVICE); + manager.setMode(AudioManager.MODE_IN_COMMUNICATION); + manager.setStreamVolume(AudioManager.STREAM_VOICE_CALL,manager.getStreamMaxVolume(AudioManager.STREAM_VOICE_CALL),0); + manager.setSpeakerphoneOn(true); + + + break; + + } + } +} diff --git a/src/FallSafety/app/src/main/res/color/switch_color.xml b/src/FallSafety/app/src/main/res/color/switch_color.xml new file mode 100644 index 0000000..8ed686d --- /dev/null +++ b/src/FallSafety/app/src/main/res/color/switch_color.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/src/FallSafety/app/src/main/res/drawable/backbtn.xml b/src/FallSafety/app/src/main/res/drawable/backbtn.xml new file mode 100644 index 0000000..961aab1 --- /dev/null +++ b/src/FallSafety/app/src/main/res/drawable/backbtn.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/src/FallSafety/app/src/main/res/drawable/bg_color.xml b/src/FallSafety/app/src/main/res/drawable/bg_color.xml new file mode 100644 index 0000000..0575b8b --- /dev/null +++ b/src/FallSafety/app/src/main/res/drawable/bg_color.xml @@ -0,0 +1,9 @@ + + + + + + \ No newline at end of file diff --git a/src/FallSafety/app/src/main/res/drawable/ic_contact.xml b/src/FallSafety/app/src/main/res/drawable/ic_contact.xml new file mode 100644 index 0000000..b2cb337 --- /dev/null +++ b/src/FallSafety/app/src/main/res/drawable/ic_contact.xml @@ -0,0 +1,9 @@ + + + diff --git a/src/FallSafety/app/src/main/res/drawable/ic_person_add_white_60dp.xml b/src/FallSafety/app/src/main/res/drawable/ic_person_add_white_60dp.xml new file mode 100644 index 0000000..e3fe3da --- /dev/null +++ b/src/FallSafety/app/src/main/res/drawable/ic_person_add_white_60dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/src/FallSafety/app/src/main/res/drawable/ic_thumb_down_red_150dp.xml b/src/FallSafety/app/src/main/res/drawable/ic_thumb_down_red_150dp.xml new file mode 100644 index 0000000..6832c3c --- /dev/null +++ b/src/FallSafety/app/src/main/res/drawable/ic_thumb_down_red_150dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/src/FallSafety/app/src/main/res/drawable/ic_thumb_up_black_150dp.xml b/src/FallSafety/app/src/main/res/drawable/ic_thumb_up_black_150dp.xml new file mode 100644 index 0000000..7a58718 --- /dev/null +++ b/src/FallSafety/app/src/main/res/drawable/ic_thumb_up_black_150dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/src/FallSafety/app/src/main/res/drawable/ic_warning_black_24dp.xml b/src/FallSafety/app/src/main/res/drawable/ic_warning_black_24dp.xml new file mode 100644 index 0000000..a5cd89e --- /dev/null +++ b/src/FallSafety/app/src/main/res/drawable/ic_warning_black_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/src/FallSafety/app/src/main/res/drawable/icon.png b/src/FallSafety/app/src/main/res/drawable/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..7b6c88ad981a9b0079f922c98a70bfe8e306075b GIT binary patch literal 14044 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 z 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 literal 0 HcmV?d00001 diff --git a/src/FallSafety/app/src/main/res/drawable/image.png b/src/FallSafety/app/src/main/res/drawable/image.png new file mode 100644 index 0000000000000000000000000000000000000000..6e84b2bb8b48c9d9a4f558f68d01250afe7889e0 GIT binary patch literal 113535 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

j8bT@tJzZIpg@nuCeSWk6Gqt7tztsgLH% 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

>OF3X>5&c^FVtr*6jAwW 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 W8aQ|pn1n#UkF1oEWTm)q@c#ogqcdOt literal 0 HcmV?d00001 diff --git a/src/FallSafety/app/src/main/res/drawable/widget_preview.png b/src/FallSafety/app/src/main/res/drawable/widget_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..57ad74cc11dee5137969a487d5ae7c33a57da7f8 GIT binary patch literal 5203 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 E3vlt7xc~qF literal 0 HcmV?d00001 diff --git a/src/FallSafety/app/src/main/res/font/quicksand.xml b/src/FallSafety/app/src/main/res/font/quicksand.xml new file mode 100644 index 0000000..982b40a --- /dev/null +++ b/src/FallSafety/app/src/main/res/font/quicksand.xml @@ -0,0 +1,7 @@ + + + diff --git a/src/FallSafety/app/src/main/res/font/quicksand_medium.xml b/src/FallSafety/app/src/main/res/font/quicksand_medium.xml new file mode 100644 index 0000000..2d98b27 --- /dev/null +++ b/src/FallSafety/app/src/main/res/font/quicksand_medium.xml @@ -0,0 +1,7 @@ + + + diff --git a/src/FallSafety/app/src/main/res/layout/activity_contacts.xml b/src/FallSafety/app/src/main/res/layout/activity_contacts.xml new file mode 100644 index 0000000..341cd55 --- /dev/null +++ b/src/FallSafety/app/src/main/res/layout/activity_contacts.xml @@ -0,0 +1,23 @@ + + + +