From 38492bbaa63586e2f4877da0eaa01a082fd565a6 Mon Sep 17 00:00:00 2001
From: 554325746@qq.com <554325746@qq.com>
Date: 星期三, 25 十二月 2019 08:42:58 +0800
Subject: [PATCH] a

---
 app/src/main/java/com/basic/security/utils/AudioPlayer.java                                              |    5 
 app/src/main/java/com/basic/security/fragment/HomeFragment.java                                          |  151 
 app/src/main/java/com/basic/security/utils/FrameUtil.java                                                |   63 
 app/.externalNativeBuild/cmake/release/armeabi-v7a/cmake_build_command.txt                               |   16 
 a.txt                                                                                                    | 2486 +++++++++++++++++++++
 app/.externalNativeBuild/cmake/release/armeabi-v7a/build.ninja                                           |   37 
 .idea/misc.xml                                                                                           |   25 
 app/src/main/java/com/basic/security/widget/MyMediaController.java                                       |    2 
 app/src/main/res/drawable/blue_button.xml                                                                |   12 
 app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o |    0 
 app/src/main/java/com/basic/security/utils/Constants.java                                                |    7 
 app/src/main/java/com/basic/security/widget/CustomSpinner2.java                                          |    2 
 .idea/workspace.xml                                                                                      | 1356 +++-------
 app/.externalNativeBuild/cmake/release/armeabi-v7a/cmake_install.cmake                                   |    9 
 app/src/main/java/com/basic/security/model/Log.java                                                      |   10 
 app/src/main/java/com/basic/security/utils/SocketAcceptedClient.java                                     |  352 +-
 app/src/main/res/drawable-v24/back.png                                                                   |    0 
 app/build.gradle                                                                                         |   15 
 app/src/main/java/com/basic/security/utils/SocketServer.java                                             |   90 
 app/app.iml                                                                                              |   37 
 app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeCache.txt                                          |   92 
 app/src/main/java/com/basic/security/utils/VideoPath.java                                                |  113 
 app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/TargetDirectories.txt                        |    6 
 app/.externalNativeBuild/cmake/debug/armeabi-v7a/cmake_build_output.txt                                  |   16 
 app/.externalNativeBuild/cmake/release/armeabi-v7a/cmake_build_output.txt                                |   16 
 app/src/main/res/layout/alarm_view.xml                                                                   |    1 
 app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/feature_tests.bin                            |    0 
 Security_alarm.iml                                                                                       |    2 
 app/src/main/java/com/basic/security/utils/CrashHandler.java                                             |   81 
 app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/feature_tests.cxx                            |  106 
 app/src/main/java/com/basic/security/base/BaseFragment.java                                              |    2 
 app/src/main/res/drawable/white_button.xml                                                               |    9 
 app/.externalNativeBuild/cmake/debug/armeabi-v7a/rules.ninja                                             |   12 
 app/src/main/java/com/basic/security/utils/SocketClient.java                                             |  125 
 app/src/main/java/com/basic/security/dao/SqliteManager.java                                              |    7 
 app/src/main/java/com/basic/security/utils/PermissionHelper.java                                         |   99 
 app/src/main/java/com/basic/security/model/Alarm.java                                                    |    4 
 app/src/main/java/com/basic/security/utils/ThreadUtil.java                                               |   46 
 app/src/main/res/layout/auth_dialog.xml                                                                  |    4 
 app/src/main/res/layout/confirm_dialog.xml                                                               |    4 
 app/.externalNativeBuild/cmake/release/armeabi-v7a/CMakeFiles/feature_tests.bin                          |    0 
 app/.externalNativeBuild/cmake/release/armeabi-v7a/android_gradle_build_mini.json                        |   10 
 app/src/main/java/com/basic/security/activity/MainActivity.java                                          |    7 
 app/.externalNativeBuild/cmake/release/armeabi-v7a/android_gradle_build.json                             |   83 
 app/.externalNativeBuild/cmake/debug/armeabi-v7a/cmake_build_command.txt                                 |   16 
 app/src/main/java/com/basic/security/fragment/helper/HomePlayAlarmVideo.java                             |   20 
 app/src/main/java/com/basic/security/fragment/helper/HomeSaveAlarmVideoPlayPosition.java                 |   11 
 app/src/main/java/com/basic/security/dao/DatabaseManager.java                                            |   32 
 app/src/main/java/com/basic/security/utils/AppUtil.java                                                  |   32 
 app/src/main/java/com/basic/security/utils/MemoryUtil.java                                               |   34 
 app/src/main/java/com/basic/security/widget/CustomSpinner.java                                           |    2 
 app/src/main/java/com/basic/security/utils/FFmpeg.java                                                   |    4 
 app/.externalNativeBuild/cmake/release/armeabi-v7a/CMakeFiles/feature_tests.cxx                          |  106 
 app/src/main/java/com/basic/security/utils/ToastUtil.java                                                |   10 
 app/src/main/java/com/basic/security/base/BaseApplication.java                                           |    7 
 app/.externalNativeBuild/cmake/debug/armeabi-v7a/android_gradle_build_mini.json                          |   10 
 app/src/main/res/layout/my_toast_error.xml                                                               |   21 
 app/src/main/java/com/basic/security/manager/LogManager.java                                             |   33 
 app/src/main/AndroidManifest.xml                                                                         |    4 
 app/src/main/java/com/basic/security/utils/KeyboardUtil.java                                             |   13 
 app/src/main/java/com/basic/security/utils/IpUtils.java                                                  |    1 
 .idea/caches/build_file_checksums.ser                                                                    |    0 
 app/src/main/java/com/basic/security/utils/JnanomsgServer.java                                           |    2 
 app/.externalNativeBuild/cmake/debug/armeabi-v7a/android_gradle_build.json                               |   83 
 app/.externalNativeBuild/cmake/debug/armeabi-v7a/.ninja_deps                                             |    0 
 app/.externalNativeBuild/cmake/debug/armeabi-v7a/.ninja_log                                              |   81 
 app/.externalNativeBuild/cmake/debug/armeabi-v7a/build.ninja                                             |   37 
 app/src/main/java/com/basic/security/fragment/SettingFragment.java                                       |   15 
 app/src/main/java/com/basic/security/manager/AlarmManager.java                                           |  145 +
 gradle.properties                                                                                        |    1 
 /dev/null                                                                                                |    0 
 app/src/main/java/com/basic/security/utils/RabbitMQProducer.java                                         |   33 
 app/src/main/java/com/basic/security/receiver/StartMyServiceAtBootReceiver.java                          |    2 
 app/src/main/res/drawable/my_toast_rounded_corner_error.xml                                              |   17 
 app/.externalNativeBuild/cmake/release/armeabi-v7a/CMakeFiles/TargetDirectories.txt                      |    6 
 app/.externalNativeBuild/cmake/release/armeabi-v7a/rules.ninja                                           |   12 
 app/src/main/java/com/basic/security/utils/RabbitMQConsumer.java                                         |   70 
 app/src/main/java/com/basic/security/fragment/helper/HomeGridViewAdapter.java                            |  119 
 app/.externalNativeBuild/cmake/release/armeabi-v7a/CMakeCache.txt                                        |   92 
 app/src/main/res/layout/fragment_setting.xml                                                             |   32 
 app/src/main/java/com/basic/security/utils/LztekAndroidRoot.java                                         |   96 
 app/.externalNativeBuild/cmake/debug/armeabi-v7a/cmake_install.cmake                                     |    9 
 app/src/main/java/com/basic/security/service/KeepLifeService.java                                        |  207 +
 83 files changed, 5,034 insertions(+), 1,901 deletions(-)

diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser
index d18ba72..cd8f89c 100644
--- a/.idea/caches/build_file_checksums.ser
+++ b/.idea/caches/build_file_checksums.ser
Binary files differ
diff --git a/.idea/caches/gradle_models.ser b/.idea/caches/gradle_models.ser
deleted file mode 100644
index f78c042..0000000
--- a/.idea/caches/gradle_models.ser
+++ /dev/null
Binary files differ
diff --git a/.idea/dbnavigator.xml b/.idea/dbnavigator.xml
deleted file mode 100644
index bc8623f..0000000
--- a/.idea/dbnavigator.xml
+++ /dev/null
@@ -1,454 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
-  <component name="DBNavigator.Project.DataEditorManager">
-    <record-view-column-sorting-type value="BY_INDEX" />
-    <value-preview-text-wrapping value="true" />
-    <value-preview-pinned value="false" />
-  </component>
-  <component name="DBNavigator.Project.DataExportManager">
-    <export-instructions>
-      <create-header value="true" />
-      <quote-values-containing-separator value="true" />
-      <quote-all-values value="false" />
-      <value-separator value="" />
-      <file-name value="" />
-      <file-location value="" />
-      <scope value="GLOBAL" />
-      <destination value="FILE" />
-      <format value="EXCEL" />
-      <charset value="GBK" />
-    </export-instructions>
-  </component>
-  <component name="DBNavigator.Project.DatabaseBrowserManager">
-    <autoscroll-to-editor value="false" />
-    <autoscroll-from-editor value="true" />
-    <show-object-properties value="true" />
-    <loaded-nodes />
-  </component>
-  <component name="DBNavigator.Project.EditorStateManager">
-    <last-used-providers />
-  </component>
-  <component name="DBNavigator.Project.MethodExecutionManager">
-    <method-browser />
-    <execution-history>
-      <group-entries value="true" />
-      <execution-inputs />
-    </execution-history>
-    <argument-values-cache />
-  </component>
-  <component name="DBNavigator.Project.ObjectDependencyManager">
-    <last-used-dependency-type value="INCOMING" />
-  </component>
-  <component name="DBNavigator.Project.ObjectQuickFilterManager">
-    <last-used-operator value="EQUAL" />
-    <filters />
-  </component>
-  <component name="DBNavigator.Project.ScriptExecutionManager" clear-outputs="true">
-    <recently-used-interfaces />
-  </component>
-  <component name="DBNavigator.Project.Settings">
-    <connections />
-    <browser-settings>
-      <general>
-        <display-mode value="TABBED" />
-        <navigation-history-size value="100" />
-        <show-object-details value="false" />
-      </general>
-      <filters>
-        <object-type-filter>
-          <object-type name="SCHEMA" enabled="true" />
-          <object-type name="USER" enabled="true" />
-          <object-type name="ROLE" enabled="true" />
-          <object-type name="PRIVILEGE" enabled="true" />
-          <object-type name="CHARSET" enabled="true" />
-          <object-type name="TABLE" enabled="true" />
-          <object-type name="VIEW" enabled="true" />
-          <object-type name="MATERIALIZED_VIEW" enabled="true" />
-          <object-type name="NESTED_TABLE" enabled="true" />
-          <object-type name="COLUMN" enabled="true" />
-          <object-type name="INDEX" enabled="true" />
-          <object-type name="CONSTRAINT" enabled="true" />
-          <object-type name="DATASET_TRIGGER" enabled="true" />
-          <object-type name="DATABASE_TRIGGER" enabled="true" />
-          <object-type name="SYNONYM" enabled="true" />
-          <object-type name="SEQUENCE" enabled="true" />
-          <object-type name="PROCEDURE" enabled="true" />
-          <object-type name="FUNCTION" enabled="true" />
-          <object-type name="PACKAGE" enabled="true" />
-          <object-type name="TYPE" enabled="true" />
-          <object-type name="TYPE_ATTRIBUTE" enabled="true" />
-          <object-type name="ARGUMENT" enabled="true" />
-          <object-type name="DIMENSION" enabled="true" />
-          <object-type name="CLUSTER" enabled="true" />
-          <object-type name="DBLINK" enabled="true" />
-        </object-type-filter>
-      </filters>
-      <sorting>
-        <object-type name="COLUMN" sorting-type="NAME" />
-        <object-type name="FUNCTION" sorting-type="NAME" />
-        <object-type name="PROCEDURE" sorting-type="NAME" />
-        <object-type name="ARGUMENT" sorting-type="POSITION" />
-      </sorting>
-      <default-editors>
-        <object-type name="VIEW" editor-type="SELECTION" />
-        <object-type name="PACKAGE" editor-type="SELECTION" />
-        <object-type name="TYPE" editor-type="SELECTION" />
-      </default-editors>
-    </browser-settings>
-    <navigation-settings>
-      <lookup-filters>
-        <lookup-objects>
-          <object-type name="SCHEMA" enabled="true" />
-          <object-type name="USER" enabled="false" />
-          <object-type name="ROLE" enabled="false" />
-          <object-type name="PRIVILEGE" enabled="false" />
-          <object-type name="CHARSET" enabled="false" />
-          <object-type name="TABLE" enabled="true" />
-          <object-type name="VIEW" enabled="true" />
-          <object-type name="MATERIALIZED VIEW" enabled="true" />
-          <object-type name="NESTED TABLE" enabled="false" />
-          <object-type name="COLUMN" enabled="false" />
-          <object-type name="INDEX" enabled="true" />
-          <object-type name="CONSTRAINT" enabled="true" />
-          <object-type name="DATASET TRIGGER" enabled="true" />
-          <object-type name="DATABASE TRIGGER" enabled="true" />
-          <object-type name="SYNONYM" enabled="false" />
-          <object-type name="SEQUENCE" enabled="true" />
-          <object-type name="PROCEDURE" enabled="true" />
-          <object-type name="FUNCTION" enabled="true" />
-          <object-type name="PACKAGE" enabled="true" />
-          <object-type name="TYPE" enabled="true" />
-          <object-type name="TYPE ATTRIBUTE" enabled="false" />
-          <object-type name="ARGUMENT" enabled="false" />
-          <object-type name="DIMENSION" enabled="false" />
-          <object-type name="CLUSTER" enabled="false" />
-          <object-type name="DBLINK" enabled="true" />
-        </lookup-objects>
-        <force-database-load value="false" />
-        <prompt-connection-selection value="true" />
-        <prompt-schema-selection value="true" />
-      </lookup-filters>
-    </navigation-settings>
-    <dataset-grid-settings>
-      <general>
-        <enable-zooming value="true" />
-        <enable-column-tooltip value="true" />
-      </general>
-      <sorting>
-        <nulls-first value="true" />
-        <max-sorting-columns value="4" />
-      </sorting>
-      <tracking-columns>
-        <columnNames value="" />
-        <visible value="true" />
-        <editable value="false" />
-      </tracking-columns>
-    </dataset-grid-settings>
-    <dataset-editor-settings>
-      <text-editor-popup>
-        <active value="false" />
-        <active-if-empty value="false" />
-        <data-length-threshold value="100" />
-        <popup-delay value="1000" />
-      </text-editor-popup>
-      <values-list-popup>
-        <show-popup-button value="true" />
-        <element-count-threshold value="1000" />
-        <data-length-threshold value="250" />
-      </values-list-popup>
-      <general>
-        <fetch-block-size value="100" />
-        <fetch-timeout value="30" />
-        <trim-whitespaces value="true" />
-        <convert-empty-strings-to-null value="true" />
-        <select-content-on-cell-edit value="true" />
-        <large-value-preview-active value="true" />
-      </general>
-      <filters>
-        <prompt-filter-dialog value="true" />
-        <default-filter-type value="BASIC" />
-      </filters>
-      <qualified-text-editor text-length-threshold="300">
-        <content-types>
-          <content-type name="Text" enabled="true" />
-          <content-type name="Properties" enabled="true" />
-          <content-type name="XML" enabled="true" />
-          <content-type name="DTD" enabled="true" />
-          <content-type name="HTML" enabled="true" />
-          <content-type name="XHTML" enabled="true" />
-          <content-type name="Java" enabled="true" />
-          <content-type name="SQL" enabled="true" />
-          <content-type name="PL/SQL" enabled="true" />
-          <content-type name="Groovy" enabled="true" />
-          <content-type name="AIDL" enabled="true" />
-          <content-type name="YAML" enabled="true" />
-          <content-type name="Bash" enabled="true" />
-          <content-type name="Manifest" enabled="true" />
-        </content-types>
-      </qualified-text-editor>
-      <record-navigation>
-        <navigation-target value="VIEWER" />
-      </record-navigation>
-    </dataset-editor-settings>
-    <code-editor-settings>
-      <general>
-        <show-object-navigation-gutter value="false" />
-        <show-spec-declaration-navigation-gutter value="true" />
-        <enable-spellchecking value="true" />
-        <enable-reference-spellchecking value="false" />
-      </general>
-      <confirmations>
-        <save-changes value="false" />
-        <revert-changes value="true" />
-      </confirmations>
-    </code-editor-settings>
-    <code-completion-settings>
-      <filters>
-        <basic-filter>
-          <filter-element type="RESERVED_WORD" id="keyword" selected="true" />
-          <filter-element type="RESERVED_WORD" id="function" selected="true" />
-          <filter-element type="RESERVED_WORD" id="parameter" selected="true" />
-          <filter-element type="RESERVED_WORD" id="datatype" selected="true" />
-          <filter-element type="RESERVED_WORD" id="exception" selected="true" />
-          <filter-element type="OBJECT" id="schema" selected="true" />
-          <filter-element type="OBJECT" id="role" selected="true" />
-          <filter-element type="OBJECT" id="user" selected="true" />
-          <filter-element type="OBJECT" id="privilege" selected="true" />
-          <user-schema>
-            <filter-element type="OBJECT" id="table" selected="true" />
-            <filter-element type="OBJECT" id="view" selected="true" />
-            <filter-element type="OBJECT" id="materialized view" selected="true" />
-            <filter-element type="OBJECT" id="index" selected="true" />
-            <filter-element type="OBJECT" id="constraint" selected="true" />
-            <filter-element type="OBJECT" id="trigger" selected="true" />
-            <filter-element type="OBJECT" id="synonym" selected="false" />
-            <filter-element type="OBJECT" id="sequence" selected="true" />
-            <filter-element type="OBJECT" id="procedure" selected="true" />
-            <filter-element type="OBJECT" id="function" selected="true" />
-            <filter-element type="OBJECT" id="package" selected="true" />
-            <filter-element type="OBJECT" id="type" selected="true" />
-            <filter-element type="OBJECT" id="dimension" selected="true" />
-            <filter-element type="OBJECT" id="cluster" selected="true" />
-            <filter-element type="OBJECT" id="dblink" selected="true" />
-          </user-schema>
-          <public-schema>
-            <filter-element type="OBJECT" id="table" selected="false" />
-            <filter-element type="OBJECT" id="view" selected="false" />
-            <filter-element type="OBJECT" id="materialized view" selected="false" />
-            <filter-element type="OBJECT" id="index" selected="false" />
-            <filter-element type="OBJECT" id="constraint" selected="false" />
-            <filter-element type="OBJECT" id="trigger" selected="false" />
-            <filter-element type="OBJECT" id="synonym" selected="false" />
-            <filter-element type="OBJECT" id="sequence" selected="false" />
-            <filter-element type="OBJECT" id="procedure" selected="false" />
-            <filter-element type="OBJECT" id="function" selected="false" />
-            <filter-element type="OBJECT" id="package" selected="false" />
-            <filter-element type="OBJECT" id="type" selected="false" />
-            <filter-element type="OBJECT" id="dimension" selected="false" />
-            <filter-element type="OBJECT" id="cluster" selected="false" />
-            <filter-element type="OBJECT" id="dblink" selected="false" />
-          </public-schema>
-          <any-schema>
-            <filter-element type="OBJECT" id="table" selected="true" />
-            <filter-element type="OBJECT" id="view" selected="true" />
-            <filter-element type="OBJECT" id="materialized view" selected="true" />
-            <filter-element type="OBJECT" id="index" selected="true" />
-            <filter-element type="OBJECT" id="constraint" selected="true" />
-            <filter-element type="OBJECT" id="trigger" selected="true" />
-            <filter-element type="OBJECT" id="synonym" selected="true" />
-            <filter-element type="OBJECT" id="sequence" selected="true" />
-            <filter-element type="OBJECT" id="procedure" selected="true" />
-            <filter-element type="OBJECT" id="function" selected="true" />
-            <filter-element type="OBJECT" id="package" selected="true" />
-            <filter-element type="OBJECT" id="type" selected="true" />
-            <filter-element type="OBJECT" id="dimension" selected="true" />
-            <filter-element type="OBJECT" id="cluster" selected="true" />
-            <filter-element type="OBJECT" id="dblink" selected="true" />
-          </any-schema>
-        </basic-filter>
-        <extended-filter>
-          <filter-element type="RESERVED_WORD" id="keyword" selected="true" />
-          <filter-element type="RESERVED_WORD" id="function" selected="true" />
-          <filter-element type="RESERVED_WORD" id="parameter" selected="true" />
-          <filter-element type="RESERVED_WORD" id="datatype" selected="true" />
-          <filter-element type="RESERVED_WORD" id="exception" selected="true" />
-          <filter-element type="OBJECT" id="schema" selected="true" />
-          <filter-element type="OBJECT" id="user" selected="true" />
-          <filter-element type="OBJECT" id="role" selected="true" />
-          <filter-element type="OBJECT" id="privilege" selected="true" />
-          <user-schema>
-            <filter-element type="OBJECT" id="table" selected="true" />
-            <filter-element type="OBJECT" id="view" selected="true" />
-            <filter-element type="OBJECT" id="materialized view" selected="true" />
-            <filter-element type="OBJECT" id="index" selected="true" />
-            <filter-element type="OBJECT" id="constraint" selected="true" />
-            <filter-element type="OBJECT" id="trigger" selected="true" />
-            <filter-element type="OBJECT" id="synonym" selected="true" />
-            <filter-element type="OBJECT" id="sequence" selected="true" />
-            <filter-element type="OBJECT" id="procedure" selected="true" />
-            <filter-element type="OBJECT" id="function" selected="true" />
-            <filter-element type="OBJECT" id="package" selected="true" />
-            <filter-element type="OBJECT" id="type" selected="true" />
-            <filter-element type="OBJECT" id="dimension" selected="true" />
-            <filter-element type="OBJECT" id="cluster" selected="true" />
-            <filter-element type="OBJECT" id="dblink" selected="true" />
-          </user-schema>
-          <public-schema>
-            <filter-element type="OBJECT" id="table" selected="true" />
-            <filter-element type="OBJECT" id="view" selected="true" />
-            <filter-element type="OBJECT" id="materialized view" selected="true" />
-            <filter-element type="OBJECT" id="index" selected="true" />
-            <filter-element type="OBJECT" id="constraint" selected="true" />
-            <filter-element type="OBJECT" id="trigger" selected="true" />
-            <filter-element type="OBJECT" id="synonym" selected="true" />
-            <filter-element type="OBJECT" id="sequence" selected="true" />
-            <filter-element type="OBJECT" id="procedure" selected="true" />
-            <filter-element type="OBJECT" id="function" selected="true" />
-            <filter-element type="OBJECT" id="package" selected="true" />
-            <filter-element type="OBJECT" id="type" selected="true" />
-            <filter-element type="OBJECT" id="dimension" selected="true" />
-            <filter-element type="OBJECT" id="cluster" selected="true" />
-            <filter-element type="OBJECT" id="dblink" selected="true" />
-          </public-schema>
-          <any-schema>
-            <filter-element type="OBJECT" id="table" selected="true" />
-            <filter-element type="OBJECT" id="view" selected="true" />
-            <filter-element type="OBJECT" id="materialized view" selected="true" />
-            <filter-element type="OBJECT" id="index" selected="true" />
-            <filter-element type="OBJECT" id="constraint" selected="true" />
-            <filter-element type="OBJECT" id="trigger" selected="true" />
-            <filter-element type="OBJECT" id="synonym" selected="true" />
-            <filter-element type="OBJECT" id="sequence" selected="true" />
-            <filter-element type="OBJECT" id="procedure" selected="true" />
-            <filter-element type="OBJECT" id="function" selected="true" />
-            <filter-element type="OBJECT" id="package" selected="true" />
-            <filter-element type="OBJECT" id="type" selected="true" />
-            <filter-element type="OBJECT" id="dimension" selected="true" />
-            <filter-element type="OBJECT" id="cluster" selected="true" />
-            <filter-element type="OBJECT" id="dblink" selected="true" />
-          </any-schema>
-        </extended-filter>
-      </filters>
-      <sorting enabled="true">
-        <sorting-element type="RESERVED_WORD" id="keyword" />
-        <sorting-element type="RESERVED_WORD" id="datatype" />
-        <sorting-element type="OBJECT" id="column" />
-        <sorting-element type="OBJECT" id="table" />
-        <sorting-element type="OBJECT" id="view" />
-        <sorting-element type="OBJECT" id="materialized view" />
-        <sorting-element type="OBJECT" id="index" />
-        <sorting-element type="OBJECT" id="constraint" />
-        <sorting-element type="OBJECT" id="trigger" />
-        <sorting-element type="OBJECT" id="synonym" />
-        <sorting-element type="OBJECT" id="sequence" />
-        <sorting-element type="OBJECT" id="procedure" />
-        <sorting-element type="OBJECT" id="function" />
-        <sorting-element type="OBJECT" id="package" />
-        <sorting-element type="OBJECT" id="type" />
-        <sorting-element type="OBJECT" id="dimension" />
-        <sorting-element type="OBJECT" id="cluster" />
-        <sorting-element type="OBJECT" id="dblink" />
-        <sorting-element type="OBJECT" id="schema" />
-        <sorting-element type="OBJECT" id="role" />
-        <sorting-element type="OBJECT" id="user" />
-        <sorting-element type="RESERVED_WORD" id="function" />
-        <sorting-element type="RESERVED_WORD" id="parameter" />
-      </sorting>
-      <format>
-        <enforce-code-style-case value="true" />
-      </format>
-    </code-completion-settings>
-    <execution-engine-settings>
-      <statement-execution>
-        <fetch-block-size value="100" />
-        <execution-timeout value="20" />
-        <debug-execution-timeout value="600" />
-        <focus-result value="false" />
-        <prompt-execution value="false" />
-      </statement-execution>
-      <script-execution>
-        <command-line-interfaces />
-        <execution-timeout value="300" />
-      </script-execution>
-      <method-execution>
-        <execution-timeout value="30" />
-        <debug-execution-timeout value="600" />
-        <parameter-history-size value="10" />
-      </method-execution>
-    </execution-engine-settings>
-    <operation-settings>
-      <transactions>
-        <uncommitted-changes>
-          <on-project-close value="ASK" />
-          <on-disconnect value="ASK" />
-          <on-autocommit-toggle value="ASK" />
-        </uncommitted-changes>
-        <multiple-uncommitted-changes>
-          <on-commit value="ASK" />
-          <on-rollback value="ASK" />
-        </multiple-uncommitted-changes>
-      </transactions>
-      <session-browser>
-        <disconnect-session value="ASK" />
-        <kill-session value="ASK" />
-        <reload-on-filter-change value="false" />
-      </session-browser>
-      <compiler>
-        <compile-type value="KEEP" />
-        <compile-dependencies value="ASK" />
-        <always-show-controls value="false" />
-      </compiler>
-      <debugger>
-        <debugger-type value="ASK" />
-        <use-generic-runners value="true" />
-      </debugger>
-    </operation-settings>
-    <ddl-file-settings>
-      <extensions>
-        <mapping file-type-id="VIEW" extensions="vw" />
-        <mapping file-type-id="TRIGGER" extensions="trg" />
-        <mapping file-type-id="PROCEDURE" extensions="prc" />
-        <mapping file-type-id="FUNCTION" extensions="fnc" />
-        <mapping file-type-id="PACKAGE" extensions="pkg" />
-        <mapping file-type-id="PACKAGE_SPEC" extensions="pks" />
-        <mapping file-type-id="PACKAGE_BODY" extensions="pkb" />
-        <mapping file-type-id="TYPE" extensions="tpe" />
-        <mapping file-type-id="TYPE_SPEC" extensions="tps" />
-        <mapping file-type-id="TYPE_BODY" extensions="tpb" />
-      </extensions>
-      <general>
-        <lookup-ddl-files value="true" />
-        <create-ddl-files value="false" />
-        <synchronize-ddl-files value="true" />
-        <use-qualified-names value="false" />
-        <make-scripts-rerunnable value="true" />
-      </general>
-    </ddl-file-settings>
-    <general-settings>
-      <regional-settings>
-        <date-format value="MEDIUM" />
-        <number-format value="UNGROUPED" />
-        <locale value="SYSTEM_DEFAULT" />
-        <use-custom-formats value="false" />
-      </regional-settings>
-      <environment>
-        <environment-types>
-          <environment-type id="development" name="Development" description="Development environment" color="-2430209/-12296320" readonly-code="false" readonly-data="false" />
-          <environment-type id="integration" name="Integration" description="Integration environment" color="-2621494/-12163514" readonly-code="true" readonly-data="false" />
-          <environment-type id="production" name="Production" description="Productive environment" color="-11574/-10271420" readonly-code="true" readonly-data="true" />
-          <environment-type id="other" name="Other" description="" color="-1576/-10724543" readonly-code="false" readonly-data="false" />
-        </environment-types>
-        <visibility-settings>
-          <connection-tabs value="true" />
-          <dialog-headers value="true" />
-          <object-editor-tabs value="true" />
-          <script-editor-tabs value="false" />
-          <execution-result-tabs value="true" />
-        </visibility-settings>
-      </environment>
-    </general-settings>
-  </component>
-  <component name="DBNavigator.Project.StatementExecutionManager">
-    <execution-variables />
-  </component>
-</project>
\ No newline at end of file
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
deleted file mode 100644
index 15a15b2..0000000
--- a/.idea/encodings.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
-  <component name="Encoding" addBOMForNewFiles="with NO BOM" />
-</project>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle____local_aars___C__workspace_Security_alarm_app_libs_FRICPayToolV20P_jar_unspecified_jar.xml b/.idea/libraries/Gradle____local_aars___C__workspace_Security_alarm_app_libs_FRICPayToolV20P_jar_unspecified_jar.xml
deleted file mode 100644
index c8fdc5d..0000000
--- a/.idea/libraries/Gradle____local_aars___C__workspace_Security_alarm_app_libs_FRICPayToolV20P_jar_unspecified_jar.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: __local_aars__:C.\workspace\Security_alarm\app\libs\FRICPayToolV20P.jar:unspecified@jar">
-    <CLASSES>
-      <root url="jar://$PROJECT_DIR$/app/libs/FRICPayToolV20P.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle____local_aars___C__workspace_Security_alarm_app_libs_libthrift_0_9_1_jar_unspecified_jar.xml b/.idea/libraries/Gradle____local_aars___C__workspace_Security_alarm_app_libs_libthrift_0_9_1_jar_unspecified_jar.xml
deleted file mode 100644
index 9fa233d..0000000
--- a/.idea/libraries/Gradle____local_aars___C__workspace_Security_alarm_app_libs_libthrift_0_9_1_jar_unspecified_jar.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: __local_aars__:C.\workspace\Security_alarm\app\libs\libthrift-0.9.1.jar:unspecified@jar">
-    <CLASSES>
-      <root url="jar://$PROJECT_DIR$/app/libs/libthrift-0.9.1.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle____local_aars___C__workspace_Security_alarm_app_libs_slf4j_android_1_7_9_jar_unspecified_jar.xml b/.idea/libraries/Gradle____local_aars___C__workspace_Security_alarm_app_libs_slf4j_android_1_7_9_jar_unspecified_jar.xml
deleted file mode 100644
index ac4cfe5..0000000
--- a/.idea/libraries/Gradle____local_aars___C__workspace_Security_alarm_app_libs_slf4j_android_1_7_9_jar_unspecified_jar.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: __local_aars__:C.\workspace\Security_alarm\app\libs\slf4j-android-1.7.9.jar:unspecified@jar">
-    <CLASSES>
-      <root url="jar://$PROJECT_DIR$/app/libs/slf4j-android-1.7.9.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle____local_aars___C__workspace_Security_alarm_app_libs_slf4j_api_1_7_9_jar_unspecified_jar.xml b/.idea/libraries/Gradle____local_aars___C__workspace_Security_alarm_app_libs_slf4j_api_1_7_9_jar_unspecified_jar.xml
deleted file mode 100644
index 6128522..0000000
--- a/.idea/libraries/Gradle____local_aars___C__workspace_Security_alarm_app_libs_slf4j_api_1_7_9_jar_unspecified_jar.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: __local_aars__:C.\workspace\Security_alarm\app\libs\slf4j-api-1.7.9.jar:unspecified@jar">
-    <CLASSES>
-      <root url="jar://$PROJECT_DIR$/app/libs/slf4j-api-1.7.9.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle____local_aars___C__workspace_Security_alarm_app_libs_universal_image_loader_1_9_2_SNAPSHOT_with_sources_jar_unspecified_jar.xml b/.idea/libraries/Gradle____local_aars___C__workspace_Security_alarm_app_libs_universal_image_loader_1_9_2_SNAPSHOT_with_sources_jar_unspecified_jar.xml
deleted file mode 100644
index 986b388..0000000
--- a/.idea/libraries/Gradle____local_aars___C__workspace_Security_alarm_app_libs_universal_image_loader_1_9_2_SNAPSHOT_with_sources_jar_unspecified_jar.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: __local_aars__:C.\workspace\Security_alarm\app\libs\universal-image-loader-1.9.2-SNAPSHOT-with-sources.jar:unspecified@jar">
-    <CLASSES>
-      <root url="jar://$PROJECT_DIR$/app/libs/universal-image-loader-1.9.2-SNAPSHOT-with-sources.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle____local_aars___C__workspace_Security_alarm_app_libs_xUtils_2_6_14_jar_unspecified_jar.xml b/.idea/libraries/Gradle____local_aars___C__workspace_Security_alarm_app_libs_xUtils_2_6_14_jar_unspecified_jar.xml
deleted file mode 100644
index 4c1ccc5..0000000
--- a/.idea/libraries/Gradle____local_aars___C__workspace_Security_alarm_app_libs_xUtils_2_6_14_jar_unspecified_jar.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: __local_aars__:C.\workspace\Security_alarm\app\libs\xUtils-2.6.14.jar:unspecified@jar">
-    <CLASSES>
-      <root url="jar://$PROJECT_DIR$/app/libs/xUtils-2.6.14.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__android_arch_core_runtime_1_1_1_aar.xml b/.idea/libraries/Gradle__android_arch_core_runtime_1_1_1_aar.xml
deleted file mode 100644
index 2705506..0000000
--- a/.idea/libraries/Gradle__android_arch_core_runtime_1_1_1_aar.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: android.arch.core:runtime:1.1.1@aar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/runtime-1.1.1.aar/3d2955007d8d1980956c93c096f5517d/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/runtime-1.1.1.aar/3d2955007d8d1980956c93c096f5517d/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/android.arch.core/runtime/1.1.1/25df553df10af32bede9dd768a2d15299543d84/runtime-1.1.1-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__android_arch_lifecycle_livedata_core_1_1_1_aar.xml b/.idea/libraries/Gradle__android_arch_lifecycle_livedata_core_1_1_1_aar.xml
deleted file mode 100644
index 4b32d05..0000000
--- a/.idea/libraries/Gradle__android_arch_lifecycle_livedata_core_1_1_1_aar.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: android.arch.lifecycle:livedata-core:1.1.1@aar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/livedata-core-1.1.1.aar/e21aa8e10967ef9bc3a4dd9b199564d8/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/livedata-core-1.1.1.aar/e21aa8e10967ef9bc3a4dd9b199564d8/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/android.arch.lifecycle/livedata-core/1.1.1/c38818e006ea7a408c05e3090364332d46494ef/livedata-core-1.1.1-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__android_arch_lifecycle_runtime_1_1_1_aar.xml b/.idea/libraries/Gradle__android_arch_lifecycle_runtime_1_1_1_aar.xml
deleted file mode 100644
index a2c7d34..0000000
--- a/.idea/libraries/Gradle__android_arch_lifecycle_runtime_1_1_1_aar.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: android.arch.lifecycle:runtime:1.1.1@aar">
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/runtime-1.1.1.aar/e9a6761d59d583bb92fa81885d010b93/res" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/runtime-1.1.1.aar/e9a6761d59d583bb92fa81885d010b93/jars/classes.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/android.arch.lifecycle/runtime/1.1.1/8e4214221b3797b863dc9998d16abb4af043e784/runtime-1.1.1-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__android_arch_lifecycle_viewmodel_1_1_1_aar.xml b/.idea/libraries/Gradle__android_arch_lifecycle_viewmodel_1_1_1_aar.xml
deleted file mode 100644
index c29800b..0000000
--- a/.idea/libraries/Gradle__android_arch_lifecycle_viewmodel_1_1_1_aar.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: android.arch.lifecycle:viewmodel:1.1.1@aar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/viewmodel-1.1.1.aar/0e95109a9edfaebe38b3d8a81cd98ea4/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/viewmodel-1.1.1.aar/0e95109a9edfaebe38b3d8a81cd98ea4/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/android.arch.lifecycle/viewmodel/1.1.1/d1cc8e805317f171be63c68341f499acda7e42d6/viewmodel-1.1.1-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__android_arch_persistence_db_1_1_0_aar.xml b/.idea/libraries/Gradle__android_arch_persistence_db_1_1_0_aar.xml
deleted file mode 100644
index ecf5302..0000000
--- a/.idea/libraries/Gradle__android_arch_persistence_db_1_1_0_aar.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: android.arch.persistence:db:1.1.0@aar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/db-1.1.0.aar/a33047dd562300a8306e5eb0ecd32f1a/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/db-1.1.0.aar/a33047dd562300a8306e5eb0ecd32f1a/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/android.arch.persistence/db/1.1.0/7544ea2272ead5154ea6d53b477c728b8db6fe63/db-1.1.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__android_arch_persistence_db_framework_1_1_0_aar.xml b/.idea/libraries/Gradle__android_arch_persistence_db_framework_1_1_0_aar.xml
deleted file mode 100644
index a277497..0000000
--- a/.idea/libraries/Gradle__android_arch_persistence_db_framework_1_1_0_aar.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: android.arch.persistence:db-framework:1.1.0@aar">
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/db-framework-1.1.0.aar/1b5780b02be78ffcf97226be429c34a5/res" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/db-framework-1.1.0.aar/1b5780b02be78ffcf97226be429c34a5/jars/classes.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/android.arch.persistence/db-framework/1.1.0/815f24fe584131da63f8961e3c8510c153e7a503/db-framework-1.1.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__android_arch_persistence_room_runtime_1_1_0_aar.xml b/.idea/libraries/Gradle__android_arch_persistence_room_runtime_1_1_0_aar.xml
deleted file mode 100644
index 75fca33..0000000
--- a/.idea/libraries/Gradle__android_arch_persistence_room_runtime_1_1_0_aar.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: android.arch.persistence.room:runtime:1.1.0@aar">
-    <ANNOTATIONS>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/runtime-1.1.0.aar/2203ff4dca0ca4f04bc474fc1abbb3aa/annotations.zip!/" />
-    </ANNOTATIONS>
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/runtime-1.1.0.aar/2203ff4dca0ca4f04bc474fc1abbb3aa/res" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/runtime-1.1.0.aar/2203ff4dca0ca4f04bc474fc1abbb3aa/jars/classes.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/android.arch.persistence.room/runtime/1.1.0/a692ebf5959a0289fabf267cbb18908fb35200fe/runtime-1.1.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_amitshekhar_android_debug_db_1_0_4_aar.xml b/.idea/libraries/Gradle__com_amitshekhar_android_debug_db_1_0_4_aar.xml
deleted file mode 100644
index 2d12bbd..0000000
--- a/.idea/libraries/Gradle__com_amitshekhar_android_debug_db_1_0_4_aar.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.amitshekhar.android:debug-db:1.0.4@aar">
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/debug-db-1.0.4.aar/f62799e6163210a1dbf0b5e2a289a773/res" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/debug-db-1.0.4.aar/f62799e6163210a1dbf0b5e2a289a773/jars/classes.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.amitshekhar.android/debug-db/1.0.4/bc55f708add085095e49aa13a443dc09ecc4b225/debug-db-1.0.4-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_animated_vector_drawable_28_0_0_rc02_aar.xml b/.idea/libraries/Gradle__com_android_support_animated_vector_drawable_28_0_0_rc02_aar.xml
deleted file mode 100644
index 2a07ee9..0000000
--- a/.idea/libraries/Gradle__com_android_support_animated_vector_drawable_28_0_0_rc02_aar.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.android.support:animated-vector-drawable:28.0.0-rc02@aar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/animated-vector-drawable-28.0.0-rc02.aar/718ca9248cd51c1c14d58c9bb48ad600/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/animated-vector-drawable-28.0.0-rc02.aar/718ca9248cd51c1c14d58c9bb48ad600/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_appcompat_v7_28_0_0_rc02_aar.xml b/.idea/libraries/Gradle__com_android_support_appcompat_v7_28_0_0_rc02_aar.xml
deleted file mode 100644
index 7cb0248..0000000
--- a/.idea/libraries/Gradle__com_android_support_appcompat_v7_28_0_0_rc02_aar.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.android.support:appcompat-v7:28.0.0-rc02@aar">
-    <ANNOTATIONS>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/appcompat-v7-28.0.0-rc02.aar/0b2d52b42c5f75d5663787350b038cbf/annotations.zip!/" />
-    </ANNOTATIONS>
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/appcompat-v7-28.0.0-rc02.aar/0b2d52b42c5f75d5663787350b038cbf/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/appcompat-v7-28.0.0-rc02.aar/0b2d52b42c5f75d5663787350b038cbf/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_asynclayoutinflater_28_0_0_rc02_aar.xml b/.idea/libraries/Gradle__com_android_support_asynclayoutinflater_28_0_0_rc02_aar.xml
deleted file mode 100644
index 4e6d629..0000000
--- a/.idea/libraries/Gradle__com_android_support_asynclayoutinflater_28_0_0_rc02_aar.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.android.support:asynclayoutinflater:28.0.0-rc02@aar">
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/asynclayoutinflater-28.0.0-rc02.aar/1e7158b2fa03c620e91de555052827b5/res" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/asynclayoutinflater-28.0.0-rc02.aar/1e7158b2fa03c620e91de555052827b5/jars/classes.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_cardview_v7_28_0_0_rc01_aar.xml b/.idea/libraries/Gradle__com_android_support_cardview_v7_28_0_0_rc01_aar.xml
deleted file mode 100644
index ff316bc..0000000
--- a/.idea/libraries/Gradle__com_android_support_cardview_v7_28_0_0_rc01_aar.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.android.support:cardview-v7:28.0.0-rc01@aar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/cardview-v7-28.0.0-rc01.aar/40c1abd9fc5f5f78a4bc4f0566e57093/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/cardview-v7-28.0.0-rc01.aar/40c1abd9fc5f5f78a4bc4f0566e57093/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_constraint_constraint_layout_1_1_2_aar.xml b/.idea/libraries/Gradle__com_android_support_constraint_constraint_layout_1_1_2_aar.xml
deleted file mode 100644
index 01b4117..0000000
--- a/.idea/libraries/Gradle__com_android_support_constraint_constraint_layout_1_1_2_aar.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.android.support.constraint:constraint-layout:1.1.2@aar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/constraint-layout-1.1.2.aar/c4663795f8f6dbd08ec2cd7508761d01/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/constraint-layout-1.1.2.aar/c4663795f8f6dbd08ec2cd7508761d01/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_coordinatorlayout_28_0_0_rc02_aar.xml b/.idea/libraries/Gradle__com_android_support_coordinatorlayout_28_0_0_rc02_aar.xml
deleted file mode 100644
index d647837..0000000
--- a/.idea/libraries/Gradle__com_android_support_coordinatorlayout_28_0_0_rc02_aar.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.android.support:coordinatorlayout:28.0.0-rc02@aar">
-    <ANNOTATIONS>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/coordinatorlayout-28.0.0-rc02.aar/fe687b79dad350301a187290f1d84bdb/annotations.zip!/" />
-    </ANNOTATIONS>
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/coordinatorlayout-28.0.0-rc02.aar/fe687b79dad350301a187290f1d84bdb/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/coordinatorlayout-28.0.0-rc02.aar/fe687b79dad350301a187290f1d84bdb/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_cursoradapter_28_0_0_rc02_aar.xml b/.idea/libraries/Gradle__com_android_support_cursoradapter_28_0_0_rc02_aar.xml
deleted file mode 100644
index e2f045f..0000000
--- a/.idea/libraries/Gradle__com_android_support_cursoradapter_28_0_0_rc02_aar.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.android.support:cursoradapter:28.0.0-rc02@aar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/cursoradapter-28.0.0-rc02.aar/9111cdfbfff03373658b3305fb67b704/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/cursoradapter-28.0.0-rc02.aar/9111cdfbfff03373658b3305fb67b704/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_customview_28_0_0_rc02_aar.xml b/.idea/libraries/Gradle__com_android_support_customview_28_0_0_rc02_aar.xml
deleted file mode 100644
index 97d1131..0000000
--- a/.idea/libraries/Gradle__com_android_support_customview_28_0_0_rc02_aar.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.android.support:customview:28.0.0-rc02@aar">
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/customview-28.0.0-rc02.aar/374667d14eb96d2a37d0119a842277af/res" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/customview-28.0.0-rc02.aar/374667d14eb96d2a37d0119a842277af/jars/classes.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_design_28_0_0_rc01_aar.xml b/.idea/libraries/Gradle__com_android_support_design_28_0_0_rc01_aar.xml
deleted file mode 100644
index ed7a1dd..0000000
--- a/.idea/libraries/Gradle__com_android_support_design_28_0_0_rc01_aar.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.android.support:design:28.0.0-rc01@aar">
-    <ANNOTATIONS>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/design-28.0.0-rc01.aar/7e890e4cee8e22e86c4d409615a87b69/annotations.zip!/" />
-    </ANNOTATIONS>
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/design-28.0.0-rc01.aar/7e890e4cee8e22e86c4d409615a87b69/res" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/design-28.0.0-rc01.aar/7e890e4cee8e22e86c4d409615a87b69/jars/classes.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_documentfile_28_0_0_rc02_aar.xml b/.idea/libraries/Gradle__com_android_support_documentfile_28_0_0_rc02_aar.xml
deleted file mode 100644
index d3fd5da..0000000
--- a/.idea/libraries/Gradle__com_android_support_documentfile_28_0_0_rc02_aar.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.android.support:documentfile:28.0.0-rc02@aar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/documentfile-28.0.0-rc02.aar/66003e171e5893f59815b38d211ae932/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/documentfile-28.0.0-rc02.aar/66003e171e5893f59815b38d211ae932/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_drawerlayout_28_0_0_rc02_aar.xml b/.idea/libraries/Gradle__com_android_support_drawerlayout_28_0_0_rc02_aar.xml
deleted file mode 100644
index e4afda6..0000000
--- a/.idea/libraries/Gradle__com_android_support_drawerlayout_28_0_0_rc02_aar.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.android.support:drawerlayout:28.0.0-rc02@aar">
-    <ANNOTATIONS>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/drawerlayout-28.0.0-rc02.aar/d6ab59ca01696487fa8a2607bd9f71fc/annotations.zip!/" />
-    </ANNOTATIONS>
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/drawerlayout-28.0.0-rc02.aar/d6ab59ca01696487fa8a2607bd9f71fc/res" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/drawerlayout-28.0.0-rc02.aar/d6ab59ca01696487fa8a2607bd9f71fc/jars/classes.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_interpolator_28_0_0_rc02_aar.xml b/.idea/libraries/Gradle__com_android_support_interpolator_28_0_0_rc02_aar.xml
deleted file mode 100644
index 9f914e8..0000000
--- a/.idea/libraries/Gradle__com_android_support_interpolator_28_0_0_rc02_aar.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.android.support:interpolator:28.0.0-rc02@aar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/interpolator-28.0.0-rc02.aar/8ec1f135c64765ef653d18d4c53ed7ff/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/interpolator-28.0.0-rc02.aar/8ec1f135c64765ef653d18d4c53ed7ff/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_loader_28_0_0_rc02_aar.xml b/.idea/libraries/Gradle__com_android_support_loader_28_0_0_rc02_aar.xml
deleted file mode 100644
index f31b667..0000000
--- a/.idea/libraries/Gradle__com_android_support_loader_28_0_0_rc02_aar.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.android.support:loader:28.0.0-rc02@aar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/loader-28.0.0-rc02.aar/5ae3ba5378f42b939ea43d2916840479/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/loader-28.0.0-rc02.aar/5ae3ba5378f42b939ea43d2916840479/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_localbroadcastmanager_28_0_0_rc02_aar.xml b/.idea/libraries/Gradle__com_android_support_localbroadcastmanager_28_0_0_rc02_aar.xml
deleted file mode 100644
index d43c3da..0000000
--- a/.idea/libraries/Gradle__com_android_support_localbroadcastmanager_28_0_0_rc02_aar.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.android.support:localbroadcastmanager:28.0.0-rc02@aar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/localbroadcastmanager-28.0.0-rc02.aar/b45031b82bc582f186d8ffbb00de8e90/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/localbroadcastmanager-28.0.0-rc02.aar/b45031b82bc582f186d8ffbb00de8e90/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_multidex_1_0_3_aar.xml b/.idea/libraries/Gradle__com_android_support_multidex_1_0_3_aar.xml
deleted file mode 100644
index abafe3e..0000000
--- a/.idea/libraries/Gradle__com_android_support_multidex_1_0_3_aar.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.android.support:multidex:1.0.3@aar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/multidex-1.0.3.aar/51dae0f6b3731c3cba94ef7d516b362e/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/multidex-1.0.3.aar/51dae0f6b3731c3cba94ef7d516b362e/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_print_28_0_0_rc02_aar.xml b/.idea/libraries/Gradle__com_android_support_print_28_0_0_rc02_aar.xml
deleted file mode 100644
index 98b5835..0000000
--- a/.idea/libraries/Gradle__com_android_support_print_28_0_0_rc02_aar.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.android.support:print:28.0.0-rc02@aar">
-    <ANNOTATIONS>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/print-28.0.0-rc02.aar/db87755f19df81a2d4d1fc9e538919d3/annotations.zip!/" />
-    </ANNOTATIONS>
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/print-28.0.0-rc02.aar/db87755f19df81a2d4d1fc9e538919d3/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/print-28.0.0-rc02.aar/db87755f19df81a2d4d1fc9e538919d3/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_recyclerview_v7_28_0_0_rc01_aar.xml b/.idea/libraries/Gradle__com_android_support_recyclerview_v7_28_0_0_rc01_aar.xml
deleted file mode 100644
index 4540a6e..0000000
--- a/.idea/libraries/Gradle__com_android_support_recyclerview_v7_28_0_0_rc01_aar.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.android.support:recyclerview-v7:28.0.0-rc01@aar">
-    <ANNOTATIONS>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/recyclerview-v7-28.0.0-rc01.aar/f8d1db7061335d9db160f8372c50a3af/annotations.zip!/" />
-    </ANNOTATIONS>
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/recyclerview-v7-28.0.0-rc01.aar/f8d1db7061335d9db160f8372c50a3af/res" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/recyclerview-v7-28.0.0-rc01.aar/f8d1db7061335d9db160f8372c50a3af/jars/classes.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_slidingpanelayout_28_0_0_rc02_aar.xml b/.idea/libraries/Gradle__com_android_support_slidingpanelayout_28_0_0_rc02_aar.xml
deleted file mode 100644
index de8ab03..0000000
--- a/.idea/libraries/Gradle__com_android_support_slidingpanelayout_28_0_0_rc02_aar.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.android.support:slidingpanelayout:28.0.0-rc02@aar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/slidingpanelayout-28.0.0-rc02.aar/073e3e56cbdff706d9b64eeee96e534a/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/slidingpanelayout-28.0.0-rc02.aar/073e3e56cbdff706d9b64eeee96e534a/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_support_compat_28_0_0_rc02_aar.xml b/.idea/libraries/Gradle__com_android_support_support_compat_28_0_0_rc02_aar.xml
deleted file mode 100644
index d3c887c..0000000
--- a/.idea/libraries/Gradle__com_android_support_support_compat_28_0_0_rc02_aar.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.android.support:support-compat:28.0.0-rc02@aar">
-    <ANNOTATIONS>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-compat-28.0.0-rc02.aar/1922028cd58a88049b796e2e8a594a56/annotations.zip!/" />
-    </ANNOTATIONS>
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-compat-28.0.0-rc02.aar/1922028cd58a88049b796e2e8a594a56/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-compat-28.0.0-rc02.aar/1922028cd58a88049b796e2e8a594a56/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_support_core_ui_28_0_0_rc02_aar.xml b/.idea/libraries/Gradle__com_android_support_support_core_ui_28_0_0_rc02_aar.xml
deleted file mode 100644
index 32f574d..0000000
--- a/.idea/libraries/Gradle__com_android_support_support_core_ui_28_0_0_rc02_aar.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.android.support:support-core-ui:28.0.0-rc02@aar">
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-core-ui-28.0.0-rc02.aar/a797905c1fa31d7884dbc86106383041/res" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-core-ui-28.0.0-rc02.aar/a797905c1fa31d7884dbc86106383041/jars/classes.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_support_core_utils_28_0_0_rc02_aar.xml b/.idea/libraries/Gradle__com_android_support_support_core_utils_28_0_0_rc02_aar.xml
deleted file mode 100644
index 2be34ae..0000000
--- a/.idea/libraries/Gradle__com_android_support_support_core_utils_28_0_0_rc02_aar.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.android.support:support-core-utils:28.0.0-rc02@aar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-core-utils-28.0.0-rc02.aar/eb7f5c01e98856e4cc18eca6b79ee9a4/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-core-utils-28.0.0-rc02.aar/eb7f5c01e98856e4cc18eca6b79ee9a4/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_support_fragment_28_0_0_rc02_aar.xml b/.idea/libraries/Gradle__com_android_support_support_fragment_28_0_0_rc02_aar.xml
deleted file mode 100644
index f6905e2..0000000
--- a/.idea/libraries/Gradle__com_android_support_support_fragment_28_0_0_rc02_aar.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.android.support:support-fragment:28.0.0-rc02@aar">
-    <ANNOTATIONS>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-fragment-28.0.0-rc02.aar/2e3b47e59e9fa36368b29fe89be21c95/annotations.zip!/" />
-    </ANNOTATIONS>
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-fragment-28.0.0-rc02.aar/2e3b47e59e9fa36368b29fe89be21c95/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-fragment-28.0.0-rc02.aar/2e3b47e59e9fa36368b29fe89be21c95/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_support_media_compat_28_0_0_rc02_aar.xml b/.idea/libraries/Gradle__com_android_support_support_media_compat_28_0_0_rc02_aar.xml
deleted file mode 100644
index b4af988..0000000
--- a/.idea/libraries/Gradle__com_android_support_support_media_compat_28_0_0_rc02_aar.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.android.support:support-media-compat:28.0.0-rc02@aar">
-    <ANNOTATIONS>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-media-compat-28.0.0-rc02.aar/0f11f8281b867033f4fe33f0faba3ab3/annotations.zip!/" />
-    </ANNOTATIONS>
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-media-compat-28.0.0-rc02.aar/0f11f8281b867033f4fe33f0faba3ab3/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-media-compat-28.0.0-rc02.aar/0f11f8281b867033f4fe33f0faba3ab3/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_support_v13_28_0_0_rc02_aar.xml b/.idea/libraries/Gradle__com_android_support_support_v13_28_0_0_rc02_aar.xml
deleted file mode 100644
index d44c604..0000000
--- a/.idea/libraries/Gradle__com_android_support_support_v13_28_0_0_rc02_aar.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.android.support:support-v13:28.0.0-rc02@aar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-v13-28.0.0-rc02.aar/d8ea6370040073ab7a0869bd83482db2/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-v13-28.0.0-rc02.aar/d8ea6370040073ab7a0869bd83482db2/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_support_v4_28_0_0_rc02_aar.xml b/.idea/libraries/Gradle__com_android_support_support_v4_28_0_0_rc02_aar.xml
deleted file mode 100644
index 01a85c7..0000000
--- a/.idea/libraries/Gradle__com_android_support_support_v4_28_0_0_rc02_aar.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.android.support:support-v4:28.0.0-rc02@aar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-v4-28.0.0-rc02.aar/26c64f0f9ade16822bc0c962e34858ef/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-v4-28.0.0-rc02.aar/26c64f0f9ade16822bc0c962e34858ef/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_support_vector_drawable_28_0_0_rc02_aar.xml b/.idea/libraries/Gradle__com_android_support_support_vector_drawable_28_0_0_rc02_aar.xml
deleted file mode 100644
index de5230c..0000000
--- a/.idea/libraries/Gradle__com_android_support_support_vector_drawable_28_0_0_rc02_aar.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.android.support:support-vector-drawable:28.0.0-rc02@aar">
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-vector-drawable-28.0.0-rc02.aar/1dedf2f97c54749409f2ac56ed844cf7/res" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-vector-drawable-28.0.0-rc02.aar/1dedf2f97c54749409f2ac56ed844cf7/jars/classes.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_swiperefreshlayout_28_0_0_rc02_aar.xml b/.idea/libraries/Gradle__com_android_support_swiperefreshlayout_28_0_0_rc02_aar.xml
deleted file mode 100644
index 0c89920..0000000
--- a/.idea/libraries/Gradle__com_android_support_swiperefreshlayout_28_0_0_rc02_aar.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.android.support:swiperefreshlayout:28.0.0-rc02@aar">
-    <ANNOTATIONS>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/swiperefreshlayout-28.0.0-rc02.aar/7c8a7f23a83551e1aa40ef23788abef4/annotations.zip!/" />
-    </ANNOTATIONS>
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/swiperefreshlayout-28.0.0-rc02.aar/7c8a7f23a83551e1aa40ef23788abef4/res" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/swiperefreshlayout-28.0.0-rc02.aar/7c8a7f23a83551e1aa40ef23788abef4/jars/classes.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_core_3_0_2_aar.xml b/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_core_3_0_2_aar.xml
deleted file mode 100644
index 278e2f1..0000000
--- a/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_core_3_0_2_aar.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.android.support.test.espresso:espresso-core:3.0.2@aar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/espresso-core-3.0.2.aar/d63053b665062bc2a7532c20b5deb962/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/espresso-core-3.0.2.aar/d63053b665062bc2a7532c20b5deb962/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support.test.espresso/espresso-core/3.0.2/433f4f601a3f3835691d80838dd7ff9414931b05/espresso-core-3.0.2-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_idling_resource_3_0_2_aar.xml b/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_idling_resource_3_0_2_aar.xml
deleted file mode 100644
index 7a89bba..0000000
--- a/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_idling_resource_3_0_2_aar.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.android.support.test.espresso:espresso-idling-resource:3.0.2@aar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/espresso-idling-resource-3.0.2.aar/94529a602fd15eb5cd20eb6119bcd603/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/espresso-idling-resource-3.0.2.aar/94529a602fd15eb5cd20eb6119bcd603/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support.test.espresso/espresso-idling-resource/3.0.2/6071e2b310c16836ba475a94df377e2f75928546/espresso-idling-resource-3.0.2-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_test_monitor_1_0_2_aar.xml b/.idea/libraries/Gradle__com_android_support_test_monitor_1_0_2_aar.xml
deleted file mode 100644
index 17cb29f..0000000
--- a/.idea/libraries/Gradle__com_android_support_test_monitor_1_0_2_aar.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.android.support.test:monitor:1.0.2@aar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/monitor-1.0.2.aar/a844577fff61c32ba80b0daa73b42fd1/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/monitor-1.0.2.aar/a844577fff61c32ba80b0daa73b42fd1/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support.test/monitor/1.0.2/5764301056100b445e9ba31df7d1b554a55450f6/monitor-1.0.2-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_test_runner_1_0_2_aar.xml b/.idea/libraries/Gradle__com_android_support_test_runner_1_0_2_aar.xml
deleted file mode 100644
index 7bfb4ae..0000000
--- a/.idea/libraries/Gradle__com_android_support_test_runner_1_0_2_aar.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.android.support.test:runner:1.0.2@aar">
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/runner-1.0.2.aar/5b7b6279bb5c9755e27dda4808046180/res" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/runner-1.0.2.aar/5b7b6279bb5c9755e27dda4808046180/jars/classes.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support.test/runner/1.0.2/b2ce2342744a66e935dbc4a298259709a4c1f042/runner-1.0.2-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_transition_28_0_0_rc01_aar.xml b/.idea/libraries/Gradle__com_android_support_transition_28_0_0_rc01_aar.xml
deleted file mode 100644
index b3e00b0..0000000
--- a/.idea/libraries/Gradle__com_android_support_transition_28_0_0_rc01_aar.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.android.support:transition:28.0.0-rc01@aar">
-    <ANNOTATIONS>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/transition-28.0.0-rc01.aar/9237bdb99271eb5a0eb6b174152573a2/annotations.zip!/" />
-    </ANNOTATIONS>
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/transition-28.0.0-rc01.aar/9237bdb99271eb5a0eb6b174152573a2/res" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/transition-28.0.0-rc01.aar/9237bdb99271eb5a0eb6b174152573a2/jars/classes.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_versionedparcelable_28_0_0_rc02_aar.xml b/.idea/libraries/Gradle__com_android_support_versionedparcelable_28_0_0_rc02_aar.xml
deleted file mode 100644
index c184db9..0000000
--- a/.idea/libraries/Gradle__com_android_support_versionedparcelable_28_0_0_rc02_aar.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.android.support:versionedparcelable:28.0.0-rc02@aar">
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/versionedparcelable-28.0.0-rc02.aar/d6686e656b18b8115a8c1ed54d13639d/res" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/versionedparcelable-28.0.0-rc02.aar/d6686e656b18b8115a8c1ed54d13639d/jars/classes.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_viewpager_28_0_0_rc02_aar.xml b/.idea/libraries/Gradle__com_android_support_viewpager_28_0_0_rc02_aar.xml
deleted file mode 100644
index 0f03657..0000000
--- a/.idea/libraries/Gradle__com_android_support_viewpager_28_0_0_rc02_aar.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.android.support:viewpager:28.0.0-rc02@aar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/viewpager-28.0.0-rc02.aar/b1a0fbba725e61d6c43b8292778a4988/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/viewpager-28.0.0-rc02.aar/b1a0fbba725e61d6c43b8292778a4988/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_beardedhen_androidbootstrap_2_3_2_aar.xml b/.idea/libraries/Gradle__com_beardedhen_androidbootstrap_2_3_2_aar.xml
deleted file mode 100644
index a0b23ef..0000000
--- a/.idea/libraries/Gradle__com_beardedhen_androidbootstrap_2_3_2_aar.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.beardedhen:androidbootstrap:2.3.2@aar">
-    <ANNOTATIONS>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/androidbootstrap-2.3.2.aar/770a288ad406bdbc14c56ccd1b0cba49/annotations.zip!/" />
-    </ANNOTATIONS>
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/androidbootstrap-2.3.2.aar/770a288ad406bdbc14c56ccd1b0cba49/res" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/androidbootstrap-2.3.2.aar/770a288ad406bdbc14c56ccd1b0cba49/jars/classes.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.beardedhen/androidbootstrap/2.3.2/c1f461a0722ca15d4090286735f68afbe3036475/androidbootstrap-2.3.2-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_contrarywind_Android_PickerView_4_1_6_aar.xml b/.idea/libraries/Gradle__com_contrarywind_Android_PickerView_4_1_6_aar.xml
deleted file mode 100644
index 0491cb7..0000000
--- a/.idea/libraries/Gradle__com_contrarywind_Android_PickerView_4_1_6_aar.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.contrarywind:Android-PickerView:4.1.6@aar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/Android-PickerView-4.1.6.aar/8d35a2d5aefb0f642086bec4119c11df/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/Android-PickerView-4.1.6.aar/8d35a2d5aefb0f642086bec4119c11df/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.contrarywind/Android-PickerView/4.1.6/be2276326fcd26eefa05ff7d0905a51125a57a4a/Android-PickerView-4.1.6-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_contrarywind_wheelview_4_0_8_aar.xml b/.idea/libraries/Gradle__com_contrarywind_wheelview_4_0_8_aar.xml
deleted file mode 100644
index 06a0153..0000000
--- a/.idea/libraries/Gradle__com_contrarywind_wheelview_4_0_8_aar.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.contrarywind:wheelview:4.0.8@aar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/wheelview-4.0.8.aar/83c95485739067831a0c9b3f086e047e/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/wheelview-4.0.8.aar/83c95485739067831a0c9b3f086e047e/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.contrarywind/wheelview/4.0.8/f868eea3497cdf462c29810427359b5763bb6fcb/wheelview-4.0.8-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_facebook_fresco_drawee_1_1_0_aar.xml b/.idea/libraries/Gradle__com_facebook_fresco_drawee_1_1_0_aar.xml
deleted file mode 100644
index 59d9228..0000000
--- a/.idea/libraries/Gradle__com_facebook_fresco_drawee_1_1_0_aar.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.facebook.fresco:drawee:1.1.0@aar">
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/drawee-1.1.0.aar/a28890c7a3e6733e1bcd464f402e12b4/res" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/drawee-1.1.0.aar/a28890c7a3e6733e1bcd464f402e12b4/jars/classes.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.facebook.fresco/drawee/1.1.0/b1a388694b4abd78bef50400bca61987e9c47b23/drawee-1.1.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_facebook_fresco_fbcore_1_1_0_aar.xml b/.idea/libraries/Gradle__com_facebook_fresco_fbcore_1_1_0_aar.xml
deleted file mode 100644
index 001e9d1..0000000
--- a/.idea/libraries/Gradle__com_facebook_fresco_fbcore_1_1_0_aar.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.facebook.fresco:fbcore:1.1.0@aar">
-    <ANNOTATIONS>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/fbcore-1.1.0.aar/91f730de7896f6e1b13bbc61acdaad40/annotations.zip!/" />
-    </ANNOTATIONS>
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/fbcore-1.1.0.aar/91f730de7896f6e1b13bbc61acdaad40/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/fbcore-1.1.0.aar/91f730de7896f6e1b13bbc61acdaad40/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.facebook.fresco/fbcore/1.1.0/ae160016c6bd646581e366458fb71ad703e5da4b/fbcore-1.1.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_facebook_fresco_fresco_1_1_0_aar.xml b/.idea/libraries/Gradle__com_facebook_fresco_fresco_1_1_0_aar.xml
deleted file mode 100644
index 27965a9..0000000
--- a/.idea/libraries/Gradle__com_facebook_fresco_fresco_1_1_0_aar.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.facebook.fresco:fresco:1.1.0@aar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/fresco-1.1.0.aar/6a40ca7928d8bed1ddcdf88f27985abe/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/fresco-1.1.0.aar/6a40ca7928d8bed1ddcdf88f27985abe/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.facebook.fresco/fresco/1.1.0/d556802c848ae4d5392bed9b17b65c875b7b2f1a/fresco-1.1.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_1_1_0_aar.xml b/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_1_1_0_aar.xml
deleted file mode 100644
index cfe0cb7..0000000
--- a/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_1_1_0_aar.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.facebook.fresco:imagepipeline:1.1.0@aar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/imagepipeline-1.1.0.aar/259a15d87807af4ff7fcd7d5150a60e2/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/imagepipeline-1.1.0.aar/259a15d87807af4ff7fcd7d5150a60e2/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.facebook.fresco/imagepipeline/1.1.0/f6e2ed809d342a4df4843da23b651f9ca35160eb/imagepipeline-1.1.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_base_1_1_0_aar.xml b/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_base_1_1_0_aar.xml
deleted file mode 100644
index c8b8f01..0000000
--- a/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_base_1_1_0_aar.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.facebook.fresco:imagepipeline-base:1.1.0@aar">
-    <ANNOTATIONS>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/imagepipeline-base-1.1.0.aar/95c00aca1252df49e42bbe04378272c0/annotations.zip!/" />
-    </ANNOTATIONS>
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/imagepipeline-base-1.1.0.aar/95c00aca1252df49e42bbe04378272c0/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/imagepipeline-base-1.1.0.aar/95c00aca1252df49e42bbe04378272c0/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.facebook.fresco/imagepipeline-base/1.1.0/88b5a59519851ffb07b99db4bd746f077323d3ca/imagepipeline-base-1.1.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_github_angads25_toggle_1_0_0_aar.xml b/.idea/libraries/Gradle__com_github_angads25_toggle_1_0_0_aar.xml
deleted file mode 100644
index da1d7c8..0000000
--- a/.idea/libraries/Gradle__com_github_angads25_toggle_1_0_0_aar.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.github.angads25:toggle:1.0.0@aar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/toggle-1.0.0.aar/acf84dbe760f39d05b4980a29097a7cf/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/toggle-1.0.0.aar/acf84dbe760f39d05b4980a29097a7cf/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.github.angads25/toggle/1.0.0/34620214e385c0bd87417b3d53194e592ff12136/toggle-1.0.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_github_bumptech_glide_gifdecoder_4_8_0_aar.xml b/.idea/libraries/Gradle__com_github_bumptech_glide_gifdecoder_4_8_0_aar.xml
deleted file mode 100644
index 5e0054d..0000000
--- a/.idea/libraries/Gradle__com_github_bumptech_glide_gifdecoder_4_8_0_aar.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.github.bumptech.glide:gifdecoder:4.8.0@aar">
-    <ANNOTATIONS>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/gifdecoder-4.8.0.aar/a735efb8634b8f48cefa7276cb889115/annotations.zip!/" />
-    </ANNOTATIONS>
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/gifdecoder-4.8.0.aar/a735efb8634b8f48cefa7276cb889115/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/gifdecoder-4.8.0.aar/a735efb8634b8f48cefa7276cb889115/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.github.bumptech.glide/gifdecoder/4.8.0/b868c1eef40822dacf2e1f08c2186b7acf3d4b6/gifdecoder-4.8.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_github_bumptech_glide_glide_4_8_0_aar.xml b/.idea/libraries/Gradle__com_github_bumptech_glide_glide_4_8_0_aar.xml
deleted file mode 100644
index 9ba618c..0000000
--- a/.idea/libraries/Gradle__com_github_bumptech_glide_glide_4_8_0_aar.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.github.bumptech.glide:glide:4.8.0@aar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/glide-4.8.0.aar/bbf645afc2ce8877387e2dc93ea2f21a/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/glide-4.8.0.aar/bbf645afc2ce8877387e2dc93ea2f21a/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.github.bumptech.glide/glide/4.8.0/ffc2684f1c6436d3942d82d29a5344942792594/glide-4.8.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_github_ybq_Android_SpinKit_1_2_0_aar.xml b/.idea/libraries/Gradle__com_github_ybq_Android_SpinKit_1_2_0_aar.xml
deleted file mode 100644
index 258a3f7..0000000
--- a/.idea/libraries/Gradle__com_github_ybq_Android_SpinKit_1_2_0_aar.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.github.ybq:Android-SpinKit:1.2.0@aar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/Android-SpinKit-1.2.0.aar/e8a9990a4f456b226c32e9caecb319cf/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/Android-SpinKit-1.2.0.aar/e8a9990a4f456b226c32e9caecb319cf/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.github.ybq/Android-SpinKit/1.2.0/8e167032d90bef21f6e90e39d1b3ee11a8fd33d0/Android-SpinKit-1.2.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_kyleduo_switchbutton_library_2_0_0_aar.xml b/.idea/libraries/Gradle__com_kyleduo_switchbutton_library_2_0_0_aar.xml
deleted file mode 100644
index d1f80e4..0000000
--- a/.idea/libraries/Gradle__com_kyleduo_switchbutton_library_2_0_0_aar.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.kyleduo.switchbutton:library:2.0.0@aar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/library-2.0.0.aar/f740f307482b8e55d771ba9e5cbcc1f5/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/library-2.0.0.aar/f740f307482b8e55d771ba9e5cbcc1f5/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.kyleduo.switchbutton/library/2.0.0/f6c0cce5e0c5dd42f80863ca20c1733698b184dd/library-2.0.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_makeramen_roundedimageview_2_3_0_aar.xml b/.idea/libraries/Gradle__com_makeramen_roundedimageview_2_3_0_aar.xml
deleted file mode 100644
index 1eaa1e0..0000000
--- a/.idea/libraries/Gradle__com_makeramen_roundedimageview_2_3_0_aar.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.makeramen:roundedimageview:2.3.0@aar">
-    <ANNOTATIONS>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/roundedimageview-2.3.0.aar/6716d5cdcfda215c06958766287011b4/annotations.zip!/" />
-    </ANNOTATIONS>
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/roundedimageview-2.3.0.aar/6716d5cdcfda215c06958766287011b4/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/roundedimageview-2.3.0.aar/6716d5cdcfda215c06958766287011b4/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.makeramen/roundedimageview/2.3.0/a74d35b08232b1e1fe0c50eeb4a27d43d6a53e1b/roundedimageview-2.3.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_nightonke_jellytogglebutton_1_0_2_aar.xml b/.idea/libraries/Gradle__com_nightonke_jellytogglebutton_1_0_2_aar.xml
deleted file mode 100644
index 9274278..0000000
--- a/.idea/libraries/Gradle__com_nightonke_jellytogglebutton_1_0_2_aar.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.nightonke:jellytogglebutton:1.0.2@aar">
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/jellytogglebutton-1.0.2.aar/0083758374f9699b668a37399c48c0b7/res" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/jellytogglebutton-1.0.2.aar/0083758374f9699b668a37399c48c0b7/jars/classes.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.nightonke/jellytogglebutton/1.0.2/7052a7206cd648a34e9410c8e245bc4fd012cb/jellytogglebutton-1.0.2-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_rengwuxian_materialedittext_library_2_1_4_aar.xml b/.idea/libraries/Gradle__com_rengwuxian_materialedittext_library_2_1_4_aar.xml
deleted file mode 100644
index 4776e17..0000000
--- a/.idea/libraries/Gradle__com_rengwuxian_materialedittext_library_2_1_4_aar.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.rengwuxian.materialedittext:library:2.1.4@aar">
-    <ANNOTATIONS>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/library-2.1.4.aar/bf96dbf494714c5fb9d8151ed3d20841/annotations.zip!/" />
-    </ANNOTATIONS>
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/library-2.1.4.aar/bf96dbf494714c5fb9d8151ed3d20841/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/library-2.1.4.aar/bf96dbf494714c5fb9d8151ed3d20841/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.rengwuxian.materialedittext/library/2.1.4/421c5ba24415fde1222bd75540aa012efc22ed5a/library-2.1.4-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_wdullaer_materialdatetimepicker_3_6_3_aar.xml b/.idea/libraries/Gradle__com_wdullaer_materialdatetimepicker_3_6_3_aar.xml
deleted file mode 100644
index 800a2b0..0000000
--- a/.idea/libraries/Gradle__com_wdullaer_materialdatetimepicker_3_6_3_aar.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.wdullaer:materialdatetimepicker:3.6.3@aar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/materialdatetimepicker-3.6.3.aar/e4fdf0aed5e543859c80fdcc79221a4e/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/materialdatetimepicker-3.6.3.aar/e4fdf0aed5e543859c80fdcc79221a4e/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.wdullaer/materialdatetimepicker/3.6.3/edc3871af53857a3937ba221b38cfa22cccf98ef/materialdatetimepicker-3.6.3-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__de_hdodenhof_circleimageview_2_2_0_aar.xml b/.idea/libraries/Gradle__de_hdodenhof_circleimageview_2_2_0_aar.xml
deleted file mode 100644
index ec81c95..0000000
--- a/.idea/libraries/Gradle__de_hdodenhof_circleimageview_2_2_0_aar.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: de.hdodenhof:circleimageview:2.2.0@aar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/circleimageview-2.2.0.aar/5d508f22e1042aadbefeb7e6d9a3c08c/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/circleimageview-2.2.0.aar/5d508f22e1042aadbefeb7e6d9a3c08c/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/de.hdodenhof/circleimageview/2.2.0/58c303f955dad43f60470247ec211d646af5b4c/circleimageview-2.2.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__io_reactivex_rxjava2_rxandroid_2_0_2_aar.xml b/.idea/libraries/Gradle__io_reactivex_rxjava2_rxandroid_2_0_2_aar.xml
deleted file mode 100644
index 9c08c94..0000000
--- a/.idea/libraries/Gradle__io_reactivex_rxjava2_rxandroid_2_0_2_aar.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: io.reactivex.rxjava2:rxandroid:2.0.2@aar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/rxandroid-2.0.2.aar/870a69d5a3ba5194efd02d58c46692f6/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/rxandroid-2.0.2.aar/870a69d5a3ba5194efd02d58c46692f6/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/io.reactivex.rxjava2/rxandroid/2.0.2/ec7d5f2d49c35433363e36cb5e7790b2997bf0e8/rxandroid-2.0.2-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__net_zetetic_android_database_sqlcipher_3_5_7_aar.xml b/.idea/libraries/Gradle__net_zetetic_android_database_sqlcipher_3_5_7_aar.xml
deleted file mode 100644
index e9b188f..0000000
--- a/.idea/libraries/Gradle__net_zetetic_android_database_sqlcipher_3_5_7_aar.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: net.zetetic:android-database-sqlcipher:3.5.7@aar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/android-database-sqlcipher-3.5.7.aar/3e82fe741b49f85b3caf8be27eb819b9/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/android-database-sqlcipher-3.5.7.aar/3e82fe741b49f85b3caf8be27eb819b9/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/net.zetetic/android-database-sqlcipher/3.5.7/b2957e8329384e3a42e33ced2b0729c52f1b0685/android-database-sqlcipher-3.5.7-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__org_xutils_xutils_3_5_0_aar.xml b/.idea/libraries/Gradle__org_xutils_xutils_3_5_0_aar.xml
deleted file mode 100644
index 8e70783..0000000
--- a/.idea/libraries/Gradle__org_xutils_xutils_3_5_0_aar.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: org.xutils:xutils:3.5.0@aar">
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/xutils-3.5.0.aar/e7197138d877a9b48875898d284d4676/res" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/xutils-3.5.0.aar/e7197138d877a9b48875898d284d4676/jars/classes.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.xutils/xutils/3.5.0/e0dedbb7b66c2f93da519d6697c88c6abe718432/xutils-3.5.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index c0f68ed..7bfef59 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -1,30 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
-  <component name="NullableNotNullManager">
-    <option name="myDefaultNullable" value="android.support.annotation.Nullable" />
-    <option name="myDefaultNotNull" value="android.support.annotation.NonNull" />
-    <option name="myNullables">
-      <value>
-        <list size="5">
-          <item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.Nullable" />
-          <item index="1" class="java.lang.String" itemvalue="javax.annotation.Nullable" />
-          <item index="2" class="java.lang.String" itemvalue="javax.annotation.CheckForNull" />
-          <item index="3" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.Nullable" />
-          <item index="4" class="java.lang.String" itemvalue="android.support.annotation.Nullable" />
-        </list>
-      </value>
-    </option>
-    <option name="myNotNulls">
-      <value>
-        <list size="4">
-          <item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.NotNull" />
-          <item index="1" class="java.lang.String" itemvalue="javax.annotation.Nonnull" />
-          <item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.NonNull" />
-          <item index="3" class="java.lang.String" itemvalue="android.support.annotation.NonNull" />
-        </list>
-      </value>
-    </option>
-  </component>
   <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
     <output url="file://$PROJECT_DIR$/build/classes" />
   </component>
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index a48287b..90c72cb 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -1,20 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
-  <component name="AndroidLayouts">
-    <shared>
-      <config>
-        <devices>
-          <device id="pixel" />
-        </devices>
-      </config>
-    </shared>
-  </component>
-  <component name="AndroidLogFilters">
-    <option name="TOOL_WINDOW_CONFIGURED_FILTER" value="Show only selected application" />
-  </component>
   <component name="ChangeListManager">
-    <list default="true" id="73e46e7a-0efa-4011-8434-aa3922a61ab9" name="Default" comment="">
-      <change beforePath="$PROJECT_DIR$/app/src/main/java/com/basic/security/utils/Constants.java" afterPath="$PROJECT_DIR$/app/src/main/java/com/basic/security/utils/Constants.java" />
+    <list default="true" id="206165bd-5605-435d-8afd-0c9ec0249d83" name="Default" comment="">
+      <change beforePath="$PROJECT_DIR$/.idea/caches/build_file_checksums.ser" afterPath="$PROJECT_DIR$/.idea/caches/build_file_checksums.ser" />
+      <change beforePath="$PROJECT_DIR$/.idea/misc.xml" afterPath="$PROJECT_DIR$/.idea/misc.xml" />
+      <change beforePath="$PROJECT_DIR$/.idea/vcs.xml" afterPath="" />
+      <change beforePath="$PROJECT_DIR$/app/src/main/java/com/basic/security/utils/VideoPath.java" afterPath="$PROJECT_DIR$/app/src/main/java/com/basic/security/utils/VideoPath.java" />
     </list>
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
     <option name="TRACKING_ENABLED" value="true" />
@@ -27,57 +18,6 @@
     <projectState path="$PROJECT_DIR$">
       <ProjectState />
     </projectState>
-  </component>
-  <component name="ExternalProjectsManager">
-    <system id="GRADLE">
-      <state>
-        <projects_view />
-      </state>
-    </system>
-  </component>
-  <component name="FileEditorManager">
-    <leaf SIDE_TABS_SIZE_LIMIT_KEY="375">
-      <file leaf-file-name="AlarmManager.java" pinned="false" current-in-tab="true">
-        <entry file="file://$PROJECT_DIR$/app/src/main/java/com/basic/security/manager/AlarmManager.java">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="27">
-              <caret line="50" column="56" lean-forward="false" selection-start-line="50" selection-start-column="44" selection-end-line="50" selection-end-column="56" />
-              <folding />
-            </state>
-          </provider>
-        </entry>
-      </file>
-    </leaf>
-  </component>
-  <component name="FileTemplateManagerImpl">
-    <option name="RECENT_TEMPLATES">
-      <list>
-        <option value="Class" />
-      </list>
-    </option>
-  </component>
-  <component name="FindInProjectRecents">
-    <findStrings>
-      <find>setCanceledOnTouchOutside</find>
-      <find>mWindow</find>
-      <find>closeOtherSockets</find>
-      <find>receive</find>
-      <find>setup</find>
-      <find>playAlarmSound</find>
-      <find>oldPassword</find>
-      <find>mLztek.</find>
-      <find>mLztek.setEthIpAddress</find>
-      <find>onBtnConfirm</find>
-      <find>refreshAddrInfo</find>
-      <find>byteArrayOutputStream</find>
-      <find>mapComparator</find>
-      <find>ffmpeg</find>
-      <find>db</find>
-      <find>DebugDBInitProvider</find>
-      <find>setCustomDatabaseFiles</find>
-      <find>amitshekhar</find>
-      <find>alarmLargePicture</find>
-    </findStrings>
   </component>
   <component name="Git.Settings">
     <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
@@ -137,32 +77,7 @@
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="transformClassesWithDexBuilderForDebug" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="assembleReleaseUnitTest" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
                 <option name="name" value="bundleReleaseResources" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="processReleaseJavaRes" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="generateReleaseAssets" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="description" value="Runs lint on the Debug build." />
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="lintDebug" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="preparePUBLISHED_JAVA_RESReleaseForPublishing" />
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
@@ -171,15 +86,6 @@
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
                 <option name="name" value="assembleDebugUnitTest" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="description" value="Displays the configuration model of root project 'Security_alarm'. [incubating]" />
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="model" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="createReleaseCompatibleScreenManifests" />
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="description" value="Creates a version of android.jar that's suitable for unit tests." />
@@ -192,35 +98,12 @@
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="bundleAppClassesDebug" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="description" value="Displays the tasks runnable from root project 'Security_alarm' (some of the displayed tasks may belong to subprojects)." />
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="tasks" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
                 <option name="name" value="compileDebugSources" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="description" value="Initializes a new Gradle build." />
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="init" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="bundleDebugAndroidTestResources" />
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="description" value="Runs all device checks using Device Providers and Test Servers." />
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
                 <option name="name" value="deviceCheck" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="description" value="Displays all dependencies declared in root project 'Security_alarm'." />
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="dependencies" />
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
@@ -237,19 +120,7 @@
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="packageDebug" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
                 <option name="name" value="transformClassesWithDexBuilderForRelease" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="generateDebugResources" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="bundleAppClassesReleaseUnitTest" />
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
@@ -257,25 +128,7 @@
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="mainApkListPersistenceDebugAndroidTest" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="description" value="Assembles and tests this project and all projects it depends on." />
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="buildNeeded" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
                 <option name="name" value="generateDebugAndroidTestBuildConfig" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="processDebugUnitTestJavaRes" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="description" value="Run unit tests for the release build." />
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="testReleaseUnitTest" />
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="description" value="Deletes the build cache directory." />
@@ -285,10 +138,6 @@
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
                 <option name="name" value="compileDebugAndroidTestShaders" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="mergeDebugShaders" />
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
@@ -305,24 +154,11 @@
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="compileReleaseRenderscript" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="description" value="Assembles all Debug builds." />
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="assembleDebug" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
                 <option name="name" value="processDebugAndroidTestManifest" />
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
                 <option name="name" value="compileDebugUnitTestJavaWithJavac" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="generateJsonModelRelease" />
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
@@ -345,22 +181,6 @@
                 <option name="name" value="reportBuildArtifactsDebug" />
               </ExternalTaskPojo>
               <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="transformDexArchiveWithExternalLibsDexMergerForRelease" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="javaPreCompileDebugAndroidTest" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="splitsDiscoveryTaskDebug" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="bundleAppClassesDebugUnitTest" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
                 <option name="description" value="Uninstalls the Release build." />
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
                 <option name="name" value="uninstallRelease" />
@@ -375,27 +195,11 @@
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="generateDebugAndroidTestSources" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
                 <option name="name" value="checkReleaseManifest" />
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
                 <option name="name" value="javaPreCompileDebugUnitTest" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="compileDebugAndroidTestSources" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="createDebugCompatibleScreenManifests" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="preparePUBLISHED_NATIVE_LIBSReleaseForPublishing" />
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
@@ -420,33 +224,12 @@
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="preparePUBLISHED_NATIVE_LIBSDebugForPublishing" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
                 <option name="name" value="processReleaseManifest" />
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="description" value="Uninstalls the android (on device) tests for the Debug build." />
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
                 <option name="name" value="uninstallDebugAndroidTest" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="description" value="Displays the insight into a specific dependency in root project 'Security_alarm'." />
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="dependencyInsight" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="generateReleaseSources" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="transformDexArchiveWithDexMergerForRelease" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="preReleaseBuild" />
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
@@ -456,11 +239,6 @@
                 <option name="description" value="Assembles all variants of all applications and secondary packages." />
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
                 <option name="name" value="assemble" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="description" value="Displays a help message." />
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="help" />
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
@@ -477,27 +255,11 @@
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="transformClassesWithDexBuilderForDebugAndroidTest" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="mergeDebugAssets" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="javaPreCompileReleaseUnitTest" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
                 <option name="name" value="generateJsonModelDebug" />
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
                 <option name="name" value="preparePUBLISHED_DEXDebugAndroidTestForPublishing" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="javaPreCompileRelease" />
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
@@ -514,19 +276,6 @@
                 <option name="name" value="connectedDebugAndroidTest" />
               </ExternalTaskPojo>
               <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="transformDexArchiveWithDexMergerForDebug" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="description" value="Uninstall all applications." />
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="uninstallAll" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="transformNativeLibsWithMergeJniLibsForDebug" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
                 <option name="description" value="Assembles all the Test applications." />
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
                 <option name="name" value="assembleAndroidTest" />
@@ -537,11 +286,11 @@
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="preparePUBLISHED_DEXDebugForPublishing" />
+                <option name="name" value="transformClassesWithDesugarForDebugAndroidTest" />
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="packageRelease" />
+                <option name="name" value="preparePUBLISHED_DEXDebugForPublishing" />
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
@@ -549,16 +298,7 @@
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="compileDebugAidl" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
                 <option name="name" value="mergeDebugResources" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="description" value="Generates Gradle wrapper files." />
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="wrapper" />
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
@@ -567,10 +307,6 @@
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
                 <option name="name" value="compileLint" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="generateDebugAndroidTestResValues" />
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
@@ -585,25 +321,8 @@
                 <option name="name" value="mergeReleaseShaders" />
               </ExternalTaskPojo>
               <ExternalTaskPojo>
-                <option name="description" value="Displays the Android dependencies of the project." />
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="androidDependencies" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="compileDebugUnitTestSources" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
                 <option name="name" value="transformNativeLibsWithMergeJniLibsForRelease" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="transformDexArchiveWithExternalLibsDexMergerForDebugAndroidTest" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="generateDebugSources" />
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
@@ -615,19 +334,11 @@
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="externalNativeBuildCleanDebug" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
                 <option name="name" value="assembleDebugAndroidTest" />
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
                 <option name="name" value="preparePUBLISHED_JAVA_RESDebugForPublishing" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="processDebugJavaRes" />
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
@@ -639,20 +350,12 @@
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="compileReleaseJavaWithJavac" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
                 <option name="name" value="transformResourcesWithMergeJavaResForDebugAndroidTest" />
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="description" value="Run unit tests for all variants." />
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
                 <option name="name" value="test" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="transformNativeLibsWithStripDebugSymbolForDebug" />
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
@@ -672,18 +375,9 @@
                 <option name="name" value="check" />
               </ExternalTaskPojo>
               <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="javaPreCompileDebug" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
                 <option name="description" value="Run unit tests for the debug build." />
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
                 <option name="name" value="testDebugUnitTest" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="description" value="Installs and runs instrumentation tests for all flavors on connected devices." />
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="connectedAndroidTest" />
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="description" value="Installs the Debug build." />
@@ -693,6 +387,371 @@
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
                 <option name="name" value="preBuild" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="compileReleaseAidl" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Runs lint on the Release build." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="lintRelease" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="generateDebugAssets" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Displays the dependent components of components in root project 'Security_alarm'. [incubating]" />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="dependentComponents" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Displays all buildscript dependencies declared in root project 'Security_alarm'." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="buildEnvironment" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="checkDebugManifest" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Prints out all the source sets defined in this project." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="sourceSets" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="transformResourcesWithMergeJavaResForDebugUnitTest" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="transformClassesWithStackFramesFixerForDebugAndroidTest" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="bundleDebugResources" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="compileDebugRenderscript" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="preparePUBLISHED_NATIVE_LIBSDebugAndroidTestForPublishing" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="externalNativeBuildDebug" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="generateReleaseResources" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Runs lint on just the fatal issues in the release build." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="lintVitalRelease" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Uninstalls the Debug build." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="uninstallDebug" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="externalNativeBuildCleanRelease" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="bundleAppClassesDebugAndroidTest" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="preDebugBuild" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="externalNativeBuildRelease" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="generateDebugBuildConfig" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="transformDexArchiveWithExternalLibsDexMergerForDebug" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Assembles all Release builds." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="assembleRelease" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="writeReleaseApplicationId" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="generateReleaseResValues" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="transformClassesWithStackFramesFixerForDebug" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="transformClassesWithDexBuilderForDebug" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="assembleReleaseUnitTest" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="processReleaseJavaRes" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="generateReleaseAssets" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Runs lint on the Debug build." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="lintDebug" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="preparePUBLISHED_JAVA_RESReleaseForPublishing" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Displays the configuration model of root project 'Security_alarm'. [incubating]" />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="model" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="createReleaseCompatibleScreenManifests" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="bundleAppClassesDebug" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Displays the tasks runnable from root project 'Security_alarm' (some of the displayed tasks may belong to subprojects)." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="tasks" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Initializes a new Gradle build." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="init" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="bundleDebugAndroidTestResources" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Displays all dependencies declared in root project 'Security_alarm'." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="dependencies" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="packageDebug" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="generateDebugResources" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="bundleAppClassesReleaseUnitTest" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="mainApkListPersistenceDebugAndroidTest" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Assembles and tests this project and all projects it depends on." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="buildNeeded" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="processDebugUnitTestJavaRes" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Run unit tests for the release build." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="testReleaseUnitTest" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="mergeDebugShaders" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="compileReleaseRenderscript" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Assembles all Debug builds." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="assembleDebug" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="generateJsonModelRelease" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="transformDexArchiveWithExternalLibsDexMergerForRelease" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="javaPreCompileDebugAndroidTest" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="splitsDiscoveryTaskDebug" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="bundleAppClassesDebugUnitTest" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="generateDebugAndroidTestSources" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="compileDebugAndroidTestSources" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="createDebugCompatibleScreenManifests" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="preparePUBLISHED_NATIVE_LIBSReleaseForPublishing" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="preparePUBLISHED_NATIVE_LIBSDebugForPublishing" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Displays the insight into a specific dependency in root project 'Security_alarm'." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="dependencyInsight" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="generateReleaseSources" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="transformDexArchiveWithDexMergerForRelease" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="preReleaseBuild" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Displays a help message." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="help" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="transformClassesWithDexBuilderForDebugAndroidTest" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="mergeDebugAssets" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="javaPreCompileReleaseUnitTest" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="javaPreCompileRelease" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="transformDexArchiveWithDexMergerForDebug" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Uninstall all applications." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="uninstallAll" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="transformNativeLibsWithMergeJniLibsForDebug" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="packageRelease" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="compileDebugAidl" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Generates Gradle wrapper files." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="wrapper" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="generateDebugAndroidTestResValues" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="transformClassesWithStackFramesFixerForRelease" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Displays the Android dependencies of the project." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="androidDependencies" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="compileDebugUnitTestSources" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="transformDexArchiveWithExternalLibsDexMergerForDebugAndroidTest" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="generateDebugSources" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="externalNativeBuildCleanDebug" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="processDebugJavaRes" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="compileReleaseJavaWithJavac" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="transformNativeLibsWithStripDebugSymbolForDebug" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="javaPreCompileDebug" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Installs and runs instrumentation tests for all flavors on connected devices." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="connectedAndroidTest" />
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
@@ -715,57 +774,17 @@
                 <option name="name" value="transformResourcesWithMergeJavaResForDebug" />
               </ExternalTaskPojo>
               <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="compileReleaseAidl" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="description" value="Runs lint on the Release build." />
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="lintRelease" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
                 <option name="description" value="Assembles and tests this project and all projects that depend on it." />
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
                 <option name="name" value="buildDependents" />
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="generateDebugAssets" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
                 <option name="name" value="transformDexArchiveWithDexMergerForDebugAndroidTest" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="description" value="Displays the dependent components of components in root project 'Security_alarm'. [incubating]" />
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="dependentComponents" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="description" value="Displays all buildscript dependencies declared in root project 'Security_alarm'." />
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="buildEnvironment" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="checkDebugManifest" />
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
                 <option name="name" value="mergeDebugJniLibFolders" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="description" value="Prints out all the source sets defined in this project." />
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="sourceSets" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="transformResourcesWithMergeJavaResForDebugUnitTest" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="bundleDebugResources" />
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
@@ -773,37 +792,15 @@
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="compileDebugRenderscript" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
                 <option name="name" value="generateReleaseBuildConfig" />
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="preparePUBLISHED_NATIVE_LIBSDebugAndroidTestForPublishing" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="externalNativeBuildDebug" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="generateReleaseResources" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="description" value="Runs lint on just the fatal issues in the release build." />
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="lintVitalRelease" />
+                <option name="name" value="transformClassesWithDesugarForRelease" />
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
                 <option name="name" value="platformAttrExtractor" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="description" value="Uninstalls the Debug build." />
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="uninstallDebug" />
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="description" value="Displays the signing info for each variant." />
@@ -816,15 +813,7 @@
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="externalNativeBuildCleanRelease" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
                 <option name="name" value="mergeDebugAndroidTestShaders" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="bundleAppClassesDebugAndroidTest" />
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
@@ -832,29 +821,12 @@
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="preDebugBuild" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="externalNativeBuildRelease" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="generateDebugBuildConfig" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="transformDexArchiveWithExternalLibsDexMergerForDebug" />
+                <option name="name" value="transformClassesWithDesugarForDebug" />
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="description" value="Assembles and tests this project." />
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
                 <option name="name" value="build" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="description" value="Assembles all Release builds." />
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="assembleRelease" />
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
@@ -874,15 +846,7 @@
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="writeReleaseApplicationId" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
                 <option name="name" value="packageDebugAndroidTest" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="generateReleaseResValues" />
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="description" value="Displays the properties of root project 'Security_alarm'." />
@@ -895,6 +859,10 @@
         <entry key="$PROJECT_DIR$/app">
           <value>
             <list>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="transformClassesWithStackFramesFixerForDebug" />
+              </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="description" value="Displays the sub-projects of project ':app'." />
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
@@ -1305,6 +1273,10 @@
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="transformClassesWithDesugarForDebugAndroidTest" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
                 <option name="name" value="preparePUBLISHED_DEXDebugForPublishing" />
               </ExternalTaskPojo>
               <ExternalTaskPojo>
@@ -1346,6 +1318,10 @@
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
                 <option name="name" value="mergeReleaseShaders" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="transformClassesWithStackFramesFixerForRelease" />
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="description" value="Displays the Android dependencies of the project." />
@@ -1528,6 +1504,10 @@
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="transformClassesWithStackFramesFixerForDebugAndroidTest" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
                 <option name="name" value="bundleDebugResources" />
               </ExternalTaskPojo>
               <ExternalTaskPojo>
@@ -1549,6 +1529,10 @@
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
                 <option name="name" value="externalNativeBuildDebug" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="transformClassesWithDesugarForRelease" />
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
@@ -1609,6 +1593,10 @@
               <ExternalTaskPojo>
                 <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
                 <option name="name" value="transformDexArchiveWithExternalLibsDexMergerForDebug" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="transformClassesWithDesugarForDebug" />
               </ExternalTaskPojo>
               <ExternalTaskPojo>
                 <option name="description" value="Assembles and tests this project." />
@@ -2135,39 +2123,11 @@
       </map>
     </option>
   </component>
-  <component name="IdeDocumentHistory">
-    <option name="CHANGED_PATHS">
-      <list>
-        <option value="$PROJECT_DIR$/app/src/main/cpp/TCPClient.cpp" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/basic/security/fragment/helper/HomePlayAlarmSound.java" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/basic/security/utils/SocketClient.java" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/basic/security/utils/KeyboardUtil.java" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/basic/security/widget/AuthDialog.java" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/basic/security/utils/CrashHandler.java" />
-        <option value="$PROJECT_DIR$/app/src/main/cpp/native-lib.cpp" />
-        <option value="$PROJECT_DIR$/app/src/main/res/drawable/spinner_arrow_down.xml" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/basic/security/fragment/SettingFragment.java" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/basic/security/utils/SocketServer.java" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/basic/security/utils/SocketAcceptedClient.java" />
-        <option value="$PROJECT_DIR$/app/build.gradle" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/basic/security/utils/ReqRep.java" />
-        <option value="$PROJECT_DIR$/app/CMakeLists.txt" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/basic/security/activity/MainActivity.java" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/basic/security/dao/DatabaseManager.java" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/basic/security/utils/JnanomsgServer.java" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/basic/security/utils/Constants.java" />
-      </list>
-    </option>
-  </component>
-  <component name="OCFindUsagesOptions" text="true" ivars="false" properties="true" derivedClasses="false" />
   <component name="ProjectFrameBounds" extendedState="6">
-    <option name="x" value="215" />
-    <option name="y" value="15" />
-    <option name="width" value="1658" />
-    <option name="height" value="1000" />
-  </component>
-  <component name="ProjectLevelVcsManager" settingsEditedManually="true">
-    <ConfirmationsSetting value="1" id="Add" />
+    <option name="x" value="814" />
+    <option name="y" value="376" />
+    <option name="width" value="616" />
+    <option name="height" value="1040" />
   </component>
   <component name="ProjectView">
     <navigator currentView="AndroidView" proportions="" version="1">
@@ -2184,46 +2144,17 @@
       <foldersAlwaysOnTop value="true" />
     </navigator>
     <panes>
-      <pane id="PackagesPane" />
-      <pane id="AndroidView">
-        <subPane>
-          <expand>
-            <path>
-              <item name="Security_alarm" type="1abcf292:AndroidViewProjectNode" />
-              <item name="Gradle Scripts" type="ae0cef3a:AndroidBuildScriptsGroupNode" />
-            </path>
-          </expand>
-          <select />
-        </subPane>
-      </pane>
-      <pane id="ProjectPane" />
       <pane id="Scratches" />
+      <pane id="AndroidView" />
       <pane id="Scope" />
+      <pane id="ProjectPane" />
+      <pane id="PackagesPane" />
     </panes>
   </component>
   <component name="PropertiesComponent">
-    <property name="DEBUGGABLE_DEVICE" value="rockchip-firefly_rk3399-GB8ZA3N6PJ" />
-    <property name="DEBUGGABLE_PROCESS" value="com.basic.security" />
-    <property name="DEBUGGER_ID" value="Auto" />
-    <property name="SHOW_ALL_PROCESSES" value="false" />
-    <property name="android.project.structure.last.selected" value="app" />
-    <property name="android.project.structure.proportion" value="0.15" />
     <property name="android.sdk.path" value="$USER_HOME$/AppData/Local/Android/Sdk" />
-    <property name="device.picker.selection" value="GB8ZA3N6PJ" />
-    <property name="last_opened_file_path" value="$PROJECT_DIR$/../Security_simplify_office" />
-    <property name="not.eligible.for.single.variant.sync" value="true" />
-    <property name="sync.plugin.last.upgrade.timestamp" value="1560496442762" />
-    <property name="com.android.tools.idea.instantapp.provision.ProvisionBeforeRunTaskProvider.myTimeStamp" value="1561536176337" />
-    <property name="last_directory_selection" value="$PROJECT_DIR$/app/src/main/res/drawable" />
-  </component>
-  <component name="RecentsManager">
-    <key name="CopyClassDialog.RECENTS_KEY">
-      <recent name="com.basic.security.utils" />
-    </key>
-    <key name="CopyFile.RECENT_KEYS">
-      <recent name="C:\workspace\Security_alarm\app\src\main\java\com\basic\security\utils" />
-      <recent name="C:\workspace\Security_alarm\app\src\main\res\drawable" />
-    </key>
+    <property name="settings.editor.selected.configurable" value="android.sdk-updates" />
+    <property name="last_opened_file_path" value="$PROJECT_DIR$" />
   </component>
   <component name="RunDashboard">
     <option name="ruleStates">
@@ -2261,7 +2192,7 @@
         <option name="Android.Gradle.BeforeRunTask" enabled="true" />
       </method>
     </configuration>
-    <configuration name="app" type="AndroidRunConfigurationType" factoryName="Android App" activateToolWindowBeforeRun="false">
+    <configuration name="app" type="AndroidRunConfigurationType" factoryName="Android App">
       <module name="app" />
       <option name="DEPLOY" value="true" />
       <option name="ARTIFACT_NAME" value="" />
@@ -2273,7 +2204,7 @@
       <option name="SKIP_NOOP_APK_INSTALLATIONS" value="true" />
       <option name="FORCE_STOP_RUNNING_APP" value="true" />
       <option name="TARGET_SELECTION_MODE" value="SHOW_DIALOG" />
-      <option name="USE_LAST_SELECTED_DEVICE" value="true" />
+      <option name="USE_LAST_SELECTED_DEVICE" value="false" />
       <option name="PREFERRED_AVD" value="" />
       <option name="SELECTED_CLOUD_MATRIX_CONFIGURATION_ID" value="-1" />
       <option name="SELECTED_CLOUD_MATRIX_PROJECT_ID" value="" />
@@ -2305,10 +2236,6 @@
       </Profilers>
       <option name="DEEP_LINK" value="" />
       <option name="ACTIVITY_CLASS" value="" />
-      <method>
-        <option name="com.android.instantApps.provision.BeforeRunTask" enabled="true" clearCache="false" clearProvisionedDevices="false" />
-        <option name="Android.Gradle.BeforeRunTask" enabled="true" />
-      </method>
     </configuration>
     <configuration default="true" type="Application" factoryName="Application">
       <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
@@ -2323,9 +2250,13 @@
       <option name="PASS_PARENT_ENVS" value="true" />
       <module name="" />
       <envs />
-      <method>
-        <option name="Make" enabled="true" />
-      </method>
+    </configuration>
+    <configuration default="true" type="Remote" factoryName="Remote">
+      <option name="USE_SOCKET_TRANSPORT" value="true" />
+      <option name="SERVER_MODE" value="false" />
+      <option name="SHMEM_ADDRESS" value="javadebug" />
+      <option name="HOST" value="localhost" />
+      <option name="PORT" value="5005" />
     </configuration>
     <configuration default="true" type="TestNG" factoryName="TestNG">
       <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
@@ -2338,7 +2269,7 @@
       <option name="METHOD_NAME" />
       <option name="GROUP_NAME" />
       <option name="TEST_OBJECT" value="CLASS" />
-      <option name="VM_PARAMETERS" />
+      <option name="VM_PARAMETERS" value="-ea" />
       <option name="PARAMETERS" />
       <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
       <option name="OUTPUT_DIRECTORY" />
@@ -2353,9 +2284,6 @@
       <envs />
       <properties />
       <listeners />
-      <method>
-        <option name="Make" enabled="true" />
-      </method>
     </configuration>
     <configuration name="&lt;template&gt;" type="Applet" default="true" selected="false">
       <option name="MAIN_CLASS_NAME" />
@@ -2384,457 +2312,53 @@
   </component>
   <component name="TaskManager">
     <task active="true" id="Default" summary="Default task">
-      <changelist id="73e46e7a-0efa-4011-8434-aa3922a61ab9" name="Default" comment="" />
-      <created>1560389335140</created>
+      <changelist id="206165bd-5605-435d-8afd-0c9ec0249d83" name="Default" comment="" />
+      <created>1577066387120</created>
       <option name="number" value="Default" />
       <option name="presentableId" value="Default" />
-      <updated>1560389335140</updated>
+      <updated>1577066387120</updated>
     </task>
-    <task id="LOCAL-00001" summary="a">
-      <created>1560480435810</created>
-      <option name="number" value="00001" />
-      <option name="presentableId" value="LOCAL-00001" />
-      <option name="project" value="LOCAL" />
-      <updated>1560480435810</updated>
-    </task>
-    <option name="localTasksCounter" value="2" />
     <servers />
   </component>
   <component name="ToolWindowManager">
     <frame x="-8" y="-8" width="1936" height="1056" extended-state="6" />
     <layout>
-      <window_info id="Android Profiler" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
       <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
-      <window_info id="Palette&#9;" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
-      <window_info id="Image Layers" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
-      <window_info id="Build Variants" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
-      <window_info id="Capture Analysis" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
-      <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
+      <window_info id="Android Profiler" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="false" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
+      <window_info id="Palette&#9;" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
+      <window_info id="Image Layers" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
+      <window_info id="Build Variants" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" />
+      <window_info id="Capture Analysis" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
+      <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" />
       <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
-      <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
-      <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
-      <window_info id="Logcat" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.21651785" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
-      <window_info id="Captures" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
-      <window_info id="Capture Tool" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
-      <window_info id="Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
-      <window_info id="Project" active="true" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.22961374" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
-      <window_info id="Build" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.37388393" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
-      <window_info id="Gradle" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
+      <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
+      <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
+      <window_info id="Logcat" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
+      <window_info id="Captures" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
+      <window_info id="Capture Tool" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
+      <window_info id="Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
+      <window_info id="Project" active="true" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
+      <window_info id="Build" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
+      <window_info id="Gradle" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
       <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
+      <window_info id="Theme Preview" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
       <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
-      <window_info id="Device File Explorer" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="true" content_ui="tabs" />
-      <window_info id="Theme Preview" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
-      <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
+      <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" />
+      <window_info id="Device File Explorer" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" />
       <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
       <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
       <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
-      <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
-      <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
       <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
-      <window_info id="Preview" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
+      <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
       <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
+      <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
     </layout>
   </component>
   <component name="VcsContentAnnotationSettings">
     <option name="myLimit" value="2678400000" />
   </component>
-  <component name="VcsManagerConfiguration">
-    <MESSAGE value="a" />
-    <option name="LAST_COMMIT_MESSAGE" value="a" />
-  </component>
   <component name="XDebuggerManager">
     <breakpoint-manager />
     <watches-manager />
-  </component>
-  <component name="debuggerHistoryManager">
-    <expressions id="evaluateExpression">
-      <expression>
-        <expression-string>rootView.getParent()</expression-string>
-        <language-id>JAVA</language-id>
-        <evaluation-mode>EXPRESSION</evaluation-mode>
-      </expression>
-      <expression>
-        <expression-string>rootView.getParent().getParent()</expression-string>
-        <language-id>JAVA</language-id>
-        <evaluation-mode>EXPRESSION</evaluation-mode>
-      </expression>
-      <expression>
-        <expression-string>rootView.getHeight()</expression-string>
-        <language-id>JAVA</language-id>
-        <evaluation-mode>EXPRESSION</evaluation-mode>
-      </expression>
-      <expression>
-        <expression-string>rootView.getWidth()</expression-string>
-        <language-id>JAVA</language-id>
-        <evaluation-mode>EXPRESSION</evaluation-mode>
-      </expression>
-    </expressions>
-  </component>
-  <component name="editorHistoryManager">
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/basic/security/model/Setting.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="270">
-          <caret line="10" column="53" lean-forward="false" selection-start-line="10" selection-start-column="53" selection-end-line="10" selection-end-column="53" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$USER_HOME$/AppData/Local/Android/Sdk/sources/android-28/android/text/TextUtils.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="331">
-          <caret line="482" column="0" lean-forward="true" selection-start-line="482" selection-start-column="0" selection-end-line="482" selection-end-column="0" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/basic/security/widget/SuccessDialog.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="108">
-          <caret line="17" column="13" lean-forward="false" selection-start-line="17" selection-start-column="13" selection-end-line="17" selection-end-column="13" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/basic/security/widget/ConfirmDialog.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="270">
-          <caret line="23" column="0" lean-forward="false" selection-start-line="23" selection-start-column="0" selection-end-line="23" selection-end-column="0" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/res/values/colors.xml">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="216">
-          <caret line="8" column="45" lean-forward="false" selection-start-line="8" selection-start-column="45" selection-end-line="8" selection-end-column="45" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/basic/security/model/Alarm.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="486">
-          <caret line="18" column="1" lean-forward="false" selection-start-line="18" selection-start-column="1" selection-end-line="18" selection-end-column="1" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$USER_HOME$/AppData/Local/Android/Sdk/sources/android-28/java/util/GregorianCalendar.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="181">
-          <caret line="624" column="11" lean-forward="false" selection-start-line="624" selection-start-column="11" selection-end-line="624" selection-end-column="11" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$USER_HOME$/AppData/Local/Android/Sdk/sources/android-28/java/util/Calendar.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="279">
-          <caret line="1683" column="31" lean-forward="false" selection-start-line="1683" selection-start-column="31" selection-end-line="1683" selection-end-column="31" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/basic/security/dao/SqliteManager.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-10">
-          <caret line="58" column="5" lean-forward="false" selection-start-line="58" selection-start-column="5" selection-end-line="58" selection-end-column="5" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/res/layout/auth_dialog.xml" />
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/basic/security/manager/SettingManager.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="702">
-          <caret line="38" column="0" lean-forward="true" selection-start-line="38" selection-start-column="0" selection-end-line="38" selection-end-column="0" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/basic/security/fragment/helper/HomeBase.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="233">
-          <caret line="37" column="0" lean-forward="false" selection-start-line="37" selection-start-column="0" selection-end-line="37" selection-end-column="0" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/basic/security/utils/AudioPlayer.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="135">
-          <caret line="10" column="0" lean-forward="false" selection-start-line="10" selection-start-column="0" selection-end-line="10" selection-end-column="0" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/captures/com.basic.security_2019.06.13_09.35.li" />
-    <entry file="file://$USER_HOME$/AppData/Local/Android/Sdk/sources/android-28/android/app/Dialog.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-1702">
-          <caret line="306" column="19" lean-forward="false" selection-start-line="306" selection-start-column="12" selection-end-line="306" selection-end-column="19" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$USER_HOME$/AppData/Local/Android/Sdk/sources/android-28/android/view/Window.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="203">
-          <caret line="1663" column="24" lean-forward="false" selection-start-line="1663" selection-start-column="20" selection-end-line="1663" selection-end-column="24" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/basic/security/fragment/HomeFragment.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="257">
-          <caret line="102" column="26" lean-forward="true" selection-start-line="102" selection-start-column="26" selection-end-line="102" selection-end-column="26" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/basic/security/fragment/helper/HomeSaveAlarmVideoPlayPosition.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="187">
-          <caret line="14" column="0" lean-forward="false" selection-start-line="14" selection-start-column="0" selection-end-line="14" selection-end-column="0" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/basic/security/fragment/helper/HomePlayAlarmVideo.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="135">
-          <caret line="10" column="22" lean-forward="false" selection-start-line="10" selection-start-column="22" selection-end-line="10" selection-end-column="22" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/basic/security/fragment/helper/HomePlayAlarmSound.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="668">
-          <caret line="60" column="31" lean-forward="false" selection-start-line="60" selection-start-column="31" selection-end-line="60" selection-end-column="31" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/build/generated/source/apt/debug/com/basic/security/fragment/HomeFragment_.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="548">
-          <caret line="109" column="46" lean-forward="false" selection-start-line="109" selection-start-column="46" selection-end-line="109" selection-end-column="46" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$USER_HOME$/AppData/Local/Android/Sdk/sources/android-28/android/media/MediaPlayer.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="246">
-          <caret line="1667" column="36" lean-forward="false" selection-start-line="1667" selection-start-column="15" selection-end-line="1667" selection-end-column="36" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/TCPClient.cpp">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="273">
-          <caret line="72" column="25" lean-forward="false" selection-start-line="72" selection-start-column="19" selection-end-line="72" selection-end-column="25" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/appcompat-v7-28.0.0-rc02.aar/0b2d52b42c5f75d5663787350b038cbf/res/values/values.xml">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="530">
-          <caret line="1447" column="52" lean-forward="true" selection-start-line="1447" selection-start-column="52" selection-end-line="1447" selection-end-column="52" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/basic/security/utils/CrashHandler.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="206">
-          <caret line="18" column="0" lean-forward="false" selection-start-line="18" selection-start-column="0" selection-end-line="18" selection-end-column="0" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/basic/security/utils/KeyboardUtil.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="256">
-          <caret line="47" column="43" lean-forward="false" selection-start-line="47" selection-start-column="43" selection-end-line="47" selection-end-column="43" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$USER_HOME$/AppData/Local/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/string">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="198">
-          <caret line="626" column="18" lean-forward="true" selection-start-line="626" selection-start-column="18" selection-end-line="626" selection-end-column="18" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/native-lib.cpp">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="378">
-          <caret line="107" column="36" lean-forward="false" selection-start-line="107" selection-start-column="36" selection-end-line="107" selection-end-column="36" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/res/drawable/pulldown.png">
-      <provider selected="true" editor-type-id="images">
-        <state />
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/res/layout/fragment_setting.xml">
-      <provider editor-type-id="android-designer2">
-        <state />
-      </provider>
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="1458">
-          <caret line="54" column="64" lean-forward="false" selection-start-line="54" selection-start-column="64" selection-end-line="54" selection-end-column="64" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/res/drawable/ic_arrow_down.png">
-      <provider selected="true" editor-type-id="images">
-        <state />
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/res/drawable/spinner_arrow_down.xml">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="270">
-          <caret line="10" column="29" lean-forward="true" selection-start-line="10" selection-start-column="29" selection-end-line="10" selection-end-column="29" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/basic/security/fragment/SettingFragment.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="780">
-          <caret line="290" column="37" lean-forward="false" selection-start-line="290" selection-start-column="37" selection-end-line="290" selection-end-column="37" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/basic/security/utils/SocketClient.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="223">
-          <caret line="42" column="0" lean-forward="true" selection-start-line="42" selection-start-column="0" selection-end-line="42" selection-end-column="0" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/basic/security/utils/SocketAcceptedClient.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="248">
-          <caret line="103" column="30" lean-forward="false" selection-start-line="103" selection-start-column="30" selection-end-line="103" selection-end-column="30" />
-          <folding>
-            <element signature="imports" expanded="false" />
-            <element signature="e#1266#1267#0" expanded="false" />
-            <element signature="e#1298#1299#0" expanded="false" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/basic/security/utils/SocketServer.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="185">
-          <caret line="21" column="21" lean-forward="false" selection-start-line="21" selection-start-column="21" selection-end-line="21" selection-end-column="21" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.androidannotations/androidannotations-api/4.5.2/74136c2ea18426ea0899bf9d8c9b21baf9ed328a/androidannotations-api-4.5.2-sources.jar!/org/androidannotations/annotations/EActivity.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="268">
-          <caret line="92" column="18" lean-forward="false" selection-start-line="92" selection-start-column="18" selection-end-line="92" selection-end-column="18" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.amitshekhar.android/debug-db/1.0.4/bc55f708add085095e49aa13a443dc09ecc4b225/debug-db-1.0.4-sources.jar!/com/amitshekhar/DebugDBInitProvider.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-81">
-          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/CMakeLists.txt">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="1404">
-          <caret line="52" column="25" lean-forward="false" selection-start-line="52" selection-start-column="25" selection-end-line="52" selection-end-column="25" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/basic/security/dao/DatabaseManager.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="1772">
-          <caret line="119" column="9" lean-forward="false" selection-start-line="119" selection-start-column="0" selection-end-line="119" selection-end-column="9" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/basic/security/utils/JnanomsgServer.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="189">
-          <caret line="7" column="2" lean-forward="true" selection-start-line="7" selection-start-column="2" selection-end-line="7" selection-end-column="2" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/build.gradle">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="1485">
-          <caret line="55" column="50" lean-forward="false" selection-start-line="55" selection-start-column="50" selection-end-line="55" selection-end-column="50" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/local.properties">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="216">
-          <caret line="8" column="0" lean-forward="false" selection-start-line="8" selection-start-column="0" selection-end-line="9" selection-end-column="0" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/basic/security/widget/AuthDialog.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-949">
-          <caret line="96" column="9" lean-forward="true" selection-start-line="96" selection-start-column="9" selection-end-line="96" selection-end-column="9" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/basic/security/activity/MainActivity.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-2191">
-          <caret line="105" column="32" lean-forward="false" selection-start-line="105" selection-start-column="19" selection-end-line="105" selection-end-column="32" />
-          <folding>
-            <element signature="e#3979#3980#0" expanded="false" />
-            <element signature="e#4038#4039#0" expanded="false" />
-            <element signature="e#7413#7414#0" expanded="false" />
-            <element signature="e#7446#7447#0" expanded="false" />
-            <element signature="e#7498#7499#0" expanded="false" />
-            <element signature="e#7531#7532#0" expanded="false" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$USER_HOME$/AppData/Local/Android/Sdk/sources/android-28/java/lang/String.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="2329">
-          <caret line="642" column="15" lean-forward="false" selection-start-line="642" selection-start-column="15" selection-end-line="642" selection-end-column="15" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/basic/security/utils/Constants.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="162">
-          <caret line="6" column="0" lean-forward="true" selection-start-line="6" selection-start-column="0" selection-end-line="6" selection-end-column="0" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$USER_HOME$/AppData/Local/Android/Sdk/sources/android-28/java/lang/Thread.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="331">
-          <caret line="759" column="7" lean-forward="true" selection-start-line="759" selection-start-column="7" selection-end-line="759" selection-end-column="7" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$USER_HOME$/AppData/Local/Android/Sdk/sources/android-28/android/view/View.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="206">
-          <caret line="777" column="13" lean-forward="false" selection-start-line="777" selection-start-column="13" selection-end-line="777" selection-end-column="13" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/basic/security/fragment/helper/HomeGridViewAdapter.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="3894">
-          <caret line="331" column="68" lean-forward="false" selection-start-line="331" selection-start-column="68" selection-end-line="331" selection-end-column="68" />
-          <folding>
-            <element signature="e#15554#16817#0" expanded="false" />
-            <element signature="e#16816#16817#0" expanded="false" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/basic/security/manager/AlarmManager.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="27">
-          <caret line="50" column="56" lean-forward="false" selection-start-line="50" selection-start-column="44" selection-end-line="50" selection-end-column="56" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
   </component>
 </project>
\ No newline at end of file
diff --git a/README.md b/README.md
deleted file mode 100644
index 6408f0d..0000000
--- a/README.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## alarm
-
-
-
diff --git a/Security_alarm.iml b/Security_alarm.iml
index 2a3cd75..8880764 100644
--- a/Security_alarm.iml
+++ b/Security_alarm.iml
@@ -8,7 +8,7 @@
       </configuration>
     </facet>
   </component>
-  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="true">
+  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8" inherit-compiler-output="true">
     <exclude-output />
     <content url="file://$MODULE_DIR$">
       <excludeFolder url="file://$MODULE_DIR$/.gradle" />
diff --git a/a.txt b/a.txt
new file mode 100644
index 0000000..34b3413
--- /dev/null
+++ b/a.txt
@@ -0,0 +1,2486 @@
+Parallel execution is an incubating feature.
+Support for CMake 3.7 and higher is a preview feature. To report a bug, see https://developer.android.com/studio/report-bugs.html
+Support for CMake 3.7 and higher is a preview feature. To report a bug, see https://developer.android.com/studio/report-bugs.html
+:app:dependencies
+
+------------------------------------------------------------
+Project :app
+------------------------------------------------------------
+
+androidTestAnnotationProcessor - Classpath for the annotation processor for 'androidTest'. (n)
+No dependencies
+
+androidTestApi - API dependencies for 'androidTest' sources. (n)
+No dependencies
+
+androidTestApk - Apk dependencies for 'androidTest' sources (deprecated: use 'androidTestRuntimeOnly' instead). (n)
+No dependencies
+
+androidTestCompile - Compile dependencies for 'androidTest' sources (deprecated: use 'androidTestImplementation' instead). (n)
+No dependencies
+
+androidTestCompileOnly - Compile only dependencies for 'androidTest' sources. (n)
+No dependencies
+
+androidTestDebugAnnotationProcessor - Classpath for the annotation processor for 'androidTestDebug'. (n)
+No dependencies
+
+androidTestDebugApi - API dependencies for 'androidTestDebug' sources. (n)
+No dependencies
+
+androidTestDebugApk - Apk dependencies for 'androidTestDebug' sources (deprecated: use 'androidTestDebugRuntimeOnly' instead). (n)
+No dependencies
+
+androidTestDebugCompile - Compile dependencies for 'androidTestDebug' sources (deprecated: use 'androidTestDebugImplementation' instead). (n)
+No dependencies
+
+androidTestDebugCompileOnly - Compile only dependencies for 'androidTestDebug' sources. (n)
+No dependencies
+
+androidTestDebugImplementation - Implementation only dependencies for 'androidTestDebug' sources. (n)
+No dependencies
+
+androidTestDebugProvided - Provided dependencies for 'androidTestDebug' sources (deprecated: use 'androidTestDebugCompileOnly' instead). (n)
+No dependencies
+
+androidTestDebugRuntimeOnly - Runtime only dependencies for 'androidTestDebug' sources. (n)
+No dependencies
+
+androidTestDebugWearApp - Link to a wear app to embed for object 'androidTestDebug'. (n)
+No dependencies
+
+androidTestImplementation - Implementation only dependencies for 'androidTest' sources. (n)
++--- com.android.support.test:runner:1.0.2 (n)
+\--- com.android.support.test.espresso:espresso-core:3.0.2 (n)
+
+androidTestProvided - Provided dependencies for 'androidTest' sources (deprecated: use 'androidTestCompileOnly' instead). (n)
+No dependencies
+
+androidTestRuntimeOnly - Runtime only dependencies for 'androidTest' sources. (n)
+No dependencies
+
+androidTestUtil - Additional APKs used during instrumentation testing.
+No dependencies
+
+androidTestWearApp - Link to a wear app to embed for object 'androidTest'. (n)
+No dependencies
+
+annotationProcessor - Classpath for the annotation processor for 'main'. (n)
++--- org.androidannotations:androidannotations:4.4.0 (n)
++--- com.github.bumptech.glide:compiler:4.8.0 (n)
++--- org.androidannotations:androidannotations:4.5.2 (n)
+\--- org.androidannotations:rest-spring:4.5.2 (n)
+
+api - API dependencies for 'main' sources. (n)
+No dependencies
+
+apk - Apk dependencies for 'main' sources (deprecated: use 'runtimeOnly' instead). (n)
+No dependencies
+
+archives - Configuration for archive artifacts.
+No dependencies
+
+compile - Compile dependencies for 'main' sources (deprecated: use 'implementation' instead).
+No dependencies
+
+compileOnly - Compile only dependencies for 'main' sources. (n)
+No dependencies
+
+debugAndroidTestAnnotationProcessorClasspath - Resolved configuration for annotation-processor for variant: debugAndroidTest
+No dependencies
+
+debugAndroidTestCompileClasspath - Resolved configuration for compilation for variant: debugAndroidTest
++--- com.android.support.test:runner:1.0.2
+|    +--- com.android.support:support-annotations:27.1.1 -> 28.0.0-rc02
+|    +--- com.android.support.test:monitor:1.0.2
+|    |    \--- com.android.support:support-annotations:27.1.1 -> 28.0.0-rc02
+|    +--- junit:junit:4.12
+|    |    \--- org.hamcrest:hamcrest-core:1.3
+|    \--- net.sf.kxml:kxml2:2.3.0
++--- com.android.support.test.espresso:espresso-core:3.0.2
+|    +--- com.android.support.test:runner:1.0.2 (*)
+|    +--- com.android.support.test.espresso:espresso-idling-resource:3.0.2
+|    +--- com.squareup:javawriter:2.1.1
+|    +--- javax.inject:javax.inject:1
+|    +--- org.hamcrest:hamcrest-library:1.3
+|    |    \--- org.hamcrest:hamcrest-core:1.3
+|    +--- org.hamcrest:hamcrest-integration:1.3
+|    |    \--- org.hamcrest:hamcrest-library:1.3 (*)
+|    \--- com.google.code.findbugs:jsr305:2.0.1
++--- com.android.support:support-v4:28.0.0-rc02
+|    +--- com.android.support:support-compat:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:collections:28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- android.arch.lifecycle:runtime:1.1.1
+|    |    |    +--- android.arch.lifecycle:common:1.1.1
+|    |    |    |    \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    |    +--- android.arch.core:common:1.1.1
+|    |    |    |    \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    \--- com.android.support:versionedparcelable:28.0.0-rc02
+|    |         +--- com.android.support:support-annotations:28.0.0-rc02
+|    |         \--- com.android.support:collections:28.0.0-rc02 (*)
+|    +--- com.android.support:support-media-compat:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    \--- com.android.support:versionedparcelable:28.0.0-rc02 (*)
+|    +--- com.android.support:support-core-utils:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    +--- com.android.support:documentfile:28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:loader:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    +--- android.arch.lifecycle:livedata-core:1.1.1
+|    |    |    |    +--- android.arch.lifecycle:common:1.1.1 (*)
+|    |    |    |    +--- android.arch.core:common:1.1.1 (*)
+|    |    |    |    \--- android.arch.core:runtime:1.1.1
+|    |    |    |         +--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    |    |         \--- android.arch.core:common:1.1.1 (*)
+|    |    |    \--- android.arch.lifecycle:viewmodel:1.1.1
+|    |    |         \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    +--- com.android.support:localbroadcastmanager:28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:28.0.0-rc02
+|    |    \--- com.android.support:print:28.0.0-rc02
+|    |         \--- com.android.support:support-annotations:28.0.0-rc02
+|    +--- com.android.support:support-core-ui:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    +--- com.android.support:support-core-utils:28.0.0-rc02 (*)
+|    |    +--- com.android.support:customview:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    \--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    +--- com.android.support:viewpager:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:customview:28.0.0-rc02 (*)
+|    |    +--- com.android.support:coordinatorlayout:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:customview:28.0.0-rc02 (*)
+|    |    +--- com.android.support:drawerlayout:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:customview:28.0.0-rc02 (*)
+|    |    +--- com.android.support:slidingpanelayout:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:customview:28.0.0-rc02 (*)
+|    |    +--- com.android.support:interpolator:28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:swiperefreshlayout:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:interpolator:28.0.0-rc02 (*)
+|    |    +--- com.android.support:asynclayoutinflater:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    \--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    \--- com.android.support:cursoradapter:28.0.0-rc02
+|    |         \--- com.android.support:support-annotations:28.0.0-rc02
+|    \--- com.android.support:support-fragment:28.0.0-rc02
+|         +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|         +--- com.android.support:support-core-ui:28.0.0-rc02 (*)
+|         +--- com.android.support:support-core-utils:28.0.0-rc02 (*)
+|         +--- com.android.support:support-annotations:28.0.0-rc02
+|         +--- com.android.support:loader:28.0.0-rc02 (*)
+|         \--- android.arch.lifecycle:viewmodel:1.1.1 (*)
++--- com.android.support:support-v13:28.0.0-rc02
+|    \--- com.android.support:support-v4:28.0.0-rc02 (*)
++--- org.androidannotations:androidannotations-api:4.4.0 -> 4.5.2
++--- com.android.support:appcompat-v7:28.0.0-rc02
+|    +--- com.android.support:support-annotations:28.0.0-rc02
+|    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    +--- com.android.support:collections:28.0.0-rc02 (*)
+|    +--- com.android.support:cursoradapter:28.0.0-rc02 (*)
+|    +--- com.android.support:support-core-utils:28.0.0-rc02 (*)
+|    +--- com.android.support:support-fragment:28.0.0-rc02 (*)
+|    +--- com.android.support:support-vector-drawable:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    \--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    \--- com.android.support:animated-vector-drawable:28.0.0-rc02
+|         +--- com.android.support:support-vector-drawable:28.0.0-rc02 (*)
+|         \--- com.android.support:support-core-ui:28.0.0-rc02 (*)
++--- com.android.support:design:28.0.0-rc01
+|    +--- com.android.support:support-annotations:28.0.0-rc01 -> 28.0.0-rc02
+|    +--- com.android.support:support-compat:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-core-ui:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-core-utils:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-fragment:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:transition:28.0.0-rc01
+|    |    +--- com.android.support:support-annotations:28.0.0-rc01 -> 28.0.0-rc02
+|    |    \--- com.android.support:support-compat:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:appcompat-v7:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:cardview-v7:28.0.0-rc01
+|    |    \--- com.android.support:support-annotations:28.0.0-rc01 -> 28.0.0-rc02
+|    \--- com.android.support:recyclerview-v7:28.0.0-rc01
+|         +--- com.android.support:support-annotations:28.0.0-rc01 -> 28.0.0-rc02
+|         +--- com.android.support:support-compat:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|         \--- com.android.support:support-core-ui:28.0.0-rc01 -> 28.0.0-rc02 (*)
++--- com.android.support.constraint:constraint-layout:1.1.2
+|    \--- com.android.support.constraint:constraint-layout-solver:1.1.2
++--- io.reactivex.rxjava2:rxandroid:2.0.2
+|    \--- io.reactivex.rxjava2:rxjava:2.1.9 -> 2.1.17
+|         \--- org.reactivestreams:reactive-streams:1.0.2
++--- io.reactivex.rxjava2:rxjava:2.1.17 (*)
++--- org.apache.httpcomponents:httpclient-android:4.3.5.1
++--- org.xutils:xutils:3.5.0
++--- com.facebook.fresco:fresco:1.1.0
+|    +--- com.facebook.fresco:drawee:1.1.0
+|    |    \--- com.facebook.fresco:fbcore:1.1.0
+|    +--- com.facebook.fresco:fbcore:1.1.0
+|    \--- com.facebook.fresco:imagepipeline:1.1.0
+|         +--- com.parse.bolts:bolts-tasks:1.4.0
+|         +--- com.facebook.fresco:fbcore:1.1.0
+|         \--- com.facebook.fresco:imagepipeline-base:1.1.0
+|              +--- com.parse.bolts:bolts-tasks:1.4.0
+|              \--- com.facebook.fresco:fbcore:1.1.0
++--- com.squareup.retrofit2:retrofit:2.4.0
+|    \--- com.squareup.okhttp3:okhttp:3.10.0
+|         \--- com.squareup.okio:okio:1.14.0
++--- com.squareup.retrofit2:converter-gson:2.4.0
+|    +--- com.squareup.retrofit2:retrofit:2.4.0 (*)
+|    \--- com.google.code.gson:gson:2.8.2
++--- com.squareup.retrofit2:adapter-rxjava:2.4.0
+|    +--- com.squareup.retrofit2:retrofit:2.4.0 (*)
+|    \--- io.reactivex:rxjava:1.3.0
++--- com.beardedhen:androidbootstrap:2.3.2
+|    +--- com.android.support:support-annotations:25.3.1 -> 28.0.0-rc02
+|    \--- com.android.support:support-v4:25.3.1 -> 28.0.0-rc02 (*)
++--- com.nightonke:jellytogglebutton:1.0.2
+|    \--- com.android.support:appcompat-v7:23.3.0 -> 28.0.0-rc02 (*)
++--- com.github.bumptech.glide:glide:4.8.0
+|    +--- com.github.bumptech.glide:gifdecoder:4.8.0
+|    |    \--- com.android.support:support-annotations:27.1.1 -> 28.0.0-rc02
+|    +--- com.github.bumptech.glide:disklrucache:4.8.0
+|    +--- com.github.bumptech.glide:annotations:4.8.0
+|    \--- com.android.support:support-fragment:27.1.1 -> 28.0.0-rc02 (*)
++--- com.kyleduo.switchbutton:library:2.0.0
++--- com.rengwuxian.materialedittext:library:2.1.4
+|    +--- com.android.support:appcompat-v7:22.2.0 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-annotations:22.2.0 -> 28.0.0-rc02
+|    \--- com.nineoldandroids:library:2.4.0
++--- com.github.angads25:toggle:1.0.0
++--- com.wdullaer:materialdatetimepicker:3.6.3
+|    +--- com.android.support:support-v4:27.1.1 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:appcompat-v7:27.1.1 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-v13:27.1.1 -> 28.0.0-rc02 (*)
+|    \--- com.android.support:design:27.1.1 -> 28.0.0-rc01 (*)
++--- com.contrarywind:Android-PickerView:4.1.6
+|    \--- com.contrarywind:wheelview:4.0.8
++--- com.android.support:multidex:1.0.3
++--- org.jsoup:jsoup:1.11.3
++--- de.hdodenhof:circleimageview:2.2.0
++--- com.makeramen:roundedimageview:2.3.0
++--- com.amitshekhar.android:debug-db:1.0.4
+|    +--- com.google.code.gson:gson:2.8.2
+|    +--- net.zetetic:android-database-sqlcipher:3.5.7
+|    \--- android.arch.persistence.room:runtime:1.1.0
+|         +--- android.arch.persistence.room:common:1.1.0
+|         |    \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|         +--- android.arch.persistence:db-framework:1.1.0
+|         |    +--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|         |    \--- android.arch.persistence:db:1.1.0
+|         |         \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|         +--- android.arch.persistence:db:1.1.0 (*)
+|         +--- android.arch.core:runtime:1.1.1 (*)
+|         \--- com.android.support:support-core-utils:26.1.0 -> 28.0.0-rc02 (*)
++--- org.androidannotations:androidannotations-api:4.5.2
++--- org.androidannotations:rest-spring-api:4.5.2
++--- com.fasterxml.jackson.core:jackson-core:2.9.7
++--- com.fasterxml.jackson.core:jackson-databind:2.9.7
+|    +--- com.fasterxml.jackson.core:jackson-annotations:2.9.0
+|    \--- com.fasterxml.jackson.core:jackson-core:2.9.7
++--- org.springframework.android:spring-android-rest-template:2.0.0.M3
+|    \--- org.springframework.android:spring-android-core:2.0.0.M3
++--- com.github.ybq:Android-SpinKit:1.2.0
++--- org.apache.directory.studio:org.apache.commons.io:2.4
+|    \--- commons-io:commons-io:2.4
+\--- com.rabbitmq:amqp-client:4.6.0
+     \--- org.slf4j:slf4j-api:1.7.25
+
+debugAndroidTestRuntimeClasspath - Resolved configuration for runtime for variant: debugAndroidTest
++--- com.android.support.test:runner:1.0.2
+|    +--- com.android.support:support-annotations:27.1.1 -> 28.0.0-rc02
+|    +--- com.android.support.test:monitor:1.0.2
+|    |    \--- com.android.support:support-annotations:27.1.1 -> 28.0.0-rc02
+|    +--- junit:junit:4.12
+|    |    \--- org.hamcrest:hamcrest-core:1.3
+|    \--- net.sf.kxml:kxml2:2.3.0
++--- com.android.support.test.espresso:espresso-core:3.0.2
+|    +--- com.android.support.test:runner:1.0.2 (*)
+|    +--- com.android.support.test.espresso:espresso-idling-resource:3.0.2
+|    +--- com.squareup:javawriter:2.1.1
+|    +--- javax.inject:javax.inject:1
+|    +--- org.hamcrest:hamcrest-library:1.3
+|    |    \--- org.hamcrest:hamcrest-core:1.3
+|    +--- org.hamcrest:hamcrest-integration:1.3
+|    |    \--- org.hamcrest:hamcrest-library:1.3 (*)
+|    \--- com.google.code.findbugs:jsr305:2.0.1
++--- com.android.support:support-v4:28.0.0-rc02
+|    +--- com.android.support:support-compat:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:collections:28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- android.arch.lifecycle:runtime:1.1.1
+|    |    |    +--- android.arch.lifecycle:common:1.1.1
+|    |    |    |    \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    |    +--- android.arch.core:common:1.1.1
+|    |    |    |    \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    \--- com.android.support:versionedparcelable:28.0.0-rc02
+|    |         +--- com.android.support:support-annotations:28.0.0-rc02
+|    |         \--- com.android.support:collections:28.0.0-rc02 (*)
+|    +--- com.android.support:support-media-compat:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    \--- com.android.support:versionedparcelable:28.0.0-rc02 (*)
+|    +--- com.android.support:support-core-utils:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    +--- com.android.support:documentfile:28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:loader:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    +--- android.arch.lifecycle:livedata-core:1.1.1
+|    |    |    |    +--- android.arch.lifecycle:common:1.1.1 (*)
+|    |    |    |    +--- android.arch.core:common:1.1.1 (*)
+|    |    |    |    \--- android.arch.core:runtime:1.1.1
+|    |    |    |         +--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    |    |         \--- android.arch.core:common:1.1.1 (*)
+|    |    |    \--- android.arch.lifecycle:viewmodel:1.1.1
+|    |    |         \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    +--- com.android.support:localbroadcastmanager:28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:28.0.0-rc02
+|    |    \--- com.android.support:print:28.0.0-rc02
+|    |         \--- com.android.support:support-annotations:28.0.0-rc02
+|    +--- com.android.support:support-core-ui:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    +--- com.android.support:support-core-utils:28.0.0-rc02 (*)
+|    |    +--- com.android.support:customview:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    \--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    +--- com.android.support:viewpager:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:customview:28.0.0-rc02 (*)
+|    |    +--- com.android.support:coordinatorlayout:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:customview:28.0.0-rc02 (*)
+|    |    +--- com.android.support:drawerlayout:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:customview:28.0.0-rc02 (*)
+|    |    +--- com.android.support:slidingpanelayout:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:customview:28.0.0-rc02 (*)
+|    |    +--- com.android.support:interpolator:28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:swiperefreshlayout:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:interpolator:28.0.0-rc02 (*)
+|    |    +--- com.android.support:asynclayoutinflater:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    \--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    \--- com.android.support:cursoradapter:28.0.0-rc02
+|    |         \--- com.android.support:support-annotations:28.0.0-rc02
+|    \--- com.android.support:support-fragment:28.0.0-rc02
+|         +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|         +--- com.android.support:support-core-ui:28.0.0-rc02 (*)
+|         +--- com.android.support:support-core-utils:28.0.0-rc02 (*)
+|         +--- com.android.support:support-annotations:28.0.0-rc02
+|         +--- com.android.support:loader:28.0.0-rc02 (*)
+|         \--- android.arch.lifecycle:viewmodel:1.1.1 (*)
++--- com.android.support:support-v13:28.0.0-rc02
+|    \--- com.android.support:support-v4:28.0.0-rc02 (*)
++--- org.androidannotations:androidannotations-api:4.4.0 -> 4.5.2
++--- com.android.support:appcompat-v7:28.0.0-rc02
+|    +--- com.android.support:support-annotations:28.0.0-rc02
+|    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    +--- com.android.support:collections:28.0.0-rc02 (*)
+|    +--- com.android.support:cursoradapter:28.0.0-rc02 (*)
+|    +--- com.android.support:support-core-utils:28.0.0-rc02 (*)
+|    +--- com.android.support:support-fragment:28.0.0-rc02 (*)
+|    +--- com.android.support:support-vector-drawable:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    \--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    \--- com.android.support:animated-vector-drawable:28.0.0-rc02
+|         +--- com.android.support:support-vector-drawable:28.0.0-rc02 (*)
+|         \--- com.android.support:support-core-ui:28.0.0-rc02 (*)
++--- com.android.support:design:28.0.0-rc01
+|    +--- com.android.support:support-annotations:28.0.0-rc01 -> 28.0.0-rc02
+|    +--- com.android.support:support-compat:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-core-ui:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-core-utils:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-fragment:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:transition:28.0.0-rc01
+|    |    +--- com.android.support:support-annotations:28.0.0-rc01 -> 28.0.0-rc02
+|    |    \--- com.android.support:support-compat:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:appcompat-v7:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:cardview-v7:28.0.0-rc01
+|    |    \--- com.android.support:support-annotations:28.0.0-rc01 -> 28.0.0-rc02
+|    \--- com.android.support:recyclerview-v7:28.0.0-rc01
+|         +--- com.android.support:support-annotations:28.0.0-rc01 -> 28.0.0-rc02
+|         +--- com.android.support:support-compat:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|         \--- com.android.support:support-core-ui:28.0.0-rc01 -> 28.0.0-rc02 (*)
++--- com.android.support.constraint:constraint-layout:1.1.2
+|    \--- com.android.support.constraint:constraint-layout-solver:1.1.2
++--- io.reactivex.rxjava2:rxandroid:2.0.2
+|    \--- io.reactivex.rxjava2:rxjava:2.1.9 -> 2.1.17
+|         \--- org.reactivestreams:reactive-streams:1.0.2
++--- io.reactivex.rxjava2:rxjava:2.1.17 (*)
++--- org.apache.httpcomponents:httpclient-android:4.3.5.1
++--- org.xutils:xutils:3.5.0
++--- com.facebook.fresco:fresco:1.1.0
+|    +--- com.facebook.fresco:drawee:1.1.0
+|    |    \--- com.facebook.fresco:fbcore:1.1.0
+|    +--- com.facebook.fresco:fbcore:1.1.0
+|    \--- com.facebook.fresco:imagepipeline:1.1.0
+|         +--- com.parse.bolts:bolts-tasks:1.4.0
+|         +--- com.facebook.fresco:fbcore:1.1.0
+|         \--- com.facebook.fresco:imagepipeline-base:1.1.0
+|              +--- com.parse.bolts:bolts-tasks:1.4.0
+|              \--- com.facebook.fresco:fbcore:1.1.0
++--- com.squareup.retrofit2:retrofit:2.4.0
+|    \--- com.squareup.okhttp3:okhttp:3.10.0
+|         \--- com.squareup.okio:okio:1.14.0
++--- com.squareup.retrofit2:converter-gson:2.4.0
+|    +--- com.squareup.retrofit2:retrofit:2.4.0 (*)
+|    \--- com.google.code.gson:gson:2.8.2
++--- com.squareup.retrofit2:adapter-rxjava:2.4.0
+|    +--- com.squareup.retrofit2:retrofit:2.4.0 (*)
+|    \--- io.reactivex:rxjava:1.3.0
++--- com.beardedhen:androidbootstrap:2.3.2
+|    +--- com.android.support:support-annotations:25.3.1 -> 28.0.0-rc02
+|    \--- com.android.support:support-v4:25.3.1 -> 28.0.0-rc02 (*)
++--- com.nightonke:jellytogglebutton:1.0.2
+|    \--- com.android.support:appcompat-v7:23.3.0 -> 28.0.0-rc02 (*)
++--- com.github.bumptech.glide:glide:4.8.0
+|    +--- com.github.bumptech.glide:gifdecoder:4.8.0
+|    |    \--- com.android.support:support-annotations:27.1.1 -> 28.0.0-rc02
+|    +--- com.github.bumptech.glide:disklrucache:4.8.0
+|    +--- com.github.bumptech.glide:annotations:4.8.0
+|    \--- com.android.support:support-fragment:27.1.1 -> 28.0.0-rc02 (*)
++--- com.kyleduo.switchbutton:library:2.0.0
++--- com.rengwuxian.materialedittext:library:2.1.4
+|    +--- com.android.support:appcompat-v7:22.2.0 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-annotations:22.2.0 -> 28.0.0-rc02
+|    \--- com.nineoldandroids:library:2.4.0
++--- com.github.angads25:toggle:1.0.0
++--- com.wdullaer:materialdatetimepicker:3.6.3
+|    +--- com.android.support:support-v4:27.1.1 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:appcompat-v7:27.1.1 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-v13:27.1.1 -> 28.0.0-rc02 (*)
+|    \--- com.android.support:design:27.1.1 -> 28.0.0-rc01 (*)
++--- com.contrarywind:Android-PickerView:4.1.6
+|    \--- com.contrarywind:wheelview:4.0.8
++--- com.android.support:multidex:1.0.3
++--- org.jsoup:jsoup:1.11.3
++--- de.hdodenhof:circleimageview:2.2.0
++--- com.makeramen:roundedimageview:2.3.0
++--- com.amitshekhar.android:debug-db:1.0.4
+|    +--- com.google.code.gson:gson:2.8.2
+|    +--- net.zetetic:android-database-sqlcipher:3.5.7
+|    \--- android.arch.persistence.room:runtime:1.1.0
+|         +--- android.arch.persistence.room:common:1.1.0
+|         |    \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|         +--- android.arch.persistence:db-framework:1.1.0
+|         |    +--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|         |    \--- android.arch.persistence:db:1.1.0
+|         |         \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|         +--- android.arch.persistence:db:1.1.0 (*)
+|         +--- android.arch.core:runtime:1.1.1 (*)
+|         \--- com.android.support:support-core-utils:26.1.0 -> 28.0.0-rc02 (*)
++--- org.androidannotations:androidannotations-api:4.5.2
++--- org.androidannotations:rest-spring-api:4.5.2
++--- com.fasterxml.jackson.core:jackson-core:2.9.7
++--- com.fasterxml.jackson.core:jackson-databind:2.9.7
+|    +--- com.fasterxml.jackson.core:jackson-annotations:2.9.0
+|    \--- com.fasterxml.jackson.core:jackson-core:2.9.7
++--- org.springframework.android:spring-android-rest-template:2.0.0.M3
+|    \--- org.springframework.android:spring-android-core:2.0.0.M3
++--- com.github.ybq:Android-SpinKit:1.2.0
++--- org.apache.directory.studio:org.apache.commons.io:2.4
+|    \--- commons-io:commons-io:2.4
+\--- com.rabbitmq:amqp-client:4.6.0
+     \--- org.slf4j:slf4j-api:1.7.25
+
+debugAnnotationProcessor - Classpath for the annotation processor for 'debug'. (n)
+No dependencies
+
+debugAnnotationProcessorClasspath - Resolved configuration for annotation-processor for variant: debug
++--- org.androidannotations:androidannotations:4.4.0 -> 4.5.2
+|    +--- org.androidannotations:androidannotations-api:4.5.2
+|    \--- com.helger:jcodemodel:3.0.1
+|         \--- com.google.code.findbugs:annotations:3.0.1u2
+|              +--- net.jcip:jcip-annotations:1.0
+|              \--- com.google.code.findbugs:jsr305:3.0.1
++--- com.github.bumptech.glide:compiler:4.8.0
+|    \--- com.github.bumptech.glide:annotations:4.8.0
++--- org.androidannotations:androidannotations:4.5.2 (*)
+\--- org.androidannotations:rest-spring:4.5.2
+     +--- org.androidannotations:androidannotations:4.5.2 (*)
+     +--- org.androidannotations:rest-spring-api:4.5.2
+     \--- com.helger:jcodemodel:3.0.1 (*)
+
+debugApi - API dependencies for 'debug' sources. (n)
+No dependencies
+
+debugApiElements - API elements for debug (n)
+No dependencies
+
+debugApk - Apk dependencies for 'debug' sources (deprecated: use 'debugRuntimeOnly' instead). (n)
+No dependencies
+
+debugBundleElements - Bundle elements for debug (n)
+No dependencies
+
+debugCompile - Compile dependencies for 'debug' sources (deprecated: use 'debugImplementation' instead). (n)
+No dependencies
+
+debugCompileClasspath - Resolved configuration for compilation for variant: debug
++--- com.android.support:support-v4:28.0.0-rc02
+|    +--- com.android.support:support-compat:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:collections:28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- android.arch.lifecycle:runtime:1.1.1
+|    |    |    +--- android.arch.lifecycle:common:1.1.1
+|    |    |    |    \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    |    +--- android.arch.core:common:1.1.1
+|    |    |    |    \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    \--- com.android.support:versionedparcelable:28.0.0-rc02
+|    |         +--- com.android.support:support-annotations:28.0.0-rc02
+|    |         \--- com.android.support:collections:28.0.0-rc02 (*)
+|    +--- com.android.support:support-media-compat:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    \--- com.android.support:versionedparcelable:28.0.0-rc02 (*)
+|    +--- com.android.support:support-core-utils:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    +--- com.android.support:documentfile:28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:loader:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    +--- android.arch.lifecycle:livedata-core:1.1.1
+|    |    |    |    +--- android.arch.lifecycle:common:1.1.1 (*)
+|    |    |    |    +--- android.arch.core:common:1.1.1 (*)
+|    |    |    |    \--- android.arch.core:runtime:1.1.1
+|    |    |    |         +--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    |    |         \--- android.arch.core:common:1.1.1 (*)
+|    |    |    \--- android.arch.lifecycle:viewmodel:1.1.1
+|    |    |         \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    +--- com.android.support:localbroadcastmanager:28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:28.0.0-rc02
+|    |    \--- com.android.support:print:28.0.0-rc02
+|    |         \--- com.android.support:support-annotations:28.0.0-rc02
+|    +--- com.android.support:support-core-ui:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    +--- com.android.support:support-core-utils:28.0.0-rc02 (*)
+|    |    +--- com.android.support:customview:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    \--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    +--- com.android.support:viewpager:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:customview:28.0.0-rc02 (*)
+|    |    +--- com.android.support:coordinatorlayout:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:customview:28.0.0-rc02 (*)
+|    |    +--- com.android.support:drawerlayout:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:customview:28.0.0-rc02 (*)
+|    |    +--- com.android.support:slidingpanelayout:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:customview:28.0.0-rc02 (*)
+|    |    +--- com.android.support:interpolator:28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:swiperefreshlayout:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:interpolator:28.0.0-rc02 (*)
+|    |    +--- com.android.support:asynclayoutinflater:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    \--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    \--- com.android.support:cursoradapter:28.0.0-rc02
+|    |         \--- com.android.support:support-annotations:28.0.0-rc02
+|    \--- com.android.support:support-fragment:28.0.0-rc02
+|         +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|         +--- com.android.support:support-core-ui:28.0.0-rc02 (*)
+|         +--- com.android.support:support-core-utils:28.0.0-rc02 (*)
+|         +--- com.android.support:support-annotations:28.0.0-rc02
+|         +--- com.android.support:loader:28.0.0-rc02 (*)
+|         \--- android.arch.lifecycle:viewmodel:1.1.1 (*)
++--- com.android.support:support-v13:28.0.0-rc02
+|    \--- com.android.support:support-v4:28.0.0-rc02 (*)
++--- org.androidannotations:androidannotations-api:4.4.0 -> 4.5.2
++--- com.android.support:appcompat-v7:28.0.0-rc02
+|    +--- com.android.support:support-annotations:28.0.0-rc02
+|    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    +--- com.android.support:collections:28.0.0-rc02 (*)
+|    +--- com.android.support:cursoradapter:28.0.0-rc02 (*)
+|    +--- com.android.support:support-core-utils:28.0.0-rc02 (*)
+|    +--- com.android.support:support-fragment:28.0.0-rc02 (*)
+|    +--- com.android.support:support-vector-drawable:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    \--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    \--- com.android.support:animated-vector-drawable:28.0.0-rc02
+|         +--- com.android.support:support-vector-drawable:28.0.0-rc02 (*)
+|         \--- com.android.support:support-core-ui:28.0.0-rc02 (*)
++--- com.android.support:design:28.0.0-rc01
+|    +--- com.android.support:support-annotations:28.0.0-rc01 -> 28.0.0-rc02
+|    +--- com.android.support:support-compat:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-core-ui:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-core-utils:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-fragment:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:transition:28.0.0-rc01
+|    |    +--- com.android.support:support-annotations:28.0.0-rc01 -> 28.0.0-rc02
+|    |    \--- com.android.support:support-compat:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:appcompat-v7:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:cardview-v7:28.0.0-rc01
+|    |    \--- com.android.support:support-annotations:28.0.0-rc01 -> 28.0.0-rc02
+|    \--- com.android.support:recyclerview-v7:28.0.0-rc01
+|         +--- com.android.support:support-annotations:28.0.0-rc01 -> 28.0.0-rc02
+|         +--- com.android.support:support-compat:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|         \--- com.android.support:support-core-ui:28.0.0-rc01 -> 28.0.0-rc02 (*)
++--- com.android.support.constraint:constraint-layout:1.1.2
+|    \--- com.android.support.constraint:constraint-layout-solver:1.1.2
++--- io.reactivex.rxjava2:rxandroid:2.0.2
+|    \--- io.reactivex.rxjava2:rxjava:2.1.9 -> 2.1.17
+|         \--- org.reactivestreams:reactive-streams:1.0.2
++--- io.reactivex.rxjava2:rxjava:2.1.17 (*)
++--- org.apache.httpcomponents:httpclient-android:4.3.5.1
++--- org.xutils:xutils:3.5.0
++--- com.facebook.fresco:fresco:1.1.0
+|    +--- com.facebook.fresco:drawee:1.1.0
+|    |    \--- com.facebook.fresco:fbcore:1.1.0
+|    +--- com.facebook.fresco:fbcore:1.1.0
+|    \--- com.facebook.fresco:imagepipeline:1.1.0
+|         +--- com.parse.bolts:bolts-tasks:1.4.0
+|         +--- com.facebook.fresco:fbcore:1.1.0
+|         \--- com.facebook.fresco:imagepipeline-base:1.1.0
+|              +--- com.parse.bolts:bolts-tasks:1.4.0
+|              \--- com.facebook.fresco:fbcore:1.1.0
++--- com.squareup.retrofit2:retrofit:2.4.0
+|    \--- com.squareup.okhttp3:okhttp:3.10.0
+|         \--- com.squareup.okio:okio:1.14.0
++--- com.squareup.retrofit2:converter-gson:2.4.0
+|    +--- com.squareup.retrofit2:retrofit:2.4.0 (*)
+|    \--- com.google.code.gson:gson:2.8.2
++--- com.squareup.retrofit2:adapter-rxjava:2.4.0
+|    +--- com.squareup.retrofit2:retrofit:2.4.0 (*)
+|    \--- io.reactivex:rxjava:1.3.0
++--- com.beardedhen:androidbootstrap:2.3.2
+|    +--- com.android.support:support-annotations:25.3.1 -> 28.0.0-rc02
+|    \--- com.android.support:support-v4:25.3.1 -> 28.0.0-rc02 (*)
++--- com.nightonke:jellytogglebutton:1.0.2
+|    \--- com.android.support:appcompat-v7:23.3.0 -> 28.0.0-rc02 (*)
++--- com.github.bumptech.glide:glide:4.8.0
+|    +--- com.github.bumptech.glide:gifdecoder:4.8.0
+|    |    \--- com.android.support:support-annotations:27.1.1 -> 28.0.0-rc02
+|    +--- com.github.bumptech.glide:disklrucache:4.8.0
+|    +--- com.github.bumptech.glide:annotations:4.8.0
+|    \--- com.android.support:support-fragment:27.1.1 -> 28.0.0-rc02 (*)
++--- com.kyleduo.switchbutton:library:2.0.0
++--- com.rengwuxian.materialedittext:library:2.1.4
+|    +--- com.android.support:appcompat-v7:22.2.0 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-annotations:22.2.0 -> 28.0.0-rc02
+|    \--- com.nineoldandroids:library:2.4.0
++--- com.github.angads25:toggle:1.0.0
++--- com.wdullaer:materialdatetimepicker:3.6.3
+|    +--- com.android.support:support-v4:27.1.1 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:appcompat-v7:27.1.1 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-v13:27.1.1 -> 28.0.0-rc02 (*)
+|    \--- com.android.support:design:27.1.1 -> 28.0.0-rc01 (*)
++--- com.contrarywind:Android-PickerView:4.1.6
+|    \--- com.contrarywind:wheelview:4.0.8
++--- com.android.support:multidex:1.0.3
++--- org.jsoup:jsoup:1.11.3
++--- de.hdodenhof:circleimageview:2.2.0
++--- com.makeramen:roundedimageview:2.3.0
++--- com.amitshekhar.android:debug-db:1.0.4
+|    +--- com.google.code.gson:gson:2.8.2
+|    +--- net.zetetic:android-database-sqlcipher:3.5.7
+|    \--- android.arch.persistence.room:runtime:1.1.0
+|         +--- android.arch.persistence.room:common:1.1.0
+|         |    \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|         +--- android.arch.persistence:db-framework:1.1.0
+|         |    +--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|         |    \--- android.arch.persistence:db:1.1.0
+|         |         \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|         +--- android.arch.persistence:db:1.1.0 (*)
+|         +--- android.arch.core:runtime:1.1.1 (*)
+|         \--- com.android.support:support-core-utils:26.1.0 -> 28.0.0-rc02 (*)
++--- org.androidannotations:androidannotations-api:4.5.2
++--- org.androidannotations:rest-spring-api:4.5.2
++--- com.fasterxml.jackson.core:jackson-core:2.9.7
++--- com.fasterxml.jackson.core:jackson-databind:2.9.7
+|    +--- com.fasterxml.jackson.core:jackson-annotations:2.9.0
+|    \--- com.fasterxml.jackson.core:jackson-core:2.9.7
++--- org.springframework.android:spring-android-rest-template:2.0.0.M3
+|    \--- org.springframework.android:spring-android-core:2.0.0.M3
++--- com.github.ybq:Android-SpinKit:1.2.0
++--- org.apache.directory.studio:org.apache.commons.io:2.4
+|    \--- commons-io:commons-io:2.4
+\--- com.rabbitmq:amqp-client:4.6.0
+     \--- org.slf4j:slf4j-api:1.7.25
+
+debugCompileOnly - Compile only dependencies for 'debug' sources. (n)
+No dependencies
+
+debugImplementation - Implementation only dependencies for 'debug' sources. (n)
+No dependencies
+
+debugMetadataElements - Metadata elements for debug (n)
+No dependencies
+
+debugProvided - Provided dependencies for 'debug' sources (deprecated: use 'debugCompileOnly' instead). (n)
+No dependencies
+
+debugRuntimeClasspath - Resolved configuration for runtime for variant: debug
++--- com.android.support:support-v4:28.0.0-rc02
+|    +--- com.android.support:support-compat:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:collections:28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- android.arch.lifecycle:runtime:1.1.1
+|    |    |    +--- android.arch.lifecycle:common:1.1.1
+|    |    |    |    \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    |    +--- android.arch.core:common:1.1.1
+|    |    |    |    \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    \--- com.android.support:versionedparcelable:28.0.0-rc02
+|    |         +--- com.android.support:support-annotations:28.0.0-rc02
+|    |         \--- com.android.support:collections:28.0.0-rc02 (*)
+|    +--- com.android.support:support-media-compat:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    \--- com.android.support:versionedparcelable:28.0.0-rc02 (*)
+|    +--- com.android.support:support-core-utils:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    +--- com.android.support:documentfile:28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:loader:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    +--- android.arch.lifecycle:livedata-core:1.1.1
+|    |    |    |    +--- android.arch.lifecycle:common:1.1.1 (*)
+|    |    |    |    +--- android.arch.core:common:1.1.1 (*)
+|    |    |    |    \--- android.arch.core:runtime:1.1.1
+|    |    |    |         +--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    |    |         \--- android.arch.core:common:1.1.1 (*)
+|    |    |    \--- android.arch.lifecycle:viewmodel:1.1.1
+|    |    |         \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    +--- com.android.support:localbroadcastmanager:28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:28.0.0-rc02
+|    |    \--- com.android.support:print:28.0.0-rc02
+|    |         \--- com.android.support:support-annotations:28.0.0-rc02
+|    +--- com.android.support:support-core-ui:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    +--- com.android.support:support-core-utils:28.0.0-rc02 (*)
+|    |    +--- com.android.support:customview:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    \--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    +--- com.android.support:viewpager:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:customview:28.0.0-rc02 (*)
+|    |    +--- com.android.support:coordinatorlayout:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:customview:28.0.0-rc02 (*)
+|    |    +--- com.android.support:drawerlayout:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:customview:28.0.0-rc02 (*)
+|    |    +--- com.android.support:slidingpanelayout:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:customview:28.0.0-rc02 (*)
+|    |    +--- com.android.support:interpolator:28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:swiperefreshlayout:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:interpolator:28.0.0-rc02 (*)
+|    |    +--- com.android.support:asynclayoutinflater:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    \--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    \--- com.android.support:cursoradapter:28.0.0-rc02
+|    |         \--- com.android.support:support-annotations:28.0.0-rc02
+|    \--- com.android.support:support-fragment:28.0.0-rc02
+|         +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|         +--- com.android.support:support-core-ui:28.0.0-rc02 (*)
+|         +--- com.android.support:support-core-utils:28.0.0-rc02 (*)
+|         +--- com.android.support:support-annotations:28.0.0-rc02
+|         +--- com.android.support:loader:28.0.0-rc02 (*)
+|         \--- android.arch.lifecycle:viewmodel:1.1.1 (*)
++--- com.android.support:support-v13:28.0.0-rc02
+|    \--- com.android.support:support-v4:28.0.0-rc02 (*)
++--- org.androidannotations:androidannotations-api:4.4.0 -> 4.5.2
++--- com.android.support:appcompat-v7:28.0.0-rc02
+|    +--- com.android.support:support-annotations:28.0.0-rc02
+|    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    +--- com.android.support:collections:28.0.0-rc02 (*)
+|    +--- com.android.support:cursoradapter:28.0.0-rc02 (*)
+|    +--- com.android.support:support-core-utils:28.0.0-rc02 (*)
+|    +--- com.android.support:support-fragment:28.0.0-rc02 (*)
+|    +--- com.android.support:support-vector-drawable:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    \--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    \--- com.android.support:animated-vector-drawable:28.0.0-rc02
+|         +--- com.android.support:support-vector-drawable:28.0.0-rc02 (*)
+|         \--- com.android.support:support-core-ui:28.0.0-rc02 (*)
++--- com.android.support:design:28.0.0-rc01
+|    +--- com.android.support:support-annotations:28.0.0-rc01 -> 28.0.0-rc02
+|    +--- com.android.support:support-compat:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-core-ui:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-core-utils:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-fragment:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:transition:28.0.0-rc01
+|    |    +--- com.android.support:support-annotations:28.0.0-rc01 -> 28.0.0-rc02
+|    |    \--- com.android.support:support-compat:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:appcompat-v7:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:cardview-v7:28.0.0-rc01
+|    |    \--- com.android.support:support-annotations:28.0.0-rc01 -> 28.0.0-rc02
+|    \--- com.android.support:recyclerview-v7:28.0.0-rc01
+|         +--- com.android.support:support-annotations:28.0.0-rc01 -> 28.0.0-rc02
+|         +--- com.android.support:support-compat:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|         \--- com.android.support:support-core-ui:28.0.0-rc01 -> 28.0.0-rc02 (*)
++--- com.android.support.constraint:constraint-layout:1.1.2
+|    \--- com.android.support.constraint:constraint-layout-solver:1.1.2
++--- io.reactivex.rxjava2:rxandroid:2.0.2
+|    \--- io.reactivex.rxjava2:rxjava:2.1.9 -> 2.1.17
+|         \--- org.reactivestreams:reactive-streams:1.0.2
++--- io.reactivex.rxjava2:rxjava:2.1.17 (*)
++--- org.apache.httpcomponents:httpclient-android:4.3.5.1
++--- org.xutils:xutils:3.5.0
++--- com.facebook.fresco:fresco:1.1.0
+|    +--- com.facebook.fresco:drawee:1.1.0
+|    |    \--- com.facebook.fresco:fbcore:1.1.0
+|    +--- com.facebook.fresco:fbcore:1.1.0
+|    \--- com.facebook.fresco:imagepipeline:1.1.0
+|         +--- com.parse.bolts:bolts-tasks:1.4.0
+|         +--- com.facebook.fresco:fbcore:1.1.0
+|         \--- com.facebook.fresco:imagepipeline-base:1.1.0
+|              +--- com.parse.bolts:bolts-tasks:1.4.0
+|              \--- com.facebook.fresco:fbcore:1.1.0
++--- com.squareup.retrofit2:retrofit:2.4.0
+|    \--- com.squareup.okhttp3:okhttp:3.10.0
+|         \--- com.squareup.okio:okio:1.14.0
++--- com.squareup.retrofit2:converter-gson:2.4.0
+|    +--- com.squareup.retrofit2:retrofit:2.4.0 (*)
+|    \--- com.google.code.gson:gson:2.8.2
++--- com.squareup.retrofit2:adapter-rxjava:2.4.0
+|    +--- com.squareup.retrofit2:retrofit:2.4.0 (*)
+|    \--- io.reactivex:rxjava:1.3.0
++--- com.beardedhen:androidbootstrap:2.3.2
+|    +--- com.android.support:support-annotations:25.3.1 -> 28.0.0-rc02
+|    \--- com.android.support:support-v4:25.3.1 -> 28.0.0-rc02 (*)
++--- com.nightonke:jellytogglebutton:1.0.2
+|    \--- com.android.support:appcompat-v7:23.3.0 -> 28.0.0-rc02 (*)
++--- com.github.bumptech.glide:glide:4.8.0
+|    +--- com.github.bumptech.glide:gifdecoder:4.8.0
+|    |    \--- com.android.support:support-annotations:27.1.1 -> 28.0.0-rc02
+|    +--- com.github.bumptech.glide:disklrucache:4.8.0
+|    +--- com.github.bumptech.glide:annotations:4.8.0
+|    \--- com.android.support:support-fragment:27.1.1 -> 28.0.0-rc02 (*)
++--- com.kyleduo.switchbutton:library:2.0.0
++--- com.rengwuxian.materialedittext:library:2.1.4
+|    +--- com.android.support:appcompat-v7:22.2.0 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-annotations:22.2.0 -> 28.0.0-rc02
+|    \--- com.nineoldandroids:library:2.4.0
++--- com.github.angads25:toggle:1.0.0
++--- com.wdullaer:materialdatetimepicker:3.6.3
+|    +--- com.android.support:support-v4:27.1.1 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:appcompat-v7:27.1.1 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-v13:27.1.1 -> 28.0.0-rc02 (*)
+|    \--- com.android.support:design:27.1.1 -> 28.0.0-rc01 (*)
++--- com.contrarywind:Android-PickerView:4.1.6
+|    \--- com.contrarywind:wheelview:4.0.8
++--- com.android.support:multidex:1.0.3
++--- org.jsoup:jsoup:1.11.3
++--- de.hdodenhof:circleimageview:2.2.0
++--- com.makeramen:roundedimageview:2.3.0
++--- com.amitshekhar.android:debug-db:1.0.4
+|    +--- com.google.code.gson:gson:2.8.2
+|    +--- net.zetetic:android-database-sqlcipher:3.5.7
+|    \--- android.arch.persistence.room:runtime:1.1.0
+|         +--- android.arch.persistence.room:common:1.1.0
+|         |    \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|         +--- android.arch.persistence:db-framework:1.1.0
+|         |    +--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|         |    \--- android.arch.persistence:db:1.1.0
+|         |         \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|         +--- android.arch.persistence:db:1.1.0 (*)
+|         +--- android.arch.core:runtime:1.1.1 (*)
+|         \--- com.android.support:support-core-utils:26.1.0 -> 28.0.0-rc02 (*)
++--- org.androidannotations:androidannotations-api:4.5.2
++--- org.androidannotations:rest-spring-api:4.5.2
++--- com.fasterxml.jackson.core:jackson-core:2.9.7
++--- com.fasterxml.jackson.core:jackson-databind:2.9.7
+|    +--- com.fasterxml.jackson.core:jackson-annotations:2.9.0
+|    \--- com.fasterxml.jackson.core:jackson-core:2.9.7
++--- org.springframework.android:spring-android-rest-template:2.0.0.M3
+|    \--- org.springframework.android:spring-android-core:2.0.0.M3
++--- com.github.ybq:Android-SpinKit:1.2.0
++--- org.apache.directory.studio:org.apache.commons.io:2.4
+|    \--- commons-io:commons-io:2.4
+\--- com.rabbitmq:amqp-client:4.6.0
+     \--- org.slf4j:slf4j-api:1.7.25
+
+debugRuntimeElements - Runtime elements for debug (n)
+No dependencies
+
+debugRuntimeOnly - Runtime only dependencies for 'debug' sources. (n)
+No dependencies
+
+debugUnitTestAnnotationProcessorClasspath - Resolved configuration for annotation-processor for variant: debugUnitTest
+No dependencies
+
+debugUnitTestCompileClasspath - Resolved configuration for compilation for variant: debugUnitTest
++--- com.android.support:support-v4:28.0.0-rc02
+|    +--- com.android.support:support-compat:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:collections:28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- android.arch.lifecycle:runtime:1.1.1
+|    |    |    +--- android.arch.lifecycle:common:1.1.1
+|    |    |    |    \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    |    +--- android.arch.core:common:1.1.1
+|    |    |    |    \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    \--- com.android.support:versionedparcelable:28.0.0-rc02
+|    |         +--- com.android.support:support-annotations:28.0.0-rc02
+|    |         \--- com.android.support:collections:28.0.0-rc02 (*)
+|    +--- com.android.support:support-media-compat:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    \--- com.android.support:versionedparcelable:28.0.0-rc02 (*)
+|    +--- com.android.support:support-core-utils:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    +--- com.android.support:documentfile:28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:loader:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    +--- android.arch.lifecycle:livedata-core:1.1.1
+|    |    |    |    +--- android.arch.lifecycle:common:1.1.1 (*)
+|    |    |    |    +--- android.arch.core:common:1.1.1 (*)
+|    |    |    |    \--- android.arch.core:runtime:1.1.1
+|    |    |    |         +--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    |    |         \--- android.arch.core:common:1.1.1 (*)
+|    |    |    \--- android.arch.lifecycle:viewmodel:1.1.1
+|    |    |         \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    +--- com.android.support:localbroadcastmanager:28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:28.0.0-rc02
+|    |    \--- com.android.support:print:28.0.0-rc02
+|    |         \--- com.android.support:support-annotations:28.0.0-rc02
+|    +--- com.android.support:support-core-ui:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    +--- com.android.support:support-core-utils:28.0.0-rc02 (*)
+|    |    +--- com.android.support:customview:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    \--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    +--- com.android.support:viewpager:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:customview:28.0.0-rc02 (*)
+|    |    +--- com.android.support:coordinatorlayout:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:customview:28.0.0-rc02 (*)
+|    |    +--- com.android.support:drawerlayout:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:customview:28.0.0-rc02 (*)
+|    |    +--- com.android.support:slidingpanelayout:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:customview:28.0.0-rc02 (*)
+|    |    +--- com.android.support:interpolator:28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:swiperefreshlayout:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:interpolator:28.0.0-rc02 (*)
+|    |    +--- com.android.support:asynclayoutinflater:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    \--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    \--- com.android.support:cursoradapter:28.0.0-rc02
+|    |         \--- com.android.support:support-annotations:28.0.0-rc02
+|    \--- com.android.support:support-fragment:28.0.0-rc02
+|         +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|         +--- com.android.support:support-core-ui:28.0.0-rc02 (*)
+|         +--- com.android.support:support-core-utils:28.0.0-rc02 (*)
+|         +--- com.android.support:support-annotations:28.0.0-rc02
+|         +--- com.android.support:loader:28.0.0-rc02 (*)
+|         \--- android.arch.lifecycle:viewmodel:1.1.1 (*)
++--- com.android.support:support-v13:28.0.0-rc02
+|    \--- com.android.support:support-v4:28.0.0-rc02 (*)
++--- org.androidannotations:androidannotations-api:4.4.0 -> 4.5.2
++--- com.android.support:appcompat-v7:28.0.0-rc02
+|    +--- com.android.support:support-annotations:28.0.0-rc02
+|    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    +--- com.android.support:collections:28.0.0-rc02 (*)
+|    +--- com.android.support:cursoradapter:28.0.0-rc02 (*)
+|    +--- com.android.support:support-core-utils:28.0.0-rc02 (*)
+|    +--- com.android.support:support-fragment:28.0.0-rc02 (*)
+|    +--- com.android.support:support-vector-drawable:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    \--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    \--- com.android.support:animated-vector-drawable:28.0.0-rc02
+|         +--- com.android.support:support-vector-drawable:28.0.0-rc02 (*)
+|         \--- com.android.support:support-core-ui:28.0.0-rc02 (*)
++--- com.android.support:design:28.0.0-rc01
+|    +--- com.android.support:support-annotations:28.0.0-rc01 -> 28.0.0-rc02
+|    +--- com.android.support:support-compat:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-core-ui:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-core-utils:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-fragment:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:transition:28.0.0-rc01
+|    |    +--- com.android.support:support-annotations:28.0.0-rc01 -> 28.0.0-rc02
+|    |    \--- com.android.support:support-compat:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:appcompat-v7:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:cardview-v7:28.0.0-rc01
+|    |    \--- com.android.support:support-annotations:28.0.0-rc01 -> 28.0.0-rc02
+|    \--- com.android.support:recyclerview-v7:28.0.0-rc01
+|         +--- com.android.support:support-annotations:28.0.0-rc01 -> 28.0.0-rc02
+|         +--- com.android.support:support-compat:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|         \--- com.android.support:support-core-ui:28.0.0-rc01 -> 28.0.0-rc02 (*)
++--- com.android.support.constraint:constraint-layout:1.1.2
+|    \--- com.android.support.constraint:constraint-layout-solver:1.1.2
++--- io.reactivex.rxjava2:rxandroid:2.0.2
+|    \--- io.reactivex.rxjava2:rxjava:2.1.9 -> 2.1.17
+|         \--- org.reactivestreams:reactive-streams:1.0.2
++--- io.reactivex.rxjava2:rxjava:2.1.17 (*)
++--- org.apache.httpcomponents:httpclient-android:4.3.5.1
++--- org.xutils:xutils:3.5.0
++--- com.facebook.fresco:fresco:1.1.0
+|    +--- com.facebook.fresco:drawee:1.1.0
+|    |    \--- com.facebook.fresco:fbcore:1.1.0
+|    +--- com.facebook.fresco:fbcore:1.1.0
+|    \--- com.facebook.fresco:imagepipeline:1.1.0
+|         +--- com.parse.bolts:bolts-tasks:1.4.0
+|         +--- com.facebook.fresco:fbcore:1.1.0
+|         \--- com.facebook.fresco:imagepipeline-base:1.1.0
+|              +--- com.parse.bolts:bolts-tasks:1.4.0
+|              \--- com.facebook.fresco:fbcore:1.1.0
++--- com.squareup.retrofit2:retrofit:2.4.0
+|    \--- com.squareup.okhttp3:okhttp:3.10.0
+|         \--- com.squareup.okio:okio:1.14.0
++--- com.squareup.retrofit2:converter-gson:2.4.0
+|    +--- com.squareup.retrofit2:retrofit:2.4.0 (*)
+|    \--- com.google.code.gson:gson:2.8.2
++--- com.squareup.retrofit2:adapter-rxjava:2.4.0
+|    +--- com.squareup.retrofit2:retrofit:2.4.0 (*)
+|    \--- io.reactivex:rxjava:1.3.0
++--- com.beardedhen:androidbootstrap:2.3.2
+|    +--- com.android.support:support-annotations:25.3.1 -> 28.0.0-rc02
+|    \--- com.android.support:support-v4:25.3.1 -> 28.0.0-rc02 (*)
++--- com.nightonke:jellytogglebutton:1.0.2
+|    \--- com.android.support:appcompat-v7:23.3.0 -> 28.0.0-rc02 (*)
++--- com.github.bumptech.glide:glide:4.8.0
+|    +--- com.github.bumptech.glide:gifdecoder:4.8.0
+|    |    \--- com.android.support:support-annotations:27.1.1 -> 28.0.0-rc02
+|    +--- com.github.bumptech.glide:disklrucache:4.8.0
+|    +--- com.github.bumptech.glide:annotations:4.8.0
+|    \--- com.android.support:support-fragment:27.1.1 -> 28.0.0-rc02 (*)
++--- com.kyleduo.switchbutton:library:2.0.0
++--- com.rengwuxian.materialedittext:library:2.1.4
+|    +--- com.android.support:appcompat-v7:22.2.0 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-annotations:22.2.0 -> 28.0.0-rc02
+|    \--- com.nineoldandroids:library:2.4.0
++--- com.github.angads25:toggle:1.0.0
++--- com.wdullaer:materialdatetimepicker:3.6.3
+|    +--- com.android.support:support-v4:27.1.1 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:appcompat-v7:27.1.1 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-v13:27.1.1 -> 28.0.0-rc02 (*)
+|    \--- com.android.support:design:27.1.1 -> 28.0.0-rc01 (*)
++--- com.contrarywind:Android-PickerView:4.1.6
+|    \--- com.contrarywind:wheelview:4.0.8
++--- com.android.support:multidex:1.0.3
++--- org.jsoup:jsoup:1.11.3
++--- de.hdodenhof:circleimageview:2.2.0
++--- com.makeramen:roundedimageview:2.3.0
++--- com.amitshekhar.android:debug-db:1.0.4
+|    +--- com.google.code.gson:gson:2.8.2
+|    +--- net.zetetic:android-database-sqlcipher:3.5.7
+|    \--- android.arch.persistence.room:runtime:1.1.0
+|         +--- android.arch.persistence.room:common:1.1.0
+|         |    \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|         +--- android.arch.persistence:db-framework:1.1.0
+|         |    +--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|         |    \--- android.arch.persistence:db:1.1.0
+|         |         \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|         +--- android.arch.persistence:db:1.1.0 (*)
+|         +--- android.arch.core:runtime:1.1.1 (*)
+|         \--- com.android.support:support-core-utils:26.1.0 -> 28.0.0-rc02 (*)
++--- org.androidannotations:androidannotations-api:4.5.2
++--- org.androidannotations:rest-spring-api:4.5.2
++--- com.fasterxml.jackson.core:jackson-core:2.9.7
++--- com.fasterxml.jackson.core:jackson-databind:2.9.7
+|    +--- com.fasterxml.jackson.core:jackson-annotations:2.9.0
+|    \--- com.fasterxml.jackson.core:jackson-core:2.9.7
++--- org.springframework.android:spring-android-rest-template:2.0.0.M3
+|    \--- org.springframework.android:spring-android-core:2.0.0.M3
++--- com.github.ybq:Android-SpinKit:1.2.0
++--- org.apache.directory.studio:org.apache.commons.io:2.4
+|    \--- commons-io:commons-io:2.4
++--- com.rabbitmq:amqp-client:4.6.0
+|    \--- org.slf4j:slf4j-api:1.7.25
+\--- junit:junit:4.12
+     \--- org.hamcrest:hamcrest-core:1.3
+
+debugUnitTestRuntimeClasspath - Resolved configuration for runtime for variant: debugUnitTest
++--- com.android.support:support-v4:28.0.0-rc02
+|    +--- com.android.support:support-compat:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:collections:28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- android.arch.lifecycle:runtime:1.1.1
+|    |    |    +--- android.arch.lifecycle:common:1.1.1
+|    |    |    |    \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    |    +--- android.arch.core:common:1.1.1
+|    |    |    |    \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    \--- com.android.support:versionedparcelable:28.0.0-rc02
+|    |         +--- com.android.support:support-annotations:28.0.0-rc02
+|    |         \--- com.android.support:collections:28.0.0-rc02 (*)
+|    +--- com.android.support:support-media-compat:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    \--- com.android.support:versionedparcelable:28.0.0-rc02 (*)
+|    +--- com.android.support:support-core-utils:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    +--- com.android.support:documentfile:28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:loader:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    +--- android.arch.lifecycle:livedata-core:1.1.1
+|    |    |    |    +--- android.arch.lifecycle:common:1.1.1 (*)
+|    |    |    |    +--- android.arch.core:common:1.1.1 (*)
+|    |    |    |    \--- android.arch.core:runtime:1.1.1
+|    |    |    |         +--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    |    |         \--- android.arch.core:common:1.1.1 (*)
+|    |    |    \--- android.arch.lifecycle:viewmodel:1.1.1
+|    |    |         \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    +--- com.android.support:localbroadcastmanager:28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:28.0.0-rc02
+|    |    \--- com.android.support:print:28.0.0-rc02
+|    |         \--- com.android.support:support-annotations:28.0.0-rc02
+|    +--- com.android.support:support-core-ui:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    +--- com.android.support:support-core-utils:28.0.0-rc02 (*)
+|    |    +--- com.android.support:customview:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    \--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    +--- com.android.support:viewpager:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:customview:28.0.0-rc02 (*)
+|    |    +--- com.android.support:coordinatorlayout:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:customview:28.0.0-rc02 (*)
+|    |    +--- com.android.support:drawerlayout:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:customview:28.0.0-rc02 (*)
+|    |    +--- com.android.support:slidingpanelayout:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:customview:28.0.0-rc02 (*)
+|    |    +--- com.android.support:interpolator:28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:swiperefreshlayout:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:interpolator:28.0.0-rc02 (*)
+|    |    +--- com.android.support:asynclayoutinflater:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    \--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    \--- com.android.support:cursoradapter:28.0.0-rc02
+|    |         \--- com.android.support:support-annotations:28.0.0-rc02
+|    \--- com.android.support:support-fragment:28.0.0-rc02
+|         +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|         +--- com.android.support:support-core-ui:28.0.0-rc02 (*)
+|         +--- com.android.support:support-core-utils:28.0.0-rc02 (*)
+|         +--- com.android.support:support-annotations:28.0.0-rc02
+|         +--- com.android.support:loader:28.0.0-rc02 (*)
+|         \--- android.arch.lifecycle:viewmodel:1.1.1 (*)
++--- com.android.support:support-v13:28.0.0-rc02
+|    \--- com.android.support:support-v4:28.0.0-rc02 (*)
++--- org.androidannotations:androidannotations-api:4.4.0 -> 4.5.2
++--- com.android.support:appcompat-v7:28.0.0-rc02
+|    +--- com.android.support:support-annotations:28.0.0-rc02
+|    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    +--- com.android.support:collections:28.0.0-rc02 (*)
+|    +--- com.android.support:cursoradapter:28.0.0-rc02 (*)
+|    +--- com.android.support:support-core-utils:28.0.0-rc02 (*)
+|    +--- com.android.support:support-fragment:28.0.0-rc02 (*)
+|    +--- com.android.support:support-vector-drawable:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    \--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    \--- com.android.support:animated-vector-drawable:28.0.0-rc02
+|         +--- com.android.support:support-vector-drawable:28.0.0-rc02 (*)
+|         \--- com.android.support:support-core-ui:28.0.0-rc02 (*)
++--- com.android.support:design:28.0.0-rc01
+|    +--- com.android.support:support-annotations:28.0.0-rc01 -> 28.0.0-rc02
+|    +--- com.android.support:support-compat:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-core-ui:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-core-utils:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-fragment:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:transition:28.0.0-rc01
+|    |    +--- com.android.support:support-annotations:28.0.0-rc01 -> 28.0.0-rc02
+|    |    \--- com.android.support:support-compat:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:appcompat-v7:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:cardview-v7:28.0.0-rc01
+|    |    \--- com.android.support:support-annotations:28.0.0-rc01 -> 28.0.0-rc02
+|    \--- com.android.support:recyclerview-v7:28.0.0-rc01
+|         +--- com.android.support:support-annotations:28.0.0-rc01 -> 28.0.0-rc02
+|         +--- com.android.support:support-compat:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|         \--- com.android.support:support-core-ui:28.0.0-rc01 -> 28.0.0-rc02 (*)
++--- com.android.support.constraint:constraint-layout:1.1.2
+|    \--- com.android.support.constraint:constraint-layout-solver:1.1.2
++--- io.reactivex.rxjava2:rxandroid:2.0.2
+|    \--- io.reactivex.rxjava2:rxjava:2.1.9 -> 2.1.17
+|         \--- org.reactivestreams:reactive-streams:1.0.2
++--- io.reactivex.rxjava2:rxjava:2.1.17 (*)
++--- org.apache.httpcomponents:httpclient-android:4.3.5.1
++--- org.xutils:xutils:3.5.0
++--- com.facebook.fresco:fresco:1.1.0
+|    +--- com.facebook.fresco:drawee:1.1.0
+|    |    \--- com.facebook.fresco:fbcore:1.1.0
+|    +--- com.facebook.fresco:fbcore:1.1.0
+|    \--- com.facebook.fresco:imagepipeline:1.1.0
+|         +--- com.parse.bolts:bolts-tasks:1.4.0
+|         +--- com.facebook.fresco:fbcore:1.1.0
+|         \--- com.facebook.fresco:imagepipeline-base:1.1.0
+|              +--- com.parse.bolts:bolts-tasks:1.4.0
+|              \--- com.facebook.fresco:fbcore:1.1.0
++--- com.squareup.retrofit2:retrofit:2.4.0
+|    \--- com.squareup.okhttp3:okhttp:3.10.0
+|         \--- com.squareup.okio:okio:1.14.0
++--- com.squareup.retrofit2:converter-gson:2.4.0
+|    +--- com.squareup.retrofit2:retrofit:2.4.0 (*)
+|    \--- com.google.code.gson:gson:2.8.2
++--- com.squareup.retrofit2:adapter-rxjava:2.4.0
+|    +--- com.squareup.retrofit2:retrofit:2.4.0 (*)
+|    \--- io.reactivex:rxjava:1.3.0
++--- com.beardedhen:androidbootstrap:2.3.2
+|    +--- com.android.support:support-annotations:25.3.1 -> 28.0.0-rc02
+|    \--- com.android.support:support-v4:25.3.1 -> 28.0.0-rc02 (*)
++--- com.nightonke:jellytogglebutton:1.0.2
+|    \--- com.android.support:appcompat-v7:23.3.0 -> 28.0.0-rc02 (*)
++--- com.github.bumptech.glide:glide:4.8.0
+|    +--- com.github.bumptech.glide:gifdecoder:4.8.0
+|    |    \--- com.android.support:support-annotations:27.1.1 -> 28.0.0-rc02
+|    +--- com.github.bumptech.glide:disklrucache:4.8.0
+|    +--- com.github.bumptech.glide:annotations:4.8.0
+|    \--- com.android.support:support-fragment:27.1.1 -> 28.0.0-rc02 (*)
++--- com.kyleduo.switchbutton:library:2.0.0
++--- com.rengwuxian.materialedittext:library:2.1.4
+|    +--- com.android.support:appcompat-v7:22.2.0 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-annotations:22.2.0 -> 28.0.0-rc02
+|    \--- com.nineoldandroids:library:2.4.0
++--- com.github.angads25:toggle:1.0.0
++--- com.wdullaer:materialdatetimepicker:3.6.3
+|    +--- com.android.support:support-v4:27.1.1 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:appcompat-v7:27.1.1 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-v13:27.1.1 -> 28.0.0-rc02 (*)
+|    \--- com.android.support:design:27.1.1 -> 28.0.0-rc01 (*)
++--- com.contrarywind:Android-PickerView:4.1.6
+|    \--- com.contrarywind:wheelview:4.0.8
++--- com.android.support:multidex:1.0.3
++--- org.jsoup:jsoup:1.11.3
++--- de.hdodenhof:circleimageview:2.2.0
++--- com.makeramen:roundedimageview:2.3.0
++--- com.amitshekhar.android:debug-db:1.0.4
+|    +--- com.google.code.gson:gson:2.8.2
+|    +--- net.zetetic:android-database-sqlcipher:3.5.7
+|    \--- android.arch.persistence.room:runtime:1.1.0
+|         +--- android.arch.persistence.room:common:1.1.0
+|         |    \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|         +--- android.arch.persistence:db-framework:1.1.0
+|         |    +--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|         |    \--- android.arch.persistence:db:1.1.0
+|         |         \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|         +--- android.arch.persistence:db:1.1.0 (*)
+|         +--- android.arch.core:runtime:1.1.1 (*)
+|         \--- com.android.support:support-core-utils:26.1.0 -> 28.0.0-rc02 (*)
++--- org.androidannotations:androidannotations-api:4.5.2
++--- org.androidannotations:rest-spring-api:4.5.2
++--- com.fasterxml.jackson.core:jackson-core:2.9.7
++--- com.fasterxml.jackson.core:jackson-databind:2.9.7
+|    +--- com.fasterxml.jackson.core:jackson-annotations:2.9.0
+|    \--- com.fasterxml.jackson.core:jackson-core:2.9.7
++--- org.springframework.android:spring-android-rest-template:2.0.0.M3
+|    \--- org.springframework.android:spring-android-core:2.0.0.M3
++--- com.github.ybq:Android-SpinKit:1.2.0
++--- org.apache.directory.studio:org.apache.commons.io:2.4
+|    \--- commons-io:commons-io:2.4
++--- com.rabbitmq:amqp-client:4.6.0
+|    \--- org.slf4j:slf4j-api:1.7.25
+\--- junit:junit:4.12
+     \--- org.hamcrest:hamcrest-core:1.3
+
+debugWearApp - Link to a wear app to embed for object 'debug'. (n)
+No dependencies
+
+debugWearBundling - Resolved Configuration for wear app bundling for variant: debug
+No dependencies
+
+default - Configuration for default artifacts.
+No dependencies
+
+implementation - Implementation only dependencies for 'main' sources. (n)
++--- com.android.support:support-v4:28.0.0-rc02 (n)
++--- com.android.support:support-v13:28.0.0-rc02 (n)
++--- org.androidannotations:androidannotations-api:4.4.0 (n)
++--- unspecified (n)
++--- com.android.support:appcompat-v7:28.0.0-rc02 (n)
++--- com.android.support:design:28.0.0-rc01 (n)
++--- com.android.support.constraint:constraint-layout:1.1.2 (n)
++--- io.reactivex.rxjava2:rxandroid:2.0.2 (n)
++--- io.reactivex.rxjava2:rxjava:2.1.17 (n)
++--- org.apache.httpcomponents:httpclient-android:4.3.5.1 (n)
++--- org.xutils:xutils:3.5.0 (n)
++--- com.facebook.fresco:fresco:1.1.0 (n)
++--- com.squareup.retrofit2:retrofit:2.4.0 (n)
++--- com.squareup.retrofit2:converter-gson:2.4.0 (n)
++--- com.squareup.retrofit2:adapter-rxjava:2.4.0 (n)
++--- com.beardedhen:androidbootstrap:2.3.2 (n)
++--- com.nightonke:jellytogglebutton:1.0.2 (n)
++--- com.github.bumptech.glide:glide:4.8.0 (n)
++--- com.kyleduo.switchbutton:library:2.0.0 (n)
++--- com.rengwuxian.materialedittext:library:2.1.4 (n)
++--- com.github.angads25:toggle:1.0.0 (n)
++--- com.wdullaer:materialdatetimepicker:3.6.3 (n)
++--- com.contrarywind:Android-PickerView:4.1.6 (n)
++--- com.android.support:multidex:1.0.3 (n)
++--- org.jsoup:jsoup:1.11.3 (n)
++--- de.hdodenhof:circleimageview:2.2.0 (n)
++--- com.makeramen:roundedimageview:2.3.0 (n)
++--- com.amitshekhar.android:debug-db:1.0.4 (n)
++--- org.androidannotations:androidannotations-api:4.5.2 (n)
++--- org.androidannotations:rest-spring-api:4.5.2 (n)
++--- com.fasterxml.jackson.core:jackson-core:2.9.7 (n)
++--- com.fasterxml.jackson.core:jackson-databind:2.9.7 (n)
++--- org.springframework.android:spring-android-rest-template:2.0.0.M3 (n)
++--- com.github.ybq:Android-SpinKit:1.2.0 (n)
++--- org.apache.directory.studio:org.apache.commons.io:2.4 (n)
+\--- com.rabbitmq:amqp-client:4.6.0 (n)
+
+lintChecks - Configuration to apply external lint check jar
+No dependencies
+
+lintClassPath - The lint embedded classpath
+\--- com.android.tools.lint:lint-gradle:26.1.2
+     +--- com.android.tools:sdk-common:26.1.2
+     |    +--- com.android.tools:sdklib:26.1.2
+     |    |    +--- com.android.tools.layoutlib:layoutlib-api:26.1.2
+     |    |    |    +--- com.android.tools:common:26.1.2
+     |    |    |    |    +--- com.android.tools:annotations:26.1.2
+     |    |    |    |    \--- com.google.guava:guava:22.0
+     |    |    |    |         +--- com.google.code.findbugs:jsr305:1.3.9
+     |    |    |    |         +--- com.google.errorprone:error_prone_annotations:2.0.18
+     |    |    |    |         +--- com.google.j2objc:j2objc-annotations:1.1
+     |    |    |    |         \--- org.codehaus.mojo:animal-sniffer-annotations:1.14
+     |    |    |    +--- net.sf.kxml:kxml2:2.3.0
+     |    |    |    +--- com.android.tools:annotations:26.1.2
+     |    |    |    \--- org.jetbrains:annotations:13.0
+     |    |    +--- com.android.tools:dvlib:26.1.2
+     |    |    |    \--- com.android.tools:common:26.1.2 (*)
+     |    |    +--- com.android.tools:repository:26.1.2
+     |    |    |    +--- com.android.tools:common:26.1.2 (*)
+     |    |    |    +--- com.sun.activation:javax.activation:1.2.0
+     |    |    |    +--- org.apache.commons:commons-compress:1.12
+     |    |    |    +--- org.glassfish.jaxb:jaxb-runtime:2.2.11
+     |    |    |    |    +--- org.glassfish.jaxb:jaxb-core:2.2.11
+     |    |    |    |    |    +--- javax.xml.bind:jaxb-api:2.2.12-b140109.1041
+     |    |    |    |    |    +--- org.glassfish.jaxb:txw2:2.2.11
+     |    |    |    |    |    \--- com.sun.istack:istack-commons-runtime:2.21
+     |    |    |    |    +--- org.jvnet.staxex:stax-ex:1.7.7
+     |    |    |    |    \--- com.sun.xml.fastinfoset:FastInfoset:1.2.13
+     |    |    |    +--- com.google.jimfs:jimfs:1.1
+     |    |    |    |    \--- com.google.guava:guava:18.0 -> 22.0 (*)
+     |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jre8:1.2.0
+     |    |    |         +--- org.jetbrains.kotlin:kotlin-stdlib:1.2.0
+     |    |    |         |    \--- org.jetbrains:annotations:13.0
+     |    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib-jre7:1.2.0
+     |    |    |              \--- org.jetbrains.kotlin:kotlin-stdlib:1.2.0 (*)
+     |    |    +--- com.google.code.gson:gson:2.7
+     |    |    +--- org.apache.commons:commons-compress:1.12
+     |    |    +--- org.apache.httpcomponents:httpclient:4.2.6
+     |    |    |    +--- org.apache.httpcomponents:httpcore:4.2.5
+     |    |    |    +--- commons-logging:commons-logging:1.1.1
+     |    |    |    \--- commons-codec:commons-codec:1.6
+     |    |    \--- org.apache.httpcomponents:httpmime:4.1
+     |    |         +--- org.apache.httpcomponents:httpcore:4.1 -> 4.2.5
+     |    |         \--- commons-logging:commons-logging:1.1.1
+     |    +--- com.android.tools.build:builder-test-api:3.1.2
+     |    |    \--- com.android.tools.ddms:ddmlib:26.1.2
+     |    |         +--- com.android.tools:common:26.1.2 (*)
+     |    |         \--- net.sf.kxml:kxml2:2.3.0
+     |    +--- com.android.tools.build:builder-model:3.1.2
+     |    |    \--- com.android.tools:annotations:26.1.2
+     |    +--- com.android.tools.ddms:ddmlib:26.1.2 (*)
+     |    +--- org.bouncycastle:bcpkix-jdk15on:1.56
+     |    |    \--- org.bouncycastle:bcprov-jdk15on:1.56
+     |    +--- org.bouncycastle:bcprov-jdk15on:1.56
+     |    +--- org.jetbrains.kotlin:kotlin-stdlib-jre8:1.2.0 (*)
+     |    +--- org.jetbrains.kotlin:kotlin-reflect:1.2.0
+     |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.2.0 (*)
+     |    \--- com.google.protobuf:protobuf-java:3.4.0
+     +--- com.android.tools.build:builder:3.1.2
+     |    +--- com.android.tools.build:builder-model:3.1.2 (*)
+     |    +--- com.android.tools.build:builder-test-api:3.1.2 (*)
+     |    +--- com.android.tools:sdklib:26.1.2 (*)
+     |    +--- com.android.tools:sdk-common:26.1.2 (*)
+     |    +--- com.android.tools:common:26.1.2 (*)
+     |    +--- com.android.tools.build:manifest-merger:26.1.2
+     |    |    +--- com.android.tools:common:26.1.2 (*)
+     |    |    +--- com.android.tools:sdklib:26.1.2 (*)
+     |    |    +--- com.android.tools:sdk-common:26.1.2 (*)
+     |    |    +--- com.google.code.gson:gson:2.7
+     |    |    +--- org.jetbrains.kotlin:kotlin-stdlib-jre8:1.2.0 (*)
+     |    |    \--- net.sf.kxml:kxml2:2.3.0
+     |    +--- com.android.tools.ddms:ddmlib:26.1.2 (*)
+     |    +--- com.android.tools.analytics-library:protos:26.1.2
+     |    |    \--- com.google.protobuf:protobuf-java:3.4.0
+     |    +--- com.android.tools.analytics-library:shared:26.1.2
+     |    |    +--- com.android.tools.analytics-library:protos:26.1.2 (*)
+     |    |    +--- com.android.tools:annotations:26.1.2
+     |    |    +--- com.android.tools:common:26.1.2 (*)
+     |    |    +--- com.google.guava:guava:22.0 (*)
+     |    |    \--- com.google.code.gson:gson:2.7
+     |    +--- com.android.tools.analytics-library:tracker:26.1.2
+     |    |    +--- com.android.tools:annotations:26.1.2
+     |    |    +--- com.android.tools:common:26.1.2 (*)
+     |    |    +--- com.android.tools.analytics-library:protos:26.1.2 (*)
+     |    |    +--- com.android.tools.analytics-library:shared:26.1.2 (*)
+     |    |    +--- com.google.protobuf:protobuf-java:3.4.0
+     |    |    \--- com.google.guava:guava:22.0 (*)
+     |    +--- com.android.tools.build:apksig:3.1.2
+     |    +--- org.jetbrains.kotlin:kotlin-stdlib-jre8:1.2.0 (*)
+     |    +--- com.squareup:javawriter:2.5.0
+     |    +--- org.bouncycastle:bcpkix-jdk15on:1.56 (*)
+     |    +--- org.bouncycastle:bcprov-jdk15on:1.56
+     |    +--- org.ow2.asm:asm:5.1
+     |    +--- org.ow2.asm:asm-tree:5.1
+     |    |    \--- org.ow2.asm:asm:5.1
+     |    +--- org.ow2.asm:asm-commons:5.1
+     |    |    \--- org.ow2.asm:asm-tree:5.1 (*)
+     |    +--- org.ow2.asm:asm-util:5.1
+     |    |    \--- org.ow2.asm:asm-tree:5.1 (*)
+     |    +--- it.unimi.dsi:fastutil:7.2.0
+     |    +--- net.sf.jopt-simple:jopt-simple:4.9
+     |    \--- com.googlecode.json-simple:json-simple:1.1
+     +--- com.android.tools.build:builder-model:3.1.2 (*)
+     +--- com.android.tools.external.com-intellij:intellij-core:26.1.2
+     |    \--- org.jetbrains.trove4j:trove4j:20160824
+     +--- com.android.tools.external.org-jetbrains:uast:26.1.2
+     +--- com.android.tools.build:manifest-merger:26.1.2 (*)
+     +--- com.android.tools.lint:lint:26.1.2
+     |    +--- com.android.tools.lint:lint-checks:26.1.2
+     |    |    +--- com.android.tools.lint:lint-api:26.1.2
+     |    |    |    +--- com.android.tools:sdk-common:26.1.2 (*)
+     |    |    |    +--- com.android.tools.build:builder-model:3.1.2 (*)
+     |    |    |    +--- com.google.guava:guava:22.0 (*)
+     |    |    |    +--- com.android.tools.lint:lint-kotlin:26.1.2
+     |    |    |    |    +--- com.android.tools.external.com-intellij:intellij-core:26.1.2 (*)
+     |    |    |    |    +--- com.android.tools.external.com-intellij:kotlin-compiler:26.1.2
+     |    |    |    |    +--- com.android.tools.external.org-jetbrains:uast:26.1.2
+     |    |    |    |    +--- org.jetbrains.kotlin:kotlin-reflect:1.2.0 (*)
+     |    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jre8:1.2.0 (*)
+     |    |    |    +--- com.android.tools.external.com-intellij:intellij-core:26.1.2 (*)
+     |    |    |    +--- com.android.tools.external.org-jetbrains:uast:26.1.2
+     |    |    |    +--- com.android.tools.build:manifest-merger:26.1.2 (*)
+     |    |    |    +--- org.ow2.asm:asm:5.1
+     |    |    |    +--- org.ow2.asm:asm-tree:5.1 (*)
+     |    |    |    +--- org.jetbrains.kotlin:kotlin-reflect:1.2.0 (*)
+     |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jre8:1.2.0 (*)
+     |    |    +--- com.google.guava:guava:22.0 (*)
+     |    |    +--- com.android.tools.external.com-intellij:intellij-core:26.1.2 (*)
+     |    |    +--- com.android.tools.external.org-jetbrains:uast:26.1.2
+     |    |    \--- org.ow2.asm:asm-analysis:5.1
+     |    |         \--- org.ow2.asm:asm-tree:5.1 (*)
+     |    +--- com.android.tools.lint:lint-kotlin:26.1.2 (*)
+     |    +--- com.google.guava:guava:22.0 (*)
+     |    +--- com.android.tools.external.org-jetbrains:uast:26.1.2
+     |    +--- com.android.tools.external.com-intellij:kotlin-compiler:26.1.2
+     |    +--- com.android.tools.build:manifest-merger:26.1.2 (*)
+     |    +--- org.jetbrains.kotlin:kotlin-reflect:1.2.0 (*)
+     |    \--- org.jetbrains.kotlin:kotlin-stdlib-jre8:1.2.0 (*)
+     +--- com.android.tools.lint:lint-gradle-api:26.1.2
+     |    +--- com.android.tools:sdklib:26.1.2 (*)
+     |    +--- com.android.tools.build:builder-model:3.1.2 (*)
+     |    +--- com.android.tools.build:gradle-api:3.1.2
+     |    |    +--- com.android.tools.build:builder-model:3.1.2 (*)
+     |    |    +--- com.android.tools.build:builder-test-api:3.1.2 (*)
+     |    |    +--- com.google.guava:guava:22.0 (*)
+     |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jre8:1.2.0 (*)
+     |    +--- org.jetbrains.kotlin:kotlin-reflect:1.2.0 (*)
+     |    +--- org.jetbrains.kotlin:kotlin-stdlib-jre8:1.2.0 (*)
+     |    \--- com.google.guava:guava:22.0 (*)
+     +--- org.codehaus.groovy:groovy-all:2.4.12
+     +--- org.jetbrains.kotlin:kotlin-reflect:1.2.0 (*)
+     \--- org.jetbrains.kotlin:kotlin-stdlib-jre8:1.2.0 (*)
+
+provided - Provided dependencies for 'main' sources (deprecated: use 'compileOnly' instead). (n)
+No dependencies
+
+releaseAnnotationProcessor - Classpath for the annotation processor for 'release'. (n)
+No dependencies
+
+releaseAnnotationProcessorClasspath - Resolved configuration for annotation-processor for variant: release
++--- org.androidannotations:androidannotations:4.4.0 -> 4.5.2
+|    +--- org.androidannotations:androidannotations-api:4.5.2
+|    \--- com.helger:jcodemodel:3.0.1
+|         \--- com.google.code.findbugs:annotations:3.0.1u2
+|              +--- net.jcip:jcip-annotations:1.0
+|              \--- com.google.code.findbugs:jsr305:3.0.1
++--- com.github.bumptech.glide:compiler:4.8.0
+|    \--- com.github.bumptech.glide:annotations:4.8.0
++--- org.androidannotations:androidannotations:4.5.2 (*)
+\--- org.androidannotations:rest-spring:4.5.2
+     +--- org.androidannotations:androidannotations:4.5.2 (*)
+     +--- org.androidannotations:rest-spring-api:4.5.2
+     \--- com.helger:jcodemodel:3.0.1 (*)
+
+releaseApi - API dependencies for 'release' sources. (n)
+No dependencies
+
+releaseApiElements - API elements for release (n)
+No dependencies
+
+releaseApk - Apk dependencies for 'release' sources (deprecated: use 'releaseRuntimeOnly' instead). (n)
+No dependencies
+
+releaseBundleElements - Bundle elements for release (n)
+No dependencies
+
+releaseCompile - Compile dependencies for 'release' sources (deprecated: use 'releaseImplementation' instead). (n)
+No dependencies
+
+releaseCompileClasspath - Resolved configuration for compilation for variant: release
++--- com.android.support:support-v4:28.0.0-rc02
+|    +--- com.android.support:support-compat:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:collections:28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- android.arch.lifecycle:runtime:1.1.1
+|    |    |    +--- android.arch.lifecycle:common:1.1.1
+|    |    |    |    \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    |    +--- android.arch.core:common:1.1.1
+|    |    |    |    \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    \--- com.android.support:versionedparcelable:28.0.0-rc02
+|    |         +--- com.android.support:support-annotations:28.0.0-rc02
+|    |         \--- com.android.support:collections:28.0.0-rc02 (*)
+|    +--- com.android.support:support-media-compat:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    \--- com.android.support:versionedparcelable:28.0.0-rc02 (*)
+|    +--- com.android.support:support-core-utils:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    +--- com.android.support:documentfile:28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:loader:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    +--- android.arch.lifecycle:livedata-core:1.1.1
+|    |    |    |    +--- android.arch.lifecycle:common:1.1.1 (*)
+|    |    |    |    +--- android.arch.core:common:1.1.1 (*)
+|    |    |    |    \--- android.arch.core:runtime:1.1.1
+|    |    |    |         +--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    |    |         \--- android.arch.core:common:1.1.1 (*)
+|    |    |    \--- android.arch.lifecycle:viewmodel:1.1.1
+|    |    |         \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    +--- com.android.support:localbroadcastmanager:28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:28.0.0-rc02
+|    |    \--- com.android.support:print:28.0.0-rc02
+|    |         \--- com.android.support:support-annotations:28.0.0-rc02
+|    +--- com.android.support:support-core-ui:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    +--- com.android.support:support-core-utils:28.0.0-rc02 (*)
+|    |    +--- com.android.support:customview:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    \--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    +--- com.android.support:viewpager:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:customview:28.0.0-rc02 (*)
+|    |    +--- com.android.support:coordinatorlayout:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:customview:28.0.0-rc02 (*)
+|    |    +--- com.android.support:drawerlayout:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:customview:28.0.0-rc02 (*)
+|    |    +--- com.android.support:slidingpanelayout:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:customview:28.0.0-rc02 (*)
+|    |    +--- com.android.support:interpolator:28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:swiperefreshlayout:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:interpolator:28.0.0-rc02 (*)
+|    |    +--- com.android.support:asynclayoutinflater:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    \--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    \--- com.android.support:cursoradapter:28.0.0-rc02
+|    |         \--- com.android.support:support-annotations:28.0.0-rc02
+|    \--- com.android.support:support-fragment:28.0.0-rc02
+|         +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|         +--- com.android.support:support-core-ui:28.0.0-rc02 (*)
+|         +--- com.android.support:support-core-utils:28.0.0-rc02 (*)
+|         +--- com.android.support:support-annotations:28.0.0-rc02
+|         +--- com.android.support:loader:28.0.0-rc02 (*)
+|         \--- android.arch.lifecycle:viewmodel:1.1.1 (*)
++--- com.android.support:support-v13:28.0.0-rc02
+|    \--- com.android.support:support-v4:28.0.0-rc02 (*)
++--- org.androidannotations:androidannotations-api:4.4.0 -> 4.5.2
++--- com.android.support:appcompat-v7:28.0.0-rc02
+|    +--- com.android.support:support-annotations:28.0.0-rc02
+|    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    +--- com.android.support:collections:28.0.0-rc02 (*)
+|    +--- com.android.support:cursoradapter:28.0.0-rc02 (*)
+|    +--- com.android.support:support-core-utils:28.0.0-rc02 (*)
+|    +--- com.android.support:support-fragment:28.0.0-rc02 (*)
+|    +--- com.android.support:support-vector-drawable:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    \--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    \--- com.android.support:animated-vector-drawable:28.0.0-rc02
+|         +--- com.android.support:support-vector-drawable:28.0.0-rc02 (*)
+|         \--- com.android.support:support-core-ui:28.0.0-rc02 (*)
++--- com.android.support:design:28.0.0-rc01
+|    +--- com.android.support:support-annotations:28.0.0-rc01 -> 28.0.0-rc02
+|    +--- com.android.support:support-compat:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-core-ui:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-core-utils:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-fragment:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:transition:28.0.0-rc01
+|    |    +--- com.android.support:support-annotations:28.0.0-rc01 -> 28.0.0-rc02
+|    |    \--- com.android.support:support-compat:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:appcompat-v7:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:cardview-v7:28.0.0-rc01
+|    |    \--- com.android.support:support-annotations:28.0.0-rc01 -> 28.0.0-rc02
+|    \--- com.android.support:recyclerview-v7:28.0.0-rc01
+|         +--- com.android.support:support-annotations:28.0.0-rc01 -> 28.0.0-rc02
+|         +--- com.android.support:support-compat:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|         \--- com.android.support:support-core-ui:28.0.0-rc01 -> 28.0.0-rc02 (*)
++--- com.android.support.constraint:constraint-layout:1.1.2
+|    \--- com.android.support.constraint:constraint-layout-solver:1.1.2
++--- io.reactivex.rxjava2:rxandroid:2.0.2
+|    \--- io.reactivex.rxjava2:rxjava:2.1.9 -> 2.1.17
+|         \--- org.reactivestreams:reactive-streams:1.0.2
++--- io.reactivex.rxjava2:rxjava:2.1.17 (*)
++--- org.apache.httpcomponents:httpclient-android:4.3.5.1
++--- org.xutils:xutils:3.5.0
++--- com.facebook.fresco:fresco:1.1.0
+|    +--- com.facebook.fresco:drawee:1.1.0
+|    |    \--- com.facebook.fresco:fbcore:1.1.0
+|    +--- com.facebook.fresco:fbcore:1.1.0
+|    \--- com.facebook.fresco:imagepipeline:1.1.0
+|         +--- com.parse.bolts:bolts-tasks:1.4.0
+|         +--- com.facebook.fresco:fbcore:1.1.0
+|         \--- com.facebook.fresco:imagepipeline-base:1.1.0
+|              +--- com.parse.bolts:bolts-tasks:1.4.0
+|              \--- com.facebook.fresco:fbcore:1.1.0
++--- com.squareup.retrofit2:retrofit:2.4.0
+|    \--- com.squareup.okhttp3:okhttp:3.10.0
+|         \--- com.squareup.okio:okio:1.14.0
++--- com.squareup.retrofit2:converter-gson:2.4.0
+|    +--- com.squareup.retrofit2:retrofit:2.4.0 (*)
+|    \--- com.google.code.gson:gson:2.8.2
++--- com.squareup.retrofit2:adapter-rxjava:2.4.0
+|    +--- com.squareup.retrofit2:retrofit:2.4.0 (*)
+|    \--- io.reactivex:rxjava:1.3.0
++--- com.beardedhen:androidbootstrap:2.3.2
+|    +--- com.android.support:support-annotations:25.3.1 -> 28.0.0-rc02
+|    \--- com.android.support:support-v4:25.3.1 -> 28.0.0-rc02 (*)
++--- com.nightonke:jellytogglebutton:1.0.2
+|    \--- com.android.support:appcompat-v7:23.3.0 -> 28.0.0-rc02 (*)
++--- com.github.bumptech.glide:glide:4.8.0
+|    +--- com.github.bumptech.glide:gifdecoder:4.8.0
+|    |    \--- com.android.support:support-annotations:27.1.1 -> 28.0.0-rc02
+|    +--- com.github.bumptech.glide:disklrucache:4.8.0
+|    +--- com.github.bumptech.glide:annotations:4.8.0
+|    \--- com.android.support:support-fragment:27.1.1 -> 28.0.0-rc02 (*)
++--- com.kyleduo.switchbutton:library:2.0.0
++--- com.rengwuxian.materialedittext:library:2.1.4
+|    +--- com.android.support:appcompat-v7:22.2.0 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-annotations:22.2.0 -> 28.0.0-rc02
+|    \--- com.nineoldandroids:library:2.4.0
++--- com.github.angads25:toggle:1.0.0
++--- com.wdullaer:materialdatetimepicker:3.6.3
+|    +--- com.android.support:support-v4:27.1.1 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:appcompat-v7:27.1.1 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-v13:27.1.1 -> 28.0.0-rc02 (*)
+|    \--- com.android.support:design:27.1.1 -> 28.0.0-rc01 (*)
++--- com.contrarywind:Android-PickerView:4.1.6
+|    \--- com.contrarywind:wheelview:4.0.8
++--- com.android.support:multidex:1.0.3
++--- org.jsoup:jsoup:1.11.3
++--- de.hdodenhof:circleimageview:2.2.0
++--- com.makeramen:roundedimageview:2.3.0
++--- com.amitshekhar.android:debug-db:1.0.4
+|    +--- com.google.code.gson:gson:2.8.2
+|    +--- net.zetetic:android-database-sqlcipher:3.5.7
+|    \--- android.arch.persistence.room:runtime:1.1.0
+|         +--- android.arch.persistence.room:common:1.1.0
+|         |    \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|         +--- android.arch.persistence:db-framework:1.1.0
+|         |    +--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|         |    \--- android.arch.persistence:db:1.1.0
+|         |         \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|         +--- android.arch.persistence:db:1.1.0 (*)
+|         +--- android.arch.core:runtime:1.1.1 (*)
+|         \--- com.android.support:support-core-utils:26.1.0 -> 28.0.0-rc02 (*)
++--- org.androidannotations:androidannotations-api:4.5.2
++--- org.androidannotations:rest-spring-api:4.5.2
++--- com.fasterxml.jackson.core:jackson-core:2.9.7
++--- com.fasterxml.jackson.core:jackson-databind:2.9.7
+|    +--- com.fasterxml.jackson.core:jackson-annotations:2.9.0
+|    \--- com.fasterxml.jackson.core:jackson-core:2.9.7
++--- org.springframework.android:spring-android-rest-template:2.0.0.M3
+|    \--- org.springframework.android:spring-android-core:2.0.0.M3
++--- com.github.ybq:Android-SpinKit:1.2.0
++--- org.apache.directory.studio:org.apache.commons.io:2.4
+|    \--- commons-io:commons-io:2.4
+\--- com.rabbitmq:amqp-client:4.6.0
+     \--- org.slf4j:slf4j-api:1.7.25
+
+releaseCompileOnly - Compile only dependencies for 'release' sources. (n)
+No dependencies
+
+releaseImplementation - Implementation only dependencies for 'release' sources. (n)
+No dependencies
+
+releaseMetadataElements - Metadata elements for release (n)
+No dependencies
+
+releaseProvided - Provided dependencies for 'release' sources (deprecated: use 'releaseCompileOnly' instead). (n)
+No dependencies
+
+releaseRuntimeClasspath - Resolved configuration for runtime for variant: release
++--- com.android.support:support-v4:28.0.0-rc02
+|    +--- com.android.support:support-compat:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:collections:28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- android.arch.lifecycle:runtime:1.1.1
+|    |    |    +--- android.arch.lifecycle:common:1.1.1
+|    |    |    |    \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    |    +--- android.arch.core:common:1.1.1
+|    |    |    |    \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    \--- com.android.support:versionedparcelable:28.0.0-rc02
+|    |         +--- com.android.support:support-annotations:28.0.0-rc02
+|    |         \--- com.android.support:collections:28.0.0-rc02 (*)
+|    +--- com.android.support:support-media-compat:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    \--- com.android.support:versionedparcelable:28.0.0-rc02 (*)
+|    +--- com.android.support:support-core-utils:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    +--- com.android.support:documentfile:28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:loader:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    +--- android.arch.lifecycle:livedata-core:1.1.1
+|    |    |    |    +--- android.arch.lifecycle:common:1.1.1 (*)
+|    |    |    |    +--- android.arch.core:common:1.1.1 (*)
+|    |    |    |    \--- android.arch.core:runtime:1.1.1
+|    |    |    |         +--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    |    |         \--- android.arch.core:common:1.1.1 (*)
+|    |    |    \--- android.arch.lifecycle:viewmodel:1.1.1
+|    |    |         \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    +--- com.android.support:localbroadcastmanager:28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:28.0.0-rc02
+|    |    \--- com.android.support:print:28.0.0-rc02
+|    |         \--- com.android.support:support-annotations:28.0.0-rc02
+|    +--- com.android.support:support-core-ui:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    +--- com.android.support:support-core-utils:28.0.0-rc02 (*)
+|    |    +--- com.android.support:customview:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    \--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    +--- com.android.support:viewpager:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:customview:28.0.0-rc02 (*)
+|    |    +--- com.android.support:coordinatorlayout:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:customview:28.0.0-rc02 (*)
+|    |    +--- com.android.support:drawerlayout:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:customview:28.0.0-rc02 (*)
+|    |    +--- com.android.support:slidingpanelayout:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:customview:28.0.0-rc02 (*)
+|    |    +--- com.android.support:interpolator:28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:swiperefreshlayout:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:interpolator:28.0.0-rc02 (*)
+|    |    +--- com.android.support:asynclayoutinflater:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    \--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    \--- com.android.support:cursoradapter:28.0.0-rc02
+|    |         \--- com.android.support:support-annotations:28.0.0-rc02
+|    \--- com.android.support:support-fragment:28.0.0-rc02
+|         +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|         +--- com.android.support:support-core-ui:28.0.0-rc02 (*)
+|         +--- com.android.support:support-core-utils:28.0.0-rc02 (*)
+|         +--- com.android.support:support-annotations:28.0.0-rc02
+|         +--- com.android.support:loader:28.0.0-rc02 (*)
+|         \--- android.arch.lifecycle:viewmodel:1.1.1 (*)
++--- com.android.support:support-v13:28.0.0-rc02
+|    \--- com.android.support:support-v4:28.0.0-rc02 (*)
++--- org.androidannotations:androidannotations-api:4.4.0 -> 4.5.2
++--- com.android.support:appcompat-v7:28.0.0-rc02
+|    +--- com.android.support:support-annotations:28.0.0-rc02
+|    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    +--- com.android.support:collections:28.0.0-rc02 (*)
+|    +--- com.android.support:cursoradapter:28.0.0-rc02 (*)
+|    +--- com.android.support:support-core-utils:28.0.0-rc02 (*)
+|    +--- com.android.support:support-fragment:28.0.0-rc02 (*)
+|    +--- com.android.support:support-vector-drawable:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    \--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    \--- com.android.support:animated-vector-drawable:28.0.0-rc02
+|         +--- com.android.support:support-vector-drawable:28.0.0-rc02 (*)
+|         \--- com.android.support:support-core-ui:28.0.0-rc02 (*)
++--- com.android.support:design:28.0.0-rc01
+|    +--- com.android.support:support-annotations:28.0.0-rc01 -> 28.0.0-rc02
+|    +--- com.android.support:support-compat:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-core-ui:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-core-utils:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-fragment:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:transition:28.0.0-rc01
+|    |    +--- com.android.support:support-annotations:28.0.0-rc01 -> 28.0.0-rc02
+|    |    \--- com.android.support:support-compat:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:appcompat-v7:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:cardview-v7:28.0.0-rc01
+|    |    \--- com.android.support:support-annotations:28.0.0-rc01 -> 28.0.0-rc02
+|    \--- com.android.support:recyclerview-v7:28.0.0-rc01
+|         +--- com.android.support:support-annotations:28.0.0-rc01 -> 28.0.0-rc02
+|         +--- com.android.support:support-compat:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|         \--- com.android.support:support-core-ui:28.0.0-rc01 -> 28.0.0-rc02 (*)
++--- com.android.support.constraint:constraint-layout:1.1.2
+|    \--- com.android.support.constraint:constraint-layout-solver:1.1.2
++--- io.reactivex.rxjava2:rxandroid:2.0.2
+|    \--- io.reactivex.rxjava2:rxjava:2.1.9 -> 2.1.17
+|         \--- org.reactivestreams:reactive-streams:1.0.2
++--- io.reactivex.rxjava2:rxjava:2.1.17 (*)
++--- org.apache.httpcomponents:httpclient-android:4.3.5.1
++--- org.xutils:xutils:3.5.0
++--- com.facebook.fresco:fresco:1.1.0
+|    +--- com.facebook.fresco:drawee:1.1.0
+|    |    \--- com.facebook.fresco:fbcore:1.1.0
+|    +--- com.facebook.fresco:fbcore:1.1.0
+|    \--- com.facebook.fresco:imagepipeline:1.1.0
+|         +--- com.parse.bolts:bolts-tasks:1.4.0
+|         +--- com.facebook.fresco:fbcore:1.1.0
+|         \--- com.facebook.fresco:imagepipeline-base:1.1.0
+|              +--- com.parse.bolts:bolts-tasks:1.4.0
+|              \--- com.facebook.fresco:fbcore:1.1.0
++--- com.squareup.retrofit2:retrofit:2.4.0
+|    \--- com.squareup.okhttp3:okhttp:3.10.0
+|         \--- com.squareup.okio:okio:1.14.0
++--- com.squareup.retrofit2:converter-gson:2.4.0
+|    +--- com.squareup.retrofit2:retrofit:2.4.0 (*)
+|    \--- com.google.code.gson:gson:2.8.2
++--- com.squareup.retrofit2:adapter-rxjava:2.4.0
+|    +--- com.squareup.retrofit2:retrofit:2.4.0 (*)
+|    \--- io.reactivex:rxjava:1.3.0
++--- com.beardedhen:androidbootstrap:2.3.2
+|    +--- com.android.support:support-annotations:25.3.1 -> 28.0.0-rc02
+|    \--- com.android.support:support-v4:25.3.1 -> 28.0.0-rc02 (*)
++--- com.nightonke:jellytogglebutton:1.0.2
+|    \--- com.android.support:appcompat-v7:23.3.0 -> 28.0.0-rc02 (*)
++--- com.github.bumptech.glide:glide:4.8.0
+|    +--- com.github.bumptech.glide:gifdecoder:4.8.0
+|    |    \--- com.android.support:support-annotations:27.1.1 -> 28.0.0-rc02
+|    +--- com.github.bumptech.glide:disklrucache:4.8.0
+|    +--- com.github.bumptech.glide:annotations:4.8.0
+|    \--- com.android.support:support-fragment:27.1.1 -> 28.0.0-rc02 (*)
++--- com.kyleduo.switchbutton:library:2.0.0
++--- com.rengwuxian.materialedittext:library:2.1.4
+|    +--- com.android.support:appcompat-v7:22.2.0 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-annotations:22.2.0 -> 28.0.0-rc02
+|    \--- com.nineoldandroids:library:2.4.0
++--- com.github.angads25:toggle:1.0.0
++--- com.wdullaer:materialdatetimepicker:3.6.3
+|    +--- com.android.support:support-v4:27.1.1 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:appcompat-v7:27.1.1 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-v13:27.1.1 -> 28.0.0-rc02 (*)
+|    \--- com.android.support:design:27.1.1 -> 28.0.0-rc01 (*)
++--- com.contrarywind:Android-PickerView:4.1.6
+|    \--- com.contrarywind:wheelview:4.0.8
++--- com.android.support:multidex:1.0.3
++--- org.jsoup:jsoup:1.11.3
++--- de.hdodenhof:circleimageview:2.2.0
++--- com.makeramen:roundedimageview:2.3.0
++--- com.amitshekhar.android:debug-db:1.0.4
+|    +--- com.google.code.gson:gson:2.8.2
+|    +--- net.zetetic:android-database-sqlcipher:3.5.7
+|    \--- android.arch.persistence.room:runtime:1.1.0
+|         +--- android.arch.persistence.room:common:1.1.0
+|         |    \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|         +--- android.arch.persistence:db-framework:1.1.0
+|         |    +--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|         |    \--- android.arch.persistence:db:1.1.0
+|         |         \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|         +--- android.arch.persistence:db:1.1.0 (*)
+|         +--- android.arch.core:runtime:1.1.1 (*)
+|         \--- com.android.support:support-core-utils:26.1.0 -> 28.0.0-rc02 (*)
++--- org.androidannotations:androidannotations-api:4.5.2
++--- org.androidannotations:rest-spring-api:4.5.2
++--- com.fasterxml.jackson.core:jackson-core:2.9.7
++--- com.fasterxml.jackson.core:jackson-databind:2.9.7
+|    +--- com.fasterxml.jackson.core:jackson-annotations:2.9.0
+|    \--- com.fasterxml.jackson.core:jackson-core:2.9.7
++--- org.springframework.android:spring-android-rest-template:2.0.0.M3
+|    \--- org.springframework.android:spring-android-core:2.0.0.M3
++--- com.github.ybq:Android-SpinKit:1.2.0
++--- org.apache.directory.studio:org.apache.commons.io:2.4
+|    \--- commons-io:commons-io:2.4
+\--- com.rabbitmq:amqp-client:4.6.0
+     \--- org.slf4j:slf4j-api:1.7.25
+
+releaseRuntimeElements - Runtime elements for release (n)
+No dependencies
+
+releaseRuntimeOnly - Runtime only dependencies for 'release' sources. (n)
+No dependencies
+
+releaseUnitTestAnnotationProcessorClasspath - Resolved configuration for annotation-processor for variant: releaseUnitTest
+No dependencies
+
+releaseUnitTestCompileClasspath - Resolved configuration for compilation for variant: releaseUnitTest
++--- com.android.support:support-v4:28.0.0-rc02
+|    +--- com.android.support:support-compat:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:collections:28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- android.arch.lifecycle:runtime:1.1.1
+|    |    |    +--- android.arch.lifecycle:common:1.1.1
+|    |    |    |    \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    |    +--- android.arch.core:common:1.1.1
+|    |    |    |    \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    \--- com.android.support:versionedparcelable:28.0.0-rc02
+|    |         +--- com.android.support:support-annotations:28.0.0-rc02
+|    |         \--- com.android.support:collections:28.0.0-rc02 (*)
+|    +--- com.android.support:support-media-compat:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    \--- com.android.support:versionedparcelable:28.0.0-rc02 (*)
+|    +--- com.android.support:support-core-utils:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    +--- com.android.support:documentfile:28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:loader:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    +--- android.arch.lifecycle:livedata-core:1.1.1
+|    |    |    |    +--- android.arch.lifecycle:common:1.1.1 (*)
+|    |    |    |    +--- android.arch.core:common:1.1.1 (*)
+|    |    |    |    \--- android.arch.core:runtime:1.1.1
+|    |    |    |         +--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    |    |         \--- android.arch.core:common:1.1.1 (*)
+|    |    |    \--- android.arch.lifecycle:viewmodel:1.1.1
+|    |    |         \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    +--- com.android.support:localbroadcastmanager:28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:28.0.0-rc02
+|    |    \--- com.android.support:print:28.0.0-rc02
+|    |         \--- com.android.support:support-annotations:28.0.0-rc02
+|    +--- com.android.support:support-core-ui:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    +--- com.android.support:support-core-utils:28.0.0-rc02 (*)
+|    |    +--- com.android.support:customview:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    \--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    +--- com.android.support:viewpager:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:customview:28.0.0-rc02 (*)
+|    |    +--- com.android.support:coordinatorlayout:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:customview:28.0.0-rc02 (*)
+|    |    +--- com.android.support:drawerlayout:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:customview:28.0.0-rc02 (*)
+|    |    +--- com.android.support:slidingpanelayout:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:customview:28.0.0-rc02 (*)
+|    |    +--- com.android.support:interpolator:28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:swiperefreshlayout:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:interpolator:28.0.0-rc02 (*)
+|    |    +--- com.android.support:asynclayoutinflater:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    \--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    \--- com.android.support:cursoradapter:28.0.0-rc02
+|    |         \--- com.android.support:support-annotations:28.0.0-rc02
+|    \--- com.android.support:support-fragment:28.0.0-rc02
+|         +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|         +--- com.android.support:support-core-ui:28.0.0-rc02 (*)
+|         +--- com.android.support:support-core-utils:28.0.0-rc02 (*)
+|         +--- com.android.support:support-annotations:28.0.0-rc02
+|         +--- com.android.support:loader:28.0.0-rc02 (*)
+|         \--- android.arch.lifecycle:viewmodel:1.1.1 (*)
++--- com.android.support:support-v13:28.0.0-rc02
+|    \--- com.android.support:support-v4:28.0.0-rc02 (*)
++--- org.androidannotations:androidannotations-api:4.4.0 -> 4.5.2
++--- com.android.support:appcompat-v7:28.0.0-rc02
+|    +--- com.android.support:support-annotations:28.0.0-rc02
+|    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    +--- com.android.support:collections:28.0.0-rc02 (*)
+|    +--- com.android.support:cursoradapter:28.0.0-rc02 (*)
+|    +--- com.android.support:support-core-utils:28.0.0-rc02 (*)
+|    +--- com.android.support:support-fragment:28.0.0-rc02 (*)
+|    +--- com.android.support:support-vector-drawable:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    \--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    \--- com.android.support:animated-vector-drawable:28.0.0-rc02
+|         +--- com.android.support:support-vector-drawable:28.0.0-rc02 (*)
+|         \--- com.android.support:support-core-ui:28.0.0-rc02 (*)
++--- com.android.support:design:28.0.0-rc01
+|    +--- com.android.support:support-annotations:28.0.0-rc01 -> 28.0.0-rc02
+|    +--- com.android.support:support-compat:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-core-ui:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-core-utils:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-fragment:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:transition:28.0.0-rc01
+|    |    +--- com.android.support:support-annotations:28.0.0-rc01 -> 28.0.0-rc02
+|    |    \--- com.android.support:support-compat:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:appcompat-v7:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:cardview-v7:28.0.0-rc01
+|    |    \--- com.android.support:support-annotations:28.0.0-rc01 -> 28.0.0-rc02
+|    \--- com.android.support:recyclerview-v7:28.0.0-rc01
+|         +--- com.android.support:support-annotations:28.0.0-rc01 -> 28.0.0-rc02
+|         +--- com.android.support:support-compat:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|         \--- com.android.support:support-core-ui:28.0.0-rc01 -> 28.0.0-rc02 (*)
++--- com.android.support.constraint:constraint-layout:1.1.2
+|    \--- com.android.support.constraint:constraint-layout-solver:1.1.2
++--- io.reactivex.rxjava2:rxandroid:2.0.2
+|    \--- io.reactivex.rxjava2:rxjava:2.1.9 -> 2.1.17
+|         \--- org.reactivestreams:reactive-streams:1.0.2
++--- io.reactivex.rxjava2:rxjava:2.1.17 (*)
++--- org.apache.httpcomponents:httpclient-android:4.3.5.1
++--- org.xutils:xutils:3.5.0
++--- com.facebook.fresco:fresco:1.1.0
+|    +--- com.facebook.fresco:drawee:1.1.0
+|    |    \--- com.facebook.fresco:fbcore:1.1.0
+|    +--- com.facebook.fresco:fbcore:1.1.0
+|    \--- com.facebook.fresco:imagepipeline:1.1.0
+|         +--- com.parse.bolts:bolts-tasks:1.4.0
+|         +--- com.facebook.fresco:fbcore:1.1.0
+|         \--- com.facebook.fresco:imagepipeline-base:1.1.0
+|              +--- com.parse.bolts:bolts-tasks:1.4.0
+|              \--- com.facebook.fresco:fbcore:1.1.0
++--- com.squareup.retrofit2:retrofit:2.4.0
+|    \--- com.squareup.okhttp3:okhttp:3.10.0
+|         \--- com.squareup.okio:okio:1.14.0
++--- com.squareup.retrofit2:converter-gson:2.4.0
+|    +--- com.squareup.retrofit2:retrofit:2.4.0 (*)
+|    \--- com.google.code.gson:gson:2.8.2
++--- com.squareup.retrofit2:adapter-rxjava:2.4.0
+|    +--- com.squareup.retrofit2:retrofit:2.4.0 (*)
+|    \--- io.reactivex:rxjava:1.3.0
++--- com.beardedhen:androidbootstrap:2.3.2
+|    +--- com.android.support:support-annotations:25.3.1 -> 28.0.0-rc02
+|    \--- com.android.support:support-v4:25.3.1 -> 28.0.0-rc02 (*)
++--- com.nightonke:jellytogglebutton:1.0.2
+|    \--- com.android.support:appcompat-v7:23.3.0 -> 28.0.0-rc02 (*)
++--- com.github.bumptech.glide:glide:4.8.0
+|    +--- com.github.bumptech.glide:gifdecoder:4.8.0
+|    |    \--- com.android.support:support-annotations:27.1.1 -> 28.0.0-rc02
+|    +--- com.github.bumptech.glide:disklrucache:4.8.0
+|    +--- com.github.bumptech.glide:annotations:4.8.0
+|    \--- com.android.support:support-fragment:27.1.1 -> 28.0.0-rc02 (*)
++--- com.kyleduo.switchbutton:library:2.0.0
++--- com.rengwuxian.materialedittext:library:2.1.4
+|    +--- com.android.support:appcompat-v7:22.2.0 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-annotations:22.2.0 -> 28.0.0-rc02
+|    \--- com.nineoldandroids:library:2.4.0
++--- com.github.angads25:toggle:1.0.0
++--- com.wdullaer:materialdatetimepicker:3.6.3
+|    +--- com.android.support:support-v4:27.1.1 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:appcompat-v7:27.1.1 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-v13:27.1.1 -> 28.0.0-rc02 (*)
+|    \--- com.android.support:design:27.1.1 -> 28.0.0-rc01 (*)
++--- com.contrarywind:Android-PickerView:4.1.6
+|    \--- com.contrarywind:wheelview:4.0.8
++--- com.android.support:multidex:1.0.3
++--- org.jsoup:jsoup:1.11.3
++--- de.hdodenhof:circleimageview:2.2.0
++--- com.makeramen:roundedimageview:2.3.0
++--- com.amitshekhar.android:debug-db:1.0.4
+|    +--- com.google.code.gson:gson:2.8.2
+|    +--- net.zetetic:android-database-sqlcipher:3.5.7
+|    \--- android.arch.persistence.room:runtime:1.1.0
+|         +--- android.arch.persistence.room:common:1.1.0
+|         |    \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|         +--- android.arch.persistence:db-framework:1.1.0
+|         |    +--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|         |    \--- android.arch.persistence:db:1.1.0
+|         |         \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|         +--- android.arch.persistence:db:1.1.0 (*)
+|         +--- android.arch.core:runtime:1.1.1 (*)
+|         \--- com.android.support:support-core-utils:26.1.0 -> 28.0.0-rc02 (*)
++--- org.androidannotations:androidannotations-api:4.5.2
++--- org.androidannotations:rest-spring-api:4.5.2
++--- com.fasterxml.jackson.core:jackson-core:2.9.7
++--- com.fasterxml.jackson.core:jackson-databind:2.9.7
+|    +--- com.fasterxml.jackson.core:jackson-annotations:2.9.0
+|    \--- com.fasterxml.jackson.core:jackson-core:2.9.7
++--- org.springframework.android:spring-android-rest-template:2.0.0.M3
+|    \--- org.springframework.android:spring-android-core:2.0.0.M3
++--- com.github.ybq:Android-SpinKit:1.2.0
++--- org.apache.directory.studio:org.apache.commons.io:2.4
+|    \--- commons-io:commons-io:2.4
++--- com.rabbitmq:amqp-client:4.6.0
+|    \--- org.slf4j:slf4j-api:1.7.25
+\--- junit:junit:4.12
+     \--- org.hamcrest:hamcrest-core:1.3
+
+releaseUnitTestRuntimeClasspath - Resolved configuration for runtime for variant: releaseUnitTest
++--- com.android.support:support-v4:28.0.0-rc02
+|    +--- com.android.support:support-compat:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:collections:28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- android.arch.lifecycle:runtime:1.1.1
+|    |    |    +--- android.arch.lifecycle:common:1.1.1
+|    |    |    |    \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    |    +--- android.arch.core:common:1.1.1
+|    |    |    |    \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    \--- com.android.support:versionedparcelable:28.0.0-rc02
+|    |         +--- com.android.support:support-annotations:28.0.0-rc02
+|    |         \--- com.android.support:collections:28.0.0-rc02 (*)
+|    +--- com.android.support:support-media-compat:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    \--- com.android.support:versionedparcelable:28.0.0-rc02 (*)
+|    +--- com.android.support:support-core-utils:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    +--- com.android.support:documentfile:28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:loader:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    +--- android.arch.lifecycle:livedata-core:1.1.1
+|    |    |    |    +--- android.arch.lifecycle:common:1.1.1 (*)
+|    |    |    |    +--- android.arch.core:common:1.1.1 (*)
+|    |    |    |    \--- android.arch.core:runtime:1.1.1
+|    |    |    |         +--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    |    |         \--- android.arch.core:common:1.1.1 (*)
+|    |    |    \--- android.arch.lifecycle:viewmodel:1.1.1
+|    |    |         \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|    |    +--- com.android.support:localbroadcastmanager:28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:28.0.0-rc02
+|    |    \--- com.android.support:print:28.0.0-rc02
+|    |         \--- com.android.support:support-annotations:28.0.0-rc02
+|    +--- com.android.support:support-core-ui:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    +--- com.android.support:support-core-utils:28.0.0-rc02 (*)
+|    |    +--- com.android.support:customview:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    \--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    +--- com.android.support:viewpager:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:customview:28.0.0-rc02 (*)
+|    |    +--- com.android.support:coordinatorlayout:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:customview:28.0.0-rc02 (*)
+|    |    +--- com.android.support:drawerlayout:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:customview:28.0.0-rc02 (*)
+|    |    +--- com.android.support:slidingpanelayout:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:customview:28.0.0-rc02 (*)
+|    |    +--- com.android.support:interpolator:28.0.0-rc02
+|    |    |    \--- com.android.support:support-annotations:28.0.0-rc02
+|    |    +--- com.android.support:swiperefreshlayout:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    |    \--- com.android.support:interpolator:28.0.0-rc02 (*)
+|    |    +--- com.android.support:asynclayoutinflater:28.0.0-rc02
+|    |    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    |    \--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    |    \--- com.android.support:cursoradapter:28.0.0-rc02
+|    |         \--- com.android.support:support-annotations:28.0.0-rc02
+|    \--- com.android.support:support-fragment:28.0.0-rc02
+|         +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|         +--- com.android.support:support-core-ui:28.0.0-rc02 (*)
+|         +--- com.android.support:support-core-utils:28.0.0-rc02 (*)
+|         +--- com.android.support:support-annotations:28.0.0-rc02
+|         +--- com.android.support:loader:28.0.0-rc02 (*)
+|         \--- android.arch.lifecycle:viewmodel:1.1.1 (*)
++--- com.android.support:support-v13:28.0.0-rc02
+|    \--- com.android.support:support-v4:28.0.0-rc02 (*)
++--- org.androidannotations:androidannotations-api:4.4.0 -> 4.5.2
++--- com.android.support:appcompat-v7:28.0.0-rc02
+|    +--- com.android.support:support-annotations:28.0.0-rc02
+|    +--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    +--- com.android.support:collections:28.0.0-rc02 (*)
+|    +--- com.android.support:cursoradapter:28.0.0-rc02 (*)
+|    +--- com.android.support:support-core-utils:28.0.0-rc02 (*)
+|    +--- com.android.support:support-fragment:28.0.0-rc02 (*)
+|    +--- com.android.support:support-vector-drawable:28.0.0-rc02
+|    |    +--- com.android.support:support-annotations:28.0.0-rc02
+|    |    \--- com.android.support:support-compat:28.0.0-rc02 (*)
+|    \--- com.android.support:animated-vector-drawable:28.0.0-rc02
+|         +--- com.android.support:support-vector-drawable:28.0.0-rc02 (*)
+|         \--- com.android.support:support-core-ui:28.0.0-rc02 (*)
++--- com.android.support:design:28.0.0-rc01
+|    +--- com.android.support:support-annotations:28.0.0-rc01 -> 28.0.0-rc02
+|    +--- com.android.support:support-compat:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-core-ui:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-core-utils:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-fragment:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:transition:28.0.0-rc01
+|    |    +--- com.android.support:support-annotations:28.0.0-rc01 -> 28.0.0-rc02
+|    |    \--- com.android.support:support-compat:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:appcompat-v7:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:cardview-v7:28.0.0-rc01
+|    |    \--- com.android.support:support-annotations:28.0.0-rc01 -> 28.0.0-rc02
+|    \--- com.android.support:recyclerview-v7:28.0.0-rc01
+|         +--- com.android.support:support-annotations:28.0.0-rc01 -> 28.0.0-rc02
+|         +--- com.android.support:support-compat:28.0.0-rc01 -> 28.0.0-rc02 (*)
+|         \--- com.android.support:support-core-ui:28.0.0-rc01 -> 28.0.0-rc02 (*)
++--- com.android.support.constraint:constraint-layout:1.1.2
+|    \--- com.android.support.constraint:constraint-layout-solver:1.1.2
++--- io.reactivex.rxjava2:rxandroid:2.0.2
+|    \--- io.reactivex.rxjava2:rxjava:2.1.9 -> 2.1.17
+|         \--- org.reactivestreams:reactive-streams:1.0.2
++--- io.reactivex.rxjava2:rxjava:2.1.17 (*)
++--- org.apache.httpcomponents:httpclient-android:4.3.5.1
++--- org.xutils:xutils:3.5.0
++--- com.facebook.fresco:fresco:1.1.0
+|    +--- com.facebook.fresco:drawee:1.1.0
+|    |    \--- com.facebook.fresco:fbcore:1.1.0
+|    +--- com.facebook.fresco:fbcore:1.1.0
+|    \--- com.facebook.fresco:imagepipeline:1.1.0
+|         +--- com.parse.bolts:bolts-tasks:1.4.0
+|         +--- com.facebook.fresco:fbcore:1.1.0
+|         \--- com.facebook.fresco:imagepipeline-base:1.1.0
+|              +--- com.parse.bolts:bolts-tasks:1.4.0
+|              \--- com.facebook.fresco:fbcore:1.1.0
++--- com.squareup.retrofit2:retrofit:2.4.0
+|    \--- com.squareup.okhttp3:okhttp:3.10.0
+|         \--- com.squareup.okio:okio:1.14.0
++--- com.squareup.retrofit2:converter-gson:2.4.0
+|    +--- com.squareup.retrofit2:retrofit:2.4.0 (*)
+|    \--- com.google.code.gson:gson:2.8.2
++--- com.squareup.retrofit2:adapter-rxjava:2.4.0
+|    +--- com.squareup.retrofit2:retrofit:2.4.0 (*)
+|    \--- io.reactivex:rxjava:1.3.0
++--- com.beardedhen:androidbootstrap:2.3.2
+|    +--- com.android.support:support-annotations:25.3.1 -> 28.0.0-rc02
+|    \--- com.android.support:support-v4:25.3.1 -> 28.0.0-rc02 (*)
++--- com.nightonke:jellytogglebutton:1.0.2
+|    \--- com.android.support:appcompat-v7:23.3.0 -> 28.0.0-rc02 (*)
++--- com.github.bumptech.glide:glide:4.8.0
+|    +--- com.github.bumptech.glide:gifdecoder:4.8.0
+|    |    \--- com.android.support:support-annotations:27.1.1 -> 28.0.0-rc02
+|    +--- com.github.bumptech.glide:disklrucache:4.8.0
+|    +--- com.github.bumptech.glide:annotations:4.8.0
+|    \--- com.android.support:support-fragment:27.1.1 -> 28.0.0-rc02 (*)
++--- com.kyleduo.switchbutton:library:2.0.0
++--- com.rengwuxian.materialedittext:library:2.1.4
+|    +--- com.android.support:appcompat-v7:22.2.0 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-annotations:22.2.0 -> 28.0.0-rc02
+|    \--- com.nineoldandroids:library:2.4.0
++--- com.github.angads25:toggle:1.0.0
++--- com.wdullaer:materialdatetimepicker:3.6.3
+|    +--- com.android.support:support-v4:27.1.1 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:appcompat-v7:27.1.1 -> 28.0.0-rc02 (*)
+|    +--- com.android.support:support-v13:27.1.1 -> 28.0.0-rc02 (*)
+|    \--- com.android.support:design:27.1.1 -> 28.0.0-rc01 (*)
++--- com.contrarywind:Android-PickerView:4.1.6
+|    \--- com.contrarywind:wheelview:4.0.8
++--- com.android.support:multidex:1.0.3
++--- org.jsoup:jsoup:1.11.3
++--- de.hdodenhof:circleimageview:2.2.0
++--- com.makeramen:roundedimageview:2.3.0
++--- com.amitshekhar.android:debug-db:1.0.4
+|    +--- com.google.code.gson:gson:2.8.2
+|    +--- net.zetetic:android-database-sqlcipher:3.5.7
+|    \--- android.arch.persistence.room:runtime:1.1.0
+|         +--- android.arch.persistence.room:common:1.1.0
+|         |    \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|         +--- android.arch.persistence:db-framework:1.1.0
+|         |    +--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|         |    \--- android.arch.persistence:db:1.1.0
+|         |         \--- com.android.support:support-annotations:26.1.0 -> 28.0.0-rc02
+|         +--- android.arch.persistence:db:1.1.0 (*)
+|         +--- android.arch.core:runtime:1.1.1 (*)
+|         \--- com.android.support:support-core-utils:26.1.0 -> 28.0.0-rc02 (*)
++--- org.androidannotations:androidannotations-api:4.5.2
++--- org.androidannotations:rest-spring-api:4.5.2
++--- com.fasterxml.jackson.core:jackson-core:2.9.7
++--- com.fasterxml.jackson.core:jackson-databind:2.9.7
+|    +--- com.fasterxml.jackson.core:jackson-annotations:2.9.0
+|    \--- com.fasterxml.jackson.core:jackson-core:2.9.7
++--- org.springframework.android:spring-android-rest-template:2.0.0.M3
+|    \--- org.springframework.android:spring-android-core:2.0.0.M3
++--- com.github.ybq:Android-SpinKit:1.2.0
++--- org.apache.directory.studio:org.apache.commons.io:2.4
+|    \--- commons-io:commons-io:2.4
++--- com.rabbitmq:amqp-client:4.6.0
+|    \--- org.slf4j:slf4j-api:1.7.25
+\--- junit:junit:4.12
+     \--- org.hamcrest:hamcrest-core:1.3
+
+releaseWearApp - Link to a wear app to embed for object 'release'. (n)
+No dependencies
+
+releaseWearBundling - Resolved Configuration for wear app bundling for variant: release
+No dependencies
+
+runtimeOnly - Runtime only dependencies for 'main' sources. (n)
+No dependencies
+
+testAnnotationProcessor - Classpath for the annotation processor for 'test'. (n)
+No dependencies
+
+testApi - API dependencies for 'test' sources. (n)
+No dependencies
+
+testApk - Apk dependencies for 'test' sources (deprecated: use 'testRuntimeOnly' instead). (n)
+No dependencies
+
+testCompile - Compile dependencies for 'test' sources (deprecated: use 'testImplementation' instead).
+No dependencies
+
+testCompileOnly - Compile only dependencies for 'test' sources. (n)
+No dependencies
+
+testDebugAnnotationProcessor - Classpath for the annotation processor for 'testDebug'. (n)
+No dependencies
+
+testDebugApi - API dependencies for 'testDebug' sources. (n)
+No dependencies
+
+testDebugApk - Apk dependencies for 'testDebug' sources (deprecated: use 'testDebugRuntimeOnly' instead). (n)
+No dependencies
+
+testDebugCompile - Compile dependencies for 'testDebug' sources (deprecated: use 'testDebugImplementation' instead). (n)
+No dependencies
+
+testDebugCompileOnly - Compile only dependencies for 'testDebug' sources. (n)
+No dependencies
+
+testDebugImplementation - Implementation only dependencies for 'testDebug' sources. (n)
+No dependencies
+
+testDebugProvided - Provided dependencies for 'testDebug' sources (deprecated: use 'testDebugCompileOnly' instead). (n)
+No dependencies
+
+testDebugRuntimeOnly - Runtime only dependencies for 'testDebug' sources. (n)
+No dependencies
+
+testDebugWearApp - Link to a wear app to embed for object 'testDebug'. (n)
+No dependencies
+
+testImplementation - Implementation only dependencies for 'test' sources. (n)
+\--- junit:junit:4.12 (n)
+
+testProvided - Provided dependencies for 'test' sources (deprecated: use 'testCompileOnly' instead). (n)
+No dependencies
+
+testReleaseAnnotationProcessor - Classpath for the annotation processor for 'testRelease'. (n)
+No dependencies
+
+testReleaseApi - API dependencies for 'testRelease' sources. (n)
+No dependencies
+
+testReleaseApk - Apk dependencies for 'testRelease' sources (deprecated: use 'testReleaseRuntimeOnly' instead). (n)
+No dependencies
+
+testReleaseCompile - Compile dependencies for 'testRelease' sources (deprecated: use 'testReleaseImplementation' instead). (n)
+No dependencies
+
+testReleaseCompileOnly - Compile only dependencies for 'testRelease' sources. (n)
+No dependencies
+
+testReleaseImplementation - Implementation only dependencies for 'testRelease' sources. (n)
+No dependencies
+
+testReleaseProvided - Provided dependencies for 'testRelease' sources (deprecated: use 'testReleaseCompileOnly' instead). (n)
+No dependencies
+
+testReleaseRuntimeOnly - Runtime only dependencies for 'testRelease' sources. (n)
+No dependencies
+
+testReleaseWearApp - Link to a wear app to embed for object 'testRelease'. (n)
+No dependencies
+
+testRuntimeOnly - Runtime only dependencies for 'test' sources. (n)
+No dependencies
+
+testWearApp - Link to a wear app to embed for object 'test'. (n)
+No dependencies
+
+wearApp - Link to a wear app to embed for object 'main'. (n)
+No dependencies
+
+(*) - dependencies omitted (listed previously)
+
+(n) - Not resolved (configuration is not meant to be resolved)
+
+BUILD SUCCESSFUL in 2s
+1 actionable task: 1 executed
diff --git a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/.ninja_deps b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/.ninja_deps
index 8adb714..633b759 100644
--- a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/.ninja_deps
+++ b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/.ninja_deps
Binary files differ
diff --git a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/.ninja_log b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/.ninja_log
index af53687..cab872b 100644
--- a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/.ninja_log
+++ b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/.ninja_log
@@ -1,58 +1,25 @@
 # ninja log v5
-1	923	0	CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o	ea4d0b8fc97c3253
-924	1032	0	../../../../build/intermediates/cmake/debug/obj/armeabi-v7a/libnative-lib.so	abb56e0a74a0f245
-24	434	0	CMakeFiles/native-lib.dir/src/main/cpp/csrc/ffmpeg/data/PicData.cpp.o	768a8baf711c847c
-12	439	0	CMakeFiles/native-lib.dir/src/main/cpp/csrc/ffmpeg/data/FrameData.cpp.o	acf34a0a94adce01
-10	442	0	CMakeFiles/native-lib.dir/src/main/cpp/csrc/ffmpeg/data/CodedData.cpp.o	99060662959888fb
-3	459	0	CMakeFiles/native-lib.dir/src/main/cpp/csrc/common/gpu/info.cpp.o	dd256eee90f486a9
-11	885	0	CMakeFiles/native-lib.dir/src/main/cpp/csrc/ffmpeg/configure/conf.cpp.o	cac62ac593458600
-22	1645	0	CMakeFiles/native-lib.dir/src/main/cpp/csrc/ffmpeg/bridge/cvbridge.cpp.o	991955fa6dc89b31
-439	1727	0	CMakeFiles/native-lib.dir/src/main/cpp/csrc/ffmpeg/swscale/swscale_wrapper.cpp.o	78d3a0ac61ae4fc0
-5	1729	0	CMakeFiles/native-lib.dir/src/main/cpp/csrc/cffmpeg.cpp.o	32a9a4d4a171cd40
-434	1731	0	CMakeFiles/native-lib.dir/src/main/cpp/csrc/ffmpeg/filter/FilterVideo.cpp.o	ce5174f9f1b54461
-8	1732	0	CMakeFiles/native-lib.dir/src/main/cpp/csrc/common/filesystem.cpp.o	234e0bfb476957d
-14	1733	0	CMakeFiles/native-lib.dir/src/main/cpp/csrc/ffmpeg/format/FormatIn.cpp.o	f32d540ca47760ab
-7	1747	0	CMakeFiles/native-lib.dir/src/main/cpp/csrc/buz/recorder.cpp.o	a6d5c8e652affde9
-442	1790	0	CMakeFiles/native-lib.dir/src/main/cpp/csrc/ffmpeg/format/FormatOut.cpp.o	46da446539ed7a02
-459	1869	0	CMakeFiles/native-lib.dir/src/main/cpp/csrc/thirdparty/whereami/whereami.c.o	b2f6c64aae21125e
-1724	2080	0	CMakeFiles/native-lib.dir/src/main/cpp/csrc/ffmpeg/property/VideoProp.cpp.o	bb8f14b1832acf9c
-1727	3040	0	CMakeFiles/native-lib.dir/src/main/cpp/csrc/wrapper.cpp.o	fde6080965f362ca
-885	4684	0	CMakeFiles/native-lib.dir/src/main/cpp/csrc/ffmpeg/log/log.cpp.o	6ecd2884c2aab291
-4684	4889	0	../../../../build/intermediates/cmake/debug/obj/armeabi-v7a/libnative-lib.so	f3d95613edec1d7c
-4	342	0	CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o	ea4d0b8fc97c3253
-343	524	0	../../../../build/intermediates/cmake/debug/obj/armeabi-v7a/libnative-lib.so	f3d95613edec1d7c
-3	1326	0	CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o	ea4d0b8fc97c3253
-1326	1411	0	../../../../build/intermediates/cmake/debug/obj/armeabi-v7a/libnative-lib.so	abb56e0a74a0f245
-1	389	0	CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o	ea4d0b8fc97c3253
-389	492	0	../../../../build/intermediates/cmake/debug/obj/armeabi-v7a/libnative-lib.so	abb56e0a74a0f245
-3	2191	0	CMakeFiles/native-lib.dir/src/main/cpp/TCPClient.cpp.o	c986ccb50902b63d
-2192	2530	0	../../../../build/intermediates/cmake/debug/obj/armeabi-v7a/libnative-lib.so	b71dd75d5fab42f8
-2	1659	0	CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o	ea4d0b8fc97c3253
-1659	1923	0	../../../../build/intermediates/cmake/debug/obj/armeabi-v7a/libnative-lib.so	b71dd75d5fab42f8
-2	588	0	CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o	ea4d0b8fc97c3253
-4	661	0	CMakeFiles/native-lib.dir/src/main/cpp/TCPClient.cpp.o	c986ccb50902b63d
-662	821	0	../../../../build/intermediates/cmake/debug/obj/armeabi-v7a/libnative-lib.so	b71dd75d5fab42f8
-1	538	0	CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o	ea4d0b8fc97c3253
-538	675	0	../../../../build/intermediates/cmake/debug/obj/armeabi-v7a/libnative-lib.so	b71dd75d5fab42f8
-1	614	0	CMakeFiles/native-lib.dir/src/main/cpp/TCPClient.cpp.o	c986ccb50902b63d
-614	748	0	../../../../build/intermediates/cmake/debug/obj/armeabi-v7a/libnative-lib.so	b71dd75d5fab42f8
-1	621	0	CMakeFiles/native-lib.dir/src/main/cpp/TCPClient.cpp.o	c986ccb50902b63d
-621	760	0	../../../../build/intermediates/cmake/debug/obj/armeabi-v7a/libnative-lib.so	b71dd75d5fab42f8
-2	710	0	CMakeFiles/native-lib.dir/src/main/cpp/TCPClient.cpp.o	c986ccb50902b63d
-2	133	0	../../../../build/intermediates/cmake/debug/obj/armeabi-v7a/libnative-lib.so	b71dd75d5fab42f8
-99	1209	0	CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o	ea4d0b8fc97c3253
-101	1452	0	CMakeFiles/native-lib.dir/src/main/cpp/TCPClient.cpp.o	c986ccb50902b63d
-1452	9124	0	../../../../build/intermediates/cmake/debug/obj/armeabi-v7a/libnative-lib.so	b71dd75d5fab42f8
-5	899	0	CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o	ea4d0b8fc97c3253
-3	965	0	CMakeFiles/native-lib.dir/src/main/cpp/TCPClient.cpp.o	c986ccb50902b63d
-965	1235	0	../../../../build/intermediates/cmake/debug/obj/armeabi-v7a/libnative-lib.so	b71dd75d5fab42f8
-3	958	0	CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o	ea4d0b8fc97c3253
-4	1012	0	CMakeFiles/native-lib.dir/src/main/cpp/TCPClient.cpp.o	c986ccb50902b63d
-1012	1229	0	../../../../build/intermediates/cmake/debug/obj/armeabi-v7a/libnative-lib.so	b71dd75d5fab42f8
-2	2023	0	CMakeFiles/native-lib.dir/src/main/cpp/TCPClient.cpp.o	c986ccb50902b63d
-2024	2399	0	../../../../build/intermediates/cmake/debug/obj/armeabi-v7a/libnative-lib.so	b71dd75d5fab42f8
-4	2610	0	CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o	ea4d0b8fc97c3253
-2611	3033	0	../../../../build/intermediates/cmake/debug/obj/armeabi-v7a/libnative-lib.so	b71dd75d5fab42f8
-6	1068	0	CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o	ea4d0b8fc97c3253
-4	1135	0	CMakeFiles/native-lib.dir/src/main/cpp/TCPClient.cpp.o	c986ccb50902b63d
-1136	1436	0	../../../../build/intermediates/cmake/debug/obj/armeabi-v7a/libnative-lib.so	b71dd75d5fab42f8
+1	1032	5942089241097718	CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o	986d9c95293badd5
+3	1087	5942089241674339	CMakeFiles/native-lib.dir/src/main/cpp/TCPClient.cpp.o	e80221a7e6a9b0d4
+1088	1267	5942089243496794	../../../../build/intermediates/cmake/debug/obj/armeabi-v7a/libnative-lib.so	8e2f5ecdfb040ae3
+4	1355	5942109791851804	CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o	986d9c95293badd5
+7	1371	5942109792348207	CMakeFiles/native-lib.dir/src/main/cpp/TCPClient.cpp.o	e80221a7e6a9b0d4
+1371	1649	5942109795137450	../../../../build/intermediates/cmake/debug/obj/armeabi-v7a/libnative-lib.so	8e2f5ecdfb040ae3
+5	2730	5964407434689904	CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o	986d9c95293badd5
+41	2743	5964407435069610	CMakeFiles/native-lib.dir/src/main/cpp/TCPClient.cpp.o	e80221a7e6a9b0d4
+2744	3131	5964407439068425	../../../../build/intermediates/cmake/debug/obj/armeabi-v7a/libnative-lib.so	8e2f5ecdfb040ae3
+4	1110	5964412550292723	CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o	986d9c95293badd5
+6	1158	5964412550787945	CMakeFiles/native-lib.dir/src/main/cpp/TCPClient.cpp.o	e80221a7e6a9b0d4
+1158	1310	5964412552504376	../../../../build/intermediates/cmake/debug/obj/armeabi-v7a/libnative-lib.so	8e2f5ecdfb040ae3
+2	1067	5964419437858646	CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o	986d9c95293badd5
+5	1118	5964419438412357	CMakeFiles/native-lib.dir/src/main/cpp/TCPClient.cpp.o	e80221a7e6a9b0d4
+1118	1280	5964419440194511	../../../../build/intermediates/cmake/debug/obj/armeabi-v7a/libnative-lib.so	8e2f5ecdfb040ae3
+6	1090	5964427083735105	CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o	986d9c95293badd5
+3	1141	5964427084266377	CMakeFiles/native-lib.dir/src/main/cpp/TCPClient.cpp.o	e80221a7e6a9b0d4
+1142	1289	5964427085894879	../../../../build/intermediates/cmake/debug/obj/armeabi-v7a/libnative-lib.so	8e2f5ecdfb040ae3
+6	1084	5964431127480449	CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o	986d9c95293badd5
+3	1143	5964431128097196	CMakeFiles/native-lib.dir/src/main/cpp/TCPClient.cpp.o	e80221a7e6a9b0d4
+1144	1312	5964431129962242	../../../../build/intermediates/cmake/debug/obj/armeabi-v7a/libnative-lib.so	8e2f5ecdfb040ae3
+5	1056	5964438477936217	CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o	986d9c95293badd5
+2	1110	5964438478514781	CMakeFiles/native-lib.dir/src/main/cpp/TCPClient.cpp.o	e80221a7e6a9b0d4
+1110	1295	5964438480535188	../../../../build/intermediates/cmake/debug/obj/armeabi-v7a/libnative-lib.so	8e2f5ecdfb040ae3
diff --git a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeCache.txt b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeCache.txt
index 11fc233..36a18c7 100644
--- a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeCache.txt
+++ b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeCache.txt
@@ -1,6 +1,6 @@
 # This is the CMakeCache file.
-# For build in directory: c:/workspace/Security_alarm/app/.externalNativeBuild/cmake/debug/armeabi-v7a
-# It was generated by CMake: C:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/bin/cmake.exe
+# For build in directory: e:/workspace/Security_alarm/app/.externalNativeBuild/cmake/debug/armeabi-v7a
+# It was generated by CMake: C:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/bin/cmake.exe
 # You can edit this file to change values found and used by cmake.
 # If you do not want to change any of the values, simply exit the editor.
 # If you do want to change a value, simply edit, save, and exit the editor.
@@ -23,8 +23,14 @@
 //No help, variable specified on the command line.
 ANDROID_PLATFORM:UNINITIALIZED=android-21
 
+//No help, variable specified on the command line.
+CMAKE_ANDROID_ARCH_ABI:UNINITIALIZED=armeabi-v7a
+
+//No help, variable specified on the command line.
+CMAKE_ANDROID_NDK:UNINITIALIZED=C:\Users\xiuxi\AppData\Local\Android\Sdk\ndk-bundle
+
 //Archiver
-CMAKE_AR:FILEPATH=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-ar.exe
+CMAKE_AR:FILEPATH=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/arm-linux-androideabi-ar.exe
 
 //Flags used by the compiler during all build types.
 CMAKE_ASM_FLAGS:STRING=
@@ -38,6 +44,12 @@
 //Choose the type of build, options are: None(CMAKE_CXX_FLAGS or
 // CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel.
 CMAKE_BUILD_TYPE:STRING=Debug
+
+//LLVM archiver
+CMAKE_CXX_COMPILER_AR:FILEPATH=CMAKE_CXX_COMPILER_AR-NOTFOUND
+
+//Generate index for LLVM archive
+CMAKE_CXX_COMPILER_RANLIB:FILEPATH=CMAKE_CXX_COMPILER_RANLIB-NOTFOUND
 
 //Flags used by the compiler during all build types.
 CMAKE_CXX_FLAGS:STRING=-frtti -fexceptions
@@ -56,7 +68,13 @@
 CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
 
 //Libraries linked by default with all C++ applications.
-CMAKE_CXX_STANDARD_LIBRARIES:STRING=-latomic -lm "C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++_static.a" "C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++abi.a" "C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libunwind.a" "-ldl"
+CMAKE_CXX_STANDARD_LIBRARIES:STRING=-latomic -lm
+
+//LLVM archiver
+CMAKE_C_COMPILER_AR:FILEPATH=CMAKE_C_COMPILER_AR-NOTFOUND
+
+//Generate index for LLVM archive
+CMAKE_C_COMPILER_RANLIB:FILEPATH=CMAKE_C_COMPILER_RANLIB-NOTFOUND
 
 //Flags used by the compiler during all build types.
 CMAKE_C_FLAGS:STRING=
@@ -93,19 +111,19 @@
 CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
 
 //Enable/Disable output of compile commands during generation.
-CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=OFF
+CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=ON
 
 //Install path prefix, prepended onto install directories.
 CMAKE_INSTALL_PREFIX:PATH=C:/Program Files (x86)/Project
 
 //No help, variable specified on the command line.
-CMAKE_LIBRARY_OUTPUT_DIRECTORY:UNINITIALIZED=C:\workspace\Security_alarm\app\build\intermediates\cmake\debug\obj\armeabi-v7a
+CMAKE_LIBRARY_OUTPUT_DIRECTORY:UNINITIALIZED=E:\workspace\Security_alarm\app\build\intermediates\cmake\debug\obj\armeabi-v7a
 
 //Path to a program.
-CMAKE_LINKER:FILEPATH=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-ld.exe
+CMAKE_LINKER:FILEPATH=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/arm-linux-androideabi-ld.exe
 
-//No help, variable specified on the command line.
-CMAKE_MAKE_PROGRAM:UNINITIALIZED=C:\Users\xiuxi\AppData\Local\Android\Sdk\cmake\3.6.4111459\bin\ninja.exe
+//Program used to build from build.ninja files.
+CMAKE_MAKE_PROGRAM:FILEPATH=D:/program/ninja-master/ninja.exe
 
 //Flags used by the linker during the creation of modules.
 CMAKE_MODULE_LINKER_FLAGS:STRING=
@@ -123,19 +141,19 @@
 CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
 
 //Path to a program.
-CMAKE_NM:FILEPATH=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-nm.exe
+CMAKE_NM:FILEPATH=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/arm-linux-androideabi-nm.exe
 
 //Path to a program.
-CMAKE_OBJCOPY:FILEPATH=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-objcopy.exe
+CMAKE_OBJCOPY:FILEPATH=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/arm-linux-androideabi-objcopy.exe
 
 //Path to a program.
-CMAKE_OBJDUMP:FILEPATH=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-objdump.exe
+CMAKE_OBJDUMP:FILEPATH=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/arm-linux-androideabi-objdump.exe
 
 //Value Computed by CMake
 CMAKE_PROJECT_NAME:STATIC=Project
 
 //Ranlib
-CMAKE_RANLIB:FILEPATH=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-ranlib.exe
+CMAKE_RANLIB:FILEPATH=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/arm-linux-androideabi-ranlib.exe
 
 //Flags used by the linker during the creation of dll's.
 CMAKE_SHARED_LINKER_FLAGS:STRING=
@@ -175,10 +193,16 @@
 CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=
 
 //Path to a program.
-CMAKE_STRIP:FILEPATH=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-strip.exe
+CMAKE_STRIP:FILEPATH=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/arm-linux-androideabi-strip.exe
 
 //No help, variable specified on the command line.
-CMAKE_TOOLCHAIN_FILE:UNINITIALIZED=C:\Users\xiuxi\AppData\Local\Android\Sdk\ndk-bundle\build\cmake\android.toolchain.cmake
+CMAKE_SYSTEM_NAME:UNINITIALIZED=Android
+
+//No help, variable specified on the command line.
+CMAKE_SYSTEM_VERSION:UNINITIALIZED=21
+
+//The CMake toolchain file
+CMAKE_TOOLCHAIN_FILE:FILEPATH=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/build/cmake/android.toolchain.cmake
 
 //If this value is on, makefiles will be generated without the
 // .SILENT directive, and all commands will be echoed to the console
@@ -187,16 +211,16 @@
 CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
 
 //Value Computed by CMake
-Project_BINARY_DIR:STATIC=C:/workspace/Security_alarm/app/.externalNativeBuild/cmake/debug/armeabi-v7a
+Project_BINARY_DIR:STATIC=E:/workspace/Security_alarm/app/.externalNativeBuild/cmake/debug/armeabi-v7a
 
 //Value Computed by CMake
-Project_SOURCE_DIR:STATIC=C:/workspace/Security_alarm/app
+Project_SOURCE_DIR:STATIC=E:/workspace/Security_alarm/app
 
 //Path to a library.
-log-lib:FILEPATH=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/platforms/android-21/arch-arm/usr/lib/liblog.so
+log-lib:FILEPATH=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/sysroot/usr/lib/arm-linux-androideabi/21/liblog.so
 
 //Dependencies for the target
-native-lib_LIB_DEPENDS:STATIC=general;C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/platforms/android-21/arch-arm/usr/lib/liblog.so;
+native-lib_LIB_DEPENDS:STATIC=general;C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/sysroot/usr/lib/arm-linux-androideabi/21/liblog.so;
 
 
 ########################
@@ -206,19 +230,23 @@
 //ADVANCED property for variable: CMAKE_AR
 CMAKE_AR-ADVANCED:INTERNAL=1
 //This is the directory where this CMakeCache.txt was created
-CMAKE_CACHEFILE_DIR:INTERNAL=c:/workspace/Security_alarm/app/.externalNativeBuild/cmake/debug/armeabi-v7a
+CMAKE_CACHEFILE_DIR:INTERNAL=e:/workspace/Security_alarm/app/.externalNativeBuild/cmake/debug/armeabi-v7a
 //Major version of cmake used to create the current loaded cache
 CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3
 //Minor version of cmake used to create the current loaded cache
-CMAKE_CACHE_MINOR_VERSION:INTERNAL=6
+CMAKE_CACHE_MINOR_VERSION:INTERNAL=10
 //Patch version of cmake used to create the current loaded cache
-CMAKE_CACHE_PATCH_VERSION:INTERNAL=0
+CMAKE_CACHE_PATCH_VERSION:INTERNAL=2
 //Path to CMake executable.
-CMAKE_COMMAND:INTERNAL=C:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/bin/cmake.exe
+CMAKE_COMMAND:INTERNAL=C:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/bin/cmake.exe
 //Path to cpack program executable.
-CMAKE_CPACK_COMMAND:INTERNAL=C:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/bin/cpack.exe
+CMAKE_CPACK_COMMAND:INTERNAL=C:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/bin/cpack.exe
 //Path to ctest program executable.
-CMAKE_CTEST_COMMAND:INTERNAL=C:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/bin/ctest.exe
+CMAKE_CTEST_COMMAND:INTERNAL=C:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/bin/ctest.exe
+//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR
+CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB
+CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1
 //ADVANCED property for variable: CMAKE_CXX_FLAGS
 CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1
 //ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG
@@ -231,6 +259,10 @@
 CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
 //ADVANCED property for variable: CMAKE_CXX_STANDARD_LIBRARIES
 CMAKE_CXX_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_COMPILER_AR
+CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB
+CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1
 //ADVANCED property for variable: CMAKE_C_FLAGS
 CMAKE_C_FLAGS-ADVANCED:INTERNAL=1
 //ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG
@@ -256,7 +288,7 @@
 //ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS
 CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1
 //Name of external makefile project generator.
-CMAKE_EXTRA_GENERATOR:INTERNAL=Android Gradle
+CMAKE_EXTRA_GENERATOR:INTERNAL=
 //Name of generator.
 CMAKE_GENERATOR:INTERNAL=Ninja
 //Name of generator platform.
@@ -265,11 +297,13 @@
 CMAKE_GENERATOR_TOOLSET:INTERNAL=
 //Source directory with the top level CMakeLists.txt file for this
 // project
-CMAKE_HOME_DIRECTORY:INTERNAL=C:/workspace/Security_alarm/app
+CMAKE_HOME_DIRECTORY:INTERNAL=E:/workspace/Security_alarm/app
 //Install .so files without execute permission.
 CMAKE_INSTALL_SO_NO_EXE:INTERNAL=0
 //ADVANCED property for variable: CMAKE_LINKER
 CMAKE_LINKER-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MAKE_PROGRAM
+CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1
 //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS
 CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
 //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
@@ -288,10 +322,12 @@
 CMAKE_OBJCOPY-ADVANCED:INTERNAL=1
 //ADVANCED property for variable: CMAKE_OBJDUMP
 CMAKE_OBJDUMP-ADVANCED:INTERNAL=1
+//Platform information initialized
+CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1
 //ADVANCED property for variable: CMAKE_RANLIB
 CMAKE_RANLIB-ADVANCED:INTERNAL=1
 //Path to CMake installation.
-CMAKE_ROOT:INTERNAL=C:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6
+CMAKE_ROOT:INTERNAL=C:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10
 //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
 CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
 //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
diff --git a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/3.6.0-rc2/CMakeCCompiler.cmake b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/3.6.0-rc2/CMakeCCompiler.cmake
deleted file mode 100644
index 31419ef..0000000
--- a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/3.6.0-rc2/CMakeCCompiler.cmake
+++ /dev/null
@@ -1,67 +0,0 @@
-set(CMAKE_C_COMPILER "C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/clang.exe")
-set(CMAKE_C_COMPILER_ARG1 "")
-set(CMAKE_C_COMPILER_ID "Clang")
-set(CMAKE_C_COMPILER_VERSION "3.8")
-set(CMAKE_C_COMPILER_WRAPPER "")
-set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "11")
-set(CMAKE_C_COMPILE_FEATURES "c_function_prototypes;c_restrict;c_variadic_macros;c_static_assert")
-set(CMAKE_C90_COMPILE_FEATURES "c_function_prototypes")
-set(CMAKE_C99_COMPILE_FEATURES "c_restrict;c_variadic_macros")
-set(CMAKE_C11_COMPILE_FEATURES "c_static_assert")
-
-set(CMAKE_C_PLATFORM_ID "")
-set(CMAKE_C_SIMULATE_ID "")
-set(CMAKE_C_SIMULATE_VERSION "")
-
-set(CMAKE_AR "C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-ar.exe")
-set(CMAKE_RANLIB "C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-ranlib.exe")
-set(CMAKE_LINKER "C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-ld.exe")
-set(CMAKE_COMPILER_IS_GNUCC )
-set(CMAKE_C_COMPILER_LOADED 1)
-set(CMAKE_C_COMPILER_WORKS TRUE)
-set(CMAKE_C_ABI_COMPILED TRUE)
-set(CMAKE_COMPILER_IS_MINGW )
-set(CMAKE_COMPILER_IS_CYGWIN )
-if(CMAKE_COMPILER_IS_CYGWIN)
-  set(CYGWIN 1)
-  set(UNIX 1)
-endif()
-
-set(CMAKE_C_COMPILER_ENV_VAR "CC")
-
-if(CMAKE_COMPILER_IS_MINGW)
-  set(MINGW 1)
-endif()
-set(CMAKE_C_COMPILER_ID_RUN 1)
-set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m)
-set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
-set(CMAKE_C_LINKER_PREFERENCE 10)
-
-# Save compiler ABI information.
-set(CMAKE_C_SIZEOF_DATA_PTR "4")
-set(CMAKE_C_COMPILER_ABI "ELF")
-set(CMAKE_C_LIBRARY_ARCHITECTURE "")
-
-if(CMAKE_C_SIZEOF_DATA_PTR)
-  set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}")
-endif()
-
-if(CMAKE_C_COMPILER_ABI)
-  set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}")
-endif()
-
-if(CMAKE_C_LIBRARY_ARCHITECTURE)
-  set(CMAKE_LIBRARY_ARCHITECTURE "")
-endif()
-
-set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "")
-if(CMAKE_C_CL_SHOWINCLUDES_PREFIX)
-  set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}")
-endif()
-
-
-
-
-set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "dl;c;dl")
-set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a;C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/lib64/clang/6.0.2/lib/linux/arm;C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/lib/gcc/arm-linux-androideabi/4.9.x/armv7-a/thumb;C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/arm-linux-androideabi/lib/armv7-a/thumb;C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/platforms/android-21/arch-arm/usr/lib")
-set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
diff --git a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/3.6.0-rc2/CMakeCXXCompiler.cmake b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/3.6.0-rc2/CMakeCXXCompiler.cmake
deleted file mode 100644
index d3f9564..0000000
--- a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/3.6.0-rc2/CMakeCXXCompiler.cmake
+++ /dev/null
@@ -1,68 +0,0 @@
-set(CMAKE_CXX_COMPILER "C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++.exe")
-set(CMAKE_CXX_COMPILER_ARG1 "")
-set(CMAKE_CXX_COMPILER_ID "Clang")
-set(CMAKE_CXX_COMPILER_VERSION "3.8")
-set(CMAKE_CXX_COMPILER_WRAPPER "")
-set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "98")
-set(CMAKE_CXX_COMPILE_FEATURES "cxx_template_template_parameters;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates")
-set(CMAKE_CXX98_COMPILE_FEATURES "cxx_template_template_parameters")
-set(CMAKE_CXX11_COMPILE_FEATURES "cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates")
-set(CMAKE_CXX14_COMPILE_FEATURES "cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates")
-
-set(CMAKE_CXX_PLATFORM_ID "")
-set(CMAKE_CXX_SIMULATE_ID "")
-set(CMAKE_CXX_SIMULATE_VERSION "")
-
-set(CMAKE_AR "C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-ar.exe")
-set(CMAKE_RANLIB "C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-ranlib.exe")
-set(CMAKE_LINKER "C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-ld.exe")
-set(CMAKE_COMPILER_IS_GNUCXX )
-set(CMAKE_CXX_COMPILER_LOADED 1)
-set(CMAKE_CXX_COMPILER_WORKS TRUE)
-set(CMAKE_CXX_ABI_COMPILED TRUE)
-set(CMAKE_COMPILER_IS_MINGW )
-set(CMAKE_COMPILER_IS_CYGWIN )
-if(CMAKE_COMPILER_IS_CYGWIN)
-  set(CYGWIN 1)
-  set(UNIX 1)
-endif()
-
-set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
-
-if(CMAKE_COMPILER_IS_MINGW)
-  set(MINGW 1)
-endif()
-set(CMAKE_CXX_COMPILER_ID_RUN 1)
-set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
-set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;mm;CPP)
-set(CMAKE_CXX_LINKER_PREFERENCE 30)
-set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
-
-# Save compiler ABI information.
-set(CMAKE_CXX_SIZEOF_DATA_PTR "4")
-set(CMAKE_CXX_COMPILER_ABI "ELF")
-set(CMAKE_CXX_LIBRARY_ARCHITECTURE "")
-
-if(CMAKE_CXX_SIZEOF_DATA_PTR)
-  set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}")
-endif()
-
-if(CMAKE_CXX_COMPILER_ABI)
-  set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}")
-endif()
-
-if(CMAKE_CXX_LIBRARY_ARCHITECTURE)
-  set(CMAKE_LIBRARY_ARCHITECTURE "")
-endif()
-
-set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "")
-if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX)
-  set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}")
-endif()
-
-
-
-
-set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "m;dl;c;dl")
-set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a;C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/lib64/clang/6.0.2/lib/linux/arm;C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/lib/gcc/arm-linux-androideabi/4.9.x/armv7-a/thumb;C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/arm-linux-androideabi/lib/armv7-a/thumb;C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/platforms/android-21/arch-arm/usr/lib")
-set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
diff --git a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/3.6.0-rc2/CMakeDetermineCompilerABI_C.bin b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/3.6.0-rc2/CMakeDetermineCompilerABI_C.bin
deleted file mode 100644
index 8e1aaa3..0000000
--- a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/3.6.0-rc2/CMakeDetermineCompilerABI_C.bin
+++ /dev/null
Binary files differ
diff --git a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/3.6.0-rc2/CMakeDetermineCompilerABI_CXX.bin b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/3.6.0-rc2/CMakeDetermineCompilerABI_CXX.bin
deleted file mode 100644
index de840b4..0000000
--- a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/3.6.0-rc2/CMakeDetermineCompilerABI_CXX.bin
+++ /dev/null
Binary files differ
diff --git a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/3.6.0-rc2/CMakeSystem.cmake b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/3.6.0-rc2/CMakeSystem.cmake
deleted file mode 100644
index 60c40b0..0000000
--- a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/3.6.0-rc2/CMakeSystem.cmake
+++ /dev/null
@@ -1,15 +0,0 @@
-set(CMAKE_HOST_SYSTEM "Windows-10.0.10586")
-set(CMAKE_HOST_SYSTEM_NAME "Windows")
-set(CMAKE_HOST_SYSTEM_VERSION "10.0.10586")
-set(CMAKE_HOST_SYSTEM_PROCESSOR "AMD64")
-
-include("C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/build/cmake/android.toolchain.cmake")
-
-set(CMAKE_SYSTEM "Android-1")
-set(CMAKE_SYSTEM_NAME "Android")
-set(CMAKE_SYSTEM_VERSION "1")
-set(CMAKE_SYSTEM_PROCESSOR "armv7-a")
-
-set(CMAKE_CROSSCOMPILING "TRUE")
-
-set(CMAKE_SYSTEM_LOADED 1)
diff --git a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/TargetDirectories.txt b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/TargetDirectories.txt
index e45939c..0161c21 100644
--- a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/TargetDirectories.txt
+++ b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/TargetDirectories.txt
@@ -1,3 +1,3 @@
-C:/workspace/Security_alarm/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir
-C:/workspace/Security_alarm/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/edit_cache.dir
-C:/workspace/Security_alarm/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/rebuild_cache.dir
+E:/workspace/Security_alarm/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir
+E:/workspace/Security_alarm/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/edit_cache.dir
+E:/workspace/Security_alarm/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/rebuild_cache.dir
diff --git a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/feature_tests.bin b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/feature_tests.bin
index bbed9da..006bfda 100644
--- a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/feature_tests.bin
+++ b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/feature_tests.bin
Binary files differ
diff --git a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/feature_tests.cxx b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/feature_tests.cxx
index a9b4791..703b335 100644
--- a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/feature_tests.cxx
+++ b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/feature_tests.cxx
@@ -1,35 +1,35 @@
 
   const char features[] = {"\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_aggregate_nsdmi)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_aggregate_nsdmi)
 "1"
 #else
 "0"
 #endif
 "cxx_aggregate_default_initializers\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_alias_templates)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_alias_templates)
 "1"
 #else
 "0"
 #endif
 "cxx_alias_templates\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_alignas)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_alignas)
 "1"
 #else
 "0"
 #endif
 "cxx_alignas\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_alignas)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_alignas)
 "1"
 #else
 "0"
 #endif
 "cxx_alignof\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_attributes)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_attributes)
 "1"
 #else
 "0"
@@ -43,35 +43,35 @@
 #endif
 "cxx_attribute_deprecated\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_auto_type)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_auto_type)
 "1"
 #else
 "0"
 #endif
 "cxx_auto_type\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_binary_literals)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_binary_literals)
 "1"
 #else
 "0"
 #endif
 "cxx_binary_literals\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_constexpr)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_constexpr)
 "1"
 #else
 "0"
 #endif
 "cxx_constexpr\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_contextual_conversions)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_contextual_conversions)
 "1"
 #else
 "0"
 #endif
 "cxx_contextual_conversions\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_decltype)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_decltype)
 "1"
 #else
 "0"
@@ -85,42 +85,42 @@
 #endif
 "cxx_decltype_auto\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_decltype_incomplete_return_types)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_decltype_incomplete_return_types)
 "1"
 #else
 "0"
 #endif
 "cxx_decltype_incomplete_return_types\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_default_function_template_args)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_default_function_template_args)
 "1"
 #else
 "0"
 #endif
 "cxx_default_function_template_args\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_defaulted_functions)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_defaulted_functions)
 "1"
 #else
 "0"
 #endif
 "cxx_defaulted_functions\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_defaulted_functions)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_defaulted_functions)
 "1"
 #else
 "0"
 #endif
 "cxx_defaulted_move_initializers\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_delegating_constructors)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_delegating_constructors)
 "1"
 #else
 "0"
 #endif
 "cxx_delegating_constructors\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_deleted_functions)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_deleted_functions)
 "1"
 #else
 "0"
@@ -134,49 +134,49 @@
 #endif
 "cxx_digit_separators\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __cplusplus >= 201103L
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __cplusplus >= 201103L
 "1"
 #else
 "0"
 #endif
 "cxx_enum_forward_declarations\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_explicit_conversions)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_explicit_conversions)
 "1"
 #else
 "0"
 #endif
 "cxx_explicit_conversions\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __cplusplus >= 201103L
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __cplusplus >= 201103L
 "1"
 #else
 "0"
 #endif
 "cxx_extended_friend_declarations\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __cplusplus >= 201103L
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __cplusplus >= 201103L
 "1"
 #else
 "0"
 #endif
 "cxx_extern_templates\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_override_control)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_override_control)
 "1"
 #else
 "0"
 #endif
 "cxx_final\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __cplusplus >= 201103L
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __cplusplus >= 201103L
 "1"
 #else
 "0"
 #endif
 "cxx_func_identifier\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_generalized_initializers)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_generalized_initializers)
 "1"
 #else
 "0"
@@ -190,210 +190,210 @@
 #endif
 "cxx_generic_lambdas\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_inheriting_constructors)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_inheriting_constructors)
 "1"
 #else
 "0"
 #endif
 "cxx_inheriting_constructors\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __cplusplus >= 201103L
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __cplusplus >= 201103L
 "1"
 #else
 "0"
 #endif
 "cxx_inline_namespaces\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_lambdas)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_lambdas)
 "1"
 #else
 "0"
 #endif
 "cxx_lambdas\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_init_captures)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_init_captures)
 "1"
 #else
 "0"
 #endif
 "cxx_lambda_init_captures\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_local_type_template_args)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_local_type_template_args)
 "1"
 #else
 "0"
 #endif
 "cxx_local_type_template_args\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __cplusplus >= 201103L
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __cplusplus >= 201103L
 "1"
 #else
 "0"
 #endif
 "cxx_long_long_type\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_noexcept)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_noexcept)
 "1"
 #else
 "0"
 #endif
 "cxx_noexcept\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_nonstatic_member_init)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_nonstatic_member_init)
 "1"
 #else
 "0"
 #endif
 "cxx_nonstatic_member_init\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_nullptr)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_nullptr)
 "1"
 #else
 "0"
 #endif
 "cxx_nullptr\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_override_control)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_override_control)
 "1"
 #else
 "0"
 #endif
 "cxx_override\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_range_for)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_range_for)
 "1"
 #else
 "0"
 #endif
 "cxx_range_for\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_raw_string_literals)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_raw_string_literals)
 "1"
 #else
 "0"
 #endif
 "cxx_raw_string_literals\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_reference_qualified_functions)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_reference_qualified_functions)
 "1"
 #else
 "0"
 #endif
 "cxx_reference_qualified_functions\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_relaxed_constexpr)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_relaxed_constexpr)
 "1"
 #else
 "0"
 #endif
 "cxx_relaxed_constexpr\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_return_type_deduction)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_return_type_deduction)
 "1"
 #else
 "0"
 #endif
 "cxx_return_type_deduction\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __cplusplus >= 201103L
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __cplusplus >= 201103L
 "1"
 #else
 "0"
 #endif
 "cxx_right_angle_brackets\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_rvalue_references)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_rvalue_references)
 "1"
 #else
 "0"
 #endif
 "cxx_rvalue_references\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __cplusplus >= 201103L
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __cplusplus >= 201103L
 "1"
 #else
 "0"
 #endif
 "cxx_sizeof_member\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_static_assert)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_static_assert)
 "1"
 #else
 "0"
 #endif
 "cxx_static_assert\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_strong_enums)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_strong_enums)
 "1"
 #else
 "0"
 #endif
 "cxx_strong_enums\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __cplusplus >= 199711L
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __cplusplus >= 199711L
 "1"
 #else
 "0"
 #endif
 "cxx_template_template_parameters\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_thread_local)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_thread_local)
 "1"
 #else
 "0"
 #endif
 "cxx_thread_local\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_trailing_return)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_trailing_return)
 "1"
 #else
 "0"
 #endif
 "cxx_trailing_return_types\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_unicode_literals)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_unicode_literals)
 "1"
 #else
 "0"
 #endif
 "cxx_unicode_literals\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_generalized_initializers)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_generalized_initializers)
 "1"
 #else
 "0"
 #endif
 "cxx_uniform_initialization\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_unrestricted_unions)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_unrestricted_unions)
 "1"
 #else
 "0"
 #endif
 "cxx_unrestricted_unions\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_user_literals)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_user_literals)
 "1"
 #else
 "0"
 #endif
 "cxx_user_literals\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_variable_templates)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_variable_templates)
 "1"
 #else
 "0"
 #endif
 "cxx_variable_templates\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __cplusplus >= 201103L
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __cplusplus >= 201103L
 "1"
 #else
 "0"
 #endif
 "cxx_variadic_macros\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_variadic_templates)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_variadic_templates)
 "1"
 #else
 "0"
diff --git a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/buz/recorder.cpp.o b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/buz/recorder.cpp.o
deleted file mode 100644
index 8b50f8d..0000000
--- a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/buz/recorder.cpp.o
+++ /dev/null
Binary files differ
diff --git a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/cffmpeg.cpp.o b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/cffmpeg.cpp.o
deleted file mode 100644
index 7d85c36..0000000
--- a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/cffmpeg.cpp.o
+++ /dev/null
Binary files differ
diff --git a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/common/filesystem.cpp.o b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/common/filesystem.cpp.o
deleted file mode 100644
index 4f17037..0000000
--- a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/common/filesystem.cpp.o
+++ /dev/null
Binary files differ
diff --git a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/common/gpu/info.cpp.o b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/common/gpu/info.cpp.o
deleted file mode 100644
index afaba91..0000000
--- a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/common/gpu/info.cpp.o
+++ /dev/null
Binary files differ
diff --git a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/ffmpeg/bridge/cvbridge.cpp.o b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/ffmpeg/bridge/cvbridge.cpp.o
deleted file mode 100644
index 201819b..0000000
--- a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/ffmpeg/bridge/cvbridge.cpp.o
+++ /dev/null
Binary files differ
diff --git a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/ffmpeg/configure/conf.cpp.o b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/ffmpeg/configure/conf.cpp.o
deleted file mode 100644
index 882b367..0000000
--- a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/ffmpeg/configure/conf.cpp.o
+++ /dev/null
Binary files differ
diff --git a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/ffmpeg/data/CodedData.cpp.o b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/ffmpeg/data/CodedData.cpp.o
deleted file mode 100644
index 5d147d2..0000000
--- a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/ffmpeg/data/CodedData.cpp.o
+++ /dev/null
Binary files differ
diff --git a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/ffmpeg/data/FrameData.cpp.o b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/ffmpeg/data/FrameData.cpp.o
deleted file mode 100644
index 536a1e5..0000000
--- a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/ffmpeg/data/FrameData.cpp.o
+++ /dev/null
Binary files differ
diff --git a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/ffmpeg/data/PicData.cpp.o b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/ffmpeg/data/PicData.cpp.o
deleted file mode 100644
index 451e354..0000000
--- a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/ffmpeg/data/PicData.cpp.o
+++ /dev/null
Binary files differ
diff --git a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/ffmpeg/filter/FilterVideo.cpp.o b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/ffmpeg/filter/FilterVideo.cpp.o
deleted file mode 100644
index 35f4beb..0000000
--- a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/ffmpeg/filter/FilterVideo.cpp.o
+++ /dev/null
Binary files differ
diff --git a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/ffmpeg/format/FormatIn.cpp.o b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/ffmpeg/format/FormatIn.cpp.o
deleted file mode 100644
index 5aecf96..0000000
--- a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/ffmpeg/format/FormatIn.cpp.o
+++ /dev/null
Binary files differ
diff --git a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/ffmpeg/format/FormatOut.cpp.o b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/ffmpeg/format/FormatOut.cpp.o
deleted file mode 100644
index 2a0b99b..0000000
--- a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/ffmpeg/format/FormatOut.cpp.o
+++ /dev/null
Binary files differ
diff --git a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/ffmpeg/log/log.cpp.o b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/ffmpeg/log/log.cpp.o
deleted file mode 100644
index 971b414..0000000
--- a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/ffmpeg/log/log.cpp.o
+++ /dev/null
Binary files differ
diff --git a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/ffmpeg/property/VideoProp.cpp.o b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/ffmpeg/property/VideoProp.cpp.o
deleted file mode 100644
index f21bab7..0000000
--- a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/ffmpeg/property/VideoProp.cpp.o
+++ /dev/null
Binary files differ
diff --git a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/ffmpeg/swscale/swscale_wrapper.cpp.o b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/ffmpeg/swscale/swscale_wrapper.cpp.o
deleted file mode 100644
index e8bcba9..0000000
--- a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/ffmpeg/swscale/swscale_wrapper.cpp.o
+++ /dev/null
Binary files differ
diff --git a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/thirdparty/whereami/whereami.c.o b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/thirdparty/whereami/whereami.c.o
deleted file mode 100644
index 59eb7d9..0000000
--- a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/thirdparty/whereami/whereami.c.o
+++ /dev/null
Binary files differ
diff --git a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/wrapper.cpp.o b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/wrapper.cpp.o
deleted file mode 100644
index 80f98a7..0000000
--- a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/csrc/wrapper.cpp.o
+++ /dev/null
Binary files differ
diff --git a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o
index 77acefa..4b98bd9 100644
--- a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o
+++ b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o
Binary files differ
diff --git a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/android_gradle_build.json b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/android_gradle_build.json
index 0f593d8..6e61e0d 100644
--- a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/android_gradle_build.json
+++ b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/android_gradle_build.json
@@ -1,44 +1,41 @@
-
 {
-	"buildFiles" : [ "C:/workspace/Security_alarm/app/CMakeLists.txt" ],
-	"cleanCommands" : 
-	[
-		"C:\\Users\\xiuxi\\AppData\\Local\\Android\\Sdk\\cmake\\3.6.4111459\\bin\\cmake.exe --build C:\\workspace\\Security_alarm\\app\\.externalNativeBuild\\cmake\\debug\\armeabi-v7a --target clean"
-	],
-	"cppFileExtensions" : [ "cpp" ],
-	"libraries" : 
-	{
-		"native-lib-Debug-armeabi-v7a" : 
-		{
-			"abi" : "armeabi-v7a",
-			"artifactName" : "native-lib",
-			"buildCommand" : "C:\\Users\\xiuxi\\AppData\\Local\\Android\\Sdk\\cmake\\3.6.4111459\\bin\\cmake.exe --build C:\\workspace\\Security_alarm\\app\\.externalNativeBuild\\cmake\\debug\\armeabi-v7a --target native-lib",
-			"buildType" : "debug",
-			"files" : 
-			[
-				
-				{
-					"flags" : "  --target=armv7-none-linux-androideabi --gcc-toolchain=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64 --sysroot=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sysroot  -Dnative_lib_EXPORTS -I..\\..\\..\\..\\src\\main\\cpp -I..\\..\\..\\..\\src\\main\\cpp\\csrc\\thirdparty -I..\\..\\..\\..\\src\\main\\cpp\\csrc\\thirdparty\\whereami -I..\\..\\..\\..\\src\\main\\cpp\\csrc\\thirdparty\\ffmpeg\\include -isystem C:\\Users\\xiuxi\\AppData\\Local\\Android\\Sdk\\ndk-bundle\\sources\\cxx-stl\\llvm-libc++\\include -isystem C:\\Users\\xiuxi\\AppData\\Local\\Android\\Sdk\\ndk-bundle\\sources\\android\\support\\include -isystem C:\\Users\\xiuxi\\AppData\\Local\\Android\\Sdk\\ndk-bundle\\sources\\cxx-stl\\llvm-libc++abi\\include  -DLIB_CFFMPEG -fPIC -Wl,-Bsymbolic -isystem C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sysroot/usr/include/arm-linux-androideabi -D__ANDROID_API__=21 -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mthumb -Wa,--noexecstack -Wformat -Werror=format-security -std=c++11 -frtti -fexceptions -w -g -O0 -std=c++11 -DLIB_CFFMPEG -fPIC -Wl,-Bsymbolic -isystem C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sysroot/usr/include/arm-linux-androideabi -D__ANDROID_API__=21 -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mthumb -Wa,--noexecstack -Wformat -Werror=format-security -std=c++11 -frtti -fexceptions -fPIC    -c ",
-					"src" : "C:/workspace/Security_alarm/app/src/main/cpp/native-lib.cpp",
-					"workingDirectory" : "C:/workspace/Security_alarm/app/.externalNativeBuild/cmake/debug/armeabi-v7a"
-				},
-				
-				{
-					"flags" : "  --target=armv7-none-linux-androideabi --gcc-toolchain=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64 --sysroot=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sysroot  -Dnative_lib_EXPORTS -I..\\..\\..\\..\\src\\main\\cpp -I..\\..\\..\\..\\src\\main\\cpp\\csrc\\thirdparty -I..\\..\\..\\..\\src\\main\\cpp\\csrc\\thirdparty\\whereami -I..\\..\\..\\..\\src\\main\\cpp\\csrc\\thirdparty\\ffmpeg\\include -isystem C:\\Users\\xiuxi\\AppData\\Local\\Android\\Sdk\\ndk-bundle\\sources\\cxx-stl\\llvm-libc++\\include -isystem C:\\Users\\xiuxi\\AppData\\Local\\Android\\Sdk\\ndk-bundle\\sources\\android\\support\\include -isystem C:\\Users\\xiuxi\\AppData\\Local\\Android\\Sdk\\ndk-bundle\\sources\\cxx-stl\\llvm-libc++abi\\include  -DLIB_CFFMPEG -fPIC -Wl,-Bsymbolic -isystem C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sysroot/usr/include/arm-linux-androideabi -D__ANDROID_API__=21 -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mthumb -Wa,--noexecstack -Wformat -Werror=format-security -std=c++11 -frtti -fexceptions -w -g -O0 -std=c++11 -DLIB_CFFMPEG -fPIC -Wl,-Bsymbolic -isystem C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sysroot/usr/include/arm-linux-androideabi -D__ANDROID_API__=21 -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mthumb -Wa,--noexecstack -Wformat -Werror=format-security -std=c++11 -frtti -fexceptions -fPIC    -c ",
-					"src" : "C:/workspace/Security_alarm/app/src/main/cpp/TCPClient.cpp",
-					"workingDirectory" : "C:/workspace/Security_alarm/app/.externalNativeBuild/cmake/debug/armeabi-v7a"
-				}
-			],
-			"output" : "C:/workspace/Security_alarm/app/build/intermediates/cmake/debug/obj/armeabi-v7a/libnative-lib.so",
-			"toolchain" : "1551467237"
-		}
-	},
-	"toolchains" : 
-	{
-		"1551467237" : 
-		{
-			"cCompilerExecutable" : "C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/clang.exe",
-			"cppCompilerExecutable" : "C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++.exe"
-		}
-	}
-}
+  "buildFiles": [
+    "C:\\Users\\xiuxi\\AppData\\Local\\Android\\Sdk\\ndk-bundle\\build\\cmake\\platforms.cmake",
+    "C:\\Users\\xiuxi\\AppData\\Local\\Android\\Sdk\\ndk-bundle\\build\\cmake\\android.toolchain.cmake",
+    "E:\\workspace\\Security_alarm\\app\\CMakeLists.txt"
+  ],
+  "cleanCommands": [
+    "C:\\Users\\xiuxi\\AppData\\Local\\Android\\Sdk\\cmake\\3.10.2.4988404\\bin\\cmake.exe --build E:\\workspace\\Security_alarm\\app\\.externalNativeBuild\\cmake\\debug\\armeabi-v7a --target clean"
+  ],
+  "libraries": {
+    "native-lib-Debug-armeabi-v7a": {
+      "buildCommand": "C:\\Users\\xiuxi\\AppData\\Local\\Android\\Sdk\\cmake\\3.10.2.4988404\\bin\\cmake.exe --build E:\\workspace\\Security_alarm\\app\\.externalNativeBuild\\cmake\\debug\\armeabi-v7a --target native-lib",
+      "buildType": "debug",
+      "toolchain": "4233829998",
+      "abi": "armeabi-v7a",
+      "artifactName": "native-lib",
+      "files": [
+        {
+          "src": "E:\\workspace\\Security_alarm\\app\\src\\main\\cpp\\native-lib.cpp",
+          "flags": "-DLIB_CFFMPEG -fPIC -Wl,-Bsymbolic -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -fno-addrsig -march=armv7-a -mthumb -Wa,--noexecstack -Wformat -Werror=format-security  -frtti -fexceptions -w -g -O0 -std=c++11 -DLIB_CFFMPEG -fPIC -Wl,-Bsymbolic -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -fno-addrsig -march=armv7-a -mthumb -Wa,--noexecstack -Wformat -Werror=format-security  -frtti -fexceptions -fPIC  ",
+          "workingDirectory": "E:\\workspace\\Security_alarm\\app\\.externalNativeBuild\\cmake\\debug\\armeabi-v7a"
+        },
+        {
+          "src": "E:\\workspace\\Security_alarm\\app\\src\\main\\cpp\\TCPClient.cpp",
+          "flags": "-DLIB_CFFMPEG -fPIC -Wl,-Bsymbolic -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -fno-addrsig -march=armv7-a -mthumb -Wa,--noexecstack -Wformat -Werror=format-security  -frtti -fexceptions -w -g -O0 -std=c++11 -DLIB_CFFMPEG -fPIC -Wl,-Bsymbolic -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -fno-addrsig -march=armv7-a -mthumb -Wa,--noexecstack -Wformat -Werror=format-security  -frtti -fexceptions -fPIC  ",
+          "workingDirectory": "E:\\workspace\\Security_alarm\\app\\.externalNativeBuild\\cmake\\debug\\armeabi-v7a"
+        }
+      ],
+      "output": "E:\\workspace\\Security_alarm\\app\\build\\intermediates\\cmake\\debug\\obj\\armeabi-v7a\\libnative-lib.so"
+    }
+  },
+  "toolchains": {
+    "4233829998": {
+      "cppCompilerExecutable": "C:\\Users\\xiuxi\\AppData\\Local\\Android\\Sdk\\ndk-bundle\\toolchains\\llvm\\prebuilt\\windows-x86_64\\bin\\clang++.exe"
+    }
+  },
+  "cFileExtensions": [],
+  "cppFileExtensions": [
+    "cpp"
+  ]
+}
\ No newline at end of file
diff --git a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/android_gradle_build_mini.json b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/android_gradle_build_mini.json
index dd57bef..a2f84b5 100644
--- a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/android_gradle_build_mini.json
+++ b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/android_gradle_build_mini.json
@@ -1,16 +1,18 @@
 {
   "buildFiles": [
-    "C:\\workspace\\Security_alarm\\app\\CMakeLists.txt"
+    "C:\\Users\\xiuxi\\AppData\\Local\\Android\\Sdk\\ndk-bundle\\build\\cmake\\platforms.cmake",
+    "C:\\Users\\xiuxi\\AppData\\Local\\Android\\Sdk\\ndk-bundle\\build\\cmake\\android.toolchain.cmake",
+    "E:\\workspace\\Security_alarm\\app\\CMakeLists.txt"
   ],
   "cleanCommands": [
-    "C:\\Users\\xiuxi\\AppData\\Local\\Android\\Sdk\\cmake\\3.6.4111459\\bin\\cmake.exe --build C:\\workspace\\Security_alarm\\app\\.externalNativeBuild\\cmake\\debug\\armeabi-v7a --target clean"
+    "C:\\Users\\xiuxi\\AppData\\Local\\Android\\Sdk\\cmake\\3.10.2.4988404\\bin\\cmake.exe --build E:\\workspace\\Security_alarm\\app\\.externalNativeBuild\\cmake\\debug\\armeabi-v7a --target clean"
   ],
   "libraries": {
     "native-lib-Debug-armeabi-v7a": {
       "artifactName": "native-lib",
-      "buildCommand": "C:\\Users\\xiuxi\\AppData\\Local\\Android\\Sdk\\cmake\\3.6.4111459\\bin\\cmake.exe --build C:\\workspace\\Security_alarm\\app\\.externalNativeBuild\\cmake\\debug\\armeabi-v7a --target native-lib",
+      "buildCommand": "C:\\Users\\xiuxi\\AppData\\Local\\Android\\Sdk\\cmake\\3.10.2.4988404\\bin\\cmake.exe --build E:\\workspace\\Security_alarm\\app\\.externalNativeBuild\\cmake\\debug\\armeabi-v7a --target native-lib",
       "abi": "armeabi-v7a",
-      "output": "C:\\workspace\\Security_alarm\\app\\build\\intermediates\\cmake\\debug\\obj\\armeabi-v7a\\libnative-lib.so"
+      "output": "E:\\workspace\\Security_alarm\\app\\build\\intermediates\\cmake\\debug\\obj\\armeabi-v7a\\libnative-lib.so"
     }
   }
 }
\ No newline at end of file
diff --git a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/build.ninja b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/build.ninja
index dc12eff..3a9771e 100644
--- a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/build.ninja
+++ b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/build.ninja
@@ -1,5 +1,5 @@
 # CMAKE generated file: DO NOT EDIT!
-# Generated by "Ninja" Generator, CMake Version 3.6
+# Generated by "Ninja" Generator, CMake Version 3.10
 
 # This file contains all the build statements describing the
 # compilation DAG.
@@ -32,20 +32,23 @@
 # =============================================================================
 # Object build statements for SHARED_LIBRARY target native-lib
 
-build CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o: CXX_COMPILER__native-lib ../../../../src/main/cpp/native-lib.cpp
+
+#############################################
+# Order-only phony target for native-lib
+
+build cmake_object_order_depends_target_native-lib: phony
+build CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o: CXX_COMPILER__native-lib ../../../../src/main/cpp/native-lib.cpp || cmake_object_order_depends_target_native-lib
   DEFINES = -Dnative_lib_EXPORTS
   DEP_FILE = CMakeFiles\native-lib.dir\src\main\cpp\native-lib.cpp.o.d
-  FLAGS = -DLIB_CFFMPEG -fPIC -Wl,-Bsymbolic -isystem C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sysroot/usr/include/arm-linux-androideabi -D__ANDROID_API__=21 -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mthumb -Wa,--noexecstack -Wformat -Werror=format-security -std=c++11 -frtti -fexceptions -w -g -O0 -std=c++11 -DLIB_CFFMPEG -fPIC -Wl,-Bsymbolic -isystem C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sysroot/usr/include/arm-linux-androideabi -D__ANDROID_API__=21 -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mthumb -Wa,--noexecstack -Wformat -Werror=format-security -std=c++11 -frtti -fexceptions -fPIC
-  INCLUDES = -I../../../../src/main/cpp -I../../../../src/main/cpp/csrc/thirdparty -I../../../../src/main/cpp/csrc/thirdparty/whereami -I../../../../src/main/cpp/csrc/thirdparty/ffmpeg/include -isystem C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include -isystem C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sources/android/support/include -isystem C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++abi/include
-  IN_ABS = C:\workspace\Security_alarm\app\src\main\cpp\native-lib.cpp
+  FLAGS = -DLIB_CFFMPEG -fPIC -Wl,-Bsymbolic -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -fno-addrsig -march=armv7-a -mthumb -Wa,--noexecstack -Wformat -Werror=format-security  -frtti -fexceptions -w -g -O0 -std=c++11 -DLIB_CFFMPEG -fPIC -Wl,-Bsymbolic -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -fno-addrsig -march=armv7-a -mthumb -Wa,--noexecstack -Wformat -Werror=format-security  -frtti -fexceptions -fPIC
+  INCLUDES = -I../../../../src/main/cpp -I../../../../src/main/cpp/csrc/thirdparty -I../../../../src/main/cpp/csrc/thirdparty/whereami -I../../../../src/main/cpp/csrc/thirdparty/ffmpeg/include
   OBJECT_DIR = CMakeFiles\native-lib.dir
   OBJECT_FILE_DIR = CMakeFiles\native-lib.dir\src\main\cpp
-build CMakeFiles/native-lib.dir/src/main/cpp/TCPClient.cpp.o: CXX_COMPILER__native-lib ../../../../src/main/cpp/TCPClient.cpp
+build CMakeFiles/native-lib.dir/src/main/cpp/TCPClient.cpp.o: CXX_COMPILER__native-lib ../../../../src/main/cpp/TCPClient.cpp || cmake_object_order_depends_target_native-lib
   DEFINES = -Dnative_lib_EXPORTS
   DEP_FILE = CMakeFiles\native-lib.dir\src\main\cpp\TCPClient.cpp.o.d
-  FLAGS = -DLIB_CFFMPEG -fPIC -Wl,-Bsymbolic -isystem C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sysroot/usr/include/arm-linux-androideabi -D__ANDROID_API__=21 -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mthumb -Wa,--noexecstack -Wformat -Werror=format-security -std=c++11 -frtti -fexceptions -w -g -O0 -std=c++11 -DLIB_CFFMPEG -fPIC -Wl,-Bsymbolic -isystem C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sysroot/usr/include/arm-linux-androideabi -D__ANDROID_API__=21 -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mthumb -Wa,--noexecstack -Wformat -Werror=format-security -std=c++11 -frtti -fexceptions -fPIC
-  INCLUDES = -I../../../../src/main/cpp -I../../../../src/main/cpp/csrc/thirdparty -I../../../../src/main/cpp/csrc/thirdparty/whereami -I../../../../src/main/cpp/csrc/thirdparty/ffmpeg/include -isystem C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include -isystem C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sources/android/support/include -isystem C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++abi/include
-  IN_ABS = C:\workspace\Security_alarm\app\src\main\cpp\TCPClient.cpp
+  FLAGS = -DLIB_CFFMPEG -fPIC -Wl,-Bsymbolic -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -fno-addrsig -march=armv7-a -mthumb -Wa,--noexecstack -Wformat -Werror=format-security  -frtti -fexceptions -w -g -O0 -std=c++11 -DLIB_CFFMPEG -fPIC -Wl,-Bsymbolic -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -fno-addrsig -march=armv7-a -mthumb -Wa,--noexecstack -Wformat -Werror=format-security  -frtti -fexceptions -fPIC
+  INCLUDES = -I../../../../src/main/cpp -I../../../../src/main/cpp/csrc/thirdparty -I../../../../src/main/cpp/csrc/thirdparty/whereami -I../../../../src/main/cpp/csrc/thirdparty/ffmpeg/include
   OBJECT_DIR = CMakeFiles\native-lib.dir
   OBJECT_FILE_DIR = CMakeFiles\native-lib.dir\src\main\cpp
 
@@ -56,10 +59,10 @@
 #############################################
 # Link the shared library ..\..\..\..\build\intermediates\cmake\debug\obj\armeabi-v7a\libnative-lib.so
 
-build ../../../../build/intermediates/cmake/debug/obj/armeabi-v7a/libnative-lib.so: CXX_SHARED_LIBRARY_LINKER__native-lib CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o CMakeFiles/native-lib.dir/src/main/cpp/TCPClient.cpp.o | C$:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/platforms/android-21/arch-arm/usr/lib/liblog.so
-  LANGUAGE_COMPILE_FLAGS = -DLIB_CFFMPEG -fPIC -Wl,-Bsymbolic -isystem C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sysroot/usr/include/arm-linux-androideabi -D__ANDROID_API__=21 -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mthumb -Wa,--noexecstack -Wformat -Werror=format-security -std=c++11 -frtti -fexceptions -w -g -O0 -std=c++11 -DLIB_CFFMPEG -fPIC -Wl,-Bsymbolic -isystem C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sysroot/usr/include/arm-linux-androideabi -D__ANDROID_API__=21 -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mthumb -Wa,--noexecstack -Wformat -Werror=format-security -std=c++11 -frtti -fexceptions
-  LINK_FLAGS = -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libatomic.a -nostdlib++ --sysroot C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/platforms/android-21/arch-arm -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -Wl,--fix-cortex-a8 -Wl,--exclude-libs,libunwind.a -LC:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a -Wl,--no-undefined -Wl,-z,noexecstack -Qunused-arguments -Wl,-z,relro -Wl,-z,now
-  LINK_LIBRARIES = -llog -latomic -lm "C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++_static.a" "C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++abi.a" "C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libunwind.a" "-ldl"
+build ../../../../build/intermediates/cmake/debug/obj/armeabi-v7a/libnative-lib.so: CXX_SHARED_LIBRARY_LINKER__native-lib CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o CMakeFiles/native-lib.dir/src/main/cpp/TCPClient.cpp.o | C$:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/sysroot/usr/lib/arm-linux-androideabi/21/liblog.so
+  LANGUAGE_COMPILE_FLAGS = -DLIB_CFFMPEG -fPIC -Wl,-Bsymbolic -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -fno-addrsig -march=armv7-a -mthumb -Wa,--noexecstack -Wformat -Werror=format-security  -frtti -fexceptions -w -g -O0 -std=c++11 -DLIB_CFFMPEG -fPIC -Wl,-Bsymbolic -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -fno-addrsig -march=armv7-a -mthumb -Wa,--noexecstack -Wformat -Werror=format-security  -frtti -fexceptions
+  LINK_FLAGS = -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libatomic.a -static-libstdc++ -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -Wl,--exclude-libs,libunwind.a -Wl,--no-undefined -Qunused-arguments -Wl,-z,noexecstack
+  LINK_LIBRARIES = -llog -latomic -lm
   LINK_PATH = -LC:/workspace/Security_alarm/app/src/main/cpp/csrc/thirdparty/ffmpeg/lib
   OBJECT_DIR = CMakeFiles\native-lib.dir
   POST_BUILD = cd .
@@ -73,7 +76,7 @@
 # Utility command for edit_cache
 
 build CMakeFiles/edit_cache.util: CUSTOM_COMMAND
-  COMMAND = cmd.exe /C "cd /D C:\workspace\Security_alarm\app\.externalNativeBuild\cmake\debug\armeabi-v7a && C:\Users\xiuxi\AppData\Local\Android\Sdk\cmake\3.6.4111459\bin\cmake.exe -E echo "No interactive CMake dialog available.""
+  COMMAND = cmd.exe /C "cd /D E:\workspace\Security_alarm\app\.externalNativeBuild\cmake\debug\armeabi-v7a && C:\Users\xiuxi\AppData\Local\Android\Sdk\cmake\3.10.2.4988404\bin\cmake.exe -E echo "No interactive CMake dialog available.""
   DESC = No interactive CMake dialog available...
   restat = 1
 build edit_cache: phony CMakeFiles/edit_cache.util
@@ -82,7 +85,7 @@
 # Utility command for rebuild_cache
 
 build CMakeFiles/rebuild_cache.util: CUSTOM_COMMAND
-  COMMAND = cmd.exe /C "cd /D C:\workspace\Security_alarm\app\.externalNativeBuild\cmake\debug\armeabi-v7a && C:\Users\xiuxi\AppData\Local\Android\Sdk\cmake\3.6.4111459\bin\cmake.exe -HC:\workspace\Security_alarm\app -BC:\workspace\Security_alarm\app\.externalNativeBuild\cmake\debug\armeabi-v7a"
+  COMMAND = cmd.exe /C "cd /D E:\workspace\Security_alarm\app\.externalNativeBuild\cmake\debug\armeabi-v7a && C:\Users\xiuxi\AppData\Local\Android\Sdk\cmake\3.10.2.4988404\bin\cmake.exe -HE:\workspace\Security_alarm\app -BE:\workspace\Security_alarm\app\.externalNativeBuild\cmake\debug\armeabi-v7a"
   DESC = Running CMake to regenerate build system...
   pool = console
   restat = 1
@@ -113,13 +116,13 @@
 #############################################
 # Re-run CMake if any of its inputs changed.
 
-build build.ninja: RERUN_CMAKE | ../../../../CMakeLists.txt C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/CMakeCInformation.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/CMakeCXXInformation.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/CMakeCommonLanguageInclude.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/CMakeGenericSystem.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/CMakeLanguageInformation.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/CMakeSystemSpecificInformation.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/CMakeSystemSpecificInitialize.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/Compiler/Clang-C.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/Compiler/Clang-CXX.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/Compiler/Clang.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/Compiler/GNU.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/Platform/Android.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/Platform/Linux.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/Platform/UnixPaths.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/build/cmake/android.toolchain.cmake CMakeCache.txt CMakeFiles/3.6.0-rc2/CMakeCCompiler.cmake CMakeFiles/3.6.0-rc2/CMakeCXXCompiler.cmake CMakeFiles/3.6.0-rc2/CMakeSystem.cmake
+build build.ninja: RERUN_CMAKE | ../../../../CMakeLists.txt C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeCCompiler.cmake.in C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeCCompilerABI.c C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeCInformation.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeCXXCompiler.cmake.in C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeCXXCompilerABI.cpp C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeCXXInformation.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeCommonLanguageInclude.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeDetermineCCompiler.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeDetermineCXXCompiler.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeDetermineCompileFeatures.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeDetermineCompiler.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeDetermineCompilerABI.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeDetermineSystem.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeFindBinUtils.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeGenericSystem.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeLanguageInformation.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeNinjaFindMake.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeParseImplicitLinkInfo.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeSystem.cmake.in C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeSystemSpecificInformation.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeSystemSpecificInitialize.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeTestCCompiler.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeTestCXXCompiler.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeTestCompilerCommon.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Compiler/CMakeCommonCompilerMacros.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Compiler/Clang-C-FeatureTests.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Compiler/Clang-C.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Compiler/Clang-CXX-FeatureTests.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Compiler/Clang-CXX-TestableFeatures.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Compiler/Clang-CXX.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Compiler/Clang-FindBinUtils.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Compiler/Clang.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Compiler/GNU.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Internal/FeatureTesting.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/Android-Clang-C.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/Android-Clang-CXX.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/Android-Clang.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/Android-Determine-C.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/Android-Determine-CXX.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/Android-Determine.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/Android-Initialize.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/Android.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/Android/Determine-Compiler.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/Linux.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/UnixPaths.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/build/cmake/android.toolchain.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/build/cmake/platforms.cmake CMakeCache.txt CMakeFiles/3.10.2/CMakeCCompiler.cmake CMakeFiles/3.10.2/CMakeCXXCompiler.cmake CMakeFiles/3.10.2/CMakeSystem.cmake CMakeFiles/feature_tests.c CMakeFiles/feature_tests.cxx
   pool = console
 
 #############################################
 # A missing CMake input file is not an error.
 
-build ../../../../CMakeLists.txt C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/CMakeCInformation.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/CMakeCXXInformation.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/CMakeCommonLanguageInclude.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/CMakeGenericSystem.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/CMakeLanguageInformation.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/CMakeSystemSpecificInformation.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/CMakeSystemSpecificInitialize.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/Compiler/Clang-C.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/Compiler/Clang-CXX.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/Compiler/Clang.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/Compiler/GNU.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/Platform/Android.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/Platform/Linux.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/Platform/UnixPaths.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/build/cmake/android.toolchain.cmake CMakeCache.txt CMakeFiles/3.6.0-rc2/CMakeCCompiler.cmake CMakeFiles/3.6.0-rc2/CMakeCXXCompiler.cmake CMakeFiles/3.6.0-rc2/CMakeSystem.cmake: phony
+build ../../../../CMakeLists.txt C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeCCompiler.cmake.in C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeCCompilerABI.c C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeCInformation.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeCXXCompiler.cmake.in C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeCXXCompilerABI.cpp C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeCXXInformation.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeCommonLanguageInclude.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeDetermineCCompiler.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeDetermineCXXCompiler.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeDetermineCompileFeatures.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeDetermineCompiler.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeDetermineCompilerABI.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeDetermineSystem.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeFindBinUtils.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeGenericSystem.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeLanguageInformation.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeNinjaFindMake.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeParseImplicitLinkInfo.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeSystem.cmake.in C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeSystemSpecificInformation.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeSystemSpecificInitialize.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeTestCCompiler.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeTestCXXCompiler.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeTestCompilerCommon.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Compiler/CMakeCommonCompilerMacros.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Compiler/Clang-C-FeatureTests.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Compiler/Clang-C.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Compiler/Clang-CXX-FeatureTests.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Compiler/Clang-CXX-TestableFeatures.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Compiler/Clang-CXX.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Compiler/Clang-FindBinUtils.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Compiler/Clang.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Compiler/GNU.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Internal/FeatureTesting.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/Android-Clang-C.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/Android-Clang-CXX.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/Android-Clang.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/Android-Determine-C.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/Android-Determine-CXX.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/Android-Determine.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/Android-Initialize.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/Android.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/Android/Determine-Compiler.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/Linux.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/UnixPaths.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/build/cmake/android.toolchain.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/build/cmake/platforms.cmake CMakeCache.txt CMakeFiles/3.10.2/CMakeCCompiler.cmake CMakeFiles/3.10.2/CMakeCXXCompiler.cmake CMakeFiles/3.10.2/CMakeSystem.cmake CMakeFiles/feature_tests.c CMakeFiles/feature_tests.cxx: phony
 
 #############################################
 # Clean all the built files.
diff --git a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/cmake_build_command.txt b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/cmake_build_command.txt
index 8c155b6..6ee295b 100644
--- a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/cmake_build_command.txt
+++ b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/cmake_build_command.txt
@@ -1,15 +1,19 @@
-Executable : C:\Users\xiuxi\AppData\Local\Android\Sdk\cmake\3.6.4111459\bin\cmake.exe
+Executable : C:\Users\xiuxi\AppData\Local\Android\Sdk\cmake\3.10.2.4988404\bin\cmake.exe
 arguments : 
--HC:\workspace\Security_alarm\app
--BC:\workspace\Security_alarm\app\.externalNativeBuild\cmake\debug\armeabi-v7a
+-HE:\workspace\Security_alarm\app
+-BE:\workspace\Security_alarm\app\.externalNativeBuild\cmake\debug\armeabi-v7a
 -DANDROID_ABI=armeabi-v7a
 -DANDROID_PLATFORM=android-21
--DCMAKE_LIBRARY_OUTPUT_DIRECTORY=C:\workspace\Security_alarm\app\build\intermediates\cmake\debug\obj\armeabi-v7a
+-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=E:\workspace\Security_alarm\app\build\intermediates\cmake\debug\obj\armeabi-v7a
 -DCMAKE_BUILD_TYPE=Debug
 -DANDROID_NDK=C:\Users\xiuxi\AppData\Local\Android\Sdk\ndk-bundle
 -DCMAKE_CXX_FLAGS=-frtti -fexceptions
+-DCMAKE_SYSTEM_NAME=Android
+-DCMAKE_ANDROID_ARCH_ABI=armeabi-v7a
+-DCMAKE_SYSTEM_VERSION=21
+-DCMAKE_EXPORT_COMPILE_COMMANDS=ON
+-DCMAKE_ANDROID_NDK=C:\Users\xiuxi\AppData\Local\Android\Sdk\ndk-bundle
 -DCMAKE_TOOLCHAIN_FILE=C:\Users\xiuxi\AppData\Local\Android\Sdk\ndk-bundle\build\cmake\android.toolchain.cmake
--DCMAKE_MAKE_PROGRAM=C:\Users\xiuxi\AppData\Local\Android\Sdk\cmake\3.6.4111459\bin\ninja.exe
--GAndroid Gradle - Ninja
+-G Ninja
 jvmArgs : 
 
diff --git a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/cmake_build_output.txt b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/cmake_build_output.txt
index 16c26c0..22f2a13 100644
--- a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/cmake_build_output.txt
+++ b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/cmake_build_output.txt
@@ -1,3 +1,13 @@
--- Configuring done
--- Generating done
--- Build files have been written to: C:/workspace/Security_alarm/app/.externalNativeBuild/cmake/debug/armeabi-v7a
+Check for working C compiler: C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/clang.exe
+Check for working C compiler: C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/clang.exe -- works
+Detecting C compiler ABI info
+Detecting C compiler ABI info - done
+Detecting C compile features
+Detecting C compile features - done
+Check for working CXX compiler: C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++.exe
+Check for working CXX compiler: C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++.exe -- works
+Detecting CXX compiler ABI info
+Detecting CXX compiler ABI info - done
+Detecting CXX compile features
+Detecting CXX compile features - done
+Configuring done
diff --git a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/cmake_install.cmake b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/cmake_install.cmake
index a3ff9e6..4ef707c 100644
--- a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/cmake_install.cmake
+++ b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/cmake_install.cmake
@@ -1,4 +1,4 @@
-# Install script for directory: C:/workspace/Security_alarm/app
+# Install script for directory: E:/workspace/Security_alarm/app
 
 # Set the install prefix
 if(NOT DEFINED CMAKE_INSTALL_PREFIX)
@@ -32,6 +32,11 @@
   set(CMAKE_INSTALL_SO_NO_EXE "0")
 endif()
 
+# Is this installation the result of a crosscompile?
+if(NOT DEFINED CMAKE_CROSSCOMPILING)
+  set(CMAKE_CROSSCOMPILING "TRUE")
+endif()
+
 if(CMAKE_INSTALL_COMPONENT)
   set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt")
 else()
@@ -40,5 +45,5 @@
 
 string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT
        "${CMAKE_INSTALL_MANIFEST_FILES}")
-file(WRITE "C:/workspace/Security_alarm/app/.externalNativeBuild/cmake/debug/armeabi-v7a/${CMAKE_INSTALL_MANIFEST}"
+file(WRITE "E:/workspace/Security_alarm/app/.externalNativeBuild/cmake/debug/armeabi-v7a/${CMAKE_INSTALL_MANIFEST}"
      "${CMAKE_INSTALL_MANIFEST_CONTENT}")
diff --git a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/rules.ninja b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/rules.ninja
index f24603e..d55e140 100644
--- a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/rules.ninja
+++ b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/rules.ninja
@@ -1,5 +1,5 @@
 # CMAKE generated file: DO NOT EDIT!
-# Generated by "Ninja" Generator, CMake Version 3.6
+# Generated by "Ninja" Generator, CMake Version 3.10
 
 # This file contains all the rules used to get the outputs files
 # built from the input files.
@@ -17,7 +17,7 @@
 rule CXX_COMPILER__native-lib
   depfile = $DEP_FILE
   deps = gcc
-  command = C:\Users\xiuxi\AppData\Local\Android\Sdk\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe  --target=armv7-none-linux-androideabi --gcc-toolchain=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64 --sysroot=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sysroot  $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $IN_ABS
+  command = C:\Users\xiuxi\AppData\Local\Android\Sdk\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe --target=armv7-none-linux-androideabi21 --gcc-toolchain=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64 --sysroot=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/sysroot  $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in
   description = Building CXX object $out
 
 
@@ -25,7 +25,7 @@
 # Rule for linking CXX shared library.
 
 rule CXX_SHARED_LIBRARY_LINKER__native-lib
-  command = cmd.exe /C "$PRE_LINK && C:\Users\xiuxi\AppData\Local\Android\Sdk\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe  --target=armv7-none-linux-androideabi --gcc-toolchain=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64 --sysroot=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sysroot -fPIC $LANGUAGE_COMPILE_FLAGS $ARCH_FLAGS $LINK_FLAGS -shared $SONAME_FLAG$SONAME -o $TARGET_FILE $in $LINK_PATH $LINK_LIBRARIES && $POST_BUILD"
+  command = cmd.exe /C "$PRE_LINK && C:\Users\xiuxi\AppData\Local\Android\Sdk\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe --target=armv7-none-linux-androideabi21 --gcc-toolchain=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64 --sysroot=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/sysroot -fPIC $LANGUAGE_COMPILE_FLAGS $ARCH_FLAGS $LINK_FLAGS -shared $SONAME_FLAG$SONAME -o $TARGET_FILE $in $LINK_PATH $LINK_LIBRARIES && $POST_BUILD"
   description = Linking CXX shared library $TARGET_FILE
   restat = $RESTAT
 
@@ -42,7 +42,7 @@
 # Rule for re-running cmake.
 
 rule RERUN_CMAKE
-  command = C:\Users\xiuxi\AppData\Local\Android\Sdk\cmake\3.6.4111459\bin\cmake.exe -HC:\workspace\Security_alarm\app -BC:\workspace\Security_alarm\app\.externalNativeBuild\cmake\debug\armeabi-v7a
+  command = C:\Users\xiuxi\AppData\Local\Android\Sdk\cmake\3.10.2.4988404\bin\cmake.exe -HE:\workspace\Security_alarm\app -BE:\workspace\Security_alarm\app\.externalNativeBuild\cmake\debug\armeabi-v7a
   description = Re-running CMake...
   generator = 1
 
@@ -51,7 +51,7 @@
 # Rule for cleaning all built files.
 
 rule CLEAN
-  command = C:\Users\xiuxi\AppData\Local\Android\Sdk\cmake\3.6.4111459\bin\ninja.exe -t clean
+  command = D:\program\ninja-master\ninja.exe -t clean
   description = Cleaning all built files...
 
 
@@ -59,6 +59,6 @@
 # Rule for printing all primary targets available.
 
 rule HELP
-  command = C:\Users\xiuxi\AppData\Local\Android\Sdk\cmake\3.6.4111459\bin\ninja.exe -t targets
+  command = D:\program\ninja-master\ninja.exe -t targets
   description = All primary targets available:
 
diff --git a/app/.externalNativeBuild/cmake/release/armeabi-v7a/CMakeCache.txt b/app/.externalNativeBuild/cmake/release/armeabi-v7a/CMakeCache.txt
index f8835e9..f52a84a 100644
--- a/app/.externalNativeBuild/cmake/release/armeabi-v7a/CMakeCache.txt
+++ b/app/.externalNativeBuild/cmake/release/armeabi-v7a/CMakeCache.txt
@@ -1,6 +1,6 @@
 # This is the CMakeCache file.
-# For build in directory: c:/workspace/Security_alarm/app/.externalNativeBuild/cmake/release/armeabi-v7a
-# It was generated by CMake: C:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/bin/cmake.exe
+# For build in directory: e:/workspace/Security_alarm/app/.externalNativeBuild/cmake/release/armeabi-v7a
+# It was generated by CMake: C:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/bin/cmake.exe
 # You can edit this file to change values found and used by cmake.
 # If you do not want to change any of the values, simply exit the editor.
 # If you do want to change a value, simply edit, save, and exit the editor.
@@ -23,8 +23,14 @@
 //No help, variable specified on the command line.
 ANDROID_PLATFORM:UNINITIALIZED=android-21
 
+//No help, variable specified on the command line.
+CMAKE_ANDROID_ARCH_ABI:UNINITIALIZED=armeabi-v7a
+
+//No help, variable specified on the command line.
+CMAKE_ANDROID_NDK:UNINITIALIZED=C:\Users\xiuxi\AppData\Local\Android\Sdk\ndk-bundle
+
 //Archiver
-CMAKE_AR:FILEPATH=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-ar.exe
+CMAKE_AR:FILEPATH=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/arm-linux-androideabi-ar.exe
 
 //Flags used by the compiler during all build types.
 CMAKE_ASM_FLAGS:STRING=
@@ -38,6 +44,12 @@
 //Choose the type of build, options are: None(CMAKE_CXX_FLAGS or
 // CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel.
 CMAKE_BUILD_TYPE:STRING=Release
+
+//LLVM archiver
+CMAKE_CXX_COMPILER_AR:FILEPATH=CMAKE_CXX_COMPILER_AR-NOTFOUND
+
+//Generate index for LLVM archive
+CMAKE_CXX_COMPILER_RANLIB:FILEPATH=CMAKE_CXX_COMPILER_RANLIB-NOTFOUND
 
 //Flags used by the compiler during all build types.
 CMAKE_CXX_FLAGS:STRING=-frtti -fexceptions
@@ -56,7 +68,13 @@
 CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
 
 //Libraries linked by default with all C++ applications.
-CMAKE_CXX_STANDARD_LIBRARIES:STRING=-latomic -lm "C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++_static.a" "C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++abi.a" "C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libunwind.a" "-ldl"
+CMAKE_CXX_STANDARD_LIBRARIES:STRING=-latomic -lm
+
+//LLVM archiver
+CMAKE_C_COMPILER_AR:FILEPATH=CMAKE_C_COMPILER_AR-NOTFOUND
+
+//Generate index for LLVM archive
+CMAKE_C_COMPILER_RANLIB:FILEPATH=CMAKE_C_COMPILER_RANLIB-NOTFOUND
 
 //Flags used by the compiler during all build types.
 CMAKE_C_FLAGS:STRING=
@@ -93,19 +111,19 @@
 CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
 
 //Enable/Disable output of compile commands during generation.
-CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=OFF
+CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=ON
 
 //Install path prefix, prepended onto install directories.
 CMAKE_INSTALL_PREFIX:PATH=C:/Program Files (x86)/Project
 
 //No help, variable specified on the command line.
-CMAKE_LIBRARY_OUTPUT_DIRECTORY:UNINITIALIZED=C:\workspace\Security_alarm\app\build\intermediates\cmake\release\obj\armeabi-v7a
+CMAKE_LIBRARY_OUTPUT_DIRECTORY:UNINITIALIZED=E:\workspace\Security_alarm\app\build\intermediates\cmake\release\obj\armeabi-v7a
 
 //Path to a program.
-CMAKE_LINKER:FILEPATH=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-ld.exe
+CMAKE_LINKER:FILEPATH=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/arm-linux-androideabi-ld.exe
 
-//No help, variable specified on the command line.
-CMAKE_MAKE_PROGRAM:UNINITIALIZED=C:\Users\xiuxi\AppData\Local\Android\Sdk\cmake\3.6.4111459\bin\ninja.exe
+//Program used to build from build.ninja files.
+CMAKE_MAKE_PROGRAM:FILEPATH=D:/program/ninja-master/ninja.exe
 
 //Flags used by the linker during the creation of modules.
 CMAKE_MODULE_LINKER_FLAGS:STRING=
@@ -123,19 +141,19 @@
 CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
 
 //Path to a program.
-CMAKE_NM:FILEPATH=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-nm.exe
+CMAKE_NM:FILEPATH=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/arm-linux-androideabi-nm.exe
 
 //Path to a program.
-CMAKE_OBJCOPY:FILEPATH=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-objcopy.exe
+CMAKE_OBJCOPY:FILEPATH=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/arm-linux-androideabi-objcopy.exe
 
 //Path to a program.
-CMAKE_OBJDUMP:FILEPATH=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-objdump.exe
+CMAKE_OBJDUMP:FILEPATH=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/arm-linux-androideabi-objdump.exe
 
 //Value Computed by CMake
 CMAKE_PROJECT_NAME:STATIC=Project
 
 //Ranlib
-CMAKE_RANLIB:FILEPATH=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-ranlib.exe
+CMAKE_RANLIB:FILEPATH=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/arm-linux-androideabi-ranlib.exe
 
 //Flags used by the linker during the creation of dll's.
 CMAKE_SHARED_LINKER_FLAGS:STRING=
@@ -175,10 +193,16 @@
 CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=
 
 //Path to a program.
-CMAKE_STRIP:FILEPATH=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-strip.exe
+CMAKE_STRIP:FILEPATH=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/arm-linux-androideabi-strip.exe
 
 //No help, variable specified on the command line.
-CMAKE_TOOLCHAIN_FILE:UNINITIALIZED=C:\Users\xiuxi\AppData\Local\Android\Sdk\ndk-bundle\build\cmake\android.toolchain.cmake
+CMAKE_SYSTEM_NAME:UNINITIALIZED=Android
+
+//No help, variable specified on the command line.
+CMAKE_SYSTEM_VERSION:UNINITIALIZED=21
+
+//The CMake toolchain file
+CMAKE_TOOLCHAIN_FILE:FILEPATH=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/build/cmake/android.toolchain.cmake
 
 //If this value is on, makefiles will be generated without the
 // .SILENT directive, and all commands will be echoed to the console
@@ -187,16 +211,16 @@
 CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
 
 //Value Computed by CMake
-Project_BINARY_DIR:STATIC=C:/workspace/Security_alarm/app/.externalNativeBuild/cmake/release/armeabi-v7a
+Project_BINARY_DIR:STATIC=E:/workspace/Security_alarm/app/.externalNativeBuild/cmake/release/armeabi-v7a
 
 //Value Computed by CMake
-Project_SOURCE_DIR:STATIC=C:/workspace/Security_alarm/app
+Project_SOURCE_DIR:STATIC=E:/workspace/Security_alarm/app
 
 //Path to a library.
-log-lib:FILEPATH=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/platforms/android-21/arch-arm/usr/lib/liblog.so
+log-lib:FILEPATH=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/sysroot/usr/lib/arm-linux-androideabi/21/liblog.so
 
 //Dependencies for the target
-native-lib_LIB_DEPENDS:STATIC=general;C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/platforms/android-21/arch-arm/usr/lib/liblog.so;
+native-lib_LIB_DEPENDS:STATIC=general;C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/sysroot/usr/lib/arm-linux-androideabi/21/liblog.so;
 
 
 ########################
@@ -206,19 +230,23 @@
 //ADVANCED property for variable: CMAKE_AR
 CMAKE_AR-ADVANCED:INTERNAL=1
 //This is the directory where this CMakeCache.txt was created
-CMAKE_CACHEFILE_DIR:INTERNAL=c:/workspace/Security_alarm/app/.externalNativeBuild/cmake/release/armeabi-v7a
+CMAKE_CACHEFILE_DIR:INTERNAL=e:/workspace/Security_alarm/app/.externalNativeBuild/cmake/release/armeabi-v7a
 //Major version of cmake used to create the current loaded cache
 CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3
 //Minor version of cmake used to create the current loaded cache
-CMAKE_CACHE_MINOR_VERSION:INTERNAL=6
+CMAKE_CACHE_MINOR_VERSION:INTERNAL=10
 //Patch version of cmake used to create the current loaded cache
-CMAKE_CACHE_PATCH_VERSION:INTERNAL=0
+CMAKE_CACHE_PATCH_VERSION:INTERNAL=2
 //Path to CMake executable.
-CMAKE_COMMAND:INTERNAL=C:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/bin/cmake.exe
+CMAKE_COMMAND:INTERNAL=C:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/bin/cmake.exe
 //Path to cpack program executable.
-CMAKE_CPACK_COMMAND:INTERNAL=C:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/bin/cpack.exe
+CMAKE_CPACK_COMMAND:INTERNAL=C:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/bin/cpack.exe
 //Path to ctest program executable.
-CMAKE_CTEST_COMMAND:INTERNAL=C:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/bin/ctest.exe
+CMAKE_CTEST_COMMAND:INTERNAL=C:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/bin/ctest.exe
+//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR
+CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB
+CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1
 //ADVANCED property for variable: CMAKE_CXX_FLAGS
 CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1
 //ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG
@@ -231,6 +259,10 @@
 CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
 //ADVANCED property for variable: CMAKE_CXX_STANDARD_LIBRARIES
 CMAKE_CXX_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_COMPILER_AR
+CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB
+CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1
 //ADVANCED property for variable: CMAKE_C_FLAGS
 CMAKE_C_FLAGS-ADVANCED:INTERNAL=1
 //ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG
@@ -256,7 +288,7 @@
 //ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS
 CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1
 //Name of external makefile project generator.
-CMAKE_EXTRA_GENERATOR:INTERNAL=Android Gradle
+CMAKE_EXTRA_GENERATOR:INTERNAL=
 //Name of generator.
 CMAKE_GENERATOR:INTERNAL=Ninja
 //Name of generator platform.
@@ -265,11 +297,13 @@
 CMAKE_GENERATOR_TOOLSET:INTERNAL=
 //Source directory with the top level CMakeLists.txt file for this
 // project
-CMAKE_HOME_DIRECTORY:INTERNAL=C:/workspace/Security_alarm/app
+CMAKE_HOME_DIRECTORY:INTERNAL=E:/workspace/Security_alarm/app
 //Install .so files without execute permission.
 CMAKE_INSTALL_SO_NO_EXE:INTERNAL=0
 //ADVANCED property for variable: CMAKE_LINKER
 CMAKE_LINKER-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MAKE_PROGRAM
+CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1
 //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS
 CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
 //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
@@ -288,10 +322,12 @@
 CMAKE_OBJCOPY-ADVANCED:INTERNAL=1
 //ADVANCED property for variable: CMAKE_OBJDUMP
 CMAKE_OBJDUMP-ADVANCED:INTERNAL=1
+//Platform information initialized
+CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1
 //ADVANCED property for variable: CMAKE_RANLIB
 CMAKE_RANLIB-ADVANCED:INTERNAL=1
 //Path to CMake installation.
-CMAKE_ROOT:INTERNAL=C:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6
+CMAKE_ROOT:INTERNAL=C:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10
 //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
 CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
 //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
diff --git a/app/.externalNativeBuild/cmake/release/armeabi-v7a/CMakeFiles/3.6.0-rc2/CMakeCCompiler.cmake b/app/.externalNativeBuild/cmake/release/armeabi-v7a/CMakeFiles/3.6.0-rc2/CMakeCCompiler.cmake
deleted file mode 100644
index 31419ef..0000000
--- a/app/.externalNativeBuild/cmake/release/armeabi-v7a/CMakeFiles/3.6.0-rc2/CMakeCCompiler.cmake
+++ /dev/null
@@ -1,67 +0,0 @@
-set(CMAKE_C_COMPILER "C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/clang.exe")
-set(CMAKE_C_COMPILER_ARG1 "")
-set(CMAKE_C_COMPILER_ID "Clang")
-set(CMAKE_C_COMPILER_VERSION "3.8")
-set(CMAKE_C_COMPILER_WRAPPER "")
-set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "11")
-set(CMAKE_C_COMPILE_FEATURES "c_function_prototypes;c_restrict;c_variadic_macros;c_static_assert")
-set(CMAKE_C90_COMPILE_FEATURES "c_function_prototypes")
-set(CMAKE_C99_COMPILE_FEATURES "c_restrict;c_variadic_macros")
-set(CMAKE_C11_COMPILE_FEATURES "c_static_assert")
-
-set(CMAKE_C_PLATFORM_ID "")
-set(CMAKE_C_SIMULATE_ID "")
-set(CMAKE_C_SIMULATE_VERSION "")
-
-set(CMAKE_AR "C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-ar.exe")
-set(CMAKE_RANLIB "C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-ranlib.exe")
-set(CMAKE_LINKER "C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-ld.exe")
-set(CMAKE_COMPILER_IS_GNUCC )
-set(CMAKE_C_COMPILER_LOADED 1)
-set(CMAKE_C_COMPILER_WORKS TRUE)
-set(CMAKE_C_ABI_COMPILED TRUE)
-set(CMAKE_COMPILER_IS_MINGW )
-set(CMAKE_COMPILER_IS_CYGWIN )
-if(CMAKE_COMPILER_IS_CYGWIN)
-  set(CYGWIN 1)
-  set(UNIX 1)
-endif()
-
-set(CMAKE_C_COMPILER_ENV_VAR "CC")
-
-if(CMAKE_COMPILER_IS_MINGW)
-  set(MINGW 1)
-endif()
-set(CMAKE_C_COMPILER_ID_RUN 1)
-set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m)
-set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
-set(CMAKE_C_LINKER_PREFERENCE 10)
-
-# Save compiler ABI information.
-set(CMAKE_C_SIZEOF_DATA_PTR "4")
-set(CMAKE_C_COMPILER_ABI "ELF")
-set(CMAKE_C_LIBRARY_ARCHITECTURE "")
-
-if(CMAKE_C_SIZEOF_DATA_PTR)
-  set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}")
-endif()
-
-if(CMAKE_C_COMPILER_ABI)
-  set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}")
-endif()
-
-if(CMAKE_C_LIBRARY_ARCHITECTURE)
-  set(CMAKE_LIBRARY_ARCHITECTURE "")
-endif()
-
-set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "")
-if(CMAKE_C_CL_SHOWINCLUDES_PREFIX)
-  set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}")
-endif()
-
-
-
-
-set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "dl;c;dl")
-set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a;C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/lib64/clang/6.0.2/lib/linux/arm;C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/lib/gcc/arm-linux-androideabi/4.9.x/armv7-a/thumb;C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/arm-linux-androideabi/lib/armv7-a/thumb;C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/platforms/android-21/arch-arm/usr/lib")
-set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
diff --git a/app/.externalNativeBuild/cmake/release/armeabi-v7a/CMakeFiles/3.6.0-rc2/CMakeCXXCompiler.cmake b/app/.externalNativeBuild/cmake/release/armeabi-v7a/CMakeFiles/3.6.0-rc2/CMakeCXXCompiler.cmake
deleted file mode 100644
index d3f9564..0000000
--- a/app/.externalNativeBuild/cmake/release/armeabi-v7a/CMakeFiles/3.6.0-rc2/CMakeCXXCompiler.cmake
+++ /dev/null
@@ -1,68 +0,0 @@
-set(CMAKE_CXX_COMPILER "C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++.exe")
-set(CMAKE_CXX_COMPILER_ARG1 "")
-set(CMAKE_CXX_COMPILER_ID "Clang")
-set(CMAKE_CXX_COMPILER_VERSION "3.8")
-set(CMAKE_CXX_COMPILER_WRAPPER "")
-set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "98")
-set(CMAKE_CXX_COMPILE_FEATURES "cxx_template_template_parameters;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates")
-set(CMAKE_CXX98_COMPILE_FEATURES "cxx_template_template_parameters")
-set(CMAKE_CXX11_COMPILE_FEATURES "cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates")
-set(CMAKE_CXX14_COMPILE_FEATURES "cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates")
-
-set(CMAKE_CXX_PLATFORM_ID "")
-set(CMAKE_CXX_SIMULATE_ID "")
-set(CMAKE_CXX_SIMULATE_VERSION "")
-
-set(CMAKE_AR "C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-ar.exe")
-set(CMAKE_RANLIB "C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-ranlib.exe")
-set(CMAKE_LINKER "C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-ld.exe")
-set(CMAKE_COMPILER_IS_GNUCXX )
-set(CMAKE_CXX_COMPILER_LOADED 1)
-set(CMAKE_CXX_COMPILER_WORKS TRUE)
-set(CMAKE_CXX_ABI_COMPILED TRUE)
-set(CMAKE_COMPILER_IS_MINGW )
-set(CMAKE_COMPILER_IS_CYGWIN )
-if(CMAKE_COMPILER_IS_CYGWIN)
-  set(CYGWIN 1)
-  set(UNIX 1)
-endif()
-
-set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
-
-if(CMAKE_COMPILER_IS_MINGW)
-  set(MINGW 1)
-endif()
-set(CMAKE_CXX_COMPILER_ID_RUN 1)
-set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
-set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;mm;CPP)
-set(CMAKE_CXX_LINKER_PREFERENCE 30)
-set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
-
-# Save compiler ABI information.
-set(CMAKE_CXX_SIZEOF_DATA_PTR "4")
-set(CMAKE_CXX_COMPILER_ABI "ELF")
-set(CMAKE_CXX_LIBRARY_ARCHITECTURE "")
-
-if(CMAKE_CXX_SIZEOF_DATA_PTR)
-  set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}")
-endif()
-
-if(CMAKE_CXX_COMPILER_ABI)
-  set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}")
-endif()
-
-if(CMAKE_CXX_LIBRARY_ARCHITECTURE)
-  set(CMAKE_LIBRARY_ARCHITECTURE "")
-endif()
-
-set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "")
-if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX)
-  set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}")
-endif()
-
-
-
-
-set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "m;dl;c;dl")
-set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a;C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/lib64/clang/6.0.2/lib/linux/arm;C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/lib/gcc/arm-linux-androideabi/4.9.x/armv7-a/thumb;C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/arm-linux-androideabi/lib/armv7-a/thumb;C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/platforms/android-21/arch-arm/usr/lib")
-set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
diff --git a/app/.externalNativeBuild/cmake/release/armeabi-v7a/CMakeFiles/3.6.0-rc2/CMakeDetermineCompilerABI_C.bin b/app/.externalNativeBuild/cmake/release/armeabi-v7a/CMakeFiles/3.6.0-rc2/CMakeDetermineCompilerABI_C.bin
deleted file mode 100644
index 9dfa308..0000000
--- a/app/.externalNativeBuild/cmake/release/armeabi-v7a/CMakeFiles/3.6.0-rc2/CMakeDetermineCompilerABI_C.bin
+++ /dev/null
Binary files differ
diff --git a/app/.externalNativeBuild/cmake/release/armeabi-v7a/CMakeFiles/3.6.0-rc2/CMakeDetermineCompilerABI_CXX.bin b/app/.externalNativeBuild/cmake/release/armeabi-v7a/CMakeFiles/3.6.0-rc2/CMakeDetermineCompilerABI_CXX.bin
deleted file mode 100644
index 43e21ce..0000000
--- a/app/.externalNativeBuild/cmake/release/armeabi-v7a/CMakeFiles/3.6.0-rc2/CMakeDetermineCompilerABI_CXX.bin
+++ /dev/null
Binary files differ
diff --git a/app/.externalNativeBuild/cmake/release/armeabi-v7a/CMakeFiles/3.6.0-rc2/CMakeSystem.cmake b/app/.externalNativeBuild/cmake/release/armeabi-v7a/CMakeFiles/3.6.0-rc2/CMakeSystem.cmake
deleted file mode 100644
index 60c40b0..0000000
--- a/app/.externalNativeBuild/cmake/release/armeabi-v7a/CMakeFiles/3.6.0-rc2/CMakeSystem.cmake
+++ /dev/null
@@ -1,15 +0,0 @@
-set(CMAKE_HOST_SYSTEM "Windows-10.0.10586")
-set(CMAKE_HOST_SYSTEM_NAME "Windows")
-set(CMAKE_HOST_SYSTEM_VERSION "10.0.10586")
-set(CMAKE_HOST_SYSTEM_PROCESSOR "AMD64")
-
-include("C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/build/cmake/android.toolchain.cmake")
-
-set(CMAKE_SYSTEM "Android-1")
-set(CMAKE_SYSTEM_NAME "Android")
-set(CMAKE_SYSTEM_VERSION "1")
-set(CMAKE_SYSTEM_PROCESSOR "armv7-a")
-
-set(CMAKE_CROSSCOMPILING "TRUE")
-
-set(CMAKE_SYSTEM_LOADED 1)
diff --git a/app/.externalNativeBuild/cmake/release/armeabi-v7a/CMakeFiles/TargetDirectories.txt b/app/.externalNativeBuild/cmake/release/armeabi-v7a/CMakeFiles/TargetDirectories.txt
index ab4d1f9..834f072 100644
--- a/app/.externalNativeBuild/cmake/release/armeabi-v7a/CMakeFiles/TargetDirectories.txt
+++ b/app/.externalNativeBuild/cmake/release/armeabi-v7a/CMakeFiles/TargetDirectories.txt
@@ -1,3 +1,3 @@
-C:/workspace/Security_alarm/app/.externalNativeBuild/cmake/release/armeabi-v7a/CMakeFiles/native-lib.dir
-C:/workspace/Security_alarm/app/.externalNativeBuild/cmake/release/armeabi-v7a/CMakeFiles/edit_cache.dir
-C:/workspace/Security_alarm/app/.externalNativeBuild/cmake/release/armeabi-v7a/CMakeFiles/rebuild_cache.dir
+E:/workspace/Security_alarm/app/.externalNativeBuild/cmake/release/armeabi-v7a/CMakeFiles/native-lib.dir
+E:/workspace/Security_alarm/app/.externalNativeBuild/cmake/release/armeabi-v7a/CMakeFiles/edit_cache.dir
+E:/workspace/Security_alarm/app/.externalNativeBuild/cmake/release/armeabi-v7a/CMakeFiles/rebuild_cache.dir
diff --git a/app/.externalNativeBuild/cmake/release/armeabi-v7a/CMakeFiles/feature_tests.bin b/app/.externalNativeBuild/cmake/release/armeabi-v7a/CMakeFiles/feature_tests.bin
index dd71113..35804e1 100644
--- a/app/.externalNativeBuild/cmake/release/armeabi-v7a/CMakeFiles/feature_tests.bin
+++ b/app/.externalNativeBuild/cmake/release/armeabi-v7a/CMakeFiles/feature_tests.bin
Binary files differ
diff --git a/app/.externalNativeBuild/cmake/release/armeabi-v7a/CMakeFiles/feature_tests.cxx b/app/.externalNativeBuild/cmake/release/armeabi-v7a/CMakeFiles/feature_tests.cxx
index a9b4791..703b335 100644
--- a/app/.externalNativeBuild/cmake/release/armeabi-v7a/CMakeFiles/feature_tests.cxx
+++ b/app/.externalNativeBuild/cmake/release/armeabi-v7a/CMakeFiles/feature_tests.cxx
@@ -1,35 +1,35 @@
 
   const char features[] = {"\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_aggregate_nsdmi)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_aggregate_nsdmi)
 "1"
 #else
 "0"
 #endif
 "cxx_aggregate_default_initializers\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_alias_templates)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_alias_templates)
 "1"
 #else
 "0"
 #endif
 "cxx_alias_templates\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_alignas)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_alignas)
 "1"
 #else
 "0"
 #endif
 "cxx_alignas\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_alignas)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_alignas)
 "1"
 #else
 "0"
 #endif
 "cxx_alignof\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_attributes)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_attributes)
 "1"
 #else
 "0"
@@ -43,35 +43,35 @@
 #endif
 "cxx_attribute_deprecated\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_auto_type)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_auto_type)
 "1"
 #else
 "0"
 #endif
 "cxx_auto_type\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_binary_literals)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_binary_literals)
 "1"
 #else
 "0"
 #endif
 "cxx_binary_literals\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_constexpr)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_constexpr)
 "1"
 #else
 "0"
 #endif
 "cxx_constexpr\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_contextual_conversions)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_contextual_conversions)
 "1"
 #else
 "0"
 #endif
 "cxx_contextual_conversions\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_decltype)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_decltype)
 "1"
 #else
 "0"
@@ -85,42 +85,42 @@
 #endif
 "cxx_decltype_auto\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_decltype_incomplete_return_types)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_decltype_incomplete_return_types)
 "1"
 #else
 "0"
 #endif
 "cxx_decltype_incomplete_return_types\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_default_function_template_args)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_default_function_template_args)
 "1"
 #else
 "0"
 #endif
 "cxx_default_function_template_args\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_defaulted_functions)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_defaulted_functions)
 "1"
 #else
 "0"
 #endif
 "cxx_defaulted_functions\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_defaulted_functions)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_defaulted_functions)
 "1"
 #else
 "0"
 #endif
 "cxx_defaulted_move_initializers\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_delegating_constructors)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_delegating_constructors)
 "1"
 #else
 "0"
 #endif
 "cxx_delegating_constructors\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_deleted_functions)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_deleted_functions)
 "1"
 #else
 "0"
@@ -134,49 +134,49 @@
 #endif
 "cxx_digit_separators\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __cplusplus >= 201103L
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __cplusplus >= 201103L
 "1"
 #else
 "0"
 #endif
 "cxx_enum_forward_declarations\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_explicit_conversions)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_explicit_conversions)
 "1"
 #else
 "0"
 #endif
 "cxx_explicit_conversions\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __cplusplus >= 201103L
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __cplusplus >= 201103L
 "1"
 #else
 "0"
 #endif
 "cxx_extended_friend_declarations\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __cplusplus >= 201103L
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __cplusplus >= 201103L
 "1"
 #else
 "0"
 #endif
 "cxx_extern_templates\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_override_control)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_override_control)
 "1"
 #else
 "0"
 #endif
 "cxx_final\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __cplusplus >= 201103L
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __cplusplus >= 201103L
 "1"
 #else
 "0"
 #endif
 "cxx_func_identifier\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_generalized_initializers)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_generalized_initializers)
 "1"
 #else
 "0"
@@ -190,210 +190,210 @@
 #endif
 "cxx_generic_lambdas\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_inheriting_constructors)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_inheriting_constructors)
 "1"
 #else
 "0"
 #endif
 "cxx_inheriting_constructors\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __cplusplus >= 201103L
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __cplusplus >= 201103L
 "1"
 #else
 "0"
 #endif
 "cxx_inline_namespaces\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_lambdas)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_lambdas)
 "1"
 #else
 "0"
 #endif
 "cxx_lambdas\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_init_captures)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_init_captures)
 "1"
 #else
 "0"
 #endif
 "cxx_lambda_init_captures\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_local_type_template_args)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_local_type_template_args)
 "1"
 #else
 "0"
 #endif
 "cxx_local_type_template_args\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __cplusplus >= 201103L
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __cplusplus >= 201103L
 "1"
 #else
 "0"
 #endif
 "cxx_long_long_type\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_noexcept)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_noexcept)
 "1"
 #else
 "0"
 #endif
 "cxx_noexcept\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_nonstatic_member_init)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_nonstatic_member_init)
 "1"
 #else
 "0"
 #endif
 "cxx_nonstatic_member_init\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_nullptr)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_nullptr)
 "1"
 #else
 "0"
 #endif
 "cxx_nullptr\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_override_control)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_override_control)
 "1"
 #else
 "0"
 #endif
 "cxx_override\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_range_for)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_range_for)
 "1"
 #else
 "0"
 #endif
 "cxx_range_for\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_raw_string_literals)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_raw_string_literals)
 "1"
 #else
 "0"
 #endif
 "cxx_raw_string_literals\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_reference_qualified_functions)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_reference_qualified_functions)
 "1"
 #else
 "0"
 #endif
 "cxx_reference_qualified_functions\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_relaxed_constexpr)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_relaxed_constexpr)
 "1"
 #else
 "0"
 #endif
 "cxx_relaxed_constexpr\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_return_type_deduction)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_return_type_deduction)
 "1"
 #else
 "0"
 #endif
 "cxx_return_type_deduction\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __cplusplus >= 201103L
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __cplusplus >= 201103L
 "1"
 #else
 "0"
 #endif
 "cxx_right_angle_brackets\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_rvalue_references)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_rvalue_references)
 "1"
 #else
 "0"
 #endif
 "cxx_rvalue_references\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __cplusplus >= 201103L
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __cplusplus >= 201103L
 "1"
 #else
 "0"
 #endif
 "cxx_sizeof_member\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_static_assert)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_static_assert)
 "1"
 #else
 "0"
 #endif
 "cxx_static_assert\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_strong_enums)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_strong_enums)
 "1"
 #else
 "0"
 #endif
 "cxx_strong_enums\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __cplusplus >= 199711L
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __cplusplus >= 199711L
 "1"
 #else
 "0"
 #endif
 "cxx_template_template_parameters\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_thread_local)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_thread_local)
 "1"
 #else
 "0"
 #endif
 "cxx_thread_local\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_trailing_return)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_trailing_return)
 "1"
 #else
 "0"
 #endif
 "cxx_trailing_return_types\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_unicode_literals)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_unicode_literals)
 "1"
 #else
 "0"
 #endif
 "cxx_unicode_literals\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_generalized_initializers)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_generalized_initializers)
 "1"
 #else
 "0"
 #endif
 "cxx_uniform_initialization\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_unrestricted_unions)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_unrestricted_unions)
 "1"
 #else
 "0"
 #endif
 "cxx_unrestricted_unions\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_user_literals)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_user_literals)
 "1"
 #else
 "0"
 #endif
 "cxx_user_literals\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_variable_templates)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_variable_templates)
 "1"
 #else
 "0"
 #endif
 "cxx_variable_templates\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __cplusplus >= 201103L
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __cplusplus >= 201103L
 "1"
 #else
 "0"
 #endif
 "cxx_variadic_macros\n"
 "CXX_FEATURE:"
-#if ((__clang_major__ * 100) + __clang_minor__) >= 304 && __has_feature(cxx_variadic_templates)
+#if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_variadic_templates)
 "1"
 #else
 "0"
diff --git a/app/.externalNativeBuild/cmake/release/armeabi-v7a/android_gradle_build.json b/app/.externalNativeBuild/cmake/release/armeabi-v7a/android_gradle_build.json
index 2dad617..eb2a252 100644
--- a/app/.externalNativeBuild/cmake/release/armeabi-v7a/android_gradle_build.json
+++ b/app/.externalNativeBuild/cmake/release/armeabi-v7a/android_gradle_build.json
@@ -1,44 +1,41 @@
-
 {
-	"buildFiles" : [ "C:/workspace/Security_alarm/app/CMakeLists.txt" ],
-	"cleanCommands" : 
-	[
-		"C:\\Users\\xiuxi\\AppData\\Local\\Android\\Sdk\\cmake\\3.6.4111459\\bin\\cmake.exe --build C:\\workspace\\Security_alarm\\app\\.externalNativeBuild\\cmake\\release\\armeabi-v7a --target clean"
-	],
-	"cppFileExtensions" : [ "cpp" ],
-	"libraries" : 
-	{
-		"native-lib-Release-armeabi-v7a" : 
-		{
-			"abi" : "armeabi-v7a",
-			"artifactName" : "native-lib",
-			"buildCommand" : "C:\\Users\\xiuxi\\AppData\\Local\\Android\\Sdk\\cmake\\3.6.4111459\\bin\\cmake.exe --build C:\\workspace\\Security_alarm\\app\\.externalNativeBuild\\cmake\\release\\armeabi-v7a --target native-lib",
-			"buildType" : "release",
-			"files" : 
-			[
-				
-				{
-					"flags" : "  --target=armv7-none-linux-androideabi --gcc-toolchain=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64 --sysroot=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sysroot  -Dnative_lib_EXPORTS -I..\\..\\..\\..\\src\\main\\cpp -I..\\..\\..\\..\\src\\main\\cpp\\csrc\\thirdparty -I..\\..\\..\\..\\src\\main\\cpp\\csrc\\thirdparty\\whereami -I..\\..\\..\\..\\src\\main\\cpp\\csrc\\thirdparty\\ffmpeg\\include -isystem C:\\Users\\xiuxi\\AppData\\Local\\Android\\Sdk\\ndk-bundle\\sources\\cxx-stl\\llvm-libc++\\include -isystem C:\\Users\\xiuxi\\AppData\\Local\\Android\\Sdk\\ndk-bundle\\sources\\android\\support\\include -isystem C:\\Users\\xiuxi\\AppData\\Local\\Android\\Sdk\\ndk-bundle\\sources\\cxx-stl\\llvm-libc++abi\\include  -DLIB_CFFMPEG -fPIC -Wl,-Bsymbolic -isystem C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sysroot/usr/include/arm-linux-androideabi -D__ANDROID_API__=21 -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mthumb -Wa,--noexecstack -Wformat -Werror=format-security -std=c++11 -frtti -fexceptions -w -g -O2 -std=c++11 -DLIB_CFFMPEG -fPIC -Wl,-Bsymbolic -isystem C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sysroot/usr/include/arm-linux-androideabi -D__ANDROID_API__=21 -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mthumb -Wa,--noexecstack -Wformat -Werror=format-security -std=c++11 -frtti -fexceptions -fPIC    -c ",
-					"src" : "C:/workspace/Security_alarm/app/src/main/cpp/native-lib.cpp",
-					"workingDirectory" : "C:/workspace/Security_alarm/app/.externalNativeBuild/cmake/release/armeabi-v7a"
-				},
-				
-				{
-					"flags" : "  --target=armv7-none-linux-androideabi --gcc-toolchain=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64 --sysroot=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sysroot  -Dnative_lib_EXPORTS -I..\\..\\..\\..\\src\\main\\cpp -I..\\..\\..\\..\\src\\main\\cpp\\csrc\\thirdparty -I..\\..\\..\\..\\src\\main\\cpp\\csrc\\thirdparty\\whereami -I..\\..\\..\\..\\src\\main\\cpp\\csrc\\thirdparty\\ffmpeg\\include -isystem C:\\Users\\xiuxi\\AppData\\Local\\Android\\Sdk\\ndk-bundle\\sources\\cxx-stl\\llvm-libc++\\include -isystem C:\\Users\\xiuxi\\AppData\\Local\\Android\\Sdk\\ndk-bundle\\sources\\android\\support\\include -isystem C:\\Users\\xiuxi\\AppData\\Local\\Android\\Sdk\\ndk-bundle\\sources\\cxx-stl\\llvm-libc++abi\\include  -DLIB_CFFMPEG -fPIC -Wl,-Bsymbolic -isystem C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sysroot/usr/include/arm-linux-androideabi -D__ANDROID_API__=21 -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mthumb -Wa,--noexecstack -Wformat -Werror=format-security -std=c++11 -frtti -fexceptions -w -g -O2 -std=c++11 -DLIB_CFFMPEG -fPIC -Wl,-Bsymbolic -isystem C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sysroot/usr/include/arm-linux-androideabi -D__ANDROID_API__=21 -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mthumb -Wa,--noexecstack -Wformat -Werror=format-security -std=c++11 -frtti -fexceptions -fPIC    -c ",
-					"src" : "C:/workspace/Security_alarm/app/src/main/cpp/TCPClient.cpp",
-					"workingDirectory" : "C:/workspace/Security_alarm/app/.externalNativeBuild/cmake/release/armeabi-v7a"
-				}
-			],
-			"output" : "C:/workspace/Security_alarm/app/build/intermediates/cmake/release/obj/armeabi-v7a/libnative-lib.so",
-			"toolchain" : "1551467237"
-		}
-	},
-	"toolchains" : 
-	{
-		"1551467237" : 
-		{
-			"cCompilerExecutable" : "C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/clang.exe",
-			"cppCompilerExecutable" : "C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++.exe"
-		}
-	}
-}
+  "buildFiles": [
+    "C:\\Users\\xiuxi\\AppData\\Local\\Android\\Sdk\\ndk-bundle\\build\\cmake\\platforms.cmake",
+    "C:\\Users\\xiuxi\\AppData\\Local\\Android\\Sdk\\ndk-bundle\\build\\cmake\\android.toolchain.cmake",
+    "E:\\workspace\\Security_alarm\\app\\CMakeLists.txt"
+  ],
+  "cleanCommands": [
+    "C:\\Users\\xiuxi\\AppData\\Local\\Android\\Sdk\\cmake\\3.10.2.4988404\\bin\\cmake.exe --build E:\\workspace\\Security_alarm\\app\\.externalNativeBuild\\cmake\\release\\armeabi-v7a --target clean"
+  ],
+  "libraries": {
+    "native-lib-Release-armeabi-v7a": {
+      "buildCommand": "C:\\Users\\xiuxi\\AppData\\Local\\Android\\Sdk\\cmake\\3.10.2.4988404\\bin\\cmake.exe --build E:\\workspace\\Security_alarm\\app\\.externalNativeBuild\\cmake\\release\\armeabi-v7a --target native-lib",
+      "buildType": "release",
+      "toolchain": "4233829998",
+      "abi": "armeabi-v7a",
+      "artifactName": "native-lib",
+      "files": [
+        {
+          "src": "E:\\workspace\\Security_alarm\\app\\src\\main\\cpp\\native-lib.cpp",
+          "flags": "-DLIB_CFFMPEG -fPIC -Wl,-Bsymbolic -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -fno-addrsig -march=armv7-a -mthumb -Wa,--noexecstack -Wformat -Werror=format-security  -frtti -fexceptions -w -g -O2 -std=c++11 -DLIB_CFFMPEG -fPIC -Wl,-Bsymbolic -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -fno-addrsig -march=armv7-a -mthumb -Wa,--noexecstack -Wformat -Werror=format-security  -frtti -fexceptions -fPIC  ",
+          "workingDirectory": "E:\\workspace\\Security_alarm\\app\\.externalNativeBuild\\cmake\\release\\armeabi-v7a"
+        },
+        {
+          "src": "E:\\workspace\\Security_alarm\\app\\src\\main\\cpp\\TCPClient.cpp",
+          "flags": "-DLIB_CFFMPEG -fPIC -Wl,-Bsymbolic -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -fno-addrsig -march=armv7-a -mthumb -Wa,--noexecstack -Wformat -Werror=format-security  -frtti -fexceptions -w -g -O2 -std=c++11 -DLIB_CFFMPEG -fPIC -Wl,-Bsymbolic -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -fno-addrsig -march=armv7-a -mthumb -Wa,--noexecstack -Wformat -Werror=format-security  -frtti -fexceptions -fPIC  ",
+          "workingDirectory": "E:\\workspace\\Security_alarm\\app\\.externalNativeBuild\\cmake\\release\\armeabi-v7a"
+        }
+      ],
+      "output": "E:\\workspace\\Security_alarm\\app\\build\\intermediates\\cmake\\release\\obj\\armeabi-v7a\\libnative-lib.so"
+    }
+  },
+  "toolchains": {
+    "4233829998": {
+      "cppCompilerExecutable": "C:\\Users\\xiuxi\\AppData\\Local\\Android\\Sdk\\ndk-bundle\\toolchains\\llvm\\prebuilt\\windows-x86_64\\bin\\clang++.exe"
+    }
+  },
+  "cFileExtensions": [],
+  "cppFileExtensions": [
+    "cpp"
+  ]
+}
\ No newline at end of file
diff --git a/app/.externalNativeBuild/cmake/release/armeabi-v7a/android_gradle_build_mini.json b/app/.externalNativeBuild/cmake/release/armeabi-v7a/android_gradle_build_mini.json
index 8a16b51..c0d6d10 100644
--- a/app/.externalNativeBuild/cmake/release/armeabi-v7a/android_gradle_build_mini.json
+++ b/app/.externalNativeBuild/cmake/release/armeabi-v7a/android_gradle_build_mini.json
@@ -1,16 +1,18 @@
 {
   "buildFiles": [
-    "C:\\workspace\\Security_alarm\\app\\CMakeLists.txt"
+    "C:\\Users\\xiuxi\\AppData\\Local\\Android\\Sdk\\ndk-bundle\\build\\cmake\\platforms.cmake",
+    "C:\\Users\\xiuxi\\AppData\\Local\\Android\\Sdk\\ndk-bundle\\build\\cmake\\android.toolchain.cmake",
+    "E:\\workspace\\Security_alarm\\app\\CMakeLists.txt"
   ],
   "cleanCommands": [
-    "C:\\Users\\xiuxi\\AppData\\Local\\Android\\Sdk\\cmake\\3.6.4111459\\bin\\cmake.exe --build C:\\workspace\\Security_alarm\\app\\.externalNativeBuild\\cmake\\release\\armeabi-v7a --target clean"
+    "C:\\Users\\xiuxi\\AppData\\Local\\Android\\Sdk\\cmake\\3.10.2.4988404\\bin\\cmake.exe --build E:\\workspace\\Security_alarm\\app\\.externalNativeBuild\\cmake\\release\\armeabi-v7a --target clean"
   ],
   "libraries": {
     "native-lib-Release-armeabi-v7a": {
       "artifactName": "native-lib",
-      "buildCommand": "C:\\Users\\xiuxi\\AppData\\Local\\Android\\Sdk\\cmake\\3.6.4111459\\bin\\cmake.exe --build C:\\workspace\\Security_alarm\\app\\.externalNativeBuild\\cmake\\release\\armeabi-v7a --target native-lib",
+      "buildCommand": "C:\\Users\\xiuxi\\AppData\\Local\\Android\\Sdk\\cmake\\3.10.2.4988404\\bin\\cmake.exe --build E:\\workspace\\Security_alarm\\app\\.externalNativeBuild\\cmake\\release\\armeabi-v7a --target native-lib",
       "abi": "armeabi-v7a",
-      "output": "C:\\workspace\\Security_alarm\\app\\build\\intermediates\\cmake\\release\\obj\\armeabi-v7a\\libnative-lib.so"
+      "output": "E:\\workspace\\Security_alarm\\app\\build\\intermediates\\cmake\\release\\obj\\armeabi-v7a\\libnative-lib.so"
     }
   }
 }
\ No newline at end of file
diff --git a/app/.externalNativeBuild/cmake/release/armeabi-v7a/build.ninja b/app/.externalNativeBuild/cmake/release/armeabi-v7a/build.ninja
index 0fae237..80db52e 100644
--- a/app/.externalNativeBuild/cmake/release/armeabi-v7a/build.ninja
+++ b/app/.externalNativeBuild/cmake/release/armeabi-v7a/build.ninja
@@ -1,5 +1,5 @@
 # CMAKE generated file: DO NOT EDIT!
-# Generated by "Ninja" Generator, CMake Version 3.6
+# Generated by "Ninja" Generator, CMake Version 3.10
 
 # This file contains all the build statements describing the
 # compilation DAG.
@@ -32,20 +32,23 @@
 # =============================================================================
 # Object build statements for SHARED_LIBRARY target native-lib
 
-build CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o: CXX_COMPILER__native-lib ../../../../src/main/cpp/native-lib.cpp
+
+#############################################
+# Order-only phony target for native-lib
+
+build cmake_object_order_depends_target_native-lib: phony
+build CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o: CXX_COMPILER__native-lib ../../../../src/main/cpp/native-lib.cpp || cmake_object_order_depends_target_native-lib
   DEFINES = -Dnative_lib_EXPORTS
   DEP_FILE = CMakeFiles\native-lib.dir\src\main\cpp\native-lib.cpp.o.d
-  FLAGS = -DLIB_CFFMPEG -fPIC -Wl,-Bsymbolic -isystem C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sysroot/usr/include/arm-linux-androideabi -D__ANDROID_API__=21 -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mthumb -Wa,--noexecstack -Wformat -Werror=format-security -std=c++11 -frtti -fexceptions -w -g -O2 -std=c++11 -DLIB_CFFMPEG -fPIC -Wl,-Bsymbolic -isystem C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sysroot/usr/include/arm-linux-androideabi -D__ANDROID_API__=21 -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mthumb -Wa,--noexecstack -Wformat -Werror=format-security -std=c++11 -frtti -fexceptions -fPIC
-  INCLUDES = -I../../../../src/main/cpp -I../../../../src/main/cpp/csrc/thirdparty -I../../../../src/main/cpp/csrc/thirdparty/whereami -I../../../../src/main/cpp/csrc/thirdparty/ffmpeg/include -isystem C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include -isystem C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sources/android/support/include -isystem C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++abi/include
-  IN_ABS = C:\workspace\Security_alarm\app\src\main\cpp\native-lib.cpp
+  FLAGS = -DLIB_CFFMPEG -fPIC -Wl,-Bsymbolic -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -fno-addrsig -march=armv7-a -mthumb -Wa,--noexecstack -Wformat -Werror=format-security  -frtti -fexceptions -w -g -O2 -std=c++11 -DLIB_CFFMPEG -fPIC -Wl,-Bsymbolic -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -fno-addrsig -march=armv7-a -mthumb -Wa,--noexecstack -Wformat -Werror=format-security  -frtti -fexceptions -fPIC
+  INCLUDES = -I../../../../src/main/cpp -I../../../../src/main/cpp/csrc/thirdparty -I../../../../src/main/cpp/csrc/thirdparty/whereami -I../../../../src/main/cpp/csrc/thirdparty/ffmpeg/include
   OBJECT_DIR = CMakeFiles\native-lib.dir
   OBJECT_FILE_DIR = CMakeFiles\native-lib.dir\src\main\cpp
-build CMakeFiles/native-lib.dir/src/main/cpp/TCPClient.cpp.o: CXX_COMPILER__native-lib ../../../../src/main/cpp/TCPClient.cpp
+build CMakeFiles/native-lib.dir/src/main/cpp/TCPClient.cpp.o: CXX_COMPILER__native-lib ../../../../src/main/cpp/TCPClient.cpp || cmake_object_order_depends_target_native-lib
   DEFINES = -Dnative_lib_EXPORTS
   DEP_FILE = CMakeFiles\native-lib.dir\src\main\cpp\TCPClient.cpp.o.d
-  FLAGS = -DLIB_CFFMPEG -fPIC -Wl,-Bsymbolic -isystem C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sysroot/usr/include/arm-linux-androideabi -D__ANDROID_API__=21 -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mthumb -Wa,--noexecstack -Wformat -Werror=format-security -std=c++11 -frtti -fexceptions -w -g -O2 -std=c++11 -DLIB_CFFMPEG -fPIC -Wl,-Bsymbolic -isystem C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sysroot/usr/include/arm-linux-androideabi -D__ANDROID_API__=21 -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mthumb -Wa,--noexecstack -Wformat -Werror=format-security -std=c++11 -frtti -fexceptions -fPIC
-  INCLUDES = -I../../../../src/main/cpp -I../../../../src/main/cpp/csrc/thirdparty -I../../../../src/main/cpp/csrc/thirdparty/whereami -I../../../../src/main/cpp/csrc/thirdparty/ffmpeg/include -isystem C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include -isystem C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sources/android/support/include -isystem C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++abi/include
-  IN_ABS = C:\workspace\Security_alarm\app\src\main\cpp\TCPClient.cpp
+  FLAGS = -DLIB_CFFMPEG -fPIC -Wl,-Bsymbolic -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -fno-addrsig -march=armv7-a -mthumb -Wa,--noexecstack -Wformat -Werror=format-security  -frtti -fexceptions -w -g -O2 -std=c++11 -DLIB_CFFMPEG -fPIC -Wl,-Bsymbolic -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -fno-addrsig -march=armv7-a -mthumb -Wa,--noexecstack -Wformat -Werror=format-security  -frtti -fexceptions -fPIC
+  INCLUDES = -I../../../../src/main/cpp -I../../../../src/main/cpp/csrc/thirdparty -I../../../../src/main/cpp/csrc/thirdparty/whereami -I../../../../src/main/cpp/csrc/thirdparty/ffmpeg/include
   OBJECT_DIR = CMakeFiles\native-lib.dir
   OBJECT_FILE_DIR = CMakeFiles\native-lib.dir\src\main\cpp
 
@@ -56,10 +59,10 @@
 #############################################
 # Link the shared library ..\..\..\..\build\intermediates\cmake\release\obj\armeabi-v7a\libnative-lib.so
 
-build ../../../../build/intermediates/cmake/release/obj/armeabi-v7a/libnative-lib.so: CXX_SHARED_LIBRARY_LINKER__native-lib CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o CMakeFiles/native-lib.dir/src/main/cpp/TCPClient.cpp.o | C$:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/platforms/android-21/arch-arm/usr/lib/liblog.so
-  LANGUAGE_COMPILE_FLAGS = -DLIB_CFFMPEG -fPIC -Wl,-Bsymbolic -isystem C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sysroot/usr/include/arm-linux-androideabi -D__ANDROID_API__=21 -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mthumb -Wa,--noexecstack -Wformat -Werror=format-security -std=c++11 -frtti -fexceptions -w -g -O2 -std=c++11 -DLIB_CFFMPEG -fPIC -Wl,-Bsymbolic -isystem C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sysroot/usr/include/arm-linux-androideabi -D__ANDROID_API__=21 -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mthumb -Wa,--noexecstack -Wformat -Werror=format-security -std=c++11 -frtti -fexceptions
-  LINK_FLAGS = -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libatomic.a -nostdlib++ --sysroot C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/platforms/android-21/arch-arm -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -Wl,--fix-cortex-a8 -Wl,--exclude-libs,libunwind.a -LC:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a -Wl,--no-undefined -Wl,-z,noexecstack -Qunused-arguments -Wl,-z,relro -Wl,-z,now
-  LINK_LIBRARIES = -llog -latomic -lm "C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++_static.a" "C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++abi.a" "C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libunwind.a" "-ldl"
+build ../../../../build/intermediates/cmake/release/obj/armeabi-v7a/libnative-lib.so: CXX_SHARED_LIBRARY_LINKER__native-lib CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o CMakeFiles/native-lib.dir/src/main/cpp/TCPClient.cpp.o | C$:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/sysroot/usr/lib/arm-linux-androideabi/21/liblog.so
+  LANGUAGE_COMPILE_FLAGS = -DLIB_CFFMPEG -fPIC -Wl,-Bsymbolic -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -fno-addrsig -march=armv7-a -mthumb -Wa,--noexecstack -Wformat -Werror=format-security  -frtti -fexceptions -w -g -O2 -std=c++11 -DLIB_CFFMPEG -fPIC -Wl,-Bsymbolic -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -fno-addrsig -march=armv7-a -mthumb -Wa,--noexecstack -Wformat -Werror=format-security  -frtti -fexceptions
+  LINK_FLAGS = -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libatomic.a -static-libstdc++ -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -Wl,--exclude-libs,libunwind.a -Wl,--no-undefined -Qunused-arguments -Wl,-z,noexecstack
+  LINK_LIBRARIES = -llog -latomic -lm
   LINK_PATH = -LC:/workspace/Security_alarm/app/src/main/cpp/csrc/thirdparty/ffmpeg/lib
   OBJECT_DIR = CMakeFiles\native-lib.dir
   POST_BUILD = cd .
@@ -73,7 +76,7 @@
 # Utility command for edit_cache
 
 build CMakeFiles/edit_cache.util: CUSTOM_COMMAND
-  COMMAND = cmd.exe /C "cd /D C:\workspace\Security_alarm\app\.externalNativeBuild\cmake\release\armeabi-v7a && C:\Users\xiuxi\AppData\Local\Android\Sdk\cmake\3.6.4111459\bin\cmake.exe -E echo "No interactive CMake dialog available.""
+  COMMAND = cmd.exe /C "cd /D E:\workspace\Security_alarm\app\.externalNativeBuild\cmake\release\armeabi-v7a && C:\Users\xiuxi\AppData\Local\Android\Sdk\cmake\3.10.2.4988404\bin\cmake.exe -E echo "No interactive CMake dialog available.""
   DESC = No interactive CMake dialog available...
   restat = 1
 build edit_cache: phony CMakeFiles/edit_cache.util
@@ -82,7 +85,7 @@
 # Utility command for rebuild_cache
 
 build CMakeFiles/rebuild_cache.util: CUSTOM_COMMAND
-  COMMAND = cmd.exe /C "cd /D C:\workspace\Security_alarm\app\.externalNativeBuild\cmake\release\armeabi-v7a && C:\Users\xiuxi\AppData\Local\Android\Sdk\cmake\3.6.4111459\bin\cmake.exe -HC:\workspace\Security_alarm\app -BC:\workspace\Security_alarm\app\.externalNativeBuild\cmake\release\armeabi-v7a"
+  COMMAND = cmd.exe /C "cd /D E:\workspace\Security_alarm\app\.externalNativeBuild\cmake\release\armeabi-v7a && C:\Users\xiuxi\AppData\Local\Android\Sdk\cmake\3.10.2.4988404\bin\cmake.exe -HE:\workspace\Security_alarm\app -BE:\workspace\Security_alarm\app\.externalNativeBuild\cmake\release\armeabi-v7a"
   DESC = Running CMake to regenerate build system...
   pool = console
   restat = 1
@@ -113,13 +116,13 @@
 #############################################
 # Re-run CMake if any of its inputs changed.
 
-build build.ninja: RERUN_CMAKE | ../../../../CMakeLists.txt C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/CMakeCInformation.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/CMakeCXXInformation.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/CMakeCommonLanguageInclude.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/CMakeGenericSystem.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/CMakeLanguageInformation.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/CMakeSystemSpecificInformation.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/CMakeSystemSpecificInitialize.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/Compiler/Clang-C.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/Compiler/Clang-CXX.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/Compiler/Clang.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/Compiler/GNU.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/Platform/Android.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/Platform/Linux.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/Platform/UnixPaths.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/build/cmake/android.toolchain.cmake CMakeCache.txt CMakeFiles/3.6.0-rc2/CMakeCCompiler.cmake CMakeFiles/3.6.0-rc2/CMakeCXXCompiler.cmake CMakeFiles/3.6.0-rc2/CMakeSystem.cmake
+build build.ninja: RERUN_CMAKE | ../../../../CMakeLists.txt C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeCCompiler.cmake.in C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeCCompilerABI.c C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeCInformation.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeCXXCompiler.cmake.in C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeCXXCompilerABI.cpp C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeCXXInformation.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeCommonLanguageInclude.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeDetermineCCompiler.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeDetermineCXXCompiler.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeDetermineCompileFeatures.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeDetermineCompiler.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeDetermineCompilerABI.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeDetermineSystem.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeFindBinUtils.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeGenericSystem.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeLanguageInformation.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeNinjaFindMake.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeParseImplicitLinkInfo.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeSystem.cmake.in C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeSystemSpecificInformation.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeSystemSpecificInitialize.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeTestCCompiler.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeTestCXXCompiler.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeTestCompilerCommon.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Compiler/CMakeCommonCompilerMacros.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Compiler/Clang-C-FeatureTests.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Compiler/Clang-C.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Compiler/Clang-CXX-FeatureTests.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Compiler/Clang-CXX-TestableFeatures.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Compiler/Clang-CXX.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Compiler/Clang-FindBinUtils.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Compiler/Clang.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Compiler/GNU.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Internal/FeatureTesting.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/Android-Clang-C.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/Android-Clang-CXX.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/Android-Clang.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/Android-Determine-C.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/Android-Determine-CXX.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/Android-Determine.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/Android-Initialize.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/Android.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/Android/Determine-Compiler.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/Linux.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/UnixPaths.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/build/cmake/android.toolchain.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/build/cmake/platforms.cmake CMakeCache.txt CMakeFiles/3.10.2/CMakeCCompiler.cmake CMakeFiles/3.10.2/CMakeCXXCompiler.cmake CMakeFiles/3.10.2/CMakeSystem.cmake CMakeFiles/feature_tests.c CMakeFiles/feature_tests.cxx
   pool = console
 
 #############################################
 # A missing CMake input file is not an error.
 
-build ../../../../CMakeLists.txt C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/CMakeCInformation.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/CMakeCXXInformation.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/CMakeCommonLanguageInclude.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/CMakeGenericSystem.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/CMakeLanguageInformation.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/CMakeSystemSpecificInformation.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/CMakeSystemSpecificInitialize.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/Compiler/Clang-C.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/Compiler/Clang-CXX.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/Compiler/Clang.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/Compiler/GNU.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/Platform/Android.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/Platform/Linux.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/Platform/UnixPaths.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/build/cmake/android.toolchain.cmake CMakeCache.txt CMakeFiles/3.6.0-rc2/CMakeCCompiler.cmake CMakeFiles/3.6.0-rc2/CMakeCXXCompiler.cmake CMakeFiles/3.6.0-rc2/CMakeSystem.cmake: phony
+build ../../../../CMakeLists.txt C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeCCompiler.cmake.in C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeCCompilerABI.c C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeCInformation.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeCXXCompiler.cmake.in C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeCXXCompilerABI.cpp C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeCXXInformation.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeCommonLanguageInclude.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeDetermineCCompiler.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeDetermineCXXCompiler.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeDetermineCompileFeatures.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeDetermineCompiler.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeDetermineCompilerABI.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeDetermineSystem.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeFindBinUtils.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeGenericSystem.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeLanguageInformation.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeNinjaFindMake.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeParseImplicitLinkInfo.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeSystem.cmake.in C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeSystemSpecificInformation.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeSystemSpecificInitialize.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeTestCCompiler.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeTestCXXCompiler.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeTestCompilerCommon.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Compiler/CMakeCommonCompilerMacros.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Compiler/Clang-C-FeatureTests.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Compiler/Clang-C.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Compiler/Clang-CXX-FeatureTests.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Compiler/Clang-CXX-TestableFeatures.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Compiler/Clang-CXX.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Compiler/Clang-FindBinUtils.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Compiler/Clang.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Compiler/GNU.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Internal/FeatureTesting.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/Android-Clang-C.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/Android-Clang-CXX.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/Android-Clang.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/Android-Determine-C.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/Android-Determine-CXX.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/Android-Determine.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/Android-Initialize.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/Android.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/Android/Determine-Compiler.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/Linux.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/UnixPaths.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/build/cmake/android.toolchain.cmake C$:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/build/cmake/platforms.cmake CMakeCache.txt CMakeFiles/3.10.2/CMakeCCompiler.cmake CMakeFiles/3.10.2/CMakeCXXCompiler.cmake CMakeFiles/3.10.2/CMakeSystem.cmake CMakeFiles/feature_tests.c CMakeFiles/feature_tests.cxx: phony
 
 #############################################
 # Clean all the built files.
diff --git a/app/.externalNativeBuild/cmake/release/armeabi-v7a/cmake_build_command.txt b/app/.externalNativeBuild/cmake/release/armeabi-v7a/cmake_build_command.txt
index bf8cf3e..b4d856d 100644
--- a/app/.externalNativeBuild/cmake/release/armeabi-v7a/cmake_build_command.txt
+++ b/app/.externalNativeBuild/cmake/release/armeabi-v7a/cmake_build_command.txt
@@ -1,15 +1,19 @@
-Executable : C:\Users\xiuxi\AppData\Local\Android\Sdk\cmake\3.6.4111459\bin\cmake.exe
+Executable : C:\Users\xiuxi\AppData\Local\Android\Sdk\cmake\3.10.2.4988404\bin\cmake.exe
 arguments : 
--HC:\workspace\Security_alarm\app
--BC:\workspace\Security_alarm\app\.externalNativeBuild\cmake\release\armeabi-v7a
+-HE:\workspace\Security_alarm\app
+-BE:\workspace\Security_alarm\app\.externalNativeBuild\cmake\release\armeabi-v7a
 -DANDROID_ABI=armeabi-v7a
 -DANDROID_PLATFORM=android-21
--DCMAKE_LIBRARY_OUTPUT_DIRECTORY=C:\workspace\Security_alarm\app\build\intermediates\cmake\release\obj\armeabi-v7a
+-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=E:\workspace\Security_alarm\app\build\intermediates\cmake\release\obj\armeabi-v7a
 -DCMAKE_BUILD_TYPE=Release
 -DANDROID_NDK=C:\Users\xiuxi\AppData\Local\Android\Sdk\ndk-bundle
 -DCMAKE_CXX_FLAGS=-frtti -fexceptions
+-DCMAKE_SYSTEM_NAME=Android
+-DCMAKE_ANDROID_ARCH_ABI=armeabi-v7a
+-DCMAKE_SYSTEM_VERSION=21
+-DCMAKE_EXPORT_COMPILE_COMMANDS=ON
+-DCMAKE_ANDROID_NDK=C:\Users\xiuxi\AppData\Local\Android\Sdk\ndk-bundle
 -DCMAKE_TOOLCHAIN_FILE=C:\Users\xiuxi\AppData\Local\Android\Sdk\ndk-bundle\build\cmake\android.toolchain.cmake
--DCMAKE_MAKE_PROGRAM=C:\Users\xiuxi\AppData\Local\Android\Sdk\cmake\3.6.4111459\bin\ninja.exe
--GAndroid Gradle - Ninja
+-G Ninja
 jvmArgs : 
 
diff --git a/app/.externalNativeBuild/cmake/release/armeabi-v7a/cmake_build_output.txt b/app/.externalNativeBuild/cmake/release/armeabi-v7a/cmake_build_output.txt
index dde84ac..22f2a13 100644
--- a/app/.externalNativeBuild/cmake/release/armeabi-v7a/cmake_build_output.txt
+++ b/app/.externalNativeBuild/cmake/release/armeabi-v7a/cmake_build_output.txt
@@ -1,3 +1,13 @@
--- Configuring done
--- Generating done
--- Build files have been written to: C:/workspace/Security_alarm/app/.externalNativeBuild/cmake/release/armeabi-v7a
+Check for working C compiler: C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/clang.exe
+Check for working C compiler: C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/clang.exe -- works
+Detecting C compiler ABI info
+Detecting C compiler ABI info - done
+Detecting C compile features
+Detecting C compile features - done
+Check for working CXX compiler: C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++.exe
+Check for working CXX compiler: C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++.exe -- works
+Detecting CXX compiler ABI info
+Detecting CXX compiler ABI info - done
+Detecting CXX compile features
+Detecting CXX compile features - done
+Configuring done
diff --git a/app/.externalNativeBuild/cmake/release/armeabi-v7a/cmake_install.cmake b/app/.externalNativeBuild/cmake/release/armeabi-v7a/cmake_install.cmake
index 66a1462..4d64f23 100644
--- a/app/.externalNativeBuild/cmake/release/armeabi-v7a/cmake_install.cmake
+++ b/app/.externalNativeBuild/cmake/release/armeabi-v7a/cmake_install.cmake
@@ -1,4 +1,4 @@
-# Install script for directory: C:/workspace/Security_alarm/app
+# Install script for directory: E:/workspace/Security_alarm/app
 
 # Set the install prefix
 if(NOT DEFINED CMAKE_INSTALL_PREFIX)
@@ -32,6 +32,11 @@
   set(CMAKE_INSTALL_SO_NO_EXE "0")
 endif()
 
+# Is this installation the result of a crosscompile?
+if(NOT DEFINED CMAKE_CROSSCOMPILING)
+  set(CMAKE_CROSSCOMPILING "TRUE")
+endif()
+
 if(CMAKE_INSTALL_COMPONENT)
   set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt")
 else()
@@ -40,5 +45,5 @@
 
 string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT
        "${CMAKE_INSTALL_MANIFEST_FILES}")
-file(WRITE "C:/workspace/Security_alarm/app/.externalNativeBuild/cmake/release/armeabi-v7a/${CMAKE_INSTALL_MANIFEST}"
+file(WRITE "E:/workspace/Security_alarm/app/.externalNativeBuild/cmake/release/armeabi-v7a/${CMAKE_INSTALL_MANIFEST}"
      "${CMAKE_INSTALL_MANIFEST_CONTENT}")
diff --git a/app/.externalNativeBuild/cmake/release/armeabi-v7a/rules.ninja b/app/.externalNativeBuild/cmake/release/armeabi-v7a/rules.ninja
index b22efd5..63a5516 100644
--- a/app/.externalNativeBuild/cmake/release/armeabi-v7a/rules.ninja
+++ b/app/.externalNativeBuild/cmake/release/armeabi-v7a/rules.ninja
@@ -1,5 +1,5 @@
 # CMAKE generated file: DO NOT EDIT!
-# Generated by "Ninja" Generator, CMake Version 3.6
+# Generated by "Ninja" Generator, CMake Version 3.10
 
 # This file contains all the rules used to get the outputs files
 # built from the input files.
@@ -17,7 +17,7 @@
 rule CXX_COMPILER__native-lib
   depfile = $DEP_FILE
   deps = gcc
-  command = C:\Users\xiuxi\AppData\Local\Android\Sdk\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe  --target=armv7-none-linux-androideabi --gcc-toolchain=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64 --sysroot=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sysroot  $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $IN_ABS
+  command = C:\Users\xiuxi\AppData\Local\Android\Sdk\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe --target=armv7-none-linux-androideabi21 --gcc-toolchain=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64 --sysroot=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/sysroot  $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in
   description = Building CXX object $out
 
 
@@ -25,7 +25,7 @@
 # Rule for linking CXX shared library.
 
 rule CXX_SHARED_LIBRARY_LINKER__native-lib
-  command = cmd.exe /C "$PRE_LINK && C:\Users\xiuxi\AppData\Local\Android\Sdk\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe  --target=armv7-none-linux-androideabi --gcc-toolchain=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64 --sysroot=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/sysroot -fPIC $LANGUAGE_COMPILE_FLAGS $ARCH_FLAGS $LINK_FLAGS -shared $SONAME_FLAG$SONAME -o $TARGET_FILE $in $LINK_PATH $LINK_LIBRARIES && $POST_BUILD"
+  command = cmd.exe /C "$PRE_LINK && C:\Users\xiuxi\AppData\Local\Android\Sdk\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe --target=armv7-none-linux-androideabi21 --gcc-toolchain=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64 --sysroot=C:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/sysroot -fPIC $LANGUAGE_COMPILE_FLAGS $ARCH_FLAGS $LINK_FLAGS -shared $SONAME_FLAG$SONAME -o $TARGET_FILE $in $LINK_PATH $LINK_LIBRARIES && $POST_BUILD"
   description = Linking CXX shared library $TARGET_FILE
   restat = $RESTAT
 
@@ -42,7 +42,7 @@
 # Rule for re-running cmake.
 
 rule RERUN_CMAKE
-  command = C:\Users\xiuxi\AppData\Local\Android\Sdk\cmake\3.6.4111459\bin\cmake.exe -HC:\workspace\Security_alarm\app -BC:\workspace\Security_alarm\app\.externalNativeBuild\cmake\release\armeabi-v7a
+  command = C:\Users\xiuxi\AppData\Local\Android\Sdk\cmake\3.10.2.4988404\bin\cmake.exe -HE:\workspace\Security_alarm\app -BE:\workspace\Security_alarm\app\.externalNativeBuild\cmake\release\armeabi-v7a
   description = Re-running CMake...
   generator = 1
 
@@ -51,7 +51,7 @@
 # Rule for cleaning all built files.
 
 rule CLEAN
-  command = C:\Users\xiuxi\AppData\Local\Android\Sdk\cmake\3.6.4111459\bin\ninja.exe -t clean
+  command = D:\program\ninja-master\ninja.exe -t clean
   description = Cleaning all built files...
 
 
@@ -59,6 +59,6 @@
 # Rule for printing all primary targets available.
 
 rule HELP
-  command = C:\Users\xiuxi\AppData\Local\Android\Sdk\cmake\3.6.4111459\bin\ninja.exe -t targets
+  command = D:\program\ninja-master\ninja.exe -t targets
   description = All primary targets available:
 
diff --git a/app/app.iml b/app/app.iml
index bd2f2ed..f913c3f 100644
--- a/app/app.iml
+++ b/app/app.iml
@@ -27,7 +27,7 @@
       </configuration>
     </facet>
   </component>
-  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7">
+  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
     <output url="file://$MODULE_DIR$/build/intermediates/classes/debug" />
     <output-test url="file://$MODULE_DIR$/build/intermediates/classes/test/debug" />
     <exclude-output />
@@ -80,14 +80,6 @@
       <sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" />
       <sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
       <sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
       <sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
       <sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
@@ -96,6 +88,14 @@
       <sourceFolder url="file://$MODULE_DIR$/src/test/jni" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/build-info" />
@@ -122,6 +122,7 @@
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/split-apk" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/splits-support" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/tmp" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/transforms" />
       <excludeFolder url="file://$MODULE_DIR$/build/outputs" />
       <excludeFolder url="file://$MODULE_DIR$/build/tmp" />
@@ -138,7 +139,6 @@
     <orderEntry type="library" name="Gradle: com.android.support:loader-28.0.0-rc02" level="project" />
     <orderEntry type="library" name="Gradle: org.androidannotations:rest-spring-api:4.5.2@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support.constraint:constraint-layout-1.1.2" level="project" />
-    <orderEntry type="library" name="Gradle: net.java.dev.jna:jna:4.2.1@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.github.bumptech.glide:annotations:4.8.0@jar" level="project" />
     <orderEntry type="library" scope="TEST" name="Gradle: javax.inject:javax.inject:1@jar" level="project" />
     <orderEntry type="library" name="Gradle: org.springframework.android:spring-android-rest-template:2.0.0.M3@jar" level="project" />
@@ -153,7 +153,6 @@
     <orderEntry type="library" scope="TEST" name="Gradle: net.sf.kxml:kxml2:2.3.0@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:support-core-utils-28.0.0-rc02" level="project" />
     <orderEntry type="library" name="Gradle: io.reactivex.rxjava2:rxjava:2.1.17@jar" level="project" />
-    <orderEntry type="library" name="Gradle: __local_aars__:C.\workspace\Security_alarm\app\libs\slf4j-api-1.7.9.jar:unspecified@jar" level="project" />
     <orderEntry type="library" name="Gradle: android.arch.lifecycle:viewmodel-1.1.1" level="project" />
     <orderEntry type="library" name="Gradle: net.zetetic:android-database-sqlcipher-3.5.7" level="project" />
     <orderEntry type="library" name="Gradle: org.reactivestreams:reactive-streams:1.0.2@jar" level="project" />
@@ -161,16 +160,19 @@
     <orderEntry type="library" name="Gradle: com.github.ybq:Android-SpinKit-1.2.0" level="project" />
     <orderEntry type="library" name="Gradle: com.contrarywind:wheelview-4.0.8" level="project" />
     <orderEntry type="library" name="Gradle: com.facebook.fresco:fresco-1.1.0" level="project" />
+    <orderEntry type="library" name="Gradle: com.rabbitmq:amqp-client:4.6.0@jar" level="project" />
     <orderEntry type="library" scope="TEST" name="Gradle: com.google.code.findbugs:jsr305:2.0.1@jar" level="project" />
-    <orderEntry type="library" name="Gradle: __local_aars__:C.\workspace\Security_alarm\app\libs\slf4j-android-1.7.9.jar:unspecified@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.fasterxml.jackson.core:jackson-core:2.9.7@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.nineoldandroids:library:2.4.0@jar" level="project" />
+    <orderEntry type="library" name="Gradle: org.apache.directory.studio:org.apache.commons.io:2.4@jar" level="project" />
     <orderEntry type="library" name="Gradle: android.arch.core:common:1.1.1@jar" level="project" />
+    <orderEntry type="library" name="Gradle: __local_aars__:E.\workspace\Security_alarm\app\libs\universal-image-loader-1.9.2-SNAPSHOT-with-sources.jar:unspecified@jar" level="project" />
     <orderEntry type="library" name="Gradle: android.arch.persistence:db-framework-1.1.0" level="project" />
     <orderEntry type="library" name="Gradle: com.wdullaer:materialdatetimepicker-3.6.3" level="project" />
     <orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-core:1.3@jar" level="project" />
     <orderEntry type="library" name="Gradle: android.arch.persistence.room:runtime-1.1.0" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:viewpager-28.0.0-rc02" level="project" />
+    <orderEntry type="library" name="Gradle: commons-io:commons-io:2.4@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.squareup.okhttp3:okhttp:3.10.0@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:support-compat-28.0.0-rc02" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:collections:28.0.0-rc02@jar" level="project" />
@@ -178,9 +180,9 @@
     <orderEntry type="library" name="Gradle: android.arch.lifecycle:common:1.1.1@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.nightonke:jellytogglebutton-1.0.2" level="project" />
     <orderEntry type="library" name="Gradle: com.squareup.retrofit2:adapter-rxjava:2.4.0@jar" level="project" />
+    <orderEntry type="library" name="Gradle: __local_aars__:E.\workspace\Security_alarm\app\libs\libthrift-0.9.1.jar:unspecified@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:support-vector-drawable-28.0.0-rc02" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:print-28.0.0-rc02" level="project" />
-    <orderEntry type="library" name="Gradle: __local_aars__:C.\workspace\Security_alarm\app\libs\universal-image-loader-1.9.2-SNAPSHOT-with-sources.jar:unspecified@jar" level="project" />
     <orderEntry type="library" name="Gradle: org.apache.httpcomponents:httpclient-android:4.3.5.1@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:versionedparcelable-28.0.0-rc02" level="project" />
     <orderEntry type="library" name="Gradle: org.xutils:xutils-3.5.0" level="project" />
@@ -190,20 +192,19 @@
     <orderEntry type="library" name="Gradle: de.hdodenhof:circleimageview-2.2.0" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:animated-vector-drawable-28.0.0-rc02" level="project" />
     <orderEntry type="library" scope="TEST" name="Gradle: com.squareup:javawriter:2.1.1@jar" level="project" />
-    <orderEntry type="library" name="Gradle: __local_aars__:C.\workspace\Security_alarm\app\libs\sdkapi.jar:unspecified@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:multidex-1.0.3" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:appcompat-v7-28.0.0-rc02" level="project" />
     <orderEntry type="library" name="Gradle: com.squareup.okio:okio:1.14.0@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.fasterxml.jackson.core:jackson-annotations:2.9.0@jar" level="project" />
-    <orderEntry type="library" name="Gradle: __local_aars__:C.\workspace\Security_alarm\app\libs\libthrift-0.9.1.jar:unspecified@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.rengwuxian.materialedittext:library-2.1.4" level="project" />
+    <orderEntry type="library" name="Gradle: __local_aars__:E.\workspace\Security_alarm\app\libs\FRICPayToolV20P.jar:unspecified@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support.constraint:constraint-layout-solver:1.1.2@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.github.angads25:toggle-1.0.0" level="project" />
     <orderEntry type="library" name="Gradle: com.fasterxml.jackson.core:jackson-databind:2.9.7@jar" level="project" />
+    <orderEntry type="library" name="Gradle: org.slf4j:slf4j-api:1.7.25@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:customview-28.0.0-rc02" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:transition-28.0.0-rc01" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:coordinatorlayout-28.0.0-rc02" level="project" />
-    <orderEntry type="library" name="Gradle: jnanomsg:jnanomsg:0.4.3@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.amitshekhar.android:debug-db-1.0.4" level="project" />
     <orderEntry type="library" name="Gradle: org.jsoup:jsoup:1.11.3@jar" level="project" />
     <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test:runner-1.0.2" level="project" />
@@ -215,14 +216,15 @@
     <orderEntry type="library" name="Gradle: android.arch.persistence.room:common:1.1.0@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.kyleduo.switchbutton:library-2.0.0" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:support-core-ui-28.0.0-rc02" level="project" />
-    <orderEntry type="library" name="Gradle: __local_aars__:C.\workspace\Security_alarm\app\libs\xUtils-2.6.14.jar:unspecified@jar" level="project" />
     <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test.espresso:espresso-core-3.0.2" level="project" />
+    <orderEntry type="library" name="Gradle: __local_aars__:E.\workspace\Security_alarm\app\libs\xUtils-2.6.14.jar:unspecified@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:swiperefreshlayout-28.0.0-rc02" level="project" />
     <orderEntry type="library" name="Gradle: com.facebook.fresco:imagepipeline-base-1.1.0" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:asynclayoutinflater-28.0.0-rc02" level="project" />
     <orderEntry type="library" name="Gradle: io.reactivex.rxjava2:rxandroid-2.0.2" level="project" />
     <orderEntry type="library" scope="TEST" name="Gradle: junit:junit:4.12@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:cardview-v7-28.0.0-rc01" level="project" />
+    <orderEntry type="library" name="Gradle: __local_aars__:E.\workspace\Security_alarm\app\libs\sdkapi.jar:unspecified@jar" level="project" />
     <orderEntry type="library" name="Gradle: android.arch.persistence:db-1.1.0" level="project" />
     <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test.espresso:espresso-idling-resource-3.0.2" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:recyclerview-v7-28.0.0-rc01" level="project" />
@@ -232,7 +234,6 @@
     <orderEntry type="library" name="Gradle: com.android.support:design-28.0.0-rc01" level="project" />
     <orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-integration:1.3@jar" level="project" />
     <orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-library:1.3@jar" level="project" />
-    <orderEntry type="library" name="Gradle: __local_aars__:C.\workspace\Security_alarm\app\libs\FRICPayToolV20P.jar:unspecified@jar" level="project" />
     <orderEntry type="library" name="Gradle: android.arch.lifecycle:livedata-core-1.1.1" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:support-v13-28.0.0-rc02" level="project" />
     <orderEntry type="library" name="Gradle: com.facebook.fresco:imagepipeline-1.1.0" level="project" />
diff --git a/app/build.gradle b/app/build.gradle
index 309fd39..d0eee4e 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -19,6 +19,10 @@
             abiFilters 'armeabi-v7a'
         }
     }
+    compileOptions {
+        sourceCompatibility JavaVersion.VERSION_1_8
+        targetCompatibility JavaVersion.VERSION_1_8
+    }
     buildTypes {
         release {
             minifyEnabled false
@@ -30,7 +34,9 @@
             path "CMakeLists.txt"
         }
     }
-
+    lintOptions {
+        abortOnError false
+    }
     useLibrary 'org.apache.http.legacy'
 }
 
@@ -85,6 +91,13 @@
     implementation 'com.fasterxml.jackson.core:jackson-databind:2.9.7'
     implementation "org.springframework.android:spring-android-rest-template:2.0.0.M3"
     implementation 'com.github.ybq:Android-SpinKit:1.2.0'
+    implementation 'org.apache.directory.studio:org.apache.commons.io:2.4'
+    implementation 'com.rabbitmq:amqp-client:4.6.0'
+//    implementation 'com.rabbitmq:amqp-client:5.7.3'
+//    implementation ('com.rabbitmq:amqp-client:4.6.0')
+//            {
+//        exclude group: 'org.slf4j',module:"slf4j-api"
+//    }
 //    implementation 'org.springframework.android:spring-android-rest-template:1.0.1.RELEASE'
 //    implementation 'com.google.code.gson:gson:2.2.2'
 //    implementation ('org.simpleframework:simple-xml:2.6.9') {
diff --git a/app/libs/slf4j-android-1.7.9.jar b/app/libs/slf4j-android-1.7.9.jar
deleted file mode 100644
index 86dc3f1..0000000
--- a/app/libs/slf4j-android-1.7.9.jar
+++ /dev/null
Binary files differ
diff --git a/app/libs/slf4j-api-1.7.9.jar b/app/libs/slf4j-api-1.7.9.jar
deleted file mode 100644
index 3d72744..0000000
--- a/app/libs/slf4j-api-1.7.9.jar
+++ /dev/null
Binary files differ
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index f2b92fb..47405c2 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -17,6 +17,7 @@
     <uses-permission android:name="android.permission.ACCESS_SUPERUSER" />
     <uses-permission android:name="android.permission.CAMERA" />
     <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
+    <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
 
 
     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
@@ -76,6 +77,9 @@
                 <action android:name="android.intent.action.BOOT_COMPLETED" />
             </intent-filter>
         </receiver>
+        <service android:name="com.basic.security.service.KeepLifeService"
+            android:process=":keepLife"
+            />
     </application>
 
 </manifest>
\ No newline at end of file
diff --git a/app/src/main/java/com/basic/security/activity/MainActivity.java b/app/src/main/java/com/basic/security/activity/MainActivity.java
index cf9c539..e90c04f 100644
--- a/app/src/main/java/com/basic/security/activity/MainActivity.java
+++ b/app/src/main/java/com/basic/security/activity/MainActivity.java
@@ -1,10 +1,12 @@
 package com.basic.security.activity;
 
+import android.content.Intent;
 import android.media.MediaPlayer;
 import android.os.SystemClock;
 import android.support.v4.app.FragmentActivity;
 import android.support.v4.app.FragmentManager;
 import android.view.View;
+import android.widget.EditText;
 import android.widget.FrameLayout;
 import android.widget.ImageView;
 import android.widget.MediaController;
@@ -17,6 +19,7 @@
 import com.basic.security.base.BaseFragment;
 import com.basic.security.fragment.HomeFragment;
 import com.basic.security.fragment.SettingFragment;
+import com.basic.security.service.KeepLifeService;
 import com.basic.security.utils.FFmpeg;
 import com.basic.security.utils.KeyboardUtil;
 import com.basic.security.utils.LztekAndroidRoot;
@@ -97,6 +100,8 @@
         fragment_home.pullAlarmDataList();
         fragment_home.playAlarmSound();
         KeyboardUtil.setupUI(fragment_setting.getView());
+        stopService(new Intent(this, KeepLifeService.class));
+        startService(new Intent(this, KeepLifeService.class));
     }
 
     @Background
@@ -156,8 +161,8 @@
     }
 
     public void goto_home() {
-        hideOneFragment(fragment_setting);
         showOneFragment(fragment_home);
+        hideOneFragment(fragment_setting);
         fragment_home.goto_top();
     }
 
diff --git a/app/src/main/java/com/basic/security/base/BaseApplication.java b/app/src/main/java/com/basic/security/base/BaseApplication.java
index 2926a60..5403ca2 100644
--- a/app/src/main/java/com/basic/security/base/BaseApplication.java
+++ b/app/src/main/java/com/basic/security/base/BaseApplication.java
@@ -16,6 +16,8 @@
 import java.util.List;
 import java.util.ListIterator;
 import java.util.Map;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
 
 
 import com.basic.security.utils.CrashHandler;
@@ -24,12 +26,13 @@
     private static BaseApplication application;
     public Activity activity;
     public Map<String, String> devInfo = new HashMap<>();
+    public ExecutorService executorService = Executors.newCachedThreadPool();
 
     private List<Activity> activitys = new LinkedList<>();
     private List<Service> services = new LinkedList<>();
 
     @Override
-    public void onCreate() {
+    public void onCreate() {//
         super.onCreate();
         application = this;
         Fresco.initialize(this);
@@ -73,7 +76,7 @@
 
     }
 
-    public static BaseApplication getApplication() {
+    public static BaseApplication getApplication() {//
         return application;
     }
 
diff --git a/app/src/main/java/com/basic/security/base/BaseFragment.java b/app/src/main/java/com/basic/security/base/BaseFragment.java
index 941b7d9..baecfbc 100644
--- a/app/src/main/java/com/basic/security/base/BaseFragment.java
+++ b/app/src/main/java/com/basic/security/base/BaseFragment.java
@@ -18,7 +18,7 @@
 
     }
 
-    public MainActivity mainActivity() {
+    public MainActivity mainActivity() {//
         BaseApplication application = BaseApplication.getApplication();
         if (application  != null) {
             Activity activityObj = application.activity;
diff --git a/app/src/main/java/com/basic/security/dao/DatabaseManager.java b/app/src/main/java/com/basic/security/dao/DatabaseManager.java
index 918d5cd..ea8a0a1 100644
--- a/app/src/main/java/com/basic/security/dao/DatabaseManager.java
+++ b/app/src/main/java/com/basic/security/dao/DatabaseManager.java
@@ -6,6 +6,7 @@
 import android.util.Pair;
 
 import com.basic.security.base.BaseApplication;
+import com.basic.security.model.Log;
 import com.basic.security.model.Setting;
 import com.basic.security.utils.Constants;
 
@@ -28,13 +29,14 @@
     public static final Lock databaseExecSqlLock = new ReentrantLock();
     public static Map<String, SQLiteDatabase> databaseMap = new HashMap<>();
     public static Class[] tableClasses = new Class[] {
-            Setting.class
+            Setting.class,
+            Log.class
     };
-    public static SQLiteDatabase getDatabase() {
+    public static SQLiteDatabase getDatabase() {//
         return getDatabase(Constants.databaseName);
     }
 
-    public static void intiTables() {
+    public static void intiTables() {//
         for (Class tableClass : tableClasses) {
             String table = tableClass.getSimpleName();
             Map<String, String> columns = new HashMap<>();
@@ -73,12 +75,32 @@
 
 
         DatabaseManager.execSQL("CREATE TABLE IF NOT EXISTS alarm (\"matchPersonListStr\" TEXT, property TEXT, \"alarmLargePicture\" TEXT,\"alarmPerson\" TEXT,\"alarmPicture\" TEXT,\"alarmVideo\" TEXT,\"alarmTime\" TEXT,\"alarmAddress\" TEXT,\"alarmType\" TEXT,\"id\" TEXT, \"createTime\" TEXT, \"closeAlarm\" TEXT, \"mute\" TEXT, PRIMARY KEY(id))");
+        try {
+            DatabaseManager.execSQL("ALTER TABLE alarm ADD COLUMN imgKey text");
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        try {
+            DatabaseManager.execSQL("ALTER TABLE alarm ADD COLUMN indeviceid text");
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        try {
+            DatabaseManager.execSQL("ALTER TABLE alarm ADD COLUMN videoReqNum text");
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        try {
+            DatabaseManager.execSQL("ALTER TABLE alarm ADD COLUMN picDate text");
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
         DatabaseManager.execSQL("CREATE UNIQUE INDEX IF NOT EXISTS idx_alarm ON alarm(id)");
 //        DatabaseManager.execSQL("CREATE TABLE IF NOT EXISTS setting (\"id\" TEXT, \"name\" TEXT, PRIMARY KEY(id))");
 //        DatabaseManager.execSQL("CREATE UNIQUE INDEX IF NOT EXISTS idx_setting ON setting (id)");
     }
 
-    public static SQLiteDatabase getDatabase(String databaseName) {
+    public static SQLiteDatabase getDatabase(String databaseName) {//
         SQLiteDatabase database = databaseMap.get(databaseName);
         try {
             databaseLock.lock();
@@ -120,7 +142,7 @@
         }
     }
 
-    private static void initTableColumnNames() {
+    private static void initTableColumnNames() {//
         SQLiteDatabase mDataBase = DatabaseManager.getDatabase();
         Cursor c = mDataBase.rawQuery("SELECT name FROM sqlite_master WHERE type='table'", null);
         List<String> tableNameList = new ArrayList<>();
diff --git a/app/src/main/java/com/basic/security/dao/SqliteManager.java b/app/src/main/java/com/basic/security/dao/SqliteManager.java
index c890766..6d0eb71 100644
--- a/app/src/main/java/com/basic/security/dao/SqliteManager.java
+++ b/app/src/main/java/com/basic/security/dao/SqliteManager.java
@@ -4,6 +4,7 @@
 import android.text.TextUtils;
 
 import com.basic.security.utils.Constants;
+import com.basic.security.utils.FrameUtil;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -15,7 +16,7 @@
 
     public static Map<String, List<String>> tableColumnNames = new HashMap<>();
 
-    public static Map<String, String> cursorToModelAdapter(Cursor cursor, String table) {
+    public static Map<String, String> cursorToModelAdapter(Cursor cursor, String table) {//
         Map<String, String> modelAdapter = new HashMap<>();
         String[] columnNames = cursor.getColumnNames();
         for (String columnName : columnNames) {
@@ -142,7 +143,9 @@
         try {
             String sql = "select * from "+table+" where id = '" + id + "'";
             if (Constants.printSql) {
-                System.out.println("findById="+sql);
+                System.out.println("findById="+sql
+//                        + " " + FrameUtil.getFrames()
+                );
             }
             cursor = DatabaseManager.getDatabase().rawQuery(sql, null);
             if (cursor.moveToFirst()) {
diff --git a/app/src/main/java/com/basic/security/fragment/HomeFragment.java b/app/src/main/java/com/basic/security/fragment/HomeFragment.java
index dd63bec..64d72ca 100644
--- a/app/src/main/java/com/basic/security/fragment/HomeFragment.java
+++ b/app/src/main/java/com/basic/security/fragment/HomeFragment.java
@@ -1,5 +1,6 @@
 package com.basic.security.fragment;
 
+import android.content.Intent;
 import android.os.SystemClock;
 import android.view.View;
 import android.widget.AbsListView;
@@ -8,11 +9,15 @@
 import android.widget.Spinner;
 
 import com.basic.security.R;
+import com.basic.security.base.BaseApplication;
 import com.basic.security.fragment.helper.HomeGridViewAdapter;
 import com.basic.security.fragment.helper.HomePlayAlarmVideo;
 import com.basic.security.manager.AlarmManager;
 import com.basic.security.manager.SettingManager;
+import com.basic.security.utils.MemoryUtil;
+import com.basic.security.utils.RabbitMQConsumer;
 import com.basic.security.utils.SocketClient;
+import com.basic.security.utils.ThreadUtil;
 
 import org.androidannotations.annotations.AfterInject;
 import org.androidannotations.annotations.AfterViews;
@@ -27,12 +32,14 @@
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
 
 
 @EFragment(R.layout.fragment_home)
 public class HomeFragment extends HomePlayAlarmVideo {
 
-    List<Map<String, String>> newSqliteAlarmList;
+    public List<Map<String, String>> newSqliteAlarmList;
 
     @AfterInject
     void afterInject() {
@@ -64,27 +71,28 @@
         refreshGridView();
         while (true) {
             try{
-                try {
-                    if (1!=1) {
-                        startNewSocketClient();
-                        break;
-                    } else {
-                        List<SocketClient> socketClientListToRemove = new ArrayList<>();
-                        for (SocketClient socketClient1 : socketClientList) {
-                            if (System.currentTimeMillis() - socketClient1.lastUpdateTime > 1000*60*2) {
-//                                socketClient1.closeSocket();
-                                socketClient1.interrupt();
-                                socketClientListToRemove.add(socketClient1);
-                            }
-                        }
-                        socketClientList.removeAll(socketClientListToRemove);
-                        if (socketClientList.size() == 0) {
-                            startNewSocketClient();
-                        }
-                    }
-                } catch (Exception e) {
-                    System.out.println("pullAlarmDataList, " + e.getMessage());
-                }
+                RabbitMQConsumer.init();
+//                try {
+//                    if (1!=1) {
+//                        startNewSocketClient();
+//                        break;
+//                    } else {
+//                        List<SocketClient> socketClientListToRemove = new ArrayList<>();
+//                        for (SocketClient socketClient1 : socketClientList) {
+//                            if (System.currentTimeMillis() - socketClient1.lastUpdateTime > 1000*60*2) {
+////                                socketClient1.closeSocket();
+//                                socketClient1.interrupt();
+//                                socketClientListToRemove.add(socketClient1);
+//                            }
+//                        }
+//                        socketClientList.removeAll(socketClientListToRemove);
+//                        if (socketClientList.size() == 0) {
+//                            startNewSocketClient();
+//                        }
+//                    }
+//                } catch (Exception e) {
+//                    System.out.println("pullAlarmDataList, " + e.getMessage());
+//                }
             } catch (Exception e) {
                 e.printStackTrace();
             } finally {
@@ -96,8 +104,8 @@
     @Override
     public void show() {
         for (AlarmListAdapter.ViewHolder viewHolder : viewHolderSet.keySet()) {
-            if ("true".equals(viewHolder.alarm.get("videoPlaying"))) {
-                viewHolder.alarm.put("videoPlaying", "false");
+            if (AlarmManager.getAlarmPlaying(viewHolder.alarm)) {
+                AlarmManager.putAlarmPlaying(viewHolder.alarm, false);
             }
         }
         refreshGridView();
@@ -117,33 +125,39 @@
         } catch (Exception e) {
             e.printStackTrace();
         }
-        refreshGridViewLocker.lock();
-        newSqliteAlarmList = AlarmManager.findAlarmList();
-        if (newSqliteAlarmList != null) {
-            final Map<String, Map<String, String>> sqliteAlarmListMap = new HashMap<>();
-            sqliteAlarmListLock.lock();
-            for (Map<String, String> alarm : sqliteAlarmList) {
-                sqliteAlarmListMap.put(alarm.get("id"), alarm);
-            }
-            sqliteAlarmListLock.unlock();
-            for (Map<String, String> alarm : newSqliteAlarmList) {
-                alarm.put("videoPlaying", "false");
-                Map<String, String> backupAlarm = sqliteAlarmListMap.get(alarm.get("id"));
-                if (backupAlarm != null) {
-                    if (!"true".equals(backupAlarm.get("videoPlayFinished"))) {
-                        if ("true".equals(backupAlarm.get("videoPlaying"))) {
-                            alarm.put("videoPlaying", backupAlarm.get("videoPlaying"));
+        try {
+            refreshGridViewLocker.lock();
+            newSqliteAlarmList = AlarmManager.findAlarmList();
+            if (newSqliteAlarmList != null) {
+                final Map<String, Map<String, String>> sqliteAlarmListMap = new HashMap<>();
+                sqliteAlarmListLock.lock();
+                for (Map<String, String> alarm : sqliteAlarmList) {
+                    sqliteAlarmListMap.put(alarm.get("id"), alarm);
+                }
+                sqliteAlarmListLock.unlock();
+                for (Map<String, String> alarm : newSqliteAlarmList) {
+                    //AlarmManager.putAlarmPlaying(alarm, false);
+                    Map<String, String> backupAlarm = sqliteAlarmListMap.get(alarm.get("id"));
+                    if (backupAlarm != null) {
+                        if ("true".equals(backupAlarm.get("videoPlayFinished"))) {
+                            if (AlarmManager.getAlarmPlaying(alarm)) {
+                                //alarm.put("videoPlaying", backupAlarm.get("videoPlaying"));
+                            }
                         }
                     }
                 }
+                sqliteAlarmListLock.lock();
+                sqliteAlarmList.clear();
+                sqliteAlarmList.addAll(newSqliteAlarmList);
+                sqliteAlarmListLock.unlock();
+                updateAlarmDataListInUIThread();
             }
-            sqliteAlarmListLock.lock();
-            sqliteAlarmList.clear();
-            sqliteAlarmList.addAll(newSqliteAlarmList);
-            sqliteAlarmListLock.unlock();
-            updateAlarmDataListInUIThread();
+        } catch (Exception e) {
+            e.printStackTrace();
+        } finally {
+            refreshGridViewLocker.unlock();
         }
-        refreshGridViewLocker.unlock();
+
     }
 
     @UiThread
@@ -179,7 +193,7 @@
             public void onScrollStateChanged(AbsListView view, int scrollState) {
                 sqliteAlarmListLock.lock();
                 for (Map<String, String> sqliteAlarm :  sqliteAlarmList) {
-                    sqliteAlarm.put("videoPlaying", "false");
+                    AlarmManager.putAlarmPlaying(sqliteAlarm, false);
                 }
                 sqliteAlarmListLock.unlock();
                 try{
@@ -201,8 +215,51 @@
             public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {}
         });
         saveVideoPlayerCurrentTime();
+//        executorService.execute(new Runnable() {
+//            @Override
+//            public void run() {
+//                while (true) {
+//                    try {
+//                        AlarmManager.updateVideoUrl();
+//                        SystemClock.sleep(1 * 1000);
+//                    } catch (Exception e) {
+////                        e.printStackTrace();
+//                        System.out.println("HomeFragment.run " + e.getMessage());
+//                    }
+//                }
+//            }
+//        });
+        executorService.execute(new Runnable() {
+            @Override
+            public void run() {
+                while (true) {
+                    try {
+                        MemoryUtil.monitorMemory();
+                        sendKeepLife();
+                        ThreadUtil.threadCreateObserver();
+                        SystemClock.sleep(3 * 1000);
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }
+                }
+            }
+        });
     }
+    public static void sendKeepLife() {
+        try {
+            if (System.currentTimeMillis() - lastSendKeepLife > 2 * 1000) {
+                Intent intent = new Intent("keepLife");
+                intent.putExtra("message", "This is my message!");
+                BaseApplication.getApplication().activity.sendBroadcast(intent);
+                lastSendKeepLife = System.currentTimeMillis();
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
 
+    }
+    static long lastSendKeepLife = 0;
+    public ExecutorService executorService = Executors.newCachedThreadPool();
     @Click
     public void goto_top() {
         alarmListGridView.smoothScrollToPositionFromTop(0,0);
diff --git a/app/src/main/java/com/basic/security/fragment/SettingFragment.java b/app/src/main/java/com/basic/security/fragment/SettingFragment.java
index fd9f303..649971a 100644
--- a/app/src/main/java/com/basic/security/fragment/SettingFragment.java
+++ b/app/src/main/java/com/basic/security/fragment/SettingFragment.java
@@ -1,5 +1,6 @@
 package com.basic.security.fragment;
 
+import android.content.Intent;
 import android.media.MediaPlayer;
 import android.text.TextUtils;
 import android.view.View;
@@ -348,7 +349,7 @@
         return false;
     }
 
-    private boolean validateDate() {// 楠岃瘉杈撳叆鐨勪俊鎭槸鍚︽纭�
+    private boolean validateDate() {
         String ip = ip_address.getText().toString();
         if (ip.equals("") || !ipCheck(ip)) {
             ip_address.setFocusable(true);
@@ -446,6 +447,13 @@
             HomePlayAlarmSound.shouldRestartSound = true;
             SocketClient.needRestart = true;
         }
+//        try {
+//            if (Constants.NativeLib) {
+//                refreshAddrInfo(mLztek.getEthEnable());
+//            }
+//        } catch (Exception e){
+//            e.printStackTrace();
+//        }
     }
 
     @Click
@@ -461,5 +469,8 @@
         android.os.Process.killProcess(android.os.Process.myPid());
         System.exit(0);
     }
-
+    @Click
+    public void open_system_setting() {
+        startActivityForResult(new Intent(android.provider.Settings.ACTION_SETTINGS), 0);
+    }
 }
diff --git a/app/src/main/java/com/basic/security/fragment/helper/HomeGridViewAdapter.java b/app/src/main/java/com/basic/security/fragment/helper/HomeGridViewAdapter.java
index 1a1e71a..799fd5d 100644
--- a/app/src/main/java/com/basic/security/fragment/helper/HomeGridViewAdapter.java
+++ b/app/src/main/java/com/basic/security/fragment/helper/HomeGridViewAdapter.java
@@ -1,7 +1,9 @@
 package com.basic.security.fragment.helper;
 
 import android.gesture.GestureOverlayView;
+import android.graphics.Color;
 import android.os.SystemClock;
+import android.text.TextUtils;
 import android.view.LayoutInflater;
 import android.view.MotionEvent;
 import android.view.View;
@@ -14,14 +16,18 @@
 import android.widget.VideoView;
 
 import com.basic.security.R;
+import com.basic.security.base.BaseApplication;
 import com.basic.security.manager.AlarmManager;
+import com.basic.security.manager.LogManager;
 import com.basic.security.model.Alarm;
 import com.basic.security.utils.KeyboardUtil;
 import com.basic.security.utils.ToastUtil;
+import com.basic.security.utils.VideoPath;
 import com.basic.security.widget.CustomSpinner2;
 import com.bumptech.glide.Glide;
 
 import org.androidannotations.annotations.EFragment;
+import org.xutils.common.util.KeyValue;
 
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
@@ -68,6 +74,7 @@
                 viewHolder.alarmAddress = convertView.findViewById(R.id.alarmAddress);
                 viewHolder.property = convertView.findViewById(R.id.property);
                 viewHolder.alarmType = convertView.findViewById(R.id.alarmType);
+                viewHolder.layout1 = convertView.findViewById(R.id.layout1);
                 viewHolder.alarmPerson = convertView.findViewById(R.id.alarmPerson);
                 viewHolder.showMatchPersonList = convertView.findViewById(R.id.showMatchPersonList);
                 viewHolder.matchPersonListParent = convertView.findViewById(R.id.matchPersonListParent);
@@ -81,13 +88,24 @@
                 viewHolder.closeAlarm = convertView.findViewById(R.id.closeAlarm);
 //                KeyboardUtil.setupUI(convertView);
                 convertView.setTag(viewHolder);
+                KeyboardUtil.setupUI(convertView);
             } else {
                 viewHolder = (ViewHolder) convertView.getTag();
             }
-
             viewHolderSet.put(viewHolder, viewHolder);
-            final ViewHolder viewHolder1 = viewHolder;
+            ViewHolder viewHolder1 = viewHolder;
             viewHolder1.alarm = alarm;
+//            if ("true".equals(alarm.get("alarmVideoValid"))) {
+//                viewHolder.layout1.setBackgroundColor(Color.BLUE);
+//            } else {
+//                if ("DSVAD010220181119".equals(alarm.get(Alarm.indeviceid))) {
+//
+//                    viewHolder.layout1.setBackgroundColor(Color.GREEN);
+//                } else {
+//                    viewHolder.layout1.setBackgroundColor(Color.RED);
+//
+//                }
+//            }
 
             viewHolder.showPicture.setOnClickListener(new View.OnClickListener() {
                 @Override
@@ -100,19 +118,23 @@
                     goto_picture_fullscreen(viewHolder1);
                 }
             });
-
-            if ("true".equals(alarm.get("alarmVideoValid"))) {
-                viewHolder1.alarmVideo.setVideoPath(alarm.get("alarmVideo"));
-                if ("true".equals(alarm.get("videoPlaying"))) {
-                    playVideo(viewHolder1);
-                } else {
-                    stopVideo(viewHolder1);
+            if (!AlarmManager.removeNewAlarmIdSet(alarm)) {
+                if ("true".equals(alarm.get("alarmVideoValid"))) {
+                    viewHolder1.alarmVideo.setVideoPath(alarm.get("alarmVideo"));
+                    if (AlarmManager.getAlarmPlaying(alarm)) {
+                        playVideo(viewHolder1);
+                    } else {
+                        stopVideo(viewHolder1);
+                    }
                 }
+            } else {
+                AlarmManager.putAlarmPlaying(alarm, false);
+                viewHolder.showPicture.setVisibility(View.VISIBLE);
             }
             viewHolder.playVideo.setOnClickListener(new View.OnClickListener() {
                 @Override
                 public void onClick(View v) {
-                    goto_video_fullscreen(viewHolder1);
+                    goto_video_fullscreen(viewHolder1, true);
                 }
             });
 
@@ -154,7 +176,7 @@
                         sqliteAlarmList.remove(viewHolder1.alarm);
                         sqliteAlarmListLock.unlock();
                         alarmListAdapter.notifyDataSetChanged();
-                        ToastUtil.show("鎶ヨ宸茬‘璁わ紒");
+                        ToastUtil.show("鎶ヨ宸茬‘璁わ紒", false);
                     }
                 });
             } else {
@@ -175,7 +197,7 @@
             viewHolder.alarmVideoGestureOverlayView.setOnClickListener(new View.OnClickListener() {
                 @Override
                 public void onClick(View v) {
-                    goto_video_fullscreen(viewHolder1);
+                    goto_video_fullscreen(viewHolder1, true);
                 }
             });
 
@@ -291,11 +313,13 @@
             public ImageView toggleSound;
             public ImageView closeAlarm;
             public ImageView showMatchPersonList;
+            public View layout1;
             public CustomSpinner2 matchPersonList;
             public LinearLayout matchPersonListParent;
             public LinearLayout highlightShadow;
             public LinearLayout highlightBorder;
             public Map<String, String> alarm;
+            public long alarmVideoOverlayVisibleTime = 0;
         }
     }
 
@@ -310,39 +334,98 @@
         }
     }
     public void goto_video_fullscreen(final AlarmListAdapter.ViewHolder viewHolder) {
+        goto_video_fullscreen(viewHolder, false);
+    }
+    public void goto_video_fullscreen(final AlarmListAdapter.ViewHolder viewHolder, boolean fromButtonClick) {
+        goto_video_fullscreen(viewHolder, fromButtonClick, false);
+    }
+    public void goto_video_fullscreen(final AlarmListAdapter.ViewHolder viewHolder, boolean fromButtonClick, boolean fromRetry) {
+        System.out.println("HomeGridViewAdapter.goto_video_fullscreen 1 " + ("true".equals(viewHolder.alarm.get("alarmVideoValid"))) + " retry="+fromRetry);
         if ("true".equals(viewHolder.alarm.get("alarmVideoValid"))) {
             for (AlarmListAdapter.ViewHolder vh : viewHolderSet.keySet()) {
-                if ("true".equals(vh.alarm.get("videoPlaying"))) {
+                if (AlarmManager.getAlarmPlaying(vh.alarm)) {
                     vh.alarmVideoOverlay.setVisibility(View.VISIBLE);
+                    vh.alarmVideoOverlayVisibleTime = System.currentTimeMillis();
                 }
             }
-            new Thread(){
+            BaseApplication.getApplication().executorService.execute(new Runnable() {
                 @Override
                 public void run() {
                     SystemClock.sleep(100);
                     mainActivity().runOnUiThread(new Runnable() {
                         @Override
                         public void run() {
+                            System.out.println("HomeGridViewAdapter.goto_video_fullscreen 2 ");
                             currentVideoPlayTimeMap.remove(viewHolder.alarm.get("id"));
                             playVideo(viewHolder);
                             if (!"true".equals(viewHolder.alarm.get("alarmVideoValid"))) {
-                                ToastUtil.show("鎾斁澶辫触, 瑙嗛璺緞閿欒銆�");
+                                ToastUtil.show("褰曞儚姝e湪澶勭悊涓紝璇风◢鍚庡啀璇曘��", false);
                             }
+                            System.out.println("HomeGridViewAdapter.goto_video_fullscreen 3 fromButtonClick="+fromButtonClick + "true".equals(viewHolder.alarm.get("alarmVideoValid")));
                             if ("true".equals(viewHolder.alarm.get("alarmVideoValid"))) {
+                                System.out.println("HomeGridViewAdapter.goto_video_fullscreen 4 fromButtonClick="+fromButtonClick);
+                                if (fromButtonClick) {
+                                    AlarmManager.putAlarmPlaying(viewHolder.alarm, true);
+                                }
                                 viewHolder.alarmVideo.setVisibility(View.INVISIBLE);
                                 viewHolder.alarmVideoGestureOverlayView.setVisibility(View.INVISIBLE);
                                 stopAllVideoPlays(viewHolder.alarmVideo);
                                 mainActivity().goto_fullscreenVideoView(viewHolder.alarm.get("alarmVideo"));
+                                try {
+                                    LogManager.saveLog(viewHolder.alarm.get("alarmVideo"));
+                                } catch (Exception e) {
+                                    e.printStackTrace();
+                                }
                             } else {
-                                ToastUtil.show("鎾斁澶辫触, 瑙嗛璺緞閿欒銆�");
+                                ToastUtil.show("褰曞儚姝e湪澶勭悊涓紝璇风◢鍚庡啀璇曘��", false);
                             }
                         }
                     });
                 }
-            }.start();
+            });
         } else {
-            ToastUtil.show("鎾斁澶辫触, 瑙嗛璺緞閿欒銆�");
+            if (!fromRetry) {
+                tryGetRemoveVideoUrl(viewHolder, fromButtonClick);
+            }
         }
 
     }
+
+    public void tryGetRemoveVideoUrl(AlarmListAdapter.ViewHolder viewHolder, boolean fromButtonClick) {
+        BaseApplication.getApplication().executorService.execute(new Runnable() {
+            @Override
+            public void run() {
+                try {
+                    long requestVideoUrlBegin = System.currentTimeMillis();
+                    String alarmVideo = VideoPath.getVideoUrl(viewHolder.alarm);
+//                    System.out.println("HomeGridViewAdapter.run alarmVideo="+alarmVideo);
+//                    System.out.println("HomeGridViewAdapter.run 2 " + (!TextUtils.isEmpty(alarmVideo) && alarmVideo.startsWith("http")));
+                    if (!TextUtils.isEmpty(alarmVideo) && alarmVideo.startsWith("http")) {
+                        viewHolder.alarm.put("alarmVideoValid", "true");
+                        viewHolder.alarm.put(Alarm.alarmVideo, alarmVideo);
+                        AlarmManager.save(viewHolder.alarm);
+                        mainActivity().fragment_home.refreshGridView();
+//                        System.out.println("HomeGridViewAdapter.run 3 " + (System.currentTimeMillis() - requestVideoUrlBegin < 5* 1000) );
+                        if (System.currentTimeMillis() - requestVideoUrlBegin < 5* 1000) {
+                            viewHolder.alarm.put("alarmVideoValid", "true");
+                            AlarmManager.putAlarmPlaying(viewHolder.alarm, true);
+//                            System.out.println("HomeGridViewAdapter.run goto_video_fullscreen");
+                            mainActivity().runOnUiThread(new Runnable() {
+                                @Override
+                                public void run() {
+                                    viewHolder.alarmVideoOverlay.setVisibility(View.INVISIBLE);
+                                    goto_video_fullscreen(viewHolder, fromButtonClick, true);
+                                }
+                            });
+                            return;
+                        }
+                    }
+                    ToastUtil.show("褰曞儚姝e湪澶勭悊涓紝璇风◢鍚庡啀璇曘��", false);
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+            }
+        });
+    }
+
 }
diff --git a/app/src/main/java/com/basic/security/fragment/helper/HomePlayAlarmVideo.java b/app/src/main/java/com/basic/security/fragment/helper/HomePlayAlarmVideo.java
index 2d88735..b73861d 100644
--- a/app/src/main/java/com/basic/security/fragment/helper/HomePlayAlarmVideo.java
+++ b/app/src/main/java/com/basic/security/fragment/helper/HomePlayAlarmVideo.java
@@ -5,6 +5,8 @@
 import android.view.ViewGroup;
 import android.widget.VideoView;
 
+import com.basic.security.manager.AlarmManager;
+
 import org.androidannotations.annotations.EFragment;
 
 @EFragment
@@ -28,8 +30,16 @@
 
     public void resumeVideoPlay() {
         for (AlarmListAdapter.ViewHolder viewHolder : viewHolderSet.keySet()) {
-            if ("true".equals(viewHolder.alarm.get("videoPlaying")) && !viewHolder.alarmVideo.isPlaying()) {
-                playVideo(viewHolder);
+            if (AlarmManager.getAlarmPlaying(viewHolder.alarm)
+//                    && !viewHolder.alarmVideo.isPlaying()
+                    ) {
+                mainActivity().runOnUiThread(new Runnable() {
+                    @Override
+                    public void run() {
+                        viewHolder.alarmVideo.setVisibility(View.VISIBLE);
+                        playVideo(viewHolder);
+                    }
+                });
             } else {
                 viewHolder.alarmVideoOverlay.setVisibility(View.GONE);
             }
@@ -39,11 +49,11 @@
     public void playVideo(final AlarmListAdapter.ViewHolder viewHolder) {
         if (mainActivity().notInFullscreenMode()) {
             viewHolder.alarmVideoOverlay.setVisibility(View.VISIBLE);
+            viewHolder.alarmVideoOverlayVisibleTime = System.currentTimeMillis();
             viewHolder.alarmPicture.setVisibility(View.INVISIBLE);
 
             viewHolder.alarmVideo.setVisibility(View.VISIBLE);
             viewHolder.alarmVideoGestureOverlayView.setVisibility(View.VISIBLE);
-            viewHolder.alarm.put("videoPlaying", "true");
             if (viewHolder.alarmVideo.isPlaying()) {
                 return;
             }
@@ -69,6 +79,7 @@
                             @Override
                             public boolean onInfo(MediaPlayer mp, int what, int extra) {
                                 if (what == MediaPlayer.MEDIA_INFO_VIDEO_RENDERING_START) {
+                                    viewHolder.alarmVideo.setVisibility(View.VISIBLE);
                                     viewHolder.alarmVideoOverlay.setVisibility(View.GONE);
                                     return true;
                                 }
@@ -82,6 +93,7 @@
                     public void onCompletion(MediaPlayer mp) {
                         currentVideoPlayTimeMap.remove(viewHolder.alarm.get("id"));
                         viewHolder.alarm.put("videoPlayFinished", "true");
+                        AlarmManager.putAlarmPlaying(viewHolder.alarm, false);
                     }
                 });
                 viewHolder.alarmVideo.start();
@@ -94,7 +106,7 @@
         viewHolder.alarmPicture.setVisibility(View.VISIBLE);
         viewHolder.alarmVideo.setVisibility(View.INVISIBLE);
         viewHolder.alarmVideoGestureOverlayView.setVisibility(View.INVISIBLE);
-        viewHolder.alarm.put("videoPlaying", "false");
+        AlarmManager.putAlarmPlaying(viewHolder.alarm, false);
         if (viewHolder.alarmVideo.isPlaying()) {
             viewHolder.alarmVideo.stopPlayback();
         }
diff --git a/app/src/main/java/com/basic/security/fragment/helper/HomeSaveAlarmVideoPlayPosition.java b/app/src/main/java/com/basic/security/fragment/helper/HomeSaveAlarmVideoPlayPosition.java
index 69a6fbe..7d4bd21 100644
--- a/app/src/main/java/com/basic/security/fragment/helper/HomeSaveAlarmVideoPlayPosition.java
+++ b/app/src/main/java/com/basic/security/fragment/helper/HomeSaveAlarmVideoPlayPosition.java
@@ -1,6 +1,9 @@
 package com.basic.security.fragment.helper;
 
 import android.os.SystemClock;
+import android.view.View;
+
+import com.basic.security.manager.AlarmManager;
 
 import org.androidannotations.annotations.Background;
 import org.androidannotations.annotations.EFragment;
@@ -22,6 +25,14 @@
                                     currentVideoPlayTimeMap.put(viewHolder.alarm.get("id"), currentPosition);
                                 }
                             }
+                            if (System.currentTimeMillis() - viewHolder.alarmVideoOverlayVisibleTime > 5*1000) {
+                                viewHolder.alarmVideoOverlay.setVisibility(View.INVISIBLE);
+                                boolean alarmPlaying = AlarmManager.getAlarmPlaying(viewHolder.alarm);
+                                if (!alarmPlaying || !viewHolder.alarmVideo.isPlaying()) {
+//                                    AlarmManager.putAlarmPlaying(viewHolder.alarm, false);
+//                                    viewHolder.alarmPicture.setVisibility(View.VISIBLE);
+                                }
+                            }
                         }
                     }
                 });
diff --git a/app/src/main/java/com/basic/security/manager/AlarmManager.java b/app/src/main/java/com/basic/security/manager/AlarmManager.java
index e25eb0b..cf97f73 100644
--- a/app/src/main/java/com/basic/security/manager/AlarmManager.java
+++ b/app/src/main/java/com/basic/security/manager/AlarmManager.java
@@ -1,16 +1,30 @@
 package com.basic.security.manager;
 
 import android.database.Cursor;
+import android.text.TextUtils;
+import android.widget.TextView;
 
+import com.basic.security.activity.MainActivity;
+import com.basic.security.base.BaseApplication;
 import com.basic.security.dao.DatabaseManager;
 import com.basic.security.dao.SqliteManager;
+import com.basic.security.fragment.HomeFragment;
+import com.basic.security.fragment.helper.HomeGridViewAdapter;
 import com.basic.security.model.Alarm;
+import com.basic.security.utils.Constants;
+import com.basic.security.utils.FrameUtil;
+import com.basic.security.utils.VideoPath;
 
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
+import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
 
 public class AlarmManager extends SqliteManager {
 
@@ -50,7 +64,12 @@
         }
         for (Map<String, String> apiModel : listApiModel) {
             apiModel.put("table", "alarm");
-            apiModel.put("alarmTime", apiModel.get("picDate"));
+            String picDate = apiModel.get("picDate");
+            String alarmTime = picDate;
+            if (alarmTime != null && alarmTime.length() > "2019-11-11 12:32:05".length()) {
+                alarmTime = alarmTime.substring(0, "2019-11-11 12:32:05".length());
+            }
+            apiModel.put("alarmTime", alarmTime);
             apiModel.put("alarmPerson", "");
 
             String sdkType = apiModel.get("sdkType");
@@ -63,7 +82,6 @@
                 }
             }
             apiModel.put("alarmVideo", apiModel.get("videoNum"));
-            String picDate = apiModel.get("picDate");
             if (picDate != null) {
                 apiModel.put("alarmPicture", apiModel.remove("picDate"));
             }
@@ -73,6 +91,7 @@
             apiModel.put("alarmLargePicture",
                     apiModel.get("picMaxUrl")
             );
+            apiModel.put(Alarm.picDate, picDate);
             String picAddress = apiModel.get("picAddress");
             if (picAddress != null) {
                 apiModel.put("alarmAddress", apiModel.remove("picAddress"));
@@ -136,20 +155,62 @@
             } else {
                 alarm.put("canClose", "false");
             }
+//            alarm.put("alarmVideo", "/sdcard/face1.mp4");
         }
         return sqliteAlarmList;
     }
+    public static Set<String> newAlarmIdSet = new HashSet<>();
+    public static Lock newAlarmIdSetLock = new ReentrantLock();
+    public static void putNewAlarmIdSet(Map<String, String> newRemoteAlarm) {
+        newAlarmIdSetLock.lock();
+        try {
+            String id = newRemoteAlarm.get(Alarm.id);
+            if (!TextUtils.isEmpty(id)) {
+                newAlarmIdSet.add(id);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        newAlarmIdSetLock.unlock();
+    }
+    public static boolean removeNewAlarmIdSet(Map<String, String> alarm) {
+        newAlarmIdSetLock.lock();
+        boolean success = false;
+        try {
+            String id = alarm.get(Alarm.id);
+            if (!TextUtils.isEmpty(id)) {
+                if (newAlarmIdSet.contains(id)) {
+                    success = true;
+                }
+                newAlarmIdSet.remove(id);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        newAlarmIdSetLock.unlock();
+        return success;
+    }
+
 
     public static int saveRemoteAlarmListToSqlite(List<Map<String, String>> newRemoteAlarmList) {
         int savedCount = 0;
         for (Map<String, String> newRemoteAlarm : newRemoteAlarmList) {
-            if (findById(newRemoteAlarm.get("id")) == null) {
+            Map<String, String> dbRemoteAlarm = findById(newRemoteAlarm.get("id"));
+            if (dbRemoteAlarm == null) {
                 newRemoteAlarm.put("table", "alarm");
                 newRemoteAlarm.put("closeAlarm", "false");
                 newRemoteAlarm.put("mute", "false");
                 newRemoteAlarm.put("createTime", new Date().getTime()+"");
                 save(newRemoteAlarm);
+                putNewAlarmIdSet(newRemoteAlarm);
                 savedCount++;
+            } else {
+                if (TextUtils.isEmpty(dbRemoteAlarm.get("alarmVideo"))) {
+                    dbRemoteAlarm.put("table", "alarm");
+                    dbRemoteAlarm.put("alarmVideo", newRemoteAlarm.get("alarmVideo"));
+                    save(dbRemoteAlarm);
+                    savedCount++;
+                }
             }
         }
         return savedCount;
@@ -162,4 +223,82 @@
             e.printStackTrace();
         }
     }
+    public static List<Map<String, String>> newSqliteAlarmListBackup = new ArrayList<>();
+    public static void updateVideoUrl() {
+        HomeFragment homeFragment = ((MainActivity)BaseApplication.getApplication().activity).fragment_home;
+        if (homeFragment == null) {
+            return;
+        }
+        if (homeFragment.refreshGridViewLocker != null) {
+            try {
+                homeFragment.refreshGridViewLocker.lock();
+                if (homeFragment.newSqliteAlarmList != null) {
+                    for (int i = 0; i < homeFragment.newSqliteAlarmList.size(); i++) {
+                        Map<String, String> alarm = homeFragment.newSqliteAlarmList.get(i);
+                        if (alarm.get(Alarm.alarmVideo).length() < 5) {
+                            Map<String, String> newAlarm = new HashMap<>();
+                            newAlarm.putAll(alarm);
+                            newSqliteAlarmListBackup.add(newAlarm);
+                        }
+                    }
+                }
+            } catch (Exception e) {
+                e.printStackTrace();
+            } finally {
+                homeFragment.refreshGridViewLocker.unlock();
+            }
+        }
+
+        int videoUrlChangeCount = 0;
+        if (newSqliteAlarmListBackup.size() > 0) {
+            for (Map<String, String> alarm : newSqliteAlarmListBackup) {
+                String videoUrl = VideoPath.getVideoUrl(alarm);
+                if (!TextUtils.isEmpty(videoUrl)) {
+                    alarm.put(Alarm.alarmVideo, videoUrl);
+                    save(alarm);
+                    videoUrlChangeCount++;
+                }
+            }
+        }
+        if (videoUrlChangeCount > 0) {
+            homeFragment.refreshGridView();
+        }
+    }
+
+    static Map<String, String> alarmPlayingMap = new HashMap<>();
+    static Lock alarmPlayingMapLock = new ReentrantLock();
+
+    public static void putAlarmPlaying(Map<String, String> alarm, boolean state) {
+        try {
+            String id = alarm.get(Alarm.id);
+            if (!TextUtils.isEmpty(id)) {
+                if (state) {
+                    System.out.println("AlarmManager.putAlarmPlaying " + state + " " +id + FrameUtil.getFrames());
+                }
+                alarmPlayingMapLock.lock();
+                alarmPlayingMap.put(id, state ? Constants.TRUE : Constants.FALSE);
+                alarmPlayingMapLock.unlock();
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    public static boolean getAlarmPlaying(Map<String, String> alarm) {
+        boolean state = false;
+        try {
+            String id = alarm.get(Alarm.id);
+            if (!TextUtils.isEmpty(id)) {
+                alarmPlayingMapLock.lock();
+                if ("true".equals(alarmPlayingMap.get(id))) {
+                    state = true;
+                }
+                alarmPlayingMapLock.unlock();
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return state;
+    }
+
 }
diff --git a/app/src/main/java/com/basic/security/manager/LogManager.java b/app/src/main/java/com/basic/security/manager/LogManager.java
new file mode 100644
index 0000000..1f8e07e
--- /dev/null
+++ b/app/src/main/java/com/basic/security/manager/LogManager.java
@@ -0,0 +1,33 @@
+package com.basic.security.manager;
+
+import com.basic.security.dao.SqliteManager;
+import com.basic.security.fragment.SettingFragment;
+import com.basic.security.model.Log;
+import com.basic.security.model.Setting;
+import com.basic.security.utils.Constants;
+
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.UUID;
+
+public class LogManager extends SqliteManager {
+
+    static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+    public static boolean saveLog(String message) {
+        try {
+            Map<String, String> log = new HashMap<>();
+            log.put(Log.message, message);
+            log.put(Log.id, UUID.randomUUID().toString());
+            log.put(Log.createTime, sdf.format(new Date()));
+            log.put("table", Log.table);
+            save(log);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return true;
+    }
+
+}
diff --git a/app/src/main/java/com/basic/security/model/Alarm.java b/app/src/main/java/com/basic/security/model/Alarm.java
index 97f4418..fd760f1 100644
--- a/app/src/main/java/com/basic/security/model/Alarm.java
+++ b/app/src/main/java/com/basic/security/model/Alarm.java
@@ -15,5 +15,9 @@
     public static String closeAlarm = "closeAlarm";
     public static String mute = "mute";
     public static String table = "Alarm";
+    public static String imgKey = "imgKey";
+    public static String indeviceid = "indeviceid";
+    public static String videoReqNum = "videoReqNum";
+    public static String picDate = "picDate";
 
 }
diff --git a/app/src/main/java/com/basic/security/model/Log.java b/app/src/main/java/com/basic/security/model/Log.java
new file mode 100644
index 0000000..1f6c879
--- /dev/null
+++ b/app/src/main/java/com/basic/security/model/Log.java
@@ -0,0 +1,10 @@
+package com.basic.security.model;
+
+public class Log {
+
+    public static String id = "id";
+    public static String message = "message";
+    public static String createTime = "createTime";
+    public static String table = "Log";
+
+}
diff --git a/app/src/main/java/com/basic/security/receiver/StartMyServiceAtBootReceiver.java b/app/src/main/java/com/basic/security/receiver/StartMyServiceAtBootReceiver.java
index ac4be94..52e9834 100644
--- a/app/src/main/java/com/basic/security/receiver/StartMyServiceAtBootReceiver.java
+++ b/app/src/main/java/com/basic/security/receiver/StartMyServiceAtBootReceiver.java
@@ -15,4 +15,4 @@
             context.startActivity(mainActivityIntent);
         }
     }
-}
\ No newline at end of file
+}
diff --git a/app/src/main/java/com/basic/security/service/KeepLifeService.java b/app/src/main/java/com/basic/security/service/KeepLifeService.java
new file mode 100644
index 0000000..47988c5
--- /dev/null
+++ b/app/src/main/java/com/basic/security/service/KeepLifeService.java
@@ -0,0 +1,207 @@
+package com.basic.security.service;
+
+import android.app.ActivityManager;
+import android.app.Notification;
+import android.app.NotificationChannel;
+import android.app.NotificationManager;
+import android.app.PendingIntent;
+import android.app.Service;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.graphics.BitmapFactory;
+import android.graphics.Color;
+import android.os.Build;
+import android.os.IBinder;
+import android.os.SystemClock;
+import android.support.annotation.Nullable;
+import android.support.v4.app.NotificationCompat;
+import android.text.TextUtils;
+
+import com.basic.security.R;
+import com.basic.security.activity.MainActivity;
+import com.basic.security.base.BaseApplication;
+import com.basic.security.utils.Constants;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.util.List;
+
+public class KeepLifeService extends Service {
+    private static final String TAG = "KeepLifeService";
+    long lastOnReceive = 0;
+    BroadcastReceiver keepLifeReceiver = new BroadcastReceiver() {
+
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            lastOnReceive = System.currentTimeMillis();
+//            System.out.println("KeepLifeService.onReceive");
+        }
+    };
+    private String mPackName;
+    private ActivityManager mActivityManager;
+    private boolean running = false;
+
+    /**
+     * 鑾峰彇褰撳墠杩涚▼鍚嶇О
+     *
+     * @return
+     */
+    public static String getProcessName() {
+        try {
+            File file = new File("/proc/" + android.os.Process.myPid() + "/" + "cmdline");
+            BufferedReader mBufferedReader = new BufferedReader(new FileReader(file));
+            String processName = mBufferedReader.readLine().trim();
+            mBufferedReader.close();
+            return processName;
+        } catch (Exception e) {
+            e.printStackTrace();
+            return null;
+        }
+    }
+
+    /**
+     * 杩涚▼鏄惁瀛樻椿
+     *
+     * @return
+     */
+    public static boolean isRunningProcess(ActivityManager manager, String processName) {
+        if (manager == null)
+            return false;
+        List<ActivityManager.RunningAppProcessInfo> runnings = manager.getRunningAppProcesses();
+        if (runnings != null) {
+            for (ActivityManager.RunningAppProcessInfo info : runnings) {
+                if (TextUtils.equals(info.processName, processName)) {
+                    return true;
+                }
+            }
+        }
+        return false;
+    }
+
+    @Override
+    public void onCreate() {
+        running = true;
+        super.onCreate();
+        IntentFilter intentFilter = new IntentFilter("keepLife");
+        registerReceiver(keepLifeReceiver, intentFilter);
+        mActivityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
+        String process = getProcessName();
+        mPackName = getPackageName();
+        BaseApplication.getApplication().executorService.execute(() -> {
+            while (running) {
+                try {
+//                        System.out.println("KeepLifeService.run " + Thread.currentThread().getId());
+                    SystemClock.sleep(2 * 1000);
+                    if (Constants.autoRestart) {
+                        boolean isRun = isRunningProcess(mActivityManager, mPackName);
+                        if (lastOnReceive != 0 && System.currentTimeMillis() - lastOnReceive > 10 * 1000) {
+                            isRun = false;
+                        }
+//                            Log.i(TAG, String.format("onCreate: %s %s pid=%d uid=%d isRun=%s", mPackName, process, Process.myPid(), Process.myUid(), isRun));
+                        if (!isRun) {
+                            Intent intent = getPackageManager().getLaunchIntentForPackage(mPackName);
+                            if (intent != null) {
+                                intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
+                                startActivity(intent);
+                            }
+                        }
+                    }
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+            }
+        });
+    }
+
+    @Nullable
+    @Override
+    public IBinder onBind(Intent intent) {
+        return null;
+    }
+
+    @Override
+    public int onStartCommand(Intent intent, int flags, int startId) {
+        BaseApplication.getApplication().executorService.execute(() -> {
+            while (running) {
+//                    System.out.println("鏈嶅姟姝e湪杩愯..." + Thread.currentThread().getId());
+                try {
+                    Thread.sleep(2 * 1000);
+                    if (Constants.autoRestart) {
+                        boolean isRun = isRunningProcess(mActivityManager, mPackName);
+//                            Log.i(TAG, String.format("onCreate: %s %s pid=%d uid=%d isRun=%s", mPackName, process, Process.myPid(), Process.myUid(), isRun));
+                        if (lastOnReceive != 0 && System.currentTimeMillis() - lastOnReceive > 10 * 1000) {
+                            isRun = false;
+                        }
+                        if (!isRun) {
+                            Intent intent1 = getPackageManager().getLaunchIntentForPackage(mPackName);
+                            if (intent1 != null) {
+                                intent1.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
+                                startActivity(intent1);
+                            }
+                        }
+                    }
+                } catch (InterruptedException e) {
+                    e.printStackTrace();
+                }
+            }
+        });
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O)
+            startMyOwnForeground();
+        else {
+//            startForeground(1, new Notification());
+            Notification.Builder builder = new Notification.Builder(this.getApplicationContext());
+            Intent nfIntent = new Intent(this, MainActivity.class);
+            builder.setContentIntent(PendingIntent.getActivity(this, 0, nfIntent, 0))
+                    //璁剧疆閫氱煡鏍忓ぇ鍥炬爣
+                    .setLargeIcon(BitmapFactory.decodeResource(this.getResources(), R.drawable.back))
+                    //璁剧疆鏈嶅姟鏍囬
+                    .setContentTitle("鏈嶅姟")
+                    //璁剧疆鐘舵�佹爮灏忓浘鏍�
+                    .setSmallIcon(R.drawable.back)
+                    //璁剧疆鏈嶅姟鍐呭
+                    .setContentText("鏈嶅姟")
+                    //璁剧疆閫氱煡鏃堕棿
+                    .setWhen(System.currentTimeMillis());
+            Notification notification = null;
+            if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN) {
+                notification = builder.build();
+            }
+            //璁剧疆閫氱煡鐨勫0闊�
+            notification.defaults = Notification.DEFAULT_SOUND;
+            startForeground(110, notification);
+        }
+
+        return super.onStartCommand(intent, flags, startId);
+    }
+    private void startMyOwnForeground(){
+        String NOTIFICATION_CHANNEL_ID = "com.example.simpleapp";
+        String channelName = "My Background Service";
+        NotificationChannel chan = new NotificationChannel(NOTIFICATION_CHANNEL_ID, channelName, NotificationManager.IMPORTANCE_NONE);
+        chan.setLightColor(Color.BLUE);
+        chan.setLockscreenVisibility(Notification.VISIBILITY_PRIVATE);
+        NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
+        assert manager != null;
+        manager.createNotificationChannel(chan);
+
+        NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this, NOTIFICATION_CHANNEL_ID);
+        Notification notification = notificationBuilder.setOngoing(true)
+                .setSmallIcon(R.drawable.back)
+                .setContentTitle("App is running in background")
+                .setPriority(NotificationManager.IMPORTANCE_MIN)
+                .setCategory(Notification.CATEGORY_SERVICE)
+                .build();
+        startForeground(2, notification);
+    }
+
+    @Override
+    public void onDestroy() {
+        super.onDestroy();
+        unregisterReceiver(keepLifeReceiver);
+        running = false;
+        stopForeground(true);
+//        System.out.println("KeepLifeService.onDestroy");
+    }
+}
diff --git a/app/src/main/java/com/basic/security/utils/AppUtil.java b/app/src/main/java/com/basic/security/utils/AppUtil.java
new file mode 100644
index 0000000..0fc2832
--- /dev/null
+++ b/app/src/main/java/com/basic/security/utils/AppUtil.java
@@ -0,0 +1,32 @@
+package com.basic.security.utils;
+
+import android.app.AlarmManager;
+import android.app.PendingIntent;
+import android.content.Context;
+import android.content.Intent;
+
+import com.basic.security.activity.MainActivity_;
+import com.basic.security.base.BaseApplication;
+
+public class AppUtil {
+    public static void restartApp(Context mContext) {
+        System.out.println("AppUtil.restartApp");
+        if (Constants.autoRestart) {
+            try {
+                BaseApplication.getApplication().executorService.execute(() -> {
+                    try {
+                        Intent intent = new Intent(mContext, MainActivity_.class);
+                        PendingIntent restartIntent = PendingIntent.getActivity(mContext, 0, intent, Intent.FLAG_ACTIVITY_NEW_TASK);
+                        AlarmManager mgr = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE);
+                        mgr.set(AlarmManager.RTC, System.currentTimeMillis() + 1000, restartIntent);
+                        android.os.Process.killProcess(android.os.Process.myPid());
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }
+                });
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+    }
+}
diff --git a/app/src/main/java/com/basic/security/utils/AudioPlayer.java b/app/src/main/java/com/basic/security/utils/AudioPlayer.java
index 898719a..95d5531 100644
--- a/app/src/main/java/com/basic/security/utils/AudioPlayer.java
+++ b/app/src/main/java/com/basic/security/utils/AudioPlayer.java
@@ -4,7 +4,6 @@
 
 import com.basic.security.base.BaseApplication;
 import com.basic.security.fragment.SettingFragment;
-import com.basic.security.fragment.helper.HomeGridViewAdapter;
 import com.basic.security.fragment.helper.HomePlayAlarmSound;
 
 public class AudioPlayer {
@@ -12,7 +11,7 @@
 
     public static MediaPlayer play(MediaPlayer mp, String alarmAudio, boolean looping) {
         try {
-            if (mp == null ) {
+            if (mp == null) {
                 mp = MediaPlayer.create(BaseApplication.getApplication().activity, SettingFragment.getAudioRawIndex(alarmAudio));
                 mp.setLooping(looping);
                 mp.start();
@@ -36,7 +35,7 @@
     }
 
     public static void stopInNewThread(final MediaPlayer mp) {
-        new Thread(){
+        new Thread() {
             @Override
             public void run() {
                 AudioPlayer.stop(mp);
diff --git a/app/src/main/java/com/basic/security/utils/Constants.java b/app/src/main/java/com/basic/security/utils/Constants.java
index f984f1a..3f758ff 100644
--- a/app/src/main/java/com/basic/security/utils/Constants.java
+++ b/app/src/main/java/com/basic/security/utils/Constants.java
@@ -1,9 +1,12 @@
 package com.basic.security.utils;
 
 public class Constants {
+    public static final String TRUE = "true";
+    public static final String FALSE = "false";
     public static String databaseName = "/sdcard/alarm.db";
     public static boolean printSql = true;
-    public static boolean autoRestart = false;
+    public static boolean autoRestart = true;
+    public static boolean showLog = true;
 
-    public static boolean NativeLib =  false;
+    public static boolean NativeLib = true;
 }
diff --git a/app/src/main/java/com/basic/security/utils/CrashHandler.java b/app/src/main/java/com/basic/security/utils/CrashHandler.java
index 6d43e8f..3e76449 100644
--- a/app/src/main/java/com/basic/security/utils/CrashHandler.java
+++ b/app/src/main/java/com/basic/security/utils/CrashHandler.java
@@ -1,4 +1,5 @@
 package com.basic.security.utils;
+
 import android.annotation.SuppressLint;
 import android.app.AlarmManager;
 import android.app.PendingIntent;
@@ -8,17 +9,11 @@
 import android.content.pm.PackageManager;
 import android.os.Build;
 import android.os.Environment;
-import android.os.Looper;
-import android.os.SystemClock;
 import android.util.Log;
-import android.widget.Toast;
 
 import com.basic.security.activity.MainActivity_;
-import com.basic.security.base.BaseApplication;
-import com.facebook.common.file.FileUtils;
 
 import org.springframework.util.FileCopyUtils;
-import org.xutils.common.util.FileUtil;
 
 import java.io.File;
 import java.io.FileOutputStream;
@@ -43,17 +38,14 @@
 public class CrashHandler implements Thread.UncaughtExceptionHandler {
 
     public static String TAG = "MyCrash";
-    // 绯荤粺榛樿鐨刄ncaughtException澶勭悊绫�
-    private Thread.UncaughtExceptionHandler mDefaultHandler;
-
     private static com.basic.security.utils.CrashHandler instance = new com.basic.security.utils.CrashHandler();
-    private Context mContext;
-
-    // 鐢ㄦ潵瀛樺偍璁惧淇℃伅鍜屽紓甯镐俊鎭�
-    private Map<String, String> infos = new HashMap<String, String>();
-
     // 鐢ㄤ簬鏍煎紡鍖栨棩鏈�,浣滀负鏃ュ織鏂囦欢鍚嶇殑涓�閮ㄥ垎
     private static DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
+    // 绯荤粺榛樿鐨刄ncaughtException澶勭悊绫�
+    private Thread.UncaughtExceptionHandler mDefaultHandler;
+    private Context mContext;
+    // 鐢ㄦ潵瀛樺偍璁惧淇℃伅鍜屽紓甯镐俊鎭�
+    private Map<String, String> infos = new HashMap<String, String>();
 
     /**
      * 淇濊瘉鍙湁涓�涓狢rashHandler瀹炰緥
@@ -66,6 +58,37 @@
      */
     public static com.basic.security.utils.CrashHandler getInstance() {
         return instance;
+    }
+
+    public static String getErrorContent() {
+        String time = formatter.format(new Date());
+        String fileName = "crash-" + time + ".log";
+        String content = "";
+        try {
+            String path = getGlobalpath();
+            File dir = new File(path);
+            if (!dir.exists())
+                dir.mkdirs();
+            File file = new File(path + fileName);
+            if (file.exists()) {
+                content = FileCopyUtils.copyToString(new FileReader(file));
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return content;
+    }
+
+    public static String getGlobalpath() {
+//        return BaseApplication.getApplication().getFilesDir().getAbsolutePath();
+//        return Environment.getExternalStorageDirectory().getAbsolutePath()
+//                + File.separator + "crash" + File.separator;
+        return Environment.getExternalStorageDirectory().getAbsolutePath()
+                + File.separator + "crash" + File.separator;
+    }
+
+    public static void setTag(String tag) {
+        TAG = tag;
     }
 
     /**
@@ -214,36 +237,6 @@
             fos.close();
         }
         return fileName;
-    }
-
-
-    public static String getErrorContent()  {
-        String time = formatter.format(new Date());
-        String fileName = "crash-" + time + ".log";
-        String content = "";
-        try {
-            String path = getGlobalpath();
-            File dir = new File(path);
-            if (!dir.exists())
-                dir.mkdirs();
-            File file = new File(path+fileName);
-            if (file.exists()) {
-                content = FileCopyUtils.copyToString(new FileReader(file));
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        return content;
-    }
-
-    public static String getGlobalpath() {
-        return BaseApplication.getApplication().getFilesDir().getAbsolutePath();
-//        return Environment.getExternalStorageDirectory().getAbsolutePath()
-//                + File.separator + "crash" + File.separator;
-    }
-
-    public static void setTag(String tag) {
-        TAG = tag;
     }
 
     /**
diff --git a/app/src/main/java/com/basic/security/utils/FFmpeg.java b/app/src/main/java/com/basic/security/utils/FFmpeg.java
index 1799c99..ae1c608 100644
--- a/app/src/main/java/com/basic/security/utils/FFmpeg.java
+++ b/app/src/main/java/com/basic/security/utils/FFmpeg.java
@@ -19,9 +19,13 @@
     }
 
     public native long create();
+
     public native void buildDecoder(long ffmpeg);
+
     public native void run(long ffmpeg, String url);
+
     public native void destroy(long ffmpeg);
+
     public native void getPicDecoder(long ffmpeg);
 
 }
diff --git a/app/src/main/java/com/basic/security/utils/FrameUtil.java b/app/src/main/java/com/basic/security/utils/FrameUtil.java
new file mode 100644
index 0000000..c023489
--- /dev/null
+++ b/app/src/main/java/com/basic/security/utils/FrameUtil.java
@@ -0,0 +1,63 @@
+package com.basic.security.utils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class FrameUtil {
+    public static List<String> getFrames() {
+        List<String> frames = new ArrayList<>();
+        try {
+            throw new Exception();
+        } catch (Exception e) {
+            StackTraceElement[] stackTraceElements = e.getStackTrace();
+            for (StackTraceElement stackTraceElement : stackTraceElements) {
+                frames.add(stackTraceElement.toString());
+            }
+        }
+//        System.out.println("FrameUtil.getFrames " + frames);
+        return frames;
+    }
+
+    public static List<String> getFrames(int frameIndex) {
+        List<String> frames = new ArrayList<>();
+        try {
+            throw new Exception();
+        } catch (Exception e) {
+            StackTraceElement[] stackTraceElements = e.getStackTrace();
+            int i = 0;
+            for (StackTraceElement stackTraceElement : stackTraceElements) {
+                if (i == frameIndex) {
+                    frames.add(stackTraceElement.toString());
+                    break;
+                }
+                i++;
+            }
+        }
+//        System.out.println("FrameUtil.getFrames " + frames);
+        return frames;
+    }
+
+    public static List<String> getFrames(String filter) {
+        List<String> frames = new ArrayList<>();
+        try {
+            throw new Exception();
+        } catch (Exception e) {
+            StackTraceElement[] stackTraceElements = e.getStackTrace();
+            for (StackTraceElement stackTraceElement : stackTraceElements) {
+                String frame = stackTraceElement.toString();
+                if (frame != null && frame.contains(filter)) {
+                    int index = 0;
+                    for (int i = 0; i < frame.length(); i++) {
+                        if (Character.isUpperCase(frame.charAt(i))) {
+                            index = i;
+                            break;
+                        }
+                    }
+                    frames.add(frame.substring(index) + "\r\n");
+                }
+            }
+        }
+//        System.out.println("FrameUtil.getFrames " + frames);
+        return frames;
+    }
+}
diff --git a/app/src/main/java/com/basic/security/utils/IpUtils.java b/app/src/main/java/com/basic/security/utils/IpUtils.java
index 9f2d768..a596f62 100644
--- a/app/src/main/java/com/basic/security/utils/IpUtils.java
+++ b/app/src/main/java/com/basic/security/utils/IpUtils.java
@@ -15,6 +15,7 @@
 public class IpUtils {
     /**
      * 鑾峰彇鏈満璁惧Ip
+     *
      * @param context
      * @return
      */
diff --git a/app/src/main/java/com/basic/security/utils/JnanomsgServer.java b/app/src/main/java/com/basic/security/utils/JnanomsgServer.java
index e5fb418..70eaae3 100644
--- a/app/src/main/java/com/basic/security/utils/JnanomsgServer.java
+++ b/app/src/main/java/com/basic/security/utils/JnanomsgServer.java
@@ -51,4 +51,4 @@
 ////            }
 ////        }).start();
 ////    }
-//}
\ No newline at end of file
+//}
diff --git a/app/src/main/java/com/basic/security/utils/KeyboardUtil.java b/app/src/main/java/com/basic/security/utils/KeyboardUtil.java
index 26b3f07..8fd9fe8 100644
--- a/app/src/main/java/com/basic/security/utils/KeyboardUtil.java
+++ b/app/src/main/java/com/basic/security/utils/KeyboardUtil.java
@@ -8,28 +8,25 @@
 import android.view.inputmethod.InputMethodManager;
 import android.widget.EditText;
 
-import com.basic.security.activity.MainActivity;
 import com.basic.security.base.BaseApplication;
-import com.basic.security.fragment.helper.HomeGridViewAdapter;
 
 public class KeyboardUtil {
 
     public static void showKeyboard() {
-        InputMethodManager imm = (InputMethodManager)BaseApplication.getApplication().activity.getSystemService(Context.INPUT_METHOD_SERVICE);
+        InputMethodManager imm = (InputMethodManager) BaseApplication.getApplication().activity.getSystemService(Context.INPUT_METHOD_SERVICE);
         imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
     }
 
 
-
     public static void setupUI(final View view) {
-        if (1!=1) {
-            return;
-        }
+//        if (1!=1) {
+//            return;
+//        }
         // Set up touch listener for non-text box views to hide keyboard.
         if (!(view instanceof EditText)) {
             view.setOnTouchListener(new View.OnTouchListener() {
                 public boolean onTouch(View v, MotionEvent event) {
-                    System.out.println("KeyboardUtil.onTouch setOnTouchListener view="+v);
+//                    System.out.println("KeyboardUtil.onTouch setOnTouchListener view="+v + ", parent="+view.getParent());
                     KeyboardUtil.hideSoftKeyboard();
                     return false;
                 }
diff --git a/app/src/main/java/com/basic/security/utils/LztekAndroidRoot.java b/app/src/main/java/com/basic/security/utils/LztekAndroidRoot.java
index 80a885c..aadbc95 100644
--- a/app/src/main/java/com/basic/security/utils/LztekAndroidRoot.java
+++ b/app/src/main/java/com/basic/security/utils/LztekAndroidRoot.java
@@ -1,54 +1,54 @@
 package com.basic.security.utils;
 
-public class LztekAndroidRoot{
-/* It is sample code for Lztek Android 7.1 and 8.1 root
+public class LztekAndroidRoot {
+    /* It is sample code for Lztek Android 7.1 and 8.1 root
 
      */
     public static void SafeClose(java.io.Closeable closeable) {
-		if (null != closeable) {
-			try {
-				closeable.close();
-			} catch (java.io.IOException e) { 
-			}
-		}
-	}
-	
-	/* The command sequence is like "su root chmod 666 /dev/i2c-1".
-	 * Each command should be executed in this strange way :-)
-	 */
-	
-	public static String SuExec(String command, java.io.File workingDirectory) {
-		if (null == command || (command=command.trim()).length() == 0) { 
-			return null;
-		}
-		if (null == workingDirectory) { 
-			workingDirectory = new java.io.File("/"); 
-		} 
-		java.io.OutputStream out = null;
-		java.io.InputStream in = null;
-		java.io.InputStream err = null;		
-		try {  
-			Runtime runtime = Runtime.getRuntime(); 
-			Process process = runtime.exec("su root " + command, null, workingDirectory); 	
-			StringBuffer inString = new StringBuffer();
-			StringBuffer errString = new StringBuffer();			
-			out = process.getOutputStream();
-   			
-			in = process.getInputStream();  
-			err = process.getErrorStream(); 			
-			while (in.available() > 0) { 
-				inString.append((char)in.read());
-			} 
-			while (err.available() > 0) {  
-				errString.append((char)err.read());
-			} 
-			return inString.toString();
-		} catch (Exception ioex) { 
-			return null;
-		} finally {
-			SafeClose(out);
-			SafeClose(in);
-			SafeClose(err); 
-		}    
-	}
+        if (null != closeable) {
+            try {
+                closeable.close();
+            } catch (java.io.IOException e) {
+            }
+        }
+    }
+
+    /* The command sequence is like "su root chmod 666 /dev/i2c-1".
+     * Each command should be executed in this strange way :-)
+     */
+
+    public static String SuExec(String command, java.io.File workingDirectory) {
+        if (null == command || (command = command.trim()).length() == 0) {
+            return null;
+        }
+        if (null == workingDirectory) {
+            workingDirectory = new java.io.File("/");
+        }
+        java.io.OutputStream out = null;
+        java.io.InputStream in = null;
+        java.io.InputStream err = null;
+        try {
+            Runtime runtime = Runtime.getRuntime();
+            Process process = runtime.exec("su root " + command, null, workingDirectory);
+            StringBuffer inString = new StringBuffer();
+            StringBuffer errString = new StringBuffer();
+            out = process.getOutputStream();
+
+            in = process.getInputStream();
+            err = process.getErrorStream();
+            while (in.available() > 0) {
+                inString.append((char) in.read());
+            }
+            while (err.available() > 0) {
+                errString.append((char) err.read());
+            }
+            return inString.toString();
+        } catch (Exception ioex) {
+            return null;
+        } finally {
+            SafeClose(out);
+            SafeClose(in);
+            SafeClose(err);
+        }
+    }
 }
diff --git a/app/src/main/java/com/basic/security/utils/MemoryUtil.java b/app/src/main/java/com/basic/security/utils/MemoryUtil.java
new file mode 100644
index 0000000..662b9ce
--- /dev/null
+++ b/app/src/main/java/com/basic/security/utils/MemoryUtil.java
@@ -0,0 +1,34 @@
+package com.basic.security.utils;
+
+import android.os.Debug;
+
+import com.basic.security.base.BaseApplication;
+
+public class MemoryUtil {
+
+    public static void monitorMemory() {
+        if (1 == 1) {
+            return;
+        }
+        try {
+            Runtime runtime = Runtime.getRuntime();
+            long usedMemInMB = (runtime.totalMemory() - runtime.freeMemory()) / 1048576L;
+            long maxHeapSizeInMB = runtime.maxMemory() / 1048576L;
+            long availHeapSizeInMB = maxHeapSizeInMB - usedMemInMB;
+            if ((availHeapSizeInMB * 1.0) / (maxHeapSizeInMB * 1.0) < 0.1) {
+                AppUtil.restartApp(BaseApplication.getApplication());
+            }
+            long getNativeHeapAllocatedSize = Debug.getNativeHeapAllocatedSize() / 1048576L;
+            long getNativeHeapSize = Debug.getNativeHeapSize() / 1048576L;
+            long getNativeHeapFreeSize = Debug.getNativeHeapFreeSize() / 1048576L;
+            System.out.println(" " + "usedInMB=" + usedMemInMB + " " + Thread.getAllStackTraces().size()
+                    + " availHeapSizeInMB=" + availHeapSizeInMB + " getNativeHeapAllocatedSize=" + getNativeHeapAllocatedSize
+                    + " getNativeHeapSize=" + getNativeHeapSize + " getNativeHeapFreeSize=" + getNativeHeapFreeSize
+            );
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+    }
+
+}
diff --git a/app/src/main/java/com/basic/security/utils/PermissionHelper.java b/app/src/main/java/com/basic/security/utils/PermissionHelper.java
index a1d0fef..7d94775 100644
--- a/app/src/main/java/com/basic/security/utils/PermissionHelper.java
+++ b/app/src/main/java/com/basic/security/utils/PermissionHelper.java
@@ -32,57 +32,62 @@
  * requires user consent at runtime to access the camera.
  */
 public class PermissionHelper {
-  public static final int  RC_PERMISSION_REQUEST = 9222;
-  public static boolean hasCameraPermission(Activity activity) {
-    return ContextCompat.checkSelfPermission(activity,
-            Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED;
-  }
-  public static boolean hasWriteStoragePermission(Activity activity) {
-    return ContextCompat.checkSelfPermission(activity,
-            Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED;
-  }
-  public static void requestCameraPermission(Activity activity, boolean requestWritePermission) {
+    public static final int RC_PERMISSION_REQUEST = 9222;
 
-    boolean showRationale = ActivityCompat.shouldShowRequestPermissionRationale(activity,
-              Manifest.permission.CAMERA) || (requestWritePermission &&
-    ActivityCompat.shouldShowRequestPermissionRationale(activity,
-            Manifest.permission.WRITE_EXTERNAL_STORAGE));
-    if (showRationale) {
-        Toast.makeText(activity,
-                "Camera permission is needed to run this application", Toast.LENGTH_LONG).show();
-      } else {
-
-        // No explanation needed, we can request the permission.
-
-      String permissions[] = requestWritePermission ? new String[]{Manifest.permission.CAMERA,
-              Manifest.permission.WRITE_EXTERNAL_STORAGE}: new String[]{Manifest.permission.CAMERA};
-        ActivityCompat.requestPermissions(activity,permissions,RC_PERMISSION_REQUEST);
-      }
+    public static boolean hasCameraPermission(Activity activity) {
+        return ContextCompat.checkSelfPermission(activity,
+                Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED;
     }
 
-  public static void requestWriteStoragePermission(Activity activity) {
-    boolean showRationale = ActivityCompat.shouldShowRequestPermissionRationale(activity,
-                    Manifest.permission.WRITE_EXTERNAL_STORAGE);
-    if (showRationale) {
-      Toast.makeText(activity,
-              "Writing to external storage permission is needed to run this application",
-              Toast.LENGTH_LONG).show();
-    } else {
-
-      // No explanation needed, we can request the permission.
-
-      String permissions[] =  new String[]{ Manifest.permission.WRITE_EXTERNAL_STORAGE};
-
-      ActivityCompat.requestPermissions(activity,permissions,RC_PERMISSION_REQUEST);
+    public static boolean hasWriteStoragePermission(Activity activity) {
+        return ContextCompat.checkSelfPermission(activity,
+                Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED;
     }
-  }
 
-  /** Launch Application Setting to grant permission. */
-  public static void launchPermissionSettings(Activity activity) {
-    Intent intent = new Intent();
-    intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
-    intent.setData(Uri.fromParts("package", activity.getPackageName(), null));
-    activity.startActivity(intent);
-  }
+    public static void requestCameraPermission(Activity activity, boolean requestWritePermission) {
+
+        boolean showRationale = ActivityCompat.shouldShowRequestPermissionRationale(activity,
+                Manifest.permission.CAMERA) || (requestWritePermission &&
+                ActivityCompat.shouldShowRequestPermissionRationale(activity,
+                        Manifest.permission.WRITE_EXTERNAL_STORAGE));
+        if (showRationale) {
+            Toast.makeText(activity,
+                    "Camera permission is needed to run this application", Toast.LENGTH_LONG).show();
+        } else {
+
+            // No explanation needed, we can request the permission.
+
+            String permissions[] = requestWritePermission ? new String[]{Manifest.permission.CAMERA,
+                    Manifest.permission.WRITE_EXTERNAL_STORAGE} : new String[]{Manifest.permission.CAMERA};
+            ActivityCompat.requestPermissions(activity, permissions, RC_PERMISSION_REQUEST);
+        }
+    }
+
+    public static void requestWriteStoragePermission(Activity activity) {
+        boolean showRationale = ActivityCompat.shouldShowRequestPermissionRationale(activity,
+                Manifest.permission.WRITE_EXTERNAL_STORAGE);
+        if (showRationale) {
+            Toast.makeText(activity,
+                    "Writing to external storage permission is needed to run this application",
+                    Toast.LENGTH_LONG).show();
+        } else {
+
+            // No explanation needed, we can request the permission.
+
+            String permissions[] = new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE};
+
+            ActivityCompat.requestPermissions(activity, permissions, RC_PERMISSION_REQUEST);
+        }
+    }
+
+    /**
+     * Launch Application Setting to grant permission.
+     */
+    public static void launchPermissionSettings(Activity activity) {
+        Intent intent = new Intent();
+        intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
+        intent.setData(Uri.fromParts("package", activity.getPackageName(), null));
+        activity.startActivity(intent);
+    }
 
 }
diff --git a/app/src/main/java/com/basic/security/utils/RabbitMQConsumer.java b/app/src/main/java/com/basic/security/utils/RabbitMQConsumer.java
new file mode 100644
index 0000000..5225a31
--- /dev/null
+++ b/app/src/main/java/com/basic/security/utils/RabbitMQConsumer.java
@@ -0,0 +1,70 @@
+package com.basic.security.utils;
+
+import android.os.SystemClock;
+
+import com.basic.security.manager.SettingManager;
+import com.fasterxml.jackson.databind.cfg.BaseSettings;
+import com.rabbitmq.client.AMQP;
+import com.rabbitmq.client.Channel;
+import com.rabbitmq.client.Connection;
+import com.rabbitmq.client.ConnectionFactory;
+import com.rabbitmq.client.Consumer;
+import com.rabbitmq.client.DefaultConsumer;
+import com.rabbitmq.client.Envelope;
+
+import org.slf4j.ILoggerFactory;
+
+import java.io.IOException;
+
+public class RabbitMQConsumer {
+    static String QUEUE_NAME = "alarm2Android";
+    static ConnectionFactory factory = new ConnectionFactory();
+
+    public static void init() {
+        try {
+            System.out.println("RabbitMQConsumer.init ");
+            ConnectionFactory factory = new ConnectionFactory();
+            {
+//                factory.setHost("58.118.225.79");
+//                factory.setPort(53691);
+                factory.setHost(SettingManager.getIpStr());
+                factory.setPort(SettingManager.getPort());
+            }
+            {
+                //factory.setHost("localhost");
+            }
+            factory.setUsername("basic");
+            factory.setPassword("basic");
+            Connection connection = factory.newConnection();
+            Channel channel = connection.createChannel();
+            channel.queueDeclare(QUEUE_NAME, false, false, false, null);
+            Consumer consumer = new DefaultConsumer(channel) {
+                @Override
+                public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException {
+                    try {
+                        String message = new String(body, "UTF-8");
+                        System.out.println("RabbitMQConsumer.handleDelivery " + message);
+                        SocketClient.parseJson(message);
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }
+                }
+            };
+            channel.basicConsume(QUEUE_NAME, true, consumer);
+            while (connection.isOpen()) {
+                SystemClock.sleep(3*100);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+    }
+
+    public static void main(String[] args) {
+        while (true) {
+            init();
+            SystemClock.sleep(3000);
+        }
+    }
+
+}
diff --git a/app/src/main/java/com/basic/security/utils/RabbitMQProducer.java b/app/src/main/java/com/basic/security/utils/RabbitMQProducer.java
new file mode 100644
index 0000000..32e3ffd
--- /dev/null
+++ b/app/src/main/java/com/basic/security/utils/RabbitMQProducer.java
@@ -0,0 +1,33 @@
+package com.basic.security.utils;
+
+import com.rabbitmq.client.Channel;
+import com.rabbitmq.client.Connection;
+import com.rabbitmq.client.ConnectionFactory;
+
+public class RabbitMQProducer {
+    static String QUEUE_NAME = "alarm2Android";
+    static ConnectionFactory factory = new ConnectionFactory();
+
+    public static void init() {
+        try {
+            ConnectionFactory factory = new ConnectionFactory();
+            factory.setHost("localhost");
+            Connection connection = factory.newConnection();
+            Channel channel = connection.createChannel();
+            channel.queueDeclare(QUEUE_NAME, false, false, false, null);
+            String message = "Hello World!";
+            channel.basicPublish("", QUEUE_NAME, null, message.getBytes("UTF-8"));
+            System.out.println("P [x] Sent '" + message + "'");
+            channel.close();
+            connection.close();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+    }
+
+    public static void main(String[] args) {
+        init();
+    }
+
+}
diff --git a/app/src/main/java/com/basic/security/utils/SocketAcceptedClient.java b/app/src/main/java/com/basic/security/utils/SocketAcceptedClient.java
index a14d934..a0949ce 100644
--- a/app/src/main/java/com/basic/security/utils/SocketAcceptedClient.java
+++ b/app/src/main/java/com/basic/security/utils/SocketAcceptedClient.java
@@ -1,178 +1,178 @@
-package com.basic.security.utils;
-import android.os.SystemClock;
-import android.text.TextUtils;
-
-import com.basic.security.activity.MainActivity;
-import com.basic.security.base.BaseApplication;
-import com.basic.security.manager.AlarmManager;
-import com.basic.security.utils.Constants;
-import com.google.gson.JsonArray;
-import com.google.gson.JsonElement;
-import com.google.gson.JsonObject;
-import com.google.gson.JsonParseException;
-import com.google.gson.JsonParser;
-
-import java.io.BufferedInputStream;
-import java.io.BufferedOutputStream;
-import java.io.ByteArrayOutputStream;
-import java.net.Socket;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-public class SocketAcceptedClient extends Thread {
-
-    Socket mSocket;
-    byte[] buff = new byte[1*1024*1024];
-    ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
-    public static boolean needRestart = false;
-    List<Map<String, String>> newRemoteAlarmList = null;
-
-    private static final int MAX_BUFFER = 15;
-
-    private static LinkedList<byte[]> mRgbCameraQueue = new LinkedList<byte[]>();
-
-    public SocketAcceptedClient(Socket client) {
-        mSocket = client;
-    }
-
-    public Comparator<Map<String, String>> mapComparator = new Comparator<Map<String, String>>() {
-        public int compare(Map<String, String> m1, Map<String, String> m2) {
-            try {
-                double score1 = Double.parseDouble(m1.get("likePer"));
-                double score2 = Double.parseDouble(m2.get("likePer"));
-                return (int)(score1 - score2);
-            } catch (Exception e) {
-                e.printStackTrace();
-            }
-            return 0;
-        }
-    };
-
-    public void parseJson(String msg) {
-
-        JsonParser parser = new JsonParser();
-        boolean isJSON = true;
-        JsonElement element = null;
-        try {
-            element = parser.parse(msg);
-        } catch (JsonParseException e) {
-            System.out.println("exception: "+ msg + " " + e);
-            isJSON = false;
-        }
-        newRemoteAlarmList = new ArrayList<>();
-        if (isJSON && element != null) {
-            Object obj = element.getAsJsonObject();
-            JsonArray dataList = (JsonArray) ((JsonObject) obj).get("datalist");
-            for (int i = 0; i < dataList.size(); i++) {
-                JsonObject je = (JsonObject)dataList.get(i);
-                Map<String, String> newRemoteAlarm = new HashMap<>();
-                for(Map.Entry<String, JsonElement> entry : je.entrySet()) {
-                    Object value = entry.getValue();
-                    String key = entry.getKey();
-                    if (value != null) {
-                        if ("baseInfo".equals(key)) {
-                            List<Map<String, String>> matchPersonMapList = new ArrayList<>();
-                            List<String> matchPersonStrList = new ArrayList<>();
-                            String matchPersonListStr = "";
-                            if (value instanceof JsonArray) {
-                                JsonArray matchPersonList = (JsonArray)value;
-                                for (int ii = 0; ii < matchPersonList.size(); ii++ ) {
-                                    JsonObject matchPerson = (JsonObject)matchPersonList.get(ii);
-                                    Map<String, String> matchPersonMap = new HashMap<>();
-
-                                    for(Map.Entry<String, JsonElement> matchPersonEntry : matchPerson.entrySet()) {
-                                        String matchPersonKey = matchPersonEntry.getKey();
-                                        Object matchPersonValue = matchPersonEntry.getValue();
-                                        if (matchPersonValue != null) {
-                                            String matchPersonValueStr = matchPersonValue.toString();
-                                            if (matchPersonValueStr.startsWith("\"")) {
-                                                matchPersonValueStr = matchPersonValueStr.substring(1);
-                                            }
-                                            if (matchPersonValueStr.endsWith("\"")) {
-                                                matchPersonValueStr = matchPersonValueStr.substring(0, matchPersonValueStr.length() - 1);
-                                            }
-                                            matchPersonMap.put(matchPersonKey, matchPersonValueStr);
-                                        } else {
-                                            matchPersonMap.put(matchPersonKey, "");
-                                        }
-                                    }
-                                    matchPersonMap.put("mathPersonStr",  matchPersonMap.get("tableName")+ " " +  matchPersonMap.get("personName"));
-                                    matchPersonMapList.add(matchPersonMap);
-                                }
-                                Collections.sort(matchPersonMapList, mapComparator);
-                                for (Map<String, String> matchPersonMap : matchPersonMapList) {
-                                    matchPersonStrList.add(matchPersonMap.get("mathPersonStr"));
-                                }
-                                matchPersonListStr = TextUtils.join("`", matchPersonStrList);
-                            }
-                            newRemoteAlarm.put("matchPersonListStr", matchPersonListStr);
-                        } else {
-                            newRemoteAlarm.put(entry.getKey(), value.toString());
-                        }
-                    }
-                }
-                newRemoteAlarmList.add(newRemoteAlarm);
-            }
+//package com.basic.security.utils;
+//import android.os.SystemClock;
+//import android.text.TextUtils;
 //
-            if (newRemoteAlarmList != null && newRemoteAlarmList.size() > 0) {
-//                                        System.out.println("receive");
-//                                        if (1==1) {
-//                                            return;
+//import com.basic.security.activity.MainActivity;
+//import com.basic.security.base.BaseApplication;
+//import com.basic.security.manager.AlarmManager;
+//import com.basic.security.utils.Constants;
+//import com.google.gson.JsonArray;
+//import com.google.gson.JsonElement;
+//import com.google.gson.JsonObject;
+//import com.google.gson.JsonParseException;
+//import com.google.gson.JsonParser;
+//
+//import java.io.BufferedInputStream;
+//import java.io.BufferedOutputStream;
+//import java.io.ByteArrayOutputStream;
+//import java.net.Socket;
+//import java.util.ArrayList;
+//import java.util.Collections;
+//import java.util.Comparator;
+//import java.util.HashMap;
+//import java.util.LinkedList;
+//import java.util.List;
+//import java.util.Map;
+//
+//public class SocketAcceptedClient extends Thread {
+//
+//    Socket mSocket;
+//    byte[] buff = new byte[1*1024*1024];
+//    ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
+//    public static boolean needRestart = false;
+//    List<Map<String, String>> newRemoteAlarmList = null;
+//
+//    private static final int MAX_BUFFER = 15;
+//
+//    private static LinkedList<byte[]> mRgbCameraQueue = new LinkedList<byte[]>();
+//
+//    public SocketAcceptedClient(Socket client) {
+//        mSocket = client;
+//    }
+//
+//    public Comparator<Map<String, String>> mapComparator = new Comparator<Map<String, String>>() {
+//        public int compare(Map<String, String> m1, Map<String, String> m2) {
+//            try {
+//                double score1 = Double.parseDouble(m1.get("likePer"));
+//                double score2 = Double.parseDouble(m2.get("likePer"));
+//                return (int)(score1 - score2);
+//            } catch (Exception e) {
+//                e.printStackTrace();
+//            }
+//            return 0;
+//        }
+//    };
+//
+//    public void parseJson(String msg) {
+//
+//        JsonParser parser = new JsonParser();
+//        boolean isJSON = true;
+//        JsonElement element = null;
+//        try {
+//            element = parser.parse(msg);
+//        } catch (JsonParseException e) {
+//            System.out.println("exception: "+ msg + " " + e);
+//            isJSON = false;
+//        }
+//        newRemoteAlarmList = new ArrayList<>();
+//        if (isJSON && element != null) {
+//            Object obj = element.getAsJsonObject();
+//            JsonArray dataList = (JsonArray) ((JsonObject) obj).get("datalist");
+//            for (int i = 0; i < dataList.size(); i++) {
+//                JsonObject je = (JsonObject)dataList.get(i);
+//                Map<String, String> newRemoteAlarm = new HashMap<>();
+//                for(Map.Entry<String, JsonElement> entry : je.entrySet()) {
+//                    Object value = entry.getValue();
+//                    String key = entry.getKey();
+//                    if (value != null) {
+//                        if ("baseInfo".equals(key)) {
+//                            List<Map<String, String>> matchPersonMapList = new ArrayList<>();
+//                            List<String> matchPersonStrList = new ArrayList<>();
+//                            String matchPersonListStr = "";
+//                            if (value instanceof JsonArray) {
+//                                JsonArray matchPersonList = (JsonArray)value;
+//                                for (int ii = 0; ii < matchPersonList.size(); ii++ ) {
+//                                    JsonObject matchPerson = (JsonObject)matchPersonList.get(ii);
+//                                    Map<String, String> matchPersonMap = new HashMap<>();
+//
+//                                    for(Map.Entry<String, JsonElement> matchPersonEntry : matchPerson.entrySet()) {
+//                                        String matchPersonKey = matchPersonEntry.getKey();
+//                                        Object matchPersonValue = matchPersonEntry.getValue();
+//                                        if (matchPersonValue != null) {
+//                                            String matchPersonValueStr = matchPersonValue.toString();
+//                                            if (matchPersonValueStr.startsWith("\"")) {
+//                                                matchPersonValueStr = matchPersonValueStr.substring(1);
+//                                            }
+//                                            if (matchPersonValueStr.endsWith("\"")) {
+//                                                matchPersonValueStr = matchPersonValueStr.substring(0, matchPersonValueStr.length() - 1);
+//                                            }
+//                                            matchPersonMap.put(matchPersonKey, matchPersonValueStr);
+//                                        } else {
+//                                            matchPersonMap.put(matchPersonKey, "");
 //                                        }
-                AlarmManager.renameKeys(newRemoteAlarmList);
-                if (AlarmManager.saveRemoteAlarmListToSqlite(newRemoteAlarmList) > 0) {
-                    ((MainActivity) BaseApplication.getApplication().activity).fragment_home.refreshGridView();
-                }
-            } else {
-                if (((MainActivity)BaseApplication.getApplication().activity).currentFragment ==
-                        ((MainActivity)BaseApplication.getApplication().activity).fragment_home) {
-                    ToastUtil.show("鑾峰彇鎶ヨ鏁版嵁澶辫触");
-                }
-            }
-        }
-    }
-
-    @Override
-    public void run() {
-        try {
-            BufferedOutputStream outputStream = new BufferedOutputStream(mSocket.getOutputStream());
-            BufferedInputStream inputStream = new BufferedInputStream(mSocket.getInputStream());
-            String msg = "";
-            int len = 0;
-            while ((len = inputStream.read(buff)) != -1) {
-                for (int i1 = 0; i1 <len; i1++) {
-                    if (buff[i1] == '\0') {
-                        try {
-                            byte[] msgBuf = byteArrayOutputStream.toByteArray();
-                            byteArrayOutputStream.reset();
-                            msg = new String(msgBuf, 0, msgBuf.length);
-                            msg = msg.substring(0, msg.lastIndexOf("}") + 1);
-                            System.out.println("msg="+msg);
-                            if (msg.length() > 3) {
-                                parseJson(msg);
-                            }
-                        } catch (Exception e) {
-                            e.printStackTrace();
-                        }
-
-                    } else {
-                        byteArrayOutputStream.write(buff[i1]);
-                    }
-                }
-                if (needRestart) {
-                    needRestart = false;
-                    break;
-                }
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-    }
-
-
-}
+//                                    }
+//                                    matchPersonMap.put("mathPersonStr",  matchPersonMap.get("tableName")+ " " +  matchPersonMap.get("personName"));
+//                                    matchPersonMapList.add(matchPersonMap);
+//                                }
+//                                Collections.sort(matchPersonMapList, mapComparator);
+//                                for (Map<String, String> matchPersonMap : matchPersonMapList) {
+//                                    matchPersonStrList.add(matchPersonMap.get("mathPersonStr"));
+//                                }
+//                                matchPersonListStr = TextUtils.join("`", matchPersonStrList);
+//                            }
+//                            newRemoteAlarm.put("matchPersonListStr", matchPersonListStr);
+//                        } else {
+//                            newRemoteAlarm.put(entry.getKey(), value.toString());
+//                        }
+//                    }
+//                }
+//                newRemoteAlarmList.add(newRemoteAlarm);
+//            }
+////
+//            if (newRemoteAlarmList != null && newRemoteAlarmList.size() > 0) {
+////                                        System.out.println("receive");
+////                                        if (1==1) {
+////                                            return;
+////                                        }
+//                AlarmManager.renameKeys(newRemoteAlarmList);
+//                if (AlarmManager.saveRemoteAlarmListToSqlite(newRemoteAlarmList) > 0) {
+//                    ((MainActivity) BaseApplication.getApplication().activity).fragment_home.refreshGridView();
+//                }
+//            } else {
+//                if (((MainActivity)BaseApplication.getApplication().activity).currentFragment ==
+//                        ((MainActivity)BaseApplication.getApplication().activity).fragment_home) {
+//                    ToastUtil.show("鑾峰彇鎶ヨ鏁版嵁澶辫触");
+//                }
+//            }
+//        }
+//    }
+//
+//    @Override
+//    public void run() {
+//        try {
+//            BufferedOutputStream outputStream = new BufferedOutputStream(mSocket.getOutputStream());
+//            BufferedInputStream inputStream = new BufferedInputStream(mSocket.getInputStream());
+//            String msg = "";
+//            int len = 0;
+//            while ((len = inputStream.read(buff)) != -1) {
+//                for (int i1 = 0; i1 <len; i1++) {
+//                    if (buff[i1] == '\0') {
+//                        try {
+//                            byte[] msgBuf = byteArrayOutputStream.toByteArray();
+//                            byteArrayOutputStream.reset();
+//                            msg = new String(msgBuf, 0, msgBuf.length);
+//                            msg = msg.substring(0, msg.lastIndexOf("}") + 1);
+//                            System.out.println("msg="+msg);
+//                            if (msg.length() > 3) {
+//                                parseJson(msg);
+//                            }
+//                        } catch (Exception e) {
+//                            e.printStackTrace();
+//                        }
+//
+//                    } else {
+//                        byteArrayOutputStream.write(buff[i1]);
+//                    }
+//                }
+//                if (needRestart) {
+//                    needRestart = false;
+//                    break;
+//                }
+//            }
+//        } catch (Exception e) {
+//            e.printStackTrace();
+//        }
+//    }
+//
+//
+//}
diff --git a/app/src/main/java/com/basic/security/utils/SocketClient.java b/app/src/main/java/com/basic/security/utils/SocketClient.java
index d1c6353..4f716d4 100644
--- a/app/src/main/java/com/basic/security/utils/SocketClient.java
+++ b/app/src/main/java/com/basic/security/utils/SocketClient.java
@@ -13,14 +13,10 @@
 import com.google.gson.JsonParseException;
 import com.google.gson.JsonParser;
 
-import org.json.JSONArray;
-
 import java.io.BufferedInputStream;
 import java.io.BufferedOutputStream;
 import java.io.ByteArrayOutputStream;
-import java.io.DataInputStream;
 import java.io.IOException;
-import java.io.InterruptedIOException;
 import java.net.InetSocketAddress;
 import java.net.Socket;
 import java.util.ArrayList;
@@ -33,6 +29,27 @@
 import java.util.concurrent.locks.ReentrantLock;
 
 public class SocketClient extends Thread {
+    public static boolean needRestart = false;
+    public static long lastUpdateTime = System.currentTimeMillis();
+    static Lock socketLock = new ReentrantLock();
+    static List<Socket> sockets = new ArrayList<>();
+    static List<Socket> connectedSockets = new ArrayList<>();
+    static Lock connectedSocketsLock = new ReentrantLock();
+    public static Comparator<Map<String, String>> mapComparator = new Comparator<Map<String, String>>() {
+        public int compare(Map<String, String> m1, Map<String, String> m2) {
+            try {
+                double score1 = Double.parseDouble(m1.get("likePer"));
+                double score2 = Double.parseDouble(m2.get("likePer"));
+                return (int) (score1 - score2);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+            return 0;
+        }
+    };
+    public Socket socket = null;
+    static List<Map<String, String>> newRemoteAlarmList = null;
+    byte[] buff = new byte[1 * 1024 * 1024];
     private String ip;
     private int port;
 
@@ -41,27 +58,32 @@
         this.port = port;
     }
 
-    public static boolean needRestart = false;
-
-    public Comparator<Map<String, String>> mapComparator = new Comparator<Map<String, String>>() {
-        public int compare(Map<String, String> m1, Map<String, String> m2) {
+    public static void closeAllSockets() {
+        socketLock.lock();
+        for (Socket socket : sockets) {
             try {
-                double score1 = Double.parseDouble(m1.get("likePer"));
-                double score2 = Double.parseDouble(m2.get("likePer"));
-                return (int)(score1 - score2);
+                if (socket != null) {
+                    socket.close();
+                }
             } catch (Exception e) {
                 e.printStackTrace();
             }
-            return 0;
         }
-    };
+        sockets.clear();
+        socketLock.unlock();
+    }
+
+    public static void socketAdd(Socket socket) {
+        socketLock.lock();
+        sockets.add(socket);
+        socketLock.unlock();
+    }
 
     public native void setup(String ip, int port);
+
     public native String receive();
 
-    public static long lastUpdateTime = System.currentTimeMillis();
-
-    public void parseJson(String msg) {
+    public static void parseJson(String msg) {
 
         JsonParser parser = new JsonParser();
         boolean isJSON = true;
@@ -69,7 +91,7 @@
         try {
             element = parser.parse(msg);
         } catch (JsonParseException e) {
-            System.out.println("exception: "+ msg + " " + e);
+            System.out.println("exception: " + msg + " " + e);
             isJSON = false;
         }
         newRemoteAlarmList = new ArrayList<>();
@@ -77,9 +99,9 @@
             Object obj = element.getAsJsonObject();
             JsonArray dataList = (JsonArray) ((JsonObject) obj).get("datalist");
             for (int i = 0; i < dataList.size(); i++) {
-                JsonObject je = (JsonObject)dataList.get(i);
+                JsonObject je = (JsonObject) dataList.get(i);
                 Map<String, String> newRemoteAlarm = new HashMap<>();
-                for(Map.Entry<String, JsonElement> entry : je.entrySet()) {
+                for (Map.Entry<String, JsonElement> entry : je.entrySet()) {
                     Object value = entry.getValue();
                     String key = entry.getKey();
                     if (value != null) {
@@ -88,12 +110,12 @@
                             List<String> matchPersonStrList = new ArrayList<>();
                             String matchPersonListStr = "";
                             if (value instanceof JsonArray) {
-                                JsonArray matchPersonList = (JsonArray)value;
-                                for (int ii = 0; ii < matchPersonList.size(); ii++ ) {
-                                    JsonObject matchPerson = (JsonObject)matchPersonList.get(ii);
+                                JsonArray matchPersonList = (JsonArray) value;
+                                for (int ii = 0; ii < matchPersonList.size(); ii++) {
+                                    JsonObject matchPerson = (JsonObject) matchPersonList.get(ii);
                                     Map<String, String> matchPersonMap = new HashMap<>();
 
-                                    for(Map.Entry<String, JsonElement> matchPersonEntry : matchPerson.entrySet()) {
+                                    for (Map.Entry<String, JsonElement> matchPersonEntry : matchPerson.entrySet()) {
                                         String matchPersonKey = matchPersonEntry.getKey();
                                         Object matchPersonValue = matchPersonEntry.getValue();
                                         if (matchPersonValue != null) {
@@ -109,7 +131,7 @@
                                             matchPersonMap.put(matchPersonKey, "");
                                         }
                                     }
-                                    matchPersonMap.put("mathPersonStr",  matchPersonMap.get("tableName")+ " " +  matchPersonMap.get("personName"));
+                                    matchPersonMap.put("mathPersonStr", matchPersonMap.get("tableName") + " " + matchPersonMap.get("personName"));
                                     matchPersonMapList.add(matchPersonMap);
                                 }
                                 Collections.sort(matchPersonMapList, mapComparator);
@@ -134,21 +156,17 @@
 //                                        }
                 AlarmManager.renameKeys(newRemoteAlarmList);
                 if (AlarmManager.saveRemoteAlarmListToSqlite(newRemoteAlarmList) > 0) {
-                    ((MainActivity)BaseApplication.getApplication().activity).fragment_home.refreshGridView();
+                    ((MainActivity) BaseApplication.getApplication().activity).fragment_home.refreshGridView();
                 }
             } else {
-                if (((MainActivity)BaseApplication.getApplication().activity).currentFragment ==
-                        ((MainActivity)BaseApplication.getApplication().activity).fragment_home) {
+                if (((MainActivity) BaseApplication.getApplication().activity).currentFragment ==
+                        ((MainActivity) BaseApplication.getApplication().activity).fragment_home) {
                     ToastUtil.show("鑾峰彇鎶ヨ鏁版嵁澶辫触");
                 }
             }
         }
     }
 
-    List<Map<String, String>> newRemoteAlarmList = null;
-
-    public Socket socket = null;
-    byte[] buff = new byte[1*1024*1024];
     @Override
     public void run() {
         super.run();
@@ -158,10 +176,10 @@
         String msg = null;
         try {
             while (true) {
-                if (1!=1) {
+                if (1 != 1) {
                     System.out.println("SocketClient.run setup 閲嶈繛");
                     setup(ip, port);
-                    while(true) {
+                    while (true) {
                         try {
                             String json = receive();
                             System.out.println("json=" + json);
@@ -185,13 +203,13 @@
                 } else {
 
                     try {
-                        if (1!=1) {
+                        if (1 != 1) {
                             msg = "{ \t\"datalist\": [ \t\t{ \t\t\t\"content\": \"\", \t\t\t\"id\": \"8a769d1c-886c-487c-a934-e92b09d8f189\", \t\t\t\"personIsHub\": \"1\", \t\t\t\"picAddress\": \"瀛︽牎鍗楀洿澧欒タ娈典腑鍚戜笢     鍛ㄧ晫\", \t\t\t\"picDate\": \"2019-05-17 12:19:26\", \t\t\t\"picMaxUrl\": \"http://58.118.225.79:44280/group4/M00/07/4E/rBEy8VzbdN2AVqJIABGqRF1VFR0033.jpg\", \t\t\t\"picSmUrl\": \"http://58.118.225.79:44280/group3/M00/05/18/rBEy81yy6n2AFGElABQIY3pylXU412.jpg\", \t\t\t\"sdkType\": \"鍏ヤ镜\", \t\t\t\"taskName\": \"taskName鍒樻\", \t\t\t\"videoIp\": \"瀛︽牎鍗楀洿澧欒タ娈典腑鍚戜笢     鍛ㄧ晫\", \t\t\t\"videoNum\": \"http://58.118.225.79:44480/videosource/210235C23NF187000168/201905/15/2019051510/210235C23NF187000168$2019-05-15-10-09-37_454639_454888.mp4\", \t\t\t\"videoReqNum\": \"cid3\" \t\t}, \t\t{ \t\t\t\"ID\": \"68a6fe5c-1cb1-4e3c-bc4a-22d678f76e8d\", \t\t\t\"IDCard\": [ \t\t\t\t\"54319001230310455431\", \t\t\t\t\"54319001102134569375\", \t\t\t\t\"54319001310104514563\", \t\t\t\t\"54319001100121231977\", \t\t\t\t\"54319001202319872643\", \t\t\t\t\"54319001230310455431\", \t\t\t\t\"54319001102134569375\" \t\t\t], \t\t\t\"ageDescription\": \"闈掑勾\", \t\t\t\"baseInfo\": [ \t\t\t\t{ \t\t\t\t\t\"IDCard\": \"54319001230310455431\", \t\t\t\t\t\"content\": \"\", \t\t\t\t\t\"gender\": \"濂砛", \t\t\t\t\t\"likePer\": \"43\", \t\t\t\t\t\"monitorLevel\": \"2\", \t\t\t\t\t\"personId\": \"70171c10-d8ba-4b7c-a7ec-94d4f89a8d7d\", \t\t\t\t\t\"personName\": \"鐭崇牬澶‐", \t\t\t\t\t\"personPicUrl\": \"http://192.168.1.203:9600/12,06dfb968957dfa\", \t\t\t\t\t\"phoneNum\": \"11093456217\", \t\t\t\t\t\"tableId\": \"80a5935d-c6b4-4678-9c76-a6b01c07725b\", \t\t\t\t\t\"tableName\": \"搴曞簱124\" \t\t\t\t}, \t\t\t\t{ \t\t\t\t\t\"IDCard\": \"54319001102134569375\", \t\t\t\t\t\"content\": \"\", \t\t\t\t\t\"gender\": \"鐢穃", \t\t\t\t\t\"likePer\": \"41\", \t\t\t\t\t\"monitorLevel\": \"3\", \t\t\t\t\t\"personId\": \"68d89b3e-e4db-42eb-ac75-aa8c1082a087\", \t\t\t\t\t\"personName\": \"瀛欐偀绌篭", \t\t\t\t\t\"personPicUrl\": \"http://192.168.1.203:9600/12,06dfbaa2516ad2\", \t\t\t\t\t\"phoneNum\": \"11031248765\", \t\t\t\t\t\"tableId\": \"5a544e15-2c40-4e54-a12b-f6a0f71f3fbd\", \t\t\t\t\t\"tableName\": \"搴曞簱123\" \t\t\t\t}, \t\t\t\t{ \t\t\t\t\t\"IDCard\": \"54319001310104514563\", \t\t\t\t\t\"content\": \"\", \t\t\t\t\t\"gender\": \"濂砛", \t\t\t\t\t\"likePer\": \"78\", \t\t\t\t\t\"monitorLevel\": \"1\", \t\t\t\t\t\"personId\": \"83a42f98-ad21-466f-97aa-24bff1b0340f\", \t\t\t\t\t\"personName\": \"榛勯楦縗", \t\t\t\t\t\"personPicUrl\": \"http://192.168.1.203:9600/12,06dfbb19faece3\", \t\t\t\t\t\"phoneNum\": \"11067854653\", \t\t\t\t\t\"tableId\": \"0cb7f275-9fb3-434e-9122-e59f551443ea\", \t\t\t\t\t\"tableName\": \"搴曞簱123412\" \t\t\t\t}, \t\t\t\t{ \t\t\t\t\t\"IDCard\": \"54319001100121231977\", \t\t\t\t\t\"content\": \"\", \t\t\t\t\t\"gender\": \"鐢穃", \t\t\t\t\t\"likePer\": \"20\", \t\t\t\t\t\"monitorLevel\": \"2\", \t\t\t\t\t\"personId\": \"fed7b71c-d5eb-4feb-86d9-0522d7034412\", \t\t\t\t\t\"personName\": \"鏉庨�嶉仴\", \t\t\t\t\t\"personPicUrl\": \"http://192.168.1.203:9601/11,06dfb71c698169\", \t\t\t\t\t\"phoneNum\": \"11012344321\", \t\t\t\t\t\"tableId\": \"f008bf89-9406-490d-868b-6dd679cae954\", \t\t\t\t\t\"tableName\": \"鍚屾搴�2\" \t\t\t\t}, \t\t\t\t{ \t\t\t\t\t\"IDCard\": \"54319001202319872643\", \t\t\t\t\t\"content\": \"\", \t\t\t\t\t\"gender\": \"濂砛", \t\t\t\t\t\"likePer\": \"40\", \t\t\t\t\t\"monitorLevel\": \"3\", \t\t\t\t\t\"personId\": \"f290bb54-4de8-496b-8612-a8c563ab45e1\", \t\t\t\t\t\"personName\": \"浠ょ嫄鍐瞈", \t\t\t\t\t\"personPicUrl\": \"http://192.168.1.203:9601/8,06dfb8facdaf8a\", \t\t\t\t\t\"phoneNum\": \"11039876431\", \t\t\t\t\t\"tableId\": \"ce228150-448b-4e70-9b08-374ed7c5bc3e\", \t\t\t\t\t\"tableName\": \"123\" \t\t\t\t}, \t\t\t\t{ \t\t\t\t\t\"IDCard\": \"54319001230310455431\", \t\t\t\t\t\"content\": \"\", \t\t\t\t\t\"gender\": \"鐢穃", \t\t\t\t\t\"likePer\": \"86\", \t\t\t\t\t\"monitorLevel\": \"1\", \t\t\t\t\t\"personId\": \"70171c10-d8ba-4b7c-a7ec-94d4f89a8d7d\", \t\t\t\t\t\"personName\": \"鐭崇牬澶‐", \t\t\t\t\t\"personPicUrl\": \"http://192.168.1.203:9600/12,06dfb968957dfa\", \t\t\t\t\t\"phoneNum\": \"11093456217\", \t\t\t\t\t\"tableId\": \"af6dd3b3-dc94-42ee-8347-f12214c2562f\", \t\t\t\t\t\"tableName\": \"鍚屾搴�3\" \t\t\t\t}, \t\t\t\t{ \t\t\t\t\t\"IDCard\": \"54319001102134569375\", \t\t\t\t\t\"content\": \"\", \t\t\t\t\t\"gender\": \"濂砛", \t\t\t\t\t\"likePer\": \"66\", \t\t\t\t\t\"monitorLevel\": \"2\", \t\t\t\t\t\"personId\": \"68d89b3e-e4db-42eb-ac75-aa8c1082a087\", \t\t\t\t\t\"personName\": \"瀛欐偀绌篭", \t\t\t\t\t\"personPicUrl\": \"http://192.168.1.203:9600/12,06dfbaa2516ad2\", \t\t\t\t\t\"phoneNum\": \"11031248765\", \t\t\t\t\t\"tableId\": \"2e0640d0-33e5-45e6-b024-3fe165c6f9e9\", \t\t\t\t\t\"tableName\": \"娴嬭瘯搴曞簱鍚嶇О瓒呴暱瀛楁暟娴嬭瘯\" \t\t\t\t} \t\t\t], \t\t\t\"content\": \"\", \t\t\t\"gender\": \"鐢穃", \t\t\t\"id\": \"68a6fe5c-1cb1-4e3c-bc4a-22d678f76e8d\", \t\t\t\"indeviceName\": \"瑙嗛鍒嗘瀽璁惧244\", \t\t\t\"personIsHub\": \"1\", \t\t\t\"picAddress\": \"娴嬭瘯鍦板潃\", \t\t\t\"picDate\": \"2019-05-17 12:19:21\", \t\t\t\"picMaxUrl\": \"http://58.118.225.79:44280/group4/M00/07/6A/rBEy8VzbhTaABvYpAAgn7hKYC2g311.jpg\", \t\t\t\"picSmUrl\": \"http://58.118.225.79:44280/group2/M00/00/B4/rBEy9Fx1Bn2ASQ6FAABDPo9CwFw073.jpg\", \t\t\t\"race\": \"榛勪汉\", \t\t\t\"sdkType\": \"浜鸿劯\", \t\t\t\"taskName\": \"run\", \t\t\t\"videoIp\": \"172.17.50.244\", \t\t\t\"videoNum\": \"http://192.168.1.203:9600/12,017dae9d21ac08\", \t\t\t\"videoReqNum\": \"cid3\" \t\t}, \t\t{ \t\t\t\"content\": \"\", \t\t\t\"id\": \"fea3e88f-a2c4-4a07-a19d-89c336f446ee\", \t\t\t\"personIsHub\": \"1\", \t\t\t\"picAddress\": \"瀛︽牎鍗楀洿澧欒タ娈典笢鍚戣タ     鍛ㄧ晫\", \t\t\t\"picDate\": \"2019-05-17 12:19:21\", \t\t\t\"picMaxUrl\": \"http://58.118.225.79:44280/group4/M00/07/4E/rBEy8VzbdN2AVqJIABGqRF1VFR0033.jpg\", \t\t\t\"picSmUrl\": \"http://58.118.225.79:44280/group3/M00/05/18/rBEy81yy6Y-AORXtABZqoERSp9I640.jpg\", \t\t\t\"sdkType\": \"鍏ヤ镜\", \t\t\t\"taskName\": \"taskName鍒樻\", \t\t\t\"videoIp\": \"瀛︽牎鍗楀洿澧欒タ娈典笢鍚戣タ     鍛ㄧ晫\", \t\t\t\"videoNum\": \"http://58.118.225.79:44480/videosource/210235C23NF187000168/201905/15/2019051510/210235C23NF187000168$2019-05-15-10-09-37_454639_454888.mp4\", \t\t\t\"videoReqNum\": \"cid2\" \t\t}, \t\t{ \t\t\t\"content\": \"\", \t\t\t\"id\": \"5fa82d38-b725-45dc-907e-a7ee0ad3e803\", \t\t\t\"personIsHub\": \"1\", \t\t\t\"picAddress\": \"瀛︽牎鍗楀洿澧欒タ娈典笢鍚戣タ     鍛ㄧ晫\", \t\t\t\"picDate\": \"2019-05-17 12:19:16\", \t\t\t\"picMaxUrl\": \"http://58.118.225.79:44280/group4/M00/07/4E/rBEy8VzbdN2AVqJIABGqRF1VFR0033.jpg\", \t\t\t\"picSmUrl\": \"http://58.118.225.79:44280/group3/M00/05/18/rBEy81yy6Y2AHleCABVr-OZBNps388.jpg\", \t\t\t\"sdkType\": \"鍏ヤ镜\", \t\t\t\"taskName\": \"taskName鍒樻\", \t\t\t\"videoIp\": \"瀛︽牎鍗楀洿澧欒タ娈典笢鍚戣タ     鍛ㄧ晫\", \t\t\t\"videoNum\": \"http://58.118.225.79:44480/videosource/210235C23NF187000168/201905/15/2019051510/210235C23NF187000168$2019-05-15-10-09-37_454639_454888.mp4\", \t\t\t\"videoReqNum\": \"cid1\" \t\t}, \t\t{ \t\t\t\"ID\": \"3bce3eef-2062-456e-b5cb-d1a4cc63c158\", \t\t\t\"IDCard\": [ \t\t\t\t\"54319001202319872643\", \t\t\t\t\"54319001230310455431\", \t\t\t\t\"54319001102134569375\", \t\t\t\t\"54319001310104514563\", \t\t\t\t\"54319001100121231977\", \t\t\t\t\"54319001202319872643\" \t\t\t], \t\t\t\"ageDescription\": \"闈掑勾\", \t\t\t\"baseInfo\": [ \t\t\t\t{ \t\t\t\t\t\"IDCard\": \"54319001202319872643\", \t\t\t\t\t\"content\": \"\", \t\t\t\t\t\"gender\": \"鐢穃", \t\t\t\t\t\"likePer\": \"3\", \t\t\t\t\t\"monitorLevel\": \"1\", \t\t\t\t\t\"personId\": \"f290bb54-4de8-496b-8612-a8c563ab45e1\", \t\t\t\t\t\"personName\": \"浠ょ嫄鍐瞈", \t\t\t\t\t\"personPicUrl\": \"http://192.168.1.203:9601/8,06dfb8facdaf8a\", \t\t\t\t\t\"phoneNum\": \"11039876431\", \t\t\t\t\t\"tableId\": \"2e0640d0-33e5-45e6-b024-3fe165c6f9e9\", \t\t\t\t\t\"tableName\": \"娴嬭瘯搴曞簱鍚嶇О瓒呴暱瀛楁暟娴嬭瘯\" \t\t\t\t}, \t\t\t\t{ \t\t\t\t\t\"IDCard\": \"54319001230310455431\", \t\t\t\t\t\"content\": \"\", \t\t\t\t\t\"gender\": \"濂砛", \t\t\t\t\t\"likePer\": \"31\", \t\t\t\t\t\"monitorLevel\": \"2\", \t\t\t\t\t\"personId\": \"70171c10-d8ba-4b7c-a7ec-94d4f89a8d7d\", \t\t\t\t\t\"personName\": \"鐭崇牬澶‐", \t\t\t\t\t\"personPicUrl\": \"http://192.168.1.203:9600/12,06dfb968957dfa\", \t\t\t\t\t\"phoneNum\": \"11093456217\", \t\t\t\t\t\"tableId\": \"80a5935d-c6b4-4678-9c76-a6b01c07725b\", \t\t\t\t\t\"tableName\": \"搴曞簱124\" \t\t\t\t}, \t\t\t\t{ \t\t\t\t\t\"IDCard\": \"54319001102134569375\", \t\t\t\t\t\"content\": \"\", \t\t\t\t\t\"gender\": \"鐢穃", \t\t\t\t\t\"likePer\": \"1\", \t\t\t\t\t\"monitorLevel\": \"3\", \t\t\t\t\t\"personId\": \"68d89b3e-e4db-42eb-ac75-aa8c1082a087\", \t\t\t\t\t\"personName\": \"瀛欐偀绌篭", \t\t\t\t\t\"personPicUrl\": \"http://192.168.1.203:9600/12,06dfbaa2516ad2\", \t\t\t\t\t\"phoneNum\": \"11031248765\", \t\t\t\t\t\"tableId\": \"5a544e15-2c40-4e54-a12b-f6a0f71f3fbd\", \t\t\t\t\t\"tableName\": \"搴曞簱123\" \t\t\t\t}, \t\t\t\t{ \t\t\t\t\t\"IDCard\": \"54319001310104514563\", \t\t\t\t\t\"content\": \"\", \t\t\t\t\t\"gender\": \"濂砛", \t\t\t\t\t\"likePer\": \"1\", \t\t\t\t\t\"monitorLevel\": \"1\", \t\t\t\t\t\"personId\": \"83a42f98-ad21-466f-97aa-24bff1b0340f\", \t\t\t\t\t\"personName\": \"榛勯楦縗", \t\t\t\t\t\"personPicUrl\": \"http://192.168.1.203:9600/12,06dfbb19faece3\", \t\t\t\t\t\"phoneNum\": \"11067854653\", \t\t\t\t\t\"tableId\": \"0cb7f275-9fb3-434e-9122-e59f551443ea\", \t\t\t\t\t\"tableName\": \"搴曞簱123412\" \t\t\t\t}, \t\t\t\t{ \t\t\t\t\t\"IDCard\": \"54319001100121231977\", \t\t\t\t\t\"content\": \"\", \t\t\t\t\t\"gender\": \"鐢穃", \t\t\t\t\t\"likePer\": \"48\", \t\t\t\t\t\"monitorLevel\": \"2\", \t\t\t\t\t\"personId\": \"fed7b71c-d5eb-4feb-86d9-0522d7034412\", \t\t\t\t\t\"personName\": \"鏉庨�嶉仴\", \t\t\t\t\t\"personPicUrl\": \"http://192.168.1.203:9601/11,06dfb71c698169\", \t\t\t\t\t\"phoneNum\": \"11012344321\", \t\t\t\t\t\"tableId\": \"f008bf89-9406-490d-868b-6dd679cae954\", \t\t\t\t\t\"tableName\": \"鍚屾搴�2\" \t\t\t\t}, \t\t\t\t{ \t\t\t\t\t\"IDCard\": \"54319001202319872643\", \t\t\t\t\t\"content\": \"\", \t\t\t\t\t\"gender\": \"濂砛", \t\t\t\t\t\"likePer\": \"97\", \t\t\t\t\t\"monitorLevel\": \"3\", \t\t\t\t\t\"personId\": \"f290bb54-4de8-496b-8612-a8c563ab45e1\", \t\t\t\t\t\"personName\": \"浠ょ嫄鍐瞈", \t\t\t\t\t\"personPicUrl\": \"http://192.168.1.203:9601/8,06dfb8facdaf8a\", \t\t\t\t\t\"phoneNum\": \"11039876431\", \t\t\t\t\t\"tableId\": \"ce228150-448b-4e70-9b08-374ed7c5bc3e\", \t\t\t\t\t\"tableName\": \"123\" \t\t\t\t} \t\t\t], \t\t\t\"content\": \"\", \t\t\t\"gender\": \"鐢穃", \t\t\t\"id\": \"3bce3eef-2062-456e-b5cb-d1a4cc63c158\", \t\t\t\"indeviceName\": \"瑙嗛鍒嗘瀽璁惧244\", \t\t\t\"personIsHub\": \"1\", \t\t\t\"picAddress\": \"娴嬭瘯鍦板潃\", \t\t\t\"picDate\": \"2019-05-17 12:19:16\", \t\t\t\"picMaxUrl\": \"http://58.118.225.79:44280/group4/M00/07/6A/rBEy8VzbhTaABvYpAAgn7hKYC2g311.jpg\", \t\t\t\"picSmUrl\": \"http://58.118.225.79:44280/group2/M00/00/B4/rBEy9Fx1Bn-AS7idAAAgkMt8drY443.jpg\", \t\t\t\"race\": \"榛戜汉\", \t\t\t\"sdkType\": \"浜鸿劯\", \t\t\t\"taskName\": \"face\", \t\t\t\"videoIp\": \"172.17.50.244\", \t\t\t\"videoNum\": \"http://192.168.1.203:9600/12,017dae9d21ac08\", \t\t\t\"videoReqNum\": \"cid2\" \t\t} \t], \t\"total\": 5 }";
                             parseJson(msg);
                             SystemClock.sleep(2000);
                             continue;
                         }
-                        if (System.currentTimeMillis() - lastUpdateTime < 30*1000) {
+                        if (System.currentTimeMillis() - lastUpdateTime < 30 * 1000) {
                             SystemClock.sleep(10 * 1000);
                             continue;
                         }
@@ -203,7 +221,7 @@
                         } catch (Exception e) {
                             e.printStackTrace();
                         }
-                        SystemClock.sleep(10*1000);
+                        SystemClock.sleep(10 * 1000);
                         socket = new Socket();
                         socketAdd(socket);
                         socket.connect(new InetSocketAddress(ip, port), 3000);
@@ -214,14 +232,14 @@
                         int len = 0;
                         lastUpdateTime = System.currentTimeMillis();
                         while ((len = inputStream.read(buff)) != -1) {
-                            for (int i1 = 0; i1 <len; i1++) {
+                            for (int i1 = 0; i1 < len; i1++) {
                                 if (buff[i1] == '\0') {
                                     try {
                                         byte[] msgBuf = byteArrayOutputStream.toByteArray();
                                         byteArrayOutputStream.reset();
                                         msg = new String(msgBuf, 0, msgBuf.length);
                                         msg = msg.substring(0, msg.lastIndexOf("}") + 1);
-                                        System.out.println("msg="+msg);
+                                        System.out.println("msg=" + msg);
                                         if (msg.length() > 3) {
                                             parseJson(msg);
                                         }
@@ -241,7 +259,7 @@
                         }
                     } catch (Exception e) {
                         System.out.println("SocketClient:110, " + e.getMessage());
-                        if (e instanceof  InterruptedException ) {
+                        if (e instanceof InterruptedException) {
                             System.out.println("涓柇寮傚父锛� 閫�鍑虹▼搴�");
                             return;
                         }
@@ -255,7 +273,7 @@
                             }
                         }
                         System.out.println("鍑嗗20绉掑悗閲嶈繛");
-                        SystemClock.sleep(20*1000);
+                        SystemClock.sleep(20 * 1000);
                     }
                 }
 
@@ -287,33 +305,6 @@
 
         }
 
-    }
-
-    static Lock socketLock = new ReentrantLock();
-    static List<Socket> sockets = new ArrayList<>();
-
-    static List<Socket> connectedSockets = new ArrayList<>();
-    static Lock connectedSocketsLock = new ReentrantLock();
-
-    public static void closeAllSockets () {
-        socketLock.lock();
-        for (Socket socket : sockets) {
-            try {
-                if (socket != null) {
-                    socket.close();
-                }
-            } catch (Exception e) {
-                e.printStackTrace();
-            }
-        }
-        sockets.clear();
-        socketLock.unlock();
-    }
-
-    public static void socketAdd(Socket socket) {
-        socketLock.lock();
-        sockets.add(socket);
-        socketLock.unlock();
     }
 
     public void closeSocket() {
diff --git a/app/src/main/java/com/basic/security/utils/SocketServer.java b/app/src/main/java/com/basic/security/utils/SocketServer.java
index f97adbf..39b2ff0 100644
--- a/app/src/main/java/com/basic/security/utils/SocketServer.java
+++ b/app/src/main/java/com/basic/security/utils/SocketServer.java
@@ -1,45 +1,45 @@
-package com.basic.security.utils;
-
-import android.os.SystemClock;
-
-import com.basic.security.manager.SettingManager;
-
-import java.net.ServerSocket;
-import java.net.Socket;
-import java.util.ArrayList;
-import java.util.List;
-
-public class SocketServer {
-
-    public static List socketAcceptedClientList = new ArrayList();
-
-    public static void startYuvSocketServer() {
-        new Thread(){
-            @Override
-            public void run() {
-                ServerSocket server = null;
-                try {
-                    server = new ServerSocket(8888);
-                } catch (Exception e) {
-                    e.printStackTrace();
-                }
-                while (true) {
-                    try {
-                        if (server == null) {
-                            break;
-                        }
-                        Socket client = server.accept();
-                        SocketAcceptedClient socketAcceptedClient = new SocketAcceptedClient(client);
-                        socketAcceptedClient.start();
-//                      socketAcceptedClientList.add(socketAcceptedClient);
-                    } catch (Exception e) {
-                        e.printStackTrace();
-                    } finally {
-                        SystemClock.sleep(3000);
-                    }
-                }
-            }
-        }.start();
-
-    }
-}
+//package com.basic.security.utils;
+//
+//import android.os.SystemClock;
+//
+//import com.basic.security.manager.SettingManager;
+//
+//import java.net.ServerSocket;
+//import java.net.Socket;
+//import java.util.ArrayList;
+//import java.util.List;
+//
+//public class SocketServer {
+//
+//    public static List socketAcceptedClientList = new ArrayList();
+//
+//    public static void startYuvSocketServer() {
+//        new Thread(){
+//            @Override
+//            public void run() {
+//                ServerSocket server = null;
+//                try {
+//                    server = new ServerSocket(8888);
+//                } catch (Exception e) {
+//                    e.printStackTrace();
+//                }
+//                while (true) {
+//                    try {
+//                        if (server == null) {
+//                            break;
+//                        }
+//                        Socket client = server.accept();
+//                        SocketAcceptedClient socketAcceptedClient = new SocketAcceptedClient(client);
+//                        socketAcceptedClient.start();
+////                      socketAcceptedClientList.add(socketAcceptedClient);
+//                    } catch (Exception e) {
+//                        e.printStackTrace();
+//                    } finally {
+//                        SystemClock.sleep(3000);
+//                    }
+//                }
+//            }
+//        }.start();
+//
+//    }
+//}
diff --git a/app/src/main/java/com/basic/security/utils/ThreadUtil.java b/app/src/main/java/com/basic/security/utils/ThreadUtil.java
new file mode 100644
index 0000000..f2e1047
--- /dev/null
+++ b/app/src/main/java/com/basic/security/utils/ThreadUtil.java
@@ -0,0 +1,46 @@
+package com.basic.security.utils;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class ThreadUtil {
+    static Map<Thread, StackTraceElement[]> prevThreadMap = new HashMap<>();
+
+    public static void printThreadInfo(String name) {
+        Thread currentThread = Thread.currentThread();
+//        System.out.println("threadId="+currentThread.getId()+",threadName="+currentThread.getName()+",name="+name);
+    }
+
+    public static void threadCreateObserver() {
+        if (1 == 1) {
+            return;
+        }
+        Map<Thread, StackTraceElement[]> threadMap = Thread.getAllStackTraces();
+        for (Map.Entry<Thread, StackTraceElement[]> threadEntry : threadMap.entrySet()) {
+            List<String> frames = new ArrayList<>();
+            StackTraceElement[] stackTraceElements = threadEntry.getValue();
+            if (!prevThreadMap.containsKey(threadEntry.getKey())) {
+                boolean hasBasic = false;
+                for (StackTraceElement stackTraceElement : stackTraceElements) {
+                    frames.add(stackTraceElement.toString());
+                    String frame = stackTraceElement.toString();
+                    if (frame.contains(".basic.")) {
+                        hasBasic = true;
+                        System.out.println(threadEntry.getKey().getId() + " " + frame);
+                    }
+                }
+                if (!hasBasic) {
+                    for (StackTraceElement stackTraceElement : stackTraceElements) {
+                        frames.add(stackTraceElement.toString());
+                        String frame = stackTraceElement.toString();
+                        System.out.println(threadEntry.getKey().getId() + " " + frame);
+                    }
+                }
+            }
+        }
+        prevThreadMap = threadMap;
+    }
+
+}
diff --git a/app/src/main/java/com/basic/security/utils/ToastUtil.java b/app/src/main/java/com/basic/security/utils/ToastUtil.java
index ae6810e..687c60d 100644
--- a/app/src/main/java/com/basic/security/utils/ToastUtil.java
+++ b/app/src/main/java/com/basic/security/utils/ToastUtil.java
@@ -10,14 +10,15 @@
 import com.basic.security.R;
 import com.basic.security.base.BaseApplication;
 
-import java.util.ArrayList;
-import java.util.List;
-
 public class ToastUtil {
 
     public static Toast prevToast = null;
 
     public static void show(final String message) {
+        show(message, true);
+    }
+
+    public static void show(final String message, final boolean error) {
         BaseApplication.getApplication().activity.runOnUiThread(new Runnable() {
             @Override
             public void run() {
@@ -28,6 +29,9 @@
                 msg.setGravity(Gravity.TOP, msg.getXOffset() / 2, msg.getYOffset() / 2);
                 LayoutInflater inflater = (LayoutInflater) BaseApplication.getApplication().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                 View view = inflater.inflate(R.layout.my_toast, null);
+                if (error) {
+                    view = inflater.inflate(R.layout.my_toast_error, null);
+                }
                 TextView text = view.findViewById(R.id.text);
                 text.setText(message);
                 msg.setView(view);
diff --git a/app/src/main/java/com/basic/security/utils/VideoPath.java b/app/src/main/java/com/basic/security/utils/VideoPath.java
new file mode 100644
index 0000000..437ed92
--- /dev/null
+++ b/app/src/main/java/com/basic/security/utils/VideoPath.java
@@ -0,0 +1,113 @@
+package com.basic.security.utils;
+
+import com.basic.security.model.Alarm;
+import com.google.gson.Gson;
+
+import org.apache.http.util.TextUtils;
+
+import java.io.BufferedInputStream;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.util.HashMap;
+import java.util.Map;
+
+public class VideoPath {
+    static Map<String, String> deviceMap = new HashMap<>();
+    static Map<String, String> ngxMap = new HashMap<>();
+    static Gson gson = new Gson();
+    static Gson gson1 = new Gson();
+
+    static {
+        {
+            deviceMap.put("DSVAD010120181119", "http://172.17.50.241:11111/getRecordVideoPath");
+            deviceMap.put("DSVAD010220181119", "http://172.17.50.242:11111/getRecordVideoPath");
+            deviceMap.put("DSVAD010320181119", "http://172.17.50.243:11111/getRecordVideoPath");
+            deviceMap.put("DSVAD010420181119", "http://172.17.50.244:11111/getRecordVideoPath");
+
+            ngxMap.put("DSVAD010120181119", "http://172.17.50.241/videosource");
+            ngxMap.put("DSVAD010220181119", "http://172.17.50.242/videosource");
+            ngxMap.put("DSVAD010320181119", "http://172.17.50.243/videosource");
+            ngxMap.put("DSVAD010420181119", "http://172.17.50.244/videosource");
+        }
+
+        {
+
+//            deviceMap.put("DSVAD010220181119", "http://58.118.225.79:51111/getRecordVideoPath");
+//
+//            ngxMap.put("DSVAD010120181119","http://58.118.225.79:44180/videosource");
+//            ngxMap.put("DSVAD010220181119", "http://58.118.225.79:44280/videosource");
+//            ngxMap.put("DSVAD010320181119", "http://58.118.225.79:44380/videosource");
+//            ngxMap.put("DSVAD010420181119", "http://58.118.225.79:44480/videosource");
+        }
+
+
+    }
+
+    public static String getVideoUrl(Map<String, String> alarm) {
+        String videoUrl = "";
+        try {
+            String indeviceId = alarm.get(Alarm.indeviceid);//"DSVAD010120181119";
+            String url = deviceMap.get(indeviceId);
+            if (url == null) {
+                return videoUrl;
+            }
+
+            URL url1 = new URL(url);
+            HttpURLConnection conn = (HttpURLConnection) url1.openConnection();
+            conn.setConnectTimeout(5000);
+            conn.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
+            conn.setDoOutput(true);
+            conn.setDoInput(true);
+            conn.setRequestMethod("POST");
+
+
+            Map<String, String> map1 = new HashMap<>();
+            map1.put("imgKey", alarm.get(Alarm.imgKey));
+            map1.put("picDate", alarm.get(Alarm.picDate));
+            map1.put("videoNum", alarm.get(Alarm.videoReqNum));
+            System.out.println("VideoPath.getVideoUrl " + map1);
+
+            String json = gson1.toJson(map1);
+
+            OutputStream os = conn.getOutputStream();
+            os.write(json.getBytes("UTF-8"));
+            os.close();
+
+
+            InputStream in = new BufferedInputStream(conn.getInputStream());
+            String out = org.apache.commons.io.IOUtils.toString(in, "UTF-8");
+
+            Map map = gson.fromJson(out, Map.class);
+            String filePath = (String) map.get("file_path");
+            if (filePath != null && filePath.contains("/cut")) {
+                String ngxUrl = ngxMap.get(indeviceId);
+                if (!TextUtils.isEmpty(ngxUrl)) {
+                    videoUrl = ngxUrl + filePath.split("/cut")[1];
+                }
+            }
+            in.close();
+            conn.disconnect();
+        } catch (Exception e) {
+            System.out.println("VideoPath.getVideoUrl " + e.getMessage());
+        }
+        return videoUrl;
+    }
+
+    public static void main(String[] args) {
+//        11-12 09:57:26.694 2032-2121/com.basic.security I/System.out: VideoPath.getVideoUrl {videoNum=210235C2TM3188000194, imgKey=210235C2TM3188000194$2019-11-12-09-36-38_56200, picDate=2019-11-12 09:36:39:096}
+//        11-12 09:57:26.722 2032-2121/com.basic.security I/System.out: VideoPath.getVideoUrl {"videoNum":"210235C2TM3188000194","imgKey":"210235C2TM3188000194$2019-11-12-09-36-38_56200","picDate":"2019-11-12 09:36:39:096"}
+//        11-12 09:57:26.727 2032-2121/com.basic.security I/System.out: VideoPath.getVideoUrl application/json
+
+
+        Map<String, String> alarm = new HashMap<>();
+        alarm.put(Alarm.imgKey, "210235C2TM3188000194$2019-11-12-09-36-38_56200");
+        alarm.put(Alarm.alarmTime, "2019-11-12 09:36:39:096");
+        alarm.put(Alarm.indeviceid, "DSVAD010220181119");
+        alarm.put(Alarm.videoReqNum, "210235C2TM3188000194");
+        String videoUrl = getVideoUrl(alarm);
+        System.out.println(videoUrl);
+    }
+
+}
diff --git a/app/src/main/java/com/basic/security/widget/CustomSpinner.java b/app/src/main/java/com/basic/security/widget/CustomSpinner.java
index e3795a6..13010d5 100644
--- a/app/src/main/java/com/basic/security/widget/CustomSpinner.java
+++ b/app/src/main/java/com/basic/security/widget/CustomSpinner.java
@@ -61,4 +61,4 @@
     public void setSelection(int position, boolean animate) {
         super.setSelection(position, animate);
     }
-}
\ No newline at end of file
+}
diff --git a/app/src/main/java/com/basic/security/widget/CustomSpinner2.java b/app/src/main/java/com/basic/security/widget/CustomSpinner2.java
index d217edc..d726031 100644
--- a/app/src/main/java/com/basic/security/widget/CustomSpinner2.java
+++ b/app/src/main/java/com/basic/security/widget/CustomSpinner2.java
@@ -101,4 +101,4 @@
         super.onDetachedFromWindow();
     }
 
-}
\ No newline at end of file
+}
diff --git a/app/src/main/java/com/basic/security/widget/MyMediaController.java b/app/src/main/java/com/basic/security/widget/MyMediaController.java
index 276dfd0..77ef97b 100644
--- a/app/src/main/java/com/basic/security/widget/MyMediaController.java
+++ b/app/src/main/java/com/basic/security/widget/MyMediaController.java
@@ -85,4 +85,4 @@
         super.show(0);
         hideSystemUI();
     }
-}
\ No newline at end of file
+}
diff --git a/app/src/main/res/drawable-v24/back.png b/app/src/main/res/drawable-v24/back.png
new file mode 100644
index 0000000..9c19fff
--- /dev/null
+++ b/app/src/main/res/drawable-v24/back.png
Binary files differ
diff --git a/app/src/main/res/drawable/blue_button.xml b/app/src/main/res/drawable/blue_button.xml
index c92fda3..effbc4b 100644
--- a/app/src/main/res/drawable/blue_button.xml
+++ b/app/src/main/res/drawable/blue_button.xml
@@ -3,22 +3,22 @@
     <item android:state_pressed="true" >
         <shape android:shape="rectangle"  >
             <corners android:radius="5dp" />
-            <stroke android:width="1dip" android:color="#1890FF" />
-            <gradient android:angle="-90" android:startColor="#1890FF" android:endColor="#1890FF"  />
+            <stroke android:width="1dip" android:color="#3d68e1" />
+            <gradient android:angle="-90" android:startColor="#3d68e1" android:endColor="#3d68e1"  />
         </shape>
     </item>
     <item android:state_focused="true">
         <shape android:shape="rectangle"  >
             <corners android:radius="5dp" />
-            <stroke android:width="1dip" android:color="#1890FF" />
-            <solid android:color="#1890FF"/>
+            <stroke android:width="1dip" android:color="#3d68e1" />
+            <solid android:color="#3d68e1"/>
         </shape>
     </item>
     <item >
         <shape android:shape="rectangle"  >
             <corners android:radius="5dp" />
-            <stroke android:width="1dip" android:color="#1890FF" />
-            <gradient android:angle="-90" android:startColor="#1890FF" android:endColor="#1890FF" />
+            <stroke android:width="1dip" android:color="#3d68e1" />
+            <gradient android:angle="-90" android:startColor="#3d68e1" android:endColor="#3d68e1" />
         </shape>
     </item>
 </selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/my_toast_rounded_corner_error.xml b/app/src/main/res/drawable/my_toast_rounded_corner_error.xml
new file mode 100644
index 0000000..57bc280
--- /dev/null
+++ b/app/src/main/res/drawable/my_toast_rounded_corner_error.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android" >
+    <stroke
+        android:width="1dp"
+        android:color="@color/colorRed" />
+
+    <solid android:color="@color/colorRed" />
+
+    <padding
+        android:left="1dp"
+        android:right="1dp"
+        android:bottom="1dp"
+        android:top="1dp"
+        android:color="@color/colorRed"/>
+
+    <corners android:radius="4dp" />
+</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/white_button.xml b/app/src/main/res/drawable/white_button.xml
new file mode 100644
index 0000000..039fae3
--- /dev/null
+++ b/app/src/main/res/drawable/white_button.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <gradient android:startColor="#eaeaea"
+        android:endColor="#eaeaea"
+        android:angle="270" />
+    <corners android:radius="3dp" />
+    <stroke android:width="1px" android:color="#eaeaea" />
+</shape>
\ No newline at end of file
diff --git a/app/src/main/res/layout/alarm_view.xml b/app/src/main/res/layout/alarm_view.xml
index 281f73e..213220f 100644
--- a/app/src/main/res/layout/alarm_view.xml
+++ b/app/src/main/res/layout/alarm_view.xml
@@ -75,6 +75,7 @@
                     <!--android:visibility="invisible"/>-->
             </RelativeLayout>
             <LinearLayout
+                android:id="@+id/layout1"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:orientation="vertical"
diff --git a/app/src/main/res/layout/auth_dialog.xml b/app/src/main/res/layout/auth_dialog.xml
index 5f34546..3cc5e7f 100644
--- a/app/src/main/res/layout/auth_dialog.xml
+++ b/app/src/main/res/layout/auth_dialog.xml
@@ -53,9 +53,9 @@
             android:layout_width="@dimen/w57"
             android:layout_height="@dimen/h22"
             android:textSize="@dimen/h10"
-            android:textColor="@color/white"
             android:layout_gravity="center"
-            android:background="@drawable/blue_button"
+            android:textColor="#222"
+            android:background="@drawable/white_button"
             android:text="鍙栨秷"/>
     </LinearLayout>
 
diff --git a/app/src/main/res/layout/confirm_dialog.xml b/app/src/main/res/layout/confirm_dialog.xml
index 3df0794..a00a55d 100644
--- a/app/src/main/res/layout/confirm_dialog.xml
+++ b/app/src/main/res/layout/confirm_dialog.xml
@@ -38,8 +38,8 @@
             android:layout_width="@dimen/w57"
             android:layout_height="@dimen/h22"
             android:textSize="@dimen/h10"
-            android:textColor="@color/white"
-            android:background="@drawable/blue_button"
+            android:textColor="#222"
+            android:background="@drawable/white_button"
             android:text="鍙栨秷"/>
     </LinearLayout>
 
diff --git a/app/src/main/res/layout/fragment_setting.xml b/app/src/main/res/layout/fragment_setting.xml
index c3c07d4..a6e2950 100644
--- a/app/src/main/res/layout/fragment_setting.xml
+++ b/app/src/main/res/layout/fragment_setting.xml
@@ -543,6 +543,17 @@
             android:layout_marginBottom="@dimen/h66"
             android:layout_gravity="center_horizontal">
             <Button
+                android:id="@+id/goto_home"
+                android:layout_width="@dimen/w65"
+                android:layout_height="@dimen/h40"
+                android:textSize="@dimen/h13"
+                android:textColor="#222"
+                android:layout_gravity="center"
+                android:background="@drawable/white_button"
+                android:text="杩斿洖"/>
+
+            <Button
+                android:layout_marginLeft="@dimen/w28"
                 android:id="@+id/save"
                 android:layout_width="@dimen/w65"
                 android:layout_height="@dimen/h40"
@@ -551,16 +562,7 @@
                 android:layout_gravity="center"
                 android:background="@drawable/blue_button"
                 android:text="淇濆瓨"/>
-            <Button
-                android:id="@+id/goto_home"
-                android:layout_marginLeft="@dimen/w28"
-                android:layout_width="@dimen/w65"
-                android:layout_height="@dimen/h40"
-                android:textSize="@dimen/h13"
-                android:textColor="@color/white"
-                android:layout_gravity="center"
-                android:background="@drawable/blue_button"
-                android:text="杩斿洖"/>
+
             <Button
                 android:id="@+id/exit"
                 android:layout_marginLeft="@dimen/w28"
@@ -573,6 +575,16 @@
                 android:text="閫�鍑�"
                 android:visibility="gone"
                 />
+            <Button
+                android:layout_marginLeft="@dimen/w28"
+                android:id="@+id/open_system_setting"
+                android:layout_width="@dimen/w180"
+                android:layout_height="@dimen/h40"
+                android:textSize="@dimen/h13"
+                android:textColor="#222"
+                android:layout_gravity="center"
+                android:background="@drawable/white_button"
+                android:text="鎵撳紑绯荤粺璁剧疆"/>
         </LinearLayout>
     </LinearLayout>
 
diff --git a/app/src/main/res/layout/my_toast_error.xml b/app/src/main/res/layout/my_toast_error.xml
new file mode 100644
index 0000000..6363f8c
--- /dev/null
+++ b/app/src/main/res/layout/my_toast_error.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:background="@drawable/my_toast_rounded_corner_error"
+    >
+    <TextView
+        android:layout_marginLeft="@dimen/w25"
+        android:layout_marginRight="@dimen/w25"
+        android:layout_marginTop="@dimen/h11"
+        android:layout_marginBottom="@dimen/h11"
+        android:id="@+id/text"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:gravity="center"
+        android:textColor="@color/white"
+        android:textSize="@dimen/h19"
+        android:text="test"
+        />
+</LinearLayout>
diff --git a/gradle.properties b/gradle.properties
index 6011033..3c0bd60 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -13,3 +13,4 @@
 # org.gradle.parallel=true
 org.gradle.daemon=true
 org.gradle.parallel=true
+android.enableDesugar=true

--
Gitblit v1.8.0