diff --git a/.idea/encodings.xml b/.idea/encodings.xml index bb0b1d76..1ccfa6c8 100644 --- a/.idea/encodings.xml +++ b/.idea/encodings.xml @@ -6,7 +6,5 @@ - - \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml index a6784935..35db5fb0 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -11,11 +11,7 @@ diff --git a/.idea/modules.xml b/.idea/modules.xml index 10ca2031..b44e84c8 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -3,11 +3,7 @@ - - - - diff --git a/android-app-core-tests/android-app-core-tests.iml b/android-app-core-tests/android-app-core-tests.iml deleted file mode 100644 index 1197dc73..00000000 --- a/android-app-core-tests/android-app-core-tests.iml +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/android-app-core-tests/build.gradle b/android-app-core-tests/build.gradle deleted file mode 100644 index 0cfd9e49..00000000 --- a/android-app-core-tests/build.gradle +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright 2014 serso aka se.solovyev - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - * Contact details - * - * Email: se.solovyev@gmail.com - * Site: http://se.solovyev.org - */ - -apply plugin: 'java' - -dependencies { - def androidModule = project(':android-app') - compile androidModule - - testCompile androidModule.android.applicationVariants.toList().first().javaCompile.classpath - testCompile androidModule.android.applicationVariants.toList().first().javaCompile.outputs.files - testCompile files(androidModule.plugins.findPlugin("com.android.application").getBootClasspath()) - - testCompile 'junit:junit:4.+' - testCompile 'org.robolectric:robolectric:2.3' - testCompile "org.mockito:mockito-all:1.9.5" - testCompile "org.skyscreamer:jsonassert:1.2.3" -} - -tasks.withType(Test) { - scanForTestClasses = false - include "**/*Test.class" - exclude "**/*AngleUnitsButtonTest*" - exclude "**/*NumeralBasesButtonTest*" -} - -test { - maxParallelForks = 15 - forkEvery = 1 -} \ No newline at end of file diff --git a/android-app-core-tests/src/test/java/org/solovyev/android/calculator/CalculatorTestUtils.java b/android-app-core-tests/src/test/java/org/solovyev/android/calculator/CalculatorTestUtils.java deleted file mode 100644 index 6730aa1b..00000000 --- a/android-app-core-tests/src/test/java/org/solovyev/android/calculator/CalculatorTestUtils.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright 2013 serso aka se.solovyev - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - * Contact details - * - * Email: se.solovyev@gmail.com - * Site: http://se.solovyev.org - */ - -package org.solovyev.android.calculator; - -import android.content.Context; -import jscl.JsclMathEngine; -import org.mockito.Mockito; -import org.solovyev.android.calculator.history.CalculatorHistory; -import org.solovyev.android.calculator.plot.CalculatorPlotter; - -import javax.annotation.Nonnull; -import javax.annotation.Nullable; - -/** - * User: serso - * Date: 10/7/12 - * Time: 8:56 PM - */ -public class CalculatorTestUtils { - - public static void staticSetUp(@Nullable Context context) throws Exception { - Locator.getInstance().init(new CalculatorImpl(), newCalculatorEngine(), Mockito.mock(CalculatorClipboard.class), Mockito.mock(CalculatorNotifier.class), Mockito.mock(CalculatorHistory.class), new SystemOutCalculatorLogger(), Mockito.mock(CalculatorPreferenceService.class), Mockito.mock(CalculatorKeyboard.class), Mockito.mock(CalculatorPlotter.class), null); - Locator.getInstance().getEngine().init(); - - if (context != null) { - initViews(context); - } - } - - public static void initViews(@Nonnull Context context) { - final AndroidCalculatorEditorView editor = new AndroidCalculatorEditorView(context); - editor.init(); - Locator.getInstance().getEditor().setView(editor); - - final AndroidCalculatorDisplayView display = new AndroidCalculatorDisplayView(context); - display.init(context); - Locator.getInstance().getDisplay().setView(display); - } - - public static void staticSetUp() throws Exception { - staticSetUp(null); - } - - - @Nonnull - static CalculatorEngineImpl newCalculatorEngine() { - final MathEntityDao mathEntityDao = Mockito.mock(MathEntityDao.class); - - final JsclMathEngine jsclEngine = JsclMathEngine.getInstance(); - - final CalculatorVarsRegistry varsRegistry = new CalculatorVarsRegistry(jsclEngine.getConstantsRegistry(), mathEntityDao); - final CalculatorFunctionsMathRegistry functionsRegistry = new CalculatorFunctionsMathRegistry(jsclEngine.getFunctionsRegistry(), mathEntityDao); - final CalculatorOperatorsMathRegistry operatorsRegistry = new CalculatorOperatorsMathRegistry(jsclEngine.getOperatorsRegistry(), mathEntityDao); - final CalculatorPostfixFunctionsRegistry postfixFunctionsRegistry = new CalculatorPostfixFunctionsRegistry(jsclEngine.getPostfixFunctionsRegistry(), mathEntityDao); - - return new CalculatorEngineImpl(jsclEngine, varsRegistry, functionsRegistry, operatorsRegistry, postfixFunctionsRegistry, null); - } -} diff --git a/android-app-core/android-app-core.iml b/android-app-core/android-app-core.iml deleted file mode 100644 index e6ac0687..00000000 --- a/android-app-core/android-app-core.iml +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/android-app-core/build.gradle b/android-app-core/build.gradle deleted file mode 100644 index f1986fc9..00000000 --- a/android-app-core/build.gradle +++ /dev/null @@ -1,150 +0,0 @@ -/* - * Copyright 2014 serso aka se.solovyev - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - * Contact details - * - * Email: se.solovyev@gmail.com - * Site: http://se.solovyev.org - */ - -apply plugin: 'com.android.library' -apply plugin: 'maven' -apply plugin: 'signing' - -android { - compileSdkVersion android_sdk_version() - buildToolsVersion android_build_tools_version() - - defaultConfig { - minSdkVersion android_min_sdk_version() - targetSdkVersion android_sdk_version() - versionCode version_code() - versionName version_name() - } - lintOptions { - abortOnError false - } -} - -dependencies { - compile project(':core') - compile 'org.solovyev:common-core:1.0.7' - compile 'org.solovyev:common-text:1.0.7' - compile 'org.solovyev:common-security:1.0.7' - compile 'org.solovyev.android:android-common-views:1.1.18@aar' - compile 'org.solovyev.android:android-common-menus:1.1.18@aar' - compile 'org.solovyev.android:android-common-core:1.1.18@aar' - compile 'org.solovyev.android:android-common-preferences:1.1.18@aar' - compile('org.solovyev:jscl:1.0.8') { - exclude(module: 'xercesImpl') - } - compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar' - compile 'com.android.support:support-v4:21.0.3' - compile 'org.solovyev.android:checkout:0.6.0@aar' - compile 'com.google.android.gms:play-services:6.5.87@aar' - //testCompile group: 'org.robolectric', name: 'robolectric', version: '2.1.1' -} - - -task androidJavadocs(type: Javadoc) { - source = android.sourceSets.main.java.srcDirs - classpath += project.files(android.plugin.getBootClasspath().join(File.pathSeparator)) - configurations.compile.each { File file -> classpath += project.files(file.path) } -} - -task androidJavadocsJar(type: Jar, dependsOn: androidJavadocs) { - classifier = 'javadoc' - from androidJavadocs.destinationDir -} - -task androidSourcesJar(type: Jar) { - classifier = 'sources' - from android.sourceSets.main.java.srcDirs -} - -task apklib(type: Zip) { - appendix = extension = 'apklib' - - from 'src/main/AndroidManifest.xml' - into('res') { - from android.sourceSets.main.res.srcDirs - } - into('src') { - from android.sourceSets.main.java.srcDirs - } - into('src') { - from android.sourceSets.main.aidl.srcDirs - } -} - - -artifacts { - archives androidSourcesJar - archives androidJavadocsJar - archives apklib -} - -signing { - sign configurations.archives -} - -group = "org.solovyev.android" -archivesBaseName = "calculatorpp-android-app-core" -version = version_name() - -uploadArchives { - repositories { - mavenDeployer { - beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) } - - repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") { - authentication(userName: ossrhUsername, password: ossrhPassword) - } - - snapshotRepository(url: "https://oss.sonatype.org/content/repositories/snapshots/") { - authentication(userName: ossrhUsername, password: ossrhPassword) - } - - pom.project { - name 'Calculator++ Application Core' - packaging 'aar' - url 'https://github.com/serso/android-calculatorpp' - - scm { - url 'https://github.com/serso/android-calculatorpp' - connection 'scm:https://serso@github.com/serso/android-calculatorpp.git' - developerConnection 'scm:git://github.com/serso/android-calculatorpp.git' - } - - licenses { - license { - name 'The Apache Software License, Version 2.0' - url 'http://www.apache.org/licenses/LICENSE-2.0.txt' - distribution 'repo' - } - } - - developers { - developer { - id 'se.solovyev' - name 'Sergey Solovyev' - email 'se.solovyev@gmail.com' - } - } - } - } - } -} diff --git a/android-app-core/src/main/AndroidManifest.xml b/android-app-core/src/main/AndroidManifest.xml deleted file mode 100644 index 7ee835bb..00000000 --- a/android-app-core/src/main/AndroidManifest.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/android-app-core/src/main/assets/fonts/Roboto-Regular.ttf b/android-app-core/src/main/assets/fonts/Roboto-Regular.ttf deleted file mode 100644 index 73b23abb..00000000 Binary files a/android-app-core/src/main/assets/fonts/Roboto-Regular.ttf and /dev/null differ diff --git a/android-app-core/src/main/res/values/arrays.xml b/android-app-core/src/main/res/values/arrays.xml deleted file mode 100644 index d5a7c2ae..00000000 --- a/android-app-core/src/main/res/values/arrays.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - @string/cpp_solid_line_style - @string/cpp_dashed_line_style - @string/cpp_dotted_line_style - @string/cpp_dash_dotted_line_style - - - - @string/cpp_monochrome_line_color_type - @string/cpp_color_map_line_color_type - - - - @string/p_white_line_color - @string/p_blue_line_color - @string/p_red_line_color - @string/p_green_line_color - @string/p_grey_line_color - - - white - blue - red - green - grey - - - \ No newline at end of file diff --git a/android-app-onscreen/android-app-onscreen.iml b/android-app-onscreen/android-app-onscreen.iml deleted file mode 100644 index 08921145..00000000 --- a/android-app-onscreen/android-app-onscreen.iml +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/android-app-onscreen/build.gradle b/android-app-onscreen/build.gradle deleted file mode 100644 index db911552..00000000 --- a/android-app-onscreen/build.gradle +++ /dev/null @@ -1,148 +0,0 @@ -/* - * Copyright 2014 serso aka se.solovyev - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - * Contact details - * - * Email: se.solovyev@gmail.com - * Site: http://se.solovyev.org - */ - -apply plugin: 'com.android.library' -apply plugin: 'maven' -apply plugin: 'signing' - -android { - compileSdkVersion android_sdk_version() - buildToolsVersion android_build_tools_version() - - defaultConfig { - minSdkVersion android_min_sdk_version() - targetSdkVersion android_sdk_version() - versionCode version_code() - versionName version_name() - } - lintOptions { - abortOnError false - } -} - -dependencies { - compile project(':core') - compile project(':android-app-core') - compile 'org.solovyev:common-core:1.0.7' - compile 'org.solovyev:common-text:1.0.7' - compile 'org.solovyev.android:android-common-views:1.1.18@aar' - compile 'org.solovyev.android:android-common-menus:1.1.18@aar' - compile 'org.solovyev.android:android-common-core:1.1.18@aar' - compile 'org.solovyev.android:android-common-preferences:1.1.18@aar' - compile('org.solovyev:jscl:1.0.8') { - exclude(module: 'xercesImpl') - } - compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar' - compile 'com.android.support:support-v4:21.0.3' - //testCompile group: 'org.robolectric', name: 'robolectric', version: '2.1.1' -} - - -task androidJavadocs(type: Javadoc) { - source = android.sourceSets.main.java.srcDirs - classpath += project.files(android.plugin.getBootClasspath().join(File.pathSeparator)) - configurations.compile.each { File file -> classpath += project.files(file.path) } -} - -task androidJavadocsJar(type: Jar, dependsOn: androidJavadocs) { - classifier = 'javadoc' - from androidJavadocs.destinationDir -} - -task androidSourcesJar(type: Jar) { - classifier = 'sources' - from android.sourceSets.main.java.srcDirs -} - -task apklib(type: Zip) { - appendix = extension = 'apklib' - - from 'src/main/AndroidManifest.xml' - into('res') { - from android.sourceSets.main.res.srcDirs - } - into('src') { - from android.sourceSets.main.java.srcDirs - } - into('src') { - from android.sourceSets.main.aidl.srcDirs - } -} - - -artifacts { - archives androidSourcesJar - archives androidJavadocsJar - archives apklib -} - -signing { - sign configurations.archives -} - -group = "org.solovyev.android" -archivesBaseName = "calculatorpp-android-app-onscreen" -version = version_name() - -uploadArchives { - repositories { - mavenDeployer { - beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) } - - repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") { - authentication(userName: ossrhUsername, password: ossrhPassword) - } - - snapshotRepository(url: "https://oss.sonatype.org/content/repositories/snapshots/") { - authentication(userName: ossrhUsername, password: ossrhPassword) - } - - pom.project { - name 'Calculator++ Application Onscreen' - packaging 'aar' - url 'https://github.com/serso/android-calculatorpp' - - scm { - url 'https://github.com/serso/android-calculatorpp' - connection 'scm:https://serso@github.com/serso/android-calculatorpp.git' - developerConnection 'scm:git://github.com/serso/android-calculatorpp.git' - } - - licenses { - license { - name 'The Apache Software License, Version 2.0' - url 'http://www.apache.org/licenses/LICENSE-2.0.txt' - distribution 'repo' - } - } - - developers { - developer { - id 'se.solovyev' - name 'Sergey Solovyev' - email 'se.solovyev@gmail.com' - } - } - } - } - } -} diff --git a/android-app-onscreen/pom.xml b/android-app-onscreen/pom.xml deleted file mode 100644 index 52cafcf6..00000000 --- a/android-app-onscreen/pom.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - 4.0.0 - - - org.solovyev.android - calculatorpp-parent - 2.0.7-SNAPSHOT - - - org.solovyev.android - calculatorpp-android-app-onscreen - 2.0.7-SNAPSHOT - Calculator++ Application Onscreen - apklib - - - - - org.solovyev.android - calculatorpp-core - - - - org.solovyev.android - calculatorpp-android-app-core - apklib - - - - com.google.android - android - provided - - - - com.google.android - support-v4 - - - - - - - - - com.simpligility.maven.plugins - android-maven-plugin - - - - - - diff --git a/android-app-onscreen/src/main/AndroidManifest.xml b/android-app-onscreen/src/main/AndroidManifest.xml deleted file mode 100644 index 3e72674d..00000000 --- a/android-app-onscreen/src/main/AndroidManifest.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/android-app-onscreen/src/main/res/values/colors.xml b/android-app-onscreen/src/main/res/values/colors.xml deleted file mode 100644 index 941d7007..00000000 --- a/android-app-onscreen/src/main/res/values/colors.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - #ff707070 - \ No newline at end of file diff --git a/android-app-onscreen/src/main/res/values/styles.xml b/android-app-onscreen/src/main/res/values/styles.xml deleted file mode 100644 index eabbdca9..00000000 --- a/android-app-onscreen/src/main/res/values/styles.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/android-app-tests/android-app-tests.iml b/android-app-tests/android-app-tests.iml index 45a3417a..3fb9b10e 100644 --- a/android-app-tests/android-app-tests.iml +++ b/android-app-tests/android-app-tests.iml @@ -71,40 +71,36 @@ + - - + - - - - - - - + + - - - + + + + + - - - + + + + - + - - - - - - + + + + \ No newline at end of file diff --git a/android-app-tests/build.gradle b/android-app-tests/build.gradle index 2108f5c0..a9321ff4 100644 --- a/android-app-tests/build.gradle +++ b/android-app-tests/build.gradle @@ -44,6 +44,8 @@ tasks.withType(Test) { exclude "**/*OnScreenCalculatorWizardStepTest*" exclude "**/*CalculatorWizardTest*" exclude "**/*WizardStepTest*" + exclude "**/*AngleUnitsButtonTest*" + exclude "**/*NumeralBasesButtonTest*" } test { diff --git a/android-app-core-tests/src/test/java/org/solovyev/android/calculator/CalculatorBroadcasterTest.java b/android-app-tests/src/test/java/org/solovyev/android/calculator/CalculatorBroadcasterTest.java similarity index 100% rename from android-app-core-tests/src/test/java/org/solovyev/android/calculator/CalculatorBroadcasterTest.java rename to android-app-tests/src/test/java/org/solovyev/android/calculator/CalculatorBroadcasterTest.java diff --git a/android-app-core-tests/src/test/java/org/solovyev/android/calculator/CalculatorReceiverTest.java b/android-app-tests/src/test/java/org/solovyev/android/calculator/CalculatorReceiverTest.java similarity index 100% rename from android-app-core-tests/src/test/java/org/solovyev/android/calculator/CalculatorReceiverTest.java rename to android-app-tests/src/test/java/org/solovyev/android/calculator/CalculatorReceiverTest.java diff --git a/android-app-core-tests/src/test/java/org/solovyev/android/calculator/view/AngleUnitsButtonTest.java b/android-app-tests/src/test/java/org/solovyev/android/calculator/view/AngleUnitsButtonTest.java similarity index 100% rename from android-app-core-tests/src/test/java/org/solovyev/android/calculator/view/AngleUnitsButtonTest.java rename to android-app-tests/src/test/java/org/solovyev/android/calculator/view/AngleUnitsButtonTest.java diff --git a/android-app-core-tests/src/test/java/org/solovyev/android/calculator/view/NumeralBasesButtonTest.java b/android-app-tests/src/test/java/org/solovyev/android/calculator/view/NumeralBasesButtonTest.java similarity index 100% rename from android-app-core-tests/src/test/java/org/solovyev/android/calculator/view/NumeralBasesButtonTest.java rename to android-app-tests/src/test/java/org/solovyev/android/calculator/view/NumeralBasesButtonTest.java diff --git a/android-app-widget/android-app-widget.iml b/android-app-widget/android-app-widget.iml deleted file mode 100644 index e5ff8511..00000000 --- a/android-app-widget/android-app-widget.iml +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/android-app-widget/build.gradle b/android-app-widget/build.gradle deleted file mode 100644 index 0700ca52..00000000 --- a/android-app-widget/build.gradle +++ /dev/null @@ -1,148 +0,0 @@ -/* - * Copyright 2014 serso aka se.solovyev - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - * Contact details - * - * Email: se.solovyev@gmail.com - * Site: http://se.solovyev.org - */ - -apply plugin: 'com.android.library' -apply plugin: 'maven' -apply plugin: 'signing' - -android { - compileSdkVersion android_sdk_version() - buildToolsVersion android_build_tools_version() - - defaultConfig { - minSdkVersion android_min_sdk_version() - targetSdkVersion android_sdk_version() - versionCode version_code() - versionName version_name() - } - lintOptions { - abortOnError false - } -} - -dependencies { - compile project(':core') - compile project(':android-app-core') - compile 'org.solovyev:common-core:1.0.7' - compile 'org.solovyev:common-text:1.0.7' - compile 'org.solovyev.android:android-common-views:1.1.18@aar' - compile 'org.solovyev.android:android-common-menus:1.1.18@aar' - compile 'org.solovyev.android:android-common-core:1.1.18@aar' - compile 'org.solovyev.android:android-common-preferences:1.1.18@aar' - compile('org.solovyev:jscl:1.0.8') { - exclude(module: 'xercesImpl') - } - compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar' - compile 'com.android.support:support-v4:21.0.3' - //testCompile group: 'org.robolectric', name: 'robolectric', version: '2.1.1' -} - - -task androidJavadocs(type: Javadoc) { - source = android.sourceSets.main.java.srcDirs - classpath += project.files(android.plugin.getBootClasspath().join(File.pathSeparator)) - configurations.compile.each { File file -> classpath += project.files(file.path) } -} - -task androidJavadocsJar(type: Jar, dependsOn: androidJavadocs) { - classifier = 'javadoc' - from androidJavadocs.destinationDir -} - -task androidSourcesJar(type: Jar) { - classifier = 'sources' - from android.sourceSets.main.java.srcDirs -} - -task apklib(type: Zip) { - appendix = extension = 'apklib' - - from 'src/main/AndroidManifest.xml' - into('res') { - from android.sourceSets.main.res.srcDirs - } - into('src') { - from android.sourceSets.main.java.srcDirs - } - into('src') { - from android.sourceSets.main.aidl.srcDirs - } -} - - -artifacts { - archives androidSourcesJar - archives androidJavadocsJar - archives apklib -} - -signing { - sign configurations.archives -} - -group = "org.solovyev.android" -archivesBaseName = "calculatorpp-android-app-widget" -version = version_name() - -uploadArchives { - repositories { - mavenDeployer { - beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) } - - repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") { - authentication(userName: ossrhUsername, password: ossrhPassword) - } - - snapshotRepository(url: "https://oss.sonatype.org/content/repositories/snapshots/") { - authentication(userName: ossrhUsername, password: ossrhPassword) - } - - pom.project { - name 'Calculator++ Application Widget' - packaging 'aar' - url 'https://github.com/serso/android-calculatorpp' - - scm { - url 'https://github.com/serso/android-calculatorpp' - connection 'scm:https://serso@github.com/serso/android-calculatorpp.git' - developerConnection 'scm:git://github.com/serso/android-calculatorpp.git' - } - - licenses { - license { - name 'The Apache Software License, Version 2.0' - url 'http://www.apache.org/licenses/LICENSE-2.0.txt' - distribution 'repo' - } - } - - developers { - developer { - id 'se.solovyev' - name 'Sergey Solovyev' - email 'se.solovyev@gmail.com' - } - } - } - } - } -} diff --git a/android-app-widget/src/main/AndroidManifest.xml b/android-app-widget/src/main/AndroidManifest.xml deleted file mode 100644 index dedbe451..00000000 --- a/android-app-widget/src/main/AndroidManifest.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/android-app-widget/src/main/res/values/colors.xml b/android-app-widget/src/main/res/values/colors.xml deleted file mode 100644 index 75232d5d..00000000 --- a/android-app-widget/src/main/res/values/colors.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - #ff707070 - \ No newline at end of file diff --git a/android-app-widget/src/main/res/values/dimens.xml b/android-app-widget/src/main/res/values/dimens.xml deleted file mode 100644 index 3f631a5a..00000000 --- a/android-app-widget/src/main/res/values/dimens.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - 16sp - 25sp - 16sp - 25sp - 6dp - 300dp - \ No newline at end of file diff --git a/android-app-widget/src/main/res/values/styles.xml b/android-app-widget/src/main/res/values/styles.xml deleted file mode 100644 index 691dbfb0..00000000 --- a/android-app-widget/src/main/res/values/styles.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/android-app/android-app.iml b/android-app/android-app.iml index b8850e67..f582febd 100644 --- a/android-app/android-app.iml +++ b/android-app/android-app.iml @@ -1,5 +1,5 @@ - + @@ -79,35 +79,36 @@ - - + - + - - - + - - + - + - + + + + + + + + + - - - \ No newline at end of file diff --git a/android-app/build.gradle b/android-app/build.gradle index 7225c2a9..00892a91 100644 --- a/android-app/build.gradle +++ b/android-app/build.gradle @@ -47,6 +47,10 @@ android { dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) + compile project(':core') + compile 'org.solovyev:common-core:1.0.7' + compile 'org.solovyev:common-text:1.0.7' + compile 'org.solovyev:common-security:1.0.7' compile 'com.android.support:support-v4:21.0.3' compile ('ch.acra:acra:4.5.0') { exclude group: 'org.json' @@ -58,11 +62,16 @@ dependencies { compile 'org.solovyev.android:android-common-other:1.1.18@aar' compile 'org.solovyev.android:android-common-db:1.1.18@aar' compile 'org.solovyev.android:android-common-security:1.1.18@aar' + compile 'org.solovyev.android:android-common-views:1.1.18@aar' + compile 'org.solovyev.android:android-common-menus:1.1.18@aar' + compile 'org.solovyev.android:android-common-preferences:1.1.18@aar' + compile('org.solovyev:jscl:1.0.8') { + exclude(module: 'xercesImpl') + } compile 'org.solovyev.android:checkout:0.6.0@aar' - compile project(':android-app-core') - compile project(':android-app-widget') - compile project(':android-app-onscreen') - compile project(':core') + compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar' + compile 'com.google.android.gms:play-services:6.5.87@aar' + } task androidJavadocs(type: Javadoc) { diff --git a/android-app-core/src/main/java/org/solovyev/android/calculator/AndroidCalculatorDisplayView.java b/android-app/src/main/java/org/solovyev/android/calculator/AndroidCalculatorDisplayView.java similarity index 99% rename from android-app-core/src/main/java/org/solovyev/android/calculator/AndroidCalculatorDisplayView.java rename to android-app/src/main/java/org/solovyev/android/calculator/AndroidCalculatorDisplayView.java index b70643e6..7290cd52 100644 --- a/android-app-core/src/main/java/org/solovyev/android/calculator/AndroidCalculatorDisplayView.java +++ b/android-app/src/main/java/org/solovyev/android/calculator/AndroidCalculatorDisplayView.java @@ -31,16 +31,13 @@ import android.support.v4.app.FragmentActivity; import android.text.Html; import android.util.AttributeSet; import android.util.TypedValue; - -import org.solovyev.android.calculator.core.R; import org.solovyev.android.calculator.text.TextProcessor; -import org.solovyev.android.calculator.view.TextHighlighter; import org.solovyev.android.calculator.text.TextProcessorEditorResult; +import org.solovyev.android.calculator.view.TextHighlighter; import org.solovyev.android.view.AutoResizeTextView; import javax.annotation.Nonnull; import javax.annotation.Nullable; - import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; diff --git a/android-app-core/src/main/java/org/solovyev/android/calculator/AndroidCalculatorEditorView.java b/android-app/src/main/java/org/solovyev/android/calculator/AndroidCalculatorEditorView.java similarity index 100% rename from android-app-core/src/main/java/org/solovyev/android/calculator/AndroidCalculatorEditorView.java rename to android-app/src/main/java/org/solovyev/android/calculator/AndroidCalculatorEditorView.java diff --git a/android-app-core/src/main/java/org/solovyev/android/calculator/App.java b/android-app/src/main/java/org/solovyev/android/calculator/App.java similarity index 100% rename from android-app-core/src/main/java/org/solovyev/android/calculator/App.java rename to android-app/src/main/java/org/solovyev/android/calculator/App.java diff --git a/android-app/src/main/java/org/solovyev/android/calculator/CalculatorApplication.java b/android-app/src/main/java/org/solovyev/android/calculator/CalculatorApplication.java index bbf55b23..158ed592 100644 --- a/android-app/src/main/java/org/solovyev/android/calculator/CalculatorApplication.java +++ b/android-app/src/main/java/org/solovyev/android/calculator/CalculatorApplication.java @@ -215,6 +215,9 @@ public class CalculatorApplication extends android.app.Application implements Sh Locator.getInstance().getNotifier().showDebugMessage(TAG, "Application started!"); typeFace = Typeface.createFromAsset(getAssets(), "fonts/Roboto-Regular.ttf"); + + // we must update the widget when app starts + App.getBroadcaster().sendEditorStateChangedIntent(); } private void setTheme(@Nonnull SharedPreferences preferences) { diff --git a/android-app-core/src/main/java/org/solovyev/android/calculator/CalculatorBroadcaster.java b/android-app/src/main/java/org/solovyev/android/calculator/CalculatorBroadcaster.java similarity index 100% rename from android-app-core/src/main/java/org/solovyev/android/calculator/CalculatorBroadcaster.java rename to android-app/src/main/java/org/solovyev/android/calculator/CalculatorBroadcaster.java diff --git a/android-app-core/src/main/java/org/solovyev/android/calculator/CalculatorButton.java b/android-app/src/main/java/org/solovyev/android/calculator/CalculatorButton.java similarity index 99% rename from android-app-core/src/main/java/org/solovyev/android/calculator/CalculatorButton.java rename to android-app/src/main/java/org/solovyev/android/calculator/CalculatorButton.java index a1d84bb2..833deff1 100644 --- a/android-app-core/src/main/java/org/solovyev/android/calculator/CalculatorButton.java +++ b/android-app/src/main/java/org/solovyev/android/calculator/CalculatorButton.java @@ -27,7 +27,7 @@ import android.content.Context; import javax.annotation.Nonnull; import javax.annotation.Nullable; -import org.solovyev.android.calculator.core.R; +import org.solovyev.android.calculator.R; import java.util.HashMap; import java.util.Map; diff --git a/android-app-core/src/main/java/org/solovyev/android/calculator/CalculatorButtons.java b/android-app/src/main/java/org/solovyev/android/calculator/CalculatorButtons.java similarity index 99% rename from android-app-core/src/main/java/org/solovyev/android/calculator/CalculatorButtons.java rename to android-app/src/main/java/org/solovyev/android/calculator/CalculatorButtons.java index aa3aeec1..bb555c7a 100644 --- a/android-app-core/src/main/java/org/solovyev/android/calculator/CalculatorButtons.java +++ b/android-app/src/main/java/org/solovyev/android/calculator/CalculatorButtons.java @@ -37,7 +37,7 @@ import jscl.AngleUnit; import jscl.NumeralBase; import org.solovyev.android.Views; -import org.solovyev.android.calculator.core.R; +import org.solovyev.android.calculator.R; import org.solovyev.android.calculator.model.AndroidCalculatorEngine; import org.solovyev.android.calculator.view.AngleUnitsButton; import org.solovyev.android.calculator.view.NumeralBasesButton; diff --git a/android-app-core/src/main/java/org/solovyev/android/calculator/CalculatorDisplayMenuItem.java b/android-app/src/main/java/org/solovyev/android/calculator/CalculatorDisplayMenuItem.java similarity index 98% rename from android-app-core/src/main/java/org/solovyev/android/calculator/CalculatorDisplayMenuItem.java rename to android-app/src/main/java/org/solovyev/android/calculator/CalculatorDisplayMenuItem.java index 095483c8..cf3f1108 100644 --- a/android-app-core/src/main/java/org/solovyev/android/calculator/CalculatorDisplayMenuItem.java +++ b/android-app/src/main/java/org/solovyev/android/calculator/CalculatorDisplayMenuItem.java @@ -27,7 +27,7 @@ import jscl.math.Generic; import javax.annotation.Nonnull; -import org.solovyev.android.calculator.core.R; +import org.solovyev.android.calculator.R; import org.solovyev.android.calculator.jscl.JsclOperation; import org.solovyev.android.calculator.plot.CalculatorPlotter; import org.solovyev.android.calculator.view.NumeralBaseConverterDialog; diff --git a/android-app-core/src/main/java/org/solovyev/android/calculator/CalculatorDisplayOnClickListener.java b/android-app/src/main/java/org/solovyev/android/calculator/CalculatorDisplayOnClickListener.java similarity index 96% rename from android-app-core/src/main/java/org/solovyev/android/calculator/CalculatorDisplayOnClickListener.java rename to android-app/src/main/java/org/solovyev/android/calculator/CalculatorDisplayOnClickListener.java index 4b3994b2..b15c5e85 100644 --- a/android-app-core/src/main/java/org/solovyev/android/calculator/CalculatorDisplayOnClickListener.java +++ b/android-app/src/main/java/org/solovyev/android/calculator/CalculatorDisplayOnClickListener.java @@ -1,77 +1,77 @@ -/* - * Copyright 2013 serso aka se.solovyev - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - * Contact details - * - * Email: se.solovyev@gmail.com - * Site: http://se.solovyev.org - */ - -package org.solovyev.android.calculator; - -import android.support.v4.app.FragmentActivity; -import android.view.View; - -import javax.annotation.Nonnull; - -import org.solovyev.android.menu.ContextMenuBuilder; -import org.solovyev.android.menu.ListContextMenu; - -import java.util.ArrayList; -import java.util.List; - -/** - * User: Solovyev_S - * Date: 21.09.12 - * Time: 10:58 - */ -public class CalculatorDisplayOnClickListener implements View.OnClickListener { - - @Nonnull - private final FragmentActivity activity; - - public CalculatorDisplayOnClickListener(@Nonnull FragmentActivity activity) { - this.activity = activity; - } - - @Override - public void onClick(View v) { - if (v instanceof CalculatorDisplayView) { - final CalculatorDisplay cd = Locator.getInstance().getDisplay(); - - final CalculatorDisplayViewState displayViewState = cd.getViewState(); - - if (displayViewState.isValid()) { - final List filteredMenuItems = new ArrayList(CalculatorDisplayMenuItem.values().length); - for (CalculatorDisplayMenuItem menuItem : CalculatorDisplayMenuItem.values()) { - if (menuItem.isItemVisible(displayViewState)) { - filteredMenuItems.add(menuItem); - } - } - - if (!filteredMenuItems.isEmpty()) { - ContextMenuBuilder.newInstance(activity, "display-menu", ListContextMenu.newInstance(filteredMenuItems)).build(displayViewState).show(); - } - - } else { - final String errorMessage = displayViewState.getErrorMessage(); - if (errorMessage != null) { - Locator.getInstance().getCalculator().fireCalculatorEvent(CalculatorEventType.show_evaluation_error, errorMessage, activity); - } - } - } - } -} +/* + * Copyright 2013 serso aka se.solovyev + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * Contact details + * + * Email: se.solovyev@gmail.com + * Site: http://se.solovyev.org + */ + +package org.solovyev.android.calculator; + +import android.support.v4.app.FragmentActivity; +import android.view.View; + +import javax.annotation.Nonnull; + +import org.solovyev.android.menu.ContextMenuBuilder; +import org.solovyev.android.menu.ListContextMenu; + +import java.util.ArrayList; +import java.util.List; + +/** + * User: Solovyev_S + * Date: 21.09.12 + * Time: 10:58 + */ +public class CalculatorDisplayOnClickListener implements View.OnClickListener { + + @Nonnull + private final FragmentActivity activity; + + public CalculatorDisplayOnClickListener(@Nonnull FragmentActivity activity) { + this.activity = activity; + } + + @Override + public void onClick(View v) { + if (v instanceof CalculatorDisplayView) { + final CalculatorDisplay cd = Locator.getInstance().getDisplay(); + + final CalculatorDisplayViewState displayViewState = cd.getViewState(); + + if (displayViewState.isValid()) { + final List filteredMenuItems = new ArrayList(CalculatorDisplayMenuItem.values().length); + for (CalculatorDisplayMenuItem menuItem : CalculatorDisplayMenuItem.values()) { + if (menuItem.isItemVisible(displayViewState)) { + filteredMenuItems.add(menuItem); + } + } + + if (!filteredMenuItems.isEmpty()) { + ContextMenuBuilder.newInstance(activity, "display-menu", ListContextMenu.newInstance(filteredMenuItems)).build(displayViewState).show(); + } + + } else { + final String errorMessage = displayViewState.getErrorMessage(); + if (errorMessage != null) { + Locator.getInstance().getCalculator().fireCalculatorEvent(CalculatorEventType.show_evaluation_error, errorMessage, activity); + } + } + } + } +} diff --git a/android-app-core/src/main/java/org/solovyev/android/calculator/CalculatorPreferences.java b/android-app/src/main/java/org/solovyev/android/calculator/CalculatorPreferences.java similarity index 99% rename from android-app-core/src/main/java/org/solovyev/android/calculator/CalculatorPreferences.java rename to android-app/src/main/java/org/solovyev/android/calculator/CalculatorPreferences.java index 1ced9d0d..4c4f4c01 100644 --- a/android-app-core/src/main/java/org/solovyev/android/calculator/CalculatorPreferences.java +++ b/android-app/src/main/java/org/solovyev/android/calculator/CalculatorPreferences.java @@ -26,7 +26,7 @@ import android.content.SharedPreferences; import jscl.AngleUnit; import jscl.NumeralBase; -import org.solovyev.android.calculator.core.R; +import org.solovyev.android.calculator.R; import org.solovyev.android.calculator.math.MathType; import org.solovyev.android.calculator.model.AndroidCalculatorEngine; import org.solovyev.android.prefs.*; diff --git a/android-app-core/src/main/java/org/solovyev/android/calculator/CalculatorReceiver.java b/android-app/src/main/java/org/solovyev/android/calculator/CalculatorReceiver.java similarity index 95% rename from android-app-core/src/main/java/org/solovyev/android/calculator/CalculatorReceiver.java rename to android-app/src/main/java/org/solovyev/android/calculator/CalculatorReceiver.java index 16dfe7ef..17c019c8 100644 --- a/android-app-core/src/main/java/org/solovyev/android/calculator/CalculatorReceiver.java +++ b/android-app/src/main/java/org/solovyev/android/calculator/CalculatorReceiver.java @@ -22,8 +22,6 @@ public final class CalculatorReceiver extends BroadcastReceiver { if (button != null) { button.onClick(context); } - - App.getBroadcaster().sendEditorStateChangedIntent(); } } diff --git a/android-app-core/src/main/java/org/solovyev/android/calculator/ConversionMenuItem.java b/android-app/src/main/java/org/solovyev/android/calculator/ConversionMenuItem.java similarity index 96% rename from android-app-core/src/main/java/org/solovyev/android/calculator/ConversionMenuItem.java rename to android-app/src/main/java/org/solovyev/android/calculator/ConversionMenuItem.java index ed44264c..8a048941 100644 --- a/android-app-core/src/main/java/org/solovyev/android/calculator/ConversionMenuItem.java +++ b/android-app/src/main/java/org/solovyev/android/calculator/ConversionMenuItem.java @@ -1,76 +1,76 @@ -/* - * Copyright 2013 serso aka se.solovyev - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - * Contact details - * - * Email: se.solovyev@gmail.com - * Site: http://se.solovyev.org - */ - -package org.solovyev.android.calculator; - -import android.content.Context; -import jscl.NumeralBase; -import jscl.math.Generic; - -import javax.annotation.Nonnull; - -import org.solovyev.android.calculator.jscl.JsclOperation; -import org.solovyev.android.menu.AMenuItem; - -/** - * User: serso - * Date: 9/21/12 - * Time: 12:11 AM - */ -enum ConversionMenuItem implements AMenuItem { - - convert_to_bin(NumeralBase.bin), - convert_to_dec(NumeralBase.dec), - convert_to_hex(NumeralBase.hex); - - @Nonnull - private final NumeralBase toNumeralBase; - - ConversionMenuItem(@Nonnull NumeralBase toNumeralBase) { - this.toNumeralBase = toNumeralBase; - } - - protected boolean isItemVisibleFor(@Nonnull Generic generic, @Nonnull JsclOperation operation) { - boolean result = false; - - if (operation == JsclOperation.numeric) { - if (generic.getConstants().isEmpty()) { - // conversion possible => return true - final NumeralBase fromNumeralBase = Locator.getInstance().getEngine().getNumeralBase(); - if (fromNumeralBase != toNumeralBase) { - result = Locator.getInstance().getCalculator().isConversionPossible(generic, fromNumeralBase, this.toNumeralBase); - } - } - } - - return result; - } - - @Override - public void onClick(@Nonnull CalculatorDisplayViewState data, @Nonnull Context context) { - final Generic result = data.getResult(); - - if (result != null) { - Locator.getInstance().getCalculator().convert(result, this.toNumeralBase); - } - } -} +/* + * Copyright 2013 serso aka se.solovyev + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * Contact details + * + * Email: se.solovyev@gmail.com + * Site: http://se.solovyev.org + */ + +package org.solovyev.android.calculator; + +import android.content.Context; +import jscl.NumeralBase; +import jscl.math.Generic; + +import javax.annotation.Nonnull; + +import org.solovyev.android.calculator.jscl.JsclOperation; +import org.solovyev.android.menu.AMenuItem; + +/** + * User: serso + * Date: 9/21/12 + * Time: 12:11 AM + */ +enum ConversionMenuItem implements AMenuItem { + + convert_to_bin(NumeralBase.bin), + convert_to_dec(NumeralBase.dec), + convert_to_hex(NumeralBase.hex); + + @Nonnull + private final NumeralBase toNumeralBase; + + ConversionMenuItem(@Nonnull NumeralBase toNumeralBase) { + this.toNumeralBase = toNumeralBase; + } + + protected boolean isItemVisibleFor(@Nonnull Generic generic, @Nonnull JsclOperation operation) { + boolean result = false; + + if (operation == JsclOperation.numeric) { + if (generic.getConstants().isEmpty()) { + // conversion possible => return true + final NumeralBase fromNumeralBase = Locator.getInstance().getEngine().getNumeralBase(); + if (fromNumeralBase != toNumeralBase) { + result = Locator.getInstance().getCalculator().isConversionPossible(generic, fromNumeralBase, this.toNumeralBase); + } + } + } + + return result; + } + + @Override + public void onClick(@Nonnull CalculatorDisplayViewState data, @Nonnull Context context) { + final Generic result = data.getResult(); + + if (result != null) { + Locator.getInstance().getCalculator().convert(result, this.toNumeralBase); + } + } +} diff --git a/android-app-core/src/main/java/org/solovyev/android/calculator/DigitButtonDragProcessor.java b/android-app/src/main/java/org/solovyev/android/calculator/DigitButtonDragProcessor.java similarity index 97% rename from android-app-core/src/main/java/org/solovyev/android/calculator/DigitButtonDragProcessor.java rename to android-app/src/main/java/org/solovyev/android/calculator/DigitButtonDragProcessor.java index ef99e295..43579581 100644 --- a/android-app-core/src/main/java/org/solovyev/android/calculator/DigitButtonDragProcessor.java +++ b/android-app/src/main/java/org/solovyev/android/calculator/DigitButtonDragProcessor.java @@ -1,56 +1,56 @@ -/* - * Copyright 2013 serso aka se.solovyev - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - * Contact details - * - * Email: se.solovyev@gmail.com - * Site: http://se.solovyev.org - */ - -package org.solovyev.android.calculator; - -import android.view.MotionEvent; - -import javax.annotation.Nonnull; - -import org.solovyev.android.view.drag.DirectionDragButton; -import org.solovyev.android.view.drag.DragButton; -import org.solovyev.android.view.drag.DragDirection; -import org.solovyev.android.view.drag.SimpleOnDragListener; -import org.solovyev.common.math.Point2d; - -/** - * User: serso - * Date: 9/16/11 - * Time: 11:48 PM - */ -public class DigitButtonDragProcessor implements SimpleOnDragListener.DragProcessor { - - @Nonnull - private CalculatorKeyboard calculatorKeyboard; - - public DigitButtonDragProcessor(@Nonnull CalculatorKeyboard calculatorKeyboard) { - this.calculatorKeyboard = calculatorKeyboard; - } - - @Override - public boolean processDragEvent(@Nonnull DragDirection dragDirection, @Nonnull DragButton dragButton, @Nonnull Point2d startPoint2d, @Nonnull MotionEvent motionEvent) { - assert dragButton instanceof DirectionDragButton; - calculatorKeyboard.buttonPressed(((DirectionDragButton) dragButton).getText(dragDirection)); - return true; - } - -} +/* + * Copyright 2013 serso aka se.solovyev + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * Contact details + * + * Email: se.solovyev@gmail.com + * Site: http://se.solovyev.org + */ + +package org.solovyev.android.calculator; + +import android.view.MotionEvent; + +import javax.annotation.Nonnull; + +import org.solovyev.android.view.drag.DirectionDragButton; +import org.solovyev.android.view.drag.DragButton; +import org.solovyev.android.view.drag.DragDirection; +import org.solovyev.android.view.drag.SimpleOnDragListener; +import org.solovyev.common.math.Point2d; + +/** + * User: serso + * Date: 9/16/11 + * Time: 11:48 PM + */ +public class DigitButtonDragProcessor implements SimpleOnDragListener.DragProcessor { + + @Nonnull + private CalculatorKeyboard calculatorKeyboard; + + public DigitButtonDragProcessor(@Nonnull CalculatorKeyboard calculatorKeyboard) { + this.calculatorKeyboard = calculatorKeyboard; + } + + @Override + public boolean processDragEvent(@Nonnull DragDirection dragDirection, @Nonnull DragButton dragButton, @Nonnull Point2d startPoint2d, @Nonnull MotionEvent motionEvent) { + assert dragButton instanceof DirectionDragButton; + calculatorKeyboard.buttonPressed(((DirectionDragButton) dragButton).getText(dragDirection)); + return true; + } + +} diff --git a/android-app-core/src/main/java/org/solovyev/android/calculator/FixableMessage.java b/android-app/src/main/java/org/solovyev/android/calculator/FixableMessage.java similarity index 100% rename from android-app-core/src/main/java/org/solovyev/android/calculator/FixableMessage.java rename to android-app/src/main/java/org/solovyev/android/calculator/FixableMessage.java diff --git a/android-app-core/src/main/java/org/solovyev/android/calculator/FixableMessagesDialog.java b/android-app/src/main/java/org/solovyev/android/calculator/FixableMessagesDialog.java similarity index 99% rename from android-app-core/src/main/java/org/solovyev/android/calculator/FixableMessagesDialog.java rename to android-app/src/main/java/org/solovyev/android/calculator/FixableMessagesDialog.java index e08453ed..d6c6bfaf 100644 --- a/android-app-core/src/main/java/org/solovyev/android/calculator/FixableMessagesDialog.java +++ b/android-app/src/main/java/org/solovyev/android/calculator/FixableMessagesDialog.java @@ -40,7 +40,7 @@ import com.actionbarsherlock.app.SherlockActivity; import javax.annotation.Nonnull; -import org.solovyev.android.calculator.core.R; +import org.solovyev.android.calculator.R; import org.solovyev.common.msg.Message; import org.solovyev.common.text.Strings; diff --git a/android-app-core/src/main/java/org/solovyev/android/calculator/ParcelableDialogData.java b/android-app/src/main/java/org/solovyev/android/calculator/ParcelableDialogData.java similarity index 100% rename from android-app-core/src/main/java/org/solovyev/android/calculator/ParcelableDialogData.java rename to android-app/src/main/java/org/solovyev/android/calculator/ParcelableDialogData.java diff --git a/android-app-core/src/main/java/org/solovyev/android/calculator/ServiceLocator.java b/android-app/src/main/java/org/solovyev/android/calculator/ServiceLocator.java similarity index 100% rename from android-app-core/src/main/java/org/solovyev/android/calculator/ServiceLocator.java rename to android-app/src/main/java/org/solovyev/android/calculator/ServiceLocator.java diff --git a/android-app-core/src/main/java/org/solovyev/android/calculator/external/ExternalCalculatorIntentHandler.java b/android-app/src/main/java/org/solovyev/android/calculator/external/ExternalCalculatorIntentHandler.java similarity index 100% rename from android-app-core/src/main/java/org/solovyev/android/calculator/external/ExternalCalculatorIntentHandler.java rename to android-app/src/main/java/org/solovyev/android/calculator/external/ExternalCalculatorIntentHandler.java diff --git a/android-app-core/src/main/java/org/solovyev/android/calculator/model/AndroidCalculatorEngine.java b/android-app/src/main/java/org/solovyev/android/calculator/model/AndroidCalculatorEngine.java similarity index 99% rename from android-app-core/src/main/java/org/solovyev/android/calculator/model/AndroidCalculatorEngine.java rename to android-app/src/main/java/org/solovyev/android/calculator/model/AndroidCalculatorEngine.java index d55e3b5a..97ff0751 100644 --- a/android-app-core/src/main/java/org/solovyev/android/calculator/model/AndroidCalculatorEngine.java +++ b/android-app/src/main/java/org/solovyev/android/calculator/model/AndroidCalculatorEngine.java @@ -37,7 +37,7 @@ import jscl.math.operator.Operator; import javax.annotation.Nonnull; import org.solovyev.android.calculator.*; -import org.solovyev.android.calculator.core.R; +import org.solovyev.android.calculator.R; import org.solovyev.android.prefs.BooleanPreference; import org.solovyev.android.prefs.Preference; import org.solovyev.android.prefs.StringPreference; diff --git a/android-app-core/src/main/java/org/solovyev/android/calculator/model/AndroidMathEntityDao.java b/android-app/src/main/java/org/solovyev/android/calculator/model/AndroidMathEntityDao.java similarity index 96% rename from android-app-core/src/main/java/org/solovyev/android/calculator/model/AndroidMathEntityDao.java rename to android-app/src/main/java/org/solovyev/android/calculator/model/AndroidMathEntityDao.java index a34a72a8..041e8f9b 100644 --- a/android-app-core/src/main/java/org/solovyev/android/calculator/model/AndroidMathEntityDao.java +++ b/android-app/src/main/java/org/solovyev/android/calculator/model/AndroidMathEntityDao.java @@ -1,121 +1,121 @@ -/* - * Copyright 2013 serso aka se.solovyev - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - * Contact details - * - * Email: se.solovyev@gmail.com - * Site: http://se.solovyev.org - */ - -package org.solovyev.android.calculator.model; - -import android.app.Application; -import android.content.Context; -import android.content.SharedPreferences; -import android.content.res.Resources; -import android.preference.PreferenceManager; -import org.simpleframework.xml.Serializer; -import org.simpleframework.xml.core.Persister; -import org.solovyev.android.calculator.App; -import org.solovyev.android.calculator.MathEntityDao; -import org.solovyev.android.calculator.MathEntityPersistenceContainer; -import org.solovyev.android.calculator.MathPersistenceEntity; - -import javax.annotation.Nonnull; -import javax.annotation.Nullable; -import java.io.StringWriter; - -/** - * User: serso - * Date: 10/7/12 - * Time: 6:46 PM - */ -public class AndroidMathEntityDao implements MathEntityDao { - - @Nonnull - private static final String TAG = AndroidMathEntityDao.class.getSimpleName(); - - @Nullable - private final String preferenceString; - - @Nonnull - private final Context context; - - @Nullable - private final Class> persistenceContainerClass; - - public AndroidMathEntityDao(@Nullable String preferenceString, - @Nonnull Application application, - @Nullable Class> persistenceContainerClass) { - this.preferenceString = preferenceString; - this.context = application; - this.persistenceContainerClass = persistenceContainerClass; - } - - @Override - public void save(@Nonnull MathEntityPersistenceContainer container) { - if (preferenceString != null) { - final SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(context); - final SharedPreferences.Editor editor = settings.edit(); - - final StringWriter sw = new StringWriter(); - final Serializer serializer = new Persister(); - try { - serializer.write(container, sw); - } catch (Exception e) { - throw new RuntimeException(e); - } - - editor.putString(preferenceString, sw.toString()); - - editor.commit(); - } - } - - @Nullable - @Override - public MathEntityPersistenceContainer load() { - if (persistenceContainerClass != null && preferenceString != null) { - final SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context); - - if (preferences != null) { - final String value = preferences.getString(preferenceString, null); - if (value != null) { - final Serializer serializer = new Persister(); - try { - return serializer.read(persistenceContainerClass, value); - } catch (Exception e) { - throw new RuntimeException(e); - } - } - } - } - - return null; - } - - @Nullable - public String getDescription(@Nonnull String descriptionId) { - final Resources resources = context.getResources(); - - final int stringId = resources.getIdentifier(descriptionId, "string", App.getApplication().getClass().getPackage().getName()); - try { - return resources.getString(stringId); - } catch (Resources.NotFoundException e) { - return null; - } - } -} +/* + * Copyright 2013 serso aka se.solovyev + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * Contact details + * + * Email: se.solovyev@gmail.com + * Site: http://se.solovyev.org + */ + +package org.solovyev.android.calculator.model; + +import android.app.Application; +import android.content.Context; +import android.content.SharedPreferences; +import android.content.res.Resources; +import android.preference.PreferenceManager; +import org.simpleframework.xml.Serializer; +import org.simpleframework.xml.core.Persister; +import org.solovyev.android.calculator.App; +import org.solovyev.android.calculator.MathEntityDao; +import org.solovyev.android.calculator.MathEntityPersistenceContainer; +import org.solovyev.android.calculator.MathPersistenceEntity; + +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import java.io.StringWriter; + +/** + * User: serso + * Date: 10/7/12 + * Time: 6:46 PM + */ +public class AndroidMathEntityDao implements MathEntityDao { + + @Nonnull + private static final String TAG = AndroidMathEntityDao.class.getSimpleName(); + + @Nullable + private final String preferenceString; + + @Nonnull + private final Context context; + + @Nullable + private final Class> persistenceContainerClass; + + public AndroidMathEntityDao(@Nullable String preferenceString, + @Nonnull Application application, + @Nullable Class> persistenceContainerClass) { + this.preferenceString = preferenceString; + this.context = application; + this.persistenceContainerClass = persistenceContainerClass; + } + + @Override + public void save(@Nonnull MathEntityPersistenceContainer container) { + if (preferenceString != null) { + final SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(context); + final SharedPreferences.Editor editor = settings.edit(); + + final StringWriter sw = new StringWriter(); + final Serializer serializer = new Persister(); + try { + serializer.write(container, sw); + } catch (Exception e) { + throw new RuntimeException(e); + } + + editor.putString(preferenceString, sw.toString()); + + editor.commit(); + } + } + + @Nullable + @Override + public MathEntityPersistenceContainer load() { + if (persistenceContainerClass != null && preferenceString != null) { + final SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context); + + if (preferences != null) { + final String value = preferences.getString(preferenceString, null); + if (value != null) { + final Serializer serializer = new Persister(); + try { + return serializer.read(persistenceContainerClass, value); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + } + } + + return null; + } + + @Nullable + public String getDescription(@Nonnull String descriptionId) { + final Resources resources = context.getResources(); + + final int stringId = resources.getIdentifier(descriptionId, "string", App.getApplication().getClass().getPackage().getName()); + try { + return resources.getString(stringId); + } catch (Resources.NotFoundException e) { + return null; + } + } +} diff --git a/android-app-onscreen/src/main/java/org/solovyev/android/calculator/onscreen/CalculatorOnscreenBroadcastReceiver.java b/android-app/src/main/java/org/solovyev/android/calculator/onscreen/CalculatorOnscreenBroadcastReceiver.java similarity index 100% rename from android-app-onscreen/src/main/java/org/solovyev/android/calculator/onscreen/CalculatorOnscreenBroadcastReceiver.java rename to android-app/src/main/java/org/solovyev/android/calculator/onscreen/CalculatorOnscreenBroadcastReceiver.java diff --git a/android-app-onscreen/src/main/java/org/solovyev/android/calculator/onscreen/CalculatorOnscreenService.java b/android-app/src/main/java/org/solovyev/android/calculator/onscreen/CalculatorOnscreenService.java similarity index 100% rename from android-app-onscreen/src/main/java/org/solovyev/android/calculator/onscreen/CalculatorOnscreenService.java rename to android-app/src/main/java/org/solovyev/android/calculator/onscreen/CalculatorOnscreenService.java diff --git a/android-app-onscreen/src/main/java/org/solovyev/android/calculator/onscreen/CalculatorOnscreenStartActivity.java b/android-app/src/main/java/org/solovyev/android/calculator/onscreen/CalculatorOnscreenStartActivity.java similarity index 96% rename from android-app-onscreen/src/main/java/org/solovyev/android/calculator/onscreen/CalculatorOnscreenStartActivity.java rename to android-app/src/main/java/org/solovyev/android/calculator/onscreen/CalculatorOnscreenStartActivity.java index 3b032723..a4c74347 100644 --- a/android-app-onscreen/src/main/java/org/solovyev/android/calculator/onscreen/CalculatorOnscreenStartActivity.java +++ b/android-app/src/main/java/org/solovyev/android/calculator/onscreen/CalculatorOnscreenStartActivity.java @@ -1,38 +1,38 @@ -/* - * Copyright 2013 serso aka se.solovyev - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - * Contact details - * - * Email: se.solovyev@gmail.com - * Site: http://se.solovyev.org - */ - -package org.solovyev.android.calculator.onscreen; - -import android.app.Activity; -import android.os.Bundle; - -public class CalculatorOnscreenStartActivity extends Activity { - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - - CalculatorOnscreenService.showOnscreenView(this); - - this.finish(); - } -} +/* + * Copyright 2013 serso aka se.solovyev + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * Contact details + * + * Email: se.solovyev@gmail.com + * Site: http://se.solovyev.org + */ + +package org.solovyev.android.calculator.onscreen; + +import android.app.Activity; +import android.os.Bundle; + +public class CalculatorOnscreenStartActivity extends Activity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + CalculatorOnscreenService.showOnscreenView(this); + + this.finish(); + } +} diff --git a/android-app-onscreen/src/main/java/org/solovyev/android/calculator/onscreen/CalculatorOnscreenView.java b/android-app/src/main/java/org/solovyev/android/calculator/onscreen/CalculatorOnscreenView.java similarity index 100% rename from android-app-onscreen/src/main/java/org/solovyev/android/calculator/onscreen/CalculatorOnscreenView.java rename to android-app/src/main/java/org/solovyev/android/calculator/onscreen/CalculatorOnscreenView.java diff --git a/android-app-onscreen/src/main/java/org/solovyev/android/calculator/onscreen/CalculatorOnscreenViewState.java b/android-app/src/main/java/org/solovyev/android/calculator/onscreen/CalculatorOnscreenViewState.java similarity index 100% rename from android-app-onscreen/src/main/java/org/solovyev/android/calculator/onscreen/CalculatorOnscreenViewState.java rename to android-app/src/main/java/org/solovyev/android/calculator/onscreen/CalculatorOnscreenViewState.java diff --git a/android-app-onscreen/src/main/java/org/solovyev/android/calculator/onscreen/OnscreenViewListener.java b/android-app/src/main/java/org/solovyev/android/calculator/onscreen/OnscreenViewListener.java similarity index 100% rename from android-app-onscreen/src/main/java/org/solovyev/android/calculator/onscreen/OnscreenViewListener.java rename to android-app/src/main/java/org/solovyev/android/calculator/onscreen/OnscreenViewListener.java diff --git a/android-app-core/src/main/java/org/solovyev/android/calculator/plot/AndroidCalculatorPlotter.java b/android-app/src/main/java/org/solovyev/android/calculator/plot/AndroidCalculatorPlotter.java similarity index 100% rename from android-app-core/src/main/java/org/solovyev/android/calculator/plot/AndroidCalculatorPlotter.java rename to android-app/src/main/java/org/solovyev/android/calculator/plot/AndroidCalculatorPlotter.java diff --git a/android-app-core/src/main/java/org/solovyev/android/calculator/plot/AndroidPlotLineStyle.java b/android-app/src/main/java/org/solovyev/android/calculator/plot/AndroidPlotLineStyle.java similarity index 100% rename from android-app-core/src/main/java/org/solovyev/android/calculator/plot/AndroidPlotLineStyle.java rename to android-app/src/main/java/org/solovyev/android/calculator/plot/AndroidPlotLineStyle.java diff --git a/android-app-core/src/main/java/org/solovyev/android/calculator/view/AngleUnitsButton.java b/android-app/src/main/java/org/solovyev/android/calculator/view/AngleUnitsButton.java similarity index 98% rename from android-app-core/src/main/java/org/solovyev/android/calculator/view/AngleUnitsButton.java rename to android-app/src/main/java/org/solovyev/android/calculator/view/AngleUnitsButton.java index bd7de550..80244601 100644 --- a/android-app-core/src/main/java/org/solovyev/android/calculator/view/AngleUnitsButton.java +++ b/android-app/src/main/java/org/solovyev/android/calculator/view/AngleUnitsButton.java @@ -29,7 +29,7 @@ import android.text.TextPaint; import android.util.AttributeSet; import jscl.AngleUnit; import org.solovyev.android.calculator.Locator; -import org.solovyev.android.calculator.core.R; +import org.solovyev.android.calculator.R; import org.solovyev.android.view.drag.DirectionDragButton; import javax.annotation.Nonnull; diff --git a/android-app-core/src/main/java/org/solovyev/android/calculator/view/EditorTextProcessor.java b/android-app/src/main/java/org/solovyev/android/calculator/view/EditorTextProcessor.java similarity index 100% rename from android-app-core/src/main/java/org/solovyev/android/calculator/view/EditorTextProcessor.java rename to android-app/src/main/java/org/solovyev/android/calculator/view/EditorTextProcessor.java diff --git a/android-app-core/src/main/java/org/solovyev/android/calculator/view/NumeralBaseConverterDialog.java b/android-app/src/main/java/org/solovyev/android/calculator/view/NumeralBaseConverterDialog.java similarity index 96% rename from android-app-core/src/main/java/org/solovyev/android/calculator/view/NumeralBaseConverterDialog.java rename to android-app/src/main/java/org/solovyev/android/calculator/view/NumeralBaseConverterDialog.java index 81c88097..e696ab9f 100644 --- a/android-app-core/src/main/java/org/solovyev/android/calculator/view/NumeralBaseConverterDialog.java +++ b/android-app/src/main/java/org/solovyev/android/calculator/view/NumeralBaseConverterDialog.java @@ -1,122 +1,120 @@ -/* - * Copyright 2013 serso aka se.solovyev - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - * Contact details - * - * Email: se.solovyev@gmail.com - * Site: http://se.solovyev.org - */ - -package org.solovyev.android.calculator.view; - -import android.app.AlertDialog; -import android.content.Context; -import android.view.View; -import android.view.WindowManager; - -import javax.annotation.Nonnull; -import javax.annotation.Nullable; - -import org.solovyev.android.calculator.CalculatorParseException; -import org.solovyev.android.calculator.Locator; -import org.solovyev.android.calculator.ToJsclTextProcessor; -import org.solovyev.android.calculator.core.R; -import org.solovyev.android.calculator.units.CalculatorNumeralBase; -import org.solovyev.common.MutableObject; -import org.solovyev.common.text.Strings; -import org.solovyev.common.units.Unit; -import org.solovyev.common.units.UnitImpl; - -import java.util.Arrays; - -/** - * User: serso - * Date: 4/22/12 - * Time: 12:20 AM - */ -public class NumeralBaseConverterDialog { - - @Nullable - private String initialFromValue; - - public NumeralBaseConverterDialog(@Nullable String initialFromValue) { - this.initialFromValue = initialFromValue; - } - - public void show(@Nonnull Context context) { - final UnitConverterViewBuilder b = new UnitConverterViewBuilder(); - b.setFromUnitTypes(Arrays.asList(CalculatorNumeralBase.values())); - b.setToUnitTypes(Arrays.asList(CalculatorNumeralBase.values())); - - if (!Strings.isEmpty(initialFromValue)) { - String value = initialFromValue; - try { - value = ToJsclTextProcessor.getInstance().process(value).getExpression(); - b.setFromValue(UnitImpl.newInstance(value, CalculatorNumeralBase.valueOf(Locator.getInstance().getEngine().getNumeralBase()))); - } catch (CalculatorParseException e) { - b.setFromValue(UnitImpl.newInstance(value, CalculatorNumeralBase.valueOf(Locator.getInstance().getEngine().getNumeralBase()))); - } - } else { - b.setFromValue(UnitImpl.newInstance("", CalculatorNumeralBase.valueOf(Locator.getInstance().getEngine().getNumeralBase()))); - } - - b.setConverter(CalculatorNumeralBase.getConverter()); - - final MutableObject alertDialogHolder = new MutableObject(); - b.setOkButtonOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - final AlertDialog alertDialog = alertDialogHolder.getObject(); - if (alertDialog != null) { - alertDialog.dismiss(); - } - } - }); - - b.setCustomButtonData(new UnitConverterViewBuilder.CustomButtonData(context.getString(R.string.c_use_short), new UnitConverterViewBuilder.CustomButtonOnClickListener() { - @Override - public void onClick(@Nonnull Unit fromUnits, @Nonnull Unit toUnits) { - String toUnitsValue = toUnits.getValue(); - - if (!toUnits.getUnitType().equals(CalculatorNumeralBase.valueOf(Locator.getInstance().getEngine().getNumeralBase()))) { - toUnitsValue = ((CalculatorNumeralBase) toUnits.getUnitType()).getNumeralBase().getJsclPrefix() + toUnitsValue; - } - - Locator.getInstance().getKeyboard().buttonPressed(toUnitsValue); - final AlertDialog alertDialog = alertDialogHolder.getObject(); - if (alertDialog != null) { - alertDialog.dismiss(); - } - } - })); - - final AlertDialog.Builder alertBuilder = new AlertDialog.Builder(context); - alertBuilder.setView(b.build(context)); - alertBuilder.setTitle(R.string.c_conversion_tool); - - final AlertDialog alertDialog = alertBuilder.create(); - - final WindowManager.LayoutParams lp = new WindowManager.LayoutParams(); - lp.copyFrom(alertDialog.getWindow().getAttributes()); - - lp.width = WindowManager.LayoutParams.FILL_PARENT; - lp.height = WindowManager.LayoutParams.WRAP_CONTENT; - - alertDialogHolder.setObject(alertDialog); - alertDialog.show(); - alertDialog.getWindow().setAttributes(lp); - } -} +/* + * Copyright 2013 serso aka se.solovyev + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * Contact details + * + * Email: se.solovyev@gmail.com + * Site: http://se.solovyev.org + */ + +package org.solovyev.android.calculator.view; + +import android.app.AlertDialog; +import android.content.Context; +import android.view.View; +import android.view.WindowManager; +import org.solovyev.android.calculator.CalculatorParseException; +import org.solovyev.android.calculator.Locator; +import org.solovyev.android.calculator.R; +import org.solovyev.android.calculator.ToJsclTextProcessor; +import org.solovyev.android.calculator.units.CalculatorNumeralBase; +import org.solovyev.common.MutableObject; +import org.solovyev.common.text.Strings; +import org.solovyev.common.units.Unit; +import org.solovyev.common.units.UnitImpl; + +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import java.util.Arrays; + +/** + * User: serso + * Date: 4/22/12 + * Time: 12:20 AM + */ +public class NumeralBaseConverterDialog { + + @Nullable + private String initialFromValue; + + public NumeralBaseConverterDialog(@Nullable String initialFromValue) { + this.initialFromValue = initialFromValue; + } + + public void show(@Nonnull Context context) { + final UnitConverterViewBuilder b = new UnitConverterViewBuilder(); + b.setFromUnitTypes(Arrays.asList(CalculatorNumeralBase.values())); + b.setToUnitTypes(Arrays.asList(CalculatorNumeralBase.values())); + + if (!Strings.isEmpty(initialFromValue)) { + String value = initialFromValue; + try { + value = ToJsclTextProcessor.getInstance().process(value).getExpression(); + b.setFromValue(UnitImpl.newInstance(value, CalculatorNumeralBase.valueOf(Locator.getInstance().getEngine().getNumeralBase()))); + } catch (CalculatorParseException e) { + b.setFromValue(UnitImpl.newInstance(value, CalculatorNumeralBase.valueOf(Locator.getInstance().getEngine().getNumeralBase()))); + } + } else { + b.setFromValue(UnitImpl.newInstance("", CalculatorNumeralBase.valueOf(Locator.getInstance().getEngine().getNumeralBase()))); + } + + b.setConverter(CalculatorNumeralBase.getConverter()); + + final MutableObject alertDialogHolder = new MutableObject(); + b.setOkButtonOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + final AlertDialog alertDialog = alertDialogHolder.getObject(); + if (alertDialog != null) { + alertDialog.dismiss(); + } + } + }); + + b.setCustomButtonData(new UnitConverterViewBuilder.CustomButtonData(context.getString(R.string.c_use_short), new UnitConverterViewBuilder.CustomButtonOnClickListener() { + @Override + public void onClick(@Nonnull Unit fromUnits, @Nonnull Unit toUnits) { + String toUnitsValue = toUnits.getValue(); + + if (!toUnits.getUnitType().equals(CalculatorNumeralBase.valueOf(Locator.getInstance().getEngine().getNumeralBase()))) { + toUnitsValue = ((CalculatorNumeralBase) toUnits.getUnitType()).getNumeralBase().getJsclPrefix() + toUnitsValue; + } + + Locator.getInstance().getKeyboard().buttonPressed(toUnitsValue); + final AlertDialog alertDialog = alertDialogHolder.getObject(); + if (alertDialog != null) { + alertDialog.dismiss(); + } + } + })); + + final AlertDialog.Builder alertBuilder = new AlertDialog.Builder(context); + alertBuilder.setView(b.build(context)); + alertBuilder.setTitle(R.string.c_conversion_tool); + + final AlertDialog alertDialog = alertBuilder.create(); + + final WindowManager.LayoutParams lp = new WindowManager.LayoutParams(); + lp.copyFrom(alertDialog.getWindow().getAttributes()); + + lp.width = WindowManager.LayoutParams.FILL_PARENT; + lp.height = WindowManager.LayoutParams.WRAP_CONTENT; + + alertDialogHolder.setObject(alertDialog); + alertDialog.show(); + alertDialog.getWindow().setAttributes(lp); + } +} diff --git a/android-app-core/src/main/java/org/solovyev/android/calculator/view/NumeralBasesButton.java b/android-app/src/main/java/org/solovyev/android/calculator/view/NumeralBasesButton.java similarity index 98% rename from android-app-core/src/main/java/org/solovyev/android/calculator/view/NumeralBasesButton.java rename to android-app/src/main/java/org/solovyev/android/calculator/view/NumeralBasesButton.java index 11be30c8..0ae944b2 100644 --- a/android-app-core/src/main/java/org/solovyev/android/calculator/view/NumeralBasesButton.java +++ b/android-app/src/main/java/org/solovyev/android/calculator/view/NumeralBasesButton.java @@ -28,7 +28,7 @@ import android.text.TextPaint; import android.util.AttributeSet; import jscl.NumeralBase; import org.solovyev.android.calculator.Locator; -import org.solovyev.android.calculator.core.R; +import org.solovyev.android.calculator.R; import org.solovyev.android.view.drag.DirectionDragButton; import javax.annotation.Nonnull; diff --git a/android-app-core/src/main/java/org/solovyev/android/calculator/view/TextHighlighter.java b/android-app/src/main/java/org/solovyev/android/calculator/view/TextHighlighter.java similarity index 100% rename from android-app-core/src/main/java/org/solovyev/android/calculator/view/TextHighlighter.java rename to android-app/src/main/java/org/solovyev/android/calculator/view/TextHighlighter.java diff --git a/android-app-core/src/main/java/org/solovyev/android/calculator/view/UnitConverterViewBuilder.java b/android-app/src/main/java/org/solovyev/android/calculator/view/UnitConverterViewBuilder.java similarity index 96% rename from android-app-core/src/main/java/org/solovyev/android/calculator/view/UnitConverterViewBuilder.java rename to android-app/src/main/java/org/solovyev/android/calculator/view/UnitConverterViewBuilder.java index b33b8aa0..afbd4509 100644 --- a/android-app-core/src/main/java/org/solovyev/android/calculator/view/UnitConverterViewBuilder.java +++ b/android-app/src/main/java/org/solovyev/android/calculator/view/UnitConverterViewBuilder.java @@ -1,243 +1,243 @@ -/* - * Copyright 2013 serso aka se.solovyev - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - * Contact details - * - * Email: se.solovyev@gmail.com - * Site: http://se.solovyev.org - */ - -package org.solovyev.android.calculator.view; - -import android.app.Activity; -import android.content.Context; -import android.text.ClipboardManager; -import android.text.Editable; -import android.text.TextWatcher; -import android.view.View; -import android.view.ViewGroup; -import android.widget.*; - -import javax.annotation.Nonnull; -import javax.annotation.Nullable; - -import org.solovyev.android.calculator.core.R; -import org.solovyev.android.view.ViewBuilder; -import org.solovyev.android.view.ViewFromLayoutBuilder; -import org.solovyev.common.units.*; - -import java.util.Collections; -import java.util.List; - -/** - * User: serso - * Date: 4/20/12 - * Time: 4:50 PM - */ -public class UnitConverterViewBuilder implements ViewBuilder { - - @Nonnull - private List> fromUnitTypes = Collections.emptyList(); - - @Nonnull - private List> toUnitTypes = Collections.emptyList(); - - @Nullable - private Unit fromValue; - - @Nonnull - private UnitConverter converter = UnitConverter.Dummy.getInstance(); - - @Nullable - private View.OnClickListener okButtonOnClickListener; - - @Nullable - private CustomButtonData customButtonData; - - public void setFromUnitTypes(@Nonnull List> fromUnitTypes) { - this.fromUnitTypes = fromUnitTypes; - } - - public void setToUnitTypes(@Nonnull List> toUnitTypes) { - this.toUnitTypes = toUnitTypes; - } - - public void setFromValue(@Nullable Unit fromValue) { - this.fromValue = fromValue; - } - - public void setConverter(@Nonnull UnitConverter converter) { - this.converter = converter; - } - - public void setOkButtonOnClickListener(@Nullable View.OnClickListener okButtonOnClickListener) { - this.okButtonOnClickListener = okButtonOnClickListener; - } - - public void setCustomButtonData(@Nullable CustomButtonData customButtonData) { - this.customButtonData = customButtonData; - } - - @Nonnull - @Override - public View build(@Nonnull final Context context) { - final View main = ViewFromLayoutBuilder.newInstance(R.layout.cpp_unit_converter).build(context); - - final Spinner fromSpinner = (Spinner) main.findViewById(R.id.unit_types_from); - final EditText fromEditText = (EditText) main.findViewById(R.id.units_from); - fromEditText.addTextChangedListener(new TextWatcher() { - @Override - public void beforeTextChanged(CharSequence s, int start, int count, int after) { - } - - @Override - public void onTextChanged(CharSequence s, int start, int before, int count) { - } - - @Override - public void afterTextChanged(Editable s) { - doConversion(main, context, UnitConverterViewBuilder.this.converter); - } - }); - - fillSpinner(main, context, R.id.unit_types_from, fromUnitTypes); - fillSpinner(main, context, R.id.unit_types_to, toUnitTypes); - - if (fromValue != null) { - fromEditText.setText(fromValue.getValue()); - - int i = fromUnitTypes.indexOf(fromValue.getUnitType()); - if (i >= 0) { - fromSpinner.setSelection(i); - } - } - - final Button copyButton = (Button) main.findViewById(R.id.unit_converter_copy_button); - copyButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - final EditText toEditText = (EditText) main.findViewById(R.id.units_to); - - final ClipboardManager clipboard = (ClipboardManager) context.getSystemService(Activity.CLIPBOARD_SERVICE); - clipboard.setText(toEditText.getText().toString()); - Toast.makeText(context, context.getText(R.string.c_result_copied), Toast.LENGTH_SHORT).show(); - } - }); - - final Button okButton = (Button) main.findViewById(R.id.unit_converter_ok_button); - if (okButtonOnClickListener == null) { - ((ViewGroup) okButton.getParent()).removeView(okButton); - } else { - okButton.setOnClickListener(this.okButtonOnClickListener); - } - - final Button customButton = (Button) main.findViewById(R.id.unit_converter_custom_button); - if (customButtonData == null) { - ((ViewGroup) customButton.getParent()).removeView(customButton); - } else { - customButton.setText(customButtonData.text); - customButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - customButtonData.clickListener.onClick(getFromUnit(main), getToUnit(main)); - } - }); - } - - - return main; - } - - private void fillSpinner(@Nonnull final View main, - @Nonnull final Context context, - final int spinnerId, - @Nonnull List> unitTypes) { - final Spinner spinner = (Spinner) main.findViewById(spinnerId); - - final ArrayAdapter> adapter = new ArrayAdapter>(context, android.R.layout.simple_spinner_item); - adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); - for (UnitType fromUnitType : unitTypes) { - adapter.add(fromUnitType); - } - spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { - @Override - public void onItemSelected(AdapterView parent, View view, int position, long id) { - doConversion(main, context, UnitConverterViewBuilder.this.converter); - } - - @Override - public void onNothingSelected(AdapterView parent) { - } - }); - spinner.setAdapter(adapter); - } - - private static void doConversion(@Nonnull View main, @Nonnull Context context, @Nonnull UnitConverter converter) { - final EditText fromEditText = (EditText) main.findViewById(R.id.units_from); - - final EditText toEditText = (EditText) main.findViewById(R.id.units_to); - - final String from = fromEditText.getText().toString(); - try { - toEditText.setText(Conversions.doConversion(converter, from, getFromUnitType(main), getToUnitType(main))); - } catch (ConversionException e) { - toEditText.setText(context.getString(R.string.c_error)); - } - } - - @Nonnull - private static Unit getToUnit(@Nonnull View main) { - final EditText toUnits = (EditText) main.findViewById(R.id.units_to); - return UnitImpl.newInstance(toUnits.getText().toString(), getToUnitType(main)); - } - - @Nonnull - private static UnitType getToUnitType(@Nonnull View main) { - final Spinner toSpinner = (Spinner) main.findViewById(R.id.unit_types_to); - return (UnitType) toSpinner.getSelectedItem(); - } - - @Nonnull - private static Unit getFromUnit(@Nonnull View main) { - final EditText fromUnits = (EditText) main.findViewById(R.id.units_from); - return UnitImpl.newInstance(fromUnits.getText().toString(), getFromUnitType(main)); - } - - @Nonnull - private static UnitType getFromUnitType(@Nonnull View main) { - final Spinner fromSpinner = (Spinner) main.findViewById(R.id.unit_types_from); - return (UnitType) fromSpinner.getSelectedItem(); - } - - public static class CustomButtonData { - - @Nonnull - private String text; - - @Nonnull - private CustomButtonOnClickListener clickListener; - - - public CustomButtonData(@Nonnull String text, @Nonnull CustomButtonOnClickListener clickListener) { - this.text = text; - this.clickListener = clickListener; - } - } - - public static interface CustomButtonOnClickListener { - void onClick(@Nonnull Unit fromUnits, @Nonnull Unit toUnits); - } -} +/* + * Copyright 2013 serso aka se.solovyev + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * Contact details + * + * Email: se.solovyev@gmail.com + * Site: http://se.solovyev.org + */ + +package org.solovyev.android.calculator.view; + +import android.app.Activity; +import android.content.Context; +import android.text.ClipboardManager; +import android.text.Editable; +import android.text.TextWatcher; +import android.view.View; +import android.view.ViewGroup; +import android.widget.*; + +import javax.annotation.Nonnull; +import javax.annotation.Nullable; + +import org.solovyev.android.calculator.R; +import org.solovyev.android.view.ViewBuilder; +import org.solovyev.android.view.ViewFromLayoutBuilder; +import org.solovyev.common.units.*; + +import java.util.Collections; +import java.util.List; + +/** + * User: serso + * Date: 4/20/12 + * Time: 4:50 PM + */ +public class UnitConverterViewBuilder implements ViewBuilder { + + @Nonnull + private List> fromUnitTypes = Collections.emptyList(); + + @Nonnull + private List> toUnitTypes = Collections.emptyList(); + + @Nullable + private Unit fromValue; + + @Nonnull + private UnitConverter converter = UnitConverter.Dummy.getInstance(); + + @Nullable + private View.OnClickListener okButtonOnClickListener; + + @Nullable + private CustomButtonData customButtonData; + + public void setFromUnitTypes(@Nonnull List> fromUnitTypes) { + this.fromUnitTypes = fromUnitTypes; + } + + public void setToUnitTypes(@Nonnull List> toUnitTypes) { + this.toUnitTypes = toUnitTypes; + } + + public void setFromValue(@Nullable Unit fromValue) { + this.fromValue = fromValue; + } + + public void setConverter(@Nonnull UnitConverter converter) { + this.converter = converter; + } + + public void setOkButtonOnClickListener(@Nullable View.OnClickListener okButtonOnClickListener) { + this.okButtonOnClickListener = okButtonOnClickListener; + } + + public void setCustomButtonData(@Nullable CustomButtonData customButtonData) { + this.customButtonData = customButtonData; + } + + @Nonnull + @Override + public View build(@Nonnull final Context context) { + final View main = ViewFromLayoutBuilder.newInstance(R.layout.cpp_unit_converter).build(context); + + final Spinner fromSpinner = (Spinner) main.findViewById(R.id.unit_types_from); + final EditText fromEditText = (EditText) main.findViewById(R.id.units_from); + fromEditText.addTextChangedListener(new TextWatcher() { + @Override + public void beforeTextChanged(CharSequence s, int start, int count, int after) { + } + + @Override + public void onTextChanged(CharSequence s, int start, int before, int count) { + } + + @Override + public void afterTextChanged(Editable s) { + doConversion(main, context, UnitConverterViewBuilder.this.converter); + } + }); + + fillSpinner(main, context, R.id.unit_types_from, fromUnitTypes); + fillSpinner(main, context, R.id.unit_types_to, toUnitTypes); + + if (fromValue != null) { + fromEditText.setText(fromValue.getValue()); + + int i = fromUnitTypes.indexOf(fromValue.getUnitType()); + if (i >= 0) { + fromSpinner.setSelection(i); + } + } + + final Button copyButton = (Button) main.findViewById(R.id.unit_converter_copy_button); + copyButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + final EditText toEditText = (EditText) main.findViewById(R.id.units_to); + + final ClipboardManager clipboard = (ClipboardManager) context.getSystemService(Activity.CLIPBOARD_SERVICE); + clipboard.setText(toEditText.getText().toString()); + Toast.makeText(context, context.getText(R.string.c_result_copied), Toast.LENGTH_SHORT).show(); + } + }); + + final Button okButton = (Button) main.findViewById(R.id.unit_converter_ok_button); + if (okButtonOnClickListener == null) { + ((ViewGroup) okButton.getParent()).removeView(okButton); + } else { + okButton.setOnClickListener(this.okButtonOnClickListener); + } + + final Button customButton = (Button) main.findViewById(R.id.unit_converter_custom_button); + if (customButtonData == null) { + ((ViewGroup) customButton.getParent()).removeView(customButton); + } else { + customButton.setText(customButtonData.text); + customButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + customButtonData.clickListener.onClick(getFromUnit(main), getToUnit(main)); + } + }); + } + + + return main; + } + + private void fillSpinner(@Nonnull final View main, + @Nonnull final Context context, + final int spinnerId, + @Nonnull List> unitTypes) { + final Spinner spinner = (Spinner) main.findViewById(spinnerId); + + final ArrayAdapter> adapter = new ArrayAdapter>(context, android.R.layout.simple_spinner_item); + adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); + for (UnitType fromUnitType : unitTypes) { + adapter.add(fromUnitType); + } + spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { + @Override + public void onItemSelected(AdapterView parent, View view, int position, long id) { + doConversion(main, context, UnitConverterViewBuilder.this.converter); + } + + @Override + public void onNothingSelected(AdapterView parent) { + } + }); + spinner.setAdapter(adapter); + } + + private static void doConversion(@Nonnull View main, @Nonnull Context context, @Nonnull UnitConverter converter) { + final EditText fromEditText = (EditText) main.findViewById(R.id.units_from); + + final EditText toEditText = (EditText) main.findViewById(R.id.units_to); + + final String from = fromEditText.getText().toString(); + try { + toEditText.setText(Conversions.doConversion(converter, from, getFromUnitType(main), getToUnitType(main))); + } catch (ConversionException e) { + toEditText.setText(context.getString(R.string.c_error)); + } + } + + @Nonnull + private static Unit getToUnit(@Nonnull View main) { + final EditText toUnits = (EditText) main.findViewById(R.id.units_to); + return UnitImpl.newInstance(toUnits.getText().toString(), getToUnitType(main)); + } + + @Nonnull + private static UnitType getToUnitType(@Nonnull View main) { + final Spinner toSpinner = (Spinner) main.findViewById(R.id.unit_types_to); + return (UnitType) toSpinner.getSelectedItem(); + } + + @Nonnull + private static Unit getFromUnit(@Nonnull View main) { + final EditText fromUnits = (EditText) main.findViewById(R.id.units_from); + return UnitImpl.newInstance(fromUnits.getText().toString(), getFromUnitType(main)); + } + + @Nonnull + private static UnitType getFromUnitType(@Nonnull View main) { + final Spinner fromSpinner = (Spinner) main.findViewById(R.id.unit_types_from); + return (UnitType) fromSpinner.getSelectedItem(); + } + + public static class CustomButtonData { + + @Nonnull + private String text; + + @Nonnull + private CustomButtonOnClickListener clickListener; + + + public CustomButtonData(@Nonnull String text, @Nonnull CustomButtonOnClickListener clickListener) { + this.text = text; + this.clickListener = clickListener; + } + } + + public static interface CustomButtonOnClickListener { + void onClick(@Nonnull Unit fromUnits, @Nonnull Unit toUnits); + } +} diff --git a/android-app-widget/src/main/java/org/solovyev/android/calculator/widget/AbstractCalculatorWidgetProvider.java b/android-app/src/main/java/org/solovyev/android/calculator/widget/AbstractCalculatorWidgetProvider.java similarity index 100% rename from android-app-widget/src/main/java/org/solovyev/android/calculator/widget/AbstractCalculatorWidgetProvider.java rename to android-app/src/main/java/org/solovyev/android/calculator/widget/AbstractCalculatorWidgetProvider.java diff --git a/android-app-widget/src/main/java/org/solovyev/android/calculator/widget/CalculatorWidgetConfigurationActivity.java b/android-app/src/main/java/org/solovyev/android/calculator/widget/CalculatorWidgetConfigurationActivity.java similarity index 96% rename from android-app-widget/src/main/java/org/solovyev/android/calculator/widget/CalculatorWidgetConfigurationActivity.java rename to android-app/src/main/java/org/solovyev/android/calculator/widget/CalculatorWidgetConfigurationActivity.java index a0564b39..2fff1205 100644 --- a/android-app-widget/src/main/java/org/solovyev/android/calculator/widget/CalculatorWidgetConfigurationActivity.java +++ b/android-app/src/main/java/org/solovyev/android/calculator/widget/CalculatorWidgetConfigurationActivity.java @@ -1,33 +1,33 @@ -/* - * Copyright 2013 serso aka se.solovyev - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - * Contact details - * - * Email: se.solovyev@gmail.com - * Site: http://se.solovyev.org - */ - -package org.solovyev.android.calculator.widget; - -import android.app.Activity; - -/** - * User: Solovyev_S - * Date: 19.10.12 - * Time: 16:20 - */ -public class CalculatorWidgetConfigurationActivity extends Activity { -} +/* + * Copyright 2013 serso aka se.solovyev + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * Contact details + * + * Email: se.solovyev@gmail.com + * Site: http://se.solovyev.org + */ + +package org.solovyev.android.calculator.widget; + +import android.app.Activity; + +/** + * User: Solovyev_S + * Date: 19.10.12 + * Time: 16:20 + */ +public class CalculatorWidgetConfigurationActivity extends Activity { +} diff --git a/android-app-widget/src/main/java/org/solovyev/android/calculator/widget/CalculatorWidgetProvider.java b/android-app/src/main/java/org/solovyev/android/calculator/widget/CalculatorWidgetProvider.java similarity index 100% rename from android-app-widget/src/main/java/org/solovyev/android/calculator/widget/CalculatorWidgetProvider.java rename to android-app/src/main/java/org/solovyev/android/calculator/widget/CalculatorWidgetProvider.java diff --git a/android-app-widget/src/main/java/org/solovyev/android/calculator/widget/CalculatorWidgetProvider3x4.java b/android-app/src/main/java/org/solovyev/android/calculator/widget/CalculatorWidgetProvider3x4.java similarity index 100% rename from android-app-widget/src/main/java/org/solovyev/android/calculator/widget/CalculatorWidgetProvider3x4.java rename to android-app/src/main/java/org/solovyev/android/calculator/widget/CalculatorWidgetProvider3x4.java diff --git a/android-app-widget/src/main/java/org/solovyev/android/calculator/widget/CalculatorWidgetProvider4x4.java b/android-app/src/main/java/org/solovyev/android/calculator/widget/CalculatorWidgetProvider4x4.java similarity index 100% rename from android-app-widget/src/main/java/org/solovyev/android/calculator/widget/CalculatorWidgetProvider4x4.java rename to android-app/src/main/java/org/solovyev/android/calculator/widget/CalculatorWidgetProvider4x4.java diff --git a/android-app-widget/src/main/java/org/solovyev/android/calculator/widget/CalculatorWidgetProvider4x5.java b/android-app/src/main/java/org/solovyev/android/calculator/widget/CalculatorWidgetProvider4x5.java similarity index 100% rename from android-app-widget/src/main/java/org/solovyev/android/calculator/widget/CalculatorWidgetProvider4x5.java rename to android-app/src/main/java/org/solovyev/android/calculator/widget/CalculatorWidgetProvider4x5.java diff --git a/android-app-core/src/main/res/drawable-hdpi/ab_clock.png b/android-app/src/main/res/drawable-hdpi/ab_clock.png similarity index 100% rename from android-app-core/src/main/res/drawable-hdpi/ab_clock.png rename to android-app/src/main/res/drawable-hdpi/ab_clock.png diff --git a/android-app-core/src/main/res/drawable-hdpi/ab_disk.png b/android-app/src/main/res/drawable-hdpi/ab_disk.png similarity index 100% rename from android-app-core/src/main/res/drawable-hdpi/ab_disk.png rename to android-app/src/main/res/drawable-hdpi/ab_disk.png diff --git a/android-app-core/src/main/res/drawable-hdpi/ab_expand.png b/android-app/src/main/res/drawable-hdpi/ab_expand.png similarity index 100% rename from android-app-core/src/main/res/drawable-hdpi/ab_expand.png rename to android-app/src/main/res/drawable-hdpi/ab_expand.png diff --git a/android-app-core/src/main/res/drawable-hdpi/ab_icon.png b/android-app/src/main/res/drawable-hdpi/ab_icon.png similarity index 100% rename from android-app-core/src/main/res/drawable-hdpi/ab_icon.png rename to android-app/src/main/res/drawable-hdpi/ab_icon.png diff --git a/android-app-core/src/main/res/drawable-hdpi/ab_menu.png b/android-app/src/main/res/drawable-hdpi/ab_menu.png similarity index 100% rename from android-app-core/src/main/res/drawable-hdpi/ab_menu.png rename to android-app/src/main/res/drawable-hdpi/ab_menu.png diff --git a/android-app-core/src/main/res/drawable-hdpi/ab_plus.png b/android-app/src/main/res/drawable-hdpi/ab_plus.png similarity index 100% rename from android-app-core/src/main/res/drawable-hdpi/ab_plus.png rename to android-app/src/main/res/drawable-hdpi/ab_plus.png diff --git a/android-app-core/src/main/res/drawable-hdpi/ab_range.png b/android-app/src/main/res/drawable-hdpi/ab_range.png similarity index 100% rename from android-app-core/src/main/res/drawable-hdpi/ab_range.png rename to android-app/src/main/res/drawable-hdpi/ab_range.png diff --git a/android-app-core/src/main/res/drawable-hdpi/ab_remove.png b/android-app/src/main/res/drawable-hdpi/ab_remove.png similarity index 100% rename from android-app-core/src/main/res/drawable-hdpi/ab_remove.png rename to android-app/src/main/res/drawable-hdpi/ab_remove.png diff --git a/android-app-core/src/main/res/drawable-hdpi/ab_settings.png b/android-app/src/main/res/drawable-hdpi/ab_settings.png similarity index 100% rename from android-app-core/src/main/res/drawable-hdpi/ab_settings.png rename to android-app/src/main/res/drawable-hdpi/ab_settings.png diff --git a/android-app-core/src/main/res/drawable-hdpi/ab_stats.png b/android-app/src/main/res/drawable-hdpi/ab_stats.png similarity index 100% rename from android-app-core/src/main/res/drawable-hdpi/ab_stats.png rename to android-app/src/main/res/drawable-hdpi/ab_stats.png diff --git a/android-app-core/src/main/res/drawable-hdpi/ab_stats_3d.png b/android-app/src/main/res/drawable-hdpi/ab_stats_3d.png similarity index 100% rename from android-app-core/src/main/res/drawable-hdpi/ab_stats_3d.png rename to android-app/src/main/res/drawable-hdpi/ab_stats_3d.png diff --git a/android-app-core/src/main/res/drawable-hdpi/icon.png b/android-app/src/main/res/drawable-hdpi/icon.png similarity index 100% rename from android-app-core/src/main/res/drawable-hdpi/icon.png rename to android-app/src/main/res/drawable-hdpi/icon.png diff --git a/android-app-core/src/main/res/drawable-hdpi/icon_onscreen.png b/android-app/src/main/res/drawable-hdpi/icon_onscreen.png similarity index 100% rename from android-app-core/src/main/res/drawable-hdpi/icon_onscreen.png rename to android-app/src/main/res/drawable-hdpi/icon_onscreen.png diff --git a/android-app-core/src/main/res/drawable-hdpi/kb_copy.png b/android-app/src/main/res/drawable-hdpi/kb_copy.png similarity index 100% rename from android-app-core/src/main/res/drawable-hdpi/kb_copy.png rename to android-app/src/main/res/drawable-hdpi/kb_copy.png diff --git a/android-app-core/src/main/res/drawable-hdpi/kb_erase.png b/android-app/src/main/res/drawable-hdpi/kb_erase.png similarity index 100% rename from android-app-core/src/main/res/drawable-hdpi/kb_erase.png rename to android-app/src/main/res/drawable-hdpi/kb_erase.png diff --git a/android-app-core/src/main/res/drawable-hdpi/kb_logo.png b/android-app/src/main/res/drawable-hdpi/kb_logo.png similarity index 100% rename from android-app-core/src/main/res/drawable-hdpi/kb_logo.png rename to android-app/src/main/res/drawable-hdpi/kb_logo.png diff --git a/android-app-core/src/main/res/drawable-hdpi/kb_paste.png b/android-app/src/main/res/drawable-hdpi/kb_paste.png similarity index 100% rename from android-app-core/src/main/res/drawable-hdpi/kb_paste.png rename to android-app/src/main/res/drawable-hdpi/kb_paste.png diff --git a/android-app-core/src/main/res/drawable-hdpi/kb_settings.png b/android-app/src/main/res/drawable-hdpi/kb_settings.png similarity index 100% rename from android-app-core/src/main/res/drawable-hdpi/kb_settings.png rename to android-app/src/main/res/drawable-hdpi/kb_settings.png diff --git a/android-app-core/src/main/res/drawable-hdpi/kb_share.png b/android-app/src/main/res/drawable-hdpi/kb_share.png similarity index 100% rename from android-app-core/src/main/res/drawable-hdpi/kb_share.png rename to android-app/src/main/res/drawable-hdpi/kb_share.png diff --git a/android-app-core/src/main/res/drawable-hdpi/logo.png b/android-app/src/main/res/drawable-hdpi/logo.png similarity index 100% rename from android-app-core/src/main/res/drawable-hdpi/logo.png rename to android-app/src/main/res/drawable-hdpi/logo.png diff --git a/android-app-core/src/main/res/drawable-ldpi/ab_icon.png b/android-app/src/main/res/drawable-ldpi/ab_icon.png similarity index 100% rename from android-app-core/src/main/res/drawable-ldpi/ab_icon.png rename to android-app/src/main/res/drawable-ldpi/ab_icon.png diff --git a/android-app-core/src/main/res/drawable-ldpi/kb_logo.png b/android-app/src/main/res/drawable-ldpi/kb_logo.png similarity index 100% rename from android-app-core/src/main/res/drawable-ldpi/kb_logo.png rename to android-app/src/main/res/drawable-ldpi/kb_logo.png diff --git a/android-app-core/src/main/res/drawable-ldpi/logo.png b/android-app/src/main/res/drawable-ldpi/logo.png similarity index 100% rename from android-app-core/src/main/res/drawable-ldpi/logo.png rename to android-app/src/main/res/drawable-ldpi/logo.png diff --git a/android-app-core/src/main/res/drawable-mdpi/ab_clock.png b/android-app/src/main/res/drawable-mdpi/ab_clock.png similarity index 100% rename from android-app-core/src/main/res/drawable-mdpi/ab_clock.png rename to android-app/src/main/res/drawable-mdpi/ab_clock.png diff --git a/android-app-core/src/main/res/drawable-mdpi/ab_disk.png b/android-app/src/main/res/drawable-mdpi/ab_disk.png similarity index 100% rename from android-app-core/src/main/res/drawable-mdpi/ab_disk.png rename to android-app/src/main/res/drawable-mdpi/ab_disk.png diff --git a/android-app-core/src/main/res/drawable-mdpi/ab_expand.png b/android-app/src/main/res/drawable-mdpi/ab_expand.png similarity index 100% rename from android-app-core/src/main/res/drawable-mdpi/ab_expand.png rename to android-app/src/main/res/drawable-mdpi/ab_expand.png diff --git a/android-app-core/src/main/res/drawable-mdpi/ab_icon.png b/android-app/src/main/res/drawable-mdpi/ab_icon.png similarity index 100% rename from android-app-core/src/main/res/drawable-mdpi/ab_icon.png rename to android-app/src/main/res/drawable-mdpi/ab_icon.png diff --git a/android-app-core/src/main/res/drawable-mdpi/ab_menu.png b/android-app/src/main/res/drawable-mdpi/ab_menu.png similarity index 100% rename from android-app-core/src/main/res/drawable-mdpi/ab_menu.png rename to android-app/src/main/res/drawable-mdpi/ab_menu.png diff --git a/android-app-core/src/main/res/drawable-mdpi/ab_plus.png b/android-app/src/main/res/drawable-mdpi/ab_plus.png similarity index 100% rename from android-app-core/src/main/res/drawable-mdpi/ab_plus.png rename to android-app/src/main/res/drawable-mdpi/ab_plus.png diff --git a/android-app-core/src/main/res/drawable-mdpi/ab_range.png b/android-app/src/main/res/drawable-mdpi/ab_range.png similarity index 100% rename from android-app-core/src/main/res/drawable-mdpi/ab_range.png rename to android-app/src/main/res/drawable-mdpi/ab_range.png diff --git a/android-app-core/src/main/res/drawable-mdpi/ab_remove.png b/android-app/src/main/res/drawable-mdpi/ab_remove.png similarity index 100% rename from android-app-core/src/main/res/drawable-mdpi/ab_remove.png rename to android-app/src/main/res/drawable-mdpi/ab_remove.png diff --git a/android-app-core/src/main/res/drawable-mdpi/ab_settings.png b/android-app/src/main/res/drawable-mdpi/ab_settings.png similarity index 100% rename from android-app-core/src/main/res/drawable-mdpi/ab_settings.png rename to android-app/src/main/res/drawable-mdpi/ab_settings.png diff --git a/android-app-core/src/main/res/drawable-mdpi/ab_stats.png b/android-app/src/main/res/drawable-mdpi/ab_stats.png similarity index 100% rename from android-app-core/src/main/res/drawable-mdpi/ab_stats.png rename to android-app/src/main/res/drawable-mdpi/ab_stats.png diff --git a/android-app-core/src/main/res/drawable-mdpi/ab_stats_3d.png b/android-app/src/main/res/drawable-mdpi/ab_stats_3d.png similarity index 100% rename from android-app-core/src/main/res/drawable-mdpi/ab_stats_3d.png rename to android-app/src/main/res/drawable-mdpi/ab_stats_3d.png diff --git a/android-app-core/src/main/res/drawable-mdpi/icon.png b/android-app/src/main/res/drawable-mdpi/icon.png similarity index 100% rename from android-app-core/src/main/res/drawable-mdpi/icon.png rename to android-app/src/main/res/drawable-mdpi/icon.png diff --git a/android-app-core/src/main/res/drawable-mdpi/icon_onscreen.png b/android-app/src/main/res/drawable-mdpi/icon_onscreen.png similarity index 100% rename from android-app-core/src/main/res/drawable-mdpi/icon_onscreen.png rename to android-app/src/main/res/drawable-mdpi/icon_onscreen.png diff --git a/android-app-core/src/main/res/drawable-mdpi/kb_copy.png b/android-app/src/main/res/drawable-mdpi/kb_copy.png similarity index 100% rename from android-app-core/src/main/res/drawable-mdpi/kb_copy.png rename to android-app/src/main/res/drawable-mdpi/kb_copy.png diff --git a/android-app-core/src/main/res/drawable-mdpi/kb_erase.png b/android-app/src/main/res/drawable-mdpi/kb_erase.png similarity index 100% rename from android-app-core/src/main/res/drawable-mdpi/kb_erase.png rename to android-app/src/main/res/drawable-mdpi/kb_erase.png diff --git a/android-app-core/src/main/res/drawable-mdpi/kb_logo.png b/android-app/src/main/res/drawable-mdpi/kb_logo.png similarity index 100% rename from android-app-core/src/main/res/drawable-mdpi/kb_logo.png rename to android-app/src/main/res/drawable-mdpi/kb_logo.png diff --git a/android-app-core/src/main/res/drawable-mdpi/kb_paste.png b/android-app/src/main/res/drawable-mdpi/kb_paste.png similarity index 100% rename from android-app-core/src/main/res/drawable-mdpi/kb_paste.png rename to android-app/src/main/res/drawable-mdpi/kb_paste.png diff --git a/android-app-core/src/main/res/drawable-mdpi/kb_settings.png b/android-app/src/main/res/drawable-mdpi/kb_settings.png similarity index 100% rename from android-app-core/src/main/res/drawable-mdpi/kb_settings.png rename to android-app/src/main/res/drawable-mdpi/kb_settings.png diff --git a/android-app-core/src/main/res/drawable-mdpi/kb_share.png b/android-app/src/main/res/drawable-mdpi/kb_share.png similarity index 100% rename from android-app-core/src/main/res/drawable-mdpi/kb_share.png rename to android-app/src/main/res/drawable-mdpi/kb_share.png diff --git a/android-app-core/src/main/res/drawable-mdpi/logo.png b/android-app/src/main/res/drawable-mdpi/logo.png similarity index 100% rename from android-app-core/src/main/res/drawable-mdpi/logo.png rename to android-app/src/main/res/drawable-mdpi/logo.png diff --git a/android-app-core/src/main/res/drawable-nodpi/cpp_onscreen_button_close.png b/android-app/src/main/res/drawable-nodpi/cpp_onscreen_button_close.png similarity index 100% rename from android-app-core/src/main/res/drawable-nodpi/cpp_onscreen_button_close.png rename to android-app/src/main/res/drawable-nodpi/cpp_onscreen_button_close.png diff --git a/android-app-core/src/main/res/drawable-nodpi/cpp_onscreen_button_fold.png b/android-app/src/main/res/drawable-nodpi/cpp_onscreen_button_fold.png similarity index 100% rename from android-app-core/src/main/res/drawable-nodpi/cpp_onscreen_button_fold.png rename to android-app/src/main/res/drawable-nodpi/cpp_onscreen_button_fold.png diff --git a/android-app-core/src/main/res/drawable-nodpi/cpp_onscreen_button_minimize.png b/android-app/src/main/res/drawable-nodpi/cpp_onscreen_button_minimize.png similarity index 100% rename from android-app-core/src/main/res/drawable-nodpi/cpp_onscreen_button_minimize.png rename to android-app/src/main/res/drawable-nodpi/cpp_onscreen_button_minimize.png diff --git a/android-app-core/src/main/res/drawable-nodpi/cpp_onscreen_header_logo.png b/android-app/src/main/res/drawable-nodpi/cpp_onscreen_header_logo.png similarity index 100% rename from android-app-core/src/main/res/drawable-nodpi/cpp_onscreen_header_logo.png rename to android-app/src/main/res/drawable-nodpi/cpp_onscreen_header_logo.png diff --git a/android-app-core/src/main/res/drawable-nodpi/default_abs__ab_transparent_dark_holo.9.png b/android-app/src/main/res/drawable-nodpi/default_abs__ab_transparent_dark_holo.9.png similarity index 100% rename from android-app-core/src/main/res/drawable-nodpi/default_abs__ab_transparent_dark_holo.9.png rename to android-app/src/main/res/drawable-nodpi/default_abs__ab_transparent_dark_holo.9.png diff --git a/android-app-core/src/main/res/drawable-nodpi/default_abs__btn_cab_done_default_holo_dark.9.png b/android-app/src/main/res/drawable-nodpi/default_abs__btn_cab_done_default_holo_dark.9.png similarity index 100% rename from android-app-core/src/main/res/drawable-nodpi/default_abs__btn_cab_done_default_holo_dark.9.png rename to android-app/src/main/res/drawable-nodpi/default_abs__btn_cab_done_default_holo_dark.9.png diff --git a/android-app-core/src/main/res/drawable-nodpi/default_abs__btn_cab_done_focused_holo_dark.9.png b/android-app/src/main/res/drawable-nodpi/default_abs__btn_cab_done_focused_holo_dark.9.png similarity index 100% rename from android-app-core/src/main/res/drawable-nodpi/default_abs__btn_cab_done_focused_holo_dark.9.png rename to android-app/src/main/res/drawable-nodpi/default_abs__btn_cab_done_focused_holo_dark.9.png diff --git a/android-app-core/src/main/res/drawable-nodpi/default_abs__btn_cab_done_pressed_holo_dark.9.png b/android-app/src/main/res/drawable-nodpi/default_abs__btn_cab_done_pressed_holo_dark.9.png similarity index 100% rename from android-app-core/src/main/res/drawable-nodpi/default_abs__btn_cab_done_pressed_holo_dark.9.png rename to android-app/src/main/res/drawable-nodpi/default_abs__btn_cab_done_pressed_holo_dark.9.png diff --git a/android-app-core/src/main/res/drawable-nodpi/default_abs__list_focused_holo.9.png b/android-app/src/main/res/drawable-nodpi/default_abs__list_focused_holo.9.png similarity index 100% rename from android-app-core/src/main/res/drawable-nodpi/default_abs__list_focused_holo.9.png rename to android-app/src/main/res/drawable-nodpi/default_abs__list_focused_holo.9.png diff --git a/android-app-core/src/main/res/drawable-nodpi/default_abs__list_longpressed_holo.9.png b/android-app/src/main/res/drawable-nodpi/default_abs__list_longpressed_holo.9.png similarity index 100% rename from android-app-core/src/main/res/drawable-nodpi/default_abs__list_longpressed_holo.9.png rename to android-app/src/main/res/drawable-nodpi/default_abs__list_longpressed_holo.9.png diff --git a/android-app-core/src/main/res/drawable-nodpi/default_abs__list_pressed_holo_dark.9.png b/android-app/src/main/res/drawable-nodpi/default_abs__list_pressed_holo_dark.9.png similarity index 100% rename from android-app-core/src/main/res/drawable-nodpi/default_abs__list_pressed_holo_dark.9.png rename to android-app/src/main/res/drawable-nodpi/default_abs__list_pressed_holo_dark.9.png diff --git a/android-app-core/src/main/res/drawable-nodpi/default_abs__spinner_ab_focused_holo_dark.9.png b/android-app/src/main/res/drawable-nodpi/default_abs__spinner_ab_focused_holo_dark.9.png similarity index 100% rename from android-app-core/src/main/res/drawable-nodpi/default_abs__spinner_ab_focused_holo_dark.9.png rename to android-app/src/main/res/drawable-nodpi/default_abs__spinner_ab_focused_holo_dark.9.png diff --git a/android-app-core/src/main/res/drawable-nodpi/default_abs__spinner_ab_pressed_holo_dark.9.png b/android-app/src/main/res/drawable-nodpi/default_abs__spinner_ab_pressed_holo_dark.9.png similarity index 100% rename from android-app-core/src/main/res/drawable-nodpi/default_abs__spinner_ab_pressed_holo_dark.9.png rename to android-app/src/main/res/drawable-nodpi/default_abs__spinner_ab_pressed_holo_dark.9.png diff --git a/android-app-core/src/main/res/drawable-nodpi/default_abs__tab_selected_focused_holo.9.png b/android-app/src/main/res/drawable-nodpi/default_abs__tab_selected_focused_holo.9.png similarity index 100% rename from android-app-core/src/main/res/drawable-nodpi/default_abs__tab_selected_focused_holo.9.png rename to android-app/src/main/res/drawable-nodpi/default_abs__tab_selected_focused_holo.9.png diff --git a/android-app-core/src/main/res/drawable-nodpi/default_abs__tab_selected_holo.9.png b/android-app/src/main/res/drawable-nodpi/default_abs__tab_selected_holo.9.png similarity index 100% rename from android-app-core/src/main/res/drawable-nodpi/default_abs__tab_selected_holo.9.png rename to android-app/src/main/res/drawable-nodpi/default_abs__tab_selected_holo.9.png diff --git a/android-app-core/src/main/res/drawable-nodpi/default_abs__tab_selected_pressed_holo.9.png b/android-app/src/main/res/drawable-nodpi/default_abs__tab_selected_pressed_holo.9.png similarity index 100% rename from android-app-core/src/main/res/drawable-nodpi/default_abs__tab_selected_pressed_holo.9.png rename to android-app/src/main/res/drawable-nodpi/default_abs__tab_selected_pressed_holo.9.png diff --git a/android-app-core/src/main/res/drawable-nodpi/default_abs__tab_unselected_pressed_holo.9.png b/android-app/src/main/res/drawable-nodpi/default_abs__tab_unselected_pressed_holo.9.png similarity index 100% rename from android-app-core/src/main/res/drawable-nodpi/default_abs__tab_unselected_pressed_holo.9.png rename to android-app/src/main/res/drawable-nodpi/default_abs__tab_unselected_pressed_holo.9.png diff --git a/android-app-core/src/main/res/drawable-nodpi/metro_blue_abs__ab_transparent_dark_holo.9.png b/android-app/src/main/res/drawable-nodpi/metro_blue_abs__ab_transparent_dark_holo.9.png similarity index 100% rename from android-app-core/src/main/res/drawable-nodpi/metro_blue_abs__ab_transparent_dark_holo.9.png rename to android-app/src/main/res/drawable-nodpi/metro_blue_abs__ab_transparent_dark_holo.9.png diff --git a/android-app-core/src/main/res/drawable-nodpi/metro_blue_abs__list_focused_holo.9.png b/android-app/src/main/res/drawable-nodpi/metro_blue_abs__list_focused_holo.9.png similarity index 100% rename from android-app-core/src/main/res/drawable-nodpi/metro_blue_abs__list_focused_holo.9.png rename to android-app/src/main/res/drawable-nodpi/metro_blue_abs__list_focused_holo.9.png diff --git a/android-app-core/src/main/res/drawable-nodpi/metro_blue_abs__list_pressed_holo_dark.9.png b/android-app/src/main/res/drawable-nodpi/metro_blue_abs__list_pressed_holo_dark.9.png similarity index 100% rename from android-app-core/src/main/res/drawable-nodpi/metro_blue_abs__list_pressed_holo_dark.9.png rename to android-app/src/main/res/drawable-nodpi/metro_blue_abs__list_pressed_holo_dark.9.png diff --git a/android-app-core/src/main/res/drawable-nodpi/metro_blue_abs__tab_selected_focused_holo.9.png b/android-app/src/main/res/drawable-nodpi/metro_blue_abs__tab_selected_focused_holo.9.png similarity index 100% rename from android-app-core/src/main/res/drawable-nodpi/metro_blue_abs__tab_selected_focused_holo.9.png rename to android-app/src/main/res/drawable-nodpi/metro_blue_abs__tab_selected_focused_holo.9.png diff --git a/android-app-core/src/main/res/drawable-nodpi/metro_blue_abs__tab_selected_holo.9.png b/android-app/src/main/res/drawable-nodpi/metro_blue_abs__tab_selected_holo.9.png similarity index 100% rename from android-app-core/src/main/res/drawable-nodpi/metro_blue_abs__tab_selected_holo.9.png rename to android-app/src/main/res/drawable-nodpi/metro_blue_abs__tab_selected_holo.9.png diff --git a/android-app-core/src/main/res/drawable-nodpi/metro_blue_abs__tab_selected_pressed_holo.9.png b/android-app/src/main/res/drawable-nodpi/metro_blue_abs__tab_selected_pressed_holo.9.png similarity index 100% rename from android-app-core/src/main/res/drawable-nodpi/metro_blue_abs__tab_selected_pressed_holo.9.png rename to android-app/src/main/res/drawable-nodpi/metro_blue_abs__tab_selected_pressed_holo.9.png diff --git a/android-app-core/src/main/res/drawable-nodpi/metro_blue_abs__tab_unselected_pressed_holo.9.png b/android-app/src/main/res/drawable-nodpi/metro_blue_abs__tab_unselected_pressed_holo.9.png similarity index 100% rename from android-app-core/src/main/res/drawable-nodpi/metro_blue_abs__tab_unselected_pressed_holo.9.png rename to android-app/src/main/res/drawable-nodpi/metro_blue_abs__tab_unselected_pressed_holo.9.png diff --git a/android-app-core/src/main/res/drawable-nodpi/tablet_big_buttons.png b/android-app/src/main/res/drawable-nodpi/tablet_big_buttons.png similarity index 100% rename from android-app-core/src/main/res/drawable-nodpi/tablet_big_buttons.png rename to android-app/src/main/res/drawable-nodpi/tablet_big_buttons.png diff --git a/android-app-core/src/main/res/drawable-nodpi/tablet_optimized.png b/android-app/src/main/res/drawable-nodpi/tablet_optimized.png similarity index 100% rename from android-app-core/src/main/res/drawable-nodpi/tablet_optimized.png rename to android-app/src/main/res/drawable-nodpi/tablet_optimized.png diff --git a/android-app-core/src/main/res/drawable-nodpi/widget_preview.png b/android-app/src/main/res/drawable-nodpi/widget_preview.png similarity index 100% rename from android-app-core/src/main/res/drawable-nodpi/widget_preview.png rename to android-app/src/main/res/drawable-nodpi/widget_preview.png diff --git a/android-app-core/src/main/res/drawable-xhdpi/ab_clock.png b/android-app/src/main/res/drawable-xhdpi/ab_clock.png similarity index 100% rename from android-app-core/src/main/res/drawable-xhdpi/ab_clock.png rename to android-app/src/main/res/drawable-xhdpi/ab_clock.png diff --git a/android-app-core/src/main/res/drawable-xhdpi/ab_disk.png b/android-app/src/main/res/drawable-xhdpi/ab_disk.png similarity index 100% rename from android-app-core/src/main/res/drawable-xhdpi/ab_disk.png rename to android-app/src/main/res/drawable-xhdpi/ab_disk.png diff --git a/android-app-core/src/main/res/drawable-xhdpi/ab_expand.png b/android-app/src/main/res/drawable-xhdpi/ab_expand.png similarity index 100% rename from android-app-core/src/main/res/drawable-xhdpi/ab_expand.png rename to android-app/src/main/res/drawable-xhdpi/ab_expand.png diff --git a/android-app-core/src/main/res/drawable-xhdpi/ab_icon.png b/android-app/src/main/res/drawable-xhdpi/ab_icon.png similarity index 100% rename from android-app-core/src/main/res/drawable-xhdpi/ab_icon.png rename to android-app/src/main/res/drawable-xhdpi/ab_icon.png diff --git a/android-app-core/src/main/res/drawable-xhdpi/ab_menu.png b/android-app/src/main/res/drawable-xhdpi/ab_menu.png similarity index 100% rename from android-app-core/src/main/res/drawable-xhdpi/ab_menu.png rename to android-app/src/main/res/drawable-xhdpi/ab_menu.png diff --git a/android-app-core/src/main/res/drawable-xhdpi/ab_plus.png b/android-app/src/main/res/drawable-xhdpi/ab_plus.png similarity index 100% rename from android-app-core/src/main/res/drawable-xhdpi/ab_plus.png rename to android-app/src/main/res/drawable-xhdpi/ab_plus.png diff --git a/android-app-core/src/main/res/drawable-xhdpi/ab_range.png b/android-app/src/main/res/drawable-xhdpi/ab_range.png similarity index 100% rename from android-app-core/src/main/res/drawable-xhdpi/ab_range.png rename to android-app/src/main/res/drawable-xhdpi/ab_range.png diff --git a/android-app-core/src/main/res/drawable-xhdpi/ab_remove.png b/android-app/src/main/res/drawable-xhdpi/ab_remove.png similarity index 100% rename from android-app-core/src/main/res/drawable-xhdpi/ab_remove.png rename to android-app/src/main/res/drawable-xhdpi/ab_remove.png diff --git a/android-app-core/src/main/res/drawable-xhdpi/ab_settings.png b/android-app/src/main/res/drawable-xhdpi/ab_settings.png similarity index 100% rename from android-app-core/src/main/res/drawable-xhdpi/ab_settings.png rename to android-app/src/main/res/drawable-xhdpi/ab_settings.png diff --git a/android-app-core/src/main/res/drawable-xhdpi/ab_stats.png b/android-app/src/main/res/drawable-xhdpi/ab_stats.png similarity index 100% rename from android-app-core/src/main/res/drawable-xhdpi/ab_stats.png rename to android-app/src/main/res/drawable-xhdpi/ab_stats.png diff --git a/android-app-core/src/main/res/drawable-xhdpi/ab_stats_3d.png b/android-app/src/main/res/drawable-xhdpi/ab_stats_3d.png similarity index 100% rename from android-app-core/src/main/res/drawable-xhdpi/ab_stats_3d.png rename to android-app/src/main/res/drawable-xhdpi/ab_stats_3d.png diff --git a/android-app-core/src/main/res/drawable-xhdpi/icon.png b/android-app/src/main/res/drawable-xhdpi/icon.png similarity index 100% rename from android-app-core/src/main/res/drawable-xhdpi/icon.png rename to android-app/src/main/res/drawable-xhdpi/icon.png diff --git a/android-app-core/src/main/res/drawable-xhdpi/icon_onscreen.png b/android-app/src/main/res/drawable-xhdpi/icon_onscreen.png similarity index 100% rename from android-app-core/src/main/res/drawable-xhdpi/icon_onscreen.png rename to android-app/src/main/res/drawable-xhdpi/icon_onscreen.png diff --git a/android-app-core/src/main/res/drawable-xhdpi/kb_copy.png b/android-app/src/main/res/drawable-xhdpi/kb_copy.png similarity index 100% rename from android-app-core/src/main/res/drawable-xhdpi/kb_copy.png rename to android-app/src/main/res/drawable-xhdpi/kb_copy.png diff --git a/android-app-core/src/main/res/drawable-xhdpi/kb_erase.png b/android-app/src/main/res/drawable-xhdpi/kb_erase.png similarity index 100% rename from android-app-core/src/main/res/drawable-xhdpi/kb_erase.png rename to android-app/src/main/res/drawable-xhdpi/kb_erase.png diff --git a/android-app-core/src/main/res/drawable-xhdpi/kb_logo.png b/android-app/src/main/res/drawable-xhdpi/kb_logo.png similarity index 100% rename from android-app-core/src/main/res/drawable-xhdpi/kb_logo.png rename to android-app/src/main/res/drawable-xhdpi/kb_logo.png diff --git a/android-app-core/src/main/res/drawable-xhdpi/kb_paste.png b/android-app/src/main/res/drawable-xhdpi/kb_paste.png similarity index 100% rename from android-app-core/src/main/res/drawable-xhdpi/kb_paste.png rename to android-app/src/main/res/drawable-xhdpi/kb_paste.png diff --git a/android-app-core/src/main/res/drawable-xhdpi/kb_settings.png b/android-app/src/main/res/drawable-xhdpi/kb_settings.png similarity index 100% rename from android-app-core/src/main/res/drawable-xhdpi/kb_settings.png rename to android-app/src/main/res/drawable-xhdpi/kb_settings.png diff --git a/android-app-core/src/main/res/drawable-xhdpi/kb_share.png b/android-app/src/main/res/drawable-xhdpi/kb_share.png similarity index 100% rename from android-app-core/src/main/res/drawable-xhdpi/kb_share.png rename to android-app/src/main/res/drawable-xhdpi/kb_share.png diff --git a/android-app-core/src/main/res/drawable-xhdpi/logo.png b/android-app/src/main/res/drawable-xhdpi/logo.png similarity index 100% rename from android-app-core/src/main/res/drawable-xhdpi/logo.png rename to android-app/src/main/res/drawable-xhdpi/logo.png diff --git a/android-app-core/src/main/res/drawable-xlarge-hdpi/kb_logo.png b/android-app/src/main/res/drawable-xlarge-hdpi/kb_logo.png similarity index 100% rename from android-app-core/src/main/res/drawable-xlarge-hdpi/kb_logo.png rename to android-app/src/main/res/drawable-xlarge-hdpi/kb_logo.png diff --git a/android-app-core/src/main/res/drawable-xxhdpi/icon.png b/android-app/src/main/res/drawable-xxhdpi/icon.png similarity index 100% rename from android-app-core/src/main/res/drawable-xxhdpi/icon.png rename to android-app/src/main/res/drawable-xxhdpi/icon.png diff --git a/android-app-core/src/main/res/drawable-xxhdpi/icon_onscreen.png b/android-app/src/main/res/drawable-xxhdpi/icon_onscreen.png similarity index 100% rename from android-app-core/src/main/res/drawable-xxhdpi/icon_onscreen.png rename to android-app/src/main/res/drawable-xxhdpi/icon_onscreen.png diff --git a/android-app-core/src/main/res/drawable/blue_button.xml b/android-app/src/main/res/drawable/blue_button.xml similarity index 100% rename from android-app-core/src/main/res/drawable/blue_button.xml rename to android-app/src/main/res/drawable/blue_button.xml diff --git a/android-app-core/src/main/res/drawable/blue_button_dark.xml b/android-app/src/main/res/drawable/blue_button_dark.xml similarity index 100% rename from android-app-core/src/main/res/drawable/blue_button_dark.xml rename to android-app/src/main/res/drawable/blue_button_dark.xml diff --git a/android-app-core/src/main/res/drawable/blue_button_dark_shape.xml b/android-app/src/main/res/drawable/blue_button_dark_shape.xml similarity index 100% rename from android-app-core/src/main/res/drawable/blue_button_dark_shape.xml rename to android-app/src/main/res/drawable/blue_button_dark_shape.xml diff --git a/android-app-core/src/main/res/drawable/blue_button_shape.xml b/android-app/src/main/res/drawable/blue_button_shape.xml similarity index 100% rename from android-app-core/src/main/res/drawable/blue_button_shape.xml rename to android-app/src/main/res/drawable/blue_button_shape.xml diff --git a/android-app-core/src/main/res/drawable/default_abs__btn_cab_done_holo_dark.xml b/android-app/src/main/res/drawable/default_abs__btn_cab_done_holo_dark.xml similarity index 100% rename from android-app-core/src/main/res/drawable/default_abs__btn_cab_done_holo_dark.xml rename to android-app/src/main/res/drawable/default_abs__btn_cab_done_holo_dark.xml diff --git a/android-app-core/src/main/res/drawable/default_abs__item_background_holo_dark.xml b/android-app/src/main/res/drawable/default_abs__item_background_holo_dark.xml similarity index 100% rename from android-app-core/src/main/res/drawable/default_abs__item_background_holo_dark.xml rename to android-app/src/main/res/drawable/default_abs__item_background_holo_dark.xml diff --git a/android-app-core/src/main/res/drawable/default_abs__list_selector_background_transition_holo_dark.xml b/android-app/src/main/res/drawable/default_abs__list_selector_background_transition_holo_dark.xml similarity index 100% rename from android-app-core/src/main/res/drawable/default_abs__list_selector_background_transition_holo_dark.xml rename to android-app/src/main/res/drawable/default_abs__list_selector_background_transition_holo_dark.xml diff --git a/android-app-core/src/main/res/drawable/default_abs__list_selector_holo_dark.xml b/android-app/src/main/res/drawable/default_abs__list_selector_holo_dark.xml similarity index 100% rename from android-app-core/src/main/res/drawable/default_abs__list_selector_holo_dark.xml rename to android-app/src/main/res/drawable/default_abs__list_selector_holo_dark.xml diff --git a/android-app-core/src/main/res/drawable/default_abs__spinner_ab_holo_dark.xml b/android-app/src/main/res/drawable/default_abs__spinner_ab_holo_dark.xml similarity index 100% rename from android-app-core/src/main/res/drawable/default_abs__spinner_ab_holo_dark.xml rename to android-app/src/main/res/drawable/default_abs__spinner_ab_holo_dark.xml diff --git a/android-app-core/src/main/res/drawable/default_abs__tab_indicator_ab_holo.xml b/android-app/src/main/res/drawable/default_abs__tab_indicator_ab_holo.xml similarity index 100% rename from android-app-core/src/main/res/drawable/default_abs__tab_indicator_ab_holo.xml rename to android-app/src/main/res/drawable/default_abs__tab_indicator_ab_holo.xml diff --git a/android-app-core/src/main/res/drawable/gray_button.xml b/android-app/src/main/res/drawable/gray_button.xml similarity index 100% rename from android-app-core/src/main/res/drawable/gray_button.xml rename to android-app/src/main/res/drawable/gray_button.xml diff --git a/android-app-core/src/main/res/drawable/gray_button_dark.xml b/android-app/src/main/res/drawable/gray_button_dark.xml similarity index 100% rename from android-app-core/src/main/res/drawable/gray_button_dark.xml rename to android-app/src/main/res/drawable/gray_button_dark.xml diff --git a/android-app-core/src/main/res/drawable/gray_button_dark_shape.xml b/android-app/src/main/res/drawable/gray_button_dark_shape.xml similarity index 100% rename from android-app-core/src/main/res/drawable/gray_button_dark_shape.xml rename to android-app/src/main/res/drawable/gray_button_dark_shape.xml diff --git a/android-app-core/src/main/res/drawable/gray_button_shape.xml b/android-app/src/main/res/drawable/gray_button_shape.xml similarity index 100% rename from android-app-core/src/main/res/drawable/gray_button_shape.xml rename to android-app/src/main/res/drawable/gray_button_shape.xml diff --git a/android-app-core/src/main/res/drawable/metro_blue_abs__tab_indicator_ab_holo.xml b/android-app/src/main/res/drawable/metro_blue_abs__tab_indicator_ab_holo.xml similarity index 100% rename from android-app-core/src/main/res/drawable/metro_blue_abs__tab_indicator_ab_holo.xml rename to android-app/src/main/res/drawable/metro_blue_abs__tab_indicator_ab_holo.xml diff --git a/android-app-core/src/main/res/drawable/metro_blue_button.xml b/android-app/src/main/res/drawable/metro_blue_button.xml similarity index 100% rename from android-app-core/src/main/res/drawable/metro_blue_button.xml rename to android-app/src/main/res/drawable/metro_blue_button.xml diff --git a/android-app-core/src/main/res/drawable/metro_blue_button_shape.xml b/android-app/src/main/res/drawable/metro_blue_button_shape.xml similarity index 100% rename from android-app-core/src/main/res/drawable/metro_blue_button_shape.xml rename to android-app/src/main/res/drawable/metro_blue_button_shape.xml diff --git a/android-app-core/src/main/res/drawable/metro_blue_list_item.xml b/android-app/src/main/res/drawable/metro_blue_list_item.xml similarity index 100% rename from android-app-core/src/main/res/drawable/metro_blue_list_item.xml rename to android-app/src/main/res/drawable/metro_blue_list_item.xml diff --git a/android-app-core/src/main/res/drawable/metro_button_dark.xml b/android-app/src/main/res/drawable/metro_button_dark.xml similarity index 100% rename from android-app-core/src/main/res/drawable/metro_button_dark.xml rename to android-app/src/main/res/drawable/metro_button_dark.xml diff --git a/android-app-core/src/main/res/drawable/metro_button_dark_shape.xml b/android-app/src/main/res/drawable/metro_button_dark_shape.xml similarity index 100% rename from android-app-core/src/main/res/drawable/metro_button_dark_shape.xml rename to android-app/src/main/res/drawable/metro_button_dark_shape.xml diff --git a/android-app-core/src/main/res/drawable/metro_button_green.xml b/android-app/src/main/res/drawable/metro_button_green.xml similarity index 100% rename from android-app-core/src/main/res/drawable/metro_button_green.xml rename to android-app/src/main/res/drawable/metro_button_green.xml diff --git a/android-app-core/src/main/res/drawable/metro_button_green_shape.xml b/android-app/src/main/res/drawable/metro_button_green_shape.xml similarity index 100% rename from android-app-core/src/main/res/drawable/metro_button_green_shape.xml rename to android-app/src/main/res/drawable/metro_button_green_shape.xml diff --git a/android-app-core/src/main/res/drawable/metro_button_light.xml b/android-app/src/main/res/drawable/metro_button_light.xml similarity index 100% rename from android-app-core/src/main/res/drawable/metro_button_light.xml rename to android-app/src/main/res/drawable/metro_button_light.xml diff --git a/android-app-core/src/main/res/drawable/metro_button_light_shape.xml b/android-app/src/main/res/drawable/metro_button_light_shape.xml similarity index 100% rename from android-app-core/src/main/res/drawable/metro_button_light_shape.xml rename to android-app/src/main/res/drawable/metro_button_light_shape.xml diff --git a/android-app-core/src/main/res/drawable/metro_button_pressed.xml b/android-app/src/main/res/drawable/metro_button_pressed.xml similarity index 100% rename from android-app-core/src/main/res/drawable/metro_button_pressed.xml rename to android-app/src/main/res/drawable/metro_button_pressed.xml diff --git a/android-app-core/src/main/res/drawable/metro_button_purple.xml b/android-app/src/main/res/drawable/metro_button_purple.xml similarity index 100% rename from android-app-core/src/main/res/drawable/metro_button_purple.xml rename to android-app/src/main/res/drawable/metro_button_purple.xml diff --git a/android-app-core/src/main/res/drawable/metro_button_purple_shape.xml b/android-app/src/main/res/drawable/metro_button_purple_shape.xml similarity index 100% rename from android-app-core/src/main/res/drawable/metro_button_purple_shape.xml rename to android-app/src/main/res/drawable/metro_button_purple_shape.xml diff --git a/android-app-core/src/main/res/drawable/metro_green_list_item.xml b/android-app/src/main/res/drawable/metro_green_list_item.xml similarity index 100% rename from android-app-core/src/main/res/drawable/metro_green_list_item.xml rename to android-app/src/main/res/drawable/metro_green_list_item.xml diff --git a/android-app-core/src/main/res/drawable/metro_purple_list_item.xml b/android-app/src/main/res/drawable/metro_purple_list_item.xml similarity index 100% rename from android-app-core/src/main/res/drawable/metro_purple_list_item.xml rename to android-app/src/main/res/drawable/metro_purple_list_item.xml diff --git a/android-app-core/src/main/res/drawable/pane_background.xml b/android-app/src/main/res/drawable/pane_background.xml similarity index 100% rename from android-app-core/src/main/res/drawable/pane_background.xml rename to android-app/src/main/res/drawable/pane_background.xml diff --git a/android-app-core/src/main/res/drawable/violet_button.xml b/android-app/src/main/res/drawable/violet_button.xml similarity index 100% rename from android-app-core/src/main/res/drawable/violet_button.xml rename to android-app/src/main/res/drawable/violet_button.xml diff --git a/android-app-core/src/main/res/drawable/violet_button_dark.xml b/android-app/src/main/res/drawable/violet_button_dark.xml similarity index 100% rename from android-app-core/src/main/res/drawable/violet_button_dark.xml rename to android-app/src/main/res/drawable/violet_button_dark.xml diff --git a/android-app-core/src/main/res/drawable/violet_button_dark_shape.xml b/android-app/src/main/res/drawable/violet_button_dark_shape.xml similarity index 100% rename from android-app-core/src/main/res/drawable/violet_button_dark_shape.xml rename to android-app/src/main/res/drawable/violet_button_dark_shape.xml diff --git a/android-app-core/src/main/res/drawable/violet_button_shape.xml b/android-app/src/main/res/drawable/violet_button_shape.xml similarity index 100% rename from android-app-core/src/main/res/drawable/violet_button_shape.xml rename to android-app/src/main/res/drawable/violet_button_shape.xml diff --git a/android-app-core/src/main/res/layout/cpp_fixable_messages_dialog.xml b/android-app/src/main/res/layout/cpp_fixable_messages_dialog.xml similarity index 100% rename from android-app-core/src/main/res/layout/cpp_fixable_messages_dialog.xml rename to android-app/src/main/res/layout/cpp_fixable_messages_dialog.xml diff --git a/android-app-core/src/main/res/layout/cpp_fixable_messages_dialog_message.xml b/android-app/src/main/res/layout/cpp_fixable_messages_dialog_message.xml similarity index 100% rename from android-app-core/src/main/res/layout/cpp_fixable_messages_dialog_message.xml rename to android-app/src/main/res/layout/cpp_fixable_messages_dialog_message.xml diff --git a/android-app-core/src/main/res/layout/cpp_simple_button_0.xml b/android-app/src/main/res/layout/cpp_simple_button_0.xml similarity index 100% rename from android-app-core/src/main/res/layout/cpp_simple_button_0.xml rename to android-app/src/main/res/layout/cpp_simple_button_0.xml diff --git a/android-app-core/src/main/res/layout/cpp_simple_button_1.xml b/android-app/src/main/res/layout/cpp_simple_button_1.xml similarity index 100% rename from android-app-core/src/main/res/layout/cpp_simple_button_1.xml rename to android-app/src/main/res/layout/cpp_simple_button_1.xml diff --git a/android-app-core/src/main/res/layout/cpp_simple_button_2.xml b/android-app/src/main/res/layout/cpp_simple_button_2.xml similarity index 100% rename from android-app-core/src/main/res/layout/cpp_simple_button_2.xml rename to android-app/src/main/res/layout/cpp_simple_button_2.xml diff --git a/android-app-core/src/main/res/layout/cpp_simple_button_3.xml b/android-app/src/main/res/layout/cpp_simple_button_3.xml similarity index 100% rename from android-app-core/src/main/res/layout/cpp_simple_button_3.xml rename to android-app/src/main/res/layout/cpp_simple_button_3.xml diff --git a/android-app-core/src/main/res/layout/cpp_simple_button_4.xml b/android-app/src/main/res/layout/cpp_simple_button_4.xml similarity index 100% rename from android-app-core/src/main/res/layout/cpp_simple_button_4.xml rename to android-app/src/main/res/layout/cpp_simple_button_4.xml diff --git a/android-app-core/src/main/res/layout/cpp_simple_button_5.xml b/android-app/src/main/res/layout/cpp_simple_button_5.xml similarity index 100% rename from android-app-core/src/main/res/layout/cpp_simple_button_5.xml rename to android-app/src/main/res/layout/cpp_simple_button_5.xml diff --git a/android-app-core/src/main/res/layout/cpp_simple_button_6.xml b/android-app/src/main/res/layout/cpp_simple_button_6.xml similarity index 100% rename from android-app-core/src/main/res/layout/cpp_simple_button_6.xml rename to android-app/src/main/res/layout/cpp_simple_button_6.xml diff --git a/android-app-core/src/main/res/layout/cpp_simple_button_7.xml b/android-app/src/main/res/layout/cpp_simple_button_7.xml similarity index 100% rename from android-app-core/src/main/res/layout/cpp_simple_button_7.xml rename to android-app/src/main/res/layout/cpp_simple_button_7.xml diff --git a/android-app-core/src/main/res/layout/cpp_simple_button_8.xml b/android-app/src/main/res/layout/cpp_simple_button_8.xml similarity index 100% rename from android-app-core/src/main/res/layout/cpp_simple_button_8.xml rename to android-app/src/main/res/layout/cpp_simple_button_8.xml diff --git a/android-app-core/src/main/res/layout/cpp_simple_button_9.xml b/android-app/src/main/res/layout/cpp_simple_button_9.xml similarity index 100% rename from android-app-core/src/main/res/layout/cpp_simple_button_9.xml rename to android-app/src/main/res/layout/cpp_simple_button_9.xml diff --git a/android-app-core/src/main/res/layout/cpp_simple_button_app.xml b/android-app/src/main/res/layout/cpp_simple_button_app.xml similarity index 100% rename from android-app-core/src/main/res/layout/cpp_simple_button_app.xml rename to android-app/src/main/res/layout/cpp_simple_button_app.xml diff --git a/android-app-core/src/main/res/layout/cpp_simple_button_clear.xml b/android-app/src/main/res/layout/cpp_simple_button_clear.xml similarity index 100% rename from android-app-core/src/main/res/layout/cpp_simple_button_clear.xml rename to android-app/src/main/res/layout/cpp_simple_button_clear.xml diff --git a/android-app-core/src/main/res/layout/cpp_simple_button_copy.xml b/android-app/src/main/res/layout/cpp_simple_button_copy.xml similarity index 100% rename from android-app-core/src/main/res/layout/cpp_simple_button_copy.xml rename to android-app/src/main/res/layout/cpp_simple_button_copy.xml diff --git a/android-app-core/src/main/res/layout/cpp_simple_button_division.xml b/android-app/src/main/res/layout/cpp_simple_button_division.xml similarity index 100% rename from android-app-core/src/main/res/layout/cpp_simple_button_division.xml rename to android-app/src/main/res/layout/cpp_simple_button_division.xml diff --git a/android-app-core/src/main/res/layout/cpp_simple_button_dot.xml b/android-app/src/main/res/layout/cpp_simple_button_dot.xml similarity index 100% rename from android-app-core/src/main/res/layout/cpp_simple_button_dot.xml rename to android-app/src/main/res/layout/cpp_simple_button_dot.xml diff --git a/android-app-core/src/main/res/layout/cpp_simple_button_equals.xml b/android-app/src/main/res/layout/cpp_simple_button_equals.xml similarity index 100% rename from android-app-core/src/main/res/layout/cpp_simple_button_equals.xml rename to android-app/src/main/res/layout/cpp_simple_button_equals.xml diff --git a/android-app-core/src/main/res/layout/cpp_simple_button_erase.xml b/android-app/src/main/res/layout/cpp_simple_button_erase.xml similarity index 100% rename from android-app-core/src/main/res/layout/cpp_simple_button_erase.xml rename to android-app/src/main/res/layout/cpp_simple_button_erase.xml diff --git a/android-app-core/src/main/res/layout/cpp_simple_button_functions.xml b/android-app/src/main/res/layout/cpp_simple_button_functions.xml similarity index 100% rename from android-app-core/src/main/res/layout/cpp_simple_button_functions.xml rename to android-app/src/main/res/layout/cpp_simple_button_functions.xml diff --git a/android-app-core/src/main/res/layout/cpp_simple_button_history.xml b/android-app/src/main/res/layout/cpp_simple_button_history.xml similarity index 100% rename from android-app-core/src/main/res/layout/cpp_simple_button_history.xml rename to android-app/src/main/res/layout/cpp_simple_button_history.xml diff --git a/android-app-core/src/main/res/layout/cpp_simple_button_left.xml b/android-app/src/main/res/layout/cpp_simple_button_left.xml similarity index 100% rename from android-app-core/src/main/res/layout/cpp_simple_button_left.xml rename to android-app/src/main/res/layout/cpp_simple_button_left.xml diff --git a/android-app-core/src/main/res/layout/cpp_simple_button_like.xml b/android-app/src/main/res/layout/cpp_simple_button_like.xml similarity index 100% rename from android-app-core/src/main/res/layout/cpp_simple_button_like.xml rename to android-app/src/main/res/layout/cpp_simple_button_like.xml diff --git a/android-app-core/src/main/res/layout/cpp_simple_button_multiplication.xml b/android-app/src/main/res/layout/cpp_simple_button_multiplication.xml similarity index 100% rename from android-app-core/src/main/res/layout/cpp_simple_button_multiplication.xml rename to android-app/src/main/res/layout/cpp_simple_button_multiplication.xml diff --git a/android-app-core/src/main/res/layout/cpp_simple_button_operators.xml b/android-app/src/main/res/layout/cpp_simple_button_operators.xml similarity index 100% rename from android-app-core/src/main/res/layout/cpp_simple_button_operators.xml rename to android-app/src/main/res/layout/cpp_simple_button_operators.xml diff --git a/android-app-core/src/main/res/layout/cpp_simple_button_paste.xml b/android-app/src/main/res/layout/cpp_simple_button_paste.xml similarity index 100% rename from android-app-core/src/main/res/layout/cpp_simple_button_paste.xml rename to android-app/src/main/res/layout/cpp_simple_button_paste.xml diff --git a/android-app-core/src/main/res/layout/cpp_simple_button_percent.xml b/android-app/src/main/res/layout/cpp_simple_button_percent.xml similarity index 100% rename from android-app-core/src/main/res/layout/cpp_simple_button_percent.xml rename to android-app/src/main/res/layout/cpp_simple_button_percent.xml diff --git a/android-app-core/src/main/res/layout/cpp_simple_button_plus.xml b/android-app/src/main/res/layout/cpp_simple_button_plus.xml similarity index 100% rename from android-app-core/src/main/res/layout/cpp_simple_button_plus.xml rename to android-app/src/main/res/layout/cpp_simple_button_plus.xml diff --git a/android-app-core/src/main/res/layout/cpp_simple_button_power.xml b/android-app/src/main/res/layout/cpp_simple_button_power.xml similarity index 100% rename from android-app-core/src/main/res/layout/cpp_simple_button_power.xml rename to android-app/src/main/res/layout/cpp_simple_button_power.xml diff --git a/android-app-core/src/main/res/layout/cpp_simple_button_right.xml b/android-app/src/main/res/layout/cpp_simple_button_right.xml similarity index 100% rename from android-app-core/src/main/res/layout/cpp_simple_button_right.xml rename to android-app/src/main/res/layout/cpp_simple_button_right.xml diff --git a/android-app-core/src/main/res/layout/cpp_simple_button_round_brackets.xml b/android-app/src/main/res/layout/cpp_simple_button_round_brackets.xml similarity index 100% rename from android-app-core/src/main/res/layout/cpp_simple_button_round_brackets.xml rename to android-app/src/main/res/layout/cpp_simple_button_round_brackets.xml diff --git a/android-app-core/src/main/res/layout/cpp_simple_button_settings.xml b/android-app/src/main/res/layout/cpp_simple_button_settings.xml similarity index 100% rename from android-app-core/src/main/res/layout/cpp_simple_button_settings.xml rename to android-app/src/main/res/layout/cpp_simple_button_settings.xml diff --git a/android-app-core/src/main/res/layout/cpp_simple_button_subtraction.xml b/android-app/src/main/res/layout/cpp_simple_button_subtraction.xml similarity index 100% rename from android-app-core/src/main/res/layout/cpp_simple_button_subtraction.xml rename to android-app/src/main/res/layout/cpp_simple_button_subtraction.xml diff --git a/android-app-core/src/main/res/layout/cpp_simple_button_vars.xml b/android-app/src/main/res/layout/cpp_simple_button_vars.xml similarity index 100% rename from android-app-core/src/main/res/layout/cpp_simple_button_vars.xml rename to android-app/src/main/res/layout/cpp_simple_button_vars.xml diff --git a/android-app-core/src/main/res/layout/cpp_simple_keyboard.xml b/android-app/src/main/res/layout/cpp_simple_keyboard.xml similarity index 100% rename from android-app-core/src/main/res/layout/cpp_simple_keyboard.xml rename to android-app/src/main/res/layout/cpp_simple_keyboard.xml diff --git a/android-app-core/src/main/res/layout/cpp_simple_keyboard_lockscreen.xml b/android-app/src/main/res/layout/cpp_simple_keyboard_lockscreen.xml similarity index 100% rename from android-app-core/src/main/res/layout/cpp_simple_keyboard_lockscreen.xml rename to android-app/src/main/res/layout/cpp_simple_keyboard_lockscreen.xml diff --git a/android-app-core/src/main/res/layout/cpp_simple_keyboard_lockscreen_collapsed.xml b/android-app/src/main/res/layout/cpp_simple_keyboard_lockscreen_collapsed.xml similarity index 100% rename from android-app-core/src/main/res/layout/cpp_simple_keyboard_lockscreen_collapsed.xml rename to android-app/src/main/res/layout/cpp_simple_keyboard_lockscreen_collapsed.xml diff --git a/android-app-core/src/main/res/layout/cpp_unit_converter.xml b/android-app/src/main/res/layout/cpp_unit_converter.xml similarity index 100% rename from android-app-core/src/main/res/layout/cpp_unit_converter.xml rename to android-app/src/main/res/layout/cpp_unit_converter.xml diff --git a/android-app-onscreen/src/main/res/layout/onscreen_display.xml b/android-app/src/main/res/layout/onscreen_display.xml similarity index 100% rename from android-app-onscreen/src/main/res/layout/onscreen_display.xml rename to android-app/src/main/res/layout/onscreen_display.xml diff --git a/android-app-onscreen/src/main/res/layout/onscreen_editor.xml b/android-app/src/main/res/layout/onscreen_editor.xml similarity index 100% rename from android-app-onscreen/src/main/res/layout/onscreen_editor.xml rename to android-app/src/main/res/layout/onscreen_editor.xml diff --git a/android-app-onscreen/src/main/res/layout/onscreen_footer.xml b/android-app/src/main/res/layout/onscreen_footer.xml similarity index 100% rename from android-app-onscreen/src/main/res/layout/onscreen_footer.xml rename to android-app/src/main/res/layout/onscreen_footer.xml diff --git a/android-app-onscreen/src/main/res/layout/onscreen_header.xml b/android-app/src/main/res/layout/onscreen_header.xml similarity index 100% rename from android-app-onscreen/src/main/res/layout/onscreen_header.xml rename to android-app/src/main/res/layout/onscreen_header.xml diff --git a/android-app-onscreen/src/main/res/layout/onscreen_keyboard.xml b/android-app/src/main/res/layout/onscreen_keyboard.xml similarity index 100% rename from android-app-onscreen/src/main/res/layout/onscreen_keyboard.xml rename to android-app/src/main/res/layout/onscreen_keyboard.xml diff --git a/android-app-onscreen/src/main/res/layout/onscreen_layout.xml b/android-app/src/main/res/layout/onscreen_layout.xml similarity index 100% rename from android-app-onscreen/src/main/res/layout/onscreen_layout.xml rename to android-app/src/main/res/layout/onscreen_layout.xml diff --git a/android-app-widget/src/main/res/layout/widget_display.xml b/android-app/src/main/res/layout/widget_display.xml similarity index 100% rename from android-app-widget/src/main/res/layout/widget_display.xml rename to android-app/src/main/res/layout/widget_display.xml diff --git a/android-app-widget/src/main/res/layout/widget_editor.xml b/android-app/src/main/res/layout/widget_editor.xml similarity index 100% rename from android-app-widget/src/main/res/layout/widget_editor.xml rename to android-app/src/main/res/layout/widget_editor.xml diff --git a/android-app-widget/src/main/res/layout/widget_layout.xml b/android-app/src/main/res/layout/widget_layout.xml similarity index 100% rename from android-app-widget/src/main/res/layout/widget_layout.xml rename to android-app/src/main/res/layout/widget_layout.xml diff --git a/android-app-widget/src/main/res/layout/widget_layout_lockscreen.xml b/android-app/src/main/res/layout/widget_layout_lockscreen.xml similarity index 100% rename from android-app-widget/src/main/res/layout/widget_layout_lockscreen.xml rename to android-app/src/main/res/layout/widget_layout_lockscreen.xml diff --git a/android-app-widget/src/main/res/layout/widget_layout_lockscreen_collapsed.xml b/android-app/src/main/res/layout/widget_layout_lockscreen_collapsed.xml similarity index 100% rename from android-app-widget/src/main/res/layout/widget_layout_lockscreen_collapsed.xml rename to android-app/src/main/res/layout/widget_layout_lockscreen_collapsed.xml diff --git a/android-app-core/src/main/res/values-ar/text_about.xml b/android-app/src/main/res/values-ar/text_about.xml similarity index 100% rename from android-app-core/src/main/res/values-ar/text_about.xml rename to android-app/src/main/res/values-ar/text_about.xml diff --git a/android-app-core/src/main/res/values-ar/text_functions.xml b/android-app/src/main/res/values-ar/text_functions.xml similarity index 100% rename from android-app-core/src/main/res/values-ar/text_functions.xml rename to android-app/src/main/res/values-ar/text_functions.xml diff --git a/android-app-core/src/main/res/values-ar/text_operators.xml b/android-app/src/main/res/values-ar/text_operators.xml similarity index 100% rename from android-app-core/src/main/res/values-ar/text_operators.xml rename to android-app/src/main/res/values-ar/text_operators.xml diff --git a/android-app-core/src/main/res/values-ar/text_preferences.xml b/android-app/src/main/res/values-ar/text_preferences.xml similarity index 100% rename from android-app-core/src/main/res/values-ar/text_preferences.xml rename to android-app/src/main/res/values-ar/text_preferences.xml diff --git a/android-app-core/src/main/res/values-ar/text_strings.xml b/android-app/src/main/res/values-ar/text_strings.xml similarity index 100% rename from android-app-core/src/main/res/values-ar/text_strings.xml rename to android-app/src/main/res/values-ar/text_strings.xml diff --git a/android-app-core/src/main/res/values-ar/text_vars.xml b/android-app/src/main/res/values-ar/text_vars.xml similarity index 100% rename from android-app-core/src/main/res/values-ar/text_vars.xml rename to android-app/src/main/res/values-ar/text_vars.xml diff --git a/android-app-core/src/main/res/values-ar/text_wizard.xml b/android-app/src/main/res/values-ar/text_wizard.xml similarity index 100% rename from android-app-core/src/main/res/values-ar/text_wizard.xml rename to android-app/src/main/res/values-ar/text_wizard.xml diff --git a/android-app-core/src/main/res/values-cs/text_about.xml b/android-app/src/main/res/values-cs/text_about.xml similarity index 100% rename from android-app-core/src/main/res/values-cs/text_about.xml rename to android-app/src/main/res/values-cs/text_about.xml diff --git a/android-app-core/src/main/res/values-cs/text_functions.xml b/android-app/src/main/res/values-cs/text_functions.xml similarity index 100% rename from android-app-core/src/main/res/values-cs/text_functions.xml rename to android-app/src/main/res/values-cs/text_functions.xml diff --git a/android-app-core/src/main/res/values-cs/text_operators.xml b/android-app/src/main/res/values-cs/text_operators.xml similarity index 100% rename from android-app-core/src/main/res/values-cs/text_operators.xml rename to android-app/src/main/res/values-cs/text_operators.xml diff --git a/android-app-core/src/main/res/values-cs/text_preferences.xml b/android-app/src/main/res/values-cs/text_preferences.xml similarity index 100% rename from android-app-core/src/main/res/values-cs/text_preferences.xml rename to android-app/src/main/res/values-cs/text_preferences.xml diff --git a/android-app-core/src/main/res/values-cs/text_strings.xml b/android-app/src/main/res/values-cs/text_strings.xml similarity index 100% rename from android-app-core/src/main/res/values-cs/text_strings.xml rename to android-app/src/main/res/values-cs/text_strings.xml diff --git a/android-app-core/src/main/res/values-cs/text_vars.xml b/android-app/src/main/res/values-cs/text_vars.xml similarity index 100% rename from android-app-core/src/main/res/values-cs/text_vars.xml rename to android-app/src/main/res/values-cs/text_vars.xml diff --git a/android-app-core/src/main/res/values-cs/text_wizard.xml b/android-app/src/main/res/values-cs/text_wizard.xml similarity index 100% rename from android-app-core/src/main/res/values-cs/text_wizard.xml rename to android-app/src/main/res/values-cs/text_wizard.xml diff --git a/android-app-core/src/main/res/values-de/text_about.xml b/android-app/src/main/res/values-de/text_about.xml similarity index 100% rename from android-app-core/src/main/res/values-de/text_about.xml rename to android-app/src/main/res/values-de/text_about.xml diff --git a/android-app-core/src/main/res/values-de/text_functions.xml b/android-app/src/main/res/values-de/text_functions.xml similarity index 100% rename from android-app-core/src/main/res/values-de/text_functions.xml rename to android-app/src/main/res/values-de/text_functions.xml diff --git a/android-app-core/src/main/res/values-de/text_operators.xml b/android-app/src/main/res/values-de/text_operators.xml similarity index 100% rename from android-app-core/src/main/res/values-de/text_operators.xml rename to android-app/src/main/res/values-de/text_operators.xml diff --git a/android-app-core/src/main/res/values-de/text_preferences.xml b/android-app/src/main/res/values-de/text_preferences.xml similarity index 100% rename from android-app-core/src/main/res/values-de/text_preferences.xml rename to android-app/src/main/res/values-de/text_preferences.xml diff --git a/android-app-core/src/main/res/values-de/text_strings.xml b/android-app/src/main/res/values-de/text_strings.xml similarity index 100% rename from android-app-core/src/main/res/values-de/text_strings.xml rename to android-app/src/main/res/values-de/text_strings.xml diff --git a/android-app-core/src/main/res/values-de/text_vars.xml b/android-app/src/main/res/values-de/text_vars.xml similarity index 100% rename from android-app-core/src/main/res/values-de/text_vars.xml rename to android-app/src/main/res/values-de/text_vars.xml diff --git a/android-app-core/src/main/res/values-de/text_wizard.xml b/android-app/src/main/res/values-de/text_wizard.xml similarity index 100% rename from android-app-core/src/main/res/values-de/text_wizard.xml rename to android-app/src/main/res/values-de/text_wizard.xml diff --git a/android-app-core/src/main/res/values-el/text_about.xml b/android-app/src/main/res/values-el/text_about.xml similarity index 100% rename from android-app-core/src/main/res/values-el/text_about.xml rename to android-app/src/main/res/values-el/text_about.xml diff --git a/android-app-core/src/main/res/values-el/text_functions.xml b/android-app/src/main/res/values-el/text_functions.xml similarity index 100% rename from android-app-core/src/main/res/values-el/text_functions.xml rename to android-app/src/main/res/values-el/text_functions.xml diff --git a/android-app-core/src/main/res/values-el/text_operators.xml b/android-app/src/main/res/values-el/text_operators.xml similarity index 100% rename from android-app-core/src/main/res/values-el/text_operators.xml rename to android-app/src/main/res/values-el/text_operators.xml diff --git a/android-app-core/src/main/res/values-el/text_preferences.xml b/android-app/src/main/res/values-el/text_preferences.xml similarity index 100% rename from android-app-core/src/main/res/values-el/text_preferences.xml rename to android-app/src/main/res/values-el/text_preferences.xml diff --git a/android-app-core/src/main/res/values-el/text_strings.xml b/android-app/src/main/res/values-el/text_strings.xml similarity index 100% rename from android-app-core/src/main/res/values-el/text_strings.xml rename to android-app/src/main/res/values-el/text_strings.xml diff --git a/android-app-core/src/main/res/values-el/text_vars.xml b/android-app/src/main/res/values-el/text_vars.xml similarity index 100% rename from android-app-core/src/main/res/values-el/text_vars.xml rename to android-app/src/main/res/values-el/text_vars.xml diff --git a/android-app-core/src/main/res/values-el/text_wizard.xml b/android-app/src/main/res/values-el/text_wizard.xml similarity index 100% rename from android-app-core/src/main/res/values-el/text_wizard.xml rename to android-app/src/main/res/values-el/text_wizard.xml diff --git a/android-app-core/src/main/res/values-es/text_about.xml b/android-app/src/main/res/values-es/text_about.xml similarity index 100% rename from android-app-core/src/main/res/values-es/text_about.xml rename to android-app/src/main/res/values-es/text_about.xml diff --git a/android-app-core/src/main/res/values-es/text_functions.xml b/android-app/src/main/res/values-es/text_functions.xml similarity index 100% rename from android-app-core/src/main/res/values-es/text_functions.xml rename to android-app/src/main/res/values-es/text_functions.xml diff --git a/android-app-core/src/main/res/values-es/text_operators.xml b/android-app/src/main/res/values-es/text_operators.xml similarity index 100% rename from android-app-core/src/main/res/values-es/text_operators.xml rename to android-app/src/main/res/values-es/text_operators.xml diff --git a/android-app-core/src/main/res/values-es/text_preferences.xml b/android-app/src/main/res/values-es/text_preferences.xml similarity index 100% rename from android-app-core/src/main/res/values-es/text_preferences.xml rename to android-app/src/main/res/values-es/text_preferences.xml diff --git a/android-app-core/src/main/res/values-es/text_strings.xml b/android-app/src/main/res/values-es/text_strings.xml similarity index 100% rename from android-app-core/src/main/res/values-es/text_strings.xml rename to android-app/src/main/res/values-es/text_strings.xml diff --git a/android-app-core/src/main/res/values-es/text_vars.xml b/android-app/src/main/res/values-es/text_vars.xml similarity index 100% rename from android-app-core/src/main/res/values-es/text_vars.xml rename to android-app/src/main/res/values-es/text_vars.xml diff --git a/android-app-core/src/main/res/values-es/text_wizard.xml b/android-app/src/main/res/values-es/text_wizard.xml similarity index 100% rename from android-app-core/src/main/res/values-es/text_wizard.xml rename to android-app/src/main/res/values-es/text_wizard.xml diff --git a/android-app-core/src/main/res/values-fi/text_about.xml b/android-app/src/main/res/values-fi/text_about.xml similarity index 100% rename from android-app-core/src/main/res/values-fi/text_about.xml rename to android-app/src/main/res/values-fi/text_about.xml diff --git a/android-app-core/src/main/res/values-fi/text_functions.xml b/android-app/src/main/res/values-fi/text_functions.xml similarity index 100% rename from android-app-core/src/main/res/values-fi/text_functions.xml rename to android-app/src/main/res/values-fi/text_functions.xml diff --git a/android-app-core/src/main/res/values-fi/text_operators.xml b/android-app/src/main/res/values-fi/text_operators.xml similarity index 100% rename from android-app-core/src/main/res/values-fi/text_operators.xml rename to android-app/src/main/res/values-fi/text_operators.xml diff --git a/android-app-core/src/main/res/values-fi/text_preferences.xml b/android-app/src/main/res/values-fi/text_preferences.xml similarity index 100% rename from android-app-core/src/main/res/values-fi/text_preferences.xml rename to android-app/src/main/res/values-fi/text_preferences.xml diff --git a/android-app-core/src/main/res/values-fi/text_strings.xml b/android-app/src/main/res/values-fi/text_strings.xml similarity index 100% rename from android-app-core/src/main/res/values-fi/text_strings.xml rename to android-app/src/main/res/values-fi/text_strings.xml diff --git a/android-app-core/src/main/res/values-fi/text_vars.xml b/android-app/src/main/res/values-fi/text_vars.xml similarity index 100% rename from android-app-core/src/main/res/values-fi/text_vars.xml rename to android-app/src/main/res/values-fi/text_vars.xml diff --git a/android-app-core/src/main/res/values-fi/text_wizard.xml b/android-app/src/main/res/values-fi/text_wizard.xml similarity index 100% rename from android-app-core/src/main/res/values-fi/text_wizard.xml rename to android-app/src/main/res/values-fi/text_wizard.xml diff --git a/android-app-core/src/main/res/values-fr/text_about.xml b/android-app/src/main/res/values-fr/text_about.xml similarity index 100% rename from android-app-core/src/main/res/values-fr/text_about.xml rename to android-app/src/main/res/values-fr/text_about.xml diff --git a/android-app-core/src/main/res/values-fr/text_functions.xml b/android-app/src/main/res/values-fr/text_functions.xml similarity index 100% rename from android-app-core/src/main/res/values-fr/text_functions.xml rename to android-app/src/main/res/values-fr/text_functions.xml diff --git a/android-app-core/src/main/res/values-fr/text_operators.xml b/android-app/src/main/res/values-fr/text_operators.xml similarity index 100% rename from android-app-core/src/main/res/values-fr/text_operators.xml rename to android-app/src/main/res/values-fr/text_operators.xml diff --git a/android-app-core/src/main/res/values-fr/text_preferences.xml b/android-app/src/main/res/values-fr/text_preferences.xml similarity index 100% rename from android-app-core/src/main/res/values-fr/text_preferences.xml rename to android-app/src/main/res/values-fr/text_preferences.xml diff --git a/android-app-core/src/main/res/values-fr/text_strings.xml b/android-app/src/main/res/values-fr/text_strings.xml similarity index 100% rename from android-app-core/src/main/res/values-fr/text_strings.xml rename to android-app/src/main/res/values-fr/text_strings.xml diff --git a/android-app-core/src/main/res/values-fr/text_vars.xml b/android-app/src/main/res/values-fr/text_vars.xml similarity index 100% rename from android-app-core/src/main/res/values-fr/text_vars.xml rename to android-app/src/main/res/values-fr/text_vars.xml diff --git a/android-app-core/src/main/res/values-fr/text_wizard.xml b/android-app/src/main/res/values-fr/text_wizard.xml similarity index 100% rename from android-app-core/src/main/res/values-fr/text_wizard.xml rename to android-app/src/main/res/values-fr/text_wizard.xml diff --git a/android-app-core/src/main/res/values-it/text_about.xml b/android-app/src/main/res/values-it/text_about.xml similarity index 100% rename from android-app-core/src/main/res/values-it/text_about.xml rename to android-app/src/main/res/values-it/text_about.xml diff --git a/android-app-core/src/main/res/values-it/text_functions.xml b/android-app/src/main/res/values-it/text_functions.xml similarity index 100% rename from android-app-core/src/main/res/values-it/text_functions.xml rename to android-app/src/main/res/values-it/text_functions.xml diff --git a/android-app-core/src/main/res/values-it/text_operators.xml b/android-app/src/main/res/values-it/text_operators.xml similarity index 100% rename from android-app-core/src/main/res/values-it/text_operators.xml rename to android-app/src/main/res/values-it/text_operators.xml diff --git a/android-app-core/src/main/res/values-it/text_preferences.xml b/android-app/src/main/res/values-it/text_preferences.xml similarity index 100% rename from android-app-core/src/main/res/values-it/text_preferences.xml rename to android-app/src/main/res/values-it/text_preferences.xml diff --git a/android-app-core/src/main/res/values-it/text_strings.xml b/android-app/src/main/res/values-it/text_strings.xml similarity index 100% rename from android-app-core/src/main/res/values-it/text_strings.xml rename to android-app/src/main/res/values-it/text_strings.xml diff --git a/android-app-core/src/main/res/values-it/text_vars.xml b/android-app/src/main/res/values-it/text_vars.xml similarity index 100% rename from android-app-core/src/main/res/values-it/text_vars.xml rename to android-app/src/main/res/values-it/text_vars.xml diff --git a/android-app-core/src/main/res/values-it/text_wizard.xml b/android-app/src/main/res/values-it/text_wizard.xml similarity index 100% rename from android-app-core/src/main/res/values-it/text_wizard.xml rename to android-app/src/main/res/values-it/text_wizard.xml diff --git a/android-app-core/src/main/res/values-ja/text_about.xml b/android-app/src/main/res/values-ja/text_about.xml similarity index 100% rename from android-app-core/src/main/res/values-ja/text_about.xml rename to android-app/src/main/res/values-ja/text_about.xml diff --git a/android-app-core/src/main/res/values-ja/text_functions.xml b/android-app/src/main/res/values-ja/text_functions.xml similarity index 100% rename from android-app-core/src/main/res/values-ja/text_functions.xml rename to android-app/src/main/res/values-ja/text_functions.xml diff --git a/android-app-core/src/main/res/values-ja/text_operators.xml b/android-app/src/main/res/values-ja/text_operators.xml similarity index 100% rename from android-app-core/src/main/res/values-ja/text_operators.xml rename to android-app/src/main/res/values-ja/text_operators.xml diff --git a/android-app-core/src/main/res/values-ja/text_preferences.xml b/android-app/src/main/res/values-ja/text_preferences.xml similarity index 100% rename from android-app-core/src/main/res/values-ja/text_preferences.xml rename to android-app/src/main/res/values-ja/text_preferences.xml diff --git a/android-app-core/src/main/res/values-ja/text_strings.xml b/android-app/src/main/res/values-ja/text_strings.xml similarity index 100% rename from android-app-core/src/main/res/values-ja/text_strings.xml rename to android-app/src/main/res/values-ja/text_strings.xml diff --git a/android-app-core/src/main/res/values-ja/text_vars.xml b/android-app/src/main/res/values-ja/text_vars.xml similarity index 100% rename from android-app-core/src/main/res/values-ja/text_vars.xml rename to android-app/src/main/res/values-ja/text_vars.xml diff --git a/android-app-core/src/main/res/values-ja/text_wizard.xml b/android-app/src/main/res/values-ja/text_wizard.xml similarity index 100% rename from android-app-core/src/main/res/values-ja/text_wizard.xml rename to android-app/src/main/res/values-ja/text_wizard.xml diff --git a/android-app-core/src/main/res/values-nl/text_about.xml b/android-app/src/main/res/values-nl/text_about.xml similarity index 100% rename from android-app-core/src/main/res/values-nl/text_about.xml rename to android-app/src/main/res/values-nl/text_about.xml diff --git a/android-app-core/src/main/res/values-nl/text_functions.xml b/android-app/src/main/res/values-nl/text_functions.xml similarity index 100% rename from android-app-core/src/main/res/values-nl/text_functions.xml rename to android-app/src/main/res/values-nl/text_functions.xml diff --git a/android-app-core/src/main/res/values-nl/text_operators.xml b/android-app/src/main/res/values-nl/text_operators.xml similarity index 100% rename from android-app-core/src/main/res/values-nl/text_operators.xml rename to android-app/src/main/res/values-nl/text_operators.xml diff --git a/android-app-core/src/main/res/values-nl/text_preferences.xml b/android-app/src/main/res/values-nl/text_preferences.xml similarity index 100% rename from android-app-core/src/main/res/values-nl/text_preferences.xml rename to android-app/src/main/res/values-nl/text_preferences.xml diff --git a/android-app-core/src/main/res/values-nl/text_strings.xml b/android-app/src/main/res/values-nl/text_strings.xml similarity index 100% rename from android-app-core/src/main/res/values-nl/text_strings.xml rename to android-app/src/main/res/values-nl/text_strings.xml diff --git a/android-app-core/src/main/res/values-nl/text_vars.xml b/android-app/src/main/res/values-nl/text_vars.xml similarity index 100% rename from android-app-core/src/main/res/values-nl/text_vars.xml rename to android-app/src/main/res/values-nl/text_vars.xml diff --git a/android-app-core/src/main/res/values-nl/text_wizard.xml b/android-app/src/main/res/values-nl/text_wizard.xml similarity index 100% rename from android-app-core/src/main/res/values-nl/text_wizard.xml rename to android-app/src/main/res/values-nl/text_wizard.xml diff --git a/android-app-core/src/main/res/values-pl/text_about.xml b/android-app/src/main/res/values-pl/text_about.xml similarity index 100% rename from android-app-core/src/main/res/values-pl/text_about.xml rename to android-app/src/main/res/values-pl/text_about.xml diff --git a/android-app-core/src/main/res/values-pl/text_functions.xml b/android-app/src/main/res/values-pl/text_functions.xml similarity index 100% rename from android-app-core/src/main/res/values-pl/text_functions.xml rename to android-app/src/main/res/values-pl/text_functions.xml diff --git a/android-app-core/src/main/res/values-pl/text_operators.xml b/android-app/src/main/res/values-pl/text_operators.xml similarity index 100% rename from android-app-core/src/main/res/values-pl/text_operators.xml rename to android-app/src/main/res/values-pl/text_operators.xml diff --git a/android-app-core/src/main/res/values-pl/text_preferences.xml b/android-app/src/main/res/values-pl/text_preferences.xml similarity index 100% rename from android-app-core/src/main/res/values-pl/text_preferences.xml rename to android-app/src/main/res/values-pl/text_preferences.xml diff --git a/android-app-core/src/main/res/values-pl/text_strings.xml b/android-app/src/main/res/values-pl/text_strings.xml similarity index 100% rename from android-app-core/src/main/res/values-pl/text_strings.xml rename to android-app/src/main/res/values-pl/text_strings.xml diff --git a/android-app-core/src/main/res/values-pl/text_vars.xml b/android-app/src/main/res/values-pl/text_vars.xml similarity index 100% rename from android-app-core/src/main/res/values-pl/text_vars.xml rename to android-app/src/main/res/values-pl/text_vars.xml diff --git a/android-app-core/src/main/res/values-pl/text_wizard.xml b/android-app/src/main/res/values-pl/text_wizard.xml similarity index 100% rename from android-app-core/src/main/res/values-pl/text_wizard.xml rename to android-app/src/main/res/values-pl/text_wizard.xml diff --git a/android-app-core/src/main/res/values-pt-rbr/text_about.xml b/android-app/src/main/res/values-pt-rbr/text_about.xml similarity index 100% rename from android-app-core/src/main/res/values-pt-rbr/text_about.xml rename to android-app/src/main/res/values-pt-rbr/text_about.xml diff --git a/android-app-core/src/main/res/values-pt-rbr/text_functions.xml b/android-app/src/main/res/values-pt-rbr/text_functions.xml similarity index 100% rename from android-app-core/src/main/res/values-pt-rbr/text_functions.xml rename to android-app/src/main/res/values-pt-rbr/text_functions.xml diff --git a/android-app-core/src/main/res/values-pt-rbr/text_operators.xml b/android-app/src/main/res/values-pt-rbr/text_operators.xml similarity index 100% rename from android-app-core/src/main/res/values-pt-rbr/text_operators.xml rename to android-app/src/main/res/values-pt-rbr/text_operators.xml diff --git a/android-app-core/src/main/res/values-pt-rbr/text_preferences.xml b/android-app/src/main/res/values-pt-rbr/text_preferences.xml similarity index 100% rename from android-app-core/src/main/res/values-pt-rbr/text_preferences.xml rename to android-app/src/main/res/values-pt-rbr/text_preferences.xml diff --git a/android-app-core/src/main/res/values-pt-rbr/text_strings.xml b/android-app/src/main/res/values-pt-rbr/text_strings.xml similarity index 100% rename from android-app-core/src/main/res/values-pt-rbr/text_strings.xml rename to android-app/src/main/res/values-pt-rbr/text_strings.xml diff --git a/android-app-core/src/main/res/values-pt-rbr/text_vars.xml b/android-app/src/main/res/values-pt-rbr/text_vars.xml similarity index 100% rename from android-app-core/src/main/res/values-pt-rbr/text_vars.xml rename to android-app/src/main/res/values-pt-rbr/text_vars.xml diff --git a/android-app-core/src/main/res/values-pt-rbr/text_wizard.xml b/android-app/src/main/res/values-pt-rbr/text_wizard.xml similarity index 100% rename from android-app-core/src/main/res/values-pt-rbr/text_wizard.xml rename to android-app/src/main/res/values-pt-rbr/text_wizard.xml diff --git a/android-app-core/src/main/res/values-ru/text_about.xml b/android-app/src/main/res/values-ru/text_about.xml similarity index 100% rename from android-app-core/src/main/res/values-ru/text_about.xml rename to android-app/src/main/res/values-ru/text_about.xml diff --git a/android-app-core/src/main/res/values-ru/text_functions.xml b/android-app/src/main/res/values-ru/text_functions.xml similarity index 100% rename from android-app-core/src/main/res/values-ru/text_functions.xml rename to android-app/src/main/res/values-ru/text_functions.xml diff --git a/android-app-core/src/main/res/values-ru/text_operators.xml b/android-app/src/main/res/values-ru/text_operators.xml similarity index 100% rename from android-app-core/src/main/res/values-ru/text_operators.xml rename to android-app/src/main/res/values-ru/text_operators.xml diff --git a/android-app-core/src/main/res/values-ru/text_preferences.xml b/android-app/src/main/res/values-ru/text_preferences.xml similarity index 100% rename from android-app-core/src/main/res/values-ru/text_preferences.xml rename to android-app/src/main/res/values-ru/text_preferences.xml diff --git a/android-app-core/src/main/res/values-ru/text_release_notes.xml b/android-app/src/main/res/values-ru/text_release_notes.xml similarity index 100% rename from android-app-core/src/main/res/values-ru/text_release_notes.xml rename to android-app/src/main/res/values-ru/text_release_notes.xml diff --git a/android-app-core/src/main/res/values-ru/text_strings.xml b/android-app/src/main/res/values-ru/text_strings.xml similarity index 100% rename from android-app-core/src/main/res/values-ru/text_strings.xml rename to android-app/src/main/res/values-ru/text_strings.xml diff --git a/android-app-core/src/main/res/values-ru/text_vars.xml b/android-app/src/main/res/values-ru/text_vars.xml similarity index 100% rename from android-app-core/src/main/res/values-ru/text_vars.xml rename to android-app/src/main/res/values-ru/text_vars.xml diff --git a/android-app-core/src/main/res/values-ru/text_wizard.xml b/android-app/src/main/res/values-ru/text_wizard.xml similarity index 100% rename from android-app-core/src/main/res/values-ru/text_wizard.xml rename to android-app/src/main/res/values-ru/text_wizard.xml diff --git a/android-app-core/src/main/res/values-uk/text_about.xml b/android-app/src/main/res/values-uk/text_about.xml similarity index 100% rename from android-app-core/src/main/res/values-uk/text_about.xml rename to android-app/src/main/res/values-uk/text_about.xml diff --git a/android-app-core/src/main/res/values-uk/text_functions.xml b/android-app/src/main/res/values-uk/text_functions.xml similarity index 100% rename from android-app-core/src/main/res/values-uk/text_functions.xml rename to android-app/src/main/res/values-uk/text_functions.xml diff --git a/android-app-core/src/main/res/values-uk/text_operators.xml b/android-app/src/main/res/values-uk/text_operators.xml similarity index 100% rename from android-app-core/src/main/res/values-uk/text_operators.xml rename to android-app/src/main/res/values-uk/text_operators.xml diff --git a/android-app-core/src/main/res/values-uk/text_preferences.xml b/android-app/src/main/res/values-uk/text_preferences.xml similarity index 100% rename from android-app-core/src/main/res/values-uk/text_preferences.xml rename to android-app/src/main/res/values-uk/text_preferences.xml diff --git a/android-app-core/src/main/res/values-uk/text_strings.xml b/android-app/src/main/res/values-uk/text_strings.xml similarity index 100% rename from android-app-core/src/main/res/values-uk/text_strings.xml rename to android-app/src/main/res/values-uk/text_strings.xml diff --git a/android-app-core/src/main/res/values-uk/text_vars.xml b/android-app/src/main/res/values-uk/text_vars.xml similarity index 100% rename from android-app-core/src/main/res/values-uk/text_vars.xml rename to android-app/src/main/res/values-uk/text_vars.xml diff --git a/android-app-core/src/main/res/values-uk/text_wizard.xml b/android-app/src/main/res/values-uk/text_wizard.xml similarity index 100% rename from android-app-core/src/main/res/values-uk/text_wizard.xml rename to android-app/src/main/res/values-uk/text_wizard.xml diff --git a/android-app-core/src/main/res/values-vi/text_about.xml b/android-app/src/main/res/values-vi/text_about.xml similarity index 100% rename from android-app-core/src/main/res/values-vi/text_about.xml rename to android-app/src/main/res/values-vi/text_about.xml diff --git a/android-app-core/src/main/res/values-vi/text_functions.xml b/android-app/src/main/res/values-vi/text_functions.xml similarity index 100% rename from android-app-core/src/main/res/values-vi/text_functions.xml rename to android-app/src/main/res/values-vi/text_functions.xml diff --git a/android-app-core/src/main/res/values-vi/text_operators.xml b/android-app/src/main/res/values-vi/text_operators.xml similarity index 100% rename from android-app-core/src/main/res/values-vi/text_operators.xml rename to android-app/src/main/res/values-vi/text_operators.xml diff --git a/android-app-core/src/main/res/values-vi/text_preferences.xml b/android-app/src/main/res/values-vi/text_preferences.xml similarity index 100% rename from android-app-core/src/main/res/values-vi/text_preferences.xml rename to android-app/src/main/res/values-vi/text_preferences.xml diff --git a/android-app-core/src/main/res/values-vi/text_strings.xml b/android-app/src/main/res/values-vi/text_strings.xml similarity index 100% rename from android-app-core/src/main/res/values-vi/text_strings.xml rename to android-app/src/main/res/values-vi/text_strings.xml diff --git a/android-app-core/src/main/res/values-vi/text_vars.xml b/android-app/src/main/res/values-vi/text_vars.xml similarity index 100% rename from android-app-core/src/main/res/values-vi/text_vars.xml rename to android-app/src/main/res/values-vi/text_vars.xml diff --git a/android-app-core/src/main/res/values-vi/text_wizard.xml b/android-app/src/main/res/values-vi/text_wizard.xml similarity index 100% rename from android-app-core/src/main/res/values-vi/text_wizard.xml rename to android-app/src/main/res/values-vi/text_wizard.xml diff --git a/android-app-core/src/main/res/values-zh-rcn/text_about.xml b/android-app/src/main/res/values-zh-rcn/text_about.xml similarity index 100% rename from android-app-core/src/main/res/values-zh-rcn/text_about.xml rename to android-app/src/main/res/values-zh-rcn/text_about.xml diff --git a/android-app-core/src/main/res/values-zh-rcn/text_functions.xml b/android-app/src/main/res/values-zh-rcn/text_functions.xml similarity index 100% rename from android-app-core/src/main/res/values-zh-rcn/text_functions.xml rename to android-app/src/main/res/values-zh-rcn/text_functions.xml diff --git a/android-app-core/src/main/res/values-zh-rcn/text_operators.xml b/android-app/src/main/res/values-zh-rcn/text_operators.xml similarity index 100% rename from android-app-core/src/main/res/values-zh-rcn/text_operators.xml rename to android-app/src/main/res/values-zh-rcn/text_operators.xml diff --git a/android-app-core/src/main/res/values-zh-rcn/text_preferences.xml b/android-app/src/main/res/values-zh-rcn/text_preferences.xml similarity index 100% rename from android-app-core/src/main/res/values-zh-rcn/text_preferences.xml rename to android-app/src/main/res/values-zh-rcn/text_preferences.xml diff --git a/android-app-core/src/main/res/values-zh-rcn/text_strings.xml b/android-app/src/main/res/values-zh-rcn/text_strings.xml similarity index 100% rename from android-app-core/src/main/res/values-zh-rcn/text_strings.xml rename to android-app/src/main/res/values-zh-rcn/text_strings.xml diff --git a/android-app-core/src/main/res/values-zh-rcn/text_vars.xml b/android-app/src/main/res/values-zh-rcn/text_vars.xml similarity index 100% rename from android-app-core/src/main/res/values-zh-rcn/text_vars.xml rename to android-app/src/main/res/values-zh-rcn/text_vars.xml diff --git a/android-app-core/src/main/res/values-zh-rcn/text_wizard.xml b/android-app/src/main/res/values-zh-rcn/text_wizard.xml similarity index 100% rename from android-app-core/src/main/res/values-zh-rcn/text_wizard.xml rename to android-app/src/main/res/values-zh-rcn/text_wizard.xml diff --git a/android-app-core/src/main/res/values-zh-rtw/text_about.xml b/android-app/src/main/res/values-zh-rtw/text_about.xml similarity index 100% rename from android-app-core/src/main/res/values-zh-rtw/text_about.xml rename to android-app/src/main/res/values-zh-rtw/text_about.xml diff --git a/android-app-core/src/main/res/values-zh-rtw/text_functions.xml b/android-app/src/main/res/values-zh-rtw/text_functions.xml similarity index 100% rename from android-app-core/src/main/res/values-zh-rtw/text_functions.xml rename to android-app/src/main/res/values-zh-rtw/text_functions.xml diff --git a/android-app-core/src/main/res/values-zh-rtw/text_operators.xml b/android-app/src/main/res/values-zh-rtw/text_operators.xml similarity index 100% rename from android-app-core/src/main/res/values-zh-rtw/text_operators.xml rename to android-app/src/main/res/values-zh-rtw/text_operators.xml diff --git a/android-app-core/src/main/res/values-zh-rtw/text_preferences.xml b/android-app/src/main/res/values-zh-rtw/text_preferences.xml similarity index 100% rename from android-app-core/src/main/res/values-zh-rtw/text_preferences.xml rename to android-app/src/main/res/values-zh-rtw/text_preferences.xml diff --git a/android-app-core/src/main/res/values-zh-rtw/text_strings.xml b/android-app/src/main/res/values-zh-rtw/text_strings.xml similarity index 100% rename from android-app-core/src/main/res/values-zh-rtw/text_strings.xml rename to android-app/src/main/res/values-zh-rtw/text_strings.xml diff --git a/android-app-core/src/main/res/values-zh-rtw/text_vars.xml b/android-app/src/main/res/values-zh-rtw/text_vars.xml similarity index 100% rename from android-app-core/src/main/res/values-zh-rtw/text_vars.xml rename to android-app/src/main/res/values-zh-rtw/text_vars.xml diff --git a/android-app-core/src/main/res/values-zh-rtw/text_wizard.xml b/android-app/src/main/res/values-zh-rtw/text_wizard.xml similarity index 100% rename from android-app-core/src/main/res/values-zh-rtw/text_wizard.xml rename to android-app/src/main/res/values-zh-rtw/text_wizard.xml diff --git a/android-app-core/src/main/res/values/admob.xml b/android-app/src/main/res/values/admob.xml similarity index 100% rename from android-app-core/src/main/res/values/admob.xml rename to android-app/src/main/res/values/admob.xml diff --git a/android-app/src/main/res/values/arrays.xml b/android-app/src/main/res/values/arrays.xml index 23de9ed4..ee30e48f 100644 --- a/android-app/src/main/res/values/arrays.xml +++ b/android-app/src/main/res/values/arrays.xml @@ -101,4 +101,36 @@ bin + + + @string/cpp_solid_line_style + @string/cpp_dashed_line_style + @string/cpp_dotted_line_style + @string/cpp_dash_dotted_line_style + + + + @string/cpp_monochrome_line_color_type + @string/cpp_color_map_line_color_type + + + + @string/p_white_line_color + @string/p_blue_line_color + @string/p_red_line_color + @string/p_green_line_color + @string/p_grey_line_color + + + white + blue + red + green + grey + \ No newline at end of file diff --git a/android-app-core/src/main/res/values/attributes.xml b/android-app/src/main/res/values/attributes.xml similarity index 100% rename from android-app-core/src/main/res/values/attributes.xml rename to android-app/src/main/res/values/attributes.xml diff --git a/android-app-core/src/main/res/values/colors.xml b/android-app/src/main/res/values/colors.xml similarity index 96% rename from android-app-core/src/main/res/values/colors.xml rename to android-app/src/main/res/values/colors.xml index e7fed57d..1917354d 100644 --- a/android-app-core/src/main/res/values/colors.xml +++ b/android-app/src/main/res/values/colors.xml @@ -36,4 +36,5 @@ #088e3a #651456 #393939 + #ff707070 \ No newline at end of file diff --git a/android-app-core/src/main/res/values/dimens.xml b/android-app/src/main/res/values/dimens.xml similarity index 60% rename from android-app-core/src/main/res/values/dimens.xml rename to android-app/src/main/res/values/dimens.xml index 96f59461..9390fec6 100644 --- a/android-app-core/src/main/res/values/dimens.xml +++ b/android-app/src/main/res/values/dimens.xml @@ -1,26 +1,11 @@ - - + + 16sp + 25sp + 16sp + 25sp + 6dp + 300dp 20sp 0.5dp 2.5dp diff --git a/android-app-core/src/main/res/values/ids.xml b/android-app/src/main/res/values/ids.xml similarity index 95% rename from android-app-core/src/main/res/values/ids.xml rename to android-app/src/main/res/values/ids.xml index aa8c5264..e21a5ace 100644 --- a/android-app-core/src/main/res/values/ids.xml +++ b/android-app/src/main/res/values/ids.xml @@ -60,7 +60,4 @@ - - - \ No newline at end of file diff --git a/android-app-core/src/main/res/values/styles.xml b/android-app/src/main/res/values/styles.xml similarity index 86% rename from android-app-core/src/main/res/values/styles.xml rename to android-app/src/main/res/values/styles.xml index 25a17c9b..5822e305 100644 --- a/android-app-core/src/main/res/values/styles.xml +++ b/android-app/src/main/res/values/styles.xml @@ -122,4 +122,23 @@ + + + + + + + + \ No newline at end of file diff --git a/android-app-core/src/main/res/values/text_about.xml b/android-app/src/main/res/values/text_about.xml similarity index 100% rename from android-app-core/src/main/res/values/text_about.xml rename to android-app/src/main/res/values/text_about.xml diff --git a/android-app-core/src/main/res/values/text_functions.xml b/android-app/src/main/res/values/text_functions.xml similarity index 100% rename from android-app-core/src/main/res/values/text_functions.xml rename to android-app/src/main/res/values/text_functions.xml diff --git a/android-app-core/src/main/res/values/text_operators.xml b/android-app/src/main/res/values/text_operators.xml similarity index 100% rename from android-app-core/src/main/res/values/text_operators.xml rename to android-app/src/main/res/values/text_operators.xml diff --git a/android-app-core/src/main/res/values/text_preferences.xml b/android-app/src/main/res/values/text_preferences.xml similarity index 100% rename from android-app-core/src/main/res/values/text_preferences.xml rename to android-app/src/main/res/values/text_preferences.xml diff --git a/android-app-core/src/main/res/values/text_release_notes.xml b/android-app/src/main/res/values/text_release_notes.xml similarity index 100% rename from android-app-core/src/main/res/values/text_release_notes.xml rename to android-app/src/main/res/values/text_release_notes.xml diff --git a/android-app-core/src/main/res/values/text_strings.xml b/android-app/src/main/res/values/text_strings.xml similarity index 100% rename from android-app-core/src/main/res/values/text_strings.xml rename to android-app/src/main/res/values/text_strings.xml diff --git a/android-app-core/src/main/res/values/text_vars.xml b/android-app/src/main/res/values/text_vars.xml similarity index 100% rename from android-app-core/src/main/res/values/text_vars.xml rename to android-app/src/main/res/values/text_vars.xml diff --git a/android-app-core/src/main/res/values/text_wizard.xml b/android-app/src/main/res/values/text_wizard.xml similarity index 100% rename from android-app-core/src/main/res/values/text_wizard.xml rename to android-app/src/main/res/values/text_wizard.xml diff --git a/android-app-core/src/main/res/values/theme_gray.xml b/android-app/src/main/res/values/theme_gray.xml similarity index 100% rename from android-app-core/src/main/res/values/theme_gray.xml rename to android-app/src/main/res/values/theme_gray.xml diff --git a/android-app-core/src/main/res/values/theme_light_blue.xml b/android-app/src/main/res/values/theme_light_blue.xml similarity index 100% rename from android-app-core/src/main/res/values/theme_light_blue.xml rename to android-app/src/main/res/values/theme_light_blue.xml diff --git a/android-app-core/src/main/res/values/theme_metro_blue.xml b/android-app/src/main/res/values/theme_metro_blue.xml similarity index 100% rename from android-app-core/src/main/res/values/theme_metro_blue.xml rename to android-app/src/main/res/values/theme_metro_blue.xml diff --git a/android-app-core/src/main/res/values/theme_metro_green.xml b/android-app/src/main/res/values/theme_metro_green.xml similarity index 100% rename from android-app-core/src/main/res/values/theme_metro_green.xml rename to android-app/src/main/res/values/theme_metro_green.xml diff --git a/android-app-core/src/main/res/values/theme_metro_purple.xml b/android-app/src/main/res/values/theme_metro_purple.xml similarity index 100% rename from android-app-core/src/main/res/values/theme_metro_purple.xml rename to android-app/src/main/res/values/theme_metro_purple.xml diff --git a/android-app-core/src/main/res/values/theme_violet.xml b/android-app/src/main/res/values/theme_violet.xml similarity index 100% rename from android-app-core/src/main/res/values/theme_violet.xml rename to android-app/src/main/res/values/theme_violet.xml diff --git a/settings.gradle b/settings.gradle index 14f05a24..a957f493 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,2 +1,2 @@ -include ':core', ':android-app-core', ':android-app-widget', ':android-app-onscreen', ':android-app' -include ':android-app-core-tests', ':android-app-tests' +include ':core', ':android-app' +include ':android-app-tests'