Nexacro14 Android 프로젝트 SO설정 및 Gradle 정리
This commit is contained in:
parent
6dee3f6433
commit
07c17f0b3d
Binary file not shown.
Binary file not shown.
|
@ -1 +0,0 @@
|
||||||
DroidStudio
|
|
|
@ -1,22 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="CompilerConfiguration">
|
<component name="CompilerConfiguration">
|
||||||
<resourceExtensions />
|
<bytecodeTargetLevel target="1.8" />
|
||||||
<wildcardResourcePatterns>
|
|
||||||
<entry name="!?*.java" />
|
|
||||||
<entry name="!?*.form" />
|
|
||||||
<entry name="!?*.class" />
|
|
||||||
<entry name="!?*.groovy" />
|
|
||||||
<entry name="!?*.scala" />
|
|
||||||
<entry name="!?*.flex" />
|
|
||||||
<entry name="!?*.kt" />
|
|
||||||
<entry name="!?*.clj" />
|
|
||||||
<entry name="!?*.aj" />
|
|
||||||
</wildcardResourcePatterns>
|
|
||||||
<annotationProcessing>
|
|
||||||
<profile default="true" name="Default" enabled="false">
|
|
||||||
<processorPath useClasspath="true" />
|
|
||||||
</profile>
|
|
||||||
</annotationProcessing>
|
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
|
@ -1,18 +1,19 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project version="4">
|
<project version="4">
|
||||||
|
<component name="GradleMigrationSettings" migrationVersion="1" />
|
||||||
<component name="GradleSettings">
|
<component name="GradleSettings">
|
||||||
<option name="linkedExternalProjectsSettings">
|
<option name="linkedExternalProjectsSettings">
|
||||||
<GradleProjectSettings>
|
<GradleProjectSettings>
|
||||||
|
<option name="testRunner" value="GRADLE" />
|
||||||
<option name="distributionType" value="DEFAULT_WRAPPED" />
|
<option name="distributionType" value="DEFAULT_WRAPPED" />
|
||||||
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
||||||
|
<option name="gradleJvm" value="1.8" />
|
||||||
<option name="modules">
|
<option name="modules">
|
||||||
<set>
|
<set>
|
||||||
<option value="$PROJECT_DIR$" />
|
<option value="$PROJECT_DIR$" />
|
||||||
<option value="$PROJECT_DIR$/app" />
|
<option value="$PROJECT_DIR$/app" />
|
||||||
<option value="$PROJECT_DIR$/nexacro14" />
|
|
||||||
</set>
|
</set>
|
||||||
</option>
|
</option>
|
||||||
<option name="resolveModulePerSourceSet" value="false" />
|
|
||||||
</GradleProjectSettings>
|
</GradleProjectSettings>
|
||||||
</option>
|
</option>
|
||||||
</component>
|
</component>
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<option name="myDefaultNotNull" value="android.support.annotation.NonNull" />
|
<option name="myDefaultNotNull" value="android.support.annotation.NonNull" />
|
||||||
<option name="myNullables">
|
<option name="myNullables">
|
||||||
<value>
|
<value>
|
||||||
<list size="7">
|
<list size="13">
|
||||||
<item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.Nullable" />
|
<item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.Nullable" />
|
||||||
<item index="1" class="java.lang.String" itemvalue="javax.annotation.Nullable" />
|
<item index="1" class="java.lang.String" itemvalue="javax.annotation.Nullable" />
|
||||||
<item index="2" class="java.lang.String" itemvalue="javax.annotation.CheckForNull" />
|
<item index="2" class="java.lang.String" itemvalue="javax.annotation.CheckForNull" />
|
||||||
|
@ -13,23 +13,35 @@
|
||||||
<item index="4" class="java.lang.String" itemvalue="android.support.annotation.Nullable" />
|
<item index="4" class="java.lang.String" itemvalue="android.support.annotation.Nullable" />
|
||||||
<item index="5" class="java.lang.String" itemvalue="androidx.annotation.Nullable" />
|
<item index="5" class="java.lang.String" itemvalue="androidx.annotation.Nullable" />
|
||||||
<item index="6" class="java.lang.String" itemvalue="androidx.annotation.RecentlyNullable" />
|
<item index="6" class="java.lang.String" itemvalue="androidx.annotation.RecentlyNullable" />
|
||||||
|
<item index="7" class="java.lang.String" itemvalue="com.android.annotations.Nullable" />
|
||||||
|
<item index="8" class="java.lang.String" itemvalue="org.jspecify.nullness.Nullable" />
|
||||||
|
<item index="9" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NullableDecl" />
|
||||||
|
<item index="10" class="java.lang.String" itemvalue="org.eclipse.jdt.annotation.Nullable" />
|
||||||
|
<item index="11" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.qual.Nullable" />
|
||||||
|
<item index="12" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NullableType" />
|
||||||
</list>
|
</list>
|
||||||
</value>
|
</value>
|
||||||
</option>
|
</option>
|
||||||
<option name="myNotNulls">
|
<option name="myNotNulls">
|
||||||
<value>
|
<value>
|
||||||
<list size="6">
|
<list size="12">
|
||||||
<item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.NotNull" />
|
<item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.NotNull" />
|
||||||
<item index="1" class="java.lang.String" itemvalue="javax.annotation.Nonnull" />
|
<item index="1" class="java.lang.String" itemvalue="javax.annotation.Nonnull" />
|
||||||
<item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.NonNull" />
|
<item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.NonNull" />
|
||||||
<item index="3" class="java.lang.String" itemvalue="android.support.annotation.NonNull" />
|
<item index="3" class="java.lang.String" itemvalue="android.support.annotation.NonNull" />
|
||||||
<item index="4" class="java.lang.String" itemvalue="androidx.annotation.NonNull" />
|
<item index="4" class="java.lang.String" itemvalue="androidx.annotation.NonNull" />
|
||||||
<item index="5" class="java.lang.String" itemvalue="androidx.annotation.RecentlyNonNull" />
|
<item index="5" class="java.lang.String" itemvalue="androidx.annotation.RecentlyNonNull" />
|
||||||
|
<item index="6" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.qual.NonNull" />
|
||||||
|
<item index="7" class="java.lang.String" itemvalue="org.jspecify.nullness.NonNull" />
|
||||||
|
<item index="8" class="java.lang.String" itemvalue="com.android.annotations.NonNull" />
|
||||||
|
<item index="9" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NonNullType" />
|
||||||
|
<item index="10" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NonNullDecl" />
|
||||||
|
<item index="11" class="java.lang.String" itemvalue="org.eclipse.jdt.annotation.NonNull" />
|
||||||
</list>
|
</list>
|
||||||
</value>
|
</value>
|
||||||
</option>
|
</option>
|
||||||
</component>
|
</component>
|
||||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" project-jdk-name="1.8" project-jdk-type="JavaSDK">
|
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
|
||||||
<output url="file://$PROJECT_DIR$/build/classes" />
|
<output url="file://$PROJECT_DIR$/build/classes" />
|
||||||
</component>
|
</component>
|
||||||
<component name="ProjectType">
|
<component name="ProjectType">
|
||||||
|
|
|
@ -2,9 +2,11 @@
|
||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="ProjectModuleManager">
|
<component name="ProjectModuleManager">
|
||||||
<modules>
|
<modules>
|
||||||
<module fileurl="file://$PROJECT_DIR$/DroidStudio.iml" filepath="$PROJECT_DIR$/DroidStudio.iml" />
|
<module fileurl="file://$PROJECT_DIR$/.idea/modules/nexacro14_android.iml" filepath="$PROJECT_DIR$/.idea/modules/nexacro14_android.iml" />
|
||||||
<module fileurl="file://$PROJECT_DIR$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" />
|
<module fileurl="file://$PROJECT_DIR$/.idea/modules/app/nexacro14_android.app.iml" filepath="$PROJECT_DIR$/.idea/modules/app/nexacro14_android.app.iml" />
|
||||||
<module fileurl="file://$PROJECT_DIR$/nexacro14/nexacro14.iml" filepath="$PROJECT_DIR$/nexacro14/nexacro14.iml" />
|
<module fileurl="file://$PROJECT_DIR$/.idea/modules/app/nexacro14_android.app.androidTest.iml" filepath="$PROJECT_DIR$/.idea/modules/app/nexacro14_android.app.androidTest.iml" />
|
||||||
|
<module fileurl="file://$PROJECT_DIR$/.idea/modules/app/nexacro14_android.app.main.iml" filepath="$PROJECT_DIR$/.idea/modules/app/nexacro14_android.app.main.iml" />
|
||||||
|
<module fileurl="file://$PROJECT_DIR$/.idea/modules/app/nexacro14_android.app.unitTest.iml" filepath="$PROJECT_DIR$/.idea/modules/app/nexacro14_android.app.unitTest.iml" />
|
||||||
</modules>
|
</modules>
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
|
@ -1,12 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="RunConfigurationProducerService">
|
|
||||||
<option name="ignoredProducers">
|
|
||||||
<set>
|
|
||||||
<option value="org.jetbrains.plugins.gradle.execution.test.runner.AllInPackageGradleConfigurationProducer" />
|
|
||||||
<option value="org.jetbrains.plugins.gradle.execution.test.runner.TestClassGradleConfigurationProducer" />
|
|
||||||
<option value="org.jetbrains.plugins.gradle.execution.test.runner.TestMethodGradleConfigurationProducer" />
|
|
||||||
</set>
|
|
||||||
</option>
|
|
||||||
</component>
|
|
||||||
</project>
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="VcsDirectoryMappings">
|
<component name="VcsDirectoryMappings">
|
||||||
<mapping directory="" vcs="" />
|
<mapping directory="$PROJECT_DIR$/../../.." vcs="Git" />
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
|
@ -1,11 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<module external.linked.project.id="DroidStudio" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" type="JAVA_MODULE" version="4">
|
|
||||||
<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="jdk" jdkName="1.8" jdkType="JavaSDK" />
|
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
|
||||||
</component>
|
|
||||||
</module>
|
|
|
@ -1,161 +0,0 @@
|
||||||
<?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" />
|
|
||||||
</configuration>
|
|
||||||
</facet>
|
|
||||||
<facet type="android" name="Android">
|
|
||||||
<configuration>
|
|
||||||
<option name="SELECTED_BUILD_VARIANT" value="debug" />
|
|
||||||
<option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
|
|
||||||
<option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
|
|
||||||
<afterSyncTasks>
|
|
||||||
<task>generateDebugSources</task>
|
|
||||||
</afterSyncTasks>
|
|
||||||
<option name="ALLOW_USER_CONFIGURATION" value="false" />
|
|
||||||
<option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
|
|
||||||
<option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
|
|
||||||
<option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res" />
|
|
||||||
<option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
|
|
||||||
</configuration>
|
|
||||||
</facet>
|
|
||||||
</component>
|
|
||||||
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7">
|
|
||||||
<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/not_namespaced_r_class_sources/debug/processDebugResources/r" isTestSource="false" generated="true" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/debug" isTestSource="false" generated="true" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/debug" isTestSource="false" generated="true" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/google-services/debug" type="java-resource" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/debug" type="java-resource" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/debug" type="java-resource" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/androidTest/debug" isTestSource="true" generated="true" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/not_namespaced_r_class_sources/debugAndroidTest/processDebugAndroidTestResources/r" isTestSource="true" generated="true" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/androidTest/debug" isTestSource="true" generated="true" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/androidTest/debug" isTestSource="true" generated="true" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/androidTest/debug" type="java-test-resource" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/androidTest/debug" type="java-test-resource" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/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/test/res" type="java-test-resource" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/annotation_processor_list" />
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/apk_list" />
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/build-info" />
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/check-libraries" />
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/check-manifest" />
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/checkDebugClasspath" />
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/compatible_screen_manifest" />
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-classes" />
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-runtime-classes" />
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-verifier" />
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-apk" />
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-resources" />
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant_run_merged_manifests" />
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant_run_split_apk_resources" />
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/javac" />
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" />
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/lint_jar" />
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifest-checker" />
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/merged_assets" />
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/merged_manifests" />
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/prebuild" />
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/processed_res" />
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/reload-dex" />
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/resources" />
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/shader_assets" />
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/shaders" />
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/split-apk" />
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/split_list" />
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/transforms" />
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/build/outputs" />
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/build/tmp" />
|
|
||||||
</content>
|
|
||||||
<orderEntry type="jdk" jdkName="Android API 26 Platform" jdkType="Android SDK" />
|
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
|
||||||
<orderEntry type="library" name="Gradle: com.google.firebase:firebase-messaging-17.3.4" level="project" />
|
|
||||||
<orderEntry type="library" name="Gradle: com.google.firebase:firebase-measurement-connector-17.0.1" level="project" />
|
|
||||||
<orderEntry type="library" name="Gradle: com.google.android.gms:play-services-maps-16.0.0" level="project" />
|
|
||||||
<orderEntry type="library" name="Gradle: com.android.support:animated-vector-drawable-26.1.0" level="project" />
|
|
||||||
<orderEntry type="library" name="Gradle: com.google.android.gms:play-services-tasks-16.0.1" level="project" />
|
|
||||||
<orderEntry type="library" name="Gradle: com.google.firebase:firebase-core-16.0.6" level="project" />
|
|
||||||
<orderEntry type="library" name="Gradle: com.google.android.gms:play-services-measurement-base-16.0.5" level="project" />
|
|
||||||
<orderEntry type="library" name="Gradle: com.google.android.gms:play-services-ads-identifier-16.0.0" level="project" />
|
|
||||||
<orderEntry type="library" name="Gradle: com.google.firebase:firebase-common-16.0.3" level="project" />
|
|
||||||
<orderEntry type="library" name="Gradle: com.google.firebase:firebase-analytics-16.0.6" level="project" />
|
|
||||||
<orderEntry type="library" name="Gradle: com.google.android.gms:play-services-measurement-api-16.0.4" level="project" />
|
|
||||||
<orderEntry type="library" name="Gradle: com.android.support:appcompat-v7-26.1.0" level="project" />
|
|
||||||
<orderEntry type="library" name="Gradle: com.android.support:support-fragment-26.1.0" level="project" />
|
|
||||||
<orderEntry type="library" name="Gradle: android.arch.core:common:1.0.0@jar" level="project" />
|
|
||||||
<orderEntry type="library" name="Gradle: com.google.android.gms:play-services-stats-16.0.1" level="project" />
|
|
||||||
<orderEntry type="library" name="Gradle: com.google.firebase:firebase-measurement-connector-impl-17.0.4" level="project" />
|
|
||||||
<orderEntry type="library" name="Gradle: com.google.android.gms:play-services-basement-16.0.1" level="project" />
|
|
||||||
<orderEntry type="library" name="Gradle: com.android.support:support-media-compat-26.1.0" level="project" />
|
|
||||||
<orderEntry type="library" name="Gradle: com.android.support:support-annotations:26.1.0@jar" level="project" />
|
|
||||||
<orderEntry type="library" name="Gradle: com.android.support:support-v4-26.1.0" level="project" />
|
|
||||||
<orderEntry type="library" name="Gradle: com.android.support:support-compat-26.1.0" level="project" />
|
|
||||||
<orderEntry type="library" name="Gradle: com.google.android.gms:play-services-base-16.0.1" level="project" />
|
|
||||||
<orderEntry type="library" name="Gradle: com.google.android.gms:play-services-places-placereport-16.0.0" level="project" />
|
|
||||||
<orderEntry type="library" name="Gradle: android.arch.lifecycle:common:1.0.0@jar" level="project" />
|
|
||||||
<orderEntry type="library" name="Gradle: com.android.support:support-vector-drawable-26.1.0" level="project" />
|
|
||||||
<orderEntry type="library" name="Gradle: com.android.support:support-core-ui-26.1.0" level="project" />
|
|
||||||
<orderEntry type="library" name="Gradle: com.android.support:support-core-utils-26.1.0" level="project" />
|
|
||||||
<orderEntry type="library" name="Gradle: com.google.firebase:firebase-iid-interop-16.0.1" level="project" />
|
|
||||||
<orderEntry type="library" name="Gradle: com.google.android.gms:play-services-location-16.0.0" level="project" />
|
|
||||||
<orderEntry type="library" name="Gradle: com.google.firebase:firebase-analytics-impl-16.2.4" level="project" />
|
|
||||||
<orderEntry type="library" name="Gradle: com.google.firebase:firebase-iid-17.0.4" level="project" />
|
|
||||||
<orderEntry type="library" name="Gradle: android.arch.lifecycle:runtime-1.0.0" level="project" />
|
|
||||||
<orderEntry type="module" module-name="nexacro14" />
|
|
||||||
</component>
|
|
||||||
</module>
|
|
|
@ -27,7 +27,6 @@ dependencies {
|
||||||
implementation 'com.google.android.gms:play-services-location:16.0.0'
|
implementation 'com.google.android.gms:play-services-location:16.0.0'
|
||||||
implementation 'com.google.firebase:firebase-core:16.0.6'
|
implementation 'com.google.firebase:firebase-core:16.0.6'
|
||||||
implementation 'com.google.firebase:firebase-messaging:17.3.4'
|
implementation 'com.google.firebase:firebase-messaging:17.3.4'
|
||||||
implementation project(':nexacro14')
|
|
||||||
}
|
}
|
||||||
|
|
||||||
apply plugin: 'com.google.gms.google-services'
|
apply plugin: 'com.google.gms.google-services'
|
Binary file not shown.
|
@ -1,341 +0,0 @@
|
||||||
package nexacro.launcher;
|
|
||||||
|
|
||||||
import android.Manifest;
|
|
||||||
import android.app.Activity;
|
|
||||||
import android.app.ActivityManager;
|
|
||||||
import android.app.ActivityManager.RunningTaskInfo;
|
|
||||||
import android.app.AlertDialog;
|
|
||||||
import android.content.Context;
|
|
||||||
import android.content.DialogInterface;
|
|
||||||
import android.content.Intent;
|
|
||||||
import android.os.Build;
|
|
||||||
import android.os.Bundle;
|
|
||||||
import android.os.Environment;
|
|
||||||
import android.support.annotation.NonNull;
|
|
||||||
import android.support.v4.app.ActivityCompat;
|
|
||||||
import android.support.v4.content.PermissionChecker;
|
|
||||||
import android.util.Log;
|
|
||||||
import android.view.Window;
|
|
||||||
import android.widget.Toast;
|
|
||||||
|
|
||||||
import com.nexacro.NexacroUpdatorActivity;
|
|
||||||
|
|
||||||
import org.xmlpull.v1.XmlPullParser;
|
|
||||||
import org.xmlpull.v1.XmlPullParserException;
|
|
||||||
import org.xmlpull.v1.XmlPullParserFactory;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.FileInputStream;
|
|
||||||
import java.io.FileNotFoundException;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.io.InputStreamReader;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.LinkedHashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map.Entry;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 앱을 실행할때 시작 프로젝트를 동적으로 선택할수 있는 디버깅용 액티비티 입니다.
|
|
||||||
* 사용 방법은 폰의 기본저장소 루트 경로에 n14_devFeature.xml 파일의 존재유무 입니다.
|
|
||||||
* 파일이 없다면 이 액티비티를 무시한채 기존 NexacroUpdatorActivity.java에 설정된 시작 url로 프로젝트가 시작하게 됩니다.
|
|
||||||
*
|
|
||||||
* 이미 시작 프로젝트가 적용된후 다른 프로젝트로 전환하고 싶은 경우에는 "기존 꺼 삭제" 를 클릭하시면 됩니다.
|
|
||||||
*
|
|
||||||
* n14_devFeature.xml 파일 예)
|
|
||||||
* <?xml version="1.0" encoding="utf-8"?>
|
|
||||||
* <UpdateUrl>
|
|
||||||
* <Project name="eBizM" bootstrap="http://172.10.12.59/nexacro14/eBizM/eBizM.json"/>
|
|
||||||
* <Project name="HBDeviceTest" bootstrap="http://172.10.12.66:8080/V13/projects/HBDeviceTest_NX15/start_android.json"/>
|
|
||||||
* <Project name="perfrmce_nexacro_jct.tobesoft.co.jp" bootstrap="http://jct.tobesoft.co.jp/kwon/perfrmce_nexacro/start_android.json"/>
|
|
||||||
* </UpdateUrl>
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
public class ProjectSelectActivity extends Activity{
|
|
||||||
private static final String LOG_TAG = "ProjectSelectActivity";
|
|
||||||
|
|
||||||
LinkedHashMap<String, String> updateUrlList = new LinkedHashMap<String, String>();
|
|
||||||
|
|
||||||
private AlertDialog dialog;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
|
||||||
super.onCreate(savedInstanceState);
|
|
||||||
|
|
||||||
boolean darkTheme = false;
|
|
||||||
|
|
||||||
/* dark */
|
|
||||||
if (darkTheme) {
|
|
||||||
if (Build.VERSION.SDK_INT >= 21 /*Build.VERSION_CODES.LOLLIPOP */) {
|
|
||||||
setTheme(android.R.style.Theme_Material);
|
|
||||||
}
|
|
||||||
else if (Build.VERSION.SDK_INT >= 11 /*Build.VERSION_CODES.HONEYCOMB*/) {
|
|
||||||
setTheme(android.R.style.Theme_Holo);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
setTheme(android.R.style.Theme_Black);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/* light */
|
|
||||||
else {
|
|
||||||
if (Build.VERSION.SDK_INT >= 21 /*Build.VERSION_CODES.LOLLIPOP */) {
|
|
||||||
setTheme(android.R.style.Theme_Material_Light);
|
|
||||||
}
|
|
||||||
else if (Build.VERSION.SDK_INT >= 11 /*Build.VERSION_CODES.HONEYCOMB*/) {
|
|
||||||
setTheme(android.R.style.Theme_Holo_Light);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
setTheme(android.R.style.Theme_Light);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
requestWindowFeature(Window.FEATURE_NO_TITLE);
|
|
||||||
|
|
||||||
// Possible work around for market launches. See http://code.google.com/p/android/issues/detail?id=2373
|
|
||||||
// for more details. Essentially, the market launches the main activity on top of other activities.
|
|
||||||
// we never want this to happen. Instead, we check if we are the root and if not, we finish.
|
|
||||||
if (!isTaskRoot()) {
|
|
||||||
final Intent intent = getIntent();
|
|
||||||
if (intent.hasCategory(Intent.CATEGORY_LAUNCHER) && Intent.ACTION_MAIN.equals(intent.getAction())) {
|
|
||||||
finish();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onResume() {
|
|
||||||
super.onResume();
|
|
||||||
|
|
||||||
if (Build.VERSION.SDK_INT >= 23 /*Build.VERSION_CODES.M*/) {
|
|
||||||
if (!requestPermisions(new String[]{
|
|
||||||
Manifest.permission.READ_EXTERNAL_STORAGE,
|
|
||||||
Manifest.permission.WRITE_EXTERNAL_STORAGE})) {
|
|
||||||
start();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
start();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onPause() {
|
|
||||||
super.onPause();
|
|
||||||
if(dialog != null){
|
|
||||||
dialog.dismiss();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
|
|
||||||
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
|
|
||||||
start();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void start() {
|
|
||||||
checkDebugFile();
|
|
||||||
|
|
||||||
if (updateUrlList.size() > 0) {
|
|
||||||
showProjectSelector();
|
|
||||||
} else {
|
|
||||||
Intent intent = new Intent(ProjectSelectActivity.this, getStartActivityClass());
|
|
||||||
startActivity(intent);
|
|
||||||
finish();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static final int REQUEST_PERMISIONS = 100;
|
|
||||||
|
|
||||||
private boolean requestPermisions(final @NonNull String[] permissions) {
|
|
||||||
|
|
||||||
ArrayList<String> grantedPermissions = new ArrayList<String>();
|
|
||||||
ArrayList<String> deniedPermissions = new ArrayList<String>();
|
|
||||||
ArrayList<String> deniedOpPermissions = new ArrayList<String>();
|
|
||||||
|
|
||||||
for (String permission : permissions) {
|
|
||||||
switch (PermissionChecker.checkSelfPermission(this, permission)) {
|
|
||||||
case PermissionChecker.PERMISSION_GRANTED: {
|
|
||||||
grantedPermissions.add(permission);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case PermissionChecker.PERMISSION_DENIED: {
|
|
||||||
deniedPermissions.add(permission);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case PermissionChecker.PERMISSION_DENIED_APP_OP: {
|
|
||||||
deniedOpPermissions.add(permission);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
default: {
|
|
||||||
deniedPermissions.add(permission);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ArrayList<String> requestPermissions = new ArrayList<String>();
|
|
||||||
ArrayList<String> rationalPermissions = new ArrayList<String>();
|
|
||||||
if (deniedPermissions.size() > 0)
|
|
||||||
requestPermissions.addAll(deniedPermissions);
|
|
||||||
//if (deniedOpPermissions.size() > 0)
|
|
||||||
// requestPermissions.addAll(deniedOpPermissions);
|
|
||||||
|
|
||||||
for (String permission : requestPermissions) {
|
|
||||||
if (ActivityCompat.shouldShowRequestPermissionRationale(this, permission)) {
|
|
||||||
rationalPermissions.add(permission);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (requestPermissions.size() <= 0)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
ActivityCompat.requestPermissions(this, requestPermissions.toArray(new String[requestPermissions.size()]), REQUEST_PERMISIONS);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void checkDebugFile() {
|
|
||||||
XmlPullParserFactory factory;
|
|
||||||
try {
|
|
||||||
factory = XmlPullParserFactory.newInstance();
|
|
||||||
factory.setNamespaceAware(true);
|
|
||||||
XmlPullParser parser = factory.newPullParser();
|
|
||||||
File file = new File(Environment.getExternalStorageDirectory()+ "/n14_devFeature.xml");
|
|
||||||
FileInputStream fis = new FileInputStream(file);
|
|
||||||
parser.setInput(new InputStreamReader(fis));
|
|
||||||
|
|
||||||
while(parser.getEventType() != XmlPullParser.END_DOCUMENT) {
|
|
||||||
if(parser.getEventType() == XmlPullParser.START_TAG) {
|
|
||||||
if(parser.getName().equals("Project")) {
|
|
||||||
updateUrlList.put(parser.getAttributeValue(0), parser.getAttributeValue(1));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
parser.next();
|
|
||||||
}
|
|
||||||
} catch (XmlPullParserException e) {
|
|
||||||
// TODO Auto-generated catch block
|
|
||||||
e.printStackTrace();
|
|
||||||
} catch (FileNotFoundException e) {
|
|
||||||
Log.d(LOG_TAG, "debugging file not exist!");
|
|
||||||
} catch (IOException e) {
|
|
||||||
// TODO Auto-generated catch block
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void showProjectSelector() {
|
|
||||||
List<String> projectItems = new ArrayList<String>();
|
|
||||||
|
|
||||||
for(Entry<String, String> e : updateUrlList.entrySet()) {
|
|
||||||
String key = e.getKey();
|
|
||||||
projectItems.add(key);
|
|
||||||
}
|
|
||||||
|
|
||||||
final CharSequence[] items = projectItems.toArray(new String[projectItems.size()]);
|
|
||||||
AlertDialog.Builder builder = new AlertDialog.Builder(ProjectSelectActivity.this);
|
|
||||||
builder.setTitle("시작 프로젝트를 선택해 주세요.");
|
|
||||||
builder.setCancelable(false);
|
|
||||||
|
|
||||||
builder.setSingleChoiceItems(items, 0, new DialogInterface.OnClickListener() {
|
|
||||||
public void onClick(DialogInterface dialog, int whichButton) {
|
|
||||||
Intent intent = new Intent(ProjectSelectActivity.this, getStartActivityClass());
|
|
||||||
intent.putExtra("bootstrapURL", getUpdateUrl(items[whichButton].toString()));
|
|
||||||
intent.putExtra("projectUrl", getProjectUrl(items[whichButton].toString()));
|
|
||||||
startActivity(intent);
|
|
||||||
finish();
|
|
||||||
}
|
|
||||||
}).setPositiveButton("하드 코딩 된 값 로드", new DialogInterface.OnClickListener() {
|
|
||||||
public void onClick(DialogInterface dialog, int whichButton) {
|
|
||||||
Intent intent = new Intent(ProjectSelectActivity.this, getStartActivityClass());
|
|
||||||
startActivity(intent);
|
|
||||||
finish();
|
|
||||||
}
|
|
||||||
}).setNegativeButton("기존 꺼 삭제", new DialogInterface.OnClickListener() {
|
|
||||||
public void onClick(DialogInterface dialog, int whichButton) {
|
|
||||||
clearApplicationData();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
dialog = builder.create();
|
|
||||||
dialog.show();
|
|
||||||
}
|
|
||||||
|
|
||||||
private String getUpdateUrl(String key) {
|
|
||||||
return updateUrlList.get(key);
|
|
||||||
}
|
|
||||||
|
|
||||||
private String getProjectUrl(String key) {
|
|
||||||
String projectUrl;
|
|
||||||
projectUrl = updateUrlList.get(key);
|
|
||||||
projectUrl = projectUrl.substring(0, projectUrl.lastIndexOf("/")+1);
|
|
||||||
return projectUrl;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void clearApplicationData() {
|
|
||||||
File cache = getCacheDir();
|
|
||||||
File appDir = new File(cache.getParent());
|
|
||||||
if (appDir.exists()) {
|
|
||||||
String[] children = appDir.list();
|
|
||||||
for (String s : children) {
|
|
||||||
if (!s.equals("lib")) {
|
|
||||||
deleteDir(new File(appDir, s));
|
|
||||||
Log.i("TAG", "**************** File " + appDir.getAbsolutePath() + "/" + s + " DELETED *******************");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
cache = getExternalCacheDir();
|
|
||||||
appDir = new File(cache.getParent());
|
|
||||||
if (appDir.exists()) {
|
|
||||||
String[] children = appDir.list();
|
|
||||||
for (String s : children) {
|
|
||||||
if (!s.equals("lib")) {
|
|
||||||
deleteDir(new File(appDir, s));
|
|
||||||
Log.i("TAG", "**************** File " + appDir.getAbsolutePath() + "/" + s + " DELETED *******************");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Toast.makeText(getApplicationContext(), "기존 프로젝트가 삭제 되었습니다.", Toast.LENGTH_SHORT).show();
|
|
||||||
|
|
||||||
showProjectSelector();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean deleteDir(File dir) {
|
|
||||||
if (dir != null && dir.isDirectory()) {
|
|
||||||
String[] children = dir.list();
|
|
||||||
for (int i = 0; i < children.length; i++) {
|
|
||||||
boolean success = deleteDir(new File(dir, children[i]));
|
|
||||||
if (!success) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return dir.delete();
|
|
||||||
}
|
|
||||||
|
|
||||||
public Class<NexacroUpdatorActivity> getStartActivityClass()
|
|
||||||
{
|
|
||||||
ActivityManager activitymanager = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
|
|
||||||
|
|
||||||
List<RunningTaskInfo> runningtaskinfo = activitymanager.getRunningTasks(1);
|
|
||||||
String currentPackageName = runningtaskinfo.get(0).baseActivity.getPackageName();
|
|
||||||
|
|
||||||
Class<NexacroUpdatorActivity> startActivityClass = null;
|
|
||||||
|
|
||||||
if(currentPackageName.equals("com.nexacro")) {
|
|
||||||
startActivityClass = NexacroUpdatorActivity.class;
|
|
||||||
} else {
|
|
||||||
ClassLoader loader = ProjectSelectActivity.class.getClassLoader();
|
|
||||||
try {
|
|
||||||
startActivityClass = (Class<NexacroUpdatorActivity>) loader.loadClass("nexacro.launcher.MainActivity");
|
|
||||||
} catch (ClassNotFoundException e) {
|
|
||||||
// TODO Auto-generated catch block
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return startActivityClass;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,55 +0,0 @@
|
||||||
package nexacro.launcher;
|
|
||||||
|
|
||||||
import android.content.Context;
|
|
||||||
import android.os.Bundle;
|
|
||||||
import android.support.v4.app.FragmentActivity;
|
|
||||||
import android.view.View;
|
|
||||||
import android.widget.Button;
|
|
||||||
import android.widget.CompoundButton;
|
|
||||||
import android.widget.Toast;
|
|
||||||
import android.widget.ToggleButton;
|
|
||||||
|
|
||||||
import com.nexacro.view.NexacroLayout;
|
|
||||||
|
|
||||||
public class UserCustomActivity extends FragmentActivity {
|
|
||||||
final Context context = this;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
|
||||||
super.onCreate(savedInstanceState);
|
|
||||||
|
|
||||||
setContentView(getResources().getIdentifier("user_custom", "layout", getPackageName()));
|
|
||||||
|
|
||||||
Button btn = (Button)findViewById(R.id.button);
|
|
||||||
btn.setOnClickListener(new View.OnClickListener() {
|
|
||||||
@Override
|
|
||||||
public void onClick(View v) {
|
|
||||||
Toast.makeText(UserCustomActivity.this, "Android button component click.", Toast.LENGTH_SHORT).show();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
ToggleButton toggleButton = (ToggleButton) findViewById(R.id.toggleButton);
|
|
||||||
toggleButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
|
||||||
@Override
|
|
||||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
|
||||||
NexacroLayout nexacroLayout = (NexacroLayout) findViewById(R.id.nexacro_layout);
|
|
||||||
if (isChecked) {
|
|
||||||
nexacroLayout.setVisibility(View.VISIBLE);
|
|
||||||
} else {
|
|
||||||
nexacroLayout.setVisibility(View.INVISIBLE);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onResume() {
|
|
||||||
super.onResume();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onDestroy() {
|
|
||||||
super.onDestroy();
|
|
||||||
}
|
|
||||||
}
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,53 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:layout_width="match_parent" android:layout_height="match_parent"
|
|
||||||
android:id="@+id/user_custom_layout">
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:orientation="vertical"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:layout_gravity="left|top"
|
|
||||||
android:weightSum="1">
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:layout_width="162dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="pure activity"
|
|
||||||
android:id="@+id/textView"
|
|
||||||
android:layout_gravity="center_horizontal"
|
|
||||||
android:textSize="25dp" />
|
|
||||||
|
|
||||||
<Button
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="안드로이드 컴포넌트 버튼"
|
|
||||||
android:id="@+id/button" />
|
|
||||||
|
|
||||||
<com.nexacro.view.NexacroLayout
|
|
||||||
android:id="@+id/nexacro_layout"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="0dp"
|
|
||||||
android:layout_weight="0.86">
|
|
||||||
</com.nexacro.view.NexacroLayout>
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:orientation="horizontal"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_gravity="center_horizontal">
|
|
||||||
|
|
||||||
<ToggleButton
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="New ToggleButton"
|
|
||||||
android:id="@+id/toggleButton"
|
|
||||||
android:checked="true"
|
|
||||||
android:textOff="nexacroView 보이기"
|
|
||||||
android:textOn="nexacroView 숨기기" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
</FrameLayout>
|
|
|
@ -1 +1 @@
|
||||||
include ':app', ':nexacro14'
|
include ':app'
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,4 +1,3 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="CMakeSettings">
|
<component name="CMakeSettings">
|
||||||
<configurations>
|
<configurations>
|
||||||
|
|
Loading…
Reference in New Issue