From e6a8bdd23d6f5cb46ac650285829573280edcdf6 Mon Sep 17 00:00:00 2001
From: 554325746@qq.com <554325746@qq.com>
Date: 星期一, 15 七月 2019 16:51:11 +0800
Subject: [PATCH] a

---
 app/src/main/java/com/basic/security/utils/AudioPlayer.java                                              |    1 
 app/src/main/res/drawable/check_box_selector.xml                                                         |    6 
 app/src/main/java/com/basic/security/fragment/HomeFragment.java                                          |   35 
 app/src/main/java/com/basic/security/activity/WelcomeActivity.java                                       |   46 
 app/src/main/res/drawable/checkbox_on_background.png                                                     |    0 
 app/libs/sdkapi.jar                                                                                      |    0 
 .idea/encodings.xml                                                                                      |    5 
 app/CMakeLists.txt                                                                                       |    1 
 app/src/main/cpp/native-lib.cpp                                                                          |   32 
 app/.externalNativeBuild/cmake/release/armeabi-v7a/build.ninja                                           |   10 
 .idea/misc.xml                                                                                           |    5 
 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 
 .idea/workspace.xml                                                                                      | 3282 +++++++++++++++++++++++------
 app/src/main/res/drawable/radiobutton_on_background_focus_yellow.png                                     |    0 
 app/src/main/res/layout/activity_main.xml                                                                |    4 
 app/src/main/java/com/basic/security/utils/SocketAcceptedClient.java                                     |  178 +
 app/src/main/res/drawable/pulldown.png                                                                   |    0 
 app/src/main/java/com/basic/security/utils/SocketServer.java                                             |   45 
 app/app.iml                                                                                              |  140 
 app/src/main/cpp/TCPClient.h                                                                             |   36 
 app/src/main/java/com/basic/security/fragment/helper/HomePlayAlarmSound.java                             |  254 +
 app/src/main/res/drawable/ic_arrow_down.png                                                              |    0 
 app/src/main/java/com/basic/security/manager/SettingManager.java                                         |   89 
 app/src/main/cpp/csrc/thirdparty/ffmpeg/bin/ffmpeg                                                       |    0 
 app/src/main/java/com/basic/security/utils/CrashHandler.java                                             |   50 
 app/src/main/res/drawable/radiobutton_off_background_focus_yellow.png                                    |    0 
 app/src/main/java/com/basic/security/utils/SocketClient.java                                             |  189 +
 app/src/main/java/com/basic/security/dao/SqliteManager.java                                              |   23 
 app/src/main/java/com/basic/security/fragment/helper/HomeBase.java                                       |    2 
 app/src/main/java/com/basic/security/widget/AuthDialog.java                                              |  150 +
 app/src/main/res/layout/activity_welcome.xml                                                             |   10 
 app/src/main/java/com/basic/security/utils/PermissionHelper.java                                         |   88 
 app/src/main/java/com/basic/security/model/Alarm.java                                                    |   19 
 app/src/main/res/layout/auth_dialog.xml                                                                  |   63 
 app/src/main/java/com/basic/security/activity/MainActivity.java                                          |   16 
 .gitignore                                                                                               |   36 
 app/src/main/res/values/styles.xml                                                                       |   11 
 app/.externalNativeBuild/cmake/release/armeabi-v7a/android_gradle_build.json                             |    6 
 app/src/main/res/drawable/radiobutton_on_background.png                                                  |    0 
 app/src/main/res/drawable/radiobutton.xml                                                                |   28 
 app/src/main/java/com/basic/security/dao/DatabaseManager.java                                            |   50 
 app/src/main/res/drawable/radiobutton_off_background.png                                                 |    0 
 .idea/vcs.xml                                                                                            |    2 
 app/src/main/java/com/basic/security/model/Setting.java                                                  |   15 
 app/src/main/java/com/basic/security/widget/CustomSpinner.java                                           |   19 
 app/src/main/res/drawable/logo1.png                                                                      |    0 
 app/debug/output.json                                                                                    |    1 
 app/src/main/res/drawable/checkbox_off_background.png                                                    |    0 
 app/src/main/AndroidManifest.xml                                                                         |   36 
 app/src/main/java/com/basic/security/utils/KeyboardUtil.java                                             |    2 
 app/src/main/java/com/basic/security/utils/IpUtils.java                                                  |   84 
 app/src/main/res/drawable/bg_edittext1_color.xml                                                         |    5 
 .idea/caches/build_file_checksums.ser                                                                    |    0 
 app/src/main/java/com/basic/security/utils/JnanomsgServer.java                                           |   54 
 app/.externalNativeBuild/cmake/debug/armeabi-v7a/android_gradle_build.json                               |    6 
 app/src/main/cpp/TCPClient.cpp                                                                           |   83 
 app/src/main/jniLibs/armeabi-v7a/libnanomsg.so                                                           |    0 
 .idea/codeStyles/Project.xml                                                                             |   49 
 app/.externalNativeBuild/cmake/debug/armeabi-v7a/.ninja_deps                                             |    0 
 app/.externalNativeBuild/cmake/debug/armeabi-v7a/.ninja_log                                              |   31 
 app/.externalNativeBuild/cmake/debug/armeabi-v7a/build.ninja                                             |   10 
 app/src/main/java/com/basic/security/fragment/SettingFragment.java                                       |  361 ++
 app/src/main/java/com/basic/security/manager/AlarmManager.java                                           |   17 
 app/src/main/res/drawable/u41.png                                                                        |    0 
 .idea/caches/gradle_models.ser                                                                           |    0 
 app/src/main/res/drawable/spinner_arrow_down.xml                                                         |    4 
 app/src/main/res/drawable/u259_gray.png                                                                  |    0 
 app/src/main/java/com/basic/security/fragment/helper/HomeGridViewAdapter.java                            |  102 
 app/src/main/res/layout/fragment_setting.xml                                                             |  714 ++++-
 app/src/main/java/com/basic/security/utils/LztekAndroidRoot.java                                         |   54 
 71 files changed, 5,245 insertions(+), 1,321 deletions(-)

diff --git a/.gitignore b/.gitignore
index 3a36c6e..5edb4ee 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,26 +1,10 @@
-# Built application files
-*.apk
-*.ap_
-
-# Files for the Dalvik VM
-*.dex
-
-# Java class files
-*.class
-
-# Generated files
-bin/
-gen/
-
-# Gradle files
-.gradle/
-build/
-
-# Local configuration file (sdk path, etc)
-local.properties
-
-# Proguard folder generated by Eclipse
-proguard/
-
-#Log Files
-*.log
+*.iml
+.gradle
+/local.properties
+/.idea/libraries
+/.idea/modules.xml
+/.idea/workspace.xml
+.DS_Store
+/build
+/captures
+.externalNativeBuild
diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser
index be6dfee..d18ba72 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
index a8e2abb..f78c042 100644
--- a/.idea/caches/gradle_models.ser
+++ b/.idea/caches/gradle_models.ser
Binary files differ
diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml
index 565c347..30aa626 100644
--- a/.idea/codeStyles/Project.xml
+++ b/.idea/codeStyles/Project.xml
@@ -1,28 +1,29 @@
 <component name="ProjectCodeStyleConfiguration">
   <code_scheme name="Project" version="173">
-    <DBN-PSQL>
-      <case-options enabled="false">
-        <option name="KEYWORD_CASE" value="lower" />
-        <option name="FUNCTION_CASE" value="lower" />
-        <option name="PARAMETER_CASE" value="lower" />
-        <option name="DATATYPE_CASE" value="lower" />
-        <option name="OBJECT_CASE" value="preserve" />
-      </case-options>
-      <formatting-settings enabled="false" />
-    </DBN-PSQL>
-    <DBN-SQL>
-      <case-options enabled="false">
-        <option name="KEYWORD_CASE" value="lower" />
-        <option name="FUNCTION_CASE" value="lower" />
-        <option name="PARAMETER_CASE" value="lower" />
-        <option name="DATATYPE_CASE" value="lower" />
-        <option name="OBJECT_CASE" value="preserve" />
-      </case-options>
-      <formatting-settings enabled="false">
-        <option name="STATEMENT_SPACING" value="one_line" />
-        <option name="CLAUSE_CHOP_DOWN" value="chop_down_if_statement_long" />
-        <option name="ITERATION_ELEMENTS_WRAPPING" value="chop_down_if_not_single" />
-      </formatting-settings>
-    </DBN-SQL>
+    <Objective-C-extensions>
+      <file>
+        <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Import" />
+        <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Macro" />
+        <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Typedef" />
+        <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Enum" />
+        <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Constant" />
+        <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Global" />
+        <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Struct" />
+        <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="FunctionPredecl" />
+        <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Function" />
+      </file>
+      <class>
+        <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Property" />
+        <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Synthesize" />
+        <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="InitMethod" />
+        <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="StaticMethod" />
+        <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="InstanceMethod" />
+        <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="DeallocMethod" />
+      </class>
+      <extensions>
+        <pair source="cpp" header="h" fileNamingConvention="NONE" />
+        <pair source="c" header="h" fileNamingConvention="NONE" />
+      </extensions>
+    </Objective-C-extensions>
   </code_scheme>
 </component>
\ No newline at end of file
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
index 0dc2146..15a15b2 100644
--- a/.idea/encodings.xml
+++ b/.idea/encodings.xml
@@ -1,7 +1,4 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
-  <component name="Encoding">
-    <file url="file://F:/workspace/termux-app-master/gradle.properties" charset="UTF-8" />
-    <file url="file://F:/workspace/termux-app-master/gradle/wrapper/gradle-wrapper.properties" charset="UTF-8" />
-  </component>
+  <component name="Encoding" addBOMForNewFiles="with NO BOM" />
 </project>
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 733acdd..c0f68ed 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -25,13 +25,10 @@
       </value>
     </option>
   </component>
-  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" project-jdk-name="1.8" project-jdk-type="JavaSDK">
+  <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>
   <component name="ProjectType">
     <option name="id" value="Android" />
-  </component>
-  <component name="SvnBranchConfigurationManager">
-    <option name="mySupportsUserInfoFilter" value="true" />
   </component>
 </project>
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
index 45cf85c..94a25f7 100644
--- a/.idea/vcs.xml
+++ b/.idea/vcs.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
   <component name="VcsDirectoryMappings">
-    <mapping directory="" vcs="svn" />
+    <mapping directory="$PROJECT_DIR$" vcs="Git" />
   </component>
 </project>
\ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 98de605..a48287b 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -2,18 +2,22 @@
 <project version="4">
   <component name="AndroidLayouts">
     <shared>
-      <config />
+      <config>
+        <devices>
+          <device id="pixel" />
+        </devices>
+      </config>
     </shared>
   </component>
   <component name="AndroidLogFilters">
-    <option name="TOOL_WINDOW_CUSTOM_FILTER" value="msg" />
-    <option name="TOOL_WINDOW_LOG_LEVEL" value="verbose" />
     <option name="TOOL_WINDOW_CONFIGURED_FILTER" value="Show only selected application" />
   </component>
   <component name="ChangeListManager">
-    <list default="true" id="d69f261f-a6c6-4e7b-864f-3db63fafeb3b" name="Default" comment="" />
-    <list id="7dd41599-b337-44fb-8749-e920104f4996" name="ignore-on-commit" comment="" />
+    <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>
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
+    <option name="TRACKING_ENABLED" value="true" />
     <option name="SHOW_DIALOG" value="false" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
     <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
@@ -27,57 +31,18 @@
   <component name="ExternalProjectsManager">
     <system id="GRADLE">
       <state>
-        <projects_view>
-          <tree_state>
-            <expand>
-              <path>
-                <item name="" type="6a2764b6:ExternalProjectsStructure$RootNode" />
-                <item name="Security_alarm" type="f1a62948:ProjectNode" />
-              </path>
-            </expand>
-            <select />
-          </tree_state>
-        </projects_view>
+        <projects_view />
       </state>
     </system>
   </component>
   <component name="FileEditorManager">
     <leaf SIDE_TABS_SIZE_LIMIT_KEY="375">
-      <file pinned="false" current-in-tab="true">
-        <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="227">
-              <caret line="153" column="1652" selection-start-line="153" selection-start-column="1652" selection-end-line="153" selection-end-column="1652" />
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file pinned="false" current-in-tab="false">
-        <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="123">
-              <caret line="61" column="42" selection-start-line="61" selection-start-column="24" selection-end-line="61" selection-end-column="42" />
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file pinned="false" current-in-tab="false">
-        <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="1424">
-              <caret line="195" selection-start-line="195" selection-end-line="195" />
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file pinned="false" current-in-tab="false">
+      <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="135">
-              <caret line="51" column="35" selection-start-line="51" selection-start-column="26" selection-end-line="51" selection-end-column="35" />
-              <folding>
-                <element signature="imports" expanded="true" />
-              </folding>
+            <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>
@@ -87,234 +52,2142 @@
   <component name="FileTemplateManagerImpl">
     <option name="RECENT_TEMPLATES">
       <list>
-        <option value="Interface" />
         <option value="Class" />
       </list>
     </option>
   </component>
   <component name="FindInProjectRecents">
     <findStrings>
-      <find>stopAllVideoPlays</find>
-      <find>alarmVideoGestureOverlayView</find>
-      <find>resu</find>
-      <find>alarmVideoOverlay.setVI</find>
-      <find>initMilliSecond</find>
-      <find>secondArray</find>
-      <find>mainActivityView</find>
-      <find>setupUI</find>
-      <find>KeyboardUtil.setupUI</find>
-      <find>haveVideoPlay</find>
-      <find>FileScanThread</find>
-      <find>AudioPlayer</find>
-      <find>stopVideo</find>
-      <find>buildToolsVersion</find>
-      <find>refreshGrid</find>
-      <find>28.0.0-rc02</find>
-      <find>overLa</find>
-      <find>overLay</find>
-      <find>matchPersonList</find>
-      <find>androidannotations</find>
-      <find>CMAKE_CPP_DIR</find>
-      <find>LINK_LIB</find>
-      <find>SDL_android_main</find>
-      <find>link</find>
-      <find>ip</find>
-      <find>new Socket</find>
-      <find>setOnSearchClickedListener</find>
-      <find>matchPerson</find>
-      <find>match</find>
-      <find>搴曞簱</find>
+      <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>
-    <replaceStrings>
-      <replace>&lt;dimen name=&quot;h</replace>
-      <replace>&lt;dimen name=&quot;w</replace>
-      <replace>id</replace>
-      <replace>viewHolder.alarmVideo</replace>
-    </replaceStrings>
-    <dirStrings>
-      <dir>C:\workspace\Security_alarm\app\src\main\java\com\basic\security\fragment\helper</dir>
-    </dirStrings>
+  </component>
+  <component name="Git.Settings">
+    <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
+  </component>
+  <component name="GradleLocalSettings">
+    <option name="myGradleHomes">
+      <map>
+        <entry key="$PROJECT_DIR$" value="C:\Users\xiuxi\.gradle\wrapper\dists\gradle-4.4-all\9br9xq1tocpiv8o6njlyu5op1\gradle-4.4" />
+      </map>
+    </option>
+    <option name="myGradleVersions">
+      <map>
+        <entry key="$PROJECT_DIR$" value="4.4" />
+      </map>
+    </option>
+    <option name="availableProjects">
+      <map>
+        <entry>
+          <key>
+            <ExternalProjectPojo>
+              <option name="name" value="Security_alarm" />
+              <option name="path" value="$PROJECT_DIR$" />
+            </ExternalProjectPojo>
+          </key>
+          <value>
+            <list>
+              <ExternalProjectPojo>
+                <option name="name" value="Security_alarm" />
+                <option name="path" value="$PROJECT_DIR$" />
+              </ExternalProjectPojo>
+              <ExternalProjectPojo>
+                <option name="name" value=":app" />
+                <option name="path" value="$PROJECT_DIR$/app" />
+              </ExternalProjectPojo>
+            </list>
+          </value>
+        </entry>
+      </map>
+    </option>
+    <option name="availableTasks">
+      <map>
+        <entry key="$PROJECT_DIR$">
+          <value>
+            <list>
+              <ExternalTaskPojo>
+                <option name="description" value="Displays the sub-projects of root project 'Security_alarm'." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="projects" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="bundleAppClassesRelease" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="validateSigningDebugAndroidTest" />
+              </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$" />
+                <option name="name" value="reportBuildArtifactsRelease" />
+              </ExternalTaskPojo>
+              <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." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="mockableAndroidJar" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="preparePUBLISHED_DEXReleaseForPublishing" />
+              </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$" />
+                <option name="name" value="processDebugResources" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="transformNativeLibsWithStripDebugSymbolForRelease" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Runs lint on all variants." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="lint" />
+              </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$" />
+                <option name="name" value="compileDebugJavaWithJavac" />
+              </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." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="cleanBuildCache" />
+              </ExternalTaskPojo>
+              <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$" />
+                <option name="name" value="preparePUBLISHED_JAVA_RESDebugAndroidTestForPublishing" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="compileDebugAndroidTestJavaWithJavac" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Displays the components produced by root project 'Security_alarm'. [incubating]" />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="components" />
+              </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$" />
+                <option name="name" value="transformResourcesWithMergeJavaResForReleaseUnitTest" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="preDebugAndroidTestBuild" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="processDebugAndroidTestJavaRes" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="processReleaseUnitTestJavaRes" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <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" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="compileReleaseShaders" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="mergeReleaseResources" />
+              </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$" />
+                <option name="name" value="mergeReleaseJniLibFolders" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="prepareLintJar" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="processReleaseResources" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Installs and runs instrumentation tests using all Device Providers." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="deviceAndroidTest" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="mergeDebugAndroidTestAssets" />
+              </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$" />
+                <option name="name" value="writeDebugApplicationId" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <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$" />
+                <option name="name" value="compileReleaseUnitTestSources" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Installs the android (on device) tests for the Debug build." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="installDebugAndroidTest" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="mainApkListPersistenceDebug" />
+              </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$" />
+                <option name="name" value="splitsDiscoveryTaskRelease" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Runs all device checks on currently connected devices." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="connectedCheck" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Installs and runs the tests for debug on connected devices." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <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" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="processDebugAndroidTestResources" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="preparePUBLISHED_DEXDebugForPublishing" />
+              </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="validateSigningDebug" />
+              </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$" />
+                <option name="name" value="preDebugUnitTestBuild" />
+              </ExternalTaskPojo>
+              <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$" />
+                <option name="name" value="mainApkListPersistenceRelease" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="transformNativeLibsWithMergeJniLibsForDebugAndroidTest" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <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$" />
+                <option name="name" value="mergeDebugAndroidTestJniLibFolders" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="extractProguardFiles" />
+              </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$" />
+                <option name="name" value="consumeConfigAttr" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="generateDebugAndroidTestAssets" />
+              </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$" />
+                <option name="name" value="mergeDebugAndroidTestResources" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="preReleaseUnitTestBuild" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="generateDebugResValues" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Runs all checks." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <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." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="installDebug" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="preBuild" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="transformResourcesWithMergeJavaResForRelease" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="compileReleaseSources" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="compileReleaseUnitTestJavaWithJavac" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="compileDebugShaders" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <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$" />
+                <option name="name" value="mergeReleaseAssets" />
+              </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" />
+              </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." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="signingReport" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="compileDebugAndroidTestAidl" />
+              </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$" />
+                <option name="name" value="clean" />
+              </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 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$" />
+                <option name="name" value="resolveConfigAttr" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="compileDebugAndroidTestRenderscript" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="generateDebugAndroidTestResources" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="processDebugManifest" />
+              </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'." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
+                <option name="name" value="properties" />
+              </ExternalTaskPojo>
+            </list>
+          </value>
+        </entry>
+        <entry key="$PROJECT_DIR$/app">
+          <value>
+            <list>
+              <ExternalTaskPojo>
+                <option name="description" value="Displays the sub-projects of project ':app'." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="projects" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="bundleAppClassesRelease" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="validateSigningDebugAndroidTest" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="transformClassesWithDexBuilderForDebug" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="assembleReleaseUnitTest" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="bundleReleaseResources" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="processReleaseJavaRes" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="generateReleaseAssets" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Runs lint on the Debug build." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="lintDebug" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="preparePUBLISHED_JAVA_RESReleaseForPublishing" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="reportBuildArtifactsRelease" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="assembleDebugUnitTest" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="createReleaseCompatibleScreenManifests" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Creates a version of android.jar that's suitable for unit tests." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="mockableAndroidJar" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Displays the configuration model of project ':app'. [incubating]" />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="model" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="preparePUBLISHED_DEXReleaseForPublishing" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="bundleAppClassesDebug" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Displays the tasks runnable from project ':app'." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="tasks" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="compileDebugSources" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <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$/app" />
+                <option name="name" value="deviceCheck" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Displays all dependencies declared in project ':app'." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="dependencies" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="processDebugResources" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="transformNativeLibsWithStripDebugSymbolForRelease" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Runs lint on all variants." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="lint" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="packageDebug" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="transformClassesWithDexBuilderForRelease" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="generateDebugResources" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="bundleAppClassesReleaseUnitTest" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="compileDebugJavaWithJavac" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <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$/app" />
+                <option name="name" value="buildNeeded" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="generateDebugAndroidTestBuildConfig" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="processDebugUnitTestJavaRes" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Run unit tests for the release build." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="testReleaseUnitTest" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Deletes the build cache directory." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="cleanBuildCache" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="compileDebugAndroidTestShaders" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="mergeDebugShaders" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="preparePUBLISHED_JAVA_RESDebugAndroidTestForPublishing" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="compileDebugAndroidTestJavaWithJavac" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Displays the components produced by project ':app'. [incubating]" />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="components" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="compileReleaseRenderscript" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Assembles all Debug builds." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="assembleDebug" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="processDebugAndroidTestManifest" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="compileDebugUnitTestJavaWithJavac" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="generateJsonModelRelease" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="transformResourcesWithMergeJavaResForReleaseUnitTest" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="preDebugAndroidTestBuild" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="processDebugAndroidTestJavaRes" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="processReleaseUnitTestJavaRes" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="reportBuildArtifactsDebug" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="transformDexArchiveWithExternalLibsDexMergerForRelease" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="javaPreCompileDebugAndroidTest" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="splitsDiscoveryTaskDebug" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="bundleAppClassesDebugUnitTest" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Uninstalls the Release build." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="uninstallRelease" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="compileReleaseShaders" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="mergeReleaseResources" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="generateDebugAndroidTestSources" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="checkReleaseManifest" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="javaPreCompileDebugUnitTest" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="compileDebugAndroidTestSources" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="createDebugCompatibleScreenManifests" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="preparePUBLISHED_NATIVE_LIBSReleaseForPublishing" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="mergeReleaseJniLibFolders" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="prepareLintJar" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="processReleaseResources" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Installs and runs instrumentation tests using all Device Providers." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="deviceAndroidTest" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="mergeDebugAndroidTestAssets" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="preparePUBLISHED_NATIVE_LIBSDebugForPublishing" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <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$/app" />
+                <option name="name" value="uninstallDebugAndroidTest" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Displays the insight into a specific dependency in project ':app'." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="dependencyInsight" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="generateReleaseSources" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="transformDexArchiveWithDexMergerForRelease" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="preReleaseBuild" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="writeDebugApplicationId" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Assembles all variants of all applications and secondary packages." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="assemble" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Displays a help message." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="help" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="compileReleaseUnitTestSources" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Installs the android (on device) tests for the Debug build." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="installDebugAndroidTest" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="mainApkListPersistenceDebug" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="transformClassesWithDexBuilderForDebugAndroidTest" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="mergeDebugAssets" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="javaPreCompileReleaseUnitTest" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="generateJsonModelDebug" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="preparePUBLISHED_DEXDebugAndroidTestForPublishing" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="javaPreCompileRelease" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="splitsDiscoveryTaskRelease" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Runs all device checks on currently connected devices." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="connectedCheck" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Installs and runs the tests for debug on connected devices." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="connectedDebugAndroidTest" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="transformDexArchiveWithDexMergerForDebug" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Uninstall all applications." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="uninstallAll" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="transformNativeLibsWithMergeJniLibsForDebug" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Assembles all the Test applications." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="assembleAndroidTest" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="processDebugAndroidTestResources" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="preparePUBLISHED_DEXDebugForPublishing" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="packageRelease" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="validateSigningDebug" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="compileDebugAidl" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="mergeDebugResources" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="preDebugUnitTestBuild" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="compileLint" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="generateDebugAndroidTestResValues" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="mainApkListPersistenceRelease" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="transformNativeLibsWithMergeJniLibsForDebugAndroidTest" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="mergeReleaseShaders" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Displays the Android dependencies of the project." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="androidDependencies" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="compileDebugUnitTestSources" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="transformNativeLibsWithMergeJniLibsForRelease" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="transformDexArchiveWithExternalLibsDexMergerForDebugAndroidTest" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="generateDebugSources" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="mergeDebugAndroidTestJniLibFolders" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="extractProguardFiles" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="externalNativeBuildCleanDebug" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="assembleDebugAndroidTest" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="preparePUBLISHED_JAVA_RESDebugForPublishing" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="processDebugJavaRes" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="consumeConfigAttr" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="generateDebugAndroidTestAssets" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="compileReleaseJavaWithJavac" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="transformResourcesWithMergeJavaResForDebugAndroidTest" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Run unit tests for all variants." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="test" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="transformNativeLibsWithStripDebugSymbolForDebug" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="mergeDebugAndroidTestResources" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="preReleaseUnitTestBuild" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="generateDebugResValues" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Runs all checks." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="check" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="javaPreCompileDebug" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Run unit tests for the debug build." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <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$/app" />
+                <option name="name" value="connectedAndroidTest" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Installs the Debug build." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="installDebug" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="preBuild" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="transformResourcesWithMergeJavaResForRelease" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="compileReleaseSources" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="compileReleaseUnitTestJavaWithJavac" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="compileDebugShaders" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="transformResourcesWithMergeJavaResForDebug" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="compileReleaseAidl" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Runs lint on the Release build." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <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$/app" />
+                <option name="name" value="buildDependents" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="generateDebugAssets" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="transformDexArchiveWithDexMergerForDebugAndroidTest" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Displays the dependent components of components in project ':app'. [incubating]" />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="dependentComponents" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Displays all buildscript dependencies declared in project ':app'." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="buildEnvironment" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="checkDebugManifest" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <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$/app" />
+                <option name="name" value="sourceSets" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="transformResourcesWithMergeJavaResForDebugUnitTest" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="bundleDebugResources" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="mergeReleaseAssets" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="compileDebugRenderscript" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="generateReleaseBuildConfig" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="preparePUBLISHED_NATIVE_LIBSDebugAndroidTestForPublishing" />
+              </ExternalTaskPojo>
+              <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="generateReleaseResources" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Runs lint on just the fatal issues in the release build." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="lintVitalRelease" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="platformAttrExtractor" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Uninstalls the Debug build." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="uninstallDebug" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Displays the signing info for each variant." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="signingReport" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="compileDebugAndroidTestAidl" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="externalNativeBuildCleanRelease" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="mergeDebugAndroidTestShaders" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="bundleAppClassesDebugAndroidTest" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Deletes the build directory." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="clean" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="preDebugBuild" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="externalNativeBuildRelease" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="generateDebugBuildConfig" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="transformDexArchiveWithExternalLibsDexMergerForDebug" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Assembles and tests this project." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="build" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Assembles all Release builds." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="assembleRelease" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="resolveConfigAttr" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="compileDebugAndroidTestRenderscript" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="generateDebugAndroidTestResources" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="processDebugManifest" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="writeReleaseApplicationId" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="packageDebugAndroidTest" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="generateReleaseResValues" />
+              </ExternalTaskPojo>
+              <ExternalTaskPojo>
+                <option name="description" value="Displays the properties of project ':app'." />
+                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" />
+                <option name="name" value="properties" />
+              </ExternalTaskPojo>
+            </list>
+          </value>
+        </entry>
+      </map>
+    </option>
+    <option name="projectBuildClasspath">
+      <map>
+        <entry key="$PROJECT_DIR$">
+          <value>
+            <ExternalProjectBuildClasspathPojo>
+              <option name="modulesBuildClasspath">
+                <map>
+                  <entry key="$PROJECT_DIR$">
+                    <value>
+                      <ExternalModuleBuildClasspathPojo>
+                        <option name="entries">
+                          <list>
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/gradle/3.1.2/79231e42158f711cbe81eb766d7c3578e38557a4/gradle-3.1.2-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/gradle/3.1.2/1608fa49add4d13366db7844998c6e59711f7e2a/gradle-3.1.2.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/gradle-core/3.1.2/36e59348ddd26cbed10061dd4760e8ee030b88e4/gradle-core-3.1.2-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/gradle-core/3.1.2/ccab33656c1baa6514d88f4d9356db19d0e9823b/gradle-core-3.1.2.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/bundletool/0.1.0-alpha01/f7c303e37818223bd98566fcbea29aa0964c4d06/bundletool-0.1.0-alpha01.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/builder/3.1.2/84b5fe203cd814a6a48fac7902c7b0bf0d455451/builder-3.1.2-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/builder/3.1.2/133b1f665104f0ebf01f71b61e4794385d7b5f1b/builder-3.1.2.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.lint/lint-gradle-api/26.1.2/2e0f2d982094f220ddc62f94180ee5187c9c0cdf/lint-gradle-api-26.1.2-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.lint/lint-gradle-api/26.1.2/8c54aedfe9da66e64402de04883cee083c127a3b/lint-gradle-api-26.1.2.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/gradle-api/3.1.2/7239d441f5d79f12ff8f6066703e86ddd16a29cf/gradle-api-3.1.2-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/gradle-api/3.1.2/427e25639a55911cadcf70657c9b2ded2ad6af2b/gradle-api-3.1.2.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.databinding/compilerCommon/3.1.2/a77b04ed519b3ac7c0e8946ee7e0eb156808f661/compilerCommon-3.1.2-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.databinding/compilerCommon/3.1.2/be65c11ded4242932046f23ecfa5c7ccb0e98f46/compilerCommon-3.1.2.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jre8/1.2.0/3d425bfaaa7f8b1affb652c4257aa57e6597e163/kotlin-stdlib-jre8-1.2.0-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jre8/1.2.0/505f55b9619bbc5f5e26c77427dd24a6a441eef1/kotlin-stdlib-jre8-1.2.0.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/transform-api/2.0.0-deprecated-use-gradle-api/f18536c1fe08673c69e869be170759616a9df16/transform-api-2.0.0-deprecated-use-gradle-api-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/transform-api/2.0.0-deprecated-use-gradle-api/47f6c56527c42425742fa9b56ffd3fd80763fe03/transform-api-2.0.0-deprecated-use-gradle-api.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm/5.1/81e81bd6c20b965f88d0462e2559f8759fc6c26d/asm-5.1-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm/5.1/5ef31c4fe953b1fd00b8a88fa1d6820e8785bb45/asm-5.1.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-analysis/5.1/81e81bd6c20b965f88d0462e2559f8759fc6c26d/asm-analysis-5.1-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-analysis/5.1/6d1bf8989fc7901f868bee3863c44f21aa63d110/asm-analysis-5.1.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-commons/5.1/81e81bd6c20b965f88d0462e2559f8759fc6c26d/asm-commons-5.1-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-commons/5.1/25d8a575034dd9cfcb375a39b5334f0ba9c8474e/asm-commons-5.1.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-util/5.1/81e81bd6c20b965f88d0462e2559f8759fc6c26d/asm-util-5.1-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-util/5.1/b60e33a6bd0d71831e0c249816d01e6c1dd90a47/asm-util-5.1.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/net.sf.jopt-simple/jopt-simple/4.9/d965219b87f79e81b07116d451e684ab2f3acc27/jopt-simple-4.9-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/net.sf.jopt-simple/jopt-simple/4.9/ee9e9eaa0a35360dcfeac129ff4923215fd65904/jopt-simple-4.9.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/net.sf.proguard/proguard-gradle/5.3.3/186a5a9fd2f4fee04dced62b8d4d97c88337b53d/proguard-gradle-5.3.3-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/net.sf.proguard/proguard-gradle/5.3.3/ad23a0505f58d0dfc95bb1472decc397460406c9/proguard-gradle-5.3.3.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.auto.value/auto-value/1.5.2/e96b1f4a9e6630a405434fca857c6b8f777163cf/auto-value-1.5.2-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.auto.value/auto-value/1.5.2/1b94ab7ec707e2220a0d1a7517488d1843236345/auto-value-1.5.2.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.guava/guava/22.0/55edc69e4fc937f4e58e577bb144b824c0ec7c55/guava-22.0-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.guava/guava/22.0/3564ef3803de51fb0530a8377ec6100b33b0d073/guava-22.0.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.protobuf/protobuf-java/3.4.0/c57c9f6bcbdb783260d00b80c455d82a6a8b02db/protobuf-java-3.4.0-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.protobuf/protobuf-java/3.4.0/b32aba0cbe737a4ca953f71688725972e3ee927c/protobuf-java-3.4.0.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.protobuf/protobuf-java-util/3.4.0/6d5f8e6d209c309d9ef3e30aa81135ee94cc7d49/protobuf-java-util-3.4.0-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.protobuf/protobuf-java-util/3.4.0/96aba8ab71c16018c6adf66771ce15c6491bc0fe/protobuf-java-util-3.4.0.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.errorprone/error_prone_annotations/2.1.2/380fceb109283ad515a05ca6955f97290e392cd8/error_prone_annotations-2.1.2-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.errorprone/error_prone_annotations/2.1.2/6dcc08f90f678ac33e5ef78c3c752b6f59e63e0c/error_prone_annotations-2.1.2.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/aapt2-proto/0.1.0/d1eb93a21a8d3590c3bfac574a8b6dffb2dbd21c/aapt2-proto-0.1.0.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/builder-model/3.1.2/e74f8c12d313fb638cd3e199ea13a544870636d5/builder-model-3.1.2-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/builder-model/3.1.2/4504b655fa8fe72302020ca9a2387f3f23fbfb57/builder-model-3.1.2.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/builder-test-api/3.1.2/57f0b608e34a9493508d21f6a07cf34989901602/builder-test-api-3.1.2-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/builder-test-api/3.1.2/ffb00b786822df6538377a90df9f2d11c022efc3/builder-test-api-3.1.2.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools/sdklib/26.1.2/eeb14343985046cf8c8504a06327db5a50e740ea/sdklib-26.1.2-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools/sdklib/26.1.2/94697a9dff499b64b6e101bedb89a89825150af/sdklib-26.1.2.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools/sdk-common/26.1.2/569e3d1db94b053b15c81f7662ff8cecc4df785/sdk-common-26.1.2-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools/sdk-common/26.1.2/2cf773af3fb0e1bbd56a80fc6903a9d2a40a248/sdk-common-26.1.2.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools/common/26.1.2/fb215315bdbd152415f1fab7358015da3928d7ff/common-26.1.2-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools/common/26.1.2/c31bbd68c51ed0ef3b8d7cdd5615acf762473887/common-26.1.2.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/manifest-merger/26.1.2/58ada075a3be42ac5afe8a752a3fdebfcfdaae2b/manifest-merger-26.1.2-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/manifest-merger/26.1.2/79f398427650c76f0c66c89f10e4886a1fe68c26/manifest-merger-26.1.2.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.ddms/ddmlib/26.1.2/8753f005a819994ebc56c3e567168c1fea745cc3/ddmlib-26.1.2-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.ddms/ddmlib/26.1.2/1d423e621fb5c89fed13e41d0ed026cf5d8d7e7b/ddmlib-26.1.2.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.analytics-library/protos/26.1.2/2791dabd9906f673a77b755ca2f4950fd5248729/protos-26.1.2-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.analytics-library/protos/26.1.2/ba53bcde9703b2bf9871128952dce844c5d743fa/protos-26.1.2.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.analytics-library/shared/26.1.2/eb4223fe1e164a7c37cd1448f3d89fdc016901de/shared-26.1.2-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.analytics-library/shared/26.1.2/bc21fe64fdaa64e59672e7d546d373f430e7557c/shared-26.1.2.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.analytics-library/tracker/26.1.2/37aae3a59f7220f45f85336f7374d5eaf37e5f7/tracker-26.1.2-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.analytics-library/tracker/26.1.2/2d2260da92e50ac072f89d60a596d03aab3a8757/tracker-26.1.2.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/apksig/3.1.2/93d9b522f74c2096cbaf84b088526f205d6b4a89/apksig-3.1.2-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/apksig/3.1.2/5af360dd30015a9a47c8ab0af0e6b05f64760edc/apksig-3.1.2.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.squareup/javawriter/2.5.0/1b2a0925ff06220c0261b6fd468183cd9e9a9a47/javawriter-2.5.0-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.squareup/javawriter/2.5.0/81241ff7078ef14f42ea2a8995fa09c096256e6b/javawriter-2.5.0.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.bouncycastle/bcpkix-jdk15on/1.56/118b4633c59394749b2b2f278138beb31c930663/bcpkix-jdk15on-1.56-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.bouncycastle/bcpkix-jdk15on/1.56/4648af70268b6fdb24674fb1fd7c1fcc73db1231/bcpkix-jdk15on-1.56.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.bouncycastle/bcprov-jdk15on/1.56/93c7b191596378df51c31b7d8717f71b0aeee53c/bcprov-jdk15on-1.56-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.bouncycastle/bcprov-jdk15on/1.56/a153c6f9744a3e9dd6feab5e210e1c9861362ec7/bcprov-jdk15on-1.56.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-tree/5.1/81e81bd6c20b965f88d0462e2559f8759fc6c26d/asm-tree-5.1-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-tree/5.1/87b38c12a0ea645791ead9d3e74ae5268d1d6c34/asm-tree-5.1.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/it.unimi.dsi/fastutil/7.2.0/a1a8e178d7813bb9596ee4e3d5e07b90ebe660af/fastutil-7.2.0-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/it.unimi.dsi/fastutil/7.2.0/5ad3a2bb04143f70aa0765fc29fc29571a7d6b34/fastutil-7.2.0.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.googlecode.json-simple/json-simple/1.1/19c6d8dee6803c520d855ff7e8a8c3d97f1271ec/json-simple-1.1-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.googlecode.json-simple/json-simple/1.1/5e303a03d04e6788dddfa3655272580ae0fc13bb/json-simple-1.1.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-reflect/1.2.0/7fb1210ceec26e7e5195894fa83e9e67ea4d2ba/kotlin-reflect-1.2.0-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-reflect/1.2.0/4bbda3b5425aa38a9f6960468a29c5ef3e8a28c9/kotlin-reflect-1.2.0.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.databinding/baseLibrary/3.1.2/83a5696fb290f745f291d24d3b794beb267e124b/baseLibrary-3.1.2-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.databinding/baseLibrary/3.1.2/1b6a1add6a577708b62737dc31c479549f77750d/baseLibrary-3.1.2.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.antlr/antlr4/4.5.3/e836b2a7348320a86c3bbd91a032486798e6ab98/antlr4-4.5.3-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.antlr/antlr4/4.5.3/f35db7e4b2446e4174ba6a73db7bd6b3e6bb5da1/antlr4-4.5.3.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/commons-io/commons-io/2.4/f2d8698c46d1167ff24b06a840a87d91a02db891/commons-io-2.4-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/commons-io/commons-io/2.4/b1b6ea3b7e4aa4f492509a4952029cd8e48019ad/commons-io-2.4.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.googlecode.juniversalchardet/juniversalchardet/1.0.3/77979eaa98f90806f984155f44f63cc1fb60ac25/juniversalchardet-1.0.3-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.googlecode.juniversalchardet/juniversalchardet/1.0.3/cd49678784c46aa8789c060538e0154013bb421b/juniversalchardet-1.0.3.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.squareup/javapoet/1.8.0/499341a875fe72e8fcf4ba856ba15f498d348e38/javapoet-1.8.0-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.squareup/javapoet/1.8.0/e858dc62ef484048540d27d36f3ec2177a3fa9b1/javapoet-1.8.0.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.code.gson/gson/2.7/bbb63ca253b483da8ee53a50374593923e3de2e2/gson-2.7-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.code.gson/gson/2.7/751f548c85fa49f330cecbb1875893f971b33c4e/gson-2.7.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools/annotations/26.1.2/7bc3fd2df32838e5b9b59804cc4c139bb89d26a5/annotations-26.1.2-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools/annotations/26.1.2/4f4e0ee71b9ccaa4a70cc86e40fb84ada2ed99a3/annotations-26.1.2.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/net.sf.proguard/proguard-base/5.3.3/6c73d839fa1603c38b067bc04d7950e05aef3d22/proguard-base-5.3.3-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/net.sf.proguard/proguard-base/5.3.3/988b6b0636ce343d4962b3b37f6319dcc6e99a61/proguard-base-5.3.3.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.layoutlib/layoutlib-api/26.1.2/63d02e9088ee06e7b37f7314c145b5db7f39812e/layoutlib-api-26.1.2-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.layoutlib/layoutlib-api/26.1.2/3697abf628d30042c1082ea846454dfd1e8da3e/layoutlib-api-26.1.2.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools/dvlib/26.1.2/2a9e859006c73fc73b7642cd6560b6daac0b183f/dvlib-26.1.2-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools/dvlib/26.1.2/eb39925fee6e726468fc10344ec988c086301ed7/dvlib-26.1.2.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools/repository/26.1.2/ee0b2246a08385bd55f034c90ba0998b6d3a4213/repository-26.1.2-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools/repository/26.1.2/c8209ccb8ee0e5e3f293fd71d2a827f440ab811c/repository-26.1.2.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.commons/commons-compress/1.12/1fdd1a2fed15cdf08780ed564279c0ddbff46419/commons-compress-1.12-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.commons/commons-compress/1.12/84caa68576e345eb5e7ae61a0e5a9229eb100d7b/commons-compress-1.12.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpclient/4.2.6/b4e00fa279b1d45af3cb6daebcc1fee3f5402392/httpclient-4.2.6-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpclient/4.2.6/e4ca30a6a3a075053a61c6fc850d2432dc012ba7/httpclient-4.2.6.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpmime/4.1/3ac83213baeab2b21fde6c0bf47ed68ea3e6a8da/httpmime-4.1-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpmime/4.1/9ba2dcdf94ce35c8a8e9bff242db0618ca932e92/httpmime-4.1.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/net.sf.kxml/kxml2/2.3.0/309cd2cff7260e465792fda3dcbb063b730d8050/kxml2-2.3.0-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/net.sf.kxml/kxml2/2.3.0/ccbc77a5fd907ef863c29f3596c6f54ffa4e9442/kxml2-2.3.0.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains/annotations/13.0/5991ca87ef1fb5544943d9abc5a9a37583fabe03/annotations-13.0-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains/annotations/13.0/919f0dfe192fb4e063e7dacadee7f8bb9a2672a9/annotations-13.0.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.sun.activation/javax.activation/1.2.0/5b034823866d38f38f02bdad7ed8a14e650c61b6/javax.activation-1.2.0-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.sun.activation/javax.activation/1.2.0/bf744c1e2776ed1de3c55c8dac1057ec331ef744/javax.activation-1.2.0.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.glassfish.jaxb/jaxb-runtime/2.2.11/29441ae1840574f4ca07a72cd1785ea8a4b8457e/jaxb-runtime-2.2.11-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.glassfish.jaxb/jaxb-runtime/2.2.11/65510afc78679e347b0d774617a97fedac94f8/jaxb-runtime-2.2.11.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.jimfs/jimfs/1.1/a2e6f6d75b7fa7e8eedb3062e5bfd24cc9fe8591/jimfs-1.1-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.jimfs/jimfs/1.1/8fbd0579dc68aba6186935cc1bee21d2f3e7ec1c/jimfs-1.1.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpcore/4.2.5/4fd9ac94cd3c26551bc7aecd62fce8e49f076635/httpcore-4.2.5-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpcore/4.2.5/472f0f5f8dba5d1962cb9d7739feed739a31c30d/httpcore-4.2.5.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/commons-logging/commons-logging/1.1.1/f3f156cbff0e0fb0d64bfce31a352cce4a33bc19/commons-logging-1.1.1-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/commons-logging/commons-logging/1.1.1/5043bfebc3db072ed80fbd362e7caf00e885d8ae/commons-logging-1.1.1.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/commons-codec/commons-codec/1.6/61e9f9d11fe3e12ec62f633006e99d75fd7f19c8/commons-codec-1.6-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/commons-codec/commons-codec/1.6/b7f0fc8f61ecadeb3695f0b9464755eee44374d4/commons-codec-1.6.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.2.0/180a4946e471f9f47d4b6139c5dbc5e7603a8424/kotlin-stdlib-1.2.0-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.2.0/25eb440d6eeb9fc60299121020fe726eb2100d03/kotlin-stdlib-1.2.0.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.glassfish.jaxb/jaxb-core/2.2.11/57f27d326da0d4eddc4077933a4cc77cb50002d2/jaxb-core-2.2.11-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.glassfish.jaxb/jaxb-core/2.2.11/f5745049f5fb9cb9d9b5f513c207727f475983e9/jaxb-core-2.2.11.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jvnet.staxex/stax-ex/1.7.7/555d23df1be863aeda3846afcb76444fa17880d2/stax-ex-1.7.7-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jvnet.staxex/stax-ex/1.7.7/18bed5a0da27a6b43efe01282f2dc911b1cb3a72/stax-ex-1.7.7.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.sun.xml.fastinfoset/FastInfoset/1.2.13/7e43a54348e59360ebcaa73d34f0ecb122f1c741/FastInfoset-1.2.13-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.sun.xml.fastinfoset/FastInfoset/1.2.13/98f56b9354e27bd2941cc5d461344e240ae51ae/FastInfoset-1.2.13.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jre7/1.2.0/d6ced6c0bf21af19fb83f24bb6ff28ea43ddc61f/kotlin-stdlib-jre7-1.2.0-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jre7/1.2.0/ec8b969e26fbcf2265a4d1a1539c4d1d4c5af380/kotlin-stdlib-jre7-1.2.0.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.code.findbugs/jsr305/1.3.9/40719ea6961c0cb6afaeb6a921eaa1f6afd4cfdf/jsr305-1.3.9.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.j2objc/j2objc-annotations/1.1/1efdf5b737b02f9b72ebdec4f72c37ec411302ff/j2objc-annotations-1.1-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.j2objc/j2objc-annotations/1.1/ed28ded51a8b1c6b112568def5f4b455e6809019/j2objc-annotations-1.1.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.codehaus.mojo/animal-sniffer-annotations/1.14/886474da3f761d39fcbb723d97ecc5089e731f42/animal-sniffer-annotations-1.14-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.codehaus.mojo/animal-sniffer-annotations/1.14/775b7e22fb10026eed3f86e8dc556dfafe35f2d5/animal-sniffer-annotations-1.14.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/javax.xml.bind/jaxb-api/2.2.12-b140109.1041/d59f43002d3d07c6adaaeedd93e7944c273821d2/jaxb-api-2.2.12-b140109.1041-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/javax.xml.bind/jaxb-api/2.2.12-b140109.1041/7ed0e0d01198614194d56dfb03d9d95aa311824c/jaxb-api-2.2.12-b140109.1041.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.glassfish.jaxb/txw2/2.2.11/7745afc4dcc863b724f4a21fb3fc517cd5aaf891/txw2-2.2.11-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.glassfish.jaxb/txw2/2.2.11/2df047d8c187a62f2177bf6013f1f9786cdfc8a2/txw2-2.2.11.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.sun.istack/istack-commons-runtime/2.21/5d42dda44aa68ff87756e93ae0042cd66d2daa78/istack-commons-runtime-2.21-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.sun.istack/istack-commons-runtime/2.21/c969d8f15c467f0ef7d7b04889afbe7b5d48e22f/istack-commons-runtime-2.21.jar" />
+                          </list>
+                        </option>
+                        <option name="path" value="$PROJECT_DIR$" />
+                      </ExternalModuleBuildClasspathPojo>
+                    </value>
+                  </entry>
+                  <entry key="$PROJECT_DIR$/app">
+                    <value>
+                      <ExternalModuleBuildClasspathPojo>
+                        <option name="entries">
+                          <list>
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/gradle/3.1.2/79231e42158f711cbe81eb766d7c3578e38557a4/gradle-3.1.2-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/gradle/3.1.2/1608fa49add4d13366db7844998c6e59711f7e2a/gradle-3.1.2.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/gradle-core/3.1.2/36e59348ddd26cbed10061dd4760e8ee030b88e4/gradle-core-3.1.2-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/gradle-core/3.1.2/ccab33656c1baa6514d88f4d9356db19d0e9823b/gradle-core-3.1.2.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/bundletool/0.1.0-alpha01/f7c303e37818223bd98566fcbea29aa0964c4d06/bundletool-0.1.0-alpha01.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/builder/3.1.2/84b5fe203cd814a6a48fac7902c7b0bf0d455451/builder-3.1.2-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/builder/3.1.2/133b1f665104f0ebf01f71b61e4794385d7b5f1b/builder-3.1.2.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.lint/lint-gradle-api/26.1.2/2e0f2d982094f220ddc62f94180ee5187c9c0cdf/lint-gradle-api-26.1.2-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.lint/lint-gradle-api/26.1.2/8c54aedfe9da66e64402de04883cee083c127a3b/lint-gradle-api-26.1.2.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/gradle-api/3.1.2/7239d441f5d79f12ff8f6066703e86ddd16a29cf/gradle-api-3.1.2-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/gradle-api/3.1.2/427e25639a55911cadcf70657c9b2ded2ad6af2b/gradle-api-3.1.2.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.databinding/compilerCommon/3.1.2/a77b04ed519b3ac7c0e8946ee7e0eb156808f661/compilerCommon-3.1.2-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.databinding/compilerCommon/3.1.2/be65c11ded4242932046f23ecfa5c7ccb0e98f46/compilerCommon-3.1.2.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jre8/1.2.0/3d425bfaaa7f8b1affb652c4257aa57e6597e163/kotlin-stdlib-jre8-1.2.0-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jre8/1.2.0/505f55b9619bbc5f5e26c77427dd24a6a441eef1/kotlin-stdlib-jre8-1.2.0.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/transform-api/2.0.0-deprecated-use-gradle-api/f18536c1fe08673c69e869be170759616a9df16/transform-api-2.0.0-deprecated-use-gradle-api-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/transform-api/2.0.0-deprecated-use-gradle-api/47f6c56527c42425742fa9b56ffd3fd80763fe03/transform-api-2.0.0-deprecated-use-gradle-api.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm/5.1/81e81bd6c20b965f88d0462e2559f8759fc6c26d/asm-5.1-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm/5.1/5ef31c4fe953b1fd00b8a88fa1d6820e8785bb45/asm-5.1.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-analysis/5.1/81e81bd6c20b965f88d0462e2559f8759fc6c26d/asm-analysis-5.1-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-analysis/5.1/6d1bf8989fc7901f868bee3863c44f21aa63d110/asm-analysis-5.1.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-commons/5.1/81e81bd6c20b965f88d0462e2559f8759fc6c26d/asm-commons-5.1-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-commons/5.1/25d8a575034dd9cfcb375a39b5334f0ba9c8474e/asm-commons-5.1.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-util/5.1/81e81bd6c20b965f88d0462e2559f8759fc6c26d/asm-util-5.1-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-util/5.1/b60e33a6bd0d71831e0c249816d01e6c1dd90a47/asm-util-5.1.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/net.sf.jopt-simple/jopt-simple/4.9/d965219b87f79e81b07116d451e684ab2f3acc27/jopt-simple-4.9-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/net.sf.jopt-simple/jopt-simple/4.9/ee9e9eaa0a35360dcfeac129ff4923215fd65904/jopt-simple-4.9.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/net.sf.proguard/proguard-gradle/5.3.3/186a5a9fd2f4fee04dced62b8d4d97c88337b53d/proguard-gradle-5.3.3-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/net.sf.proguard/proguard-gradle/5.3.3/ad23a0505f58d0dfc95bb1472decc397460406c9/proguard-gradle-5.3.3.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.auto.value/auto-value/1.5.2/e96b1f4a9e6630a405434fca857c6b8f777163cf/auto-value-1.5.2-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.auto.value/auto-value/1.5.2/1b94ab7ec707e2220a0d1a7517488d1843236345/auto-value-1.5.2.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.guava/guava/22.0/55edc69e4fc937f4e58e577bb144b824c0ec7c55/guava-22.0-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.guava/guava/22.0/3564ef3803de51fb0530a8377ec6100b33b0d073/guava-22.0.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.protobuf/protobuf-java/3.4.0/c57c9f6bcbdb783260d00b80c455d82a6a8b02db/protobuf-java-3.4.0-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.protobuf/protobuf-java/3.4.0/b32aba0cbe737a4ca953f71688725972e3ee927c/protobuf-java-3.4.0.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.protobuf/protobuf-java-util/3.4.0/6d5f8e6d209c309d9ef3e30aa81135ee94cc7d49/protobuf-java-util-3.4.0-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.protobuf/protobuf-java-util/3.4.0/96aba8ab71c16018c6adf66771ce15c6491bc0fe/protobuf-java-util-3.4.0.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.errorprone/error_prone_annotations/2.1.2/380fceb109283ad515a05ca6955f97290e392cd8/error_prone_annotations-2.1.2-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.errorprone/error_prone_annotations/2.1.2/6dcc08f90f678ac33e5ef78c3c752b6f59e63e0c/error_prone_annotations-2.1.2.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/aapt2-proto/0.1.0/d1eb93a21a8d3590c3bfac574a8b6dffb2dbd21c/aapt2-proto-0.1.0.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/builder-model/3.1.2/e74f8c12d313fb638cd3e199ea13a544870636d5/builder-model-3.1.2-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/builder-model/3.1.2/4504b655fa8fe72302020ca9a2387f3f23fbfb57/builder-model-3.1.2.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/builder-test-api/3.1.2/57f0b608e34a9493508d21f6a07cf34989901602/builder-test-api-3.1.2-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/builder-test-api/3.1.2/ffb00b786822df6538377a90df9f2d11c022efc3/builder-test-api-3.1.2.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools/sdklib/26.1.2/eeb14343985046cf8c8504a06327db5a50e740ea/sdklib-26.1.2-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools/sdklib/26.1.2/94697a9dff499b64b6e101bedb89a89825150af/sdklib-26.1.2.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools/sdk-common/26.1.2/569e3d1db94b053b15c81f7662ff8cecc4df785/sdk-common-26.1.2-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools/sdk-common/26.1.2/2cf773af3fb0e1bbd56a80fc6903a9d2a40a248/sdk-common-26.1.2.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools/common/26.1.2/fb215315bdbd152415f1fab7358015da3928d7ff/common-26.1.2-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools/common/26.1.2/c31bbd68c51ed0ef3b8d7cdd5615acf762473887/common-26.1.2.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/manifest-merger/26.1.2/58ada075a3be42ac5afe8a752a3fdebfcfdaae2b/manifest-merger-26.1.2-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/manifest-merger/26.1.2/79f398427650c76f0c66c89f10e4886a1fe68c26/manifest-merger-26.1.2.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.ddms/ddmlib/26.1.2/8753f005a819994ebc56c3e567168c1fea745cc3/ddmlib-26.1.2-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.ddms/ddmlib/26.1.2/1d423e621fb5c89fed13e41d0ed026cf5d8d7e7b/ddmlib-26.1.2.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.analytics-library/protos/26.1.2/2791dabd9906f673a77b755ca2f4950fd5248729/protos-26.1.2-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.analytics-library/protos/26.1.2/ba53bcde9703b2bf9871128952dce844c5d743fa/protos-26.1.2.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.analytics-library/shared/26.1.2/eb4223fe1e164a7c37cd1448f3d89fdc016901de/shared-26.1.2-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.analytics-library/shared/26.1.2/bc21fe64fdaa64e59672e7d546d373f430e7557c/shared-26.1.2.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.analytics-library/tracker/26.1.2/37aae3a59f7220f45f85336f7374d5eaf37e5f7/tracker-26.1.2-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.analytics-library/tracker/26.1.2/2d2260da92e50ac072f89d60a596d03aab3a8757/tracker-26.1.2.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/apksig/3.1.2/93d9b522f74c2096cbaf84b088526f205d6b4a89/apksig-3.1.2-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/apksig/3.1.2/5af360dd30015a9a47c8ab0af0e6b05f64760edc/apksig-3.1.2.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.squareup/javawriter/2.5.0/1b2a0925ff06220c0261b6fd468183cd9e9a9a47/javawriter-2.5.0-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.squareup/javawriter/2.5.0/81241ff7078ef14f42ea2a8995fa09c096256e6b/javawriter-2.5.0.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.bouncycastle/bcpkix-jdk15on/1.56/118b4633c59394749b2b2f278138beb31c930663/bcpkix-jdk15on-1.56-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.bouncycastle/bcpkix-jdk15on/1.56/4648af70268b6fdb24674fb1fd7c1fcc73db1231/bcpkix-jdk15on-1.56.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.bouncycastle/bcprov-jdk15on/1.56/93c7b191596378df51c31b7d8717f71b0aeee53c/bcprov-jdk15on-1.56-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.bouncycastle/bcprov-jdk15on/1.56/a153c6f9744a3e9dd6feab5e210e1c9861362ec7/bcprov-jdk15on-1.56.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-tree/5.1/81e81bd6c20b965f88d0462e2559f8759fc6c26d/asm-tree-5.1-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-tree/5.1/87b38c12a0ea645791ead9d3e74ae5268d1d6c34/asm-tree-5.1.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/it.unimi.dsi/fastutil/7.2.0/a1a8e178d7813bb9596ee4e3d5e07b90ebe660af/fastutil-7.2.0-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/it.unimi.dsi/fastutil/7.2.0/5ad3a2bb04143f70aa0765fc29fc29571a7d6b34/fastutil-7.2.0.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.googlecode.json-simple/json-simple/1.1/19c6d8dee6803c520d855ff7e8a8c3d97f1271ec/json-simple-1.1-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.googlecode.json-simple/json-simple/1.1/5e303a03d04e6788dddfa3655272580ae0fc13bb/json-simple-1.1.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-reflect/1.2.0/7fb1210ceec26e7e5195894fa83e9e67ea4d2ba/kotlin-reflect-1.2.0-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-reflect/1.2.0/4bbda3b5425aa38a9f6960468a29c5ef3e8a28c9/kotlin-reflect-1.2.0.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.databinding/baseLibrary/3.1.2/83a5696fb290f745f291d24d3b794beb267e124b/baseLibrary-3.1.2-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.databinding/baseLibrary/3.1.2/1b6a1add6a577708b62737dc31c479549f77750d/baseLibrary-3.1.2.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.antlr/antlr4/4.5.3/e836b2a7348320a86c3bbd91a032486798e6ab98/antlr4-4.5.3-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.antlr/antlr4/4.5.3/f35db7e4b2446e4174ba6a73db7bd6b3e6bb5da1/antlr4-4.5.3.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/commons-io/commons-io/2.4/f2d8698c46d1167ff24b06a840a87d91a02db891/commons-io-2.4-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/commons-io/commons-io/2.4/b1b6ea3b7e4aa4f492509a4952029cd8e48019ad/commons-io-2.4.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.googlecode.juniversalchardet/juniversalchardet/1.0.3/77979eaa98f90806f984155f44f63cc1fb60ac25/juniversalchardet-1.0.3-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.googlecode.juniversalchardet/juniversalchardet/1.0.3/cd49678784c46aa8789c060538e0154013bb421b/juniversalchardet-1.0.3.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.squareup/javapoet/1.8.0/499341a875fe72e8fcf4ba856ba15f498d348e38/javapoet-1.8.0-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.squareup/javapoet/1.8.0/e858dc62ef484048540d27d36f3ec2177a3fa9b1/javapoet-1.8.0.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.code.gson/gson/2.7/bbb63ca253b483da8ee53a50374593923e3de2e2/gson-2.7-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.code.gson/gson/2.7/751f548c85fa49f330cecbb1875893f971b33c4e/gson-2.7.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools/annotations/26.1.2/7bc3fd2df32838e5b9b59804cc4c139bb89d26a5/annotations-26.1.2-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools/annotations/26.1.2/4f4e0ee71b9ccaa4a70cc86e40fb84ada2ed99a3/annotations-26.1.2.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/net.sf.proguard/proguard-base/5.3.3/6c73d839fa1603c38b067bc04d7950e05aef3d22/proguard-base-5.3.3-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/net.sf.proguard/proguard-base/5.3.3/988b6b0636ce343d4962b3b37f6319dcc6e99a61/proguard-base-5.3.3.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.layoutlib/layoutlib-api/26.1.2/63d02e9088ee06e7b37f7314c145b5db7f39812e/layoutlib-api-26.1.2-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.layoutlib/layoutlib-api/26.1.2/3697abf628d30042c1082ea846454dfd1e8da3e/layoutlib-api-26.1.2.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools/dvlib/26.1.2/2a9e859006c73fc73b7642cd6560b6daac0b183f/dvlib-26.1.2-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools/dvlib/26.1.2/eb39925fee6e726468fc10344ec988c086301ed7/dvlib-26.1.2.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools/repository/26.1.2/ee0b2246a08385bd55f034c90ba0998b6d3a4213/repository-26.1.2-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools/repository/26.1.2/c8209ccb8ee0e5e3f293fd71d2a827f440ab811c/repository-26.1.2.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.commons/commons-compress/1.12/1fdd1a2fed15cdf08780ed564279c0ddbff46419/commons-compress-1.12-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.commons/commons-compress/1.12/84caa68576e345eb5e7ae61a0e5a9229eb100d7b/commons-compress-1.12.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpclient/4.2.6/b4e00fa279b1d45af3cb6daebcc1fee3f5402392/httpclient-4.2.6-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpclient/4.2.6/e4ca30a6a3a075053a61c6fc850d2432dc012ba7/httpclient-4.2.6.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpmime/4.1/3ac83213baeab2b21fde6c0bf47ed68ea3e6a8da/httpmime-4.1-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpmime/4.1/9ba2dcdf94ce35c8a8e9bff242db0618ca932e92/httpmime-4.1.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/net.sf.kxml/kxml2/2.3.0/309cd2cff7260e465792fda3dcbb063b730d8050/kxml2-2.3.0-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/net.sf.kxml/kxml2/2.3.0/ccbc77a5fd907ef863c29f3596c6f54ffa4e9442/kxml2-2.3.0.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains/annotations/13.0/5991ca87ef1fb5544943d9abc5a9a37583fabe03/annotations-13.0-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains/annotations/13.0/919f0dfe192fb4e063e7dacadee7f8bb9a2672a9/annotations-13.0.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.sun.activation/javax.activation/1.2.0/5b034823866d38f38f02bdad7ed8a14e650c61b6/javax.activation-1.2.0-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.sun.activation/javax.activation/1.2.0/bf744c1e2776ed1de3c55c8dac1057ec331ef744/javax.activation-1.2.0.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.glassfish.jaxb/jaxb-runtime/2.2.11/29441ae1840574f4ca07a72cd1785ea8a4b8457e/jaxb-runtime-2.2.11-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.glassfish.jaxb/jaxb-runtime/2.2.11/65510afc78679e347b0d774617a97fedac94f8/jaxb-runtime-2.2.11.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.jimfs/jimfs/1.1/a2e6f6d75b7fa7e8eedb3062e5bfd24cc9fe8591/jimfs-1.1-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.jimfs/jimfs/1.1/8fbd0579dc68aba6186935cc1bee21d2f3e7ec1c/jimfs-1.1.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpcore/4.2.5/4fd9ac94cd3c26551bc7aecd62fce8e49f076635/httpcore-4.2.5-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpcore/4.2.5/472f0f5f8dba5d1962cb9d7739feed739a31c30d/httpcore-4.2.5.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/commons-logging/commons-logging/1.1.1/f3f156cbff0e0fb0d64bfce31a352cce4a33bc19/commons-logging-1.1.1-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/commons-logging/commons-logging/1.1.1/5043bfebc3db072ed80fbd362e7caf00e885d8ae/commons-logging-1.1.1.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/commons-codec/commons-codec/1.6/61e9f9d11fe3e12ec62f633006e99d75fd7f19c8/commons-codec-1.6-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/commons-codec/commons-codec/1.6/b7f0fc8f61ecadeb3695f0b9464755eee44374d4/commons-codec-1.6.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.2.0/180a4946e471f9f47d4b6139c5dbc5e7603a8424/kotlin-stdlib-1.2.0-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.2.0/25eb440d6eeb9fc60299121020fe726eb2100d03/kotlin-stdlib-1.2.0.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.glassfish.jaxb/jaxb-core/2.2.11/57f27d326da0d4eddc4077933a4cc77cb50002d2/jaxb-core-2.2.11-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.glassfish.jaxb/jaxb-core/2.2.11/f5745049f5fb9cb9d9b5f513c207727f475983e9/jaxb-core-2.2.11.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jvnet.staxex/stax-ex/1.7.7/555d23df1be863aeda3846afcb76444fa17880d2/stax-ex-1.7.7-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jvnet.staxex/stax-ex/1.7.7/18bed5a0da27a6b43efe01282f2dc911b1cb3a72/stax-ex-1.7.7.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.sun.xml.fastinfoset/FastInfoset/1.2.13/7e43a54348e59360ebcaa73d34f0ecb122f1c741/FastInfoset-1.2.13-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.sun.xml.fastinfoset/FastInfoset/1.2.13/98f56b9354e27bd2941cc5d461344e240ae51ae/FastInfoset-1.2.13.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jre7/1.2.0/d6ced6c0bf21af19fb83f24bb6ff28ea43ddc61f/kotlin-stdlib-jre7-1.2.0-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jre7/1.2.0/ec8b969e26fbcf2265a4d1a1539c4d1d4c5af380/kotlin-stdlib-jre7-1.2.0.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.code.findbugs/jsr305/1.3.9/40719ea6961c0cb6afaeb6a921eaa1f6afd4cfdf/jsr305-1.3.9.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.j2objc/j2objc-annotations/1.1/1efdf5b737b02f9b72ebdec4f72c37ec411302ff/j2objc-annotations-1.1-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.j2objc/j2objc-annotations/1.1/ed28ded51a8b1c6b112568def5f4b455e6809019/j2objc-annotations-1.1.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.codehaus.mojo/animal-sniffer-annotations/1.14/886474da3f761d39fcbb723d97ecc5089e731f42/animal-sniffer-annotations-1.14-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.codehaus.mojo/animal-sniffer-annotations/1.14/775b7e22fb10026eed3f86e8dc556dfafe35f2d5/animal-sniffer-annotations-1.14.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/javax.xml.bind/jaxb-api/2.2.12-b140109.1041/d59f43002d3d07c6adaaeedd93e7944c273821d2/jaxb-api-2.2.12-b140109.1041-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/javax.xml.bind/jaxb-api/2.2.12-b140109.1041/7ed0e0d01198614194d56dfb03d9d95aa311824c/jaxb-api-2.2.12-b140109.1041.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.glassfish.jaxb/txw2/2.2.11/7745afc4dcc863b724f4a21fb3fc517cd5aaf891/txw2-2.2.11-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.glassfish.jaxb/txw2/2.2.11/2df047d8c187a62f2177bf6013f1f9786cdfc8a2/txw2-2.2.11.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.sun.istack/istack-commons-runtime/2.21/5d42dda44aa68ff87756e93ae0042cd66d2daa78/istack-commons-runtime-2.21-sources.jar" />
+                            <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.sun.istack/istack-commons-runtime/2.21/c969d8f15c467f0ef7d7b04889afbe7b5d48e22f/istack-commons-runtime-2.21.jar" />
+                          </list>
+                        </option>
+                        <option name="path" value="$PROJECT_DIR$/app" />
+                      </ExternalModuleBuildClasspathPojo>
+                    </value>
+                  </entry>
+                </map>
+              </option>
+              <option name="name" value="Security_alarm" />
+              <option name="projectBuildClasspath">
+                <list>
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/announce" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/antlr" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/base-services" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/base-services-groovy" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/build-cache" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/build-cache-http" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/build-comparison" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/build-init" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/build-option" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/cli" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/code-quality" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/composite-builds" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/core" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/core-api" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/dependency-management" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/diagnostics" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/ear" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/ide" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/ide-native" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/ide-play" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/installation-beacon" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/internal-android-performance-testing" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/internal-integ-testing" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/internal-performance-testing" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/internal-testing" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/ivy" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/jacoco" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/javascript" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/jvm-services" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/language-groovy" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/language-java" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/language-jvm" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/language-native" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/language-scala" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/launcher" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/logging" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/maven" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/messaging" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/model-core" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/model-groovy" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/native" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/osgi" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/persistent-cache" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/platform-base" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/platform-jvm" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/platform-native" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/platform-play" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/plugin-development" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/plugin-use" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/plugins" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/process-services" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/publish" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/reporting" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/resources" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/resources-gcs" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/resources-http" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/resources-s3" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/resources-sftp" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/scala" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/signing" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/test-kit" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/testing-base" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/testing-jvm" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/testing-native" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/tooling-api" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/tooling-api-builders" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/version-control" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/workers" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/src/wrapper" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/ant-1.9.9.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/ant-launcher-1.9.9.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/gradle-base-services-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/gradle-base-services-groovy-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/gradle-build-cache-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/gradle-build-option-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/gradle-cli-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/gradle-core-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/gradle-core-api-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/gradle-docs-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/gradle-installation-beacon-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/gradle-jvm-services-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/gradle-kotlin-dsl-0.13.1.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/gradle-kotlin-dsl-tooling-builders-0.13.1.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/gradle-kotlin-dsl-tooling-models-0.13.1.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/gradle-launcher-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/gradle-logging-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/gradle-messaging-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/gradle-model-core-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/gradle-model-groovy-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/gradle-native-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/gradle-persistent-cache-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/gradle-process-services-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/gradle-resources-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/gradle-runtime-api-info-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/gradle-tooling-api-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/gradle-wrapper-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/groovy-all-2.4.12.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/plugins/gradle-announce-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/plugins/gradle-antlr-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/plugins/gradle-build-cache-http-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/plugins/gradle-build-comparison-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/plugins/gradle-build-init-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/plugins/gradle-code-quality-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/plugins/gradle-composite-builds-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/plugins/gradle-dependency-management-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/plugins/gradle-diagnostics-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/plugins/gradle-ear-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/plugins/gradle-ide-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/plugins/gradle-ide-native-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/plugins/gradle-ide-play-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/plugins/gradle-ivy-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/plugins/gradle-jacoco-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/plugins/gradle-javascript-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/plugins/gradle-language-groovy-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/plugins/gradle-language-java-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/plugins/gradle-language-jvm-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/plugins/gradle-language-native-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/plugins/gradle-language-scala-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/plugins/gradle-maven-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/plugins/gradle-osgi-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/plugins/gradle-platform-base-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/plugins/gradle-platform-jvm-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/plugins/gradle-platform-native-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/plugins/gradle-platform-play-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/plugins/gradle-plugin-development-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/plugins/gradle-plugin-use-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/plugins/gradle-plugins-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/plugins/gradle-publish-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/plugins/gradle-reporting-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/plugins/gradle-resources-gcs-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/plugins/gradle-resources-http-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/plugins/gradle-resources-s3-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/plugins/gradle-resources-sftp-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/plugins/gradle-scala-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/plugins/gradle-signing-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/plugins/gradle-test-kit-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/plugins/gradle-testing-base-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/plugins/gradle-testing-jvm-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/plugins/gradle-testing-native-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/plugins/gradle-tooling-api-builders-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/plugins/gradle-version-control-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/plugins/gradle-workers-4.4.jar" />
+                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/lib/plugins/ivy-2.2.0.jar" />
+                  <option value="$PROJECT_DIR$/buildSrc/src/main/java" />
+                  <option value="$PROJECT_DIR$/buildSrc/src/main/groovy" />
+                </list>
+              </option>
+            </ExternalProjectBuildClasspathPojo>
+          </value>
+        </entry>
+      </map>
+    </option>
+    <option name="externalProjectsViewState">
+      <projects_view />
+    </option>
+    <option name="projectSyncType">
+      <map>
+        <entry key="$PROJECT_DIR$" value="RE_IMPORT" />
+      </map>
+    </option>
   </component>
   <component name="IdeDocumentHistory">
     <option name="CHANGED_PATHS">
       <list>
-        <option value="$PROJECT_DIR$/app/src/main/java/tv/danmaku/ijk/media/example/fragments/RecentMediaListFragment.java" />
-        <option value="$PROJECT_DIR$/app/src/main/java/tv/danmaku/ijk/media/example/fragments/SampleMediaListFragment.java" />
-        <option value="$PROJECT_DIR$/app/src/main/java/tv/danmaku/ijk/media/example/fragments/SettingsFragment.java" />
-        <option value="$PROJECT_DIR$/app/src/main/java/tv/danmaku/ijk/media/example/fragments/TracksFragment.java" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/ccx/evideoview/EVideoView.java" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/basic/security/widget/EVideoView.java" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/basic/security/widget/VideoViewAdapter.java" />
-        <option value="$PROJECT_DIR$/app/src/main/res/values/strings.xml" />
-        <option value="$PROJECT_DIR$/app/CMakeLists.txt" />
-        <option value="$PROJECT_DIR$/app/src/main/cpp/native-lib.cpp" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/basic/security/widget/OnPreparedListener.java" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/basic/security/utils/XY.java" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/basic/security/widget/VideoPlayerListener.java" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/basic/security/widget/FFmpegVideoView.java" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/basic/security/widget/IjkVideoView.java" />
-        <option value="$PROJECT_DIR$/app/src/main/res/drawable/spinner_arrow_down.xml" />
-        <option value="$PROJECT_DIR$/app/src/main/res/drawable/spinner_arrow_down2.xml" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/basic/security/widget/WatchedView.java" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/basic/security/widget/WatchedTextView.java" />
-        <option value="$PROJECT_DIR$/app/src/main/res/anim/slide_down.xml" />
-        <option value="$PROJECT_DIR$/app/src/main/res/values/styles.xml" />
-        <option value="$PROJECT_DIR$/app/src/main/res/anim/popup_hide.xml" />
-        <option value="$PROJECT_DIR$/app/src/main/res/layout/activity_main.xml" />
-        <option value="$PROJECT_DIR$/app/src/main/res/layout/spinner_item_small_text2.xml" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/basic/security/manager/AlarmManager.java" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/basic/security/rest/MyErrorHandler.java" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/basic/security/base/Config.java" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/basic/security/base/BaseApplication.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/dao/SqliteManager.java" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/basic/security/fragment/helper/HomeBase.java" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/basic/security/fragment/helper/HomeSaveAlarmVideoPlayPosition.java" />
-        <option value="$PROJECT_DIR$/app/src/main/res/anim/popup_show.xml" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/basic/security/widget/MyVideoView.java" />
-        <option value="$PROJECT_DIR$/app/build.gradle" />
-        <option value="$PROJECT_DIR$/app/src/main/res/layout/alarm_view.xml" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/basic/security/utils/KeyboardUtil.java" />
-        <option value="$PROJECT_DIR$/app/src/main/java_bak/com/basic/security/activity/MainActivity.java" />
-        <option value="$PROJECT_DIR$/app/src/main/java_bak/com/basic/security/fragment/helper/HomeGridViewAdapter.java" />
-        <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/utils/AudioPlayer.java" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/basic/security/fragment/helper/HomePlayAlarmVideo.java" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/basic/security/utils/Constants.java" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/basic/security/widget/CustomSpinner2.java" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/basic/security/fragment/helper/HomeGridViewAdapter.java" />
+        <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/res/layout/fragment_setting.xml" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/basic/security/fragment/HomeFragment.java" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/basic/security/manager/SettingManager.java" />
-        <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/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="ProjectFrameBounds" extendedState="7">
-    <option name="x" value="-8" />
-    <option name="y" value="-8" />
-    <option name="width" value="1936" />
-    <option name="height" value="1056" />
+  <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">
+  <component name="ProjectLevelVcsManager" settingsEditedManually="true">
     <ConfirmationsSetting value="1" id="Add" />
-    <ConfirmationsSetting value="1" id="Remove" />
   </component>
   <component name="ProjectView">
-    <navigator proportions="" version="1">
+    <navigator currentView="AndroidView" proportions="" version="1">
+      <flattenPackages />
+      <showMembers />
+      <showModules />
+      <showLibraryContents />
+      <hideEmptyPackages />
+      <abbreviatePackageNames />
+      <autoscrollToSource />
+      <autoscrollFromSource />
+      <sortByType />
+      <manualOrder />
       <foldersAlwaysOnTop value="true" />
     </navigator>
     <panes>
-      <pane id="ProjectPane">
-        <subPane>
-          <expand>
-            <path>
-              <item name="Security_alarm" type="b2602c69:ProjectViewProjectNode" />
-              <item name="Security_alarm" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
-            </path>
-            <path>
-              <item name="Security_alarm" type="b2602c69:ProjectViewProjectNode" />
-              <item name="Security_alarm" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
-              <item name="app" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
-            </path>
-            <path>
-              <item name="Security_alarm" type="b2602c69:ProjectViewProjectNode" />
-              <item name="Security_alarm" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
-              <item name="app" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
-              <item name="src" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="Security_alarm" type="b2602c69:ProjectViewProjectNode" />
-              <item name="Security_alarm" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
-              <item name="app" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
-              <item name="src" type="462c0819:PsiDirectoryNode" />
-              <item name="main" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="Security_alarm" type="b2602c69:ProjectViewProjectNode" />
-              <item name="Security_alarm" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
-              <item name="app" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
-              <item name="src" type="462c0819:PsiDirectoryNode" />
-              <item name="main" type="462c0819:PsiDirectoryNode" />
-              <item name="cpp" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="Security_alarm" type="b2602c69:ProjectViewProjectNode" />
-              <item name="Security_alarm" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
-              <item name="app" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
-              <item name="src" type="462c0819:PsiDirectoryNode" />
-              <item name="main" type="462c0819:PsiDirectoryNode" />
-              <item name="jniLibs" type="462c0819:PsiDirectoryNode" />
-            </path>
-          </expand>
-          <select />
-        </subPane>
-      </pane>
+      <pane id="PackagesPane" />
       <pane id="AndroidView">
         <subPane>
           <expand>
-            <path>
-              <item name="Security_alarm" type="1abcf292:AndroidViewProjectNode" />
-              <item name="app" type="feadf853:AndroidModuleNode" />
-            </path>
-            <path>
-              <item name="Security_alarm" type="1abcf292:AndroidViewProjectNode" />
-              <item name="app" type="feadf853:AndroidModuleNode" />
-              <item name="java" type="edd41e36:AndroidSourceTypeNode" />
-            </path>
-            <path>
-              <item name="Security_alarm" type="1abcf292:AndroidViewProjectNode" />
-              <item name="app" type="feadf853:AndroidModuleNode" />
-              <item name="java" type="edd41e36:AndroidSourceTypeNode" />
-              <item name="security" type="cbb59c9e:AndroidPsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="Security_alarm" type="1abcf292:AndroidViewProjectNode" />
-              <item name="app" type="feadf853:AndroidModuleNode" />
-              <item name="java" type="edd41e36:AndroidSourceTypeNode" />
-              <item name="security" type="cbb59c9e:AndroidPsiDirectoryNode" />
-              <item name="activity" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="Security_alarm" type="1abcf292:AndroidViewProjectNode" />
-              <item name="app" type="feadf853:AndroidModuleNode" />
-              <item name="java" type="edd41e36:AndroidSourceTypeNode" />
-              <item name="security" type="cbb59c9e:AndroidPsiDirectoryNode" />
-              <item name="fragment" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="Security_alarm" type="1abcf292:AndroidViewProjectNode" />
-              <item name="app" type="feadf853:AndroidModuleNode" />
-              <item name="java" type="edd41e36:AndroidSourceTypeNode" />
-              <item name="security" type="cbb59c9e:AndroidPsiDirectoryNode" />
-              <item name="fragment" type="462c0819:PsiDirectoryNode" />
-              <item name="helper" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="Security_alarm" type="1abcf292:AndroidViewProjectNode" />
-              <item name="app" type="feadf853:AndroidModuleNode" />
-              <item name="java" type="edd41e36:AndroidSourceTypeNode" />
-              <item name="security" type="cbb59c9e:AndroidPsiDirectoryNode" />
-              <item name="manager" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="Security_alarm" type="1abcf292:AndroidViewProjectNode" />
-              <item name="app" type="feadf853:AndroidModuleNode" />
-              <item name="cpp" type="9a30073f:AndroidJniFolderNode" />
-            </path>
-            <path>
-              <item name="Security_alarm" type="1abcf292:AndroidViewProjectNode" />
-              <item name="app" type="feadf853:AndroidModuleNode" />
-              <item name="res" type="d4f16f75:AndroidResFolderNode" />
-            </path>
-            <path>
-              <item name="Security_alarm" type="1abcf292:AndroidViewProjectNode" />
-              <item name="app" type="feadf853:AndroidModuleNode" />
-              <item name="res" type="d4f16f75:AndroidResFolderNode" />
-              <item name="layout" type="ddeffd01:AndroidResFolderTypeNode" />
-            </path>
             <path>
               <item name="Security_alarm" type="1abcf292:AndroidViewProjectNode" />
               <item name="Gradle Scripts" type="ae0cef3a:AndroidBuildScriptsGroupNode" />
@@ -323,8 +2196,9 @@
           <select />
         </subPane>
       </pane>
+      <pane id="ProjectPane" />
+      <pane id="Scratches" />
       <pane id="Scope" />
-      <pane id="PackagesPane" />
     </panes>
   </component>
   <component name="PropertiesComponent">
@@ -332,31 +2206,23 @@
     <property name="DEBUGGABLE_PROCESS" value="com.basic.security" />
     <property name="DEBUGGER_ID" value="Auto" />
     <property name="SHOW_ALL_PROCESSES" value="false" />
-    <property name="android.profiler.active" value="true" />
+    <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="extract.method.default.visibility" value="private" />
-    <property name="last_directory_selection" value="$PROJECT_DIR$/app/src/main/res/drawable" />
-    <property name="last_opened_file_path" value="$PROJECT_DIR$/../BasicTv/Video" />
+    <property name="last_opened_file_path" value="$PROJECT_DIR$/../Security_simplify_office" />
     <property name="not.eligible.for.single.variant.sync" value="true" />
-    <property name="run.code.analysis.last.selected.profile" value="pProject Default" />
-    <property name="settings.editor.selected.configurable" value="preferences.lookFeel" />
-    <property name="sync.plugin.last.upgrade.timestamp" value="1558948471672" />
+    <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.widget" />
       <recent name="com.basic.security.utils" />
-      <recent name="com.basic.security.model" />
-      <recent name="com.basic.security.fragment" />
-      <recent name="com.basic.security.manager" />
     </key>
     <key name="CopyFile.RECENT_KEYS">
-      <recent name="C:\workspace\Security_alarm\app\src\main\res\raw" />
       <recent name="C:\workspace\Security_alarm\app\src\main\java\com\basic\security\utils" />
-      <recent name="C:\workspace\Security_alarm\app\src\main\res\anim" />
       <recent name="C:\workspace\Security_alarm\app\src\main\res\drawable" />
-      <recent name="C:\workspace\Security_alarm\app\src\main\res\layout" />
     </key>
   </component>
   <component name="RunDashboard">
@@ -372,39 +2238,34 @@
     </option>
   </component>
   <component name="RunManager">
-    <configuration name="&lt;template&gt;" type="Applet" default="true" selected="false">
+    <configuration default="true" type="AndroidJUnit" factoryName="Android JUnit">
+      <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
+      <module name="" />
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+      <option name="ALTERNATIVE_JRE_PATH" />
+      <option name="PACKAGE_NAME" />
       <option name="MAIN_CLASS_NAME" />
-      <option name="HTML_FILE_NAME" />
-      <option name="HTML_USED" value="false" />
-      <option name="WIDTH" value="400" />
-      <option name="HEIGHT" value="300" />
-      <option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
-      <option name="VM_PARAMETERS" />
-    </configuration>
-    <configuration name="&lt;template&gt;" type="JUnit" default="true" selected="false">
-      <option name="MAIN_CLASS_NAME" />
+      <option name="METHOD_NAME" />
+      <option name="TEST_OBJECT" value="class" />
       <option name="VM_PARAMETERS" value="-ea" />
       <option name="PARAMETERS" />
-      <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
-    </configuration>
-    <configuration name="&lt;template&gt;" type="#org.jetbrains.idea.devkit.run.PluginConfigurationType" default="true" selected="false">
-      <option name="VM_PARAMETERS" value="-Xmx512m -Xms256m -XX:MaxPermSize=250m -ea" />
-    </configuration>
-    <configuration default="true" type="AndroidJUnit" factoryName="Android JUnit">
-      <option name="TEST_OBJECT" value="class" />
-      <option name="WORKING_DIRECTORY" value="$MODULE_DIR$" />
-      <method v="2">
+      <option name="WORKING_DIRECTORY" value="file://$MODULE_DIR$" />
+      <option name="ENV_VARIABLES" />
+      <option name="PASS_PARENT_ENVS" value="true" />
+      <option name="TEST_SEARCH_SCOPE">
+        <value defaultName="singleModule" />
+      </option>
+      <envs />
+      <patterns />
+      <method>
         <option name="Android.Gradle.BeforeRunTask" enabled="true" />
       </method>
     </configuration>
     <configuration name="app" type="AndroidRunConfigurationType" factoryName="Android App" activateToolWindowBeforeRun="false">
       <module name="app" />
       <option name="DEPLOY" value="true" />
-      <option name="DEPLOY_APK_FROM_BUNDLE" value="false" />
-      <option name="DEPLOY_AS_INSTANT" value="false" />
       <option name="ARTIFACT_NAME" value="" />
       <option name="PM_INSTALL_OPTIONS" value="" />
-      <option name="DYNAMIC_FEATURES_DISABLED_LIST" value="" />
       <option name="ACTIVITY_EXTRA_FLAGS" value="" />
       <option name="MODE" value="default_activity" />
       <option name="CLEAR_LOGCAT" value="false" />
@@ -441,546 +2302,537 @@
       </Native>
       <Profilers>
         <option name="ADVANCED_PROFILING_ENABLED" value="false" />
-        <option name="STARTUP_CPU_PROFILING_ENABLED" value="false" />
-        <option name="STARTUP_CPU_PROFILING_CONFIGURATION_NAME" value="Sample Java Methods" />
       </Profilers>
       <option name="DEEP_LINK" value="" />
       <option name="ACTIVITY_CLASS" value="" />
-      <method v="2">
+      <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" />
+      <option name="MAIN_CLASS_NAME" />
+      <option name="VM_PARAMETERS" />
+      <option name="PROGRAM_PARAMETERS" />
       <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
-      <method v="2">
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+      <option name="ALTERNATIVE_JRE_PATH" />
+      <option name="ENABLE_SWING_INSPECTOR" value="false" />
+      <option name="ENV_VARIABLES" />
+      <option name="PASS_PARENT_ENVS" value="true" />
+      <module name="" />
+      <envs />
+      <method>
         <option name="Make" enabled="true" />
       </method>
     </configuration>
-    <configuration default="true" type="TestNG">
+    <configuration default="true" type="TestNG" factoryName="TestNG">
+      <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
+      <module name="" />
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+      <option name="ALTERNATIVE_JRE_PATH" />
+      <option name="SUITE_NAME" />
+      <option name="PACKAGE_NAME" />
+      <option name="MAIN_CLASS_NAME" />
+      <option name="METHOD_NAME" />
+      <option name="GROUP_NAME" />
       <option name="TEST_OBJECT" value="CLASS" />
+      <option name="VM_PARAMETERS" />
+      <option name="PARAMETERS" />
       <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
+      <option name="OUTPUT_DIRECTORY" />
+      <option name="ANNOTATION_TYPE" />
+      <option name="ENV_VARIABLES" />
+      <option name="PASS_PARENT_ENVS" value="true" />
+      <option name="TEST_SEARCH_SCOPE">
+        <value defaultName="singleModule" />
+      </option>
+      <option name="USE_DEFAULT_REPORTERS" value="false" />
+      <option name="PROPERTIES_FILE" />
+      <envs />
       <properties />
       <listeners />
-      <method v="2">
+      <method>
         <option name="Make" enabled="true" />
       </method>
     </configuration>
+    <configuration name="&lt;template&gt;" type="Applet" default="true" selected="false">
+      <option name="MAIN_CLASS_NAME" />
+      <option name="HTML_FILE_NAME" />
+      <option name="HTML_USED" value="false" />
+      <option name="WIDTH" value="400" />
+      <option name="HEIGHT" value="300" />
+      <option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
+      <option name="VM_PARAMETERS" />
+    </configuration>
+    <configuration name="&lt;template&gt;" type="JUnit" default="true" selected="false">
+      <option name="MAIN_CLASS_NAME" />
+      <option name="VM_PARAMETERS" value="-ea" />
+      <option name="PARAMETERS" />
+      <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
+    </configuration>
+    <configuration name="&lt;template&gt;" type="#org.jetbrains.idea.devkit.run.PluginConfigurationType" default="true" selected="false">
+      <option name="VM_PARAMETERS" value="-Xmx512m -Xms256m -XX:MaxPermSize=250m -ea" />
+    </configuration>
   </component>
-  <component name="SvnConfiguration" cleanupOnStartRun="true">
-    <configuration>C:\Users\xiuxi\AppData\Roaming\Subversion</configuration>
-    <supportedVersion>125</supportedVersion>
+  <component name="ShelveChangesManager" show_recycled="false">
+    <option name="remove_strategy" value="false" />
+  </component>
+  <component name="SvnConfiguration">
+    <configuration />
   </component>
   <component name="TaskManager">
     <task active="true" id="Default" summary="Default task">
-      <changelist id="d69f261f-a6c6-4e7b-864f-3db63fafeb3b" name="Default" comment="" />
-      <created>1536030146197</created>
+      <changelist id="73e46e7a-0efa-4011-8434-aa3922a61ab9" name="Default" comment="" />
+      <created>1560389335140</created>
       <option name="number" value="Default" />
       <option name="presentableId" value="Default" />
-      <updated>1536030146197</updated>
+      <updated>1560389335140</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="TodoView">
-    <todo-panel id="selected-file">
-      <is-autoscroll-to-source value="true" />
-    </todo-panel>
-    <todo-panel id="all">
-      <are-packages-shown value="true" />
-      <is-autoscroll-to-source value="true" />
-    </todo-panel>
-  </component>
   <component name="ToolWindowManager">
-    <frame x="-8" y="-8" width="1936" height="1056" extended-state="7" />
+    <frame x="-8" y="-8" width="1936" height="1056" extended-state="6" />
     <layout>
-      <window_info id="Build Variants" order="0" sideWeight="0.50869566" side_tool="true" weight="0.18884121" />
-      <window_info id="Capture Tool" order="1" />
-      <window_info id="Designer" order="2" />
-      <window_info id="DB Browser" order="3" weight="0.3299356" />
-      <window_info id="Favorites" order="4" side_tool="true" />
-      <window_info content_ui="combo" id="Project" order="5" sideWeight="0.49130434" visible="true" weight="0.20118026" />
-      <window_info id="Structure" order="6" weight="0.25" />
-      <window_info id="Captures" order="7" side_tool="true" weight="0.25" />
-      <window_info id="Image Layers" order="8" />
-      <window_info id="Resources Explorer" order="9" />
-      <window_info anchor="bottom" id="Android Profiler" order="0" sideWeight="0.6223176" weight="0.63616073" />
-      <window_info anchor="bottom" id="Event Log" order="1" sideWeight="0.090665236" side_tool="true" weight="0.24277456" />
-      <window_info active="true" anchor="bottom" id="Logcat" order="2" sideWeight="0.9093348" visible="true" weight="0.39306358" />
-      <window_info anchor="bottom" id="Build" order="3" sideWeight="0.5064378" weight="0.36416185" />
-      <window_info anchor="bottom" id="Version Control" order="4" sideWeight="0.49785408" weight="0.32924107" />
-      <window_info anchor="bottom" id="Terminal" order="5" sideWeight="0.49785408" weight="0.19515012" />
-      <window_info anchor="bottom" id="Message" order="6" />
-      <window_info anchor="bottom" id="DB Execution Console" order="7" />
-      <window_info anchor="bottom" id="Find" order="8" sideWeight="0.49356222" weight="0.30635837" />
-      <window_info anchor="bottom" id="Run" order="9" weight="0.12702079" />
-      <window_info anchor="bottom" id="Debug" order="10" sideWeight="0.6915236" weight="0.47861272" />
-      <window_info anchor="bottom" id="Cvs" order="11" weight="0.25" />
-      <window_info anchor="bottom" id="Inspection" order="12" weight="0.4" />
-      <window_info anchor="bottom" id="TODO" order="13" sideWeight="0.49785408" weight="0.3290993" />
-      <window_info anchor="right" id="Device File Explorer" order="0" side_tool="true" />
-      <window_info anchor="right" id="Capture Analysis" order="1" />
-      <window_info anchor="right" id="Gradle" order="2" weight="0.08959228" />
-      <window_info anchor="right" id="Theme Preview" order="3" />
-      <window_info anchor="right" id="Commander" order="4" weight="0.4" />
-      <window_info anchor="right" id="Palette&#9;" order="5" />
-      <window_info anchor="right" id="Ant Build" order="6" weight="0.25" />
-      <window_info anchor="right" id="Preview" order="7" weight="0.23015021" />
-      <window_info anchor="right" content_ui="combo" id="Hierarchy" order="8" weight="0.25" />
-      <window_info anchor="right" id="Assistant" order="9" />
+      <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="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="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="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="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="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" />
     </layout>
-    <layout-to-restore>
-      <window_info id="Build Variants" order="0" sideWeight="0.50869566" side_tool="true" weight="0.18884121" />
-      <window_info id="Capture Tool" order="1" />
-      <window_info id="Designer" order="2" />
-      <window_info id="DB Browser" order="3" weight="0.3299356" />
-      <window_info id="Favorites" order="4" side_tool="true" />
-      <window_info active="true" content_ui="combo" id="Project" order="5" sideWeight="0.49130434" visible="true" weight="0.20118026" />
-      <window_info id="Structure" order="6" weight="0.25" />
-      <window_info id="Captures" order="7" side_tool="true" weight="0.25" />
-      <window_info id="Image Layers" order="8" />
-      <window_info id="Resources Explorer" order="9" />
-      <window_info anchor="bottom" id="Android Profiler" order="0" sideWeight="0.6223176" weight="0.63616073" />
-      <window_info anchor="bottom" id="Event Log" order="1" sideWeight="0.090665236" side_tool="true" visible="true" weight="0.24277456" />
-      <window_info anchor="bottom" id="Logcat" order="2" sideWeight="0.9093348" visible="true" weight="0.24277456" />
-      <window_info anchor="bottom" id="Build" order="3" sideWeight="0.5064378" weight="0.36416185" />
-      <window_info anchor="bottom" id="Version Control" order="4" sideWeight="0.49785408" weight="0.32924107" />
-      <window_info anchor="bottom" id="Terminal" order="5" sideWeight="0.49785408" weight="0.19515012" />
-      <window_info anchor="bottom" id="Message" order="6" />
-      <window_info anchor="bottom" id="DB Execution Console" order="7" />
-      <window_info anchor="bottom" id="Find" order="8" sideWeight="0.49356222" weight="0.30635837" />
-      <window_info anchor="bottom" id="Run" order="9" weight="0.12702079" />
-      <window_info anchor="bottom" id="Debug" order="10" sideWeight="0.6915236" weight="0.47861272" />
-      <window_info anchor="bottom" id="Cvs" order="11" weight="0.25" />
-      <window_info anchor="bottom" id="Inspection" order="12" weight="0.4" />
-      <window_info anchor="bottom" id="TODO" order="13" sideWeight="0.49785408" weight="0.3290993" />
-      <window_info anchor="right" id="Device File Explorer" order="0" side_tool="true" />
-      <window_info anchor="right" id="Capture Analysis" order="1" />
-      <window_info anchor="right" id="Gradle" order="2" weight="0.08959228" />
-      <window_info anchor="right" id="Theme Preview" order="3" />
-      <window_info anchor="right" id="Commander" order="4" weight="0.4" />
-      <window_info anchor="right" id="Palette&#9;" order="5" />
-      <window_info anchor="right" id="Ant Build" order="6" weight="0.25" />
-      <window_info anchor="right" id="Preview" order="7" weight="0.23015021" />
-      <window_info anchor="right" content_ui="combo" id="Hierarchy" order="8" weight="0.25" />
-      <window_info anchor="right" id="Assistant" order="9" />
-    </layout-to-restore>
+  </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>
-      <breakpoints>
-        <line-breakpoint enabled="true" type="java-line">
-          <url>file://$PROJECT_DIR$/app/src/main/java/com/basic/security/utils/CrashHandler.java</url>
-          <line>94</line>
-          <properties />
-          <option name="timeStamp" value="478" />
-        </line-breakpoint>
-      </breakpoints>
-    </breakpoint-manager>
+    <breakpoint-manager />
+    <watches-manager />
   </component>
   <component name="debuggerHistoryManager">
     <expressions id="evaluateExpression">
       <expression>
-        <expression-string>viewHolder.alarmVideo.getHeight()</expression-string>
+        <expression-string>rootView.getParent()</expression-string>
         <language-id>JAVA</language-id>
         <evaluation-mode>EXPRESSION</evaluation-mode>
       </expression>
       <expression>
-        <expression-string>viewHolder.alarmVideo.mVideoHeight</expression-string>
+        <expression-string>rootView.getParent().getParent()</expression-string>
         <language-id>JAVA</language-id>
         <evaluation-mode>EXPRESSION</evaluation-mode>
       </expression>
       <expression>
-        <expression-string>mp.getVideoWidth()</expression-string>
+        <expression-string>rootView.getHeight()</expression-string>
         <language-id>JAVA</language-id>
         <evaluation-mode>EXPRESSION</evaluation-mode>
       </expression>
       <expression>
-        <expression-string>mp.getVideoHeight()</expression-string>
-        <language-id>JAVA</language-id>
-        <evaluation-mode>EXPRESSION</evaluation-mode>
-      </expression>
-      <expression>
-        <expression-string>sql</expression-string>
-        <language-id>JAVA</language-id>
-        <evaluation-mode>EXPRESSION</evaluation-mode>
-      </expression>
-      <expression>
-        <expression-string>getDatabase()</expression-string>
-        <language-id>JAVA</language-id>
-        <evaluation-mode>EXPRESSION</evaluation-mode>
-      </expression>
-      <expression>
-        <expression-string>insertSql</expression-string>
-        <language-id>JAVA</language-id>
-        <evaluation-mode>EXPRESSION</evaluation-mode>
-      </expression>
-      <expression>
-        <expression-string>viewHolder1.alarm.get(&quot;matchPersonListStr&quot;)</expression-string>
-        <language-id>JAVA</language-id>
-        <evaluation-mode>EXPRESSION</evaluation-mode>
-      </expression>
-      <expression>
-        <expression-string>listPopupWindow</expression-string>
+        <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/receiver/StartMyServiceAtBootReceiver.java">
+    <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="297">
-          <caret line="15" column="9" lean-forward="true" selection-start-line="15" selection-start-column="9" selection-end-line="15" selection-end-column="9" />
+        <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://$PROJECT_DIR$/app/src/main/res/anim/popup_show.xml">
+    <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="216">
-          <caret line="8" column="24" selection-start-line="8" selection-start-column="16" selection-end-line="8" selection-end-column="24" />
+        <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/res/values/styles.xml">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="256">
-          <caret line="85" column="63" lean-forward="true" selection-start-line="85" selection-start-column="63" selection-end-line="85" selection-end-column="63" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$USER_HOME$/AppData/Local/Android/Sdk/sources/android-28/android/widget/AbsSpinner.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-1271">
-          <caret line="444" column="41" selection-start-line="444" selection-start-column="41" selection-end-line="444" selection-end-column="41" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$USER_HOME$/AppData/Local/Android/Sdk/sources/android-28/android/widget/Spinner.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="192">
-          <caret line="100" column="24" selection-start-line="100" selection-start-column="12" selection-end-line="100" selection-end-column="24" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$USER_HOME$/AppData/Local/Android/Sdk/sources/android-28/android/widget/ListPopupWindow.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="138">
-          <caret line="117" column="15" selection-start-line="117" selection-start-column="4" selection-end-line="117" selection-end-column="15" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/captures/com.basic.security_2019.05.21_08.48.li">
-      <provider selected="true" editor-type-id="capture-editor" />
-    </entry>
-    <entry file="file://$USER_HOME$/AppData/Local/Android/Sdk/sources/android-28/android/widget/PopupWindow.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="58833">
-          <caret line="2349" column="36" selection-start-line="2349" selection-start-column="30" selection-end-line="2349" selection-end-column="36" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$USER_HOME$/AppData/Local/Android/Sdk/sources/android-28/android/view/ViewRootImpl.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="188">
-          <caret line="2275" selection-start-line="2275" selection-end-line="2275" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$USER_HOME$/AppData/Local/Android/Sdk/sources/android-28/android/view/Choreographer.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="233">
-          <caret line="688" selection-start-line="688" selection-end-line="688" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-28/android.jar!/android/media/MediaMetadataRetriever.class">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="162">
-          <caret line="16" column="13" selection-start-line="16" selection-start-column="13" selection-end-line="16" selection-end-column="13" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$USER_HOME$/AppData/Local/Android/Sdk/sources/android-28/android/gesture/GestureOverlayView.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="222">
-          <caret line="55" column="44" selection-start-line="55" selection-start-column="44" selection-end-line="55" selection-end-column="44" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$USER_HOME$/AppData/Local/Android/Sdk/sources/android-28/android/view/ViewGroup.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="222">
-          <caret line="119" column="22" selection-start-line="119" selection-start-column="22" selection-end-line="119" selection-end-column="22" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$USER_HOME$/AppData/Local/Android/Sdk/sources/android-28/android/widget/FrameLayout.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="222">
-          <caret line="56" column="39" selection-start-line="56" selection-start-column="39" selection-end-line="56" selection-end-column="39" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/basic/security/widget/MyVideoView.java" />
-    <entry file="file://$PROJECT_DIR$/app/src/main/res/drawable/confirm_dialog_background.xml">
+    <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="4" column="30" selection-start-line="4" selection-start-column="23" selection-end-line="4" selection-end-column="30" />
+          <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://$USER_HOME$/AppData/Local/Android/Sdk/sources/android-28/android/widget/VideoView.java">
+    <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="-58">
-          <caret line="459" column="35" selection-start-line="459" selection-start-column="35" selection-end-line="459" selection-end-column="35" />
+        <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/layout/my_toast.xml">
+    <entry file="file://$PROJECT_DIR$/app/src/main/res/values/colors.xml">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="351">
-          <caret line="13" column="27" selection-start-line="13" selection-start-column="27" selection-end-line="13" selection-end-column="27" />
+        <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>
-      <provider editor-type-id="android-designer2" />
     </entry>
-    <entry file="file://$USER_HOME$/AppData/Local/Android/Sdk/sources/android-28/android/media/MediaPlayer.java">
+    <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="215">
-          <caret line="952" selection-start-line="952" selection-end-line="953" selection-end-column="59" />
+        <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://$PROJECT_DIR$/app/src/main/java_bak/com/basic/security/activity/MainActivity.java" />
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/basic/security/utils/KeyboardUtil.java">
+    <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="122">
-          <caret line="22" selection-start-line="22" selection-end-line="22" />
+        <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://$PROJECT_DIR$/app/src/main/java_bak/com/basic/security/fragment/helper/HomeGridViewAdapter.java" />
+    <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="249">
-          <caret line="50" column="34" selection-start-line="50" selection-start-column="25" selection-end-line="50" selection-end-column="34" />
-        </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="344">
-          <caret line="96" column="54" selection-start-line="96" selection-start-column="54" selection-end-line="96" selection-end-column="54" />
+        <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="149">
-          <caret line="18" column="69" selection-start-line="18" selection-start-column="68" selection-end-line="18" selection-end-column="69" />
-        </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="108">
-          <caret line="4" column="42" selection-start-line="4" selection-start-column="42" selection-end-line="4" selection-end-column="42" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/gradle/wrapper/gradle-wrapper.properties">
-      <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="135">
-          <caret line="5" column="77" selection-start-line="5" selection-start-column="59" selection-end-line="5" selection-end-column="77" />
+          <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://$USER_HOME$/AppData/Local/Android/Sdk/sources/android-28/java/util/Map.java">
+    <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="277">
-          <caret line="324" column="11" selection-start-line="324" selection-start-column="11" selection-end-line="324" selection-end-column="11" />
+        <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/View.java">
+    <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="222">
-          <caret line="9589" column="19" selection-start-line="9589" selection-start-column="19" selection-end-line="9589" selection-end-column="19" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/build.gradle">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="325">
-          <caret line="21" column="42" selection-start-line="21" selection-start-column="8" selection-end-line="21" selection-end-column="42" />
-        </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="800">
-          <caret line="89" column="6" selection-start-line="89" selection-start-column="6" selection-end-line="89" selection-end-column="6" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.facebook.fresco/fresco/1.1.0/d556802c848ae4d5392bed9b17b65c875b7b2f1a/fresco-1.1.0-sources.jar!/com/facebook/drawee/backends/pipeline/Fresco.java" />
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/basic/security/base/BaseApplication.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="324">
-          <caret line="34" column="13" selection-start-line="34" selection-start-column="13" selection-end-line="34" selection-end-column="13" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/AndroidManifest.xml">
-      <provider editor-type-id="android-manifest" />
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="243">
-          <caret line="28" column="34" selection-start-line="28" selection-start-column="34" selection-end-line="29" selection-end-column="44" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/res/layout/alarm_view.xml">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="351">
-          <caret line="13" column="47" selection-start-line="13" selection-start-column="35" selection-end-line="13" selection-end-column="47" />
-        </state>
-      </provider>
-      <provider editor-type-id="android-designer2" />
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/res/layout/activity_main.xml">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="189">
-          <caret line="7" column="37" selection-start-line="7" selection-start-column="21" selection-end-line="7" selection-end-column="37" />
-        </state>
-      </provider>
-      <provider editor-type-id="android-designer2" />
-    </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="1836">
-          <caret line="97" column="117" selection-start-line="97" selection-start-column="117" selection-end-line="97" selection-end-column="117" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/basic/security/widget/CustomSpinner2.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="539">
-          <caret line="100" selection-start-line="100" selection-end-line="100" />
-          <folding>
-            <element signature="e#3952#3953#0" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/local.properties">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="243">
-          <caret line="9" selection-start-line="9" selection-end-line="9" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/build.gradle">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="1053">
-          <caret line="39" column="63" selection-start-line="39" selection-start-column="63" selection-end-line="39" selection-end-column="63" />
-        </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="1890">
-          <caret line="70" column="47" selection-start-line="70" selection-start-column="47" selection-end-line="70" selection-end-column="47" />
-          <folding>
-            <element signature="e#0#16#0" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/CMakeLists.txt">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="206">
-          <caret line="35" column="32" selection-start-line="35" selection-start-column="32" selection-end-line="35" selection-end-column="32" />
-        </state>
-      </provider>
-    </entry>
-    <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="-623">
-          <caret line="41" column="20" lean-forward="true" selection-start-line="41" selection-start-column="20" selection-end-line="41" selection-end-column="20" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$USER_HOME$/AppData/Local/Android/Sdk/sources/android-28/androidx/navigation/testapp/MainFragment.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-354">
-          <folding>
-            <element signature="e#0#1939#0" expanded="true" />
-          </folding>
-        </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="329">
-          <caret line="163" column="10" selection-start-line="163" selection-start-column="10" selection-end-line="163" selection-end-column="10" />
-        </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="118">
-          <caret line="67" column="13" lean-forward="true" selection-start-line="67" selection-start-column="13" selection-end-line="67" selection-end-column="13" />
-          <folding>
-            <element signature="e#2808#3002#0" expanded="true" />
-            <element signature="e#3001#3002#0" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/res/layout/fragment_setting.xml">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="279">
-          <caret line="98" column="34" selection-start-line="98" selection-start-column="34" selection-end-line="98" selection-end-column="34" />
-          <folding>
-            <element signature="e#3550#3562#0" expanded="true" />
-            <element signature="e#3766#3779#0" expanded="true" />
-            <element signature="e#3990#4002#0" expanded="true" />
-            <element signature="e#4103#4116#0" expanded="true" />
-            <element signature="e#4155#4167#0" expanded="true" />
-            <element signature="e#4264#4276#0" expanded="true" />
-            <element signature="e#4401#4413#0" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-      <provider editor-type-id="android-designer2" />
-    </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="135">
-          <caret line="51" column="35" selection-start-line="51" selection-start-column="26" selection-end-line="51" selection-end-column="35" />
-          <folding>
-            <element signature="imports" expanded="true" />
-          </folding>
+        <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="123">
-          <caret line="61" column="42" selection-start-line="61" selection-start-column="24" selection-end-line="61" selection-end-column="42" />
+        <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/HomeGridViewAdapter.java">
+    <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="1424">
-          <caret line="195" selection-start-line="195" selection-end-line="195" />
+        <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="227">
-          <caret line="153" column="1652" selection-start-line="153" selection-start-column="1652" selection-end-line="153" selection-end-column="1652" />
+        <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>
diff --git a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/.ninja_deps b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/.ninja_deps
index c2caa07..8adb714 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 c2f3775..af53687 100644
--- a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/.ninja_log
+++ b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/.ninja_log
@@ -25,3 +25,34 @@
 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
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 0e11c42..77acefa 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 cd9cfca..0f593d8 100644
--- a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/android_gradle_build.json
+++ b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/android_gradle_build.json
@@ -21,6 +21,12 @@
 					"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",
diff --git a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/build.ninja b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/build.ninja
index 304a836..dc12eff 100644
--- a/app/.externalNativeBuild/cmake/debug/armeabi-v7a/build.ninja
+++ b/app/.externalNativeBuild/cmake/debug/armeabi-v7a/build.ninja
@@ -40,6 +40,14 @@
   IN_ABS = C:\workspace\Security_alarm\app\src\main\cpp\native-lib.cpp
   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
+  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
+  OBJECT_DIR = CMakeFiles\native-lib.dir
+  OBJECT_FILE_DIR = CMakeFiles\native-lib.dir\src\main\cpp
 
 # =============================================================================
 # Link build statements for SHARED_LIBRARY target native-lib
@@ -48,7 +56,7 @@
 #############################################
 # 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 | C$:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/platforms/android-21/arch-arm/usr/lib/liblog.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"
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 b63bcc5..2dad617 100644
--- a/app/.externalNativeBuild/cmake/release/armeabi-v7a/android_gradle_build.json
+++ b/app/.externalNativeBuild/cmake/release/armeabi-v7a/android_gradle_build.json
@@ -21,6 +21,12 @@
 					"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",
diff --git a/app/.externalNativeBuild/cmake/release/armeabi-v7a/build.ninja b/app/.externalNativeBuild/cmake/release/armeabi-v7a/build.ninja
index d5ccada..0fae237 100644
--- a/app/.externalNativeBuild/cmake/release/armeabi-v7a/build.ninja
+++ b/app/.externalNativeBuild/cmake/release/armeabi-v7a/build.ninja
@@ -40,6 +40,14 @@
   IN_ABS = C:\workspace\Security_alarm\app\src\main\cpp\native-lib.cpp
   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
+  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
+  OBJECT_DIR = CMakeFiles\native-lib.dir
+  OBJECT_FILE_DIR = CMakeFiles\native-lib.dir\src\main\cpp
 
 # =============================================================================
 # Link build statements for SHARED_LIBRARY target native-lib
@@ -48,7 +56,7 @@
 #############################################
 # 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 | C$:/Users/xiuxi/AppData/Local/Android/Sdk/ndk-bundle/platforms/android-21/arch-arm/usr/lib/liblog.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"
diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt
index 4b2e513..b56c1bf 100644
--- a/app/CMakeLists.txt
+++ b/app/CMakeLists.txt
@@ -42,6 +42,7 @@
 add_library(native-lib
              SHARED
              src/main/cpp/native-lib.cpp
+        src/main/cpp/TCPClient.cpp
              #${FFMPEG_LIST}
              )
 find_library(
diff --git a/app/app.iml b/app/app.iml
index ba18027..bd2f2ed 100644
--- a/app/app.iml
+++ b/app/app.iml
@@ -8,7 +8,7 @@
     </facet>
     <facet type="native-android-gradle" name="Native-Android-Gradle">
       <configuration>
-        <option name="SELECTED_BUILD_VARIANT" value="debug-armeabi-v7a" />
+        <option name="SELECTED_BUILD_VARIANT" value="debug" />
       </configuration>
     </facet>
     <facet type="android" name="Android">
@@ -22,8 +22,7 @@
         <option name="ALLOW_USER_CONFIGURATION" value="false" />
         <option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
         <option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
-        <option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res;file://$MODULE_DIR$/build/generated/res/rs/debug;file://$MODULE_DIR$/build/generated/res/resValues/debug" />
-        <option name="TEST_RES_FOLDERS_RELATIVE_PATH" value="" />
+        <option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res" />
         <option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
       </configuration>
     </facet>
@@ -35,12 +34,14 @@
     <content url="file://$MODULE_DIR$">
       <sourceFolder url="file://$MODULE_DIR$/src/main/cpp" isTestSource="false" />
       <sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/debug" isTestSource="false" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/debug" isTestSource="false" generated="true" />
       <sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/debug" isTestSource="false" generated="true" />
       <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />
       <sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/debug" isTestSource="false" generated="true" />
       <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/debug" type="java-resource" />
       <sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/debug" type="java-resource" />
       <sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/androidTest/debug" isTestSource="true" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/androidTest/debug" isTestSource="true" generated="true" />
       <sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/androidTest/debug" isTestSource="true" generated="true" />
       <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true" />
       <sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/androidTest/debug" isTestSource="true" generated="true" />
@@ -95,9 +96,6 @@
       <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" />
-      <excludeFolder url="file://$MODULE_DIR$/.externalNativeBuild" />
-      <excludeFolder url="file://$MODULE_DIR$/build/generated/not_namespaced_r_class_sources" />
-      <excludeFolder url="file://$MODULE_DIR$/build/generated/source/r" />
       <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" />
@@ -113,7 +111,6 @@
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-resources" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/javaPrecompile" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" />
-      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/lint" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifest-checker" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/prebuild" />
@@ -131,111 +128,114 @@
     </content>
     <orderEntry type="jdk" jdkName="Android API 28 Platform" jdkType="Android SDK" />
     <orderEntry type="sourceFolder" forTests="false" />
-    <orderEntry type="library" name="Gradle: com.android.support:cardview-v7:28.0.0-rc01@aar" level="project" />
-    <orderEntry type="library" name="Gradle: com.android.support:localbroadcastmanager:28.0.0-rc02@aar" level="project" />
+    <orderEntry type="library" name="Gradle: com.facebook.fresco:drawee-1.1.0" level="project" />
+    <orderEntry type="library" name="Gradle: com.android.support:documentfile-28.0.0-rc02" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:support-annotations:28.0.0-rc02@jar" level="project" />
+    <orderEntry type="library" name="Gradle: com.android.support:interpolator-28.0.0-rc02" level="project" />
+    <orderEntry type="library" name="Gradle: com.beardedhen:androidbootstrap-2.3.2" level="project" />
     <orderEntry type="library" name="Gradle: org.androidannotations:androidannotations-api:4.5.2@jar" level="project" />
     <orderEntry type="library" name="Gradle: org.springframework.android:spring-android-core:2.0.0.M3@jar" level="project" />
+    <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: android.arch.lifecycle:livedata-core:1.1.1@aar" level="project" />
-    <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test.espresso:espresso-core:3.0.2@aar" level="project" />
-    <orderEntry type="library" name="Gradle: android.arch.lifecycle:runtime:1.1.1@aar" level="project" />
-    <orderEntry type="library" name="Gradle: com.facebook.fresco:imagepipeline:1.1.0@aar" 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" name="Gradle: de.hdodenhof:circleimageview:2.2.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: com.makeramen:roundedimageview:2.3.0@aar" 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" />
-    <orderEntry type="library" name="Gradle: com.android.support:appcompat-v7:28.0.0-rc02@aar" level="project" />
-    <orderEntry type="library" name="Gradle: com.wdullaer:materialdatetimepicker:3.6.3@aar" level="project" />
-    <orderEntry type="library" name="Gradle: com.android.support:viewpager:28.0.0-rc02@aar" level="project" />
+    <orderEntry type="library" name="Gradle: android.arch.core:runtime-1.1.1" level="project" />
+    <orderEntry type="library" name="Gradle: com.contrarywind:Android-PickerView-4.1.6" level="project" />
+    <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test:monitor-1.0.2" level="project" />
     <orderEntry type="library" name="Gradle: com.squareup.retrofit2:converter-gson:2.4.0@jar" level="project" />
-    <orderEntry type="library" name="Gradle: com.android.support:recyclerview-v7:28.0.0-rc01@aar" level="project" />
-    <orderEntry type="library" name="Gradle: com.android.support:support-vector-drawable:28.0.0-rc02@aar" level="project" />
-    <orderEntry type="library" name="Gradle: com.amitshekhar.android:debug-db:1.0.4@aar" level="project" />
+    <orderEntry type="library" name="Gradle: com.github.bumptech.glide:gifdecoder-4.8.0" level="project" />
+    <orderEntry type="library" name="Gradle: com.android.support:slidingpanelayout-28.0.0-rc02" level="project" />
+    <orderEntry type="library" name="Gradle: com.android.support:cursoradapter-28.0.0-rc02" level="project" />
+    <orderEntry type="library" name="Gradle: android.arch.lifecycle:runtime-1.1.1" level="project" />
     <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: com.github.bumptech.glide:glide:4.8.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: com.android.support:coordinatorlayout:28.0.0-rc02@aar" 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: com.kyleduo.switchbutton:library:2.0.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: com.android.support:support-fragment:28.0.0-rc02@aar" level="project" />
-    <orderEntry type="library" name="Gradle: com.github.angads25:toggle:1.0.0@aar" 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" />
-    <orderEntry type="library" name="Gradle: com.android.support:documentfile:28.0.0-rc02@aar" level="project" />
-    <orderEntry type="library" name="Gradle: android.arch.persistence:db:1.1.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: com.android.support:design:28.0.0-rc01@aar" level="project" />
-    <orderEntry type="library" name="Gradle: com.android.support:interpolator:28.0.0-rc02@aar" level="project" />
-    <orderEntry type="library" name="Gradle: android.arch.persistence:db-framework:1.1.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: com.android.support:support-media-compat:28.0.0-rc02@aar" level="project" />
-    <orderEntry type="library" name="Gradle: com.contrarywind:wheelview:4.0.8@aar" level="project" />
+    <orderEntry type="library" name="Gradle: com.github.bumptech.glide:glide-4.8.0" level="project" />
+    <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" scope="TEST" name="Gradle: com.google.code.findbugs:jsr305:2.0.1@jar" level="project" />
-    <orderEntry type="library" name="Gradle: com.rengwuxian.materialedittext:library:2.1.4@aar" 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: android.arch.core:common:1.1.1@jar" level="project" />
-    <orderEntry type="library" name="Gradle: com.android.support:drawerlayout:28.0.0-rc02@aar" 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: com.android.support:support-compat:28.0.0-rc02@aar" 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: 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" />
-    <orderEntry type="library" name="Gradle: com.android.support:print:28.0.0-rc02@aar" level="project" />
     <orderEntry type="library" name="Gradle: com.github.bumptech.glide:disklrucache:4.8.0@jar" level="project" />
-    <orderEntry type="library" name="Gradle: com.android.support:support-v13:28.0.0-rc02@aar" level="project" />
     <orderEntry type="library" name="Gradle: android.arch.lifecycle:common:1.1.1@jar" level="project" />
-    <orderEntry type="library" name="Gradle: com.android.support:loader:28.0.0-rc02@aar" 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: com.facebook.fresco:fbcore:1.1.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: com.android.support:cursoradapter:28.0.0-rc02@aar" 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: android.arch.lifecycle:viewmodel:1.1.1@aar" level="project" />
-    <orderEntry type="library" name="Gradle: com.android.support:asynclayoutinflater:28.0.0-rc02@aar" 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.nightonke:jellytogglebutton:1.0.2@aar" level="project" />
-    <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test.espresso:espresso-idling-resource:3.0.2@aar" level="project" />
-    <orderEntry type="library" name="Gradle: android.arch.core:runtime:1.1.1@aar" level="project" />
-    <orderEntry type="library" name="Gradle: org.xutils:xutils:3.5.0@aar" 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" />
     <orderEntry type="library" name="Gradle: com.squareup.retrofit2:retrofit:2.4.0@jar" level="project" />
     <orderEntry type="library" name="Gradle: io.reactivex:rxjava:1.3.0@jar" level="project" />
-    <orderEntry type="library" name="Gradle: com.android.support:animated-vector-drawable:28.0.0-rc02@aar" level="project" />
-    <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test:runner:1.0.2@aar" level="project" />
-    <orderEntry type="library" name="Gradle: com.android.support:versionedparcelable:28.0.0-rc02@aar" level="project" />
+    <orderEntry type="library" name="Gradle: com.android.support:support-media-compat-28.0.0-rc02" level="project" />
+    <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: com.android.support:support-v4:28.0.0-rc02@aar" 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: android.arch.persistence.room:runtime:1.1.0@aar" 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: 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" scope="TEST" name="Gradle: com.android.support.test:monitor:1.0.2@aar" level="project" />
-    <orderEntry type="library" name="Gradle: com.android.support:support-core-utils:28.0.0-rc02@aar" level="project" />
-    <orderEntry type="library" name="Gradle: com.github.bumptech.glide:gifdecoder:4.8.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: com.android.support:slidingpanelayout:28.0.0-rc02@aar" 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" name="Gradle: io.reactivex.rxjava2:rxandroid:2.0.2@aar" level="project" />
-    <orderEntry type="library" name="Gradle: com.facebook.fresco:fresco:1.1.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: com.android.support.constraint:constraint-layout:1.1.2@aar" level="project" />
+    <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test:runner-1.0.2" level="project" />
+    <orderEntry type="library" name="Gradle: com.facebook.fresco:fbcore-1.1.0" level="project" />
+    <orderEntry type="library" name="Gradle: com.makeramen:roundedimageview-2.3.0" level="project" />
     <orderEntry type="library" name="Gradle: com.parse.bolts:bolts-tasks:1.4.0@jar" level="project" />
+    <orderEntry type="library" name="Gradle: com.android.support:drawerlayout-28.0.0-rc02" level="project" />
+    <orderEntry type="library" name="Gradle: com.android.support:support-v4-28.0.0-rc02" level="project" />
     <orderEntry type="library" name="Gradle: android.arch.persistence.room:common:1.1.0@jar" level="project" />
-    <orderEntry type="library" name="Gradle: com.android.support:transition:28.0.0-rc01@aar" level="project" />
-    <orderEntry type="library" name="Gradle: com.facebook.fresco:imagepipeline-base:1.1.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: com.facebook.fresco:drawee:1.1.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: com.android.support:customview:28.0.0-rc02@aar" 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" name="Gradle: com.github.ybq:Android-SpinKit:1.2.0@aar" 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: 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.contrarywind:Android-PickerView:4.1.6@aar" level="project" />
-    <orderEntry type="library" name="Gradle: com.android.support:support-core-ui:28.0.0-rc02@aar" level="project" />
-    <orderEntry type="library" name="Gradle: com.beardedhen:androidbootstrap:2.3.2@aar" level="project" />
+    <orderEntry type="library" name="Gradle: com.android.support:cardview-v7-28.0.0-rc01" 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" />
+    <orderEntry type="library" name="Gradle: com.android.support:localbroadcastmanager-28.0.0-rc02" level="project" />
     <orderEntry type="library" name="Gradle: com.google.code.gson:gson:2.8.2@jar" level="project" />
+    <orderEntry type="library" name="Gradle: com.android.support:support-fragment-28.0.0-rc02" level="project" />
+    <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: com.android.support:swiperefreshlayout:28.0.0-rc02@aar" level="project" />
-    <orderEntry type="library" name="Gradle: net.zetetic:android-database-sqlcipher:3.5.7@aar" level="project" />
-    <orderEntry type="library" name="Gradle: com.android.support:multidex:1.0.3@aar" 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" />
     <orderEntry type="library" name="Gradle: org.apache.http.legacy-android-28" level="project" />
   </component>
 </module>
\ No newline at end of file
diff --git a/app/debug/output.json b/app/debug/output.json
new file mode 100644
index 0000000..f20a39f
--- /dev/null
+++ b/app/debug/output.json
@@ -0,0 +1 @@
+[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":1,"versionName":"1.0","enabled":true,"outputFile":"app-debug.apk","fullName":"debug","baseName":"debug"},"path":"app-debug.apk","properties":{}}]
\ No newline at end of file
diff --git a/app/libs/sdkapi.jar b/app/libs/sdkapi.jar
new file mode 100644
index 0000000..c269276
--- /dev/null
+++ b/app/libs/sdkapi.jar
Binary files differ
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 4276596..f2b92fb 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    package="com.basic.security">
+    package="com.basic.security"
+    android:versionCode="5"
+    android:versionName="5.0.1.20180801">
 
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
     <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
@@ -16,6 +18,28 @@
     <uses-permission android:name="android.permission.CAMERA" />
     <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
 
+
+    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
+    <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
+    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
+    <uses-permission android:name="android.permission.ACCESS_SURFACE_FLINGER" />
+    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
+    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
+    <uses-permission android:name="android.permission.CONNECTIVITY_INTERNAL" />
+    <uses-permission android:name="android.permission.DEVICE_POWER" />
+    <uses-permission android:name="android.permission.GET_TASKS" />
+    <uses-permission android:name="android.permission.INTERNET" />
+    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
+    <uses-permission android:name="android.permission.READFRAMEBUFFER" />
+    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
+    <uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
+    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
+    <uses-permission android:name="android.permission.UPDATE_DEVICE_STATS" />
+    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
+    <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
+    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
+    <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
+
     <uses-feature android:name="android.hardware.camera" />
     <uses-feature android:name="android.hardware.camera.autofocus" />
 
@@ -30,8 +54,10 @@
         android:name=".base.BaseApplication"
         android:theme="@style/AppTheme"
         >
-        <activity android:name=".activity.MainActivity_" android:screenOrientation="landscape"
-            android:theme="@android:style/Theme.Holo.NoActionBar.Fullscreen"
+        <activity
+            android:name=".activity.WelcomeActivity"
+            android:screenOrientation="landscape"
+            android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
             >
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
@@ -39,6 +65,10 @@
                 <category android:name="android.intent.category.LAUNCHER" />
             </intent-filter>
         </activity>
+        <activity android:name=".activity.MainActivity_" android:screenOrientation="landscape"
+            android:theme="@android:style/Theme.Holo.NoActionBar.Fullscreen"
+            >
+        </activity>
         <receiver
             android:name=".receiver.StartMyServiceAtBootReceiver"
             android:label="StartMyServiceAtBootReceiver">
diff --git a/app/src/main/cpp/TCPClient.cpp b/app/src/main/cpp/TCPClient.cpp
new file mode 100644
index 0000000..faa6406
--- /dev/null
+++ b/app/src/main/cpp/TCPClient.cpp
@@ -0,0 +1,83 @@
+#include "TCPClient.h"
+
+TCPClient::TCPClient() {
+    sock = -1;
+    port = 0;
+    address = "";
+}
+
+bool TCPClient::setup(string address, int port) {
+    if (sock == -1) {
+        sock = socket(AF_INET, SOCK_STREAM, 0);
+        if (sock == -1) {
+            cout << "Could not create socket" << endl;
+        }
+    }
+    if ((signed) inet_addr(address.c_str()) == -1) {
+        struct hostent *he;
+        struct in_addr **addr_list;
+        if ((he = gethostbyname(address.c_str())) == NULL) {
+            herror("gethostbyname");
+            cout << "Failed to resolve hostname\n";
+            return false;
+        }
+        addr_list = (struct in_addr **) he->h_addr_list;
+        for (int i = 0; addr_list[i] != NULL; i++) {
+            server.sin_addr = *addr_list[i];
+            break;
+        }
+    } else {
+        server.sin_addr.s_addr = inet_addr(address.c_str());
+    }
+    server.sin_family = AF_INET;
+    server.sin_port = htons(port);
+    if (connect(sock, (struct sockaddr *) &server, sizeof(server)) < 0) {
+        perror("connect failed. Error");
+        return false;
+    }
+    return true;
+}
+
+bool TCPClient::Send(string data) {
+    if (sock != -1) {
+        if (send(sock, data.c_str(), strlen(data.c_str()), 0) < 0) {
+            cout << "Send failed : " << data << endl;
+            return false;
+        }
+    } else
+        return false;
+    return true;
+}
+
+string TCPClient::receive(int size) {
+    char buffer[size];
+    memset(&buffer[0], 0, sizeof(buffer));
+
+    string reply;
+    if (recv(sock, buffer, size, 0) < 0) {
+        cout << "receive failed!" << endl;
+        return nullptr;
+    }
+    buffer[size - 1] = '\0';
+    reply = buffer;
+    return reply;
+}
+
+string TCPClient::read() {
+    char buffer[1] = {};
+    buffer[0] = '\1';
+    string reply;
+    while (buffer[0] != '\0') {
+        if (recv(sock, buffer, sizeof(buffer), 0) < 0) {
+            cout << "receive failed!" << endl;
+            return string("-1");
+        }
+        reply += buffer[0];
+    }
+    return reply;
+}
+
+void TCPClient::exit() {
+    close(sock);
+    sock = -1;
+}
diff --git a/app/src/main/cpp/TCPClient.h b/app/src/main/cpp/TCPClient.h
new file mode 100644
index 0000000..19964d8
--- /dev/null
+++ b/app/src/main/cpp/TCPClient.h
@@ -0,0 +1,36 @@
+#ifndef TCP_CLIENT_H
+#define TCP_CLIENT_H
+
+#include <iostream>
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+#include <netdb.h>
+#include <netdb.h> 
+#include <vector>
+
+using namespace std;
+
+class TCPClient
+{
+  private:
+    int sock;
+    std::string address;
+    int port;
+    struct sockaddr_in server;
+
+  public:
+    TCPClient();
+    bool setup(string address, int port);
+    bool Send(string data);
+    string receive(int size = 4096);
+    string read();
+    void exit();
+};
+
+#endif
diff --git a/app/src/main/cpp/csrc/thirdparty/ffmpeg/bin/ffmpeg b/app/src/main/cpp/csrc/thirdparty/ffmpeg/bin/ffmpeg
new file mode 100644
index 0000000..10ebd3b
--- /dev/null
+++ b/app/src/main/cpp/csrc/thirdparty/ffmpeg/bin/ffmpeg
Binary files differ
diff --git a/app/src/main/cpp/native-lib.cpp b/app/src/main/cpp/native-lib.cpp
index 9e90a7d..2a3a20c 100644
--- a/app/src/main/cpp/native-lib.cpp
+++ b/app/src/main/cpp/native-lib.cpp
@@ -12,6 +12,11 @@
 }
 #endif
 
+
+
+
+
+
 extern "C" JNIEXPORT jstring
 
 JNICALL
@@ -75,4 +80,31 @@
 //    XLOGD("%d\n", wid);
 //    printf("%d\n", wid);
 
+}
+
+#include <signal.h>
+#include "TCPClient.h"
+
+TCPClient tcp;
+
+extern "C"
+JNIEXPORT void JNICALL
+Java_com_basic_security_utils_SocketClient_setup(JNIEnv *env, jobject instance, jstring ip_,
+                                                 jint port) {
+    const char *ip = env->GetStringUTFChars(ip_, 0);
+    tcp.exit();
+    tcp.setup(ip, port);
+
+    env->ReleaseStringUTFChars(ip_, ip);
+}
+//extern "C"
+//JNIEXPORT jstring JNICALL
+//Java_com_basic_security_utils_SocketClient_receive(JNIEnv *env, jobject instance) {
+//    return env->NewStringUTF(tcp.read().c_str());
+//}
+extern "C"
+JNIEXPORT jstring JNICALL
+Java_com_basic_security_utils_SocketClient_receive(JNIEnv *env, jobject instance) {
+    const char* str = tcp.read().c_str();
+    return env->NewStringUTF(str);
 }
\ 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 3406507..cf9c539 100644
--- a/app/src/main/java/com/basic/security/activity/MainActivity.java
+++ b/app/src/main/java/com/basic/security/activity/MainActivity.java
@@ -19,6 +19,8 @@
 import com.basic.security.fragment.SettingFragment;
 import com.basic.security.utils.FFmpeg;
 import com.basic.security.utils.KeyboardUtil;
+import com.basic.security.utils.LztekAndroidRoot;
+import com.basic.security.widget.AuthDialog;
 import com.basic.security.widget.MyMediaController;
 import com.bumptech.glide.Glide;
 
@@ -95,8 +97,6 @@
         fragment_home.pullAlarmDataList();
         fragment_home.playAlarmSound();
         KeyboardUtil.setupUI(fragment_setting.getView());
-//        KeyboardUtil.setupUI(mainActivityView);
-//        ffmpeg();
     }
 
     @Background
@@ -141,6 +141,14 @@
 
     @Click
     public void goto_setting() {
+        if (currentFragment == fragment_home) {
+//            do_goto_setting();
+            AuthDialog authDialog = new AuthDialog(this);
+            authDialog.show();
+        }
+    }
+
+    public void do_goto_setting() {
         exit_fullscreen();
         hideOneFragment(fragment_home);
         showOneFragment(fragment_setting);
@@ -223,7 +231,8 @@
 
     @Override
     public void onBackPressed() {
-        exit_fullscreen();
+        android.os.Process.killProcess(android.os.Process.myPid());
+        System.exit(0);
     }
 
     public boolean notInFullscreenMode() {
@@ -233,4 +242,5 @@
         }
         return true;
     }
+
 }
diff --git a/app/src/main/java/com/basic/security/activity/WelcomeActivity.java b/app/src/main/java/com/basic/security/activity/WelcomeActivity.java
new file mode 100644
index 0000000..021a172
--- /dev/null
+++ b/app/src/main/java/com/basic/security/activity/WelcomeActivity.java
@@ -0,0 +1,46 @@
+package com.basic.security.activity;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.os.SystemClock;
+import android.support.v4.app.FragmentActivity;
+import android.view.View;
+
+import com.basic.security.R;
+import com.basic.security.utils.PermissionHelper;
+
+public class WelcomeActivity extends FragmentActivity {
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activity_welcome);
+
+        getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE
+                | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
+                | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
+                | View.SYSTEM_UI_FLAG_FULLSCREEN
+                | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
+                | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
+                | View.SYSTEM_UI_FLAG_IMMERSIVE);
+
+        if (!PermissionHelper.hasWriteStoragePermission(WelcomeActivity.this) ) {
+            PermissionHelper.requestWriteStoragePermission(this);
+        }
+        new Thread(){
+            @Override
+            public void run() {
+                while (true) {
+                    if (PermissionHelper.hasWriteStoragePermission(WelcomeActivity.this) ) {
+                        Intent intent = new Intent(WelcomeActivity.this, MainActivity_.class);
+                        WelcomeActivity.this.startActivity(intent);
+                        WelcomeActivity.this.finish();
+                        break;
+                    }
+                    SystemClock.sleep(200);
+                }
+            }
+        }.start();
+    }
+
+}
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 bf9cb8f..918d5cd 100644
--- a/app/src/main/java/com/basic/security/dao/DatabaseManager.java
+++ b/app/src/main/java/com/basic/security/dao/DatabaseManager.java
@@ -6,9 +6,11 @@
 import android.util.Pair;
 
 import com.basic.security.base.BaseApplication;
+import com.basic.security.model.Setting;
 import com.basic.security.utils.Constants;
 
 import java.io.File;
+import java.lang.reflect.Field;
 import java.lang.reflect.Method;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -25,16 +27,55 @@
     public static final Lock databaseLock = new ReentrantLock();
     public static final Lock databaseExecSqlLock = new ReentrantLock();
     public static Map<String, SQLiteDatabase> databaseMap = new HashMap<>();
-
+    public static Class[] tableClasses = new Class[] {
+            Setting.class
+    };
     public static SQLiteDatabase getDatabase() {
         return getDatabase(Constants.databaseName);
     }
 
     public static void intiTables() {
+        for (Class tableClass : tableClasses) {
+            String table = tableClass.getSimpleName();
+            Map<String, String> columns = new HashMap<>();
+            Field[] declaredFields = tableClass.getDeclaredFields();
+            for (Field field : declaredFields) {
+                try {
+                    String fieldName = field.getName();
+                    String value = (String)field.get(null);
+                    if (value != null) {
+                        if ("table".equals(fieldName)) {
+                            table = value;
+                        } else {
+                            columns.put(value, value);
+                        }
+                    }
+                } catch (Exception e) {
+                    System.out.println("reflect "+e.getMessage());
+                }
+            }
+            columns.put("id", "id");
+
+            String createTable = "CREATE TABLE IF NOT EXISTS " + table + " (";
+            for (String column : columns.keySet()) {
+                createTable += column + " TEXT, ";
+            }
+            createTable += " PRIMARY KEY(id))";
+            if (table.equals("RealTimeMetrics")) {
+                createTable = createTable.replace("TEXT", "INTEGER");
+                createTable = createTable.replace("id INTEGER", "id TEXT");
+//                System.out.println("createTable="+createTable);
+            }
+            DatabaseManager.execSQL(createTable);
+            String createIndex = "CREATE UNIQUE INDEX IF NOT EXISTS idx_"+table+" ON "+table+"(id)";
+            DatabaseManager.execSQL(createIndex);
+        }
+
+
         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))");
         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)");
+//        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) {
@@ -42,7 +83,8 @@
         try {
             databaseLock.lock();
             if (database == null) {
-                database = BaseApplication.getApplication().openOrCreateDatabase(Constants.databaseName, MODE_PRIVATE, null);
+//                database = BaseApplication.getApplication().openOrCreateDatabase(Constants.databaseName, MODE_PRIVATE, null);
+                database = SQLiteDatabase.openOrCreateDatabase(databaseName, null);
                 databaseMap.put(databaseName, database);
                 intiTables();
                 setCustomDatabaseFiles(BaseApplication.getApplication());
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 b001f54..c890766 100644
--- a/app/src/main/java/com/basic/security/dao/SqliteManager.java
+++ b/app/src/main/java/com/basic/security/dao/SqliteManager.java
@@ -135,4 +135,27 @@
             return this;
         }
     }
+
+
+    public static Map<String, String> findById(String table, String id) {
+        Cursor cursor = null;
+        try {
+            String sql = "select * from "+table+" where id = '" + id + "'";
+            if (Constants.printSql) {
+                System.out.println("findById="+sql);
+            }
+            cursor = DatabaseManager.getDatabase().rawQuery(sql, null);
+            if (cursor.moveToFirst()) {
+                return cursorToModelAdapter(cursor, table);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        } finally {
+            if (cursor != null)
+                cursor.close();
+        }
+        return null;
+    }
+
+
 }
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 3d30b51..dd63bec 100644
--- a/app/src/main/java/com/basic/security/fragment/HomeFragment.java
+++ b/app/src/main/java/com/basic/security/fragment/HomeFragment.java
@@ -22,6 +22,7 @@
 import org.androidannotations.annotations.UiThread;
 
 import java.lang.reflect.Method;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -47,6 +48,15 @@
 //            homeRestClient.setRootUrl("http://"+ipStr+":8000/data/api-v/realTime");
 //        }
     }
+    static List<SocketClient> socketClientList = new ArrayList<>();
+
+    public static void startNewSocketClient() {
+        System.out.println("鍚姩鏂拌繛鎺�");
+        SocketClient socketClient = new SocketClient(SettingManager.getIpStr(), SettingManager.getPort());
+        socketClient.start();
+        socketClientList.add(socketClient);
+        SystemClock.sleep(10*1000);
+    }
 
     @Background
     public void pullAlarmDataList() {
@@ -54,16 +64,23 @@
         refreshGridView();
         while (true) {
             try{
-                Map<String, String> requestBody = new HashMap<String, String>();
-                requestBody.put("sec", "15");
-                List<Map<String, String>> newRemoteAlarmList = null;
                 try {
-                    if (localServer) {
-                        newRemoteAlarmList = (List<Map<String, String>>)homeRestClient.list1();
-                    } else {
-                        SocketClient socketClient = new SocketClient(SettingManager.getIpStr(), SettingManager.getPort());
-                        socketClient.start();
+                    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());
@@ -71,7 +88,7 @@
             } catch (Exception e) {
                 e.printStackTrace();
             } finally {
-                SystemClock.sleep(8000);
+                SystemClock.sleep(3000);
             }
         }
     }
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 e4b56c1..fd9f303 100644
--- a/app/src/main/java/com/basic/security/fragment/SettingFragment.java
+++ b/app/src/main/java/com/basic/security/fragment/SettingFragment.java
@@ -1,19 +1,29 @@
 package com.basic.security.fragment;
 
 import android.media.MediaPlayer;
+import android.text.TextUtils;
 import android.view.View;
-import android.widget.AdapterView;
 import android.widget.ArrayAdapter;
+import android.widget.CheckBox;
+import android.widget.CompoundButton;
 import android.widget.EditText;
+import android.widget.RadioButton;
+import android.widget.RadioGroup;
 import android.widget.Spinner;
+import android.widget.TextView;
+import android.widget.Toast;
 
 import com.basic.security.R;
 import com.basic.security.base.BaseFragment;
 import com.basic.security.fragment.helper.HomePlayAlarmSound;
 import com.basic.security.manager.SettingManager;
+import com.basic.security.model.Setting;
 import com.basic.security.utils.AudioPlayer;
+import com.basic.security.utils.Constants;
+import com.basic.security.utils.CrashHandler;
 import com.basic.security.utils.SocketClient;
 import com.basic.security.utils.ToastUtil;
+import com.basic.security.widget.CustomSpinner;
 import com.basic.security.widget.SuccessDialog;
 
 import org.androidannotations.annotations.AfterViews;
@@ -23,11 +33,11 @@
 import org.androidannotations.annotations.UiThread;
 import org.androidannotations.annotations.ViewById;
 
+import java.util.Map;
+
 @EFragment(R.layout.fragment_setting)
 public class SettingFragment extends BaseFragment {
 
-    @ViewById
-    public EditText password;
     @ViewById
     public EditText ip;
     @ViewById
@@ -35,25 +45,74 @@
     @ViewById
     public Spinner second;
     @ViewById
-    public Spinner alarmAudio;
+    public CustomSpinner alarmAudio;
+
+    @ViewById
+    public Spinner keepTime;
+    @ViewById
+    public Spinner keepTimeType;
+    @ViewById
+    public EditText oldPassword;
+    @ViewById
+    public EditText newPassword;
+    @ViewById
+    public EditText newPassword2;
+
+
+    private com.lztek.toolkit.Lztek mLztek;
+
+    @ViewById
+    public CheckBox switch_ethernet;
+    @ViewById
+    public RadioGroup ip_mode;
+    @ViewById
+    public RadioButton dhcp;
+    @ViewById
+    public RadioButton staticip;
+    @ViewById
+    public EditText ip_address;
+    @ViewById
+    public EditText net_mask;
+    @ViewById
+    public EditText gate_way;
+    @ViewById
+    public EditText dns_server;
+
+    @ViewById
+    public TextView error;
 
     public String[] secondArray = new String[]{"5", "10", "20", "30", "40", "50", "60"};
     public static String[] alarmAudioArray = new String[]{"1", "2", "3", "4", "5"};
+    public static String[] keepTimeArray = new String[]{"1", "2", "3","4","5","6","7","8","9","10"};
+    public static String[] keepTimeTypeArray = new String[]{"鍛�", "鏈�"};
 
     public MediaPlayer mp;
 
+    boolean notSkipPlay = false;
+
+    boolean saved = false;
+
     @Background
     public void show() {
-        initData(SettingManager.getIpStr(), SettingManager.getSecondStr(), SettingManager.getAlarmAudioStr(), SettingManager.getPortStr());
+        saved = false;
+        initData(SettingManager.getIpStr(), SettingManager.getSecondStr(),
+                SettingManager.getAlarmAudioStr(), SettingManager.getPortStr(), SettingManager.getKeepTime(), SettingManager.getKeepTimeType());
     }
 
     @UiThread
-    public void initData(String ipStr, String secondStr, String alarmAudioStr, String portStr) {
+    public void initData(String ipStr, String secondStr, String alarmAudioStr, String portStr, String keepTimeStr, String keepTimeTypeStr) {
         if (second != null) {
             second.setSelection(getSelectedIndex(secondArray, secondStr));
         }
         if (alarmAudio != null) {
+            notSkipPlay = false;
             alarmAudio.setSelection(getSelectedIndex(alarmAudioArray, alarmAudioStr));
+        }
+        if (keepTime != null) {
+            keepTime.setSelection(getSelectedIndex(keepTimeArray, keepTimeStr));
+        }
+        if (keepTimeType != null) {
+            keepTimeType.setSelection(getSelectedIndex(keepTimeTypeArray, keepTimeTypeStr));
         }
         if (ipStr !=  null) {
             ip.setText(ipStr);
@@ -61,7 +120,16 @@
         if (portStr != null) {
             port.setText(portStr);
         }
-        password.setText("");
+        oldPassword.setText("");
+        newPassword.setText("");
+        newPassword2.setText("");
+        try {
+            if (Constants.NativeLib) {
+                refreshAddrInfo(mLztek.getEthEnable());
+            }
+        } catch (Exception e){
+            e.printStackTrace();
+        }
     }
 
     public int getSelectedIndex(String[] array, String value) {
@@ -102,46 +170,246 @@
 
     @AfterViews
     public void afterViews() {
-        second.setAdapter(new ArrayAdapter<>(getContext(), R.layout.spinner_item_small_text, secondArray));
-        second.setPopupBackgroundResource(R.drawable.round_border);
+        try {
+            second.setAdapter(new ArrayAdapter<>(getContext(), R.layout.spinner_item_small_text, secondArray));
+            second.setPopupBackgroundResource(R.drawable.round_border);
 
-        alarmAudio.setAdapter(new ArrayAdapter<>(getContext(), R.layout.spinner_item_small_text, alarmAudioArray));
-        alarmAudio.setPopupBackgroundResource(R.drawable.round_border);
-        alarmAudio.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
-            @Override
-            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
-                final int position1 = position;
-                new Thread(){
+            keepTime.setAdapter(new ArrayAdapter<>(getContext(), R.layout.spinner_item_small_text, keepTimeArray));
+            keepTime.setPopupBackgroundResource(R.drawable.round_border);
+
+            keepTimeType.setAdapter(new ArrayAdapter<>(getContext(), R.layout.spinner_item_small_text, keepTimeTypeArray));
+            keepTimeType.setPopupBackgroundResource(R.drawable.round_border);
+
+            alarmAudio.setAdapter(new ArrayAdapter<>(getContext(), R.layout.spinner_item_small_text, alarmAudioArray));
+            alarmAudio.setPopupBackgroundResource(R.drawable.round_border);
+
+
+            alarmAudio.selection = new CustomSpinner.Selection() {
+                @Override
+                public void selected(int position) {
+                    final int position1 = position;
+                    new Thread(){
+                        @Override
+                        public void run() {
+                            if (notSkipPlay) {
+                                mp = AudioPlayer.play(mp, alarmAudioArray[position1], false);
+                            }
+                            if (!notSkipPlay) {
+                                notSkipPlay = true;
+                            }
+                        }
+                    }.start();
+                }
+            };
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+        try {
+            if (Constants.NativeLib) {
+                String errorMsg = CrashHandler.getErrorContent();
+                System.out.println("errorMsg="+errorMsg);
+                mLztek = com.lztek.toolkit.Lztek.create(mainActivity());
+                switch_ethernet.setText(switch_ethernet.getText() + " [" + mLztek.getEthMac().toUpperCase() + "]");
+                boolean ethEnalbe = mLztek.getEthEnable();
+                switch_ethernet.setChecked(ethEnalbe);
+                switch_ethernet.setEnabled(ethEnalbe);
+                //refreshAddrInfo(ethEnalbe);
+                switch_ethernet.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
                     @Override
-                    public void run() {
-                        //AudioPlayer.stop(mp);
-                        mp = AudioPlayer.play(mp, alarmAudioArray[position1], false);
+                    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+                        mLztek.setEthEnable(isChecked);
+                        refreshAddrInfo(isChecked);
                     }
-                }.start();
+                });
+                ip_mode.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
+                    @Override
+                    public void onCheckedChanged(RadioGroup group, int checkedId) {
+                        if (group == ip_mode) {
+                            setAddrInput(staticip.isChecked());
+                        }
+                    }
+                });
+                ip_address.setOnFocusChangeListener(new View.OnFocusChangeListener() {
+                    @Override
+                    public void onFocusChange(View v, boolean hasFocus) {
+                        if (!hasFocus) {
+                            String ip = ip_address.getText().toString().trim();
+                            if (!ipCheck(ip)) {
+                                return;
+                            }
+                            if (net_mask.getText().toString().trim().length() == 0) {
+                                int type = Integer.parseInt(ip.substring(0, ip.indexOf('.')));
+                                String mask = 1 <= type && type <= 126? "255.0.0.0" :
+                                        (128 <= type && type <= 191? "255.255.0.0" : "255.255.255.0");
+                                net_mask.setText(mask);
+                            }
+                            if (gate_way.getText().toString().trim().length() == 0) {
+                                gate_way.setText(ip.substring(0, ip.lastIndexOf('.')) + ".1");
+                            }
+                            if (dns_server.getText().toString().trim().length() == 0) {
+                                dns_server.setText(ip.substring(0, ip.lastIndexOf('.')) + ".1");
+                            }
+                        }
+                    }
+                });
+                gate_way.setOnFocusChangeListener(new View.OnFocusChangeListener() {
+                    @Override
+                    public void onFocusChange(View v, boolean hasFocus) {
+                        if (!hasFocus) {
+                            String gateway = gate_way.getText().toString().trim();
+                            if (!ipCheck(gateway)) {
+                                return;
+                            }
+                            if (dns_server.getText().toString().trim().length() == 0) {
+                                dns_server.setText(gateway);
+                            }
+                        }
+                    }
+                });
             }
 
-            @Override
-            public void onNothingSelected(AdapterView<?> parent) {
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
 
-            }
-        });
     }
+
+
+    private void refreshAddrInfo(boolean ethEnalbe) {
+        if (ethEnalbe) {
+            setRadioButton(true);
+            com.lztek.toolkit.AddrInfo addrInfo = mLztek.getEthAddrInfo();
+            if (null != addrInfo) {
+                boolean dhcpv = addrInfo.getIpMode() == com.lztek.toolkit.AddrInfo.DHCP;
+                dhcp.setChecked(dhcpv);
+                staticip.setChecked(!dhcpv);
+                ip_address.setText(addrInfo.getIpAddress());
+                net_mask.setText(addrInfo.getNetmask());
+                gate_way.setText(addrInfo.getGateway());
+                dns_server.setText(addrInfo.getDns());
+                setAddrInput(!dhcpv);
+            } else {
+                setAddrInput(false);
+                Toast.makeText(mainActivity(), "Cannot get ethernet info", Toast.LENGTH_LONG).show();
+            }
+        } else {
+            ip_address.setText("");
+            net_mask.setText("");
+            gate_way.setText("");
+            dns_server.setText("");
+            setRadioButton(false);
+            setAddrInput(false);
+        }
+        setButton(ethEnalbe);
+    }
+
+    private void setRadioButton(boolean enable) {
+        ip_mode.setEnabled(enable);
+        dhcp.setEnabled(enable);
+        staticip.setEnabled(enable);
+    }
+
+    private void setButton(boolean enable) {
+//        mBtOk.setEnabled(enable);
+//        mBtRefresh.setEnabled(enable);
+    }
+
+    private void setAddrInput(boolean enable) {
+        ip_address.setEnabled(enable);
+        net_mask.setEnabled(enable);
+        gate_way.setEnabled(enable);
+        dns_server.setEnabled(enable);
+
+        ip_address.setFocusable(enable);
+        net_mask.setFocusable(enable);
+        gate_way.setFocusable(enable);
+        dns_server.setFocusable(enable);
+
+        ip_address.setFocusableInTouchMode(enable);
+        net_mask.setFocusableInTouchMode(enable);
+        gate_way.setFocusableInTouchMode(enable);
+        dns_server.setFocusableInTouchMode(enable);
+    }
+
+
+    public static boolean ipCheck(String text) {
+        if (text != null && !text.isEmpty()) {
+            String regex = "^(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|[1-9])\\."
+                    + "(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."
+                    + "(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."
+                    + "(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)$";
+            if (text.matches(regex)) {
+                return true;
+            } else {
+                return false;
+            }
+        }
+        return false;
+    }
+
+    private boolean validateDate() {// 楠岃瘉杈撳叆鐨勪俊鎭槸鍚︽纭�
+        String ip = ip_address.getText().toString();
+        if (ip.equals("") || !ipCheck(ip)) {
+            ip_address.setFocusable(true);
+            ip_address.requestFocus();
+            return false;
+        }
+        String net = net_mask.getText().toString();
+        if (net.equals("") || !ipCheck(net)) {
+            net_mask.setFocusable(true);
+            net_mask.requestFocus();
+            return false;
+        }
+        return true;
+    }
+
+    private void onBtnConfirm() {
+
+        if (staticip.isChecked()) {
+            if (!validateDate()) {
+                return;
+            }
+            String ip = ip_address.getText().toString();
+            String mask = net_mask.getText().toString();
+            String gate = gate_way.getText().toString();
+            String dns = dns_server.getText().toString();
+            mLztek.setEthIpAddress(ip, mask, gate, dns);
+        } else {
+            mLztek.setEthDhcpMode();
+        }
+    }
+
+    long lastClick = System.currentTimeMillis();
 
     @Click
     public void save() {
         String secondStr = second.getSelectedItem().toString();
         String alarmAudioStr = alarmAudio.getSelectedItem().toString();
+        String keepTimeStr = keepTime.getSelectedItem().toString();
+        String keepTimeTypeStr = keepTimeType.getSelectedItem().toString();
         String ipStr = ip.getText().toString().trim();
         String portStr = port.getText().toString().trim();
-        String passwordStr = password.getText().toString().trim();
-        if (passwordStr.length() == 0) {
-            ToastUtil.show("瀵嗙爜涓嶈兘涓虹┖");
-            return;
+        String oldPasswordStr = oldPassword.getText().toString().trim();
+        String newPasswordStr = newPassword.getText().toString().trim();
+        String newPassword2Str = newPassword2.getText().toString().trim();
+        String password = SettingManager.oldPassword();
+        if (!TextUtils.isEmpty(newPasswordStr) || !TextUtils.isEmpty(newPassword2Str) ) {
+            if (oldPasswordStr.length() == 0) {
+                ToastUtil.show("瀵嗙爜涓嶈兘涓虹┖");
+                return;
+            }
+            if(!password.equals(oldPasswordStr)) {
+                ToastUtil.show("鏃у瘑鐮佷笉姝g‘");
+                return;
+            }
+            if(!newPasswordStr.equals(newPassword2Str)) {
+                ToastUtil.show("涓ゆ杈撳叆鐨勫瘑鐮佷笉涓�鑷�");
+                return;
+            }
+            password = newPasswordStr;
         }
-        if(!"basic".equals(passwordStr)) {
-            ToastUtil.show("瀵嗙爜涓嶆纭�");
-            return;
-        }
+
         if (ipStr.length() == 0) {
             ToastUtil.show("IP涓嶈兘涓虹┖");
             return;
@@ -150,7 +418,26 @@
             ToastUtil.show("绔彛涓嶈兘涓虹┖");
             return;
         }
-        if (SettingManager.saveSetting(secondStr, ipStr, alarmAudioStr,portStr)) {
+        if (saved) {
+            return;
+        }
+        saved = true;
+        if (Constants.NativeLib) {
+            boolean ethEnalbe = mLztek.getEthEnable();
+            if (ethEnalbe) {
+                onBtnConfirm();
+            }
+        }
+
+        Map<String, String> setting = SettingManager.findSetting();
+        setting.put(Setting.alarmAudio, alarmAudioStr);
+        setting.put(Setting.ip, ipStr);
+        setting.put(Setting.second, secondStr);
+        setting.put(Setting.port, portStr);
+        setting.put(Setting.password, password);
+        setting.put(Setting.keepTime, keepTimeStr);
+        setting.put(Setting.keepTimeType, keepTimeTypeStr);
+        if (SettingManager.saveSetting(setting)) {
             mainActivity().fragment_home.setRootUrl();
             SuccessDialog successDialog = new SuccessDialog(mainActivity());
             successDialog.show();
@@ -164,7 +451,15 @@
     @Click
     public void goto_home() {
         mainActivity().fragment_home.stopAllVideoPlays(null);
+        AudioPlayer.stopInNewThread(mp);
+        mp = null;
         mainActivity().goto_home();
     }
 
+    @Click
+    public void exit() {
+        android.os.Process.killProcess(android.os.Process.myPid());
+        System.exit(0);
+    }
+
 }
diff --git a/app/src/main/java/com/basic/security/fragment/helper/HomeBase.java b/app/src/main/java/com/basic/security/fragment/helper/HomeBase.java
index 4f67b9b..0a493d6 100644
--- a/app/src/main/java/com/basic/security/fragment/helper/HomeBase.java
+++ b/app/src/main/java/com/basic/security/fragment/helper/HomeBase.java
@@ -36,7 +36,7 @@
     @ViewById
     public GridView alarmListGridView;
 
-    public MediaPlayer mp;
+
     public List<Map<String, String>> sqliteAlarmList = Collections.synchronizedList(new ArrayList<Map<String, String>>());
     public Lock sqliteAlarmListLock = new ReentrantLock();
 
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 41e2197..1a1e71a 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
@@ -15,6 +15,7 @@
 
 import com.basic.security.R;
 import com.basic.security.manager.AlarmManager;
+import com.basic.security.model.Alarm;
 import com.basic.security.utils.KeyboardUtil;
 import com.basic.security.utils.ToastUtil;
 import com.basic.security.widget.CustomSpinner2;
@@ -135,19 +136,36 @@
                 viewHolder1.highlightBorder.setBackgroundResource(R.drawable.highlight_border);
                 viewHolder1.highlightShadow.setVisibility(View.VISIBLE);
             }
-            viewHolder.closeAlarm.setOnClickListener(new View.OnClickListener() {
-                @Override
-                public void onClick(View v) {
-                    viewHolder1.alarm.put("closeAlarm", "true");
-                    AlarmManager.deleteAlarm(viewHolder1.alarm);
-                    stopVideo(viewHolder1);
-                    sqliteAlarmListLock.lock();
-                    sqliteAlarmList.remove(viewHolder1.alarm);
-                    sqliteAlarmListLock.unlock();
-                    alarmListAdapter.notifyDataSetChanged();
-                    ToastUtil.show("鎶ヨ宸茬‘璁わ紒");
-                }
-            });
+            if ("true".equals(viewHolder1.alarm.get("canClose"))) {
+                viewHolder1.closeAlarm.setImageResource(R.drawable.u259);
+                viewHolder.closeAlarm.setOnClickListener(new View.OnClickListener() {
+                    @Override
+                    public void onClick(View v) {
+                        viewHolder1.alarm.put(Alarm.mute, "true");
+                        viewHolder1.alarm.put("closeAlarm", "true");
+                        new Thread(){
+                            @Override
+                            public void run() {
+                                AlarmManager.deleteAlarm(viewHolder1.alarm);
+                            }
+                        }.start();
+                        stopVideo(viewHolder1);
+                        sqliteAlarmListLock.lock();
+                        sqliteAlarmList.remove(viewHolder1.alarm);
+                        sqliteAlarmListLock.unlock();
+                        alarmListAdapter.notifyDataSetChanged();
+                        ToastUtil.show("鎶ヨ宸茬‘璁わ紒");
+                    }
+                });
+            } else {
+                viewHolder1.closeAlarm.setImageResource(R.drawable.u259_gray);
+                viewHolder.closeAlarm.setOnClickListener(new View.OnClickListener() {
+                    @Override
+                    public void onClick(View v) {
+                    }
+                });
+            }
+
             viewHolder.alarmPicture.setOnClickListener(new View.OnClickListener() {
                 @Override
                 public void onClick(View v) {
@@ -292,35 +310,39 @@
         }
     }
     public void goto_video_fullscreen(final AlarmListAdapter.ViewHolder viewHolder) {
-        for (AlarmListAdapter.ViewHolder vh : viewHolderSet.keySet()) {
-            if ("true".equals(vh.alarm.get("videoPlaying"))) {
-                vh.alarmVideoOverlay.setVisibility(View.VISIBLE);
+        if ("true".equals(viewHolder.alarm.get("alarmVideoValid"))) {
+            for (AlarmListAdapter.ViewHolder vh : viewHolderSet.keySet()) {
+                if ("true".equals(vh.alarm.get("videoPlaying"))) {
+                    vh.alarmVideoOverlay.setVisibility(View.VISIBLE);
+                }
             }
+            new Thread(){
+                @Override
+                public void run() {
+                    SystemClock.sleep(100);
+                    mainActivity().runOnUiThread(new Runnable() {
+                        @Override
+                        public void run() {
+                            currentVideoPlayTimeMap.remove(viewHolder.alarm.get("id"));
+                            playVideo(viewHolder);
+                            if (!"true".equals(viewHolder.alarm.get("alarmVideoValid"))) {
+                                ToastUtil.show("鎾斁澶辫触, 瑙嗛璺緞閿欒銆�");
+                            }
+                            if ("true".equals(viewHolder.alarm.get("alarmVideoValid"))) {
+                                viewHolder.alarmVideo.setVisibility(View.INVISIBLE);
+                                viewHolder.alarmVideoGestureOverlayView.setVisibility(View.INVISIBLE);
+                                stopAllVideoPlays(viewHolder.alarmVideo);
+                                mainActivity().goto_fullscreenVideoView(viewHolder.alarm.get("alarmVideo"));
+                            } else {
+                                ToastUtil.show("鎾斁澶辫触, 瑙嗛璺緞閿欒銆�");
+                            }
+                        }
+                    });
+                }
+            }.start();
+        } else {
+            ToastUtil.show("鎾斁澶辫触, 瑙嗛璺緞閿欒銆�");
         }
-        new Thread(){
-            @Override
-            public void run() {
-                SystemClock.sleep(100);
-                mainActivity().runOnUiThread(new Runnable() {
-                    @Override
-                    public void run() {
-                        currentVideoPlayTimeMap.remove(viewHolder.alarm.get("id"));
-                        playVideo(viewHolder);
-                        if (!"true".equals(viewHolder.alarm.get("alarmVideoValid"))) {
-                            ToastUtil.show("鎾斁澶辫触, 瑙嗛璺緞閿欒銆�");
-                        }
-                        if ("true".equals(viewHolder.alarm.get("alarmVideoValid"))) {
-                            viewHolder.alarmVideo.setVisibility(View.INVISIBLE);
-                            viewHolder.alarmVideoGestureOverlayView.setVisibility(View.INVISIBLE);
-                            stopAllVideoPlays(viewHolder.alarmVideo);
-                            mainActivity().goto_fullscreenVideoView(viewHolder.alarm.get("alarmVideo"));
-                        } else {
-                            ToastUtil.show("鎾斁澶辫触, 瑙嗛璺緞閿欒銆�");
-                        }
-                    }
-                });
-            }
-        }.start();
 
     }
 }
diff --git a/app/src/main/java/com/basic/security/fragment/helper/HomePlayAlarmSound.java b/app/src/main/java/com/basic/security/fragment/helper/HomePlayAlarmSound.java
index a2582f8..5543c34 100644
--- a/app/src/main/java/com/basic/security/fragment/helper/HomePlayAlarmSound.java
+++ b/app/src/main/java/com/basic/security/fragment/helper/HomePlayAlarmSound.java
@@ -16,91 +16,151 @@
 import org.androidannotations.annotations.Background;
 import org.androidannotations.annotations.EFragment;
 
+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;
 
 @EFragment
 public abstract class HomePlayAlarmSound extends HomeBase {
 
     public static boolean shouldRestartSound = false;
 
-    @Background
-    public void playAlarmSound() {
-        SettingManager.initMilliSecond();
-        SettingManager.initAlarmAudio();
-        while (true) {
-            try {
-                class Helper {
-                    public int getAlarmAudio() {
-                        String alarmAudio = SettingManager.alarmAudio;
-                        return SettingFragment.getAudioRawIndex(alarmAudio);
+    public static List<MediaPlayer> mediaPlayers = new ArrayList<>();
+    public static Lock mediaPlayersLock = new ReentrantLock();
+    public static MediaPlayer mp;
+    public static MediaPlayer playAlarm(String alarmAudio) {
+        mediaPlayersLock.lock();
+        boolean looping = true;
+        try {
+            if (mp == null ) {
+                stopAlarm();
+                mp = MediaPlayer.create(BaseApplication.getApplication().activity, SettingFragment.getAudioRawIndex(alarmAudio));
+                mp.setLooping(looping);
+                mp.start();
+                mediaPlayers.add(mp);
+            } else {
+                boolean isPlaying = false;
+                try {
+                    isPlaying = mp.isPlaying();
+                } catch (Exception e) {
+                    System.out.println("HomePlayAlarmSound.playAlarm " + e.getMessage());
+                }
+                if (!isPlaying || !looping || HomePlayAlarmSound.shouldRestartSound) {
+                    if (HomePlayAlarmSound.shouldRestartSound) {
+                        HomePlayAlarmSound.shouldRestartSound = false;
                     }
-                    public boolean shouldPlayAlarmSound(){
-                        boolean hasSound = false;
-                        boolean mutedAlarms = false;
-                        final Set<HomeGridViewAdapter.AlarmListAdapter.ViewHolder> viewHolderSet =
-                                ((MainActivity)BaseApplication.getApplication().activity).fragment_home.viewHolderSet.keySet();
-                        Map<String, HomeGridViewAdapter.AlarmListAdapter.ViewHolder> viewHolderMap = new HashMap<>();
+                    stopAlarm();
+                    mp = MediaPlayer.create(BaseApplication.getApplication().activity, SettingFragment.getAudioRawIndex(alarmAudio));
+                    mp.setLooping(looping);
+                    mp.start();
+                    mediaPlayers.add(mp);
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        mediaPlayersLock.unlock();
+        return mp;
+    }
 
-                        final Set<HomeGridViewAdapter.AlarmListAdapter.ViewHolder> viewHolderMuteSet = new HashSet<>();
-                        sqliteAlarmListLock.lock();
-                        for (Map<String, String> sqliteAlarm : sqliteAlarmList) {
-                            long currentTime = System.currentTimeMillis();
-                            try{
-                                if ("false".equals(sqliteAlarm.get("mute"))) {
-                                    long createTime = Long.parseLong(sqliteAlarm.get("createTime"));
-                                    if ((currentTime - createTime) < SettingManager.milliSeconds) {
-                                        hasSound = true;
-                                    } else {
-                                        mutedAlarms = true;
-                                        sqliteAlarm.put("mute", "true");
+    public static void stopAlarm() {
+        mediaPlayersLock.lock();
+        for (MediaPlayer mediaPlayer : mediaPlayers) {
+            try {
+                mediaPlayer.stop();
+                mediaPlayer.release();
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+        mediaPlayers.clear();
+        mediaPlayersLock.unlock();
+    }
+
+
+    public void playAlarmSound() {
+        new Thread(){
+            @Override
+            public void run() {
+                SettingManager.initMilliSecond();
+                SettingManager.initAlarmAudio();
+                while (true) {
+                    try {
+                        class Helper {
+                            public int getAlarmAudio() {
+                                String alarmAudio = SettingManager.alarmAudio;
+                                return SettingFragment.getAudioRawIndex(alarmAudio);
+                            }
+                            public boolean shouldPlayAlarmSound(){
+                                boolean hasSound = false;
+                                try {
+                                    boolean mutedAlarms = false;
+                                    final Set<HomeGridViewAdapter.AlarmListAdapter.ViewHolder> viewHolderSet =
+                                            ((MainActivity)BaseApplication.getApplication().activity).fragment_home.viewHolderSet.keySet();
+                                    Map<String, HomeGridViewAdapter.AlarmListAdapter.ViewHolder> viewHolderMap = new HashMap<>();
+
+                                    final Set<HomeGridViewAdapter.AlarmListAdapter.ViewHolder> viewHolderMuteSet = new HashSet<>();
+                                    sqliteAlarmListLock.lock();
+                                    for (Map<String, String> sqliteAlarm : sqliteAlarmList) {
+                                        long currentTime = System.currentTimeMillis();
+                                        try{
+                                            if ("false".equals(sqliteAlarm.get("mute"))) {
+                                                long createTime = Long.parseLong(sqliteAlarm.get("createTime"));
+                                                if ((currentTime - createTime) < SettingManager.milliSeconds) {
+                                                    hasSound = true;
+                                                } else {
+                                                    mutedAlarms = true;
+                                                    sqliteAlarm.put("mute", "true");
 //                                        final HomeGridViewAdapter.AlarmListAdapter.ViewHolder viewHolder = viewHolderMap.get(sqliteAlarm.get("id"));
 //                                        viewHolderMuteSet.add(viewHolder);
-                                        AlarmManager.save(sqliteAlarm);
-                                    }
-                                }
-                            } catch (Exception e){
-                                e.printStackTrace();
-                            }
-                        }
-                        sqliteAlarmListLock.unlock();
-                        BaseApplication.getApplication().activity.runOnUiThread(new Runnable() {
-                            @Override
-                            public void run() {
-                                for (final HomeGridViewAdapter.AlarmListAdapter.ViewHolder  viewHolder: viewHolderSet) {
-                                    try{
-                                        if (viewHolder != null) {
-                                            if ("true".equals(viewHolder.alarm.get("mute"))) {
-                                                if (viewHolder.highlightBorder != null) {
-                                                    viewHolder.highlightBorder.setBackgroundResource(R.drawable.confirm_dialog_background);
-                                                }
-                                                if (viewHolder.highlightShadow != null) {
-                                                    viewHolder.highlightShadow.setVisibility(View.INVISIBLE);
-                                                }
-                                                if (viewHolder.toggleSound != null) {
-                                                    viewHolder.toggleSound.setImageResource(R.drawable.u258);
+                                                    AlarmManager.save(sqliteAlarm);
                                                 }
                                             }
+                                        } catch (Exception e){
+                                            e.printStackTrace();
                                         }
-                                        if (!"浜鸿劯".equals(viewHolder.alarm.get("alarmType"))) {
-                                            if (viewHolder.showMatchPersonList.getVisibility() == View.VISIBLE) {
-                                                viewHolder.showMatchPersonList.setVisibility(View.INVISIBLE);
-                                            }
-                                        } else {
-                                            try {
-                                                if (viewHolder.matchPersonList.getAdapter() != null) {
-                                                    if (viewHolder.matchPersonList.getAdapter().getCount() > 1) {
-                                                        viewHolder.showMatchPersonList.setVisibility(View.VISIBLE);
-                                                    } else {
-                                                        viewHolder.showMatchPersonList.setVisibility(View.INVISIBLE);
+                                    }
+                                    sqliteAlarmListLock.unlock();
+                                    BaseApplication.getApplication().activity.runOnUiThread(new Runnable() {
+                                        @Override
+                                        public void run() {
+                                            for (final HomeGridViewAdapter.AlarmListAdapter.ViewHolder  viewHolder: viewHolderSet) {
+                                                try{
+                                                    if (viewHolder != null) {
+                                                        if ("true".equals(viewHolder.alarm.get("mute"))) {
+                                                            if (viewHolder.highlightBorder != null) {
+                                                                viewHolder.highlightBorder.setBackgroundResource(R.drawable.confirm_dialog_background);
+                                                            }
+                                                            if (viewHolder.highlightShadow != null) {
+                                                                viewHolder.highlightShadow.setVisibility(View.INVISIBLE);
+                                                            }
+                                                            if (viewHolder.toggleSound != null) {
+                                                                viewHolder.toggleSound.setImageResource(R.drawable.u258);
+                                                            }
+                                                        }
                                                     }
-                                                }
-                                            } catch (Exception e) {
-                                                e.printStackTrace();
-                                            }
+                                                    if (!"浜鸿劯".equals(viewHolder.alarm.get("alarmType"))) {
+                                                        if (viewHolder.showMatchPersonList.getVisibility() == View.VISIBLE) {
+                                                            viewHolder.showMatchPersonList.setVisibility(View.INVISIBLE);
+                                                        }
+                                                    } else {
+                                                        try {
+                                                            if (viewHolder.matchPersonList.getAdapter() != null) {
+                                                                if (viewHolder.matchPersonList.getAdapter().getCount() > 1) {
+                                                                    viewHolder.showMatchPersonList.setVisibility(View.VISIBLE);
+                                                                } else {
+                                                                    viewHolder.showMatchPersonList.setVisibility(View.INVISIBLE);
+                                                                }
+                                                            }
+                                                        } catch (Exception e) {
+                                                            e.printStackTrace();
+                                                        }
 
 //                                            String[] matchPersonArray = null;
 //                                            String matchPersonListStr = viewHolder.alarm.get("matchPersonListStr");
@@ -114,52 +174,34 @@
 //                                                viewHolder.showMatchPersonList.setVisibility(View.VISIBLE);
 //                                            }
 
+                                                    }
+                                                } catch (Exception e) {
+                                                    e.printStackTrace();
+                                                }
+                                            }
                                         }
-                                    } catch (Exception e) {
-                                        e.printStackTrace();
-                                    }
+                                    });
+                                } catch (Exception e) {
+                                    e.printStackTrace();
+                                }
+                                return hasSound;
+                            }
+                            public void execute() {
+                                if (shouldPlayAlarmSound()) {
+                                    playAlarm(SettingManager.alarmAudio);
+                                } else {
+                                    stopAlarm();
                                 }
                             }
-                        });
-
-//                        if (mutedAlarms) {
-//                            refreshGridView();
-//                        }
-                        return hasSound;
-                    }
-                    public void execute() {
-                        if (shouldPlayAlarmSound()) {
-                            mp = AudioPlayer.play(mp, SettingManager.alarmAudio, true);
-//                            if (mp == null ) {
-//                                mp = MediaPlayer.create(mainActivity(), getAlarmAudio());
-//                                mp.setLooping(true);
-//                                mp.start();
-//                            } else {
-//                                if (!mp.isPlaying()) {
-//                                    mp.stop();
-//                                    mp.release();
-//                                    mp = MediaPlayer.create(mainActivity(), getAlarmAudio());
-//                                    mp.setLooping(true);
-//                                    mp.start();
-//                                }
-//                            }
-                        } else {
-                            AudioPlayer.stop(mp);
-//                            if (mp != null && mp.isPlaying()) {
-//                                mp.stop();
-//                                mp.release();
-//                                mp = null;
-//                            }
-                            mp = null;
                         }
+                        new Helper().execute();
+                        SystemClock.sleep(500);
+                    } catch (Exception e) {
+                        e.printStackTrace();
                     }
                 }
-                new Helper().execute();
-                SystemClock.sleep(500);
-            } catch (Exception e) {
-                e.printStackTrace();
             }
-        }
-    }
+        }.start();
 
+    }
 }
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 a918c4b..e25eb0b 100644
--- a/app/src/main/java/com/basic/security/manager/AlarmManager.java
+++ b/app/src/main/java/com/basic/security/manager/AlarmManager.java
@@ -4,6 +4,7 @@
 
 import com.basic.security.dao.DatabaseManager;
 import com.basic.security.dao.SqliteManager;
+import com.basic.security.model.Alarm;
 
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
@@ -99,10 +100,21 @@
         } else {
             sqliteAlarmList.addAll(dbSqliteAlarmList);
         }
+        long keepStartTime = SettingManager.getKeepStartTime();
         for (Map<String, String> alarm : sqliteAlarmList) {
             String alarmVideo = alarm.get("alarmVideo");
             String alarmPicture = alarm.get("alarmPicture");
             String alarmLargePicture = alarm.get("alarmLargePicture");
+            String alarmTimeStr = alarm.get(Alarm.alarmTime);
+            long alarmTime = new Date().getTime();
+            if (alarmTimeStr != null && alarmTimeStr.length() > "yyyy-MM-dd HH:mm:ss".length()) {
+                alarmTimeStr = alarmTimeStr.substring(0, "yyyy-MM-dd HH:mm:ss".length());
+            }
+            try {
+                alarmTime = sdf.parse(alarmTimeStr).getTime();
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
 
             if (alarmVideo != null && alarmVideo.startsWith("http:")) {
                 alarm.put("alarmVideoValid", "true");
@@ -119,6 +131,11 @@
             } else {
                 alarm.put("alarmLargePictureValid", "false");
             }
+            if (alarmTime < keepStartTime ) {
+                alarm.put("canClose", "true");
+            } else {
+                alarm.put("canClose", "false");
+            }
         }
         return sqliteAlarmList;
     }
diff --git a/app/src/main/java/com/basic/security/manager/SettingManager.java b/app/src/main/java/com/basic/security/manager/SettingManager.java
index 5f6f562..495d3d3 100644
--- a/app/src/main/java/com/basic/security/manager/SettingManager.java
+++ b/app/src/main/java/com/basic/security/manager/SettingManager.java
@@ -3,43 +3,60 @@
 import android.content.SharedPreferences;
 
 import com.basic.security.base.BaseApplication;
+import com.basic.security.dao.SqliteManager;
 import com.basic.security.fragment.SettingFragment;
+import com.basic.security.model.Setting;
+
+import java.util.Calendar;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
 
 import static android.content.Context.MODE_PRIVATE;
 
-public class SettingManager {
+public class SettingManager extends SqliteManager {
 
     public static long milliSeconds = 10*1000;
     public static String alarmAudio;
 
-    public static boolean saveSetting(String secondStr, String ipStr, String alarmAudioStr, String portStr) {
-        SharedPreferences.Editor editor = BaseApplication.getApplication().activity.getSharedPreferences("setting", MODE_PRIVATE).edit();
-        editor.putString("second", secondStr);
-        editor.putString("alarmAudio", alarmAudioStr);
-        editor.putString("ip", ipStr);
-        editor.putString("port", portStr);
-        editor.apply();
+    public static Map<String, String> findSetting() {
+        Map<String, String> setting = findById(Setting.table, "1");
+        if (setting == null) {
+            setting = new HashMap<>();
+            setting.put(Setting.id , "1");
+            setting.put(Setting.port, "53692");
+            setting.put(Setting.ip, "58.118.225.79");
+            setting.put(Setting.second, "10");
+            setting.put(Setting.alarmAudio, SettingFragment.alarmAudioArray[0]);
+            setting.put(Setting.keepTime, SettingFragment.keepTimeArray[0]);
+            setting.put(Setting.keepTimeType, SettingFragment.keepTimeTypeArray[0]);
+            setting.put(Setting.password, "basic");
+            setting.put("table", Setting.table);
+            save(setting);
+        }
+        return setting;
+    }
+
+    public static boolean saveSetting(Map<String, String> setting) {
+        setting.put(Setting.id, "1");
+        setting.put("table", Setting.table);
+
+        save(setting);
         initMilliSecond();
         initAlarmAudio();
         return true;
     }
 
     public static String getSecondStr() {
-        SharedPreferences prefs = BaseApplication.getApplication().activity.getSharedPreferences("setting", MODE_PRIVATE);
-        String second = prefs.getString("second", "10");
-        return second;
+        return findSetting().get(Setting.second);
     }
 
     public static String getIpStr() {
-        SharedPreferences prefs = BaseApplication.getApplication().activity.getSharedPreferences("setting", MODE_PRIVATE);
-        String ip = prefs.getString("ip", "192.168.1.124");
-        return ip;
+        return findSetting().get(Setting.ip);
     }
 
     public static String getPortStr() {
-        SharedPreferences prefs = BaseApplication.getApplication().activity.getSharedPreferences("setting", MODE_PRIVATE);
-        String prot = prefs.getString("port", "6000");
-        return prot;
+        return findSetting().get(Setting.port);
     }
 
     public static int getPort() {
@@ -74,8 +91,40 @@
     }
 
     public static String getAlarmAudioStr() {
-        SharedPreferences prefs = BaseApplication.getApplication().activity.getSharedPreferences("setting", MODE_PRIVATE);
-        String alarmAudio = prefs.getString("alarmAudio", SettingFragment.alarmAudioArray[0]);
-        return alarmAudio;
+        return findSetting().get(Setting.alarmAudio);
+    }
+
+    public static String getKeepTime() {
+        return findSetting().get(Setting.keepTime);
+    }
+
+
+    public static String getKeepTimeType() {
+        return findSetting().get(Setting.keepTimeType);
+    }
+
+    public static String oldPassword() {
+        String password = findSetting().get(Setting.password);
+        System.out.println("oldPassword="+password);
+        return password;
+    }
+
+    public static long getKeepStartTime() {
+        Calendar cal = Calendar.getInstance();
+
+        try {
+            Map<String, String> setting = findSetting();
+            String keepTimeType = setting.get(Setting.keepTimeType);
+            int keepTime = Integer.parseInt(setting.get(Setting.keepTime));
+            if ("鏈�".equals(keepTimeType)) {
+                cal.add(Calendar.MONTH, -1*keepTime);
+            }
+            if ("鍛�".equals(keepTimeType)) {
+                cal.add(Calendar.DATE, -1*keepTime*7);
+            }
+        } catch (Exception e){
+            e.printStackTrace();
+        }
+        return cal.getTime().getTime();
     }
 }
diff --git a/app/src/main/java/com/basic/security/model/Alarm.java b/app/src/main/java/com/basic/security/model/Alarm.java
new file mode 100644
index 0000000..97f4418
--- /dev/null
+++ b/app/src/main/java/com/basic/security/model/Alarm.java
@@ -0,0 +1,19 @@
+package com.basic.security.model;
+
+public class Alarm {
+    public static String id = "id";
+    public static String matchPersonListStr = "matchPersonListStr";
+    public static String property = "property";
+    public static String alarmLargePicture = "alarmLargePicture";
+    public static String alarmPerson = "alarmPerson";
+    public static String alarmPicture = "alarmPicture";
+    public static String alarmVideo = "alarmVideo";
+    public static String alarmTime = "alarmTime";
+    public static String alarmAddress = "alarmAddress";
+    public static String alarmType = "alarmType";
+    public static String createTime = "createTime";
+    public static String closeAlarm = "closeAlarm";
+    public static String mute = "mute";
+    public static String table = "Alarm";
+
+}
diff --git a/app/src/main/java/com/basic/security/model/Setting.java b/app/src/main/java/com/basic/security/model/Setting.java
new file mode 100644
index 0000000..b206737
--- /dev/null
+++ b/app/src/main/java/com/basic/security/model/Setting.java
@@ -0,0 +1,15 @@
+package com.basic.security.model;
+
+public class Setting {
+
+    public static String id = "id";
+    public static String second = "second";
+    public static String ip = "ip";
+    public static String port = "port";
+    public static String alarmAudio = "alarmAudio";
+    public static String keepTime = "keepTime";
+    public static String keepTimeType = "keepTimeType";
+    public static String password = "password";
+    public static String table = "Setting";
+
+}
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 1c898e5..898719a 100644
--- a/app/src/main/java/com/basic/security/utils/AudioPlayer.java
+++ b/app/src/main/java/com/basic/security/utils/AudioPlayer.java
@@ -9,6 +9,7 @@
 
 public class AudioPlayer {
 
+
     public static MediaPlayer play(MediaPlayer mp, String alarmAudio, boolean looping) {
         try {
             if (mp == null ) {
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 1dad2f6..f984f1a 100644
--- a/app/src/main/java/com/basic/security/utils/Constants.java
+++ b/app/src/main/java/com/basic/security/utils/Constants.java
@@ -1,6 +1,9 @@
 package com.basic.security.utils;
 
 public class Constants {
-    public static String databaseName = "alarm.db";
-    public static boolean printSql = false;
+    public static String databaseName = "/sdcard/alarm.db";
+    public static boolean printSql = true;
+    public static boolean autoRestart = false;
+
+    public static boolean NativeLib =  false;
 }
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 0a1829e..6d43e8f 100644
--- a/app/src/main/java/com/basic/security/utils/CrashHandler.java
+++ b/app/src/main/java/com/basic/security/utils/CrashHandler.java
@@ -15,9 +15,14 @@
 
 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;
+import java.io.FileReader;
 import java.io.PrintWriter;
 import java.io.StringWriter;
 import java.io.Writer;
@@ -48,7 +53,7 @@
     private Map<String, String> infos = new HashMap<String, String>();
 
     // 鐢ㄤ簬鏍煎紡鍖栨棩鏈�,浣滀负鏃ュ織鏂囦欢鍚嶇殑涓�閮ㄥ垎
-    private DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
+    private static DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
 
     /**
      * 淇濊瘉鍙湁涓�涓狢rashHandler瀹炰緥
@@ -99,17 +104,20 @@
             e.printStackTrace();
         }
         try {
-            new Thread() {
+            if (Constants.autoRestart) {
+                new Thread() {
 
-                @Override
-                public void run() {
-                    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());
-                }
-            }.start();
+                    @Override
+                    public void run() {
+                        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());
+                    }
+                }.start();
+            }
+
         } catch (Exception e) {
             e.printStackTrace();
         }
@@ -208,6 +216,26 @@
         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()
diff --git a/app/src/main/java/com/basic/security/utils/IpUtils.java b/app/src/main/java/com/basic/security/utils/IpUtils.java
new file mode 100644
index 0000000..9f2d768
--- /dev/null
+++ b/app/src/main/java/com/basic/security/utils/IpUtils.java
@@ -0,0 +1,84 @@
+package com.basic.security.utils;
+
+import android.content.Context;
+import android.net.ConnectivityManager;
+import android.net.NetworkInfo;
+import android.net.wifi.WifiInfo;
+import android.net.wifi.WifiManager;
+
+import java.net.Inet4Address;
+import java.net.InetAddress;
+import java.net.NetworkInterface;
+import java.net.SocketException;
+import java.util.Enumeration;
+
+public class IpUtils {
+    /**
+     * 鑾峰彇鏈満璁惧Ip
+     * @param context
+     * @return
+     */
+    public static String getIpAddress(Context context) {
+        NetworkInfo info = ((ConnectivityManager) context
+                .getSystemService(Context.CONNECTIVITY_SERVICE)).getActiveNetworkInfo();
+        if (info != null && info.isConnected()) {
+            // 3/4g缃戠粶
+            if (info.getType() == ConnectivityManager.TYPE_MOBILE) {
+                try {
+                    for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements(); ) {
+                        NetworkInterface intf = en.nextElement();
+                        for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements(); ) {
+                            InetAddress inetAddress = enumIpAddr.nextElement();
+                            if (!inetAddress.isLoopbackAddress() && inetAddress instanceof Inet4Address) {
+                                return inetAddress.getHostAddress();
+                            }
+                        }
+                    }
+                } catch (SocketException e) {
+                    e.printStackTrace();
+                }
+
+            } else if (info.getType() == ConnectivityManager.TYPE_WIFI) {
+                //  wifi缃戠粶
+                WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
+                WifiInfo wifiInfo = wifiManager.getConnectionInfo();
+                String ipAddress = intIP2StringIP(wifiInfo.getIpAddress());
+                return ipAddress;
+            } else if (info.getType() == ConnectivityManager.TYPE_ETHERNET) {
+                // 鏈夐檺缃戠粶
+                return getLocalIp();
+            }
+        }
+        return null;
+    }
+
+    private static String intIP2StringIP(int ip) {
+        return (ip & 0xFF) + "." +
+                ((ip >> 8) & 0xFF) + "." +
+                ((ip >> 16) & 0xFF) + "." +
+                (ip >> 24 & 0xFF);
+    }
+
+
+    // 鑾峰彇鏈夐檺缃慖P
+    private static String getLocalIp() {
+        try {
+            for (Enumeration<NetworkInterface> en = NetworkInterface
+                    .getNetworkInterfaces(); en.hasMoreElements(); ) {
+                NetworkInterface intf = en.nextElement();
+                for (Enumeration<InetAddress> enumIpAddr = intf
+                        .getInetAddresses(); enumIpAddr.hasMoreElements(); ) {
+                    InetAddress inetAddress = enumIpAddr.nextElement();
+                    if (!inetAddress.isLoopbackAddress()
+                            && inetAddress instanceof Inet4Address) {
+                        return inetAddress.getHostAddress();
+                    }
+                }
+            }
+        } catch (SocketException ex) {
+
+        }
+        return "0.0.0.0";
+
+    }
+}
diff --git a/app/src/main/java/com/basic/security/utils/JnanomsgServer.java b/app/src/main/java/com/basic/security/utils/JnanomsgServer.java
new file mode 100644
index 0000000..e5fb418
--- /dev/null
+++ b/app/src/main/java/com/basic/security/utils/JnanomsgServer.java
@@ -0,0 +1,54 @@
+package com.basic.security.utils;
+
+//import nanomsg.reqrep.RepSocket;
+//import nanomsg.reqrep.ReqSocket;
+//
+//public class JnanomsgServer {
+//    private static String url = "tcp://0.0.0.0:7789";
+//
+//    public static void main(String[] args) {
+//        receive();
+////        send();
+//    }
+//    public static void receive() {
+//        System.out.println("JnanomsgServer.receive");
+//        final RepSocket socket = new RepSocket();
+//        socket.setRecvTimeout(-1);
+//        socket.bind(url);
+//        new Thread(new Runnable() {
+//            public void run() {
+//                while (true) {
+//                    try {
+//                        System.out.println( "received:" + socket.recvString());  // 闃诲socket锛岀洿鍒拌秴鏃舵垨鑰呮湁鍝嶅簲
+//                        Thread.sleep(1000);
+//                        socket.send("received");
+//
+//                    } catch (Exception e) {       // 蹇界暐瓒呮椂
+////                        e.printStackTrace();
+//                    	System.out.println(e.getMessage());
+//                    }
+//                }
+//            }
+//        }).start();
+//    }
+//
+////    private static void send() {
+////        final ReqSocket socket = new ReqSocket();
+////        socket.connect(url);
+////        new Thread(new Runnable() {
+////            public void run() {
+////                while (true) {
+////                    try {
+////                        socket.send("hello");
+////                        Thread.sleep(1000);
+////                        System.out.println( "node0:" + socket.recvString());  // 闃诲socket锛岀洿鍒拌秴鏃舵垨鑰呮湁鍝嶅簲
+////                    } catch (InterruptedException e) {
+////                        e.printStackTrace();
+////                    } catch (Exception e) {
+////                        // e.printStackTrace();
+////                    }
+////                }
+////            }
+////        }).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 341b5a2..26b3f07 100644
--- a/app/src/main/java/com/basic/security/utils/KeyboardUtil.java
+++ b/app/src/main/java/com/basic/security/utils/KeyboardUtil.java
@@ -29,6 +29,7 @@
         if (!(view instanceof EditText)) {
             view.setOnTouchListener(new View.OnTouchListener() {
                 public boolean onTouch(View v, MotionEvent event) {
+                    System.out.println("KeyboardUtil.onTouch setOnTouchListener view="+v);
                     KeyboardUtil.hideSoftKeyboard();
                     return false;
                 }
@@ -56,4 +57,5 @@
         }
     }
 
+
 }
diff --git a/app/src/main/java/com/basic/security/utils/LztekAndroidRoot.java b/app/src/main/java/com/basic/security/utils/LztekAndroidRoot.java
new file mode 100644
index 0000000..80a885c
--- /dev/null
+++ b/app/src/main/java/com/basic/security/utils/LztekAndroidRoot.java
@@ -0,0 +1,54 @@
+package com.basic.security.utils;
+
+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); 
+		}    
+	}
+}
diff --git a/app/src/main/java/com/basic/security/utils/PermissionHelper.java b/app/src/main/java/com/basic/security/utils/PermissionHelper.java
new file mode 100644
index 0000000..a1d0fef
--- /dev/null
+++ b/app/src/main/java/com/basic/security/utils/PermissionHelper.java
@@ -0,0 +1,88 @@
+/*
+ * Copyright 2018 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.basic.security.utils;
+
+
+import android.Manifest;
+import android.app.Activity;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.net.Uri;
+import android.provider.Settings;
+import android.support.v4.app.ActivityCompat;
+import android.support.v4.content.ContextCompat;
+import android.widget.Toast;
+
+/**
+ * Helper class for handling dangerous permissions for Android API level >= 23 which
+ * 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) {
+
+    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/SocketAcceptedClient.java b/app/src/main/java/com/basic/security/utils/SocketAcceptedClient.java
new file mode 100644
index 0000000..a14d934
--- /dev/null
+++ b/app/src/main/java/com/basic/security/utils/SocketAcceptedClient.java
@@ -0,0 +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);
+            }
+//
+            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 a2aac19..d1c6353 100644
--- a/app/src/main/java/com/basic/security/utils/SocketClient.java
+++ b/app/src/main/java/com/basic/security/utils/SocketClient.java
@@ -20,6 +20,7 @@
 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;
@@ -28,9 +29,10 @@
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
 
 public class SocketClient extends Thread {
-    Socket socket;
     private String ip;
     private int port;
 
@@ -53,6 +55,11 @@
             return 0;
         }
     };
+
+    public native void setup(String ip, int port);
+    public native String receive();
+
+    public static long lastUpdateTime = System.currentTimeMillis();
 
     public void parseJson(String msg) {
 
@@ -139,67 +146,127 @@
     }
 
     List<Map<String, String>> newRemoteAlarmList = null;
+
+    public Socket socket = null;
+    byte[] buff = new byte[1*1024*1024];
     @Override
     public void run() {
         super.run();
         BufferedInputStream inputStream = null;
         BufferedOutputStream outputStream = null;
-        Socket socket = null;
         ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
         String msg = null;
         try {
             while (true) {
-                try {
-                    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;
-                    }
-                    ip = SettingManager.getIpStr();
-                    port = SettingManager.getPort();
-                    socket = new Socket();
-                    socket.connect(new InetSocketAddress(ip, port), 3000);
-//                    socket.connect(new InetSocketAddress(ip, 7000), 3000);
-                    inputStream = new BufferedInputStream(socket.getInputStream());
-                    outputStream = new BufferedOutputStream(socket.getOutputStream());
-
-                    byte[] buff = new byte[10*1024*1024];
-                    int len = 0;
-                    while ((len = inputStream.read(buff)) != -1) {
-                        for (int i1 = 0; i1 <len; i1++) {
-                            if (buff[i1] == '\0') {
-                                byte[] msgBuf = byteArrayOutputStream.toByteArray();
-                                msg = new String(msgBuf, 0, msgBuf.length);
-                                msg = msg.substring(0, msg.lastIndexOf("}") + 1);
-                                byteArrayOutputStream.reset();
-                                System.out.println("msg="+msg);
-                                parseJson(msg);
-                            } else {
-                                byteArrayOutputStream.write(buff[i1]);
-                            }
-                        }
-                        if (needRestart) {
-                            needRestart = false;
-                            break;
-                        }
-                    }
-                } catch (Exception e) {
-                    System.out.println("SocketClient:110, " + e.getMessage());
-                } finally {
-                    if (socket != null) {
+                if (1!=1) {
+                    System.out.println("SocketClient.run setup 閲嶈繛");
+                    setup(ip, port);
+                    while(true) {
                         try {
-                            socket.close();
+                            String json = receive();
+                            System.out.println("json=" + json);
+                            lastUpdateTime = System.currentTimeMillis();
+                            if (json.length() > 0) {
+                                if (json.equals("-1")) {
+                                    System.out.println("SocketClient.run setup 閿欒");
+                                    SystemClock.sleep(100);
+                                    break;
+                                }
+                                parseJson(json);
+                            } else {
+                                SystemClock.sleep(100);
+                            }
                         } catch (Exception e) {
                             e.printStackTrace();
                         }
                     }
-                    SystemClock.sleep(2000);
+                    SystemClock.sleep(1000);
+//                    continue;
+                } else {
+
+                    try {
+                        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) {
+                            SystemClock.sleep(10 * 1000);
+                            continue;
+                        }
+                        ip = SettingManager.getIpStr();
+                        port = SettingManager.getPort();
+                        try {
+                            closeAllSockets();
+                            System.out.println("鏂紑鍘熸潵鎵�鏈夎繛鎺�");
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                        SystemClock.sleep(10*1000);
+                        socket = new Socket();
+                        socketAdd(socket);
+                        socket.connect(new InetSocketAddress(ip, port), 3000);
+                        System.out.println("杩炴帴鎴愬姛");
+//                    socket.connect(new InetSocketAddress(ip, 7000), 3000);
+                        inputStream = new BufferedInputStream(socket.getInputStream());
+                        outputStream = new BufferedOutputStream(socket.getOutputStream());
+                        int len = 0;
+                        lastUpdateTime = System.currentTimeMillis();
+                        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();
+                                    }
+
+                                    lastUpdateTime = System.currentTimeMillis();
+                                } else {
+                                    byteArrayOutputStream.write(buff[i1]);
+                                }
+                            }
+                            if (needRestart) {
+                                needRestart = false;
+                                break;
+                            }
+                        }
+                    } catch (Exception e) {
+                        System.out.println("SocketClient:110, " + e.getMessage());
+                        if (e instanceof  InterruptedException ) {
+                            System.out.println("涓柇寮傚父锛� 閫�鍑虹▼搴�");
+                            return;
+                        }
+                    } finally {
+                        if (socket != null) {
+                            try {
+                                socket.close();
+                                socket = null;
+                            } catch (Exception e) {
+                                e.printStackTrace();
+                            }
+                        }
+                        System.out.println("鍑嗗20绉掑悗閲嶈繛");
+                        SystemClock.sleep(20*1000);
+                    }
                 }
+
             }
 
         } catch (Exception e) {
             e.printStackTrace();
+            if (e instanceof InterruptedException) {
+                System.out.println("涓柇寮傚父锛� 閫�鍑虹▼搴�");
+                return;
+            }
         } finally {
             try {
                 if (outputStream != null) {
@@ -222,4 +289,40 @@
 
     }
 
+    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() {
+        try {
+            if (socket != null) {
+                socket.close();
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
 }
diff --git a/app/src/main/java/com/basic/security/utils/SocketServer.java b/app/src/main/java/com/basic/security/utils/SocketServer.java
new file mode 100644
index 0000000..f97adbf
--- /dev/null
+++ b/app/src/main/java/com/basic/security/utils/SocketServer.java
@@ -0,0 +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();
+
+    }
+}
diff --git a/app/src/main/java/com/basic/security/widget/AuthDialog.java b/app/src/main/java/com/basic/security/widget/AuthDialog.java
new file mode 100644
index 0000000..54b6245
--- /dev/null
+++ b/app/src/main/java/com/basic/security/widget/AuthDialog.java
@@ -0,0 +1,150 @@
+package com.basic.security.widget;
+
+import android.app.Dialog;
+import android.content.Context;
+import android.graphics.Rect;
+import android.os.Bundle;
+import android.support.annotation.NonNull;
+import android.util.DisplayMetrics;
+import android.view.LayoutInflater;
+import android.view.MotionEvent;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.Window;
+import android.view.WindowManager;
+import android.view.inputmethod.InputMethodManager;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.TextView;
+
+import com.basic.security.R;
+import com.basic.security.activity.MainActivity;
+import com.basic.security.base.BaseApplication;
+import com.basic.security.manager.SettingManager;
+import com.basic.security.utils.KeyboardUtil;
+import com.basic.security.utils.ToastUtil;
+
+public class AuthDialog extends Dialog {
+
+    private Context context;
+    private ClickListenerInterface clickListenerInterface;
+    public EditText password;
+
+    public interface ClickListenerInterface {
+
+        void doConfirm();
+
+        void doCancel();
+    }
+
+    public AuthDialog(Context context) {
+        super(context, R.style.ConfirmDialogStyle);
+        this.context = context;
+        this.setCanceledOnTouchOutside(false);
+    }
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        init();
+    }
+
+    public void init() {
+
+        LayoutInflater inflater = LayoutInflater.from(context);
+
+        View view = inflater.inflate(R.layout.auth_dialog, null);
+        setContentView(view);
+
+        TextView tvTitle = view.findViewById(R.id.title);
+        Button tvConfirm = view.findViewById(R.id.ok);
+        Button cancel = view.findViewById(R.id.cancel);
+        password = view.findViewById(R.id.password);
+
+        tvConfirm.setOnClickListener(new clickListener());
+        cancel.setOnClickListener(new clickListener());
+
+        Window dialogWindow = getWindow();
+        WindowManager.LayoutParams lp = dialogWindow.getAttributes();
+        DisplayMetrics d = context.getResources().getDisplayMetrics(); // 鑾峰彇灞忓箷瀹姐�侀珮鐢�
+        //lp.width = (int) (d.widthPixels * 0.8); // 楂樺害璁剧疆涓哄睆骞曠殑0.6
+        //dialogWindow.setAttributes(lp);
+        hideSystemUI();
+        initSystemUIListener();
+    }
+
+    private void initSystemUIListener() {
+        if (getWindow() != null) {
+            getWindow().getDecorView().setOnSystemUiVisibilityChangeListener(new View.OnSystemUiVisibilityChangeListener() {
+                @Override
+                public void onSystemUiVisibilityChange(int visibility) {
+                    hideSystemUI();
+                }
+            });
+
+        }
+    }
+
+    private void hideSystemUI() {
+        if (getWindow() != null) {
+            getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE
+                    | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
+                    | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
+                    | View.SYSTEM_UI_FLAG_FULLSCREEN
+                    | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
+                    | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
+                    | View.SYSTEM_UI_FLAG_IMMERSIVE);
+        }
+    }
+
+    @Override
+    public void show() {
+
+        try {
+            hideSystemUI();
+            super.show();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+    }
+
+    public void setClickListener(ClickListenerInterface clickListenerInterface) {
+        this.clickListenerInterface = clickListenerInterface;
+    }
+
+    private class clickListener implements View.OnClickListener {
+        @Override
+        public void onClick(View v) {
+            int id = v.getId();
+            switch (id) {
+                case R.id.ok:
+                    String passwordStr = password.getText().toString();
+                    String dbPassword = SettingManager.oldPassword();
+                    if (passwordStr.length() == 0) {
+                        ToastUtil.show("瀵嗙爜涓嶈兘涓虹┖");
+                        return;
+                    }
+                    if (!dbPassword.equals(passwordStr)) {
+                        ToastUtil.show("瀵嗙爜涓嶆纭�");
+                        return;
+                    }
+                    AuthDialog.this.dismiss();
+                    ((MainActivity)BaseApplication.getApplication().activity).do_goto_setting();
+                    break;
+                case R.id.cancel:
+                    AuthDialog.this.dismiss();
+                    break;
+            }
+        }
+
+    }
+
+    @Override
+    public boolean onTouchEvent(@NonNull MotionEvent event) {
+        InputMethodManager imm = (InputMethodManager)BaseApplication.getApplication().getSystemService(context.INPUT_METHOD_SERVICE);
+        imm.hideSoftInputFromWindow(password.getWindowToken(), 0);
+        return super.onTouchEvent(event);
+    }
+
+}
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 1980ee2..e3795a6 100644
--- a/app/src/main/java/com/basic/security/widget/CustomSpinner.java
+++ b/app/src/main/java/com/basic/security/widget/CustomSpinner.java
@@ -42,4 +42,23 @@
 
         return true;
     }
+
+    public interface Selection {
+        public void selected(int position);
+    }
+
+    public Selection selection;
+
+    @Override
+    public void setSelection(int position) {
+        if (selection != null) {
+            selection.selected(position);
+        }
+        super.setSelection(position);
+    }
+
+    @Override
+    public void setSelection(int position, boolean animate) {
+        super.setSelection(position, animate);
+    }
 }
\ No newline at end of file
diff --git a/app/src/main/jniLibs/armeabi-v7a/libnanomsg.so b/app/src/main/jniLibs/armeabi-v7a/libnanomsg.so
new file mode 100644
index 0000000..e2cc4a5
--- /dev/null
+++ b/app/src/main/jniLibs/armeabi-v7a/libnanomsg.so
Binary files differ
diff --git a/app/src/main/res/drawable/bg_edittext1_color.xml b/app/src/main/res/drawable/bg_edittext1_color.xml
new file mode 100644
index 0000000..26b3804
--- /dev/null
+++ b/app/src/main/res/drawable/bg_edittext1_color.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:state_enabled="false" android:color="@color/colorText_b"/>
+    <item android:color="@color/black"/>
+</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/check_box_selector.xml b/app/src/main/res/drawable/check_box_selector.xml
new file mode 100644
index 0000000..433624b
--- /dev/null
+++ b/app/src/main/res/drawable/check_box_selector.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:drawable="@drawable/checkbox_on_background" android:state_checked="true" />
+    <item android:drawable="@drawable/checkbox_off_background" />
+</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/checkbox_off_background.png b/app/src/main/res/drawable/checkbox_off_background.png
new file mode 100644
index 0000000..6b2124f
--- /dev/null
+++ b/app/src/main/res/drawable/checkbox_off_background.png
Binary files differ
diff --git a/app/src/main/res/drawable/checkbox_on_background.png b/app/src/main/res/drawable/checkbox_on_background.png
new file mode 100644
index 0000000..56495fc
--- /dev/null
+++ b/app/src/main/res/drawable/checkbox_on_background.png
Binary files differ
diff --git a/app/src/main/res/drawable/ic_arrow_down.png b/app/src/main/res/drawable/ic_arrow_down.png
new file mode 100644
index 0000000..85e2437
--- /dev/null
+++ b/app/src/main/res/drawable/ic_arrow_down.png
Binary files differ
diff --git a/app/src/main/res/drawable/logo1.png b/app/src/main/res/drawable/logo1.png
new file mode 100644
index 0000000..048d92f
--- /dev/null
+++ b/app/src/main/res/drawable/logo1.png
Binary files differ
diff --git a/app/src/main/res/drawable/pulldown.png b/app/src/main/res/drawable/pulldown.png
index 49af147..0a2e26b 100644
--- a/app/src/main/res/drawable/pulldown.png
+++ b/app/src/main/res/drawable/pulldown.png
Binary files differ
diff --git a/app/src/main/res/drawable/radiobutton.xml b/app/src/main/res/drawable/radiobutton.xml
new file mode 100644
index 0000000..efefdda
--- /dev/null
+++ b/app/src/main/res/drawable/radiobutton.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/* //device/apps/common/res/drawable/radiobutton.xml
+**
+** Copyright 2007, Google Inc.
+**
+** Licensed under the Apache License, Version 2.0 (the "License"); 
+** you may not use this file except in compliance with the License. 
+** You may obtain a copy of the License at 
+**
+**     http://www.apache.org/licenses/LICENSE-2.0 
+**
+** Unless required by applicable law or agreed to in writing, software 
+** distributed under the License is distributed on an "AS IS" BASIS, 
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+** See the License for the specific language governing permissions and 
+** limitations under the License.
+*/
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:state_checked="false" android:state_focused="true"
+          android:drawable="@drawable/radiobutton_off_background_focus_yellow" />
+    <item android:state_checked="true" android:state_focused="true"
+          android:drawable="@drawable/radiobutton_on_background_focus_yellow" />
+    <item android:state_checked="false" android:drawable="@drawable/radiobutton_off_background" />
+    <item android:state_checked="true" android:drawable="@drawable/radiobutton_on_background" />
+</selector>
diff --git a/app/src/main/res/drawable/radiobutton_off_background.png b/app/src/main/res/drawable/radiobutton_off_background.png
new file mode 100644
index 0000000..1b94e21
--- /dev/null
+++ b/app/src/main/res/drawable/radiobutton_off_background.png
Binary files differ
diff --git a/app/src/main/res/drawable/radiobutton_off_background_focus_yellow.png b/app/src/main/res/drawable/radiobutton_off_background_focus_yellow.png
new file mode 100644
index 0000000..1a092e3
--- /dev/null
+++ b/app/src/main/res/drawable/radiobutton_off_background_focus_yellow.png
Binary files differ
diff --git a/app/src/main/res/drawable/radiobutton_on_background.png b/app/src/main/res/drawable/radiobutton_on_background.png
new file mode 100644
index 0000000..636a803
--- /dev/null
+++ b/app/src/main/res/drawable/radiobutton_on_background.png
Binary files differ
diff --git a/app/src/main/res/drawable/radiobutton_on_background_focus_yellow.png b/app/src/main/res/drawable/radiobutton_on_background_focus_yellow.png
new file mode 100644
index 0000000..aa59771
--- /dev/null
+++ b/app/src/main/res/drawable/radiobutton_on_background_focus_yellow.png
Binary files differ
diff --git a/app/src/main/res/drawable/spinner_arrow_down.xml b/app/src/main/res/drawable/spinner_arrow_down.xml
index 5d008b0..cb1cfde 100644
--- a/app/src/main/res/drawable/spinner_arrow_down.xml
+++ b/app/src/main/res/drawable/spinner_arrow_down.xml
@@ -8,7 +8,9 @@
                 android:color="#d9d9d9" />
         </shape>
     </item>
-    <item android:right="10dp">
+    <item android:right="5dp"
+        android:padding="10px"
+        >
         <bitmap
             android:gravity="end"
             android:src="@drawable/pulldown" />
diff --git a/app/src/main/res/drawable/u259_gray.png b/app/src/main/res/drawable/u259_gray.png
new file mode 100644
index 0000000..1ac9612
--- /dev/null
+++ b/app/src/main/res/drawable/u259_gray.png
Binary files differ
diff --git a/app/src/main/res/drawable/u41.png b/app/src/main/res/drawable/u41.png
new file mode 100644
index 0000000..c8e21a7
--- /dev/null
+++ b/app/src/main/res/drawable/u41.png
Binary files differ
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index ad7d7f6..5cad9dc 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -24,7 +24,8 @@
             >
             <ImageView
                 android:scaleType="centerInside"
-                android:src="@drawable/u4"
+                android:focusable="false"
+                android:src="@drawable/logo1"
                 android:layout_width="@dimen/h33"
                 android:layout_height="wrap_content" />
             <TextView
@@ -41,6 +42,7 @@
                 android:layout_height="1dp"
                 android:layout_weight="1"/>
             <ImageView
+                android:focusable="false"
                 android:layout_gravity="center"
                 android:scaleType="centerInside"
                 android:src="@drawable/setting"
diff --git a/app/src/main/res/layout/activity_welcome.xml b/app/src/main/res/layout/activity_welcome.xml
new file mode 100644
index 0000000..18c88ed
--- /dev/null
+++ b/app/src/main/res/layout/activity_welcome.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    tools:context=".activity.WelcomeActivity">
+
+
+</RelativeLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/auth_dialog.xml b/app/src/main/res/layout/auth_dialog.xml
new file mode 100644
index 0000000..5f34546
--- /dev/null
+++ b/app/src/main/res/layout/auth_dialog.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="@dimen/w165"
+    android:layout_height="wrap_content"
+    android:orientation="vertical"
+    android:background="@drawable/confirm_dialog_background"
+    >
+
+    <TextView
+        android:layout_marginTop="@dimen/h26"
+        android:layout_gravity="center"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="璇疯緭鍏ュ瘑鐮�"
+        android:gravity="right"
+        android:textSize="@dimen/h13"
+        android:textColor="@color/black"/>
+
+    <EditText
+        android:textCursorDrawable="@null"
+        android:layout_marginTop="@dimen/h30"
+        android:layout_gravity="center"
+        android:gravity="center"
+        android:id="@+id/password"
+        android:layout_width="@dimen/w185"
+        android:layout_height="@dimen/h33"
+        android:background="@drawable/bg_edittext1"
+        android:inputType="textPassword"
+        android:singleLine="true"
+        android:textColor="@color/black"
+        android:textSize="@dimen/h13" />
+
+    <LinearLayout
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="@dimen/h30"
+        android:layout_marginRight="@dimen/w100"
+        android:layout_marginLeft="@dimen/w100"
+        android:layout_marginBottom="@dimen/h25"
+        >
+        <Button
+            android:id="@+id/ok"
+            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:text="纭畾"/>
+        <Button
+            android:layout_marginLeft="@dimen/w28"
+            android:id="@+id/cancel"
+            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:text="鍙栨秷"/>
+    </LinearLayout>
+
+
+</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_setting.xml b/app/src/main/res/layout/fragment_setting.xml
index b2bb795..c3c07d4 100644
--- a/app/src/main/res/layout/fragment_setting.xml
+++ b/app/src/main/res/layout/fragment_setting.xml
@@ -9,199 +9,529 @@
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:orientation="vertical">
-        <TextView
-            android:layout_marginLeft="@dimen/w34"
-            android:layout_marginTop="@dimen/h57"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:text="鎶ヨ澹伴煶鎸佺画鏃堕棿閰嶇疆"
-            android:textColor="@color/black"
-            android:textSize="@dimen/h15"/>
 
         <LinearLayout
-            android:layout_marginTop="@dimen/h26"
-            android:layout_width="wrap_content"
+            android:layout_gravity="center"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:orientation="horizontal"
-            >
-            <TextView
-                android:layout_width="@dimen/w108"
-                android:layout_height="wrap_content"
-                android:text="鎸佺画鏃堕棿锛�"
-                android:gravity="right"
-                android:layout_gravity="center_vertical"
-                android:textColor="@color/black"
-                android:textSize="@dimen/h13"/>
-            <com.basic.security.widget.CustomSpinner
-                android:id="@+id/second"
-                android:layout_width="@dimen/w175"
-                android:layout_height="@dimen/h32"
-                android:background="@drawable/spinner_arrow_down"
-                android:dropDownSelector="@color/transparent"
-                android:paddingBottom="2dp"
-                android:paddingTop="2dp"
-                android:spinnerMode="dropdown"
-                android:dropDownVerticalOffset="0dp"
-                />
-            <TextView
-                android:layout_marginLeft="@dimen/w6"
+            android:orientation="horizontal">
+            <Space
+                android:layout_width="1dp"
+                android:layout_height="0dp"
+                android:layout_weight="1"/>
+            <LinearLayout
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:textColor="@color/black"
-                android:textSize="@dimen/h13"
-                android:text="绉�"
-                />
-        </LinearLayout>
+                android:orientation="vertical">
 
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginLeft="@dimen/w34"
-            android:layout_marginTop="@dimen/h63"
-            android:text="鏈嶅姟鍣ㄩ厤缃�"
-            android:textColor="@color/black"
-            android:textSize="@dimen/h15" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="@dimen/w34"
+                    android:layout_marginTop="@dimen/h57"
+                    android:text="鎶ヨ澹伴煶鎸佺画鏃堕棿閰嶇疆"
+                    android:textColor="@color/black"
+                    android:textSize="@dimen/h15" />
 
-        <LinearLayout
-            android:layout_marginTop="@dimen/h24"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:orientation="horizontal">
+                <LinearLayout
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="@dimen/h26"
+                    android:orientation="horizontal">
 
-            <TextView
-                android:layout_width="@dimen/w108"
+                    <TextView
+                        android:layout_width="@dimen/w108"
+                        android:layout_height="wrap_content"
+                        android:layout_gravity="center_vertical"
+                        android:gravity="right"
+                        android:text="鎸佺画鏃堕棿锛�"
+                        android:textColor="@color/black"
+                        android:textSize="@dimen/h13" />
+
+                    <com.basic.security.widget.CustomSpinner
+                        android:id="@+id/second"
+                        android:layout_width="@dimen/w185"
+                        android:layout_height="@dimen/h32"
+                        android:background="@drawable/spinner_arrow_down"
+                        android:dropDownSelector="@color/transparent"
+                        android:dropDownVerticalOffset="0dp"
+                        android:paddingBottom="2dp"
+                        android:paddingTop="2dp"
+                        android:spinnerMode="dropdown" />
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="match_parent"
+                        android:layout_marginLeft="@dimen/w6"
+                        android:text="绉�"
+                        android:textColor="@color/black"
+                        android:textSize="@dimen/h13" />
+                </LinearLayout>
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="@dimen/w34"
+                    android:layout_marginTop="@dimen/h63"
+                    android:text="鏈嶅姟鍣ㄩ厤缃�"
+                    android:textColor="@color/black"
+                    android:textSize="@dimen/h15" />
+
+                <LinearLayout
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="@dimen/h24"
+                    android:orientation="horizontal">
+
+                    <TextView
+                        android:layout_width="@dimen/w108"
+                        android:layout_height="wrap_content"
+                        android:gravity="right"
+                        android:text="IP锛�"
+                        android:textColor="@color/black"
+                        android:textSize="@dimen/h13" />
+
+                    <EditText
+                        android:textCursorDrawable="@null"
+                        android:id="@+id/ip"
+                        android:layout_width="@dimen/w185"
+                        android:layout_height="@dimen/h33"
+                        android:background="@drawable/bg_edittext1"
+                        android:paddingLeft="@dimen/w15"
+                        android:singleLine="true"
+                        android:textColor="@color/black"
+                        android:textSize="@dimen/h13" />
+                </LinearLayout>
+
+                <LinearLayout
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="@dimen/h24"
+                    android:orientation="horizontal">
+
+                    <TextView
+                        android:layout_width="@dimen/w108"
+                        android:layout_height="wrap_content"
+                        android:gravity="right"
+                        android:text="绔彛锛�"
+                        android:textColor="@color/black"
+                        android:textSize="@dimen/h13" />
+
+                    <EditText
+                        android:textCursorDrawable="@null"
+                        android:id="@+id/port"
+                        android:layout_width="@dimen/w185"
+                        android:layout_height="@dimen/h33"
+                        android:background="@drawable/bg_edittext1"
+                        android:paddingLeft="@dimen/w15"
+                        android:singleLine="true"
+                        android:textColor="@color/black"
+                        android:textSize="@dimen/h13" />
+                </LinearLayout>
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="@dimen/w34"
+                    android:layout_marginTop="@dimen/h63"
+                    android:text="澹伴煶閰嶇疆"
+                    android:textColor="@color/black"
+                    android:textSize="@dimen/h15" />
+
+                <LinearLayout
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="@dimen/h24"
+                    android:orientation="horizontal">
+
+                    <TextView
+                        android:layout_width="@dimen/w108"
+                        android:layout_gravity="center_vertical"
+                        android:layout_height="wrap_content"
+                        android:gravity="right"
+                        android:text="澹伴煶锛�"
+                        android:textColor="@color/black"
+                        android:textSize="@dimen/h13" />
+
+                    <com.basic.security.widget.CustomSpinner
+                        android:id="@+id/alarmAudio"
+                        android:layout_width="@dimen/w185"
+                        android:layout_height="@dimen/h32"
+                        android:background="@drawable/spinner_arrow_down"
+                        android:dropDownSelector="@color/transparent"
+                        android:dropDownVerticalOffset="0dp"
+                        android:paddingBottom="2dp"
+                        android:paddingTop="2dp"
+                        android:spinnerMode="dropdown" />
+                </LinearLayout>
+
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="@dimen/w34"
+                    android:layout_marginTop="@dimen/h63"
+                    android:text="淇濈暀鎶ヨ鏁版嵁"
+                    android:textColor="@color/black"
+                    android:textSize="@dimen/h15" />
+
+                <LinearLayout
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="@dimen/h24"
+                    android:orientation="horizontal">
+
+                    <TextView
+                        android:layout_width="@dimen/w108"
+                        android:layout_height="wrap_content"
+                        android:layout_gravity="center_vertical"
+                        android:gravity="right"
+                        android:text="鏃堕棿锛�"
+                        android:textColor="@color/black"
+                        android:textSize="@dimen/h13" />
+
+                    <com.basic.security.widget.CustomSpinner
+                        android:id="@+id/keepTime"
+                        android:layout_width="@dimen/w90"
+                        android:layout_height="@dimen/h32"
+                        android:background="@drawable/spinner_arrow_down"
+                        android:dropDownSelector="@color/transparent"
+                        android:dropDownVerticalOffset="0dp"
+                        android:paddingBottom="2dp"
+                        android:paddingTop="2dp"
+                        android:spinnerMode="dropdown" />
+
+                    <com.basic.security.widget.CustomSpinner
+                        android:id="@+id/keepTimeType"
+                        android:layout_width="@dimen/w90"
+                        android:layout_height="@dimen/h32"
+                        android:layout_marginLeft="@dimen/w6"
+                        android:background="@drawable/spinner_arrow_down"
+                        android:dropDownSelector="@color/transparent"
+                        android:dropDownVerticalOffset="0dp"
+                        android:paddingBottom="2dp"
+                        android:paddingTop="2dp"
+                        android:spinnerMode="dropdown" />
+                </LinearLayout>
+
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="@dimen/w34"
+                    android:layout_marginTop="@dimen/h63"
+                    android:text="淇敼瀵嗙爜"
+                    android:textColor="@color/black"
+                    android:textSize="@dimen/h15" />
+
+                <LinearLayout
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="@dimen/h24"
+                    android:orientation="horizontal">
+
+                    <TextView
+                        android:layout_width="@dimen/w108"
+                        android:layout_height="wrap_content"
+                        android:gravity="right"
+                        android:text="鏃у瘑鐮侊細"
+                        android:textColor="@color/black"
+                        android:textSize="@dimen/h13" />
+
+                    <EditText
+                        android:textCursorDrawable="@null"
+                        android:id="@+id/oldPassword"
+                        android:layout_width="@dimen/w185"
+                        android:layout_height="@dimen/h33"
+                        android:background="@drawable/bg_edittext1"
+                        android:inputType="textPassword"
+                        android:paddingLeft="@dimen/w15"
+                        android:singleLine="true"
+                        android:textColor="@color/black"
+                        android:textSize="@dimen/h13" />
+                </LinearLayout>
+                <LinearLayout
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="@dimen/h24"
+                    android:orientation="horizontal">
+
+                    <TextView
+                        android:layout_width="@dimen/w108"
+                        android:layout_height="wrap_content"
+                        android:gravity="right"
+                        android:text="鏂板瘑鐮侊細"
+                        android:textColor="@color/black"
+                        android:textSize="@dimen/h13" />
+
+                    <EditText
+                        android:textCursorDrawable="@null"
+                        android:id="@+id/newPassword"
+                        android:layout_width="@dimen/w185"
+                        android:layout_height="@dimen/h33"
+                        android:background="@drawable/bg_edittext1"
+                        android:inputType="textPassword"
+                        android:paddingLeft="@dimen/w15"
+                        android:singleLine="true"
+                        android:textColor="@color/black"
+                        android:textSize="@dimen/h13" />
+                </LinearLayout>
+                <LinearLayout
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="@dimen/h24"
+                    android:orientation="horizontal">
+
+                    <TextView
+                        android:layout_width="@dimen/w108"
+                        android:layout_height="wrap_content"
+                        android:gravity="right"
+                        android:text="纭瀵嗙爜锛�"
+                        android:textColor="@color/black"
+                        android:textSize="@dimen/h13" />
+
+                    <EditText
+                        android:textCursorDrawable="@null"
+                        android:id="@+id/newPassword2"
+                        android:layout_width="@dimen/w185"
+                        android:layout_height="@dimen/h33"
+                        android:background="@drawable/bg_edittext1"
+                        android:inputType="textPassword"
+                        android:paddingLeft="@dimen/w15"
+                        android:singleLine="true"
+                        android:textColor="@color/black"
+                        android:textSize="@dimen/h13" />
+                </LinearLayout>
+
+
+                <TextView
+                    android:visibility="gone"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="@dimen/w34"
+                    android:layout_marginTop="@dimen/h63"
+                    android:text="鎺堟潈"
+                    android:textColor="@color/black"
+                    android:textSize="@dimen/h15" />
+
+                <LinearLayout
+                    android:visibility="gone"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="@dimen/h24"
+                    android:orientation="horizontal">
+
+                    <TextView
+                        android:layout_width="@dimen/w108"
+                        android:layout_height="wrap_content"
+                        android:gravity="right"
+                        android:text="瀵嗙爜锛�"
+                        android:textColor="@color/black"
+                        android:textSize="@dimen/h13" />
+
+                    <EditText
+                        android:textCursorDrawable="@null"
+                        android:id="@+id/password"
+                        android:layout_width="@dimen/w185"
+                        android:layout_height="@dimen/h33"
+                        android:background="@drawable/bg_edittext1"
+                        android:inputType="textPassword"
+                        android:paddingLeft="@dimen/w15"
+                        android:singleLine="true"
+                        android:textColor="@color/black"
+                        android:textSize="@dimen/h13" />
+                </LinearLayout>
+
+                <LinearLayout
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="@dimen/h24"
+                    android:orientation="horizontal"
+                    android:visibility="gone">
+
+                    <TextView
+                        android:layout_width="@dimen/w108"
+                        android:layout_height="wrap_content"
+                        android:gravity="right"
+                        android:text="纭瀵嗙爜锛�"
+                        android:textColor="@color/black"
+                        android:textSize="@dimen/h13" />
+
+                    <EditText
+                        android:textCursorDrawable="@null"
+                        android:id="@+id/confirmNewPassword"
+                        android:layout_width="@dimen/w185"
+                        android:layout_height="@dimen/h33"
+                        android:background="@drawable/bg_edittext1"
+                        android:paddingLeft="@dimen/w15"
+                        android:singleLine="true"
+                        android:textSize="@dimen/h13" />
+                </LinearLayout>
+            </LinearLayout>
+            <Space
+                android:layout_width="1dp"
+                android:layout_height="0dp"
+                android:layout_weight="1"/>
+            <LinearLayout
+                android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:gravity="right"
-                android:text="IP锛�"
-                android:textColor="@color/black"
-                android:textSize="@dimen/h13" />
+                android:orientation="vertical">
 
-            <EditText
-                android:id="@+id/ip"
-                android:layout_width="@dimen/w185"
-                android:layout_height="@dimen/h33"
-                android:background="@drawable/bg_edittext1"
-                android:paddingLeft="@dimen/w15"
-                android:singleLine="true"
-                android:textColor="@color/black"
-                android:textSize="@dimen/h13" />
-        </LinearLayout>
-        <LinearLayout
-            android:layout_marginTop="@dimen/h24"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:orientation="horizontal">
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="@dimen/h57"
+                    android:text="鏈満IP璁剧疆"
+                    android:textColor="@color/black"
+                    android:textSize="@dimen/h15" />
 
-            <TextView
-                android:layout_width="@dimen/w108"
-                android:layout_height="wrap_content"
-                android:gravity="right"
-                android:text="绔彛锛�"
-                android:textColor="@color/black"
-                android:textSize="@dimen/h13" />
+                <CheckBox
+                    android:id="@+id/switch_ethernet"
+                    android:layout_marginLeft="@dimen/w34"
+                    android:layout_marginTop="@dimen/h26"
+                    style="@style/setting_checkbox"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginRight="@dimen/w46"
+                    android:text="浠ュお缃戝紑鍏�"
+                    android:textColor="@color/black"
+                    android:textSize="@dimen/h13" />
+                <RadioGroup
+                    android:id="@+id/ip_mode"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content">
+                    <RadioButton
+                        android:id="@+id/dhcp"
+                        android:layout_marginLeft="@dimen/w108"
+                        android:layout_marginTop="@dimen/h24"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:button="@drawable/radiobutton"
+                        android:text="DHCP鑷姩鑾峰彇鍦板潃"
+                        android:textColor="@color/black"
+                        android:textSize="@dimen/h13"  />
 
-            <EditText
-                android:id="@+id/port"
-                android:layout_width="@dimen/w185"
-                android:layout_height="@dimen/h33"
-                android:background="@drawable/bg_edittext1"
-                android:paddingLeft="@dimen/w15"
-                android:singleLine="true"
-                android:textColor="@color/black"
-                android:textSize="@dimen/h13" />
-        </LinearLayout>
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginLeft="@dimen/w34"
-            android:layout_marginTop="@dimen/h63"
-            android:text="澹伴煶閰嶇疆"
-            android:textColor="@color/black"
-            android:textSize="@dimen/h15" />
+                    <RadioButton
+                        android:id="@+id/staticip"
+                        android:layout_marginLeft="@dimen/w108"
+                        android:layout_marginTop="@dimen/h24"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:button="@drawable/radiobutton"
+                        android:text="鎵嬪姩璁剧疆濡備笅鍦板潃"
+                        android:textColor="@color/black"
+                        android:textSize="@dimen/h13"  />
+                </RadioGroup>
 
-        <LinearLayout
-            android:layout_marginTop="@dimen/h24"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:orientation="horizontal">
 
-            <TextView
-                android:layout_width="@dimen/w108"
-                android:layout_height="wrap_content"
-                android:gravity="right"
-                android:text="澹伴煶锛�"
-                android:textColor="@color/black"
-                android:textSize="@dimen/h13" />
+                <LinearLayout
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="@dimen/h24"
+                    android:orientation="horizontal">
 
-            <com.basic.security.widget.CustomSpinner
-                android:id="@+id/alarmAudio"
-                android:layout_width="@dimen/w175"
-                android:layout_height="@dimen/h32"
-                android:background="@drawable/spinner_arrow_down"
-                android:dropDownSelector="@color/transparent"
-                android:paddingBottom="2dp"
-                android:paddingTop="2dp"
-                android:spinnerMode="dropdown"
-                android:dropDownVerticalOffset="0dp"
-                />
-        </LinearLayout>
+                    <TextView
+                        android:layout_width="@dimen/w108"
+                        android:layout_height="wrap_content"
+                        android:gravity="right"
+                        android:text="IP鍦板潃锛�"
+                        android:textColor="@color/black"
+                        android:textSize="@dimen/h13" />
 
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginLeft="@dimen/w34"
-            android:layout_marginTop="@dimen/h63"
-            android:text="鎺堟潈"
-            android:textColor="@color/black"
-            android:textSize="@dimen/h15" />
-        <LinearLayout
-            android:layout_marginTop="@dimen/h24"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:orientation="horizontal">
+                    <EditText
+                        android:textCursorDrawable="@null"
+                        android:id="@+id/ip_address"
+                        android:layout_width="@dimen/w185"
+                        android:layout_height="@dimen/h33"
+                        android:background="@drawable/bg_edittext1"
+                        android:paddingLeft="@dimen/w15"
+                        android:singleLine="true"
+                        android:textColor="@drawable/bg_edittext1_color"
+                        android:textSize="@dimen/h13" />
+                </LinearLayout>
 
-            <TextView
-                android:layout_width="@dimen/w108"
-                android:layout_height="wrap_content"
-                android:gravity="right"
-                android:text="瀵嗙爜锛�"
-                android:textColor="@color/black"
-                android:textSize="@dimen/h13" />
+                <LinearLayout
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="@dimen/h24"
+                    android:orientation="horizontal">
 
-            <EditText
-                android:id="@+id/password"
-                android:inputType="textPassword"
-                android:layout_width="@dimen/w185"
-                android:layout_height="@dimen/h33"
-                android:background="@drawable/bg_edittext1"
-                android:paddingLeft="@dimen/w15"
-                android:singleLine="true"
-                android:textColor="@color/black"
-                android:textSize="@dimen/h13" />
-        </LinearLayout>
+                    <TextView
+                        android:layout_width="@dimen/w108"
+                        android:layout_height="wrap_content"
+                        android:gravity="right"
+                        android:text="瀛愮綉鎺╃爜锛�"
+                        android:textColor="@color/black"
+                        android:textSize="@dimen/h13" />
 
-        <LinearLayout
-            android:layout_marginTop="@dimen/h24"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:orientation="horizontal"
-            android:visibility="gone"
-            >
-            <TextView
-                android:layout_width="@dimen/w108"
-                android:layout_height="wrap_content"
-                android:text="纭瀵嗙爜锛�"
-                android:gravity="right"
-                android:textSize="@dimen/h13"
-                android:textColor="@color/black"/>
-            <EditText
-                android:id="@+id/confirmNewPassword"
-                android:singleLine="true"
-                android:background="@drawable/bg_edittext1"
-                android:layout_width="@dimen/w185"
-                android:textSize="@dimen/h13"
-                android:paddingLeft="@dimen/w15"
-                android:layout_height="@dimen/h33" />
+                    <EditText
+                        android:textCursorDrawable="@null"
+                        android:id="@+id/net_mask"
+                        android:layout_width="@dimen/w185"
+                        android:layout_height="@dimen/h33"
+                        android:background="@drawable/bg_edittext1"
+                        android:paddingLeft="@dimen/w15"
+                        android:singleLine="true"
+                        android:textColor="@drawable/bg_edittext1_color"
+                        android:textSize="@dimen/h13" />
+                </LinearLayout>
+
+                <LinearLayout
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="@dimen/h24"
+                    android:orientation="horizontal">
+
+                    <TextView
+                        android:layout_width="@dimen/w108"
+                        android:layout_height="wrap_content"
+                        android:gravity="right"
+                        android:text="缃戝叧鍦板潃锛�"
+                        android:textColor="@color/black"
+                        android:textSize="@dimen/h13" />
+
+                    <EditText
+                        android:textCursorDrawable="@null"
+                        android:id="@+id/gate_way"
+                        android:layout_width="@dimen/w185"
+                        android:layout_height="@dimen/h33"
+                        android:background="@drawable/bg_edittext1"
+                        android:paddingLeft="@dimen/w15"
+                        android:singleLine="true"
+                        android:textColor="@drawable/bg_edittext1_color"
+                        android:textSize="@dimen/h13" />
+                </LinearLayout>
+
+                <LinearLayout
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="@dimen/h24"
+                    android:orientation="horizontal">
+
+                    <TextView
+                        android:layout_width="@dimen/w108"
+                        android:layout_height="wrap_content"
+                        android:gravity="right"
+                        android:text="鍩熷悕鏈嶅姟鍣細"
+                        android:textColor="@color/black"
+                        android:textSize="@dimen/h13" />
+
+                    <EditText
+                        android:id="@+id/dns_server"
+                        android:textCursorDrawable="@null"
+                        android:layout_width="@dimen/w185"
+                        android:layout_height="@dimen/h33"
+                        android:background="@drawable/bg_edittext1"
+                        android:paddingLeft="@dimen/w15"
+                        android:singleLine="true"
+                        android:textColor="@drawable/bg_edittext1_color"
+                        android:textSize="@dimen/h13" />
+                </LinearLayout>
+            </LinearLayout>
+            <Space
+                android:layout_width="1dp"
+                android:layout_height="0dp"
+                android:layout_weight="1"/>
         </LinearLayout>
         <Space
             android:layout_width="0dp"
@@ -231,37 +561,25 @@
                 android:layout_gravity="center"
                 android:background="@drawable/blue_button"
                 android:text="杩斿洖"/>
-        </LinearLayout>
-    </LinearLayout>
-    <LinearLayout
-        android:visibility="gone"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:orientation="vertical"
-        android:id="@+id/confirmDialogParent"
-        >
-        <LinearLayout
-            android:layout_gravity="center_vertical"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:orientation="vertical">
-            <TextView
-                android:layout_width="@dimen/w108"
-                android:layout_height="wrap_content"
-                android:text="淇濆瓨鎴愬姛锛�"
-                android:gravity="right"
-                android:textSize="@dimen/h13"
-                android:textColor="@color/black"/>
             <Button
-                android:id="@+id/ok"
+                android:id="@+id/exit"
+                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="纭畾"/>
+                android:text="閫�鍑�"
+                android:visibility="gone"
+                />
         </LinearLayout>
-
     </LinearLayout>
+
+    <TextView
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:id="@+id/error"
+        android:visibility="invisible"
+        />
 </RelativeLayout>
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 6b9f95f..796ab4f 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -10,6 +10,17 @@
         <!-- Customize picker mode here. -->
         <item name="mdtp_theme_dark">true</item>
     </style>
+    <style name="setting_text">
+        <item name="android:layout_width">wrap_content</item>
+        <item name="android:layout_height">wrap_content</item>
+        <item name="android:textColor">@color/black</item>
+        <item name="android:textSize">@dimen/h13</item>
+    </style>
+    <style name="setting_checkbox" parent="setting_text">
+        <item name="android:layout_width">wrap_content</item>
+        <item name="android:layout_height">wrap_content</item>
+        <item name="android:button">@drawable/check_box_selector</item>
+    </style>
 
     <style name="bigButton">
         <item name="android:textColor">#ffffff</item>

--
Gitblit v1.8.0