The final version for lede-gui (the phone app for device registration)
authorrtrimana <rtrimana@uci.edu>
Mon, 30 Jul 2018 22:23:57 +0000 (15:23 -0700)
committerrtrimana <rtrimana@uci.edu>
Mon, 30 Jul 2018 22:23:57 +0000 (15:23 -0700)
141 files changed:
others/lede-gui/.gitignore
others/lede-gui/.gradle/3.3/taskArtifacts/fileHashes.bin [deleted file]
others/lede-gui/.gradle/3.3/taskArtifacts/fileSnapshots.bin [deleted file]
others/lede-gui/.gradle/3.3/taskArtifacts/taskArtifacts.bin [deleted file]
others/lede-gui/.gradle/3.3/taskArtifacts/taskArtifacts.lock [deleted file]
others/lede-gui/.gradle/3.3/tasks/_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin [deleted file]
others/lede-gui/.gradle/3.3/tasks/_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock [deleted file]
others/lede-gui/.gradle/3.3/tasks/_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.bin [deleted file]
others/lede-gui/.gradle/3.3/tasks/_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock [deleted file]
others/lede-gui/.idea/compiler.xml [deleted file]
others/lede-gui/.idea/copyright/profiles_settings.xml [deleted file]
others/lede-gui/.idea/gradle.xml [deleted file]
others/lede-gui/.idea/libraries/animated_vector_drawable_26_0_0_alpha1.xml [deleted file]
others/lede-gui/.idea/libraries/appcompat_v7_26_0_0_alpha1.xml [deleted file]
others/lede-gui/.idea/libraries/constraint_layout_1_0_2.xml [deleted file]
others/lede-gui/.idea/libraries/constraint_layout_solver_1_0_2.xml [deleted file]
others/lede-gui/.idea/libraries/design_26_0_0_alpha1.xml [deleted file]
others/lede-gui/.idea/libraries/espresso_core_2_2_2.xml [deleted file]
others/lede-gui/.idea/libraries/espresso_idling_resource_2_2_2.xml [deleted file]
others/lede-gui/.idea/libraries/exposed_instrumentation_api_publish_0_5.xml [deleted file]
others/lede-gui/.idea/libraries/hamcrest_core_1_3.xml [deleted file]
others/lede-gui/.idea/libraries/hamcrest_integration_1_3.xml [deleted file]
others/lede-gui/.idea/libraries/hamcrest_library_1_3.xml [deleted file]
others/lede-gui/.idea/libraries/javawriter_2_1_1.xml [deleted file]
others/lede-gui/.idea/libraries/javax_annotation_api_1_2.xml [deleted file]
others/lede-gui/.idea/libraries/javax_inject_1.xml [deleted file]
others/lede-gui/.idea/libraries/jsch_0_1_54.xml [deleted file]
others/lede-gui/.idea/libraries/jsr305_2_0_1.xml [deleted file]
others/lede-gui/.idea/libraries/junit_4_12.xml [deleted file]
others/lede-gui/.idea/libraries/recyclerview_v7_26_0_0_alpha1.xml [deleted file]
others/lede-gui/.idea/libraries/rules_0_5.xml [deleted file]
others/lede-gui/.idea/libraries/runner_0_5.xml [deleted file]
others/lede-gui/.idea/libraries/support_annotations_26_0_0_alpha1.xml [deleted file]
others/lede-gui/.idea/libraries/support_compat_26_0_0_alpha1.xml [deleted file]
others/lede-gui/.idea/libraries/support_core_ui_26_0_0_alpha1.xml [deleted file]
others/lede-gui/.idea/libraries/support_core_utils_26_0_0_alpha1.xml [deleted file]
others/lede-gui/.idea/libraries/support_fragment_26_0_0_alpha1.xml [deleted file]
others/lede-gui/.idea/libraries/support_media_compat_26_0_0_alpha1.xml [deleted file]
others/lede-gui/.idea/libraries/support_v4_26_0_0_alpha1.xml [deleted file]
others/lede-gui/.idea/libraries/support_vector_drawable_26_0_0_alpha1.xml [deleted file]
others/lede-gui/.idea/libraries/transition_26_0_0_alpha1.xml [deleted file]
others/lede-gui/.idea/misc.xml [deleted file]
others/lede-gui/.idea/modules.xml [deleted file]
others/lede-gui/.idea/runConfigurations.xml [deleted file]
others/lede-gui/.idea/workspace.xml [deleted file]
others/lede-gui/User Manual-Documentation/Edit of Vigilia User Manual.pdf [new file with mode: 0644]
others/lede-gui/git.iml [new file with mode: 0644]
others/lede-gui/gradle/wrapper/gradle-wrapper.properties
others/lede-gui/gradlew
others/lede-gui/lede-gui.iml
others/lede-gui/local.properties [deleted file]
others/lede-gui/src/main/AndroidManifest.xml
others/lede-gui/src/main/assets/1)_install_one_device.config [new file with mode: 0644]
others/lede-gui/src/main/assets/10)_delete_address.config [new file with mode: 0644]
others/lede-gui/src/main/assets/11)_delete_device_address.config [new file with mode: 0644]
others/lede-gui/src/main/assets/12)_delete_zigbee_device_address.config [new file with mode: 0644]
others/lede-gui/src/main/assets/13)_delete_host.config [new file with mode: 0644]
others/lede-gui/src/main/assets/2)_install_comm_pattern.config [new file with mode: 0644]
others/lede-gui/src/main/assets/3)_install_two_devices_and_comm_pattern.config [new file with mode: 0644]
others/lede-gui/src/main/assets/4)_install_address.config [new file with mode: 0644]
others/lede-gui/src/main/assets/5)_install_device_address.config [new file with mode: 0644]
others/lede-gui/src/main/assets/6)_install_zigbee_device_address.config [new file with mode: 0644]
others/lede-gui/src/main/assets/7)_install_host.config [new file with mode: 0644]
others/lede-gui/src/main/assets/8)_delete_entity.config [new file with mode: 0644]
others/lede-gui/src/main/assets/9)_delete_comm_pattern.config [new file with mode: 0644]
others/lede-gui/src/main/assets/add_comm.config [deleted file]
others/lede-gui/src/main/assets/add_device.config [deleted file]
others/lede-gui/src/main/assets/add_device_address.config [deleted file]
others/lede-gui/src/main/assets/delete_address.config [new file with mode: 0644]
others/lede-gui/src/main/assets/delete_device_address.config [new file with mode: 0644]
others/lede-gui/src/main/java/com/example/lede2/AddDeviceActivity.java
others/lede-gui/src/main/java/com/example/lede2/AllInstallOptions.java [new file with mode: 0644]
others/lede-gui/src/main/java/com/example/lede2/ApplicationWithRelations.java [new file with mode: 0644]
others/lede-gui/src/main/java/com/example/lede2/ApplicationsList.java [new file with mode: 0644]
others/lede-gui/src/main/java/com/example/lede2/ConfigFileIO.java [new file with mode: 0644]
others/lede-gui/src/main/java/com/example/lede2/DatabaseActivity.java [new file with mode: 0644]
others/lede-gui/src/main/java/com/example/lede2/DatabaseObject.java [new file with mode: 0644]
others/lede-gui/src/main/java/com/example/lede2/DatabaseSubtypeObject.java [new file with mode: 0644]
others/lede-gui/src/main/java/com/example/lede2/DatabaseTypeObject.java [new file with mode: 0644]
others/lede-gui/src/main/java/com/example/lede2/DeleteDeviceActivity.java
others/lede-gui/src/main/java/com/example/lede2/DriverTypeSelectActivity.java [new file with mode: 0644]
others/lede-gui/src/main/java/com/example/lede2/DriversAddActivity.java [new file with mode: 0644]
others/lede-gui/src/main/java/com/example/lede2/DriversSelectActivity.java [new file with mode: 0644]
others/lede-gui/src/main/java/com/example/lede2/EnrollDeviceActivity.java [deleted file]
others/lede-gui/src/main/java/com/example/lede2/HomeSecurity.java [new file with mode: 0644]
others/lede-gui/src/main/java/com/example/lede2/InstallAddress.java [new file with mode: 0644]
others/lede-gui/src/main/java/com/example/lede2/InstallCommPattern.java [new file with mode: 0644]
others/lede-gui/src/main/java/com/example/lede2/InstallHost.java [new file with mode: 0644]
others/lede-gui/src/main/java/com/example/lede2/InstallTwoDevicesAndCommPattern.java [new file with mode: 0644]
others/lede-gui/src/main/java/com/example/lede2/InstallZigbeeDeviceAddress.java [new file with mode: 0644]
others/lede-gui/src/main/java/com/example/lede2/Irrigation.java [new file with mode: 0644]
others/lede-gui/src/main/java/com/example/lede2/Lifxtest.java [new file with mode: 0644]
others/lede-gui/src/main/java/com/example/lede2/ListActivity.java
others/lede-gui/src/main/java/com/example/lede2/MainActivity.java
others/lede-gui/src/main/java/com/example/lede2/RegisterDeviceAdding.java [new file with mode: 0644]
others/lede-gui/src/main/java/com/example/lede2/RegisterDeviceLoading.java [new file with mode: 0644]
others/lede-gui/src/main/java/com/example/lede2/RegistrationRouterCheck.java [new file with mode: 0644]
others/lede-gui/src/main/java/com/example/lede2/RelationActivity.java
others/lede-gui/src/main/java/com/example/lede2/SSH.java
others/lede-gui/src/main/java/com/example/lede2/SSH_MySQL.java
others/lede-gui/src/main/java/com/example/lede2/SmartLights.java [new file with mode: 0644]
others/lede-gui/src/main/java/com/example/lede2/Speaker.java [new file with mode: 0644]
others/lede-gui/src/main/java/com/example/lede2/UpdateLocalConfigFiles.java [new file with mode: 0644]
others/lede-gui/src/main/res/layout/activity_add_device.xml
others/lede-gui/src/main/res/layout/activity_config.xml
others/lede-gui/src/main/res/layout/activity_delete_device.xml
others/lede-gui/src/main/res/layout/activity_enroll_device.xml
others/lede-gui/src/main/res/layout/activity_list.xml
others/lede-gui/src/main/res/layout/activity_main.xml
others/lede-gui/src/main/res/layout/activity_relation.xml
others/lede-gui/src/main/res/layout/applications.xml [new file with mode: 0644]
others/lede-gui/src/main/res/layout/database.xml [new file with mode: 0644]
others/lede-gui/src/main/res/layout/drivers.xml [new file with mode: 0644]
others/lede-gui/src/main/res/layout/drivers_add.xml [new file with mode: 0644]
others/lede-gui/src/main/res/layout/home_security.xml [new file with mode: 0644]
others/lede-gui/src/main/res/layout/install_address.xml [new file with mode: 0644]
others/lede-gui/src/main/res/layout/install_comm_pattern.xml [new file with mode: 0644]
others/lede-gui/src/main/res/layout/install_device_address.xml [new file with mode: 0644]
others/lede-gui/src/main/res/layout/install_host.xml [new file with mode: 0644]
others/lede-gui/src/main/res/layout/install_options.xml [new file with mode: 0644]
others/lede-gui/src/main/res/layout/install_two_devices_and_comm_pattern.xml [new file with mode: 0644]
others/lede-gui/src/main/res/layout/install_zigbee_device_address.xml [new file with mode: 0644]
others/lede-gui/src/main/res/layout/irrigation.xml [new file with mode: 0644]
others/lede-gui/src/main/res/layout/lifxtest.xml [new file with mode: 0644]
others/lede-gui/src/main/res/layout/register_device_adding.xml [new file with mode: 0644]
others/lede-gui/src/main/res/layout/registration_layout.xml [new file with mode: 0644]
others/lede-gui/src/main/res/layout/smartlights.xml [new file with mode: 0644]
others/lede-gui/src/main/res/layout/speaker.xml [new file with mode: 0644]
others/lede-gui/src/main/res/layout/update.xml [new file with mode: 0644]
others/lede-gui/src/main/res/mipmap-hdpi/sentinel_icon.png [deleted file]
others/lede-gui/src/main/res/mipmap-mdpi/sentinel_icon.png [deleted file]
others/lede-gui/src/main/res/mipmap-xhdpi/sentinel_icon.png [deleted file]
others/lede-gui/src/main/res/mipmap-xxhdpi/sentinel_icon.png [deleted file]
others/lede-gui/src/main/res/mipmap-xxxhdpi/sentinel_icon.png [deleted file]
others/lede-gui/src/main/res/mipmap-xxxhdpi/vigilia_icon.png [new file with mode: 0644]
others/lede-gui/src/main/res/values/attrs.xml
others/lede-gui/src/main/res/values/colors.xml
others/lede-gui/src/main/res/values/constants.xml
others/lede-gui/src/main/res/values/dimens.xml
others/lede-gui/src/main/res/values/strings.xml
others/lede-gui/src/main/res/values/styles.xml

index 3543521..1f57ea9 100644 (file)
@@ -1 +1,21 @@
 /build\r
+# built application files\r
+*.apk\r
+*.ap_\r
+\r
+# files for the dex VM\r
+*.dex\r
+\r
+# Java class files\r
+*.class\r
+\r
+# generated files\r
+bin/\r
+gen/\r
+\r
+# Local configuration file (sdk path, etc)\r
+local.properties\r
+\r
+.gradle\r
+.iml\r
+.idea
\ No newline at end of file
diff --git a/others/lede-gui/.gradle/3.3/taskArtifacts/fileHashes.bin b/others/lede-gui/.gradle/3.3/taskArtifacts/fileHashes.bin
deleted file mode 100644 (file)
index 14472c9..0000000
Binary files a/others/lede-gui/.gradle/3.3/taskArtifacts/fileHashes.bin and /dev/null differ
diff --git a/others/lede-gui/.gradle/3.3/taskArtifacts/fileSnapshots.bin b/others/lede-gui/.gradle/3.3/taskArtifacts/fileSnapshots.bin
deleted file mode 100644 (file)
index c27ddb0..0000000
Binary files a/others/lede-gui/.gradle/3.3/taskArtifacts/fileSnapshots.bin and /dev/null differ
diff --git a/others/lede-gui/.gradle/3.3/taskArtifacts/taskArtifacts.bin b/others/lede-gui/.gradle/3.3/taskArtifacts/taskArtifacts.bin
deleted file mode 100644 (file)
index f1a6c2c..0000000
Binary files a/others/lede-gui/.gradle/3.3/taskArtifacts/taskArtifacts.bin and /dev/null differ
diff --git a/others/lede-gui/.gradle/3.3/taskArtifacts/taskArtifacts.lock b/others/lede-gui/.gradle/3.3/taskArtifacts/taskArtifacts.lock
deleted file mode 100644 (file)
index 9c87ff1..0000000
Binary files a/others/lede-gui/.gradle/3.3/taskArtifacts/taskArtifacts.lock and /dev/null differ
diff --git a/others/lede-gui/.gradle/3.3/tasks/_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin b/others/lede-gui/.gradle/3.3/tasks/_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin
deleted file mode 100644 (file)
index 7034f06..0000000
Binary files a/others/lede-gui/.gradle/3.3/tasks/_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin and /dev/null differ
diff --git a/others/lede-gui/.gradle/3.3/tasks/_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock b/others/lede-gui/.gradle/3.3/tasks/_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock
deleted file mode 100644 (file)
index 737c618..0000000
Binary files a/others/lede-gui/.gradle/3.3/tasks/_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock and /dev/null differ
diff --git a/others/lede-gui/.gradle/3.3/tasks/_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.bin b/others/lede-gui/.gradle/3.3/tasks/_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.bin
deleted file mode 100644 (file)
index fb93f2d..0000000
Binary files a/others/lede-gui/.gradle/3.3/tasks/_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.bin and /dev/null differ
diff --git a/others/lede-gui/.gradle/3.3/tasks/_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock b/others/lede-gui/.gradle/3.3/tasks/_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock
deleted file mode 100644 (file)
index 560430c..0000000
Binary files a/others/lede-gui/.gradle/3.3/tasks/_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock and /dev/null differ
diff --git a/others/lede-gui/.idea/compiler.xml b/others/lede-gui/.idea/compiler.xml
deleted file mode 100644 (file)
index 96cc43e..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
-  <component name="CompilerConfiguration">
-    <resourceExtensions />
-    <wildcardResourcePatterns>
-      <entry name="!?*.java" />
-      <entry name="!?*.form" />
-      <entry name="!?*.class" />
-      <entry name="!?*.groovy" />
-      <entry name="!?*.scala" />
-      <entry name="!?*.flex" />
-      <entry name="!?*.kt" />
-      <entry name="!?*.clj" />
-      <entry name="!?*.aj" />
-    </wildcardResourcePatterns>
-    <annotationProcessing>
-      <profile default="true" name="Default" enabled="false">
-        <processorPath useClasspath="true" />
-      </profile>
-    </annotationProcessing>
-  </component>
-</project>
\ No newline at end of file
diff --git a/others/lede-gui/.idea/copyright/profiles_settings.xml b/others/lede-gui/.idea/copyright/profiles_settings.xml
deleted file mode 100644 (file)
index c7d1c5a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<component name="CopyrightManager">\r
-  <settings default="" />\r
-</component>
\ No newline at end of file
diff --git a/others/lede-gui/.idea/gradle.xml b/others/lede-gui/.idea/gradle.xml
deleted file mode 100644 (file)
index 47bd81f..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
-  <component name="GradleSettings">
-    <option name="linkedExternalProjectsSettings">
-      <GradleProjectSettings>
-        <option name="distributionType" value="DEFAULT_WRAPPED" />
-        <option name="externalProjectPath" value="$PROJECT_DIR$" />
-        <option name="modules">
-          <set>
-            <option value="$PROJECT_DIR$" />
-          </set>
-        </option>
-        <option name="resolveModulePerSourceSet" value="false" />
-      </GradleProjectSettings>
-    </option>
-  </component>
-</project>
\ No newline at end of file
diff --git a/others/lede-gui/.idea/libraries/animated_vector_drawable_26_0_0_alpha1.xml b/others/lede-gui/.idea/libraries/animated_vector_drawable_26_0_0_alpha1.xml
deleted file mode 100644 (file)
index 37594df..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
-  <library name="animated-vector-drawable-26.0.0-alpha1">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.android/build-cache/fea81f4fb2d781440131b6eabc4f6cca5ca61683/output/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.android/build-cache/fea81f4fb2d781440131b6eabc4f6cca5ca61683/output/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/Android/Sdk/extras/android/m2repository/com/android/support/animated-vector-drawable/26.0.0-alpha1/animated-vector-drawable-26.0.0-alpha1-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/others/lede-gui/.idea/libraries/appcompat_v7_26_0_0_alpha1.xml b/others/lede-gui/.idea/libraries/appcompat_v7_26_0_0_alpha1.xml
deleted file mode 100644 (file)
index ff5b26d..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
-  <library name="appcompat-v7-26.0.0-alpha1">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.android/build-cache/edcc0d7dd5758dc3a3212a9c0a2bc93a0e9cefce/output/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.android/build-cache/edcc0d7dd5758dc3a3212a9c0a2bc93a0e9cefce/output/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/Android/Sdk/extras/android/m2repository/com/android/support/appcompat-v7/26.0.0-alpha1/appcompat-v7-26.0.0-alpha1-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/others/lede-gui/.idea/libraries/constraint_layout_1_0_2.xml b/others/lede-gui/.idea/libraries/constraint_layout_1_0_2.xml
deleted file mode 100644 (file)
index 83b382d..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-<component name="libraryTable">
-  <library name="constraint-layout-1.0.2">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.android/build-cache/3044b6b1926fa0c832f455b3b86c62a8e6d6bf37/output/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.android/build-cache/3044b6b1926fa0c832f455b3b86c62a8e6d6bf37/output/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/others/lede-gui/.idea/libraries/constraint_layout_solver_1_0_2.xml b/others/lede-gui/.idea/libraries/constraint_layout_solver_1_0_2.xml
deleted file mode 100644 (file)
index f71d1a6..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<component name="libraryTable">
-  <library name="constraint-layout-solver-1.0.2">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/Android/Sdk/extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.2/constraint-layout-solver-1.0.2.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/others/lede-gui/.idea/libraries/design_26_0_0_alpha1.xml b/others/lede-gui/.idea/libraries/design_26_0_0_alpha1.xml
deleted file mode 100644 (file)
index ac70c61..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
-  <library name="design-26.0.0-alpha1">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.android/build-cache/67944214bf3615418561512aa5969e2338232ea1/output/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.android/build-cache/67944214bf3615418561512aa5969e2338232ea1/output/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/Android/Sdk/extras/android/m2repository/com/android/support/design/26.0.0-alpha1/design-26.0.0-alpha1-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/others/lede-gui/.idea/libraries/espresso_core_2_2_2.xml b/others/lede-gui/.idea/libraries/espresso_core_2_2_2.xml
deleted file mode 100644 (file)
index 9113cc7..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
-  <library name="espresso-core-2.2.2">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.android/build-cache/2ab3699a4a858e42659134545ef13e5e7b92c7a1/output/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.android/build-cache/2ab3699a4a858e42659134545ef13e5e7b92c7a1/output/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/Android/Sdk/extras/android/m2repository/com/android/support/test/espresso/espresso-core/2.2.2/espresso-core-2.2.2-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/others/lede-gui/.idea/libraries/espresso_idling_resource_2_2_2.xml b/others/lede-gui/.idea/libraries/espresso_idling_resource_2_2_2.xml
deleted file mode 100644 (file)
index 69cf85a..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
-  <library name="espresso-idling-resource-2.2.2">
-    <CLASSES>
-      <root url="file://$USER_HOME$/.android/build-cache/9bd6611b1b2d0352a49e6046ddd23da9e668ee7d/output/res" />
-      <root url="jar://$USER_HOME$/.android/build-cache/9bd6611b1b2d0352a49e6046ddd23da9e668ee7d/output/jars/classes.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/Android/Sdk/extras/android/m2repository/com/android/support/test/espresso/espresso-idling-resource/2.2.2/espresso-idling-resource-2.2.2-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/others/lede-gui/.idea/libraries/exposed_instrumentation_api_publish_0_5.xml b/others/lede-gui/.idea/libraries/exposed_instrumentation_api_publish_0_5.xml
deleted file mode 100644 (file)
index de3e1d7..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
-  <library name="exposed-instrumentation-api-publish-0.5">
-    <CLASSES>
-      <root url="file://$USER_HOME$/.android/build-cache/70e1170e0468fd1778148b8e8d11345676acc8f0/output/res" />
-      <root url="jar://$USER_HOME$/.android/build-cache/70e1170e0468fd1778148b8e8d11345676acc8f0/output/jars/classes.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/Android/Sdk/extras/android/m2repository/com/android/support/test/exposed-instrumentation-api-publish/0.5/exposed-instrumentation-api-publish-0.5-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/others/lede-gui/.idea/libraries/hamcrest_core_1_3.xml b/others/lede-gui/.idea/libraries/hamcrest_core_1_3.xml
deleted file mode 100644 (file)
index 157e3f3..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<component name="libraryTable">
-  <library name="hamcrest-core-1.3">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-core/1.3/42a25dc3219429f0e5d060061f71acb49bf010a0/hamcrest-core-1.3.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-core/1.3/1dc37250fbc78e23a65a67fbbaf71d2e9cbc3c0b/hamcrest-core-1.3-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/others/lede-gui/.idea/libraries/hamcrest_integration_1_3.xml b/others/lede-gui/.idea/libraries/hamcrest_integration_1_3.xml
deleted file mode 100644 (file)
index 58b2c4b..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<component name="libraryTable">
-  <library name="hamcrest-integration-1.3">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-integration/1.3/5de0c73fef18917cd85d0ab70bb23818685e4dfd/hamcrest-integration-1.3.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/others/lede-gui/.idea/libraries/hamcrest_library_1_3.xml b/others/lede-gui/.idea/libraries/hamcrest_library_1_3.xml
deleted file mode 100644 (file)
index 676cc63..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<component name="libraryTable">
-  <library name="hamcrest-library-1.3">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-library/1.3/4785a3c21320980282f9f33d0d1264a69040538f/hamcrest-library-1.3.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/others/lede-gui/.idea/libraries/javawriter_2_1_1.xml b/others/lede-gui/.idea/libraries/javawriter_2_1_1.xml
deleted file mode 100644 (file)
index a66fefb..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<component name="libraryTable">
-  <library name="javawriter-2.1.1">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.squareup/javawriter/2.1.1/67ff45d9ae02e583d0f9b3432a5ebbe05c30c966/javawriter-2.1.1.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/others/lede-gui/.idea/libraries/javax_annotation_api_1_2.xml b/others/lede-gui/.idea/libraries/javax_annotation_api_1_2.xml
deleted file mode 100644 (file)
index 811e73f..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<component name="libraryTable">
-  <library name="javax.annotation-api-1.2">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/javax.annotation/javax.annotation-api/1.2/479c1e06db31c432330183f5cae684163f186146/javax.annotation-api-1.2.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/others/lede-gui/.idea/libraries/javax_inject_1.xml b/others/lede-gui/.idea/libraries/javax_inject_1.xml
deleted file mode 100644 (file)
index 0d1d5fc..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<component name="libraryTable">
-  <library name="javax.inject-1">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/javax.inject/javax.inject/1/6975da39a7040257bd51d21a231b76c915872d38/javax.inject-1.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/others/lede-gui/.idea/libraries/jsch_0_1_54.xml b/others/lede-gui/.idea/libraries/jsch_0_1_54.xml
deleted file mode 100644 (file)
index 803717f..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<component name="libraryTable">
-  <library name="jsch-0.1.54">
-    <CLASSES>
-      <root url="jar://$PROJECT_DIR$/libs/jsch-0.1.54.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/others/lede-gui/.idea/libraries/jsr305_2_0_1.xml b/others/lede-gui/.idea/libraries/jsr305_2_0_1.xml
deleted file mode 100644 (file)
index cdf9878..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<component name="libraryTable">
-  <library name="jsr305-2.0.1">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.code.findbugs/jsr305/2.0.1/516c03b21d50a644d538de0f0369c620989cd8f0/jsr305-2.0.1.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/others/lede-gui/.idea/libraries/junit_4_12.xml b/others/lede-gui/.idea/libraries/junit_4_12.xml
deleted file mode 100644 (file)
index 305df30..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<component name="libraryTable">
-  <library name="junit-4.12">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/junit/junit/4.12/2973d150c0dc1fefe998f834810d68f278ea58ec/junit-4.12.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/junit/junit/4.12/a6c32b40bf3d76eca54e3c601e5d1470c86fcdfa/junit-4.12-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/others/lede-gui/.idea/libraries/recyclerview_v7_26_0_0_alpha1.xml b/others/lede-gui/.idea/libraries/recyclerview_v7_26_0_0_alpha1.xml
deleted file mode 100644 (file)
index fb50ff2..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
-  <library name="recyclerview-v7-26.0.0-alpha1">
-    <CLASSES>
-      <root url="file://$USER_HOME$/.android/build-cache/9086e48f2c024cb32ae1448854cd04f1a9580d1a/output/res" />
-      <root url="jar://$USER_HOME$/.android/build-cache/9086e48f2c024cb32ae1448854cd04f1a9580d1a/output/jars/classes.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/Android/Sdk/extras/android/m2repository/com/android/support/recyclerview-v7/26.0.0-alpha1/recyclerview-v7-26.0.0-alpha1-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/others/lede-gui/.idea/libraries/rules_0_5.xml b/others/lede-gui/.idea/libraries/rules_0_5.xml
deleted file mode 100644 (file)
index 91e07ed..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
-  <library name="rules-0.5">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.android/build-cache/3160d8826a0368126e8579933414b4a97d16e2cc/output/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.android/build-cache/3160d8826a0368126e8579933414b4a97d16e2cc/output/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/Android/Sdk/extras/android/m2repository/com/android/support/test/rules/0.5/rules-0.5-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/others/lede-gui/.idea/libraries/runner_0_5.xml b/others/lede-gui/.idea/libraries/runner_0_5.xml
deleted file mode 100644 (file)
index 4c2562f..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
-  <library name="runner-0.5">
-    <CLASSES>
-      <root url="file://$USER_HOME$/.android/build-cache/85f5aed809c5631145b9976f00f70d949f74db27/output/res" />
-      <root url="jar://$USER_HOME$/.android/build-cache/85f5aed809c5631145b9976f00f70d949f74db27/output/jars/classes.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/Android/Sdk/extras/android/m2repository/com/android/support/test/runner/0.5/runner-0.5-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/others/lede-gui/.idea/libraries/support_annotations_26_0_0_alpha1.xml b/others/lede-gui/.idea/libraries/support_annotations_26_0_0_alpha1.xml
deleted file mode 100644 (file)
index 44566c5..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<component name="libraryTable">
-  <library name="support-annotations-26.0.0-alpha1">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/Android/Sdk/extras/android/m2repository/com/android/support/support-annotations/26.0.0-alpha1/support-annotations-26.0.0-alpha1.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/Android/Sdk/extras/android/m2repository/com/android/support/support-annotations/26.0.0-alpha1/support-annotations-26.0.0-alpha1-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/others/lede-gui/.idea/libraries/support_compat_26_0_0_alpha1.xml b/others/lede-gui/.idea/libraries/support_compat_26_0_0_alpha1.xml
deleted file mode 100644 (file)
index 5507d57..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
-  <library name="support-compat-26.0.0-alpha1">
-    <CLASSES>
-      <root url="file://$USER_HOME$/.android/build-cache/4adbe8f30931f291813273929925c06441441884/output/res" />
-      <root url="jar://$USER_HOME$/.android/build-cache/4adbe8f30931f291813273929925c06441441884/output/jars/classes.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/Android/Sdk/extras/android/m2repository/com/android/support/support-compat/26.0.0-alpha1/support-compat-26.0.0-alpha1-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/others/lede-gui/.idea/libraries/support_core_ui_26_0_0_alpha1.xml b/others/lede-gui/.idea/libraries/support_core_ui_26_0_0_alpha1.xml
deleted file mode 100644 (file)
index 5ad1369..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
-  <library name="support-core-ui-26.0.0-alpha1">
-    <CLASSES>
-      <root url="file://$USER_HOME$/.android/build-cache/c1a5accc0d897a16582f51dea141f350b6b9b17c/output/res" />
-      <root url="jar://$USER_HOME$/.android/build-cache/c1a5accc0d897a16582f51dea141f350b6b9b17c/output/jars/classes.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/Android/Sdk/extras/android/m2repository/com/android/support/support-core-ui/26.0.0-alpha1/support-core-ui-26.0.0-alpha1-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/others/lede-gui/.idea/libraries/support_core_utils_26_0_0_alpha1.xml b/others/lede-gui/.idea/libraries/support_core_utils_26_0_0_alpha1.xml
deleted file mode 100644 (file)
index 07958bb..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
-  <library name="support-core-utils-26.0.0-alpha1">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.android/build-cache/220a5ee72977e4a725793d3ce11359d57a5784a6/output/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.android/build-cache/220a5ee72977e4a725793d3ce11359d57a5784a6/output/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/Android/Sdk/extras/android/m2repository/com/android/support/support-core-utils/26.0.0-alpha1/support-core-utils-26.0.0-alpha1-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/others/lede-gui/.idea/libraries/support_fragment_26_0_0_alpha1.xml b/others/lede-gui/.idea/libraries/support_fragment_26_0_0_alpha1.xml
deleted file mode 100644 (file)
index 520ccd2..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
-  <library name="support-fragment-26.0.0-alpha1">
-    <CLASSES>
-      <root url="file://$USER_HOME$/.android/build-cache/9bff5a74f961deb78903cfeec509ab585fc42df9/output/res" />
-      <root url="jar://$USER_HOME$/.android/build-cache/9bff5a74f961deb78903cfeec509ab585fc42df9/output/jars/classes.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/Android/Sdk/extras/android/m2repository/com/android/support/support-fragment/26.0.0-alpha1/support-fragment-26.0.0-alpha1-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/others/lede-gui/.idea/libraries/support_media_compat_26_0_0_alpha1.xml b/others/lede-gui/.idea/libraries/support_media_compat_26_0_0_alpha1.xml
deleted file mode 100644 (file)
index cc2ac96..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
-  <library name="support-media-compat-26.0.0-alpha1">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.android/build-cache/220ee29522075b993426a38e5ecfef8ab31358c6/output/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.android/build-cache/220ee29522075b993426a38e5ecfef8ab31358c6/output/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/Android/Sdk/extras/android/m2repository/com/android/support/support-media-compat/26.0.0-alpha1/support-media-compat-26.0.0-alpha1-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/others/lede-gui/.idea/libraries/support_v4_26_0_0_alpha1.xml b/others/lede-gui/.idea/libraries/support_v4_26_0_0_alpha1.xml
deleted file mode 100644 (file)
index 669a0bd..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
-  <library name="support-v4-26.0.0-alpha1">
-    <CLASSES>
-      <root url="file://$USER_HOME$/.android/build-cache/e8a7beab2ec367c79a7da27066fdaa1836a71605/output/res" />
-      <root url="jar://$USER_HOME$/.android/build-cache/e8a7beab2ec367c79a7da27066fdaa1836a71605/output/jars/classes.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/Android/Sdk/extras/android/m2repository/com/android/support/support-v4/26.0.0-alpha1/support-v4-26.0.0-alpha1-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/others/lede-gui/.idea/libraries/support_vector_drawable_26_0_0_alpha1.xml b/others/lede-gui/.idea/libraries/support_vector_drawable_26_0_0_alpha1.xml
deleted file mode 100644 (file)
index dfe14f4..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
-  <library name="support-vector-drawable-26.0.0-alpha1">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.android/build-cache/79c260ad77402863b97f0c9058b18dc89d8c7226/output/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.android/build-cache/79c260ad77402863b97f0c9058b18dc89d8c7226/output/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/Android/Sdk/extras/android/m2repository/com/android/support/support-vector-drawable/26.0.0-alpha1/support-vector-drawable-26.0.0-alpha1-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/others/lede-gui/.idea/libraries/transition_26_0_0_alpha1.xml b/others/lede-gui/.idea/libraries/transition_26_0_0_alpha1.xml
deleted file mode 100644 (file)
index 49ecf0a..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
-  <library name="transition-26.0.0-alpha1">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.android/build-cache/cdf1af736a7160b5c747e5013a8360ab4415c35c/output/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.android/build-cache/cdf1af736a7160b5c747e5013a8360ab4415c35c/output/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/Android/Sdk/extras/android/m2repository/com/android/support/transition/26.0.0-alpha1/transition-26.0.0-alpha1-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/others/lede-gui/.idea/misc.xml b/others/lede-gui/.idea/misc.xml
deleted file mode 100644 (file)
index b0a270f..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
-  <component name="EntryPointsManager">
-    <entry_points version="2.0" />
-  </component>
-  <component name="NullableNotNullManager">
-    <option name="myDefaultNullable" value="android.support.annotation.Nullable" />
-    <option name="myDefaultNotNull" value="android.support.annotation.NonNull" />
-    <option name="myNullables">
-      <value>
-        <list size="4">
-          <item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.Nullable" />
-          <item index="1" class="java.lang.String" itemvalue="javax.annotation.Nullable" />
-          <item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.Nullable" />
-          <item index="3" class="java.lang.String" itemvalue="android.support.annotation.Nullable" />
-        </list>
-      </value>
-    </option>
-    <option name="myNotNulls">
-      <value>
-        <list size="4">
-          <item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.NotNull" />
-          <item index="1" class="java.lang.String" itemvalue="javax.annotation.Nonnull" />
-          <item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.NonNull" />
-          <item index="3" class="java.lang.String" itemvalue="android.support.annotation.NonNull" />
-        </list>
-      </value>
-    </option>
-  </component>
-  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" assert-keyword="true" jdk-15="true" 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>
-</project>
\ No newline at end of file
diff --git a/others/lede-gui/.idea/modules.xml b/others/lede-gui/.idea/modules.xml
deleted file mode 100644 (file)
index e45091c..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
-  <component name="ProjectModuleManager">
-    <modules>
-      <module fileurl="file://$PROJECT_DIR$/lede-gui.iml" filepath="$PROJECT_DIR$/lede-gui.iml" />
-    </modules>
-  </component>
-</project>
\ No newline at end of file
diff --git a/others/lede-gui/.idea/runConfigurations.xml b/others/lede-gui/.idea/runConfigurations.xml
deleted file mode 100644 (file)
index 7f68460..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
-  <component name="RunConfigurationProducerService">
-    <option name="ignoredProducers">
-      <set>
-        <option value="org.jetbrains.plugins.gradle.execution.test.runner.AllInPackageGradleConfigurationProducer" />
-        <option value="org.jetbrains.plugins.gradle.execution.test.runner.TestClassGradleConfigurationProducer" />
-        <option value="org.jetbrains.plugins.gradle.execution.test.runner.TestMethodGradleConfigurationProducer" />
-      </set>
-    </option>
-  </component>
-</project>
\ No newline at end of file
diff --git a/others/lede-gui/.idea/workspace.xml b/others/lede-gui/.idea/workspace.xml
deleted file mode 100644 (file)
index e8ea71d..0000000
+++ /dev/null
@@ -1,2412 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
-  <component name="AndroidLayouts">
-    <shared>
-      <config />
-    </shared>
-  </component>
-  <component name="AndroidLogFilters">
-    <option name="TOOL_WINDOW_CUSTOM_FILTER" value="LOAD" />
-    <option name="TOOL_WINDOW_CONFIGURED_FILTER" value="Show only selected application" />
-    <option name="TOOL_WINDOW_REGEXP_FILTER" value="false" />
-  </component>
-  <component name="ChangeListManager">
-    <list default="true" id="0a25c2b7-da4c-4615-9899-055deea5ccc9" name="Default" comment="" />
-    <ignored path="lede2.iws" />
-    <ignored path=".idea/workspace.xml" />
-    <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" />
-    <option name="LAST_RESOLUTION" value="IGNORE" />
-  </component>
-  <component name="CreatePatchCommitExecutor">
-    <option name="PATCH_PATH" value="" />
-  </component>
-  <component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
-  <component name="ExternalProjectsData">
-    <projectState path="$PROJECT_DIR$">
-      <ProjectState />
-    </projectState>
-  </component>
-  <component name="ExternalProjectsManager">
-    <system id="GRADLE">
-      <state>
-        <task path="$PROJECT_DIR$">
-          <activation />
-        </task>
-        <projects_view>
-          <tree_state />
-        </projects_view>
-      </state>
-    </system>
-  </component>
-  <component name="FavoritesManager">
-    <favorites_list name="lede2" />
-  </component>
-  <component name="FileEditorManager">
-    <leaf SIDE_TABS_SIZE_LIMIT_KEY="375">
-      <file leaf-file-name="activity_main.xml" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/main/res/layout/activity_main.xml">
-          <provider editor-type-id="text-editor">
-            <state relative-caret-position="1980">
-              <caret line="132" column="8" selection-start-line="132" selection-start-column="8" selection-end-line="132" selection-end-column="8" />
-              <folding />
-            </state>
-          </provider>
-          <provider selected="true" editor-type-id="android-designer2">
-            <state />
-          </provider>
-        </entry>
-      </file>
-      <file leaf-file-name="activity_enroll_device.xml" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/main/res/layout/activity_enroll_device.xml">
-          <provider editor-type-id="text-editor">
-            <state relative-caret-position="120">
-              <caret line="8" column="0" selection-start-line="8" selection-start-column="0" selection-end-line="8" selection-end-column="0" />
-              <folding />
-            </state>
-          </provider>
-          <provider selected="true" editor-type-id="android-designer2">
-            <state />
-          </provider>
-        </entry>
-      </file>
-      <file leaf-file-name="EnrollDeviceActivity.java" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/main/java/com/example/lede2/EnrollDeviceActivity.java">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="-1251">
-              <caret line="51" column="12" selection-start-line="51" selection-start-column="8" selection-end-line="51" selection-end-column="12" />
-              <folding />
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file leaf-file-name="activity_add_device.xml" pinned="false" current-in-tab="true">
-        <entry file="file://$PROJECT_DIR$/src/main/res/layout/activity_add_device.xml">
-          <provider editor-type-id="text-editor">
-            <state relative-caret-position="90">
-              <caret line="6" column="54" selection-start-line="6" selection-start-column="54" selection-end-line="6" selection-end-column="54" />
-              <folding />
-            </state>
-          </provider>
-          <provider selected="true" editor-type-id="android-designer2">
-            <state />
-          </provider>
-        </entry>
-      </file>
-      <file leaf-file-name="SSH.java" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/main/java/com/example/lede2/SSH.java">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="261">
-              <caret line="146" column="56" selection-start-line="146" selection-start-column="31" selection-end-line="146" selection-end-column="56" />
-              <folding />
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file leaf-file-name="build.gradle" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/build.gradle">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="600">
-              <caret line="40" column="53" selection-start-line="40" selection-start-column="53" selection-end-line="40" selection-end-column="53" />
-              <folding />
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file leaf-file-name="SSH_MySQL.java" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/main/java/com/example/lede2/SSH_MySQL.java">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="563">
-              <caret line="147" column="58" selection-start-line="147" selection-start-column="35" selection-end-line="147" selection-end-column="58" />
-              <folding />
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file leaf-file-name="constants.xml" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/main/res/values/constants.xml">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="345">
-              <caret line="23" column="12" selection-start-line="23" selection-start-column="12" selection-end-line="23" selection-end-column="12" />
-              <folding />
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file leaf-file-name="activity_relation.xml" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/main/res/layout/activity_relation.xml">
-          <provider editor-type-id="text-editor">
-            <state relative-caret-position="2460">
-              <caret line="164" column="23" selection-start-line="164" selection-start-column="23" selection-end-line="164" selection-end-column="23" />
-              <folding />
-            </state>
-          </provider>
-          <provider selected="true" editor-type-id="android-designer2">
-            <state />
-          </provider>
-        </entry>
-      </file>
-      <file leaf-file-name="activity_list.xml" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/main/res/layout/activity_list.xml">
-          <provider editor-type-id="text-editor">
-            <state relative-caret-position="126">
-              <caret line="21" column="36" selection-start-line="21" selection-start-column="36" selection-end-line="21" selection-end-column="36" />
-              <folding />
-            </state>
-          </provider>
-          <provider selected="true" editor-type-id="android-designer2">
-            <state />
-          </provider>
-        </entry>
-      </file>
-    </leaf>
-  </component>
-  <component name="FileTemplateManagerImpl">
-    <option name="RECENT_TEMPLATES">
-      <list>
-        <option value="valueResourceFile" />
-        <option value="resourceFile" />
-        <option value="Class" />
-        <option value="layoutResourceFile_vertical" />
-      </list>
-    </option>
-  </component>
-  <component name="GradleLocalSettings">
-    <option name="myGradleHomes">
-      <map>
-        <entry key="$PROJECT_DIR$" value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3" />
-      </map>
-    </option>
-    <option name="myGradleVersions">
-      <map>
-        <entry key="$PROJECT_DIR$" value="3.3" />
-      </map>
-    </option>
-    <option name="availableProjects">
-      <map>
-        <entry>
-          <key>
-            <ExternalProjectPojo>
-              <option name="name" value="lede-gui" />
-              <option name="path" value="$PROJECT_DIR$" />
-            </ExternalProjectPojo>
-          </key>
-          <value>
-            <list>
-              <ExternalProjectPojo>
-                <option name="name" value="lede-gui" />
-                <option name="path" value="$PROJECT_DIR$" />
-              </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 'lede-gui'." />
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="projects" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="validateSigningDebugAndroidTest" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="description" value="Prepare com.android.support.constraint:constraint-layout:1.0.2" />
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="prepareComAndroidSupportConstraintConstraintLayout102Library" />
-              </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="prepareDebugDependencies" />
-              </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="assembleDebugUnitTest" />
-              </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="description" value="Displays the configuration model of root project 'lede-gui'. [incubating]" />
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="model" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="description" value="Displays the tasks runnable from root project 'lede-gui'." />
-                <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. [incubating]" />
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="init" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="description" value="Prepare com.android.support:support-fragment:26.0.0-alpha1" />
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="prepareComAndroidSupportSupportFragment2600Alpha1Library" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="incrementalDebugJavaCompilationSafeguard" />
-              </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 'lede-gui'." />
-                <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="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="compileReleaseNdk" />
-              </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="compileDebugJavaWithJavac" />
-              </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="compileDebugAndroidTestJavaWithJavac" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="description" value="Displays the components produced by root project 'lede-gui'. [incubating]" />
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="components" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="description" value="Prepare com.android.support.test.espresso:espresso-idling-resource:2.2.2" />
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="prepareComAndroidSupportTestEspressoEspressoIdlingResource222Library" />
-              </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="description" value="Prepare com.android.support.test:rules:0.5" />
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="prepareComAndroidSupportTestRules05Library" />
-              </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="transformResourcesWithMergeJavaResForReleaseUnitTest" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="description" value="Prepare com.android.support:recyclerview-v7:26.0.0-alpha1" />
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="prepareComAndroidSupportRecyclerviewV72600Alpha1Library" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="transformClassesWithDexForDebug" />
-              </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="javaPreCompileDebugAndroidTest" />
-              </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="prepareDebugAndroidTestDependencies" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="incrementalDebugAndroidTestJavaCompilationSafeguard" />
-              </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="mergeReleaseJniLibFolders" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="prepareReleaseDependencies" />
-              </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="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 'lede-gui'." />
-                <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="incrementalReleaseUnitTestJavaCompilationSafeguard" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="preReleaseBuild" />
-              </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="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="incrementalDebugUnitTestJavaCompilationSafeguard" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="description" value="Prepare com.android.support:animated-vector-drawable:26.0.0-alpha1" />
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="prepareComAndroidSupportAnimatedVectorDrawable2600Alpha1Library" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="incrementalReleaseJavaCompilationSafeguard" />
-              </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="mergeDebugAssets" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="javaPreCompileReleaseUnitTest" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="javaPreCompileRelease" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="description" value="Prepare com.android.support:support-core-utils:26.0.0-alpha1" />
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="prepareComAndroidSupportSupportCoreUtils2600Alpha1Library" />
-              </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="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="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="Prepare com.android.support:design:26.0.0-alpha1" />
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="prepareComAndroidSupportDesign2600Alpha1Library" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="preDebugUnitTestBuild" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="description" value="Prepare com.android.support:support-compat:26.0.0-alpha1" />
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="prepareComAndroidSupportSupportCompat2600Alpha1Library" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="description" value="Generates Gradle wrapper files. [incubating]" />
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="wrapper" />
-              </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="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="compileDebugAndroidTestNdk" />
-              </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="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="transformClassesWithDexForDebugAndroidTest" />
-              </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="processDebugJavaRes" />
-              </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="jarReleaseClasses" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="transformResourcesWithMergeJavaResForDebugAndroidTest" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="prepareReleaseUnitTestDependencies" />
-              </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="compileDebugNdk" />
-              </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="description" value="Prepare com.android.support:support-v4:26.0.0-alpha1" />
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="prepareComAndroidSupportSupportV42600Alpha1Library" />
-              </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="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="jarDebugClasses" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="transformClassesWithDexForRelease" />
-              </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="Prepare com.android.support.test:runner:0.5" />
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="prepareComAndroidSupportTestRunner05Library" />
-              </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="description" value="Displays the dependent components of components in root project 'lede-gui'. [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 'lede-gui'." />
-                <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="description" value="Prepare com.android.support:appcompat-v7:26.0.0-alpha1" />
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="prepareComAndroidSupportAppcompatV72600Alpha1Library" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="mergeReleaseAssets" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="description" value="Prepare com.android.support:support-media-compat:26.0.0-alpha1" />
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="prepareComAndroidSupportSupportMediaCompat2600Alpha1Library" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="description" value="Prepare com.android.support:support-core-ui:26.0.0-alpha1" />
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="prepareComAndroidSupportSupportCoreUi2600Alpha1Library" />
-              </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="description" value="Prepare com.android.support:support-vector-drawable:26.0.0-alpha1" />
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="prepareComAndroidSupportSupportVectorDrawable2600Alpha1Library" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="prepareDebugUnitTestDependencies" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="description" value="Prepare com.android.support.test:exposed-instrumentation-api-publish:0.5" />
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="prepareComAndroidSupportTestExposedInstrumentationApiPublish05Library" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="generateReleaseResources" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="description" value="Runs lint on just the fatal issues in the release build." />
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="lintVitalRelease" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="description" value="Uninstalls the Debug build." />
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="uninstallDebug" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="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="mergeDebugAndroidTestShaders" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="description" value="Prepare com.android.support:transition:26.0.0-alpha1" />
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="prepareComAndroidSupportTransition2600Alpha1Library" />
-              </ExternalTaskPojo>
-              <ExternalTaskPojo>
-                <option name="description" value="Deletes the build directory." />
-                <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="generateDebugBuildConfig" />
-              </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="description" value="Prepare com.android.support.test.espresso:espresso-core:2.2.2" />
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="prepareComAndroidSupportTestEspressoEspressoCore222Library" />
-              </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="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 'lede-gui'." />
-                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
-                <option name="name" value="properties" />
-              </ExternalTaskPojo>
-            </list>
-          </value>
-        </entry>
-      </map>
-    </option>
-    <option name="modificationStamps">
-      <map>
-        <entry key="$PROJECT_DIR$" value="1506033335642" />
-        <entry key="C:\Users\BOWON KO\AndroidStudioProjects\Androidinit\lede2" value="10503612567953" />
-      </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="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/gradle/2.3.3/gradle-2.3.3-sources.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/gradle/2.3.3/gradle-2.3.3.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/gradle-core/2.3.3/gradle-core-2.3.3-sources.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/gradle-core/2.3.3/gradle-core-2.3.3.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/builder/2.3.3/builder-2.3.3-sources.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/builder/2.3.3/builder-2.3.3.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/lint/lint/25.3.3/lint-25.3.3-sources.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/lint/lint/25.3.3/lint-25.3.3.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/transform-api/2.0.0-deprecated-use-gradle-api/transform-api-2.0.0-deprecated-use-gradle-api.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/gradle-api/2.3.3/gradle-api-2.3.3-sources.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/gradle-api/2.3.3/gradle-api-2.3.3.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/databinding/compilerCommon/2.3.3/compilerCommon-2.3.3-sources.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/databinding/compilerCommon/2.3.3/compilerCommon-2.3.3.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/asm/5.0.4/asm-5.0.4-sources.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/asm/5.0.4/asm-5.0.4.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/asm-commons/5.0.4/asm-commons-5.0.4.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/net/sf/proguard/proguard-gradle/5.3.2/proguard-gradle-5.3.2.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/jacoco/org.jacoco.core/0.7.5.201505241946/org.jacoco.core-0.7.5.201505241946.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/jacoco/org.jacoco.report/0.7.5.201505241946/org.jacoco.report-0.7.5.201505241946.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/net/sf/jopt-simple/jopt-simple/4.9/jopt-simple-4.9.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/google/protobuf/protobuf-java/3.0.0/protobuf-java-3.0.0.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/builder-model/2.3.3/builder-model-2.3.3-sources.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/builder-model/2.3.3/builder-model-2.3.3.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/builder-test-api/2.3.3/builder-test-api-2.3.3-sources.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/builder-test-api/2.3.3/builder-test-api-2.3.3.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/sdklib/25.3.3/sdklib-25.3.3-sources.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/sdklib/25.3.3/sdklib-25.3.3.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/sdk-common/25.3.3/sdk-common-25.3.3-sources.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/sdk-common/25.3.3/sdk-common-25.3.3.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/common/25.3.3/common-25.3.3-sources.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/common/25.3.3/common-25.3.3.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/manifest-merger/25.3.3/manifest-merger-25.3.3-sources.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/manifest-merger/25.3.3/manifest-merger-25.3.3.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/ddms/ddmlib/25.3.3/ddmlib-25.3.3-sources.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/ddms/ddmlib/25.3.3/ddmlib-25.3.3.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/jack/jack-api/0.13.0/jack-api-0.13.0.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/jill/jill-api/0.10.0/jill-api-0.10.0.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/analytics-library/protos/25.3.3/protos-25.3.3-sources.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/analytics-library/protos/25.3.3/protos-25.3.3.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/analytics-library/shared/25.3.3/shared-25.3.3-sources.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/analytics-library/shared/25.3.3/shared-25.3.3.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/analytics-library/tracker/25.3.3/tracker-25.3.3-sources.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/analytics-library/tracker/25.3.3/tracker-25.3.3.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/squareup/javawriter/2.5.0/javawriter-2.5.0.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/bouncycastle/bcpkix-jdk15on/1.48/bcpkix-jdk15on-1.48.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/bouncycastle/bcprov-jdk15on/1.48/bcprov-jdk15on-1.48.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/asm-tree/5.0.4/asm-tree-5.0.4.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/lint/lint-checks/25.3.3/lint-checks-25.3.3-sources.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/lint/lint-checks/25.3.3/lint-checks-25.3.3.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/eclipse/jdt/core/compiler/ecj/4.6.1/ecj-4.6.1.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/google/guava/guava/18.0/guava-18.0.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/databinding/baseLibrary/2.3.3/baseLibrary-2.3.3-sources.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/databinding/baseLibrary/2.3.3/baseLibrary-2.3.3.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/antlr/antlr4/4.5.3/antlr4-4.5.3.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/commons-io/commons-io/2.4/commons-io-2.4.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/googlecode/juniversalchardet/juniversalchardet/1.0.3/juniversalchardet-1.0.3.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/annotations/25.3.3/annotations-25.3.3-sources.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/annotations/25.3.3/annotations-25.3.3.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/net/sf/proguard/proguard-base/5.3.2/proguard-base-5.3.2.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/asm-debug-all/5.0.1/asm-debug-all-5.0.1.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/layoutlib/layoutlib-api/25.3.3/layoutlib-api-25.3.3-sources.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/layoutlib/layoutlib-api/25.3.3/layoutlib-api-25.3.3.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/dvlib/25.3.3/dvlib-25.3.3-sources.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/dvlib/25.3.3/dvlib-25.3.3.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/repository/25.3.3/repository-25.3.3-sources.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/repository/25.3.3/repository-25.3.3.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/google/code/gson/gson/2.2.4/gson-2.2.4.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/apache/commons/commons-compress/1.8.1/commons-compress-1.8.1.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/apache/httpcomponents/httpclient/4.1.1/httpclient-4.1.1.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/apache/httpcomponents/httpmime/4.1/httpmime-4.1.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/net/sf/kxml/kxml2/2.3.0/kxml2-2.3.0.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/lint/lint-api/25.3.3/lint-api-25.3.3-sources.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/lint/lint-api/25.3.3/lint-api-25.3.3.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/asm-analysis/5.0.4/asm-analysis-5.0.4.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/intellij/annotations/12.0/annotations-12.0.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/google/jimfs/jimfs/1.1/jimfs-1.1.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/apache/httpcomponents/httpcore/4.1/httpcore-4.1.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/commons-codec/commons-codec/1.4/commons-codec-1.4.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/external/com-intellij/uast/162.2228.14/uast-162.2228.14.jar" />
-                            <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/external/lombok/lombok-ast/0.2.3/lombok-ast-0.2.3.jar" />
-                          </list>
-                        </option>
-                        <option name="path" value="$PROJECT_DIR$" />
-                      </ExternalModuleBuildClasspathPojo>
-                    </value>
-                  </entry>
-                </map>
-              </option>
-              <option name="name" value="lede-gui" />
-              <option name="projectBuildClasspath">
-                <list>
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/platform-play" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/signing" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/testing-jvm" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/language-jvm" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/scala" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/native" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/wrapper" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/testing-native" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/platform-jvm" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/plugin-development" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/open-api" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/ear" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/tooling-api-builders" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/ui" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/jetty" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/internal-performance-testing" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/resources-sftp" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/platform-base" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/antlr" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/model-groovy" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/maven" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/language-java" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/testing-base" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/build-cache-http" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/code-quality" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/language-native" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/ide" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/resources-http" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/publish" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/ide-play" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/javascript" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/language-scala" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/workers" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/jvm-services" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/test-kit" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/messaging" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/plugins" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/internal-integ-testing" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/resources" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/composite-builds" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/platform-native" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/reporting" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/installation-beacon" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/launcher" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/ide-native" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/diagnostics" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/resources-s3" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/base-services-groovy" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/logging" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/cli" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/build-comparison" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/model-core" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/jacoco" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/ivy" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/plugin-use" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/osgi" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/process-services" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/base-services" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/internal-testing" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/announce" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/build-init" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/core" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/tooling-api" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/language-groovy" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/internal-android-performance-testing" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/src/dependency-management" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/gradle-process-services-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/gradle-launcher-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/gradle-core-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/gradle-messaging-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/gradle-model-groovy-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/groovy-all-2.4.7.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/gradle-ui-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/gradle-tooling-api-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/ant-1.9.6.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/gradle-cli-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/gradle-base-services-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/gradle-open-api-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/gradle-installation-beacon-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/gradle-script-kotlin-0.5.1.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/gradle-native-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/gradle-version-info-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/gradle-model-core-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/gradle-wrapper-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/ant-launcher-1.9.6.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/gradle-resources-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/gradle-docs-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/gradle-logging-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/gradle-jvm-services-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/gradle-base-services-groovy-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/plugins/gradle-resources-sftp-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/plugins/gradle-build-cache-http-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/plugins/gradle-platform-native-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/plugins/gradle-language-scala-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/plugins/gradle-ide-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/plugins/gradle-ide-play-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/plugins/gradle-test-kit-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/plugins/gradle-javascript-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/plugins/gradle-build-comparison-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/plugins/gradle-jacoco-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/plugins/gradle-ide-native-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/plugins/gradle-platform-play-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/plugins/gradle-plugin-development-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/plugins/gradle-platform-jvm-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/plugins/gradle-reporting-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/plugins/gradle-publish-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/plugins/gradle-composite-builds-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/plugins/gradle-signing-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/plugins/gradle-plugin-use-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/plugins/gradle-maven-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/plugins/gradle-ivy-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/plugins/ivy-2.2.0.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/plugins/gradle-build-init-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/plugins/gradle-testing-jvm-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/plugins/gradle-testing-native-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/plugins/gradle-scala-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/plugins/gradle-testing-base-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/plugins/gradle-workers-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/plugins/gradle-jetty-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/plugins/gradle-language-groovy-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/plugins/gradle-platform-base-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/plugins/gradle-language-native-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/plugins/gradle-resources-s3-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/plugins/gradle-tooling-api-builders-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/plugins/gradle-antlr-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/plugins/gradle-dependency-management-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/plugins/gradle-ear-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/plugins/gradle-code-quality-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/plugins/gradle-diagnostics-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/plugins/gradle-language-java-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/plugins/gradle-announce-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/plugins/gradle-language-jvm-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/plugins/gradle-plugins-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/plugins/gradle-osgi-3.3.jar" />
-                  <option value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/lib/plugins/gradle-resources-http-3.3.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>
-  </component>
-  <component name="IdeDocumentHistory">
-    <option name="CHANGED_PATHS">
-      <list>
-        <option value="$PROJECT_DIR$/../sentinel/src/main/java/com/example/sentinel/MainActivity.java" />
-        <option value="$PROJECT_DIR$/../sentinel/src/main/java/com/example/sentinel/SSH.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/example/lede2/ExplainActivity.java" />
-        <option value="$PROJECT_DIR$/gradle/wrapper/gradle-wrapper.properties" />
-        <option value="$PROJECT_DIR$/build.gradle" />
-        <option value="$USER_HOME$/Android/Sdk/platforms/android-26/android.jar!/android/app/Activity.class" />
-        <option value="$PROJECT_DIR$/src/main/res/layout/activity_config.xml" />
-        <option value="$PROJECT_DIR$/src/main/res/values/Constants.xml" />
-        <option value="$PROJECT_DIR$/src/main/res/xml/constants.xml" />
-        <option value="$PROJECT_DIR$/src/main/AndroidManifest.xml" />
-        <option value="$PROJECT_DIR$/src/main/res/layout/activity_enroll_device.xml" />
-        <option value="$PROJECT_DIR$/src/main/java/com/example/lede2/add_device.config" />
-        <option value="$PROJECT_DIR$/src/main/java/com/example/lede2/MySQLInterface.config" />
-        <option value="$PROJECT_DIR$/src/main/java/com/example/lede2/AddDeviceInfoActivity.java" />
-        <option value="$PROJECT_DIR$/src/main/res/layout/content_add_device_info.xml" />
-        <option value="$PROJECT_DIR$/src/main/res/layout/activity_add_device_info.xml" />
-        <option value="$PROJECT_DIR$/src/main/assets/add_device.config" />
-        <option value="$PROJECT_DIR$/src/main/java/com/example/lede2/ConfigActivity.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/example/lede2/SSH_MySQL.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/example/lede2/SSH.java" />
-        <option value="$PROJECT_DIR$/src/main/assets/add_device_address.config" />
-        <option value="$PROJECT_DIR$/src/main/java/com/example/lede2/AddDeviceActivity.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/example/lede2/DeleteDeviceActivity.java" />
-        <option value="$PROJECT_DIR$/src/main/res/layout/activity_add_comm.xml" />
-        <option value="$PROJECT_DIR$/src/main/res/layout/activity_delete_device.xml" />
-        <option value="$PROJECT_DIR$/src/main/res/layout/activity_add_device.xml" />
-        <option value="$PROJECT_DIR$/src/main/assets/add_comm.config" />
-        <option value="$PROJECT_DIR$/src/main/java/com/example/lede2/AddCommActivity.java" />
-        <option value="$PROJECT_DIR$/src/main/res/layout/activity_add_relation.xml" />
-        <option value="$PROJECT_DIR$/src/main/res/values/strings.xml" />
-        <option value="$PROJECT_DIR$/src/main/java/com/example/lede2/EnrollDeviceActivity.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/example/lede2/ListActivity.java" />
-        <option value="$PROJECT_DIR$/src/main/res/layout/activity_list.xml" />
-        <option value="$PROJECT_DIR$/src/main/res/layout/activity_main.xml" />
-        <option value="$PROJECT_DIR$/src/main/java/com/example/lede2/AddRelationActivity.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/example/lede2/MainActivity.java" />
-        <option value="$PROJECT_DIR$/src/main/res/layout/activity_relation.xml" />
-        <option value="$PROJECT_DIR$/src/main/res/values/constants.xml" />
-        <option value="$PROJECT_DIR$/src/main/java/com/example/lede2/RelationActivity.java" />
-      </list>
-    </option>
-  </component>
-  <component name="ProjectFrameBounds">
-    <option name="x" value="65" />
-    <option name="y" value="24" />
-    <option name="width" value="1615" />
-    <option name="height" value="1054" />
-  </component>
-  <component name="ProjectLevelVcsManager" settingsEditedManually="false">
-    <OptionsSetting value="true" id="Add" />
-    <OptionsSetting value="true" id="Remove" />
-    <OptionsSetting value="true" id="Checkout" />
-    <OptionsSetting value="true" id="Update" />
-    <OptionsSetting value="true" id="Status" />
-    <OptionsSetting value="true" id="Edit" />
-    <ConfirmationsSetting value="0" id="Add" />
-    <ConfirmationsSetting value="0" id="Remove" />
-  </component>
-  <component name="ProjectView">
-    <navigator currentView="ProjectPane" proportions="" version="1">
-      <flattenPackages />
-      <showMembers />
-      <showModules />
-      <showLibraryContents />
-      <hideEmptyPackages />
-      <abbreviatePackageNames />
-      <autoscrollToSource />
-      <autoscrollFromSource />
-      <sortByType />
-      <manualOrder />
-      <foldersAlwaysOnTop value="true" />
-    </navigator>
-    <panes>
-      <pane id="PackagesPane" />
-      <pane id="Scratches" />
-      <pane id="AndroidView">
-        <subPane />
-      </pane>
-      <pane id="ProjectPane">
-        <subPane>
-          <PATH>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="lede-gui" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
-            </PATH_ELEMENT>
-          </PATH>
-          <PATH>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="lede-gui" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="lede-gui" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-            </PATH_ELEMENT>
-          </PATH>
-          <PATH>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="lede-gui" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="lede-gui" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="src" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-            </PATH_ELEMENT>
-          </PATH>
-          <PATH>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="lede-gui" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="lede-gui" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="src" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="main" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-            </PATH_ELEMENT>
-          </PATH>
-          <PATH>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="lede-gui" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="lede-gui" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="src" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="main" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="res" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-            </PATH_ELEMENT>
-          </PATH>
-          <PATH>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="lede-gui" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="lede-gui" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="src" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="main" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="res" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="values" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-            </PATH_ELEMENT>
-          </PATH>
-          <PATH>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="lede-gui" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="lede-gui" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="src" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="main" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="res" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="layout" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-            </PATH_ELEMENT>
-          </PATH>
-          <PATH>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="lede-gui" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="lede-gui" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="src" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="main" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="java" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="lede2" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-            </PATH_ELEMENT>
-          </PATH>
-          <PATH>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="lede-gui" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="lede-gui" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="libs" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-            </PATH_ELEMENT>
-          </PATH>
-        </subPane>
-      </pane>
-      <pane id="Scope" />
-    </panes>
-  </component>
-  <component name="PropertiesComponent">
-    <property name="last_opened_file_path" value="$PROJECT_DIR$/../../benchmarks/other/PhoneInterface/Irrigation" />
-    <property name="device.picker.selection" value="00b974e47e6f35d5" />
-    <property name="android.project.structure.last.selected" value="jsch-0.1.44" />
-    <property name="android.project.structure.proportion" value="0.15" />
-    <property name="SearchEverywhereHistoryKey" value="&#9;FILE&#9;file://C:/Users/BOWON KO/AndroidStudioProjects/Androidinit/lede2/src/main/res/layout/activity_main.xml" />
-  </component>
-  <component name="RecentsManager">
-    <key name="MoveFile.RECENT_KEYS">
-      <recent name="$PROJECT_DIR$/src/main/assets" />
-      <recent name="$PROJECT_DIR$/src/main/res/values" />
-      <recent name="$PROJECT_DIR$/src/main/res/xml" />
-      <recent name="C:\Users\BOWON KO\AndroidStudioProjects\Androidinit\lede2\src\main\res\drawable" />
-    </key>
-    <key name="android.template.packageName">
-      <recent name="com.example.lede2" />
-    </key>
-    <key name="MoveClassesOrPackagesDialog.RECENTS_KEY">
-      <recent name="com.example.lede2" />
-    </key>
-    <key name="CopyFile.RECENT_KEYS">
-      <recent name="$PROJECT_DIR$/src/main/res/layout" />
-      <recent name="C:\Users\BOWON KO\AndroidStudioProjects\Androidinit\lede2\src\main\res\drawable" />
-    </key>
-    <key name="CopyClassDialog.RECENTS_KEY">
-      <recent name="com.example.lede2" />
-      <recent name="com.example.sentinel" />
-    </key>
-    <key name="android.template.parentActivityClass">
-      <recent name="" />
-    </key>
-  </component>
-  <component name="RunManager" selected="Android App.lede-gui">
-    <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="METHOD_NAME" />
-      <option name="TEST_OBJECT" value="class" />
-      <option name="VM_PARAMETERS" />
-      <option name="PARAMETERS" />
-      <option name="WORKING_DIRECTORY" />
-      <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="Make" enabled="false" />
-        <option name="Android.Gradle.BeforeRunTask" enabled="true" />
-      </method>
-    </configuration>
-    <configuration default="true" type="AndroidRunConfigurationType" factoryName="Android App">
-      <module name="" />
-      <option name="DEPLOY" value="true" />
-      <option name="ARTIFACT_NAME" value="" />
-      <option name="PM_INSTALL_OPTIONS" value="" />
-      <option name="ACTIVITY_EXTRA_FLAGS" value="" />
-      <option name="MODE" value="default_activity" />
-      <option name="PREFERRED_AVD" value="" />
-      <option name="CLEAR_LOGCAT" value="false" />
-      <option name="SHOW_LOGCAT_AUTOMATICALLY" value="false" />
-      <option name="SKIP_NOOP_APK_INSTALLATIONS" value="true" />
-      <option name="FORCE_STOP_RUNNING_APP" value="true" />
-      <option name="TARGET_SELECTION_MODE" value="SHOW_DIALOG" />
-      <option name="USE_LAST_SELECTED_DEVICE" value="false" />
-      <option name="PREFERRED_AVD" value="" />
-      <option name="SELECTED_CLOUD_MATRIX_CONFIGURATION_ID" value="-1" />
-      <option name="SELECTED_CLOUD_MATRIX_PROJECT_ID" value="" />
-      <option name="DEBUGGER_TYPE" value="Auto" />
-      <Auto>
-        <option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
-        <option name="SHOW_STATIC_VARS" value="true" />
-        <option name="WORKING_DIR" value="" />
-        <option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
-        <option name="SHOW_OPTIMIZED_WARNING" value="true" />
-      </Auto>
-      <Hybrid>
-        <option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
-        <option name="SHOW_STATIC_VARS" value="true" />
-        <option name="WORKING_DIR" value="" />
-        <option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
-        <option name="SHOW_OPTIMIZED_WARNING" value="true" />
-      </Hybrid>
-      <Java />
-      <Native>
-        <option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
-        <option name="SHOW_STATIC_VARS" value="true" />
-        <option name="WORKING_DIR" value="" />
-        <option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
-        <option name="SHOW_OPTIMIZED_WARNING" value="true" />
-      </Native>
-      <Profilers>
-        <option name="ENABLE_ADVANCED_PROFILING" value="true" />
-        <option name="SUPPORT_LIB_ENABLED" value="true" />
-        <option name="INSTRUMENTATION_ENABLED" value="true" />
-      </Profilers>
-      <option name="DEEP_LINK" value="" />
-      <option name="ACTIVITY_CLASS" value="" />
-      <method />
-    </configuration>
-    <configuration default="true" type="AndroidTestRunConfigurationType" factoryName="Android Instrumented Tests">
-      <module name="" />
-      <option name="TESTING_TYPE" value="0" />
-      <option name="INSTRUMENTATION_RUNNER_CLASS" value="" />
-      <option name="METHOD_NAME" value="" />
-      <option name="CLASS_NAME" value="" />
-      <option name="PACKAGE_NAME" value="" />
-      <option name="EXTRA_OPTIONS" value="" />
-      <option name="PREFERRED_AVD" value="" />
-      <option name="CLEAR_LOGCAT" value="false" />
-      <option name="SHOW_LOGCAT_AUTOMATICALLY" value="false" />
-      <option name="SKIP_NOOP_APK_INSTALLATIONS" value="true" />
-      <option name="FORCE_STOP_RUNNING_APP" value="true" />
-      <option name="TARGET_SELECTION_MODE" value="SHOW_DIALOG" />
-      <option name="USE_LAST_SELECTED_DEVICE" value="false" />
-      <option name="PREFERRED_AVD" value="" />
-      <option name="SELECTED_CLOUD_MATRIX_CONFIGURATION_ID" value="-1" />
-      <option name="SELECTED_CLOUD_MATRIX_PROJECT_ID" value="" />
-      <option name="DEBUGGER_TYPE" value="Auto" />
-      <Auto>
-        <option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
-        <option name="SHOW_STATIC_VARS" value="true" />
-        <option name="WORKING_DIR" value="" />
-        <option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
-        <option name="SHOW_OPTIMIZED_WARNING" value="true" />
-      </Auto>
-      <Hybrid>
-        <option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
-        <option name="SHOW_STATIC_VARS" value="true" />
-        <option name="WORKING_DIR" value="" />
-        <option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
-        <option name="SHOW_OPTIMIZED_WARNING" value="true" />
-      </Hybrid>
-      <Java />
-      <Native>
-        <option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
-        <option name="SHOW_STATIC_VARS" value="true" />
-        <option name="WORKING_DIR" value="" />
-        <option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
-        <option name="SHOW_OPTIMIZED_WARNING" value="true" />
-      </Native>
-      <Profilers>
-        <option name="ENABLE_ADVANCED_PROFILING" value="true" />
-        <option name="SUPPORT_LIB_ENABLED" value="true" />
-        <option name="INSTRUMENTATION_ENABLED" value="true" />
-      </Profilers>
-      <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$" />
-      <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 />
-    </configuration>
-    <configuration default="true" type="GradleRunConfiguration" factoryName="Gradle">
-      <ExternalSystemSettings>
-        <option name="executionName" />
-        <option name="externalProjectPath" />
-        <option name="externalSystemIdString" value="GRADLE" />
-        <option name="scriptParameters" />
-        <option name="taskDescriptions">
-          <list />
-        </option>
-        <option name="taskNames">
-          <list />
-        </option>
-        <option name="vmOptions" />
-      </ExternalSystemSettings>
-      <method />
-    </configuration>
-    <configuration default="true" type="JarApplication" factoryName="JAR Application">
-      <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
-      <envs />
-      <method />
-    </configuration>
-    <configuration default="true" type="Java Scratch" factoryName="Java Scratch">
-      <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
-      <option name="SCRATCH_FILE_ID" value="0" />
-      <option name="MAIN_CLASS_NAME" />
-      <option name="VM_PARAMETERS" />
-      <option name="PROGRAM_PARAMETERS" />
-      <option name="WORKING_DIRECTORY" />
-      <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 />
-    </configuration>
-    <configuration default="true" type="Remote" factoryName="Remote">
-      <option name="USE_SOCKET_TRANSPORT" value="true" />
-      <option name="SERVER_MODE" value="false" />
-      <option name="SHMEM_ADDRESS" value="javadebug" />
-      <option name="HOST" value="localhost" />
-      <option name="PORT" value="5005" />
-      <method />
-    </configuration>
-    <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" value="-ea" />
-      <option name="PARAMETERS" />
-      <option name="WORKING_DIRECTORY" value="$MODULE_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 />
-    </configuration>
-    <configuration default="true" type="TestNGTestDiscovery" factoryName="TestNG Test Discovery" changeList="All">
-      <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" />
-      <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 />
-    </configuration>
-    <configuration default="false" name="app" type="AndroidRunConfigurationType" factoryName="Android App">
-      <module name="app" />
-      <option name="DEPLOY" value="true" />
-      <option name="ARTIFACT_NAME" value="" />
-      <option name="PM_INSTALL_OPTIONS" value="" />
-      <option name="ACTIVITY_EXTRA_FLAGS" value="" />
-      <option name="MODE" value="default_activity" />
-      <option name="PREFERRED_AVD" value="" />
-      <option name="CLEAR_LOGCAT" value="false" />
-      <option name="SHOW_LOGCAT_AUTOMATICALLY" value="false" />
-      <option name="SKIP_NOOP_APK_INSTALLATIONS" value="true" />
-      <option name="FORCE_STOP_RUNNING_APP" value="true" />
-      <option name="TARGET_SELECTION_MODE" value="SHOW_DIALOG" />
-      <option name="USE_LAST_SELECTED_DEVICE" value="false" />
-      <option name="PREFERRED_AVD" value="" />
-      <option name="SELECTED_CLOUD_MATRIX_CONFIGURATION_ID" value="-1" />
-      <option name="SELECTED_CLOUD_MATRIX_PROJECT_ID" value="" />
-      <option name="DEBUGGER_TYPE" value="Auto" />
-      <Auto>
-        <option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
-        <option name="SHOW_STATIC_VARS" value="true" />
-        <option name="WORKING_DIR" value="" />
-        <option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
-        <option name="SHOW_OPTIMIZED_WARNING" value="true" />
-      </Auto>
-      <Hybrid>
-        <option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
-        <option name="SHOW_STATIC_VARS" value="true" />
-        <option name="WORKING_DIR" value="" />
-        <option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
-        <option name="SHOW_OPTIMIZED_WARNING" value="true" />
-      </Hybrid>
-      <Java />
-      <Native>
-        <option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
-        <option name="SHOW_STATIC_VARS" value="true" />
-        <option name="WORKING_DIR" value="" />
-        <option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
-        <option name="SHOW_OPTIMIZED_WARNING" value="true" />
-      </Native>
-      <Profilers>
-        <option name="ENABLE_ADVANCED_PROFILING" value="true" />
-        <option name="SUPPORT_LIB_ENABLED" value="true" />
-        <option name="INSTRUMENTATION_ENABLED" value="true" />
-      </Profilers>
-      <option name="DEEP_LINK" value="" />
-      <option name="ACTIVITY_CLASS" value="" />
-      <method />
-    </configuration>
-    <configuration default="false" name="lede2" type="AndroidRunConfigurationType" factoryName="Android App" activateToolWindowBeforeRun="false">
-      <module name="lede2" />
-      <option name="DEPLOY" value="true" />
-      <option name="ARTIFACT_NAME" value="" />
-      <option name="PM_INSTALL_OPTIONS" value="" />
-      <option name="ACTIVITY_EXTRA_FLAGS" value="" />
-      <option name="MODE" value="default_activity" />
-      <option name="PREFERRED_AVD" value="" />
-      <option name="CLEAR_LOGCAT" value="false" />
-      <option name="SHOW_LOGCAT_AUTOMATICALLY" value="false" />
-      <option name="SKIP_NOOP_APK_INSTALLATIONS" value="true" />
-      <option name="FORCE_STOP_RUNNING_APP" value="true" />
-      <option name="TARGET_SELECTION_MODE" value="SHOW_DIALOG" />
-      <option name="USE_LAST_SELECTED_DEVICE" value="false" />
-      <option name="PREFERRED_AVD" value="" />
-      <option name="SELECTED_CLOUD_MATRIX_CONFIGURATION_ID" value="-1" />
-      <option name="SELECTED_CLOUD_MATRIX_PROJECT_ID" value="" />
-      <option name="DEBUGGER_TYPE" value="Auto" />
-      <Auto>
-        <option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
-        <option name="SHOW_STATIC_VARS" value="true" />
-        <option name="WORKING_DIR" value="" />
-        <option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
-        <option name="SHOW_OPTIMIZED_WARNING" value="true" />
-      </Auto>
-      <Hybrid>
-        <option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
-        <option name="SHOW_STATIC_VARS" value="true" />
-        <option name="WORKING_DIR" value="" />
-        <option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
-        <option name="SHOW_OPTIMIZED_WARNING" value="true" />
-      </Hybrid>
-      <Java />
-      <Native>
-        <option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
-        <option name="SHOW_STATIC_VARS" value="true" />
-        <option name="WORKING_DIR" value="" />
-        <option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
-        <option name="SHOW_OPTIMIZED_WARNING" value="true" />
-      </Native>
-      <Profilers>
-        <option name="ENABLE_ADVANCED_PROFILING" value="true" />
-        <option name="SUPPORT_LIB_ENABLED" value="true" />
-        <option name="INSTRUMENTATION_ENABLED" value="true" />
-      </Profilers>
-      <option name="DEEP_LINK" value="" />
-      <option name="ACTIVITY_CLASS" value="" />
-      <method />
-    </configuration>
-    <configuration default="false" name="sentinel" type="AndroidRunConfigurationType" factoryName="Android App">
-      <module name="sentinel" />
-      <option name="DEPLOY" value="true" />
-      <option name="ARTIFACT_NAME" value="" />
-      <option name="PM_INSTALL_OPTIONS" value="" />
-      <option name="ACTIVITY_EXTRA_FLAGS" value="" />
-      <option name="MODE" value="default_activity" />
-      <option name="PREFERRED_AVD" value="" />
-      <option name="CLEAR_LOGCAT" value="false" />
-      <option name="SHOW_LOGCAT_AUTOMATICALLY" value="false" />
-      <option name="SKIP_NOOP_APK_INSTALLATIONS" value="true" />
-      <option name="FORCE_STOP_RUNNING_APP" value="true" />
-      <option name="TARGET_SELECTION_MODE" value="SHOW_DIALOG" />
-      <option name="USE_LAST_SELECTED_DEVICE" value="false" />
-      <option name="PREFERRED_AVD" value="" />
-      <option name="SELECTED_CLOUD_MATRIX_CONFIGURATION_ID" value="-1" />
-      <option name="SELECTED_CLOUD_MATRIX_PROJECT_ID" value="" />
-      <option name="DEBUGGER_TYPE" value="Auto" />
-      <Auto>
-        <option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
-        <option name="SHOW_STATIC_VARS" value="true" />
-        <option name="WORKING_DIR" value="" />
-        <option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
-        <option name="SHOW_OPTIMIZED_WARNING" value="true" />
-      </Auto>
-      <Hybrid>
-        <option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
-        <option name="SHOW_STATIC_VARS" value="true" />
-        <option name="WORKING_DIR" value="" />
-        <option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
-        <option name="SHOW_OPTIMIZED_WARNING" value="true" />
-      </Hybrid>
-      <Java />
-      <Native>
-        <option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
-        <option name="SHOW_STATIC_VARS" value="true" />
-        <option name="WORKING_DIR" value="" />
-        <option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
-        <option name="SHOW_OPTIMIZED_WARNING" value="true" />
-      </Native>
-      <Profilers>
-        <option name="ENABLE_ADVANCED_PROFILING" value="true" />
-        <option name="SUPPORT_LIB_ENABLED" value="true" />
-        <option name="INSTRUMENTATION_ENABLED" value="true" />
-      </Profilers>
-      <option name="DEEP_LINK" value="" />
-      <option name="ACTIVITY_CLASS" value="" />
-      <method />
-    </configuration>
-    <configuration default="false" name="studentapp" type="AndroidRunConfigurationType" factoryName="Android App">
-      <module name="studentapp" />
-      <option name="DEPLOY" value="true" />
-      <option name="ARTIFACT_NAME" value="" />
-      <option name="PM_INSTALL_OPTIONS" value="" />
-      <option name="ACTIVITY_EXTRA_FLAGS" value="" />
-      <option name="MODE" value="default_activity" />
-      <option name="PREFERRED_AVD" value="" />
-      <option name="CLEAR_LOGCAT" value="false" />
-      <option name="SHOW_LOGCAT_AUTOMATICALLY" value="false" />
-      <option name="SKIP_NOOP_APK_INSTALLATIONS" value="true" />
-      <option name="FORCE_STOP_RUNNING_APP" value="true" />
-      <option name="TARGET_SELECTION_MODE" value="SHOW_DIALOG" />
-      <option name="USE_LAST_SELECTED_DEVICE" value="false" />
-      <option name="PREFERRED_AVD" value="" />
-      <option name="SELECTED_CLOUD_MATRIX_CONFIGURATION_ID" value="-1" />
-      <option name="SELECTED_CLOUD_MATRIX_PROJECT_ID" value="" />
-      <option name="DEBUGGER_TYPE" value="Auto" />
-      <Auto>
-        <option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
-        <option name="SHOW_STATIC_VARS" value="true" />
-        <option name="WORKING_DIR" value="" />
-        <option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
-        <option name="SHOW_OPTIMIZED_WARNING" value="true" />
-      </Auto>
-      <Hybrid>
-        <option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
-        <option name="SHOW_STATIC_VARS" value="true" />
-        <option name="WORKING_DIR" value="" />
-        <option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
-        <option name="SHOW_OPTIMIZED_WARNING" value="true" />
-      </Hybrid>
-      <Java />
-      <Native>
-        <option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
-        <option name="SHOW_STATIC_VARS" value="true" />
-        <option name="WORKING_DIR" value="" />
-        <option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
-        <option name="SHOW_OPTIMIZED_WARNING" value="true" />
-      </Native>
-      <Profilers>
-        <option name="ENABLE_ADVANCED_PROFILING" value="true" />
-        <option name="SUPPORT_LIB_ENABLED" value="true" />
-        <option name="INSTRUMENTATION_ENABLED" value="true" />
-      </Profilers>
-      <option name="DEEP_LINK" value="" />
-      <option name="ACTIVITY_CLASS" value="" />
-      <method />
-    </configuration>
-    <configuration default="false" name="lede" type="AndroidRunConfigurationType" factoryName="Android App" activateToolWindowBeforeRun="false">
-      <module name="lede" />
-      <option name="DEPLOY" value="true" />
-      <option name="ARTIFACT_NAME" value="" />
-      <option name="PM_INSTALL_OPTIONS" value="" />
-      <option name="ACTIVITY_EXTRA_FLAGS" value="" />
-      <option name="MODE" value="default_activity" />
-      <option name="PREFERRED_AVD" value="" />
-      <option name="CLEAR_LOGCAT" value="false" />
-      <option name="SHOW_LOGCAT_AUTOMATICALLY" value="false" />
-      <option name="SKIP_NOOP_APK_INSTALLATIONS" value="true" />
-      <option name="FORCE_STOP_RUNNING_APP" value="true" />
-      <option name="TARGET_SELECTION_MODE" value="SHOW_DIALOG" />
-      <option name="USE_LAST_SELECTED_DEVICE" value="false" />
-      <option name="PREFERRED_AVD" value="" />
-      <option name="SELECTED_CLOUD_MATRIX_CONFIGURATION_ID" value="-1" />
-      <option name="SELECTED_CLOUD_MATRIX_PROJECT_ID" value="" />
-      <option name="DEBUGGER_TYPE" value="Auto" />
-      <Auto>
-        <option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
-        <option name="SHOW_STATIC_VARS" value="true" />
-        <option name="WORKING_DIR" value="" />
-        <option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
-        <option name="SHOW_OPTIMIZED_WARNING" value="true" />
-      </Auto>
-      <Hybrid>
-        <option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
-        <option name="SHOW_STATIC_VARS" value="true" />
-        <option name="WORKING_DIR" value="" />
-        <option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
-        <option name="SHOW_OPTIMIZED_WARNING" value="true" />
-      </Hybrid>
-      <Java />
-      <Native>
-        <option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
-        <option name="SHOW_STATIC_VARS" value="true" />
-        <option name="WORKING_DIR" value="" />
-        <option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
-        <option name="SHOW_OPTIMIZED_WARNING" value="true" />
-      </Native>
-      <Profilers>
-        <option name="ENABLE_ADVANCED_PROFILING" value="true" />
-        <option name="SUPPORT_LIB_ENABLED" value="true" />
-        <option name="INSTRUMENTATION_ENABLED" value="true" />
-      </Profilers>
-      <option name="DEEP_LINK" value="" />
-      <option name="ACTIVITY_CLASS" value="" />
-      <method />
-    </configuration>
-    <configuration default="false" name="lede-gui" type="AndroidRunConfigurationType" factoryName="Android App" activateToolWindowBeforeRun="false">
-      <module name="lede-gui" />
-      <option name="DEPLOY" value="true" />
-      <option name="ARTIFACT_NAME" value="" />
-      <option name="PM_INSTALL_OPTIONS" value="" />
-      <option name="ACTIVITY_EXTRA_FLAGS" value="" />
-      <option name="MODE" value="default_activity" />
-      <option name="PREFERRED_AVD" value="" />
-      <option name="CLEAR_LOGCAT" value="false" />
-      <option name="SHOW_LOGCAT_AUTOMATICALLY" value="false" />
-      <option name="SKIP_NOOP_APK_INSTALLATIONS" value="true" />
-      <option name="FORCE_STOP_RUNNING_APP" value="true" />
-      <option name="TARGET_SELECTION_MODE" value="SHOW_DIALOG" />
-      <option name="USE_LAST_SELECTED_DEVICE" value="false" />
-      <option name="PREFERRED_AVD" value="" />
-      <option name="SELECTED_CLOUD_MATRIX_CONFIGURATION_ID" value="-1" />
-      <option name="SELECTED_CLOUD_MATRIX_PROJECT_ID" value="" />
-      <option name="DEBUGGER_TYPE" value="Auto" />
-      <Auto>
-        <option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
-        <option name="SHOW_STATIC_VARS" value="true" />
-        <option name="WORKING_DIR" value="" />
-        <option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
-        <option name="SHOW_OPTIMIZED_WARNING" value="true" />
-      </Auto>
-      <Hybrid>
-        <option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
-        <option name="SHOW_STATIC_VARS" value="true" />
-        <option name="WORKING_DIR" value="" />
-        <option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
-        <option name="SHOW_OPTIMIZED_WARNING" value="true" />
-      </Hybrid>
-      <Java />
-      <Native>
-        <option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
-        <option name="SHOW_STATIC_VARS" value="true" />
-        <option name="WORKING_DIR" value="" />
-        <option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
-        <option name="SHOW_OPTIMIZED_WARNING" value="true" />
-      </Native>
-      <Profilers>
-        <option name="ENABLE_ADVANCED_PROFILING" value="true" />
-        <option name="SUPPORT_LIB_ENABLED" value="true" />
-        <option name="INSTRUMENTATION_ENABLED" value="true" />
-      </Profilers>
-      <option name="DEEP_LINK" value="" />
-      <option name="ACTIVITY_CLASS" value="" />
-      <method />
-    </configuration>
-    <list size="6">
-      <item index="0" class="java.lang.String" itemvalue="Android App.app" />
-      <item index="1" class="java.lang.String" itemvalue="Android App.lede2" />
-      <item index="2" class="java.lang.String" itemvalue="Android App.sentinel" />
-      <item index="3" class="java.lang.String" itemvalue="Android App.studentapp" />
-      <item index="4" class="java.lang.String" itemvalue="Android App.lede" />
-      <item index="5" class="java.lang.String" itemvalue="Android App.lede-gui" />
-    </list>
-    <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_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="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="0a25c2b7-da4c-4615-9899-055deea5ccc9" name="Default" comment="" />
-      <created>1501629053988</created>
-      <option name="number" value="Default" />
-      <option name="presentableId" value="Default" />
-      <updated>1501629053988</updated>
-    </task>
-    <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="65" y="24" width="1615" height="1054" extended-state="0" />
-    <editor active="true" />
-    <layout>
-      <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32719547" sideWeight="0.49475157" order="6" side_tool="false" content_ui="tabs" />
-      <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.28713968" sideWeight="0.44869342" order="7" 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="3" side_tool="true" 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="3" side_tool="false" 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.32786885" sideWeight="0.5022307" order="7" side_tool="true" content_ui="tabs" />
-      <window_info id="Android Monitor" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.2827051" sideWeight="0.54557043" order="7" 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.2974108" sideWeight="0.5" order="4" side_tool="false" 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.25055432" sideWeight="0.5589548" 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.3292683" sideWeight="0.4901211" 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.25" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
-      <window_info id="Capture Tool" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
-      <window_info id="Gradle Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.2827051" sideWeight="0.45442957" order="7" side_tool="true" content_ui="tabs" />
-      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.22370937" sideWeight="0.4915254" order="0" side_tool="false" content_ui="combo" />
-      <window_info id="Gradle" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32981715" 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="Android Model" 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="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3286119" sideWeight="0.49416667" 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.38333333" sideWeight="0.5084746" order="3" 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="Assistant" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32950923" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
-      <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
-      <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="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.20066519" sideWeight="0.48757172" order="1" side_tool="false" content_ui="tabs" />
-    </layout>
-  </component>
-  <component name="UnknownFeatures">
-    <option featureType="com.intellij.fileTypeFactory" implementationName="*.config" />
-  </component>
-  <component name="Vcs.Log.UiProperties">
-    <option name="RECENTLY_FILTERED_USER_GROUPS">
-      <collection />
-    </option>
-    <option name="RECENTLY_FILTERED_BRANCH_GROUPS">
-      <collection />
-    </option>
-  </component>
-  <component name="VcsContentAnnotationSettings">
-    <option name="myLimit" value="2678400000" />
-  </component>
-  <component name="XDebuggerManager">
-    <breakpoint-manager>
-      <option name="time" value="23" />
-    </breakpoint-manager>
-    <watches-manager />
-  </component>
-  <component name="editorHistoryManager">
-    <entry file="file://$PROJECT_DIR$/src/main/res/drawable/BLUE.png" />
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/example/lede2/ExplainActivity.java" />
-    <entry file="file://$PROJECT_DIR$/src/main/res/drawable/background.png">
-      <provider selected="true" editor-type-id="images">
-        <state />
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/res/drawable/blueberry.jpg">
-      <provider selected="true" editor-type-id="images">
-        <state />
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/res/drawable/home.jpg" />
-    <entry file="file://$PROJECT_DIR$/src/main/res/drawable/bluename.png">
-      <provider selected="true" editor-type-id="images">
-        <state />
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/res/layout/activity_explain.xml" />
-    <entry file="file://$PROJECT_DIR$/src/main/res/layout/activity_test.xml" />
-    <entry file="file://$PROJECT_DIR$/src/main/res/layout/activity_wifi.xml" />
-    <entry file="file://$PROJECT_DIR$/../app/src/main/AndroidManifest.xml" />
-    <entry file="file://$PROJECT_DIR$/../app/src/main/java/com/example/bowonko/androidinit/MainActivity.java" />
-    <entry file="file://$PROJECT_DIR$/gradle/wrapper/gradle-wrapper.properties">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="90">
-          <caret line="6" column="0" selection-start-line="6" selection-start-column="0" selection-end-line="6" selection-end-column="0" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="jar://$USER_HOME$/Android/Sdk/platforms/android-26/android.jar!/android/app/Activity.class">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="6245">
-          <caret line="839" column="16" selection-start-line="839" selection-start-column="16" selection-end-line="839" selection-end-column="16" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/res/values/Constants.xml" />
-    <entry file="file://$PROJECT_DIR$/src/main/res/values/constants.xml">
-      <provider editor-type-id="text-editor">
-        <state relative-caret-position="0">
-          <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
-        </state>
-      </provider>
-      <provider selected="true" editor-type-id="android-designer2">
-        <state />
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/example/lede2/AddDeviceInfoActivity.java" />
-    <entry file="file://$PROJECT_DIR$/src/main/res/layout/activity_add_device_info.xml" />
-    <entry file="file://$PROJECT_DIR$/src/main/res/layout/content_add_device_info.xml" />
-    <entry file="jar://$USER_HOME$/Android/Sdk/platforms/android-26/android.jar!/java/lang/ClassLoader.class">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="377">
-          <caret line="145" column="0" selection-start-line="145" selection-start-column="0" selection-end-line="145" selection-end-column="0" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/example/lede2/MySQLInterface.config" />
-    <entry file="file://$PROJECT_DIR$/src/main/res/layout/content_delete_device.xml" />
-    <entry file="file://$PROJECT_DIR$/src/main/AndroidManifest.xml">
-      <provider editor-type-id="android-manifest">
-        <state />
-      </provider>
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="420">
-          <caret line="28" column="26" selection-start-line="28" selection-start-column="26" selection-end-line="28" selection-end-column="26" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/assets/add_device.config">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="15">
-          <caret line="1" column="3" selection-start-line="1" selection-start-column="3" selection-end-line="1" selection-end-column="3" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/assets/add_device_address.config">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="15">
-          <caret line="1" column="27" selection-start-line="1" selection-start-column="27" selection-end-line="1" selection-end-column="27" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/assets/add_comm.config">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="30">
-          <caret line="2" column="5" selection-start-line="2" selection-start-column="5" selection-end-line="2" selection-end-column="5" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/res/layout/content_add_relation.xml" />
-    <entry file="file://$PROJECT_DIR$/src/main/res/layout/activity_add_comm.xml" />
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/example/lede2/AddCommActivity.java" />
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/example/lede2/AddDeviceActivity.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="398">
-          <caret line="88" column="12" selection-start-line="88" selection-start-column="12" selection-end-line="88" selection-end-column="12" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/build/intermediates/res/merged/debug/layout/activity_list.xml">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="207">
-          <caret line="25" column="0" selection-start-line="25" selection-start-column="0" selection-end-line="25" selection-end-column="0" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/example/lede2/ConfigActivity.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="214">
-          <caret line="51" column="47" selection-start-line="51" selection-start-column="47" selection-end-line="51" selection-end-column="47" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/res/values/strings.xml">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="105">
-          <caret line="7" column="80" selection-start-line="7" selection-start-column="80" selection-end-line="7" selection-end-column="80" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/example/lede2/ListActivity.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="495">
-          <caret line="47" column="8" selection-start-line="47" selection-start-column="8" selection-end-line="47" selection-end-column="8" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/res/layout/content_relation.xml" />
-    <entry file="file://$PROJECT_DIR$/src/main/res/layout/activity_add_relation.xml" />
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/example/lede2/AddRelationActivity.java" />
-    <entry file="file://$PROJECT_DIR$/src/main/res/layout/activity_delete_device.xml">
-      <provider editor-type-id="text-editor">
-        <state relative-caret-position="212">
-          <caret line="68" column="12" selection-start-line="68" selection-start-column="12" selection-end-line="68" selection-end-column="12" />
-          <folding />
-        </state>
-      </provider>
-      <provider selected="true" editor-type-id="android-designer2">
-        <state />
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/example/lede2/DeleteDeviceActivity.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="450">
-          <caret line="37" column="0" selection-start-line="37" selection-start-column="0" selection-end-line="38" selection-end-column="51" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/example/lede2/RelationActivity.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="443">
-          <caret line="68" column="21" selection-start-line="68" selection-start-column="21" selection-end-line="68" selection-end-column="21" />
-          <folding>
-            <element signature="imports" expanded="false" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/example/lede2/MainActivity.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="1050">
-          <caret line="81" column="31" selection-start-line="81" selection-start-column="8" selection-end-line="81" selection-end-column="31" />
-          <folding>
-            <element signature="e#3914#3976#0" expanded="false" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/build.gradle">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="600">
-          <caret line="40" column="53" selection-start-line="40" selection-start-column="53" selection-end-line="40" selection-end-column="53" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/res/layout/activity_config.xml">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="90">
-          <caret line="6" column="51" selection-start-line="6" selection-start-column="37" selection-end-line="6" selection-end-column="51" />
-          <folding />
-        </state>
-      </provider>
-      <provider editor-type-id="android-designer2">
-        <state />
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/example/lede2/SSH.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="261">
-          <caret line="146" column="56" selection-start-line="146" selection-start-column="31" selection-end-line="146" selection-end-column="56" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/res/values/constants.xml">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="345">
-          <caret line="23" column="12" selection-start-line="23" selection-start-column="12" selection-end-line="23" selection-end-column="12" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/example/lede2/EnrollDeviceActivity.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-1251">
-          <caret line="51" column="12" selection-start-line="51" selection-start-column="8" selection-end-line="51" selection-end-column="12" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/example/lede2/SSH_MySQL.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="563">
-          <caret line="147" column="58" selection-start-line="147" selection-start-column="35" selection-end-line="147" selection-end-column="58" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/res/layout/activity_relation.xml">
-      <provider editor-type-id="text-editor">
-        <state relative-caret-position="2460">
-          <caret line="164" column="23" selection-start-line="164" selection-start-column="23" selection-end-line="164" selection-end-column="23" />
-          <folding />
-        </state>
-      </provider>
-      <provider selected="true" editor-type-id="android-designer2">
-        <state />
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/res/layout/activity_enroll_device.xml">
-      <provider editor-type-id="text-editor">
-        <state relative-caret-position="120">
-          <caret line="8" column="0" selection-start-line="8" selection-start-column="0" selection-end-line="8" selection-end-column="0" />
-          <folding />
-        </state>
-      </provider>
-      <provider selected="true" editor-type-id="android-designer2">
-        <state />
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/res/layout/activity_list.xml">
-      <provider editor-type-id="text-editor">
-        <state relative-caret-position="126">
-          <caret line="21" column="36" selection-start-line="21" selection-start-column="36" selection-end-line="21" selection-end-column="36" />
-          <folding />
-        </state>
-      </provider>
-      <provider selected="true" editor-type-id="android-designer2">
-        <state />
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/res/layout/activity_main.xml">
-      <provider editor-type-id="text-editor">
-        <state relative-caret-position="1980">
-          <caret line="132" column="8" selection-start-line="132" selection-start-column="8" selection-end-line="132" selection-end-column="8" />
-          <folding />
-        </state>
-      </provider>
-      <provider selected="true" editor-type-id="android-designer2">
-        <state />
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/res/layout/activity_add_device.xml">
-      <provider editor-type-id="text-editor">
-        <state relative-caret-position="90">
-          <caret line="6" column="54" selection-start-line="6" selection-start-column="54" selection-end-line="6" selection-end-column="54" />
-          <folding />
-        </state>
-      </provider>
-      <provider selected="true" editor-type-id="android-designer2">
-        <state />
-      </provider>
-    </entry>
-  </component>
-</project>
\ No newline at end of file
diff --git a/others/lede-gui/User Manual-Documentation/Edit of Vigilia User Manual.pdf b/others/lede-gui/User Manual-Documentation/Edit of Vigilia User Manual.pdf
new file mode 100644 (file)
index 0000000..7df2f7f
Binary files /dev/null and b/others/lede-gui/User Manual-Documentation/Edit of Vigilia User Manual.pdf differ
diff --git a/others/lede-gui/git.iml b/others/lede-gui/git.iml
new file mode 100644 (file)
index 0000000..cfb181f
--- /dev/null
@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<module external.linked.project.id="git" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" type="JAVA_MODULE" version="4">\r
+  <component name="FacetManager">\r
+    <facet type="android-gradle" name="Android-Gradle">\r
+      <configuration>\r
+        <option name="GRADLE_PROJECT_PATH" value=":" />\r
+      </configuration>\r
+    </facet>\r
+    <facet type="android" name="Android">\r
+      <configuration>\r
+        <option name="SELECTED_BUILD_VARIANT" value="debug" />\r
+        <option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />\r
+        <option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />\r
+        <afterSyncTasks>\r
+          <task>generateDebugSources</task>\r
+        </afterSyncTasks>\r
+        <option name="ALLOW_USER_CONFIGURATION" value="false" />\r
+        <option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />\r
+        <option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />\r
+        <option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res" />\r
+        <option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />\r
+      </configuration>\r
+    </facet>\r
+  </component>\r
+  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7">\r
+    <output url="file://$MODULE_DIR$/build/intermediates/classes/debug" />\r
+    <output-test url="file://$MODULE_DIR$/build/intermediates/classes/test/debug" />\r
+    <exclude-output />\r
+    <content url="file://$MODULE_DIR$">\r
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/debug" isTestSource="false" generated="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/debug" isTestSource="false" generated="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/debug" isTestSource="false" generated="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/debug" isTestSource="false" generated="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/debug" type="java-resource" />\r
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/debug" type="java-resource" />\r
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/androidTest/debug" isTestSource="true" generated="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/androidTest/debug" isTestSource="true" generated="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/androidTest/debug" isTestSource="true" generated="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/androidTest/debug" isTestSource="true" generated="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/androidTest/debug" type="java-test-resource" />\r
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/androidTest/debug" type="java-test-resource" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/res" type="java-resource" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/resources" type="java-resource" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/assets" type="java-resource" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/aidl" isTestSource="false" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/shaders" isTestSource="false" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/res" type="java-test-resource" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/resources" type="java-test-resource" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/assets" type="java-test-resource" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/aidl" isTestSource="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/java" isTestSource="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/rs" isTestSource="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/shaders" isTestSource="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/main/res" type="java-resource" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/main/assets" type="java-resource" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/main/aidl" isTestSource="false" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />\r
+      <excludeFolder url="file://$MODULE_DIR$/build/android-profile" />\r
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />\r
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />\r
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/builds" />\r
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" />\r
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/dex-cache" />\r
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />\r
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-classes" />\r
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-runtime-classes" />\r
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-safeguard" />\r
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-verifier" />\r
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-resources" />\r
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-support" />\r
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" />\r
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" />\r
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/pre-dexed" />\r
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/reload-dex" />\r
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />\r
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/restart-dex" />\r
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />\r
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/shaders" />\r
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/split-apk" />\r
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />\r
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/transforms" />\r
+      <excludeFolder url="file://$MODULE_DIR$/build/outputs" />\r
+      <excludeFolder url="file://$MODULE_DIR$/build/tmp" />\r
+    </content>\r
+    <orderEntry type="jdk" jdkName="Android API 26 Platform" jdkType="Android SDK" />\r
+    <orderEntry type="sourceFolder" forTests="false" />\r
+    <orderEntry type="library" exported="" scope="TEST" name="com.android.support.test:exposed-instrumentation-api-publish-0.5" level="project" />\r
+    <orderEntry type="library" exported="" scope="TEST" name="junit:junit:4.12@jar" level="project" />\r
+    <orderEntry type="library" exported="" name="com.android.support:appcompat-v7-26.0.0-alpha1" level="project" />\r
+    <orderEntry type="library" exported="" name="com.android.support:support-media-compat-26.0.0-alpha1" level="project" />\r
+    <orderEntry type="library" exported="" name="com.android.support:recyclerview-v7-26.0.0-alpha1" level="project" />\r
+    <orderEntry type="library" exported="" scope="TEST" name="javax.inject:javax.inject:1@jar" level="project" />\r
+    <orderEntry type="library" exported="" scope="TEST" name="com.squareup:javawriter:2.1.1@jar" level="project" />\r
+    <orderEntry type="library" exported="" name="com.android.support:support-v4-26.0.0-alpha1" level="project" />\r
+    <orderEntry type="library" exported="" name="com.android.support:design-26.0.0-alpha1" level="project" />\r
+    <orderEntry type="library" exported="" name="com.android.support:support-compat-26.0.0-alpha1" level="project" />\r
+    <orderEntry type="library" exported="" name="com.android.support:support-core-utils-26.0.0-alpha1" level="project" />\r
+    <orderEntry type="library" exported="" name="com.android.support.constraint:constraint-layout-solver:1.0.2@jar" level="project" />\r
+    <orderEntry type="library" exported="" name="com.android.support.constraint:constraint-layout-1.0.2" level="project" />\r
+    <orderEntry type="library" exported="" scope="TEST" name="com.google.code.findbugs:jsr305:2.0.1@jar" level="project" />\r
+    <orderEntry type="library" exported="" name="__local_jars__:C.\Users\kevin\Desktop\git\libs\jsch-0.1.54.jar:unspecified@jar" level="project" />\r
+    <orderEntry type="library" exported="" name="com.android.support:support-vector-drawable-26.0.0-alpha1" level="project" />\r
+    <orderEntry type="library" exported="" name="com.android.support:animated-vector-drawable-26.0.0-alpha1" level="project" />\r
+    <orderEntry type="library" exported="" scope="TEST" name="org.hamcrest:hamcrest-core:1.3@jar" level="project" />\r
+    <orderEntry type="library" exported="" name="com.android.support:support-annotations:26.0.0-alpha1@jar" level="project" />\r
+    <orderEntry type="library" exported="" scope="TEST" name="com.android.support.test.espresso:espresso-core-2.2.2" level="project" />\r
+    <orderEntry type="library" exported="" scope="TEST" name="com.android.support.test:rules-0.5" level="project" />\r
+    <orderEntry type="library" exported="" scope="TEST" name="org.hamcrest:hamcrest-library:1.3@jar" level="project" />\r
+    <orderEntry type="library" exported="" scope="TEST" name="org.hamcrest:hamcrest-integration:1.3@jar" level="project" />\r
+    <orderEntry type="library" exported="" name="com.android.support:support-core-ui-26.0.0-alpha1" level="project" />\r
+    <orderEntry type="library" exported="" scope="TEST" name="com.android.support.test:runner-0.5" level="project" />\r
+    <orderEntry type="library" exported="" name="com.android.support:transition-26.0.0-alpha1" level="project" />\r
+    <orderEntry type="library" exported="" scope="TEST" name="com.android.support.test.espresso:espresso-idling-resource-2.2.2" level="project" />\r
+    <orderEntry type="library" exported="" scope="TEST" name="javax.annotation:javax.annotation-api:1.2@jar" level="project" />\r
+    <orderEntry type="library" exported="" name="com.android.support:support-fragment-26.0.0-alpha1" level="project" />\r
+    <orderEntry type="library" exported="" name="android-android-26" level="project" />\r
+  </component>\r
+</module>
\ No newline at end of file
index b483d86..9ff7dc9 100644 (file)
@@ -1,6 +1,6 @@
-#Wed Sep 20 13:44:40 PDT 2017
-distributionBase=GRADLE_USER_HOME
-distributionPath=wrapper/dists
-zipStoreBase=GRADLE_USER_HOME
-zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip
+#Wed Sep 20 13:44:40 PDT 2017\r
+distributionBase=GRADLE_USER_HOME\r
+distributionPath=wrapper/dists\r
+zipStoreBase=GRADLE_USER_HOME\r
+zipStorePath=wrapper/dists\r
+distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip\r
index 9d82f78..e834973 100644 (file)
-#!/usr/bin/env bash
-
-##############################################################################
-##
-##  Gradle start up script for UN*X
-##
-##############################################################################
-
-# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-DEFAULT_JVM_OPTS=""
-
-APP_NAME="Gradle"
-APP_BASE_NAME=`basename "$0"`
-
-# Use the maximum available, or set MAX_FD != -1 to use that value.
-MAX_FD="maximum"
-
-warn ( ) {
-    echo "$*"
-}
-
-die ( ) {
-    echo
-    echo "$*"
-    echo
-    exit 1
-}
-
-# OS specific support (must be 'true' or 'false').
-cygwin=false
-msys=false
-darwin=false
-case "`uname`" in
-  CYGWIN* )
-    cygwin=true
-    ;;
-  Darwin* )
-    darwin=true
-    ;;
-  MINGW* )
-    msys=true
-    ;;
-esac
-
-# Attempt to set APP_HOME
-# Resolve links: $0 may be a link
-PRG="$0"
-# Need this for relative symlinks.
-while [ -h "$PRG" ] ; do
-    ls=`ls -ld "$PRG"`
-    link=`expr "$ls" : '.*-> \(.*\)$'`
-    if expr "$link" : '/.*' > /dev/null; then
-        PRG="$link"
-    else
-        PRG=`dirname "$PRG"`"/$link"
-    fi
-done
-SAVED="`pwd`"
-cd "`dirname \"$PRG\"`/" >/dev/null
-APP_HOME="`pwd -P`"
-cd "$SAVED" >/dev/null
-
-CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
-
-# Determine the Java command to use to start the JVM.
-if [ -n "$JAVA_HOME" ] ; then
-    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
-        # IBM's JDK on AIX uses strange locations for the executables
-        JAVACMD="$JAVA_HOME/jre/sh/java"
-    else
-        JAVACMD="$JAVA_HOME/bin/java"
-    fi
-    if [ ! -x "$JAVACMD" ] ; then
-        die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
-
-Please set the JAVA_HOME variable in your environment to match the
-location of your Java installation."
-    fi
-else
-    JAVACMD="java"
-    which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
-
-Please set the JAVA_HOME variable in your environment to match the
-location of your Java installation."
-fi
-
-# Increase the maximum file descriptors if we can.
-if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
-    MAX_FD_LIMIT=`ulimit -H -n`
-    if [ $? -eq 0 ] ; then
-        if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
-            MAX_FD="$MAX_FD_LIMIT"
-        fi
-        ulimit -n $MAX_FD
-        if [ $? -ne 0 ] ; then
-            warn "Could not set maximum file descriptor limit: $MAX_FD"
-        fi
-    else
-        warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
-    fi
-fi
-
-# For Darwin, add options to specify how the application appears in the dock
-if $darwin; then
-    GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
-fi
-
-# For Cygwin, switch paths to Windows format before running java
-if $cygwin ; then
-    APP_HOME=`cygpath --path --mixed "$APP_HOME"`
-    CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
-    JAVACMD=`cygpath --unix "$JAVACMD"`
-
-    # We build the pattern for arguments to be converted via cygpath
-    ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
-    SEP=""
-    for dir in $ROOTDIRSRAW ; do
-        ROOTDIRS="$ROOTDIRS$SEP$dir"
-        SEP="|"
-    done
-    OURCYGPATTERN="(^($ROOTDIRS))"
-    # Add a user-defined pattern to the cygpath arguments
-    if [ "$GRADLE_CYGPATTERN" != "" ] ; then
-        OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
-    fi
-    # Now convert the arguments - kludge to limit ourselves to /bin/sh
-    i=0
-    for arg in "$@" ; do
-        CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
-        CHECK2=`echo "$arg"|egrep -c "^-"`                                 ### Determine if an option
-
-        if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then                    ### Added a condition
-            eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
-        else
-            eval `echo args$i`="\"$arg\""
-        fi
-        i=$((i+1))
-    done
-    case $i in
-        (0) set -- ;;
-        (1) set -- "$args0" ;;
-        (2) set -- "$args0" "$args1" ;;
-        (3) set -- "$args0" "$args1" "$args2" ;;
-        (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
-        (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
-        (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
-        (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
-        (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
-        (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
-    esac
-fi
-
-# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
-function splitJvmOpts() {
-    JVM_OPTS=("$@")
-}
-eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
-JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
-
-exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
+#!/usr/bin/env bash\r
+\r
+##############################################################################\r
+##\r
+##  Gradle start up script for UN*X\r
+##\r
+##############################################################################\r
+\r
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.\r
+DEFAULT_JVM_OPTS=""\r
+\r
+APP_NAME="Gradle"\r
+APP_BASE_NAME=`basename "$0"`\r
+\r
+# Use the maximum available, or set MAX_FD != -1 to use that value.\r
+MAX_FD="maximum"\r
+\r
+warn ( ) {\r
+    echo "$*"\r
+}\r
+\r
+die ( ) {\r
+    echo\r
+    echo "$*"\r
+    echo\r
+    exit 1\r
+}\r
+\r
+# OS specific support (must be 'true' or 'false').\r
+cygwin=false\r
+msys=false\r
+darwin=false\r
+case "`uname`" in\r
+  CYGWIN* )\r
+    cygwin=true\r
+    ;;\r
+  Darwin* )\r
+    darwin=true\r
+    ;;\r
+  MINGW* )\r
+    msys=true\r
+    ;;\r
+esac\r
+\r
+# Attempt to set APP_HOME\r
+# Resolve links: $0 may be a link\r
+PRG="$0"\r
+# Need this for relative symlinks.\r
+while [ -h "$PRG" ] ; do\r
+    ls=`ls -ld "$PRG"`\r
+    link=`expr "$ls" : '.*-> \(.*\)$'`\r
+    if expr "$link" : '/.*' > /dev/null; then\r
+        PRG="$link"\r
+    else\r
+        PRG=`dirname "$PRG"`"/$link"\r
+    fi\r
+done\r
+SAVED="`pwd`"\r
+cd "`dirname \"$PRG\"`/" >/dev/null\r
+APP_HOME="`pwd -P`"\r
+cd "$SAVED" >/dev/null\r
+\r
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar\r
+\r
+# Determine the Java command to use to start the JVM.\r
+if [ -n "$JAVA_HOME" ] ; then\r
+    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then\r
+        # IBM's JDK on AIX uses strange locations for the executables\r
+        JAVACMD="$JAVA_HOME/jre/sh/java"\r
+    else\r
+        JAVACMD="$JAVA_HOME/bin/java"\r
+    fi\r
+    if [ ! -x "$JAVACMD" ] ; then\r
+        die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME\r
+\r
+Please set the JAVA_HOME variable in your environment to match the\r
+location of your Java installation."\r
+    fi\r
+else\r
+    JAVACMD="java"\r
+    which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.\r
+\r
+Please set the JAVA_HOME variable in your environment to match the\r
+location of your Java installation."\r
+fi\r
+\r
+# Increase the maximum file descriptors if we can.\r
+if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then\r
+    MAX_FD_LIMIT=`ulimit -H -n`\r
+    if [ $? -eq 0 ] ; then\r
+        if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then\r
+            MAX_FD="$MAX_FD_LIMIT"\r
+        fi\r
+        ulimit -n $MAX_FD\r
+        if [ $? -ne 0 ] ; then\r
+            warn "Could not set maximum file descriptor limit: $MAX_FD"\r
+        fi\r
+    else\r
+        warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"\r
+    fi\r
+fi\r
+\r
+# For Darwin, add options to specify how the application appears in the dock\r
+if $darwin; then\r
+    GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""\r
+fi\r
+\r
+# For Cygwin, switch paths to Windows format before running java\r
+if $cygwin ; then\r
+    APP_HOME=`cygpath --path --mixed "$APP_HOME"`\r
+    CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`\r
+    JAVACMD=`cygpath --unix "$JAVACMD"`\r
+\r
+    # We build the pattern for arguments to be converted via cygpath\r
+    ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`\r
+    SEP=""\r
+    for dir in $ROOTDIRSRAW ; do\r
+        ROOTDIRS="$ROOTDIRS$SEP$dir"\r
+        SEP="|"\r
+    done\r
+    OURCYGPATTERN="(^($ROOTDIRS))"\r
+    # Add a user-defined pattern to the cygpath arguments\r
+    if [ "$GRADLE_CYGPATTERN" != "" ] ; then\r
+        OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"\r
+    fi\r
+    # Now convert the arguments - kludge to limit ourselves to /bin/sh\r
+    i=0\r
+    for arg in "$@" ; do\r
+        CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`\r
+        CHECK2=`echo "$arg"|egrep -c "^-"`                                 ### Determine if an option\r
+\r
+        if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then                    ### Added a condition\r
+            eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`\r
+        else\r
+            eval `echo args$i`="\"$arg\""\r
+        fi\r
+        i=$((i+1))\r
+    done\r
+    case $i in\r
+        (0) set -- ;;\r
+        (1) set -- "$args0" ;;\r
+        (2) set -- "$args0" "$args1" ;;\r
+        (3) set -- "$args0" "$args1" "$args2" ;;\r
+        (4) set -- "$args0" "$args1" "$args2" "$args3" ;;\r
+        (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;\r
+        (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;\r
+        (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;\r
+        (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;\r
+        (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;\r
+    esac\r
+fi\r
+\r
+# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules\r
+function splitJvmOpts() {\r
+    JVM_OPTS=("$@")\r
+}\r
+eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS\r
+JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"\r
+\r
+exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"\r
index 6e6cf73..3c02267 100644 (file)
-<?xml version="1.0" encoding="UTF-8"?>
-<module external.linked.project.id="lede-gui" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" type="JAVA_MODULE" version="4">
-  <component name="FacetManager">
-    <facet type="android-gradle" name="Android-Gradle">
-      <configuration>
-        <option name="GRADLE_PROJECT_PATH" value=":" />
-      </configuration>
-    </facet>
-    <facet type="android" name="Android">
-      <configuration>
-        <option name="SELECTED_BUILD_VARIANT" value="debug" />
-        <option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
-        <option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
-        <afterSyncTasks>
-          <task>generateDebugSources</task>
-        </afterSyncTasks>
-        <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" />
-        <option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
-      </configuration>
-    </facet>
-  </component>
-  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="false">
-    <output url="file://$MODULE_DIR$/build/intermediates/classes/debug" />
-    <output-test url="file://$MODULE_DIR$/build/intermediates/classes/test/debug" />
-    <exclude-output />
-    <content url="file://$MODULE_DIR$">
-      <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/source/apt/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/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" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/androidTest/debug" isTestSource="true" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/androidTest/debug" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/androidTest/debug" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/debug/res" type="java-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/debug/resources" type="java-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/debug/assets" type="java-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/debug/aidl" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/debug/shaders" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/res" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/resources" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/assets" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/aidl" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/java" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/rs" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/shaders" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/main/res" type="java-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/main/assets" type="java-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/main/aidl" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
-      <excludeFolder url="file://$MODULE_DIR$/build/android-profile" />
-      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
-      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
-      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" />
-      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/dex-cache" />
-      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
-      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-classes" />
-      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-runtime-classes" />
-      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-safeguard" />
-      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-verifier" />
-      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-resources" />
-      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-support" />
-      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" />
-      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" />
-      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/reload-dex" />
-      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />
-      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/restart-dex" />
-      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
-      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/shaders" />
-      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/split-apk" />
-      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
-      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/transforms" />
-      <excludeFolder url="file://$MODULE_DIR$/build/outputs" />
-      <excludeFolder url="file://$MODULE_DIR$/build/tmp" />
-    </content>
-    <orderEntry type="jdk" jdkName="Android API 26 Platform" jdkType="Android SDK" />
-    <orderEntry type="sourceFolder" forTests="false" />
-    <orderEntry type="library" exported="" name="support-core-ui-26.0.0-alpha1" level="project" />
-    <orderEntry type="library" exported="" scope="TEST" name="runner-0.5" level="project" />
-    <orderEntry type="library" exported="" scope="TEST" name="espresso-idling-resource-2.2.2" level="project" />
-    <orderEntry type="library" exported="" name="support-fragment-26.0.0-alpha1" level="project" />
-    <orderEntry type="library" exported="" name="constraint-layout-1.0.2" level="project" />
-    <orderEntry type="library" exported="" scope="TEST" name="hamcrest-library-1.3" level="project" />
-    <orderEntry type="library" exported="" name="support-v4-26.0.0-alpha1" level="project" />
-    <orderEntry type="library" exported="" name="support-media-compat-26.0.0-alpha1" level="project" />
-    <orderEntry type="library" exported="" scope="TEST" name="hamcrest-integration-1.3" level="project" />
-    <orderEntry type="library" exported="" name="jsch-0.1.54" level="project" />
-    <orderEntry type="library" exported="" name="design-26.0.0-alpha1" level="project" />
-    <orderEntry type="library" exported="" scope="TEST" name="jsr305-2.0.1" level="project" />
-    <orderEntry type="library" exported="" scope="TEST" name="espresso-core-2.2.2" level="project" />
-    <orderEntry type="library" exported="" scope="TEST" name="exposed-instrumentation-api-publish-0.5" level="project" />
-    <orderEntry type="library" exported="" name="support-core-utils-26.0.0-alpha1" level="project" />
-    <orderEntry type="library" exported="" scope="TEST" name="rules-0.5" level="project" />
-    <orderEntry type="library" exported="" name="constraint-layout-solver-1.0.2" level="project" />
-    <orderEntry type="library" exported="" name="transition-26.0.0-alpha1" level="project" />
-    <orderEntry type="library" exported="" name="support-vector-drawable-26.0.0-alpha1" level="project" />
-    <orderEntry type="library" exported="" scope="TEST" name="javax.annotation-api-1.2" level="project" />
-    <orderEntry type="library" exported="" scope="TEST" name="javax.inject-1" level="project" />
-    <orderEntry type="library" exported="" name="appcompat-v7-26.0.0-alpha1" level="project" />
-    <orderEntry type="library" exported="" scope="TEST" name="javawriter-2.1.1" level="project" />
-    <orderEntry type="library" exported="" scope="TEST" name="hamcrest-core-1.3" level="project" />
-    <orderEntry type="library" exported="" scope="TEST" name="junit-4.12" level="project" />
-    <orderEntry type="library" exported="" name="recyclerview-v7-26.0.0-alpha1" level="project" />
-    <orderEntry type="library" exported="" name="support-compat-26.0.0-alpha1" level="project" />
-    <orderEntry type="library" exported="" name="support-annotations-26.0.0-alpha1" level="project" />
-    <orderEntry type="library" exported="" name="animated-vector-drawable-26.0.0-alpha1" level="project" />
-  </component>
+<?xml version="1.0" encoding="UTF-8"?>\r
+<module external.linked.project.id="lede-gui" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" type="JAVA_MODULE" version="4">\r
+  <component name="FacetManager">\r
+    <facet type="android-gradle" name="Android-Gradle">\r
+      <configuration>\r
+        <option name="GRADLE_PROJECT_PATH" value=":" />\r
+      </configuration>\r
+    </facet>\r
+    <facet type="android" name="Android">\r
+      <configuration>\r
+        <option name="SELECTED_BUILD_VARIANT" value="debug" />\r
+        <option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />\r
+        <option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />\r
+        <afterSyncTasks>\r
+          <task>generateDebugSources</task>\r
+        </afterSyncTasks>\r
+        <option name="ALLOW_USER_CONFIGURATION" value="false" />\r
+        <option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />\r
+        <option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />\r
+        <option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res" />\r
+        <option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />\r
+      </configuration>\r
+    </facet>\r
+  </component>\r
+  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7">\r
+    <output url="file://$MODULE_DIR$/build/intermediates/classes/debug" />\r
+    <output-test url="file://$MODULE_DIR$/build/intermediates/classes/test/debug" />\r
+    <exclude-output />\r
+    <content url="file://$MODULE_DIR$">\r
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/debug" isTestSource="false" generated="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/debug" isTestSource="false" generated="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/debug" isTestSource="false" generated="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/debug" isTestSource="false" generated="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/debug" type="java-resource" />\r
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/debug" type="java-resource" />\r
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/androidTest/debug" isTestSource="true" generated="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/androidTest/debug" isTestSource="true" generated="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/androidTest/debug" isTestSource="true" generated="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/androidTest/debug" isTestSource="true" generated="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/androidTest/debug" type="java-test-resource" />\r
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/androidTest/debug" type="java-test-resource" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/res" type="java-resource" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/resources" type="java-resource" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/assets" type="java-resource" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/aidl" isTestSource="false" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/shaders" isTestSource="false" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/res" type="java-test-resource" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/resources" type="java-test-resource" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/assets" type="java-test-resource" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/aidl" isTestSource="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/java" isTestSource="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/rs" isTestSource="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/shaders" isTestSource="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/main/res" type="java-resource" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/main/assets" type="java-resource" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/main/aidl" isTestSource="false" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />\r
+      <excludeFolder url="file://$MODULE_DIR$/build/android-profile" />\r
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />\r
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />\r
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" />\r
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/dex-cache" />\r
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />\r
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-safeguard" />\r
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" />\r
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" />\r
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/pre-dexed" />\r
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />\r
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />\r
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/shaders" />\r
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />\r
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/transforms" />\r
+      <excludeFolder url="file://$MODULE_DIR$/build/outputs" />\r
+      <excludeFolder url="file://$MODULE_DIR$/build/tmp" />\r
+    </content>\r
+    <orderEntry type="jdk" jdkName="Android API 26 Platform" jdkType="Android SDK" />\r
+    <orderEntry type="sourceFolder" forTests="false" />\r
+    <orderEntry type="library" exported="" scope="TEST" name="com.android.support.test:exposed-instrumentation-api-publish-0.5" level="project" />\r
+    <orderEntry type="library" exported="" name="com.android.support:support-media-compat-26.1.0" level="project" />\r
+    <orderEntry type="library" exported="" scope="TEST" name="junit:junit:4.12@jar" level="project" />\r
+    <orderEntry type="library" exported="" name="com.android.support:appcompat-v7-26.0.0-alpha1" level="project" />\r
+    <orderEntry type="library" exported="" name="android.arch.lifecycle:common:1.0.0@jar" level="project" />\r
+    <orderEntry type="library" exported="" name="com.android.support:recyclerview-v7-26.0.0-alpha1" level="project" />\r
+    <orderEntry type="library" exported="" name="com.android.support:support-fragment-26.1.0" level="project" />\r
+    <orderEntry type="library" exported="" scope="TEST" name="javax.inject:javax.inject:1@jar" level="project" />\r
+    <orderEntry type="library" exported="" scope="TEST" name="com.squareup:javawriter:2.1.1@jar" level="project" />\r
+    <orderEntry type="library" exported="" name="android.arch.lifecycle:runtime-1.0.0" level="project" />\r
+    <orderEntry type="library" exported="" name="__local_jars__:C.\Users\Brian\Desktop\lede gui\lede-gui\libs\jsch-0.1.54.jar:unspecified@jar" level="project" />\r
+    <orderEntry type="library" exported="" name="com.android.support:design-26.0.0-alpha1" level="project" />\r
+    <orderEntry type="library" exported="" name="com.android.support:support-annotations:26.1.0@jar" level="project" />\r
+    <orderEntry type="library" exported="" name="com.android.support.constraint:constraint-layout-solver:1.0.2@jar" level="project" />\r
+    <orderEntry type="library" exported="" name="com.android.support:support-core-utils-26.1.0" level="project" />\r
+    <orderEntry type="library" exported="" name="com.android.support.constraint:constraint-layout-1.0.2" level="project" />\r
+    <orderEntry type="library" exported="" name="com.android.support:support-core-ui-26.1.0" level="project" />\r
+    <orderEntry type="library" exported="" scope="TEST" name="com.google.code.findbugs:jsr305:2.0.1@jar" level="project" />\r
+    <orderEntry type="library" exported="" name="com.android.support:support-vector-drawable-26.0.0-alpha1" level="project" />\r
+    <orderEntry type="library" exported="" name="com.android.support:animated-vector-drawable-26.0.0-alpha1" level="project" />\r
+    <orderEntry type="library" exported="" scope="TEST" name="org.hamcrest:hamcrest-core:1.3@jar" level="project" />\r
+    <orderEntry type="library" exported="" name="com.android.support:support-compat-26.1.0" level="project" />\r
+    <orderEntry type="library" exported="" scope="TEST" name="com.android.support.test.espresso:espresso-core-2.2.2" level="project" />\r
+    <orderEntry type="library" exported="" scope="TEST" name="com.android.support.test:rules-0.5" level="project" />\r
+    <orderEntry type="library" exported="" name="android.arch.core:common:1.0.0@jar" level="project" />\r
+    <orderEntry type="library" exported="" scope="TEST" name="org.hamcrest:hamcrest-library:1.3@jar" level="project" />\r
+    <orderEntry type="library" exported="" scope="TEST" name="org.hamcrest:hamcrest-integration:1.3@jar" level="project" />\r
+    <orderEntry type="library" exported="" scope="TEST" name="com.android.support.test:runner-0.5" level="project" />\r
+    <orderEntry type="library" exported="" name="com.android.support:support-v4-26.1.0" level="project" />\r
+    <orderEntry type="library" exported="" name="com.android.support:transition-26.0.0-alpha1" level="project" />\r
+    <orderEntry type="library" exported="" scope="TEST" name="com.android.support.test.espresso:espresso-idling-resource-2.2.2" level="project" />\r
+    <orderEntry type="library" exported="" scope="TEST" name="javax.annotation:javax.annotation-api:1.2@jar" level="project" />\r
+  </component>\r
 </module>
\ No newline at end of file
diff --git a/others/lede-gui/local.properties b/others/lede-gui/local.properties
deleted file mode 100644 (file)
index 35ebc26..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-## This file is automatically generated by Android Studio.
-# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
-#
-# This file must *NOT* be checked into Version Control Systems,
-# as it contains information specific to your local configuration.
-#
-# Location of the SDK. This is only used by Gradle.
-# For customization when using a Version Control System, please read the
-# header note.
-#Wed Sep 20 12:05:53 PDT 2017
-sdk.dir=/home/rtrimana/Android/Sdk
index c51ae23..0dd771e 100644 (file)
@@ -9,7 +9,7 @@
 \r
     <application\r
         android:allowBackup="true"\r
-        android:icon="@mipmap/sentinel_icon"\r
+        android:icon="@mipmap/vigilia_icon"\r
         android:label="@string/app_name"\r
         android:roundIcon="@mipmap/ic_launcher_round"\r
         android:supportsRtl="true"\r
         <activity android:name=".MainActivity">\r
             <intent-filter>\r
                 <action android:name="android.intent.action.MAIN" />\r
-\r
                 <category android:name="android.intent.category.LAUNCHER" />\r
             </intent-filter>\r
         </activity>\r
-        <activity android:name=".EnrollDeviceActivity" />\r
+        <activity android:name=".RegisterDeviceLoading" />\r
         <activity android:name=".ListActivity" />\r
         <activity android:name=".ConfigActivity" />\r
-        <activity android:name=".AddDeviceActivity" />\r
+        <activity android:name=".AllInstallOptions" />\r
+        <activity android:name=".InstallCommPattern" />\r
+        <activity android:name=".InstallTwoDevicesAndCommPattern" />\r
+        <activity android:name=".InstallAddress" />\r
+        <activity android:name=".InstallZigbeeDeviceAddress" />\r
+        <activity android:name=".InstallHost" />\r
+        <activity android:name=".UpdateLocalConfigFiles" />\r
+        <activity android:name=".RegistrationRouterCheck" />\r
+        <activity android:name=".ApplicationsList" />\r
+        <activity android:name=".HomeSecurity" />\r
+        <activity android:name=".Irrigation" />\r
+        <activity android:name=".Lifxtest" />\r
+        <activity android:name=".SmartLights" />\r
+        <activity android:name=".Speaker" />\r
+        <activity android:name=".DatabaseActivity" />\r
+        <activity android:name=".DriversSelectActivity" />\r
+        <activity android:name=".DriversAddActivity" />\r
+\r
+\r
+\r
+\r
+        <activity\r
+            android:name=".RegisterDeviceAdding"\r
+            android:windowSoftInputMode="adjustPan"/>\r
+        <activity\r
+            android:name=".AddDeviceActivity"\r
+            android:windowSoftInputMode="adjustPan"/>\r
         <activity\r
             android:name=".DeleteDeviceActivity"\r
             android:label="@string/title_activity_delete_device"\r
@@ -32,7 +57,7 @@
         <activity\r
             android:name=".RelationActivity"\r
             android:label="@string/title_activity_relation"\r
-            android:theme="@style/AppTheme.NoActionBar"></activity>\r
+            android:theme="@style/AppTheme.NoActionBar"/>\r
     </application>\r
 \r
 </manifest>
\ No newline at end of file
diff --git a/others/lede-gui/src/main/assets/1)_install_one_device.config b/others/lede-gui/src/main/assets/1)_install_one_device.config
new file mode 100644 (file)
index 0000000..1113e2a
--- /dev/null
@@ -0,0 +1,15 @@
+IoTMain\r
+ID CM4\r
+TYPE Camera\r
+TYPESPECIFIC AmcrestCamera\r
+END\r
+\r
+Table 2\r
+USERNAME VARCHAR 20\r
+PASSWORD VARCHAR 20\r
+END\r
+\r
+Data\r
+admin\r
+55779CatSoundz35\r
+END
\ No newline at end of file
diff --git a/others/lede-gui/src/main/assets/10)_delete_address.config b/others/lede-gui/src/main/assets/10)_delete_address.config
new file mode 100644 (file)
index 0000000..99ab2cf
--- /dev/null
@@ -0,0 +1 @@
+10) delete address
\ No newline at end of file
diff --git a/others/lede-gui/src/main/assets/11)_delete_device_address.config b/others/lede-gui/src/main/assets/11)_delete_device_address.config
new file mode 100644 (file)
index 0000000..2f669bf
--- /dev/null
@@ -0,0 +1 @@
+11) delete device address
\ No newline at end of file
diff --git a/others/lede-gui/src/main/assets/12)_delete_zigbee_device_address.config b/others/lede-gui/src/main/assets/12)_delete_zigbee_device_address.config
new file mode 100644 (file)
index 0000000..82a0089
--- /dev/null
@@ -0,0 +1 @@
+12) delete zigbee device addressS
\ No newline at end of file
diff --git a/others/lede-gui/src/main/assets/13)_delete_host.config b/others/lede-gui/src/main/assets/13)_delete_host.config
new file mode 100644 (file)
index 0000000..d469c51
--- /dev/null
@@ -0,0 +1 @@
+13) delete host
\ No newline at end of file
diff --git a/others/lede-gui/src/main/assets/2)_install_comm_pattern.config b/others/lede-gui/src/main/assets/2)_install_comm_pattern.config
new file mode 100644 (file)
index 0000000..af934cf
--- /dev/null
@@ -0,0 +1,3 @@
+CM4 AmcrestCameraCM4\r
+LB4 LifxLightBulbLB4\r
+WRITE
\ No newline at end of file
diff --git a/others/lede-gui/src/main/assets/3)_install_two_devices_and_comm_pattern.config b/others/lede-gui/src/main/assets/3)_install_two_devices_and_comm_pattern.config
new file mode 100644 (file)
index 0000000..c418910
--- /dev/null
@@ -0,0 +1 @@
+3)install_two_devices_and_comm_pattern
\ No newline at end of file
diff --git a/others/lede-gui/src/main/assets/4)_install_address.config b/others/lede-gui/src/main/assets/4)_install_address.config
new file mode 100644 (file)
index 0000000..4c13b6e
--- /dev/null
@@ -0,0 +1 @@
+4)install_address.config\r
diff --git a/others/lede-gui/src/main/assets/5)_install_device_address.config b/others/lede-gui/src/main/assets/5)_install_device_address.config
new file mode 100644 (file)
index 0000000..ed02bb9
--- /dev/null
@@ -0,0 +1,8 @@
+ID=CM4\r
+ADDRESSFOR=AmcrestCameraAdd\r
+DEVICEADDRESS=ab:cd:ef:12:34:56\r
+PORTNUMBER=888\r
+PROTOCOL=udp\r
+SOURCEWILDCARD=false\r
+DESTWILDCARD=false\r
+END
\ No newline at end of file
diff --git a/others/lede-gui/src/main/assets/6)_install_zigbee_device_address.config b/others/lede-gui/src/main/assets/6)_install_zigbee_device_address.config
new file mode 100644 (file)
index 0000000..5404a38
--- /dev/null
@@ -0,0 +1 @@
+6)_install zigbee device address
\ No newline at end of file
diff --git a/others/lede-gui/src/main/assets/7)_install_host.config b/others/lede-gui/src/main/assets/7)_install_host.config
new file mode 100644 (file)
index 0000000..7862996
--- /dev/null
@@ -0,0 +1 @@
+7)install  host config
\ No newline at end of file
diff --git a/others/lede-gui/src/main/assets/8)_delete_entity.config b/others/lede-gui/src/main/assets/8)_delete_entity.config
new file mode 100644 (file)
index 0000000..5b881c8
--- /dev/null
@@ -0,0 +1 @@
+8) delete entity
\ No newline at end of file
diff --git a/others/lede-gui/src/main/assets/9)_delete_comm_pattern.config b/others/lede-gui/src/main/assets/9)_delete_comm_pattern.config
new file mode 100644 (file)
index 0000000..57c56e1
--- /dev/null
@@ -0,0 +1 @@
+9) delete comm pattern
\ No newline at end of file
diff --git a/others/lede-gui/src/main/assets/add_comm.config b/others/lede-gui/src/main/assets/add_comm.config
deleted file mode 100644 (file)
index 0a8a2ac..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-CM4 AmcrestCameraCM4
-LB4 LifxLightBulbLB4
-WRITE
\ No newline at end of file
diff --git a/others/lede-gui/src/main/assets/add_device.config b/others/lede-gui/src/main/assets/add_device.config
deleted file mode 100644 (file)
index 4ecf673..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-IoTMain
-ID CM4
-TYPE Camera
-TYPESPECIFIC AmcrestCamera
-END
-
-Table 2
-USERNAME VARCHAR 20
-PASSWORD VARCHAR 20
-END
-
-Data
-admin
-55779CatSoundz35
-END
\ No newline at end of file
diff --git a/others/lede-gui/src/main/assets/add_device_address.config b/others/lede-gui/src/main/assets/add_device_address.config
deleted file mode 100644 (file)
index 9867d01..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-ID=CM4
-ADDRESSFOR=AmcrestCameraAdd
-DEVICEADDRESS=ab:cd:ef:12:34:56
-PORTNUMBER=888
-PROTOCOL=udp
-SOURCEWILDCARD=false
-DESTWILDCARD=false
-END
\ No newline at end of file
diff --git a/others/lede-gui/src/main/assets/delete_address.config b/others/lede-gui/src/main/assets/delete_address.config
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/others/lede-gui/src/main/assets/delete_device_address.config b/others/lede-gui/src/main/assets/delete_device_address.config
new file mode 100644 (file)
index 0000000..4ab20a5
--- /dev/null
@@ -0,0 +1 @@
+//insert sample address input
\ No newline at end of file
index fc4a075..8a83c4e 100644 (file)
-package com.example.lede2;
-
-import android.content.Context;
-import android.content.Intent;
-import android.os.Bundle;
-import android.support.v7.app.AppCompatActivity;
-import android.util.Log;
-import android.view.Gravity;
-import android.view.View;
-import android.view.inputmethod.InputMethodManager;
-import android.widget.Button;
-import android.widget.EditText;
-import android.widget.TextView;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.sql.*;
-
-
-public class AddDeviceActivity extends AppCompatActivity implements View.OnClickListener,View.OnFocusChangeListener {
-
-    Button doneButton;
-    TextView databaseInfo;
-    TextView databaseAddressInfo;
-    private SSH_MySQL ssh;//Connection object between Android & Host
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.activity_add_device);
-
-        doneButton = (Button) findViewById(R.id.doneButton);
-        databaseInfo = (EditText)findViewById(R.id.textInfo);
-        databaseAddressInfo = (EditText)findViewById(R.id.textInfoAddress);
-
-        doneButton.setOnClickListener(this);
-        databaseInfo.setOnFocusChangeListener(this);
-        databaseAddressInfo.setOnFocusChangeListener(this);
-        ssh = new SSH_MySQL();
-        // Set config text from file for device
-        try {
-            InputStream is = getAssets().open(MainActivity.DEF_ADD_DEVICE_FILE);
-            int size = is.available();
-            byte[] buffer = new byte[size];
-            is.read(buffer);
-            is.close();
-            String text = new String(buffer);
-            databaseInfo.setGravity(Gravity.LEFT);
-            databaseInfo.setText(text);
-            Log.d("LOADINGFILE", "Add device info file is already loaded!");
-        } catch (IOException ex) {
-            Log.d("LOADINGFILE", "Add device info file is NOT loaded!");
-            ex.printStackTrace();
-        }
-        // Set config text from file for device address
-        try {
-            InputStream is = getAssets().open(MainActivity.DEF_ADD_DEVICE_ADDRESS_FILE);
-            int size = is.available();
-            byte[] buffer = new byte[size];
-            is.read(buffer);
-            is.close();
-            String text = new String(buffer);
-            databaseAddressInfo.setGravity(Gravity.LEFT);
-            databaseAddressInfo.setText(text);
-            Log.d("LOADINGFILE", "Add device address info file is already loaded!");
-        } catch (IOException ex) {
-            Log.d("LOADINGFILE", "Add device address info file is NOT loaded!");
-            ex.printStackTrace();
-        }
-
-    }
-
-    @Override
-    public void onClick(View v) {
-        if(v == doneButton){
-            // 1) Create a new file and insert the configuration
-            // 2) Run iotinstaller code for device installation
-            // 3) Remove the existing config file
-            // 4) Repeat 1, 2, and 3 for device address
-            ssh.execute("echo \"" + databaseInfo.getText().toString() + "\" >> " +
-                    MainActivity.DEF_MYSQL_CONFIG_FILE + ";" +
-                    MainActivity.DEF_INSTALL_CMD + " " + MainActivity.DEF_MYSQL_CONFIG_FILE + ";" +
-                    "rm -rf " + MainActivity.DEF_MYSQL_CONFIG_FILE + ";" +
-                    // repeat process for device address
-                    "echo \"" + databaseAddressInfo.getText().toString() + "\" >> " +
-                    MainActivity.DEF_MYSQL_CONFIG_FILE + ";" +
-                    MainActivity.DEF_INSTALL_ADDRESS_CMD + " " + MainActivity.DEF_MYSQL_CONFIG_FILE + ";" +
-                    "rm -rf " + MainActivity.DEF_MYSQL_CONFIG_FILE);
-            finish();
-        }
-    }
-
-    @Override
-    public void onFocusChange(View view, boolean hasFocus) {
-        InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
-        if (hasFocus) {
-            imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
-        } else {
-            imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
-        }
-    }
-}
+package com.example.lede2;\r
+\r
+import android.app.ActivityManager;\r
+import android.app.ProgressDialog;\r
+import android.content.Context;\r
+import android.os.AsyncTask;\r
+import android.os.Bundle;\r
+import android.os.Handler;\r
+import android.support.design.widget.Snackbar;\r
+import android.support.v7.app.AppCompatActivity;\r
+import android.util.Log;\r
+import android.util.Pair;\r
+import android.view.View;\r
+import android.view.WindowManager;\r
+import android.view.inputmethod.InputMethodManager;\r
+import android.widget.AdapterView;\r
+import android.widget.ArrayAdapter;\r
+import android.widget.Button;\r
+import android.widget.EditText;\r
+import android.widget.ProgressBar;\r
+import android.widget.Spinner;\r
+import android.widget.TextView;\r
+import android.widget.Toast;\r
+\r
+import java.io.File;\r
+import java.nio.file.FileAlreadyExistsException;\r
+import java.text.CollationElementIterator;\r
+import java.util.ArrayList;\r
+import java.util.Collections;\r
+import java.util.HashMap;\r
+import java.util.List;\r
+import java.util.Set;\r
+\r
+\r
+public class AddDeviceActivity extends AppCompatActivity implements View.OnClickListener,View.OnFocusChangeListener {\r
+\r
+    DatabaseObject databaseObject;\r
+    //DatabaseSubtypeObject databaseSubtypeObject;\r
+    Button doneButton;\r
+    EditText databaseInfo;\r
+    Spinner spinner1;\r
+    Spinner spinner2;\r
+    Spinner spinner3;\r
+    Spinner spinner4;\r
+    ProgressBar progressBar;\r
+    private ArrayAdapter subtypeAdapter;\r
+    private ArrayAdapter paramAdapter;\r
+    private ArrayAdapter fieldAdapter;\r
+    String lastParamChosen;\r
+    TextView databaseAddressInfo;\r
+    protected String database_information_filename;\r
+    protected String id_information_filename;\r
+    Context context;\r
+    HashMap<String, String> userInputs;\r
+    ProgressDialog dialog;\r
+\r
+\r
+    private SSH_MySQL ssh;//Connection object between Android & Host\r
+\r
+    @Override\r
+    protected void onCreate(Bundle savedInstanceState) {\r
+        super.onCreate(savedInstanceState);\r
+        setContentView(R.layout.activity_add_device);\r
+\r
+\r
+        doneButton = (Button) findViewById(R.id.doneButton);\r
+        spinner1 = (Spinner) findViewById(R.id.spinner1);\r
+        spinner2 = (Spinner) findViewById(R.id.spinner2);\r
+        spinner3 = (Spinner) findViewById(R.id.spinner3);\r
+        spinner4 = (Spinner) findViewById(R.id.spinner4);\r
+        databaseInfo = (EditText)findViewById(R.id.textInfo);\r
+        progressBar = (ProgressBar)findViewById(R.id.progressBar);\r
+        progressBar.setVisibility(View.INVISIBLE);\r
+        progressBar.setMax(10);\r
+        //databaseAddressInfo = (EditText)findViewById(R.id.textInfoAddress);\r
+        database_information_filename = this.getString(R.string.device_param_config_filename);\r
+        id_information_filename = this.getString(R.string.device_id_config_filename);\r
+        userInputs = new HashMap<String, String>();\r
+        context = this;\r
+        lastParamChosen = "";\r
+\r
+        //looks through database to see possible subtypes for dropdown box 2\r
+        spinner1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {\r
+            //set spinner2 values = subtypes of type chosen for spinner 1\r
+            @Override\r
+            public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {\r
+\r
+                String selectedType = spinner1.getSelectedItem().toString();\r
+                Set<String> keysForSubType = (databaseObject.getTypeObject(selectedType)).getKeySet();\r
+                ArrayList<String> subtypes = new ArrayList<String>();\r
+                for(String key: keysForSubType){\r
+                    subtypes.add(key);\r
+                }\r
+                Collections.sort(subtypes);\r
+                subtypeAdapter = new ArrayAdapter(context, android.R.layout.simple_spinner_dropdown_item, subtypes);\r
+                subtypeAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);\r
+                spinner2.setAdapter(subtypeAdapter);\r
+\r
+            }\r
+\r
+            @Override\r
+            public void onNothingSelected(AdapterView<?> adapterView) {\r
+\r
+            }\r
+        });\r
+        spinner2.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {\r
+            //set spinner 3 values based on if the selected subtype has params and/or addressparams\r
+            @Override\r
+            public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {\r
+                DatabaseSubtypeObject subtypeObject = getCurrentSubtypeObject();\r
+\r
+                ArrayList<String> paramType = new ArrayList<String>();\r
+                if(subtypeObject.getParams().size() > 0){\r
+                    paramType.add("Device");\r
+                }\r
+                if(subtypeObject.getAddressParams().size() > 0){\r
+                    paramType.add("Address");\r
+                }\r
+                if(subtypeObject.getZigbeeAddressParams().size()>0){\r
+                    paramType.add("Zigbee");\r
+                }\r
+                //if both empty(example room)\r
+                if(subtypeObject.getAddressParams().size() == 0 && subtypeObject.getParams().size() == 0){\r
+                    paramType.add("No Device or Address Parameters");\r
+                }\r
+                Collections.sort(paramType);\r
+                paramAdapter = new ArrayAdapter(context, android.R.layout.simple_spinner_dropdown_item, paramType);\r
+                spinner3.setAdapter(paramAdapter);\r
+            }\r
+\r
+            @Override\r
+            public void onNothingSelected(AdapterView<?> adapterView) {\r
+\r
+            }\r
+        });\r
+        spinner3.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {\r
+            //set spinner 4 value based on spinner1-3 values (actual params)\r
+            @Override\r
+            public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {\r
+                DatabaseSubtypeObject subtypeObject = getCurrentSubtypeObject();\r
+                List<String> keysForSubType = new ArrayList<>();\r
+                //for devices that have no fields ex Rooms\r
+                if(spinner3.getSelectedItem().toString().equals("No Device or Address Parameters")) {\r
+                    keysForSubType.add("No Fields");\r
+\r
+                    databaseInfo.setVisibility(View.GONE);\r
+                }\r
+                if(spinner3.getSelectedItem().toString().equals("Device")) {\r
+                    databaseInfo.setVisibility(View.VISIBLE);\r
+                    if(subtypeObject.getNumParams() > 0){\r
+                        //add only params that have USER value\r
+                        ArrayList<Pair<String, String>> tempList = subtypeObject.getParams();\r
+                        for(int j = 0; j < tempList.size(); j++){\r
+                            if(tempList.get(j).second.equals("USER")){\r
+                                keysForSubType.add(tempList.get(j).first);\r
+                            }\r
+                        }\r
+\r
+                    }\r
+                }\r
+                else if(spinner3.getSelectedItem().toString().equals("Zigbee")){\r
+                    //setting field name for zigbee\r
+                    databaseInfo.setVisibility(View.VISIBLE);\r
+                    keysForSubType.add("DEVICEADDRESS");\r
+                }\r
+                else{\r
+                    //if selected value is address\r
+                    if(subtypeObject.getNumAddressParams() > 0){\r
+                        databaseInfo.setVisibility(View.VISIBLE);\r
+                        //add only params that have USER value\r
+                        ArrayList<ArrayList<Pair<String, String>>> tempList = subtypeObject.getAddressParams();\r
+                        for(int j = 0; j < tempList.size(); j++){\r
+                            for(int k = 0; k < tempList.get(j).size(); k++){\r
+                                if(tempList.get(j).get(k).second.equals("USER")){\r
+                                    if(!keysForSubType.contains(tempList.get(j).get(k).first)) {\r
+                                        keysForSubType.add(tempList.get(j).get(k).first);\r
+                                    }\r
+                                }\r
+                            }\r
+\r
+                        }\r
+\r
+                    }\r
+                }\r
+                //List<String> keysForSubType = (databaseObject.getTypeObject(selectedType)).getSubtypeObject(selectedSubtype).getParams();\r
+\r
+                ArrayList<String> params = new ArrayList<String>();\r
+                for(String key: keysForSubType){\r
+                    params.add(key);\r
+                }\r
+                Collections.sort(params);\r
+                fieldAdapter = new ArrayAdapter(context, android.R.layout.simple_spinner_dropdown_item, params);\r
+                fieldAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);\r
+                spinner4.setAdapter(fieldAdapter);\r
+            }\r
+\r
+            @Override\r
+            public void onNothingSelected(AdapterView<?> adapterView) {\r
+\r
+            }\r
+        });\r
+        spinner4.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {\r
+            //saves user input into a hashmap that is used later to create ssh command\r
+            @Override\r
+            public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {\r
+\r
+                if(!spinner3.getSelectedItem().toString().equals("No Device or Address Parameters")) {\r
+                    if (lastParamChosen.equals("")) {\r
+                        lastParamChosen = spinner2.getSelectedItem().toString() + spinner3.getSelectedItem().toString() + spinner4.getSelectedItem().toString();\r
+\r
+                    } else {\r
+                        String enteredText = databaseInfo.getText().toString();\r
+                        userInputs.put(lastParamChosen, enteredText);\r
+                        String currentSelections = spinner2.getSelectedItem().toString() + spinner3.getSelectedItem().toString() + spinner4.getSelectedItem().toString();\r
+                        if (!userInputs.containsKey(currentSelections)) {\r
+                            userInputs.put(currentSelections, "");\r
+                        }\r
+                        databaseInfo.setText(userInputs.get(currentSelections));\r
+                        lastParamChosen = currentSelections;\r
+                    }\r
+                }\r
+                else{\r
+                }\r
+            }\r
+\r
+            @Override\r
+            public void onNothingSelected(AdapterView<?> adapterView) {\r
+\r
+            }\r
+        });\r
+        doneButton.setOnClickListener(this);\r
+        // Set config text from file for device\r
+        //pull information from config file and uses it to generate main database object\r
+\r
+        String idInformation = ConfigFileIO.readFromFile(id_information_filename, this);\r
+        databaseObject = ConfigFileIO.createDatabaseObject(this, idInformation );\r
+\r
+\r
+\r
+        //ConfigFileIO.printDatabaseObject(databaseObject);\r
+        Set<String> keysForType = databaseObject.getKeySet();\r
+        ArrayList<String> types = new ArrayList<String>();\r
+        for(String key: keysForType){\r
+            types.add(key);\r
+        }\r
+        //sets value for spinner 1\r
+        Collections.sort(types);\r
+        ArrayAdapter typeAdapter = new ArrayAdapter(this, android.R.layout.simple_spinner_dropdown_item, types);\r
+        typeAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);\r
+        spinner1.setAdapter(typeAdapter);\r
+\r
+\r
+    }\r
+\r
+    @Override\r
+    public void onClick(View v) {\r
+        if(v == doneButton){\r
+            String enteredText = databaseInfo.getText().toString();\r
+            //combines user input into a command for the pi\r
+            String keyForUserInput = spinner2.getSelectedItem().toString() + spinner3.getSelectedItem().toString() + spinner4.getSelectedItem().toString();\r
+            userInputs.put(keyForUserInput, enteredText);\r
+            if(!sufficientEntries()) {\r
+                Snackbar done = Snackbar.make(findViewById(R.id.done),\r
+                        "Please Enter all required fields for selected device type", 2000);\r
+                done.show();\r
+            }\r
+            else {\r
+                Snackbar done = Snackbar.make(findViewById(R.id.done), "Updating IoTDeviceAddress.config", 2000);\r
+                done.show();\r
+                progressBar.setVisibility(View.VISIBLE);\r
+                doneButton.setAlpha(.5f);\r
+                doneButton.setClickable(false);\r
+\r
+\r
+\r
+\r
+\r
+                String sqlCommand = generateSQLCommand();\r
+                System.out.println(sqlCommand);\r
+                Log.d("sqlcommand", sqlCommand);\r
+                System.out.println("");\r
+\r
+                ssh = new SSH_MySQL();\r
+                ssh.execute(sqlCommand);\r
+                try {\r
+                    Thread.sleep(1000);\r
+                    List<String> result = ssh.getResultLines();\r
+                    for (int i = 0; i < result.size(); i++) {\r
+                        System.out.println("result" + result.get(i));\r
+                    }\r
+                } catch (Exception e) {\r
+                    e.printStackTrace();\r
+                }\r
+                updateDatabase();\r
+\r
+                updateIoTDeviceAddress();\r
+//                done = Snackbar.make(findViewById(R.id.done),\r
+//                        "Updating SetList.config", 2000);\r
+//                done.show();\r
+                updateSetList();\r
+                finish();\r
+            }\r
+        }\r
+    }\r
+    //determines if all fields have been entered\r
+    public boolean sufficientEntries(){\r
+        boolean sufficient = true;\r
+        DatabaseSubtypeObject subtypeObject = getCurrentSubtypeObject();\r
+        ArrayList<Pair<String, String>> params = subtypeObject.getParams();\r
+        ArrayList<ArrayList<Pair<String, String>>> addressParams = subtypeObject.getAddressParams();\r
+        ArrayList<ArrayList<Pair<String, String>>> zigbeeAddressParams = subtypeObject.getZigbeeAddressParams();\r
+        if(spinner3.getSelectedItem().toString().equals("No Device or Address Parameters")) {\r
+            return true;\r
+        }\r
+        if(params.size()>0){\r
+            for(int i = 0; i < params.size(); i++){\r
+                if(!params.get(i).second.equals("USER")){\r
+                    continue;\r
+                }\r
+                if(!userInputs.containsKey(spinner2.getSelectedItem().toString() + "Device" + params.get(i).first) ||\r
+                        userInputs.get(spinner2.getSelectedItem().toString() + "Device" + params.get(i).first).equals("")){\r
+                    sufficient = false;\r
+                }\r
+            }\r
+        }\r
+        if(addressParams.size()>0){\r
+            for(int i = 0; i <  addressParams.size(); i++){\r
+                for(int j = 0;j < addressParams.get(i).size(); j++) {\r
+                    if(!addressParams.get(i).get(j).second.equals("USER")){\r
+                        continue;\r
+                    }\r
+                    if (!userInputs.containsKey(spinner2.getSelectedItem().toString() + "Address" + addressParams.get(i).get(j).first) ||\r
+                            userInputs.get(spinner2.getSelectedItem().toString() + "Address" + addressParams.get(i).get(j).first).equals("")) {\r
+                        sufficient = false;\r
+                    }\r
+                }\r
+            }\r
+        }\r
+        if(zigbeeAddressParams.size()>0){\r
+            for(int i = 0; i <  zigbeeAddressParams.size(); i++){\r
+                for(int j = 0;j < zigbeeAddressParams.get(i).size(); j++) {\r
+                    if(!zigbeeAddressParams.get(i).get(j).second.equals("USER")){\r
+                        continue;\r
+                    }\r
+                    if (!userInputs.containsKey(spinner2.getSelectedItem().toString() + "Zigbee" + zigbeeAddressParams.get(i).get(j).first) ||\r
+                            userInputs.get(spinner2.getSelectedItem().toString() + "Zigbee" + zigbeeAddressParams.get(i).get(j).first).equals("")) {\r
+                        sufficient = false;\r
+                    }\r
+                }\r
+            }\r
+        }\r
+\r
+        return sufficient;\r
+    }\r
+\r
+    @Override\r
+    public void onFocusChange(View view, boolean hasFocus) {\r
+        InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);\r
+        if (hasFocus) {\r
+            imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);\r
+        } else {\r
+            imm.hideSoftInputFromWindow(view.getWindowToken(), 0);\r
+        }\r
+    }\r
+    //generates command for adding both device and address device. May need to expand for zigbee\r
+    public String generateSQLCommand(){\r
+        String command = "";\r
+        String paramInfo = "";\r
+        String addressParamInfo = "";\r
+        DatabaseSubtypeObject subtypeObject = getCurrentSubtypeObject();\r
+        int numAddresses = subtypeObject.getNumAddresses();\r
+        int numZigbeeAddresses = subtypeObject.getNumZigbeeAddresses();\r
+        // 1) Create a new file and insert the configuration\r
+        // 2) Run iotinstaller code for device installation\r
+        // 3) Remove the existing config file\r
+        // 4) Repeat 1, 2, and 3 for device address\r
+        command += "echo \"" + generateDevFields() + "\" >> " +\r
+                MainActivity.DEF_MYSQL_CONFIG_FILE + ";" +\r
+                MainActivity.DEF_INSTALL_CMD + " " + MainActivity.DEF_MYSQL_CONFIG_FILE + ";" +\r
+                "rm -rf " + MainActivity.DEF_MYSQL_CONFIG_FILE + ";";\r
+                    // repeat process for device address\r
+                for(int i = 0; i <numAddresses; i++ ) {\r
+                    boolean multiple = true;\r
+                    if(numAddresses == 1){\r
+                        multiple = false;\r
+                    }\r
+                    command += "echo \"" + generateAddressFields(i, multiple) + "\" >> " +\r
+                            MainActivity.DEF_MYSQL_CONFIG_FILE + ";" +\r
+                            MainActivity.DEF_INSTALL_ADDRESS_CMD + " " + MainActivity.DEF_MYSQL_CONFIG_FILE + ";"\r
+                            + "rm -rf " + MainActivity.DEF_MYSQL_CONFIG_FILE + ";";\r
+                }\r
+                for(int i = 0; i < numZigbeeAddresses; i++){\r
+                    boolean multiple = true;\r
+                    if(numZigbeeAddresses == 1){\r
+                        multiple = false;\r
+                    }\r
+                    command += "echo \"" + generateZigBeeAddressFields(i, multiple) + "\" >> " +\r
+                            MainActivity.DEF_MYSQL_CONFIG_FILE + ";" +\r
+                            MainActivity.DEF_INSTALL_ZBADDRESS_CMD + " " + MainActivity.DEF_MYSQL_CONFIG_FILE + ";"\r
+                            + "rm -rf " + MainActivity.DEF_MYSQL_CONFIG_FILE + ";";\r
+                }\r
+\r
+        return command;\r
+\r
+    }\r
+    //specific device information to be inserted into the sql command. follows format seen in config file on pi\r
+    public String generateDevFields(){\r
+        String fields = "";\r
+        DatabaseSubtypeObject subtypeObject = getCurrentSubtypeObject();\r
+        //IotMain Table\r
+        fields += context.getResources().getString(R.string.database_name) + "\n"\r
+                + "ID " + subtypeObject.getNextID() + "\n"\r
+                + "TYPE " + spinner1.getSelectedItem().toString()+ "\n"\r
+                + "TYPESPECIFIC " + spinner2.getSelectedItem().toString()+ "\n"\r
+                + "END" + "\n\n";\r
+        //This sets up the param types and size. special case for devices with no params\r
+        if(subtypeObject.getNumParams() == 0){\r
+            fields += "Table 1" + "\n"\r
+                    + "EMPTY VARCHAR 0 " + "\n";\r
+        }\r
+\r
+        //Case for when there are params\r
+        else {\r
+            fields += "Table " + subtypeObject.getNumParams() + "\n";\r
+        }\r
+        ArrayList<Pair<String,String>> params = subtypeObject.getParams();\r
+        for(int i = params.size()-1; i >= 0; i--){\r
+            fields += params.get(i).first + " VARCHAR 20 \n";\r
+        }\r
+        fields += "END\n\n";\r
+        //data for params\r
+        fields += "Data \n";\r
+        for(int i = params.size()-1; i >= 0; i--){\r
+            fields += userInputs.get(spinner2.getSelectedItem().toString() +\r
+                    "Device" +\r
+                    params.get(i).first)  + "\n";\r
+        }\r
+        fields += "END\n\n";\r
+        return fields;\r
+    }\r
+\r
+\r
+    //refactor with string builder but works for now\r
+    public String generateAddressFields(int i, boolean multiple){\r
+        String fields = "";\r
+        String addressNumber = "";\r
+        if(multiple){\r
+            addressNumber = Integer.toString(i+1);\r
+        }\r
+        DatabaseSubtypeObject subtypeObject = getCurrentSubtypeObject();\r
+        fields += "ID=" + subtypeObject.getNextID() + "\n" ;\r
+        fields += "ADDRESSFOR=" + subtypeObject.getName()+ "Add"+ addressNumber + "\n" ;\r
+        ArrayList<ArrayList<Pair<String,String>>> addressParams = subtypeObject.getAddressParams();\r
+        String currentAddressParam = "";\r
+        for(int j = 0; j <addressParams.get(i).size(); j++) {\r
+            //if the value for current address parameter is user, use the input values\r
+            if(addressParams.get(i).get(j).second.equals("USER")){\r
+                currentAddressParam = addressParams.get(i).get(j).first;\r
+                fields += currentAddressParam + "=" + userInputs.get(spinner2.getSelectedItem().toString() + "Address" + currentAddressParam) + "\n";\r
+            }\r
+            //if the value for the current address is not user, use the predefined values\r
+            else{\r
+                currentAddressParam = addressParams.get(i).get(j).first;\r
+                fields += currentAddressParam + "=" + addressParams.get(i).get(j).second + "\n";\r
+            }\r
+        }\r
+        fields += "END\n\n";\r
+        return fields;\r
+    }\r
+    public String generateZigBeeAddressFields(int i , boolean multiple){\r
+        String fields = "";\r
+        String addressNumber = "";\r
+        if(multiple){\r
+            addressNumber = Integer.toString(i+1);\r
+        }\r
+        DatabaseSubtypeObject subtypeObject = getCurrentSubtypeObject();\r
+        fields += "ID=" + subtypeObject.getNextID() + "\n" ;\r
+        fields += "ADDRESSFOR=" + subtypeObject.getName()+ "ZBAdd"+ addressNumber + "\n" ;\r
+        ArrayList<ArrayList<Pair<String,String>>> zigbeeAddressParams = subtypeObject.getZigbeeAddressParams();\r
+        String currentAddressParam = "";\r
+        for(int j = 0; j < zigbeeAddressParams.get(i).size(); j++) {\r
+            //if the value for current address parameter is user, use the input values\r
+            if(zigbeeAddressParams.get(i).get(j).second.equals("USER")){\r
+                currentAddressParam = zigbeeAddressParams.get(i).get(j).first;\r
+                fields += currentAddressParam + "=" + userInputs.get(spinner2.getSelectedItem().toString() + "Zigbee" + currentAddressParam) + "\n";\r
+            }\r
+            //if the value for the current address is not user, use the predefined values\r
+            else{\r
+                currentAddressParam = zigbeeAddressParams.get(i).get(j).first;\r
+                fields += currentAddressParam + "=" + zigbeeAddressParams.get(i).get(j).second + "\n";\r
+            }\r
+        }\r
+        fields += "END\n\n";\r
+        return fields;\r
+    }\r
+\r
+    //update local database object and local database config file\r
+    public void updateDatabase(){\r
+        DatabaseSubtypeObject subtypeObject = getCurrentSubtypeObject();\r
+        String deviceID = subtypeObject.getName() + " " + subtypeObject.getNextID() + "\n";\r
+        ConfigFileIO.writeToFile(id_information_filename, deviceID, this);\r
+        subtypeObject.insertID();\r
+    }\r
+    private void updateSetList(){\r
+        SSH_MySQL ssh = new SSH_MySQL();\r
+        String command = this.getString(R.string.updateSetList);\r
+        List<String> results = new ArrayList<>();\r
+        String setListFilename = this.getString(R.string.setListFilename);\r
+        try {\r
+            ssh.execute(command);\r
+            Thread.sleep(1000);//To execute asyntask in ssh object, we have to sleep main thread\r
+            results = ssh.getResultLines();\r
+            while(results.size() == 0){\r
+                Thread.sleep(500);\r
+                results = ssh.getResultLines();\r
+            }\r
+            System.out.println(results);\r
+        } catch (Exception e) {\r
+            Log.d("Sleep exception", "exception at getSetsAndRelations");\r
+        }\r
+    }\r
+    private void updateIoTDeviceAddress(){\r
+        SSH_MySQL ssh = new SSH_MySQL();\r
+        String command = this.getString(R.string.updateIoTDeviceAddress);\r
+        List<String> results = new ArrayList<>();\r
+        String iotDeviceAddressFilename = this.getString(R.string.updateIoTDeviceAddress);\r
+        try {\r
+            ssh.execute(command);\r
+            Thread.sleep(1000);//To execute asyntask in ssh object, we have to sleep main thread\r
+            results = ssh.getResultLines();\r
+            while(results.size() == 0){\r
+                Thread.sleep(500);\r
+                results = ssh.getResultLines();\r
+            }\r
+            System.out.println(results);\r
+        } catch (Exception e) {\r
+            Log.d("Sleep exception", "exception at getSetsAndRelations");\r
+        }\r
+\r
+    }\r
+\r
+    protected void addSSHResultsToConfig(List<String> results, String filename) {\r
+        ConfigFileIO.writeToNewFile(filename,"", this );\r
+        File dir = getFilesDir();\r
+        File file = new File(dir, filename);\r
+        file.delete();\r
+        for (int i = 0; i < results.size(); i++) {\r
+            ConfigFileIO.writeToFile(filename, results.get(i), this);\r
+        }\r
+    }\r
+\r
+\r
+    public DatabaseSubtypeObject getCurrentSubtypeObject(){\r
+        return databaseObject.getTypeObject(spinner1.\r
+                getSelectedItem().toString()).getSubtypeObject(spinner2.getSelectedItem().toString());\r
+    }\r
+\r
+\r
+    public class Progress extends AsyncTask<Void, Integer, Void> {\r
+        boolean finished;\r
+\r
+\r
+        @Override\r
+        protected void onPreExecute() {\r
+            super.onPreExecute();\r
+\r
+            Log.d("progress", "after dialog.show");\r
+        }\r
+\r
+        @Override\r
+        protected Void doInBackground(Void... voids) {\r
+            for(int i = 0; i < 10; i++){\r
+                try {\r
+                    Thread.sleep(100);\r
+                    publishProgress(i);\r
+                } catch (InterruptedException e) {\r
+                    e.printStackTrace();\r
+                }\r
+\r
+            }\r
+            return null;\r
+        }\r
+\r
+        @Override\r
+        protected void onPostExecute(Void aVoid) {\r
+            super.onPostExecute(aVoid);\r
+\r
+        }\r
+\r
+        @Override\r
+        protected void onProgressUpdate(Integer... values) {\r
+            super.onProgressUpdate(values);\r
+            progressBar.setProgress(values[0]);\r
+        }\r
+\r
+\r
+\r
+\r
+        public void finished(){\r
+\r
+        }\r
+    }\r
+\r
+}\r
diff --git a/others/lede-gui/src/main/java/com/example/lede2/AllInstallOptions.java b/others/lede-gui/src/main/java/com/example/lede2/AllInstallOptions.java
new file mode 100644 (file)
index 0000000..2248620
--- /dev/null
@@ -0,0 +1,59 @@
+package com.example.lede2;\r
+\r
+import android.content.Context;\r
+import android.content.Intent;\r
+import android.os.Bundle;\r
+import android.support.v7.app.AppCompatActivity;\r
+import android.util.Log;\r
+import android.view.View;\r
+import android.view.inputmethod.InputMethodManager;\r
+import android.widget.Button;\r
+\r
+/**\r
+ * Created by Brian on 2/16/2018.\r
+ */\r
+\r
+public class AllInstallOptions extends AppCompatActivity implements View.OnClickListener,\r
+        View.OnFocusChangeListener {\r
+    Button installOneDeviceButton;\r
+    Button installCommPatternButton;\r
+    Button installTwoDevicesAndCommPattern;\r
+    Button installAddress;\r
+    Button installDeviceAddress;\r
+    Button installZigbeeDeviceAddress;\r
+    Button installHost;\r
+\r
+\r
+    protected void onCreate(Bundle savedInstanceState) {\r
+        super.onCreate(savedInstanceState);\r
+        setContentView(R.layout.install_options);\r
+\r
+        installOneDeviceButton = (Button) findViewById(R.id.doneDrivers);\r
+        installZigbeeDeviceAddress = (Button) findViewById(R.id.install_zigbee_device_address);\r
+        installOneDeviceButton.setOnClickListener(this);\r
+        installZigbeeDeviceAddress.setOnClickListener(this);\r
+\r
+    }\r
+\r
+    @Override\r
+    public void onClick(View view) {\r
+        if (view == installOneDeviceButton) {\r
+            Log.d("CLICKING", "Clicking on add device!");\r
+            startActivity(new Intent(this, AddDeviceActivity.class));\r
+        }\r
+        if (view == installZigbeeDeviceAddress) {\r
+            Log.d("CLICKING", "Clicking on install zigbee!");\r
+            startActivity(new Intent(this, InstallZigbeeDeviceAddress.class));\r
+        }\r
+\r
+    }\r
+\r
+    public void onFocusChange(View view, boolean hasFocus) {\r
+        InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);\r
+        if (hasFocus) {\r
+            imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);\r
+        } else {\r
+            imm.hideSoftInputFromWindow(view.getWindowToken(), 0);\r
+        }\r
+    }\r
+}
\ No newline at end of file
diff --git a/others/lede-gui/src/main/java/com/example/lede2/ApplicationWithRelations.java b/others/lede-gui/src/main/java/com/example/lede2/ApplicationWithRelations.java
new file mode 100644 (file)
index 0000000..30c533c
--- /dev/null
@@ -0,0 +1,443 @@
+package com.example.lede2;\r
+\r
+import android.app.ProgressDialog;\r
+import android.content.Context;\r
+import android.support.design.widget.Snackbar;\r
+import android.support.v7.app.AppCompatActivity;\r
+import android.util.Log;\r
+import android.util.Pair;\r
+import android.util.SparseBooleanArray;\r
+import android.view.View;\r
+import android.widget.ArrayAdapter;\r
+import android.widget.Button;\r
+import android.widget.ListView;\r
+import android.widget.Spinner;\r
+import android.widget.Toast;\r
+\r
+import com.jcraft.jsch.HASH;\r
+\r
+import java.io.File;\r
+import java.util.ArrayList;\r
+import java.util.HashMap;\r
+import java.util.HashSet;\r
+import java.util.List;\r
+import java.util.Properties;\r
+import java.util.Scanner;\r
+import java.util.Set;\r
+\r
+\r
+/**\r
+ * Created by Brian on 4/27/2018.\r
+ */\r
+\r
+public class ApplicationWithRelations extends AppCompatActivity  implements View.OnClickListener {\r
+    protected HashMap<String, ArrayList<String>> addedSetList; //list of sets that is currently being added and their values\r
+    protected int numFields;\r
+    protected Properties prop;\r
+    protected HashMap<String, HashSet<Pair<String, String>>> addedRelations;\r
+    protected HashMap<String, HashSet<String>> addedIndependentSets;\r
+    protected Context context;\r
+    protected HashMap<String, Pair<String, String>> relations;\r
+    protected HashMap<String, String> setHashMap;\r
+    protected Spinner relationNameSpinner;\r
+    protected Spinner relationLeftSpinner;\r
+    protected Spinner relationRightSpinner;\r
+    protected Spinner setOrRelationSpinner;\r
+    protected Button addRelationButton;\r
+    protected Button doneRelationButton;\r
+    protected Button deleteRelationButton;\r
+    protected HashMap<String, String> independentSetList;\r
+    protected ArrayList<String> independentSetNames;\r
+    protected boolean hasIndependentSets;\r
+    protected boolean hasRelations;\r
+    ArrayList addedRelationsArrayList;\r
+    ProgressDialog dialog;\r
+    protected Scanner scanner;\r
+    ArrayAdapter adapter;\r
+    ListView addRelationsListView;\r
+    protected HashSet<String> applicationSetList; //list of all sets that should be used\r
+\r
+\r
+\r
+\r
+    protected void deleteFromSet(String device){\r
+        Set<String> keyset = addedSetList.keySet();\r
+        for(String s: keyset){\r
+            ArrayList<String> tempSet =  addedSetList.get(s);\r
+            tempSet.remove(device);\r
+        }\r
+    }\r
+\r
+    protected void addSSHResultsToConfig(List<String> results, String filename) {\r
+        ConfigFileIO.writeToNewFile(filename,"", this );\r
+        File dir = getFilesDir();\r
+        File file = new File(dir, filename);\r
+        file.delete();\r
+        for (int i = 0; i < results.size(); i++) {\r
+            ConfigFileIO.writeToFile(filename, results.get(i), this);\r
+        }\r
+    }\r
+\r
+    protected void callSSHCommandAddComm(){\r
+        //default already in bin/installer  (RELATION)\r
+        String installCommPatternCommand = "";\r
+        for(int i = 0; i < numFields; i++){\r
+            if(prop.getProperty("FIELD_TYPE_" + i).equals("IoTRelation")){\r
+                String writeToRelConfigFileCommand = "";\r
+                writeToRelConfigFileCommand += this.getString(R.string.changeToSQLConfigFileLocation);\r
+\r
+                String filename = prop.getProperty("FIELD_CONFIG_FILENAME_"+i);\r
+                HashSet<Pair<String,String>> tempSet =  addedRelations.get(prop.getProperty("FIELD_" + i));\r
+\r
+                //insert roomCameraReal.config writing\r
+                writeToRelConfigFileCommand += "echo \"" + "SELECT RELATION FROM\n"+\r
+                        "FIRST\n" +\r
+                        prop.getProperty("FIELD_CLASS_0_" + i) + "\n" +\r
+                        "OTHER\n" +\r
+                        prop.getProperty("FIELD_CLASS_1_" + i) + "\n" +\r
+                        "WHERE\n"; //need to add where clauses for each case\r
+                int counter = 0;\r
+                //iterates through all of the added relations under the current relationName\r
+                //ex all relations under roomCameraRel\r
+                for(Pair<String, String> pair: tempSet){\r
+                    int size = tempSet.size();\r
+                    Scanner scanner = new Scanner(pair.first);\r
+                    String typeFirst = scanner.next();\r
+                    String idFirst = scanner.next();\r
+                    typeFirst += idFirst;\r
+                    scanner = new Scanner(pair.second);\r
+                    String typeSecond = scanner.next();\r
+                    String idSecond = scanner.next();\r
+                    typeSecond += idSecond;\r
+\r
+                    writeToRelConfigFileCommand += "(TYPE_SOURCE='" + typeFirst + "' AND TYPE_DESTINATION='" + typeSecond + "')";\r
+\r
+\r
+                    installCommPatternCommand += this.getString(R.string.changeToCommConfigFileLocation) + "echo \"" + idFirst + " " + typeFirst + "\n" +\r
+                            idSecond + " " + typeSecond + "\n" +\r
+                            "WRITE\" > " + filename + ";" +\r
+                            "java -cp .:..:/usr/share/java/* iotinstaller.IoTInstaller -install_comm " + filename + ";" +\r
+                            "rm " + filename + ";";\r
+\r
+                    //if this is the last item, finish it by writing it into file\r
+                    if(counter == size-1){\r
+                        writeToRelConfigFileCommand += "\n;\" > " + prop.getProperty("FIELD_" + i) + ".config; \n";\r
+                        installCommPatternCommand = writeToRelConfigFileCommand + installCommPatternCommand;\r
+                        System.out.println("COMM"  + installCommPatternCommand);\r
+                    }\r
+\r
+                    //if it is not the last item, concatenate or and continue\r
+                    else{\r
+                        writeToRelConfigFileCommand += "\nOR\n";\r
+                        System.out.println(installCommPatternCommand);\r
+                    }\r
+\r
+                    SSH_MySQL ssh_mySQL = new SSH_MySQL();\r
+                    List<String> results = new ArrayList<>();\r
+                    try {\r
+                        ssh_mySQL.execute(installCommPatternCommand);\r
+                        Thread.sleep(1000);//To execute asyntask in ssh object, we have to sleep main thread\r
+                        results = ssh_mySQL.getResultLines();\r
+                        while(results.size() == 0){\r
+                            Thread.sleep(500);\r
+                            results = ssh_mySQL.getResultLines();\r
+                            System.out.println(results);\r
+                        }\r
+                        System.out.println(results);\r
+                    } catch (Exception e) {\r
+                        Log.d("Sleep exception", "exception at getSetsAndRelations");\r
+                    }\r
+                    installCommPatternCommand = "";\r
+                    counter++;\r
+                }\r
+\r
+            }\r
+        }\r
+    }\r
+\r
+\r
+    protected HashMap<String, ArrayList<String>> createSetList(String filename){\r
+        HashMap<String, ArrayList<String>> setListHashMap = new HashMap<>();\r
+        String setData = ConfigFileIO.readFromFile(filename, context);\r
+        Scanner scanner = new Scanner(setData);\r
+        while (scanner.hasNextLine()){\r
+            String temp = scanner.nextLine();\r
+            if(temp.equals("START")){\r
+                String setName = scanner.nextLine();\r
+                temp = scanner.nextLine();\r
+                ArrayList<String> availableDevices = new ArrayList<>();\r
+                while (!temp.equals("END")){\r
+                    availableDevices.add(temp);\r
+                    temp = scanner.nextLine();\r
+                }\r
+                setListHashMap.put(setName, availableDevices);\r
+            }\r
+        }\r
+        return setListHashMap;\r
+    }\r
+\r
+\r
+    //relationofTwoItems comes in form of ex: RoomSmart,LightBulbSmart. Splits them by commma and adds them to hashmap\r
+    protected void addPair(String name, String relationOfTwoItems){\r
+        String firstItem = relationOfTwoItems.substring(0, relationOfTwoItems.indexOf(","));\r
+        String secondItem = relationOfTwoItems.substring(relationOfTwoItems.indexOf(",")+1, relationOfTwoItems.length());\r
+        Pair<String, String> pair = new Pair<>(firstItem, secondItem);\r
+        relations.put(name,pair);\r
+    }\r
+\r
+    protected ArrayList<String> removeDuplicates(ArrayList<String> list){\r
+        HashSet<String> set = new HashSet<>();\r
+        set.addAll(list);\r
+        ArrayList<String> noDups = new ArrayList<>();\r
+        noDups.addAll(set);\r
+        return noDups;\r
+    }\r
+    protected String generateSQLQuery(String setName, ArrayList<String> listOfDevices){\r
+        String query = "";\r
+        query = "SELECT * FROM\n" +\r
+                setName + "\n" +\r
+                "WHERE\n";\r
+        for(int i = 0; i < listOfDevices.size(); i++){\r
+            Scanner scanner = new Scanner(listOfDevices.get(i));\r
+            String type = scanner.next();\r
+            String id = scanner.next();\r
+            query += "(TYPE='" + type + "' AND ID='" + id + "')";\r
+            if(i == listOfDevices.size() -1){\r
+                query +="\n;";\r
+            }\r
+            else{\r
+                query += "\nOR\n";\r
+            }\r
+        }\r
+        return query;\r
+    }\r
+\r
+    protected String generateSSHCommandRelation(){\r
+        String command = "";\r
+        //move to directory where the sql file should be located  (SET)\r
+        command += this.getString(R.string.changeToSQLConfigFileLocation);\r
+        //go through all sets, and find their set type.\r
+        Set<String> keySet = setHashMap.keySet();\r
+        for(String s: keySet){\r
+            String setType = setHashMap.get(s);\r
+            ArrayList<String> list = addedSetList.get(setType);\r
+            list = removeDuplicates(list);\r
+            command += "echo \"" + generateSQLQuery(setType, list) + "\" > " + s + ".config" + ";";\r
+        }\r
+\r
+        keySet = addedIndependentSets.keySet();\r
+        for(String s:keySet){\r
+            String setType = independentSetList.get(s);\r
+            ArrayList<String> list = new ArrayList<>();\r
+            HashSet<String> set = addedIndependentSets.get(s);\r
+            list.addAll(set);\r
+            command += "echo \"" + generateSQLQuery(setType, list) + "\" > " + s + ".config" + ";";\r
+        }\r
+\r
+        return command;\r
+    }\r
+\r
+    @Override\r
+    public void onClick(View view) {\r
+        if(view == addRelationButton){\r
+            if(setOrRelationSpinner.getSelectedItem().toString().equals("RELATIONS")) {\r
+                //adding the user selected relation into a relationset\r
+                String leftValue = relationLeftSpinner.getSelectedItem().toString();\r
+                String rightValue = relationRightSpinner.getSelectedItem().toString();\r
+                Pair<String, String> pair = new Pair<>(leftValue, rightValue);\r
+                if ((addedRelations.get(relationNameSpinner.getSelectedItem().toString())) == null) {\r
+                    HashSet<Pair<String, String>> tempSet = new HashSet<>();\r
+                    tempSet.add(pair);\r
+                    addedRelations.put(relationNameSpinner.getSelectedItem().toString(), tempSet);\r
+                    adapter.notifyDataSetChanged();\r
+                } else {\r
+                    (addedRelations.get(relationNameSpinner.getSelectedItem().toString())).add(pair);\r
+                    adapter.notifyDataSetChanged();\r
+                }\r
+\r
+                //adding selected Objects into their respective sets\r
+                String relationName = relationNameSpinner.getSelectedItem().toString();\r
+                //get the left hand side of the generic selected relation\r
+                // ex: IoTRelation<RoomSmart, CameraSmart> roomCameraRel, get "RoomSmart"\r
+                Pair<String, String> tempPair = relations.get(relationName);\r
+                ArrayList<String> tempArrayList = addedSetList.get(tempPair.first);\r
+                //add the selected Left Value to RoomSmart set\r
+                if (tempArrayList == null) {\r
+                    tempArrayList = new ArrayList<>();\r
+                    tempArrayList.add(leftValue);\r
+                    addedSetList.put(tempPair.first, tempArrayList);\r
+                } else {\r
+                    tempArrayList.add(leftValue);\r
+                    addedSetList.put(tempPair.first, tempArrayList);\r
+                }\r
+\r
+                //repeat for the right side\r
+                tempArrayList = addedSetList.get(tempPair.second);\r
+                //ex: add to the selected Right Value CameraSmart set\r
+                if (tempArrayList == null) {\r
+                    tempArrayList = new ArrayList<>();\r
+                    tempArrayList.add(rightValue);\r
+                    addedSetList.put(tempPair.second, tempArrayList);\r
+                } else {\r
+                    tempArrayList.add(rightValue);\r
+                    addedSetList.put(tempPair.second, tempArrayList);\r
+                }\r
+                addedRelationsArrayList = new ArrayList<>();\r
+                Set<String> relationTypes = addedRelations.keySet();\r
+                for (String s : relationTypes) {\r
+                    for (Pair<String, String> temp : addedRelations.get(s)) {\r
+                        addedRelationsArrayList.add(temp.first + " " + temp.second);\r
+                    }\r
+                }\r
+                if(hasIndependentSets){\r
+                    Set<String> keys= addedIndependentSets.keySet();\r
+                    for (String s : keys) {\r
+                        for (String temp : addedIndependentSets.get(s)) {\r
+                            addedRelationsArrayList.add(temp);\r
+                        }\r
+                    }\r
+                    adapter = new ArrayAdapter(context, android.R.layout.simple_list_item_multiple_choice, addedRelationsArrayList);\r
+                    addRelationsListView.setAdapter(adapter);\r
+                }\r
+                else {\r
+                    adapter = new ArrayAdapter(context, android.R.layout.simple_list_item_multiple_choice, addedRelationsArrayList);\r
+                    addRelationsListView.setAdapter(adapter);\r
+                }\r
+\r
+            }\r
+            else {\r
+                //user is adding to independent sets (sets that are not part of a relation)\r
+                String leftValue = relationLeftSpinner.getSelectedItem().toString();\r
+                if ((addedIndependentSets.get(relationNameSpinner.getSelectedItem().toString())) == null) {\r
+                    HashSet<String> tempSet = new HashSet<>();\r
+                    tempSet.add(leftValue);\r
+                    addedIndependentSets.put(relationNameSpinner.getSelectedItem().toString(), tempSet);\r
+                    adapter.notifyDataSetChanged();\r
+                } else {\r
+                    (addedIndependentSets.get(relationNameSpinner.getSelectedItem().toString())).add(leftValue);\r
+                    adapter.notifyDataSetChanged();\r
+                }\r
+                addedRelationsArrayList = new ArrayList<>();\r
+                Set<String> relationTypes = addedRelations.keySet();\r
+                for (String s : relationTypes) {\r
+                    for (Pair<String, String> temp : addedRelations.get(s)) {\r
+                        addedRelationsArrayList.add(temp.first + " " + temp.second);\r
+                    }\r
+                }\r
+                Set<String> keys= addedIndependentSets.keySet();\r
+                for (String s : keys) {\r
+                    for (String temp : addedIndependentSets.get(s)) {\r
+                        addedRelationsArrayList.add(temp);\r
+                    }\r
+                }\r
+                adapter = new ArrayAdapter(context, android.R.layout.simple_list_item_multiple_choice, addedRelationsArrayList);\r
+                addRelationsListView.setAdapter(adapter);\r
+\r
+            }\r
+        }\r
+\r
+        if(view == doneRelationButton){\r
+\r
+            boolean allSetsHaveEntry = true;\r
+            for(String s: applicationSetList){\r
+                ArrayList<String> list = addedSetList.get(s);\r
+                if(list== null || list.size() == 0){\r
+                    allSetsHaveEntry = false;\r
+                    System.out.println("NOT ALL RELATIONS HAVE ENTRIES");\r
+                    Toast t = Toast.makeText(ApplicationWithRelations.this, "Insufficient Entries",Toast.LENGTH_SHORT);\r
+                    t.show();\r
+                    continue;\r
+                }\r
+            }\r
+            if(hasIndependentSets) {\r
+                for (int i = 0; i < independentSetNames.size(); i++) {\r
+                    if (addedIndependentSets.get(independentSetNames.get(i)) == null ||\r
+                            (addedIndependentSets.get(independentSetNames.get(i))).size() == 0) {\r
+                        allSetsHaveEntry = false;\r
+                        System.out.println("NOT ALL SETS HAVE ENTRIES");\r
+                        continue;\r
+                    }\r
+                }\r
+            }\r
+            System.out.println("all sets have entry" + allSetsHaveEntry);\r
+            if(allSetsHaveEntry){\r
+\r
+                //the ssh execution is within the following command. Add comm patterns to database\r
+                callSSHCommandAddComm();\r
+\r
+                //adding relations and their derived sets, add to localconfig/mysql files\r
+                String command = generateSSHCommandRelation();\r
+                //System.out.println(command)\r
+                SSH_MySQL addConfigFiles = new SSH_MySQL();\r
+                addConfigFiles.execute(command);\r
+                try {\r
+                    Thread.sleep(1500);\r
+                    List<String> result = addConfigFiles.getResultLines();\r
+                    for (int i = 0; i < result.size(); i++) {\r
+                        System.out.println("result" + result.get(i));\r
+                    }\r
+                }\r
+                catch (Exception e){\r
+                    e.printStackTrace();\r
+                }\r
+\r
+\r
+\r
+\r
+                //add independent sets to their respective localconfig/mysql files\r
+                finish();\r
+            }\r
+\r
+        }\r
+        if (view == deleteRelationButton) {\r
+            //SparseBooleanArray's data is True or False\r
+            SparseBooleanArray checkedItems = addRelationsListView.getCheckedItemPositions();//to check which devices are checked in listview(check -> true, no check -> false)\r
+            int count = adapter.getCount();//number of items in listview\r
+            for (int i = count - 1; i >= 0; i--) {//scan from back\r
+                //i : index of IoT device which will be removed in tmp array\r
+                if (checkedItems.get(i)) {//if check\r
+                    System.out.println("delete relation: " + i);\r
+                    String selectedValue = (String)addRelationsListView.getItemAtPosition(i);\r
+                    scanner = new Scanner(selectedValue);\r
+                    String left = scanner.next() + " " + scanner.next();\r
+\r
+                    if(scanner.hasNext()) {\r
+                        String right = scanner.next() + " " + scanner.next();\r
+                        Pair<String, String> pair = new Pair<>(left, right);\r
+                        //remove from user-selected relations\r
+                        Set<String> relationTypes = addedRelations.keySet();\r
+                        for (String s : relationTypes) {\r
+                            if (addedRelations.get(s).contains(pair)) {\r
+                                addedRelations.get(s).remove(pair);\r
+                            }\r
+                        }\r
+                        //remove from displaying on the check list\r
+                        String temp = pair.first + " " + pair.second;\r
+                        addedRelationsArrayList.remove(temp);\r
+                        adapter.notifyDataSetChanged();\r
+                        //remove from addedsetlist\r
+                        deleteFromSet(left);\r
+                        deleteFromSet(right);\r
+                    }\r
+                    else{\r
+                        System.out.println("only has one word");\r
+                        Set<String> keySet = addedIndependentSets.keySet();\r
+                        for(String s: keySet){\r
+                            HashSet<String> tempSet =  addedIndependentSets.get(s);\r
+                            tempSet.remove(left);\r
+                        }\r
+                        addedRelationsArrayList.remove(left);\r
+                        adapter.notifyDataSetChanged();\r
+                    }\r
+                }\r
+            }\r
+\r
+            //update\r
+            adapter.notifyDataSetChanged();\r
+            //delete checked mark in listview\r
+            addRelationsListView.clearChoices();\r
+\r
+        }\r
+\r
+    }\r
+}\r
diff --git a/others/lede-gui/src/main/java/com/example/lede2/ApplicationsList.java b/others/lede-gui/src/main/java/com/example/lede2/ApplicationsList.java
new file mode 100644 (file)
index 0000000..26036b6
--- /dev/null
@@ -0,0 +1,80 @@
+package com.example.lede2;\r
+\r
+import android.app.ProgressDialog;\r
+import android.content.Intent;\r
+import android.os.Bundle;\r
+import android.support.v7.app.AppCompatActivity;\r
+import android.view.View;\r
+import android.widget.Button;\r
+\r
+/**\r
+ * Created by Brian on 4/16/2018.\r
+ */\r
+\r
+public class ApplicationsList extends AppCompatActivity implements View.OnClickListener {\r
+    private Button homeSecurityButton;\r
+    private Button irrigationButton;\r
+    private Button lifxTestButton;\r
+    private Button smartLightsButton;\r
+    private Button speakerButton;\r
+    private ProgressDialog dialog;\r
+\r
+    @Override\r
+    protected void onCreate(Bundle savedInstanceState) {\r
+        super.onCreate(savedInstanceState);\r
+        setContentView(R.layout.applications);\r
+        homeSecurityButton = (Button) findViewById(R.id.homeSecurityButton);\r
+        irrigationButton = (Button) findViewById(R.id.irrigationButton);\r
+        lifxTestButton = (Button) findViewById(R.id.lifxTestButton);\r
+        smartLightsButton = (Button) findViewById(R.id.smartLightsButton);\r
+        speakerButton = (Button) findViewById(R.id.speakerButton);\r
+\r
+        homeSecurityButton.setOnClickListener(this);\r
+        irrigationButton.setOnClickListener(this);\r
+        lifxTestButton.setOnClickListener(this);\r
+        smartLightsButton.setOnClickListener(this);\r
+        speakerButton.setOnClickListener(this);\r
+\r
+\r
+\r
+    }\r
+\r
+    @Override\r
+    public void onClick(View view) {\r
+        dialog = new ProgressDialog(this);\r
+        dialog.setMessage("Please Wait");\r
+        dialog.setCancelable(false);\r
+        dialog.setInverseBackgroundForced(false);\r
+        dialog.show();\r
+\r
+        if(view == homeSecurityButton){\r
+            startActivity(new Intent(this, HomeSecurity.class));\r
+        }\r
+        if(view == irrigationButton){\r
+            startActivity(new Intent(this, Irrigation.class));\r
+\r
+        }\r
+        if(view == lifxTestButton){\r
+            startActivity(new Intent(this, Lifxtest.class));\r
+\r
+        }\r
+        if(view == smartLightsButton){\r
+            startActivity(new Intent(this, SmartLights.class));\r
+\r
+        }\r
+        if(view == speakerButton){\r
+            startActivity(new Intent(this, Speaker.class));\r
+\r
+        }\r
+    }\r
+    @Override\r
+    protected void onResume() {\r
+        super.onResume();\r
+        if(dialog != null && dialog.isShowing()){\r
+            dialog.dismiss();\r
+        }\r
+    }\r
+}\r
+\r
+\r
+\r
diff --git a/others/lede-gui/src/main/java/com/example/lede2/ConfigFileIO.java b/others/lede-gui/src/main/java/com/example/lede2/ConfigFileIO.java
new file mode 100644 (file)
index 0000000..716eefe
--- /dev/null
@@ -0,0 +1,245 @@
+package com.example.lede2;\r
+\r
+import android.content.Context;\r
+import android.provider.ContactsContract;\r
+import android.util.Log;\r
+import android.util.Pair;\r
+\r
+import java.io.BufferedWriter;\r
+import java.io.File;\r
+import java.io.FileInputStream;\r
+import java.io.FileNotFoundException;\r
+import java.io.IOException;\r
+import java.io.OutputStreamWriter;\r
+import java.util.ArrayList;\r
+import java.util.List;\r
+import java.util.Properties;\r
+import java.util.Scanner;\r
+import java.util.Set;\r
+\r
+/**\r
+ * Created by Brian on 2/28/2018.\r
+ */\r
+\r
+public class ConfigFileIO {\r
+\r
+    //appends information to the bottom of file\r
+    public static void writeToFile(String filename, String data, Context context) {\r
+        try {\r
+            OutputStreamWriter outputStreamWriter = new OutputStreamWriter(context.\r
+                    openFileOutput(filename,\r
+                            Context.MODE_APPEND | Context.MODE_PRIVATE));\r
+            BufferedWriter writer = new BufferedWriter(outputStreamWriter);\r
+            writer.write(data);\r
+            writer.newLine();\r
+            writer.close();\r
+        } catch (IOException e) {\r
+            Log.e("Exception", "File write failed: " + e.toString());\r
+        }\r
+    }\r
+\r
+    //returns contents of file\r
+    public static String readFromFile(String filename, Context context) {\r
+\r
+        String strscan = "";\r
+\r
+        try {\r
+            File scanfile = context.getFileStreamPath(filename);\r
+            Scanner scanner = new Scanner(scanfile);\r
+            while (scanner.hasNextLine()) {\r
+                strscan += scanner.nextLine() + "\n";\r
+            }\r
+\r
+        } catch (FileNotFoundException e) {\r
+            Log.e("login activity", "File not found: " + e.toString());\r
+        }\r
+\r
+        return strscan;\r
+    }\r
+\r
+\r
+\r
+    //creates the local copy of the sql database object\r
+    public static DatabaseObject createDatabaseObject(Context context, String idInformation){\r
+        Properties prop = new Properties();\r
+        String filename = context.getString(R.string.device_param_config_filename);\r
+        File file = new File(context.getFilesDir() , filename);\r
+        FileInputStream fis = null;\r
+        try{\r
+            fis = new FileInputStream(file);\r
+            prop.load(fis);\r
+            fis.close();\r
+        }\r
+        catch (IOException ex){\r
+            System.out.println("Error when reading SpeakerController Config file ");\r
+            ex.printStackTrace();\r
+        }\r
+\r
+        int numTypes = Integer.parseInt(prop.getProperty("NUM_OF_TYPES"));\r
+        System.out.println("numtypes: " + numTypes);\r
+        DatabaseObject databaseObject = new DatabaseObject();\r
+        //add all types into databaseObject\r
+        for(int i = 0; i < numTypes; i++){\r
+            String type = prop.getProperty("TYPE_" + i);\r
+            String tag = prop.getProperty("TAG_" + i);\r
+            //generates a type object, fill it with subtype objects\r
+            DatabaseTypeObject databaseTypeObject = new DatabaseTypeObject(type, tag);\r
+            int numSubtypes = Integer.parseInt(prop.getProperty("SUBTYPE_" + i));\r
+\r
+            //for each subtype, create the appropriate fields\r
+            for(int j = 0; j < numSubtypes; j++){\r
+                String currentSubtype = "TYPE_" + i + "_" + j;\r
+                String subtypeName = prop.getProperty(currentSubtype);\r
+                int numAddresses = Integer.parseInt(prop.getProperty(currentSubtype + "_NUM_OF_ADDRESSES"));\r
+                int numZigbeeAddresses = Integer.parseInt(prop.getProperty(currentSubtype + "_NUM_OF_ZBADDRESSES"));\r
+\r
+                DatabaseSubtypeObject databaseSubtypeObject = new DatabaseSubtypeObject(subtypeName, tag, numAddresses, numZigbeeAddresses);\r
+\r
+                if(numAddresses > 0) {\r
+                    String temp = prop.getProperty("TYPE_" + i + "_" + j + "_ADDRESS_FIELDS");\r
+                    Scanner scanner = new Scanner(temp);\r
+                    ArrayList<String> addressFieldNames = new ArrayList<>();\r
+