update for Android Studio 2
This commit is contained in:
parent
a76de7534d
commit
983ca61d7b
|
@ -1,5 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="Encoding" useUTFGuessing="true" native2AsciiForPropertiesFiles="false" />
|
<component name="Encoding" useUTFGuessing="true" native2AsciiForPropertiesFiles="false">
|
||||||
|
<file url="PROJECT" charset="UTF-8" />
|
||||||
|
</component>
|
||||||
</project>
|
</project>
|
||||||
|
|
||||||
|
|
|
@ -3,16 +3,23 @@
|
||||||
<component name="GradleSettings">
|
<component name="GradleSettings">
|
||||||
<option name="linkedExternalProjectsSettings">
|
<option name="linkedExternalProjectsSettings">
|
||||||
<GradleProjectSettings>
|
<GradleProjectSettings>
|
||||||
<option name="distributionType" value="DEFAULT_WRAPPED" />
|
<option name="distributionType" value="LOCAL" />
|
||||||
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
||||||
|
<option name="gradleHome" value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10" />
|
||||||
|
<option name="gradleJvm" value="1.7" />
|
||||||
<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" />
|
||||||
</set>
|
</set>
|
||||||
</option>
|
</option>
|
||||||
|
<option name="myModules">
|
||||||
|
<set>
|
||||||
|
<option value="$PROJECT_DIR$" />
|
||||||
|
<option value="$PROJECT_DIR$/app" />
|
||||||
|
</set>
|
||||||
|
</option>
|
||||||
</GradleProjectSettings>
|
</GradleProjectSettings>
|
||||||
</option>
|
</option>
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,31 @@
|
||||||
<component name="EntryPointsManager">
|
<component name="EntryPointsManager">
|
||||||
<entry_points version="2.0" />
|
<entry_points version="2.0" />
|
||||||
</component>
|
</component>
|
||||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_6" assert-keyword="true" jdk-15="true" project-jdk-name="JDK" project-jdk-type="JavaSDK">
|
<component name="NullableNotNullManager">
|
||||||
|
<option name="myDefaultNullable" value="android.support.annotation.Nullable" />
|
||||||
|
<option name="myDefaultNotNull" value="android.support.annotation.NonNull" />
|
||||||
|
<option name="myNullables">
|
||||||
|
<value>
|
||||||
|
<list size="4">
|
||||||
|
<item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.Nullable" />
|
||||||
|
<item index="1" class="java.lang.String" itemvalue="javax.annotation.Nullable" />
|
||||||
|
<item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.Nullable" />
|
||||||
|
<item index="3" class="java.lang.String" itemvalue="android.support.annotation.Nullable" />
|
||||||
|
</list>
|
||||||
|
</value>
|
||||||
|
</option>
|
||||||
|
<option name="myNotNulls">
|
||||||
|
<value>
|
||||||
|
<list size="4">
|
||||||
|
<item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.NotNull" />
|
||||||
|
<item index="1" class="java.lang.String" itemvalue="javax.annotation.Nonnull" />
|
||||||
|
<item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.NonNull" />
|
||||||
|
<item index="3" class="java.lang.String" itemvalue="android.support.annotation.NonNull" />
|
||||||
|
</list>
|
||||||
|
</value>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" assert-keyword="true" jdk-15="true" project-jdk-name="1.7" project-jdk-type="JavaSDK">
|
||||||
<output url="file://$PROJECT_DIR$/build/classes" />
|
<output url="file://$PROJECT_DIR$/build/classes" />
|
||||||
</component>
|
</component>
|
||||||
<component name="masterDetails">
|
<component name="masterDetails">
|
||||||
|
@ -57,4 +81,3 @@
|
||||||
</states>
|
</states>
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
||||||
|
|
||||||
|
|
12
.idea/runConfigurations.xml
Normal file
12
.idea/runConfigurations.xml
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>
|
|
@ -1,13 +1,14 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<module external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" external.system.module.group="" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
|
<module external.linked.project.id="SecretShare" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" external.system.module.group="" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
|
||||||
<component name="FacetManager">
|
<component name="FacetManager">
|
||||||
<facet type="java-gradle" name="Java-Gradle">
|
<facet type="java-gradle" name="Java-Gradle">
|
||||||
<configuration>
|
<configuration>
|
||||||
<option name="BUILD_FOLDER_PATH" value="$MODULE_DIR$/build" />
|
<option name="BUILD_FOLDER_PATH" value="$MODULE_DIR$/build" />
|
||||||
|
<option name="BUILDABLE" value="false" />
|
||||||
</configuration>
|
</configuration>
|
||||||
</facet>
|
</facet>
|
||||||
</component>
|
</component>
|
||||||
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="true">
|
||||||
<exclude-output />
|
<exclude-output />
|
||||||
<content url="file://$MODULE_DIR$">
|
<content url="file://$MODULE_DIR$">
|
||||||
<excludeFolder url="file://$MODULE_DIR$/.gradle" />
|
<excludeFolder url="file://$MODULE_DIR$/.gradle" />
|
||||||
|
@ -16,4 +17,3 @@
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
</component>
|
</component>
|
||||||
</module>
|
</module>
|
||||||
|
|
||||||
|
|
88
app/app.iml
88
app/app.iml
|
@ -1,5 +1,5 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<module external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" external.system.module.group="SecretShare" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
|
<module external.linked.project.id=":app" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" external.system.module.group="SecretShare" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
|
||||||
<component name="FacetManager">
|
<component name="FacetManager">
|
||||||
<facet type="android-gradle" name="Android-Gradle">
|
<facet type="android-gradle" name="Android-Gradle">
|
||||||
<configuration>
|
<configuration>
|
||||||
|
@ -9,10 +9,12 @@
|
||||||
<facet type="android" name="Android">
|
<facet type="android" name="Android">
|
||||||
<configuration>
|
<configuration>
|
||||||
<option name="SELECTED_BUILD_VARIANT" value="debug" />
|
<option name="SELECTED_BUILD_VARIANT" value="debug" />
|
||||||
|
<option name="SELECTED_TEST_ARTIFACT" value="_android_test_" />
|
||||||
<option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
|
<option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
|
||||||
<option name="COMPILE_JAVA_TASK_NAME" value="compileDebugJava" />
|
<option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
|
||||||
<option name="ASSEMBLE_TEST_TASK_NAME" value="assembleDebugTest" />
|
<afterSyncTasks>
|
||||||
<option name="SOURCE_GEN_TASK_NAME" value="generateDebugSources" />
|
<task>generateDebugSources</task>
|
||||||
|
</afterSyncTasks>
|
||||||
<option name="ALLOW_USER_CONFIGURATION" value="false" />
|
<option name="ALLOW_USER_CONFIGURATION" value="false" />
|
||||||
<option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
|
<option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
|
||||||
<option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
|
<option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
|
||||||
|
@ -21,8 +23,9 @@
|
||||||
</configuration>
|
</configuration>
|
||||||
</facet>
|
</facet>
|
||||||
</component>
|
</component>
|
||||||
<component name="NewModuleRootManager" inherit-compiler-output="false">
|
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="false">
|
||||||
<output url="file://$MODULE_DIR$/build/intermediates/classes/debug" />
|
<output url="file://$MODULE_DIR$/build/intermediates/classes/debug" />
|
||||||
|
<output-test url="file://$MODULE_DIR$/build/intermediates/classes/test/debug" />
|
||||||
<exclude-output />
|
<exclude-output />
|
||||||
<content url="file://$MODULE_DIR$">
|
<content url="file://$MODULE_DIR$">
|
||||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/debug" isTestSource="false" generated="true" />
|
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/debug" isTestSource="false" generated="true" />
|
||||||
|
@ -30,43 +33,90 @@
|
||||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />
|
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />
|
||||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/debug" isTestSource="false" generated="true" />
|
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/debug" isTestSource="false" generated="true" />
|
||||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/debug" type="java-resource" />
|
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/debug" type="java-resource" />
|
||||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/test/debug" isTestSource="true" generated="true" />
|
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/debug" type="java-resource" />
|
||||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/test/debug" isTestSource="true" generated="true" />
|
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/androidTest/debug" isTestSource="true" generated="true" />
|
||||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/test/debug" isTestSource="true" generated="true" />
|
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/androidTest/debug" isTestSource="true" generated="true" />
|
||||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/test/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/res/rs/test/debug" type="java-test-resource" />
|
<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$/src/debug/res" type="java-resource" />
|
<sourceFolder url="file://$MODULE_DIR$/src/debug/res" type="java-resource" />
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/debug/resources" type="java-resource" />
|
<sourceFolder url="file://$MODULE_DIR$/src/debug/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/aidl" isTestSource="false" />
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/debug/assets" isTestSource="false" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" />
|
<sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" />
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/debug/jni" isTestSource="false" />
|
<sourceFolder url="file://$MODULE_DIR$/src/debug/jni" isTestSource="false" />
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" />
|
<sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/src/debug/shaders" isTestSource="false" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/res" type="java-test-resource" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/resources" type="java-test-resource" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/assets" type="java-test-resource" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/aidl" isTestSource="true" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/java" isTestSource="true" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/jni" 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/res" type="java-resource" />
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" 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/aidl" isTestSource="false" />
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/main/assets" isTestSource="false" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
|
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" />
|
<sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" />
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
|
<sourceFolder url="file://$MODULE_DIR$/src/main/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/res" type="java-test-resource" />
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" 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/aidl" isTestSource="true" />
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" isTestSource="true" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
|
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
|
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
|
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
|
||||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates" />
|
<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/jni" isTestSource="true" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/bundles" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/dependency-cache" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/animated-vector-drawable/24.1.0/jars" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/appcompat-v7/24.1.0/jars" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-v4/24.1.0/jars" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-vector-drawable/24.1.0/jars" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-classes" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-runtime-classes" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-safeguard" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-verifier" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-support" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/reload-dex" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/restart-dex" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/shaders" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/transforms" />
|
||||||
<excludeFolder url="file://$MODULE_DIR$/build/outputs" />
|
<excludeFolder url="file://$MODULE_DIR$/build/outputs" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/build/tmp" />
|
||||||
</content>
|
</content>
|
||||||
<orderEntry type="jdk" jdkName="Android API 20 Platform" jdkType="Android SDK" />
|
<orderEntry type="jdk" jdkName="Android API 23 Platform" jdkType="Android SDK" />
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
<orderEntry type="library" exported="" name="appcompat-v7-20.0.0" level="project" />
|
<orderEntry type="library" exported="" name="support-v4-24.1.0" level="project" />
|
||||||
<orderEntry type="library" exported="" name="core-3.1.0" level="project" />
|
<orderEntry type="library" exported="" name="core-3.1.0" level="project" />
|
||||||
<orderEntry type="library" exported="" name="support-annotations-20.0.0" level="project" />
|
|
||||||
<orderEntry type="library" exported="" name="support-v4-20.0.0" level="project" />
|
|
||||||
<orderEntry type="library" exported="" name="miglayout-3.7.4" level="project" />
|
<orderEntry type="library" exported="" name="miglayout-3.7.4" level="project" />
|
||||||
|
<orderEntry type="library" exported="" name="otto-1.3.5" level="project" />
|
||||||
|
<orderEntry type="library" exported="" name="appcompat-v7-24.1.0" level="project" />
|
||||||
<orderEntry type="library" exported="" name="secretshare-1.4.1" level="project" />
|
<orderEntry type="library" exported="" name="secretshare-1.4.1" level="project" />
|
||||||
|
<orderEntry type="library" exported="" name="support-annotations-24.1.0" level="project" />
|
||||||
|
<orderEntry type="library" exported="" name="animated-vector-drawable-24.1.0" level="project" />
|
||||||
|
<orderEntry type="library" exported="" name="support-vector-drawable-24.1.0" level="project" />
|
||||||
</component>
|
</component>
|
||||||
</module>
|
</module>
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,8 @@ apply plugin: 'maven'
|
||||||
dependencies {
|
dependencies {
|
||||||
compile 'com.tiemens:secretshare:1.4.1'
|
compile 'com.tiemens:secretshare:1.4.1'
|
||||||
compile 'com.google.zxing:core:3.1.0'
|
compile 'com.google.zxing:core:3.1.0'
|
||||||
compile 'com.android.support:appcompat-v7:20.+'
|
compile 'com.android.support:appcompat-v7:24.1.0'
|
||||||
|
compile 'com.squareup:otto:1.3.5'
|
||||||
}
|
}
|
||||||
|
|
||||||
buildscript {
|
buildscript {
|
||||||
|
@ -13,7 +14,7 @@ buildscript {
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
}
|
}
|
||||||
dependencies {
|
dependencies {
|
||||||
classpath 'com.android.tools.build:gradle:0.12.1'
|
classpath 'com.android.tools.build:gradle:2.1.2'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -24,19 +25,19 @@ allprojects {
|
||||||
}
|
}
|
||||||
|
|
||||||
android {
|
android {
|
||||||
compileSdkVersion 20
|
compileSdkVersion 23
|
||||||
buildToolsVersion "20.0.0"
|
buildToolsVersion "23.0.3"
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId "org.surfsite.android.secretshare"
|
applicationId "org.surfsite.android.secretshare"
|
||||||
minSdkVersion 15
|
minSdkVersion 15
|
||||||
targetSdkVersion 20
|
targetSdkVersion 23
|
||||||
versionCode 1
|
versionCode 1
|
||||||
versionName "1.0"
|
versionName "1.0"
|
||||||
}
|
}
|
||||||
buildTypes {
|
buildTypes {
|
||||||
release {
|
release {
|
||||||
runProguard false
|
minifyEnabled false
|
||||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
5
app/proguard-rules.pro
vendored
5
app/proguard-rules.pro
vendored
|
@ -15,3 +15,8 @@
|
||||||
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
||||||
# public *;
|
# public *;
|
||||||
#}
|
#}
|
||||||
|
|
||||||
|
-keepclassmembers class ** {
|
||||||
|
@com.squareup.otto.Subscribe public *;
|
||||||
|
@com.squareup.otto.Produce public *;
|
||||||
|
}
|
|
@ -17,7 +17,7 @@ public class ApplicationTest extends ApplicationTestCase<Application> {
|
||||||
super(Application.class);
|
super(Application.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testEncrypt() throws Exception {
|
public void testEncryptDescriptionUTF8() throws Exception {
|
||||||
List<SecretShare.ShareInfo> pieces;
|
List<SecretShare.ShareInfo> pieces;
|
||||||
int n = 16;
|
int n = 16;
|
||||||
int k = 4;
|
int k = 4;
|
||||||
|
@ -34,7 +34,7 @@ public class ApplicationTest extends ApplicationTestCase<Application> {
|
||||||
+ "01234567890123456789012345678901234567890123456789";
|
+ "01234567890123456789012345678901234567890123456789";
|
||||||
SecretShare.PublicInfo publicInfo;
|
SecretShare.PublicInfo publicInfo;
|
||||||
SecretShare.PublicInfo pi = null;
|
SecretShare.PublicInfo pi = null;
|
||||||
List<SecretShare.ShareInfo> si = new ArrayList<SecretShare.ShareInfo>();
|
List<SecretShare.ShareInfo> si = new ArrayList<>();
|
||||||
|
|
||||||
final BigInteger secretInteger = Renderer.stringToSecret(cleartext);
|
final BigInteger secretInteger = Renderer.stringToSecret(cleartext);
|
||||||
final BigInteger modulus;
|
final BigInteger modulus;
|
||||||
|
@ -66,4 +66,54 @@ public class ApplicationTest extends ApplicationTestCase<Application> {
|
||||||
assertEquals(cleartext, Renderer.secretToString(combineOutput.getSecret()));
|
assertEquals(cleartext, Renderer.secretToString(combineOutput.getSecret()));
|
||||||
assertEquals(publicInfo.getDescription(), si.get(0).getPublicInfo().getDescription());
|
assertEquals(publicInfo.getDescription(), si.get(0).getPublicInfo().getDescription());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void testEncryptDescriptionEmpty() throws Exception {
|
||||||
|
List<SecretShare.ShareInfo> pieces;
|
||||||
|
int n = 16;
|
||||||
|
int k = 4;
|
||||||
|
String cleartext
|
||||||
|
= "01234567890123456789012345678901234567890123456789"
|
||||||
|
+ "01234567890123456789012345678901234567890123456789"
|
||||||
|
+ "01234567890123456789012345678901234567890123456789"
|
||||||
|
+ "01234567890123456789012345678901234567890123456789"
|
||||||
|
+ "01234567890123456789012345678901234567890123456789"
|
||||||
|
+ "01234567890123456789012345678901234567890123456789"
|
||||||
|
+ "01234567890123456789012345678901234567890123456789"
|
||||||
|
+ "01234567890123456789012345678901234567890123456789"
|
||||||
|
+ "01234567890123456789012345678901234567890123456789"
|
||||||
|
+ "01234567890123456789012345678901234567890123456789";
|
||||||
|
SecretShare.PublicInfo publicInfo;
|
||||||
|
SecretShare.PublicInfo pi = null;
|
||||||
|
List<SecretShare.ShareInfo> si = new ArrayList<>();
|
||||||
|
|
||||||
|
final BigInteger secretInteger = Renderer.stringToSecret(cleartext);
|
||||||
|
final BigInteger modulus;
|
||||||
|
|
||||||
|
modulus = SecretShare.createAppropriateModulusForSecret(secretInteger);
|
||||||
|
publicInfo = new SecretShare.PublicInfo(n,
|
||||||
|
k,
|
||||||
|
modulus,
|
||||||
|
null);
|
||||||
|
final SecretShare.SplitSecretOutput splitSecretOutput = new SecretShare(publicInfo)
|
||||||
|
.split(secretInteger);
|
||||||
|
pieces = splitSecretOutput.getShareInfos();
|
||||||
|
|
||||||
|
for (int i = 0; i < pieces.size(); i++) {
|
||||||
|
final SecretShare.ShareInfo piece = pieces.get(i);
|
||||||
|
|
||||||
|
final String data = Renderer.encodeShareInfo(piece);
|
||||||
|
|
||||||
|
if (pi == null)
|
||||||
|
pi = Renderer.decodePublicInfo(data);
|
||||||
|
|
||||||
|
if (i % 4 == 0)
|
||||||
|
si.add(Renderer.decodeShareInfo(data, pi));
|
||||||
|
}
|
||||||
|
|
||||||
|
final SecretShare.CombineOutput combineOutput = new SecretShare(pi)
|
||||||
|
.combine(si);
|
||||||
|
|
||||||
|
assertEquals(cleartext, Renderer.secretToString(combineOutput.getSecret()));
|
||||||
|
assertEquals(publicInfo.getDescription(), si.get(0).getPublicInfo().getDescription());
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -36,7 +36,7 @@ public class Renderer {
|
||||||
|
|
||||||
public static Bitmap createBitmap(String data) {
|
public static Bitmap createBitmap(String data) {
|
||||||
final Hashtable<EncodeHintType, Object> hints =
|
final Hashtable<EncodeHintType, Object> hints =
|
||||||
new Hashtable<EncodeHintType, Object>();
|
new Hashtable<>();
|
||||||
hints.put(EncodeHintType.CHARACTER_SET, "ISO-8859-1");
|
hints.put(EncodeHintType.CHARACTER_SET, "ISO-8859-1");
|
||||||
BitMatrix result;
|
BitMatrix result;
|
||||||
|
|
||||||
|
@ -50,7 +50,7 @@ public class Renderer {
|
||||||
hints);
|
hints);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
result = null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
final int width = result.getWidth();
|
final int width = result.getWidth();
|
||||||
|
@ -88,6 +88,9 @@ public class Renderer {
|
||||||
int textWidth = getTextWidth(label, textPaint);
|
int textWidth = getTextWidth(label, textPaint);
|
||||||
|
|
||||||
Bitmap codeBitmap = createBitmap(contents);
|
Bitmap codeBitmap = createBitmap(contents);
|
||||||
|
if (codeBitmap == null)
|
||||||
|
return null;
|
||||||
|
|
||||||
final int width = Math.max(textWidth, codeBitmap.getWidth());
|
final int width = Math.max(textWidth, codeBitmap.getWidth());
|
||||||
Bitmap bmp = Bitmap.createBitmap(width + bitmapMargin * 2,
|
Bitmap bmp = Bitmap.createBitmap(width + bitmapMargin * 2,
|
||||||
textHeight + codeBitmap.getHeight() + codePadding * 2 + bitmapMargin * 2,
|
textHeight + codeBitmap.getHeight() + codePadding * 2 + bitmapMargin * 2,
|
||||||
|
@ -135,7 +138,7 @@ public class Renderer {
|
||||||
public static ArrayList<String> wrap(String txt, int maxWidth, boolean mustFit, Paint paint) {
|
public static ArrayList<String> wrap(String txt, int maxWidth, boolean mustFit, Paint paint) {
|
||||||
int pos = 0;
|
int pos = 0;
|
||||||
int start = pos;
|
int start = pos;
|
||||||
ArrayList<String> lines = new ArrayList<String>();
|
ArrayList<String> lines = new ArrayList<>();
|
||||||
while (true) {
|
while (true) {
|
||||||
int i = pos;
|
int i = pos;
|
||||||
if (txt == null) txt = "";
|
if (txt == null) txt = "";
|
||||||
|
@ -208,11 +211,14 @@ public class Renderer {
|
||||||
|
|
||||||
byte[] encBytes = new byte[bytes.length + 1];
|
byte[] encBytes = new byte[bytes.length + 1];
|
||||||
System.arraycopy(bytes, 0, encBytes, 0, bytes.length);
|
System.arraycopy(bytes, 0, encBytes, 0, bytes.length);
|
||||||
encBytes[bytes.length] = (byte) (isUTF8 ? BYTE_IS_UTF8 : BYTE_NOT_UTF8);
|
encBytes[bytes.length] = isUTF8 ? BYTE_IS_UTF8 : BYTE_NOT_UTF8;
|
||||||
return encBytes;
|
return encBytes;
|
||||||
}
|
}
|
||||||
|
|
||||||
static String tryUnicodeExpand(byte[] in) {
|
static String tryUnicodeExpand(byte[] in) {
|
||||||
|
if (in.length == 0)
|
||||||
|
return null;
|
||||||
|
|
||||||
byte[] exBytes = new byte[in.length - 1];
|
byte[] exBytes = new byte[in.length - 1];
|
||||||
System.arraycopy(in, 0, exBytes, 0, in.length - 1);
|
System.arraycopy(in, 0, exBytes, 0, in.length - 1);
|
||||||
if (in[in.length - 1] != BYTE_IS_UTF8)
|
if (in[in.length - 1] != BYTE_IS_UTF8)
|
||||||
|
@ -220,9 +226,7 @@ public class Renderer {
|
||||||
final Expand unicodeExpand = new Expand();
|
final Expand unicodeExpand = new Expand();
|
||||||
try {
|
try {
|
||||||
return unicodeExpand.expand(exBytes);
|
return unicodeExpand.expand(exBytes);
|
||||||
} catch (IllegalInputException e) {
|
} catch (IllegalInputException | EndOfInputException e) {
|
||||||
e.printStackTrace();
|
|
||||||
} catch (EndOfInputException e) {
|
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
return new String(exBytes);
|
return new String(exBytes);
|
||||||
|
@ -240,7 +244,15 @@ public class Renderer {
|
||||||
final SecretShare.PublicInfo publicInfo = piece.getPublicInfo();
|
final SecretShare.PublicInfo publicInfo = piece.getPublicInfo();
|
||||||
final byte[] bytePrimeModulus = publicInfo.getPrimeModulus().toByteArray();
|
final byte[] bytePrimeModulus = publicInfo.getPrimeModulus().toByteArray();
|
||||||
final byte[] byteShare = piece.getShare().toByteArray();
|
final byte[] byteShare = piece.getShare().toByteArray();
|
||||||
final byte[] byteDescription = tryUnicodeCompress(publicInfo.getDescription());
|
String description = publicInfo.getDescription();
|
||||||
|
final byte[] byteDescription;
|
||||||
|
|
||||||
|
if ((description != null) && (description.length() > 0)) {
|
||||||
|
byteDescription = tryUnicodeCompress(description);
|
||||||
|
} else {
|
||||||
|
byteDescription = new byte[0];
|
||||||
|
}
|
||||||
|
|
||||||
final int byteLen = 4
|
final int byteLen = 4
|
||||||
+ 4 + 4
|
+ 4 + 4
|
||||||
+ (4 + byteDescription.length)
|
+ (4 + byteDescription.length)
|
||||||
|
@ -250,38 +262,58 @@ public class Renderer {
|
||||||
byteBuffer.putInt(piece.getX());
|
byteBuffer.putInt(piece.getX());
|
||||||
byteBuffer.putInt(publicInfo.getK());
|
byteBuffer.putInt(publicInfo.getK());
|
||||||
byteBuffer.putInt(publicInfo.getN());
|
byteBuffer.putInt(publicInfo.getN());
|
||||||
byteBuffer.putInt(byteDescription.length).put(byteDescription);
|
byteBuffer.putInt(byteDescription.length);
|
||||||
|
if (byteDescription.length > 0)
|
||||||
|
byteBuffer.put(byteDescription);
|
||||||
byteBuffer.putInt(bytePrimeModulus.length).put(bytePrimeModulus);
|
byteBuffer.putInt(bytePrimeModulus.length).put(bytePrimeModulus);
|
||||||
byteBuffer.putInt(byteShare.length).put(byteShare);
|
byteBuffer.putInt(byteShare.length).put(byteShare);
|
||||||
final String byteEncoded64 = Base64.encodeToString(byteBuffer.array(), Base64.DEFAULT);
|
final String byteEncoded64 = Base64.encodeToString(byteBuffer.array(), Base64.DEFAULT);
|
||||||
|
|
||||||
return "ssss-android:" + piece.getX() + "/" + publicInfo.getK()
|
return "ssssqr:" + piece.getX() + "/" + publicInfo.getK()
|
||||||
+ ":" + publicInfo.getN() + "=" + byteEncoded64;
|
+ ":" + publicInfo.getN() + "=" + byteEncoded64;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static SecretShare.PublicInfo decodePublicInfo(final String buf) {
|
public static SecretShare.PublicInfo decodePublicInfo(final String buf)
|
||||||
|
throws InvalidParameterException {
|
||||||
|
if (!buf.startsWith("ssssqr:")) {
|
||||||
|
throw new InvalidParameterException("Not a SecretShare code.");
|
||||||
|
}
|
||||||
int index64 = buf.indexOf("=") + 1;
|
int index64 = buf.indexOf("=") + 1;
|
||||||
final ByteBuffer byteBuffer;
|
final ByteBuffer byteBuffer;
|
||||||
|
final byte[] byteDescription;
|
||||||
|
|
||||||
byteBuffer = ByteBuffer.wrap(Base64.decode(buf.substring(index64), Base64.DEFAULT));
|
byteBuffer = ByteBuffer.wrap(Base64.decode(buf.substring(index64), Base64.DEFAULT));
|
||||||
int x = byteBuffer.getInt();
|
int x = byteBuffer.getInt();
|
||||||
int k = byteBuffer.getInt();
|
int k = byteBuffer.getInt();
|
||||||
int n = byteBuffer.getInt();
|
int n = byteBuffer.getInt();
|
||||||
|
|
||||||
int byteDescriptionLength = byteBuffer.getInt();
|
int byteDescriptionLength = byteBuffer.getInt();
|
||||||
final byte[] byteDescription = new byte[byteDescriptionLength];
|
if (byteDescriptionLength > 0) {
|
||||||
|
byteDescription = new byte[byteDescriptionLength];
|
||||||
byteBuffer.get(byteDescription);
|
byteBuffer.get(byteDescription);
|
||||||
|
} else {
|
||||||
|
byteDescription = new byte[0];
|
||||||
|
}
|
||||||
|
|
||||||
int bytePrimeModulusLength = byteBuffer.getInt();
|
int bytePrimeModulusLength = byteBuffer.getInt();
|
||||||
System.out.printf("len=%d\n", bytePrimeModulusLength);
|
|
||||||
final byte[] bytePrimeModulus = new byte[bytePrimeModulusLength];
|
final byte[] bytePrimeModulus = new byte[bytePrimeModulusLength];
|
||||||
byteBuffer.get(bytePrimeModulus);
|
byteBuffer.get(bytePrimeModulus);
|
||||||
BigInteger inPrimeModulus = new BigInteger(bytePrimeModulus);
|
BigInteger inPrimeModulus = new BigInteger(bytePrimeModulus);
|
||||||
|
|
||||||
return new SecretShare.PublicInfo(n, k, inPrimeModulus, tryUnicodeExpand(byteDescription));
|
return new SecretShare.PublicInfo(n, k, inPrimeModulus, tryUnicodeExpand(byteDescription));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static SecretShare.ShareInfo decodeShareInfo(final String buf,
|
public static SecretShare.ShareInfo decodeShareInfo(final String buf,
|
||||||
final SecretShare.PublicInfo publicInfo)
|
final SecretShare.PublicInfo publicInfo)
|
||||||
throws InvalidParameterException {
|
throws InvalidParameterException {
|
||||||
|
if (!buf.startsWith("ssssqr:")) {
|
||||||
|
throw new InvalidParameterException("Not a SecretShare code.");
|
||||||
|
}
|
||||||
|
|
||||||
int index64 = buf.indexOf("=") + 1;
|
int index64 = buf.indexOf("=") + 1;
|
||||||
final ByteBuffer byteBuffer;
|
final ByteBuffer byteBuffer;
|
||||||
|
final byte[] byteDescription;
|
||||||
|
|
||||||
byteBuffer = ByteBuffer.wrap(Base64.decode(buf.substring(index64), Base64.DEFAULT));
|
byteBuffer = ByteBuffer.wrap(Base64.decode(buf.substring(index64), Base64.DEFAULT));
|
||||||
int x = byteBuffer.getInt();
|
int x = byteBuffer.getInt();
|
||||||
int k = byteBuffer.getInt();
|
int k = byteBuffer.getInt();
|
||||||
|
@ -300,9 +332,18 @@ public class Renderer {
|
||||||
}
|
}
|
||||||
|
|
||||||
int byteDescriptionLength = byteBuffer.getInt();
|
int byteDescriptionLength = byteBuffer.getInt();
|
||||||
final byte[] byteDescription = new byte[byteDescriptionLength];
|
|
||||||
|
if (byteDescriptionLength > 0) {
|
||||||
|
byteDescription = new byte[byteDescriptionLength];
|
||||||
byteBuffer.get(byteDescription);
|
byteBuffer.get(byteDescription);
|
||||||
if (publicInfo.getDescription().compareTo(tryUnicodeExpand(byteDescription)) != 0) {
|
} else {
|
||||||
|
byteDescription = new byte[0];
|
||||||
|
}
|
||||||
|
final String description = publicInfo.getDescription();
|
||||||
|
final String newDescription = tryUnicodeExpand(byteDescription);
|
||||||
|
if ((description != null && newDescription != null && description.compareTo(newDescription) != 0)
|
||||||
|
|| (description == null && newDescription != null)
|
||||||
|
|| (description != null && newDescription == null)) {
|
||||||
throw new InvalidParameterException("SecretShare.PublicInfo.Description does not match.");
|
throw new InvalidParameterException("SecretShare.PublicInfo.Description does not match.");
|
||||||
}
|
}
|
||||||
int bytePrimeModulusLength = byteBuffer.getInt();
|
int bytePrimeModulusLength = byteBuffer.getInt();
|
||||||
|
|
|
@ -5,7 +5,7 @@ buildscript {
|
||||||
jcenter()
|
jcenter()
|
||||||
}
|
}
|
||||||
dependencies {
|
dependencies {
|
||||||
classpath 'com.android.tools.build:gradle:0.12.+'
|
classpath 'com.android.tools.build:gradle:2.1.2'
|
||||||
|
|
||||||
// NOTE: Do not place your application dependencies here; they belong
|
// NOTE: Do not place your application dependencies here; they belong
|
||||||
// in the individual module build.gradle files
|
// in the individual module build.gradle files
|
||||||
|
|
4
gradle/wrapper/gradle-wrapper.properties
vendored
4
gradle/wrapper/gradle-wrapper.properties
vendored
|
@ -1,6 +1,6 @@
|
||||||
#Wed Apr 10 15:27:10 PDT 2013
|
#Tue Jul 19 16:27:54 CEST 2016
|
||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
distributionUrl=http\://services.gradle.org/distributions/gradle-1.12-all.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip
|
||||||
|
|
Loading…
Reference in a new issue