From 368df6f64709ce6ff8557ff2c3883c863221d54b Mon Sep 17 00:00:00 2001 From: nelo Date: Fri, 15 Sep 2017 07:41:54 +0200 Subject: [PATCH] First commit --- .gitignore | 9 + .hgignore | 10 ++ .idea/compiler.xml | 22 +++ .idea/copyright/profiles_settings.xml | 3 + .idea/encodings.xml | 6 + .idea/gradle.xml | 22 +++ .idea/kotlinc.xml | 7 + .idea/misc.xml | 46 +++++ .idea/modules.xml | 12 ++ .idea/runConfigurations.xml | 12 ++ build.gradle | 41 +++++ buildsystem/ci.gradle | 13 ++ buildsystem/dependencies.gradle | 133 +++++++++++++++ data/.gitignore | 1 + data/build.gradle | 59 +++++++ data/proguard-rules.pro | 17 ++ data/src/main/AndroidManifest.xml | 8 + .../verdnatura/data/entity/TicketDetailDto.kt | 33 ++++ .../es/verdnatura/data/entity/TicketDto.kt | 25 +++ .../data/exceptions/NotFoundException.kt | 10 ++ .../verdnatura/data/exceptions/ServerError.kt | 10 ++ .../data/exceptions/ServerException.kt | 6 + .../data/exceptions/TimeoutException.kt | 10 ++ .../es/verdnatura/data/rest/WarehouseApi.kt | 18 ++ .../verdnatura/data/rest/WarehouseApiImpl.kt | 52 ++++++ data/src/main/res/values-es/strings.xml | 6 + data/src/main/res/values/strings.xml | 10 ++ data/src/release/res/values/strings.xml | 6 + domain/.gitignore | 1 + domain/.hgignore | 1 + domain/build.gradle | 40 +++++ .../verdnatura/domain/check/Preconditions.kt | 17 ++ .../es/verdnatura/domain/entity/Ticket.kt | 53 ++++++ .../verdnatura/domain/entity/TicketDetail.kt | 88 ++++++++++ .../domain/interactor/DefaultObserver.kt | 15 ++ .../domain/interactor/DefaultObserver.kt.orig | 20 +++ .../interactor/DownloadTicketUseCase.kt | 32 ++++ .../interactor/GetMarkedTicketLinesUseCase.kt | 29 ++++ .../domain/interactor/LoginUseCase.kt | 32 ++++ .../verdnatura/domain/interactor/UseCase.kt | 47 +++++ .../domain/repository/WarehouseRepository.kt | 17 ++ .../test/kotlin/check/PreconditionsTest.kt | 31 ++++ .../kotlin/interactor/LoginUseCaseTest.kt | 19 +++ .../interactor/TicketcontrollerUseCaseTest.kt | 42 +++++ gradle.properties | 17 ++ gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 53636 bytes gradle/wrapper/gradle-wrapper.properties | 6 + gradlew | 160 ++++++++++++++++++ gradlew.bat | 90 ++++++++++ presentation/.gitignore | 1 + presentation/.hgignore | 1 + presentation/build.gradle | 110 ++++++++++++ presentation/proguard-rules.pro | 17 ++ .../almacen/activity/LoginActivityTest.kt | 13 ++ .../almacen/fragment/LoginFragmentTest.kt | 33 ++++ .../almacen/framework/AcceptanceTest.kt | 24 +++ .../es/verdnatura/almacen/framework/Events.kt | 17 ++ .../almacen/framework/FragmentTestRule.kt | 52 ++++++ .../verdnatura/almacen/framework/Matchers.kt | 33 ++++ presentation/src/debug/AndroidManifest.xml | 8 + .../es/verdnatura/almacen/TestActivity.kt | 18 ++ presentation/src/main/AndroidManifest.xml | 31 ++++ presentation/src/main/ic_launcher-web.png | Bin 0 -> 28287 bytes .../verdnatura/almacen/AndroidApplication.kt | 34 ++++ .../almacen/adapter/HeaderAdapter.kt | 39 +++++ .../verdnatura/almacen/adapter/MenuAdapter.kt | 41 +++++ .../almacen/adapter/TicketAdapter.kt | 81 +++++++++ .../es/verdnatura/almacen/di/HasComponent.kt | 8 + .../es/verdnatura/almacen/di/PerActivity.kt | 11 ++ .../di/components/ApplicationComponent.kt | 36 ++++ .../almacen/di/components/LoginComponent.kt | 21 +++ .../almacen/di/components/TicketComponent.kt | 21 +++ .../almacen/di/modules/ApplicationModule.kt | 29 ++++ .../almacen/di/modules/LoginModule.kt | 33 ++++ .../almacen/di/modules/TicketModule.kt | 33 ++++ .../es/verdnatura/almacen/entity/KeyValue.kt | 6 + .../almacen/menu/TicketControlerMenu.kt | 17 ++ .../almacen/menu/TicketControllerMenu.kt | 24 +++ .../almacen/navigation/Navigator.kt | 30 ++++ .../almacen/navigation/UserNavigator.kt | 10 ++ .../observer/GetMarkedLinesObserver.kt | 22 +++ .../almacen/observer/GetTicketObserver.kt | 26 +++ .../almacen/presenter/BasePresenter.kt | 15 ++ .../almacen/presenter/LoginPresenterImpl.kt | 85 ++++++++++ .../almacen/presenter/TicketPresenter.kt | 19 +++ .../almacen/presenter/TicketPresenterImpl.kt | 76 +++++++++ .../presenter/VnTicketHeaderPresenter.kt | 45 +++++ .../almacen/view/activity/BaseActivity.kt | 42 +++++ .../almacen/view/activity/LoginActivity.kt | 32 ++++ .../almacen/view/activity/MenuActivity.kt | 58 +++++++ .../almacen/view/activity/ScanActivity.kt | 44 +++++ .../almacen/view/activity/TicketActivity.kt | 35 ++++ .../VnTicketHeader/VnTicketHeader.kt | 68 ++++++++ .../view/components/VnTicketRecycler.kt | 38 +++++ .../almacen/view/fragment/BaseFragment.kt | 61 +++++++ .../almacen/view/fragment/LoginFragment.kt | 74 ++++++++ .../almacen/view/fragment/TicketFragment.kt | 147 ++++++++++++++++ .../almacen/view/fragment/TicketHeader.kt | 49 ++++++ .../verdnatura/almacen/view/view/BaseView.kt | 6 + .../almacen/view/view/LoadDataView.kt | 11 ++ .../verdnatura/almacen/view/view/LoginView.kt | 11 ++ .../almacen/view/view/TicketView.kt | 13 ++ .../almacen/view/view/VnHeaderView.kt | 8 + .../src/main/res/drawable/comercial.png | Bin 0 -> 40556 bytes .../src/main/res/drawable/controlador.png | Bin 0 -> 32148 bytes .../res/drawable/controlador_movimiento.png | Bin 0 -> 27139 bytes presentation/src/main/res/drawable/header.png | Bin 0 -> 32103 bytes .../src/main/res/drawable/ic_detail.xml | 9 + .../src/main/res/drawable/ic_edit.xml | 9 + .../src/main/res/drawable/ic_print.xml | 9 + .../src/main/res/drawable/ic_search.xml | 9 + presentation/src/main/res/drawable/login.png | Bin 0 -> 87871 bytes .../src/main/res/drawable/pasillero.png | Bin 0 -> 51264 bytes .../src/main/res/drawable/sacador.png | Bin 0 -> 8472 bytes .../main/res/drawable/sacador_movimiento.png | Bin 0 -> 11218 bytes .../src/main/res/drawable/settings.png | Bin 0 -> 28329 bytes .../activity/layout/activity_layout.xml | 10 ++ .../layouts/activity/layout/activity_menu.xml | 18 ++ .../fragment/layout/fragment_login.xml | 84 +++++++++ .../fragment/layout/fragment_ticket.xml | 40 +++++ .../layout/fragment_ticket_header.xml | 13 ++ .../item/layout/ticket_header_item.xml | 20 +++ .../res/layouts/item/layout/ticket_item.xml | 104 ++++++++++++ .../res/layouts/view/layout/view_progress.xml | 9 + .../view/layout/view_ticket_header.xml | 67 ++++++++ .../src/main/res/menu/ticket_controller.xml | 25 +++ .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 2205 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 1425 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 3049 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 4921 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 7152 bytes .../src/main/res/values-es/strings.xml | 20 +++ .../src/main/res/values-w820dp/dimens.xml | 6 + presentation/src/main/res/values/colors.xml | 6 + .../src/main/res/values/constants.xml | 14 ++ presentation/src/main/res/values/dimens.xml | 5 + presentation/src/main/res/values/strings.xml | 21 +++ presentation/src/main/res/values/styles.xml | 33 ++++ settings.gradle | 4 + 139 files changed, 3716 insertions(+) create mode 100644 .gitignore create mode 100644 .hgignore create mode 100644 .idea/compiler.xml create mode 100644 .idea/copyright/profiles_settings.xml create mode 100644 .idea/encodings.xml create mode 100644 .idea/gradle.xml create mode 100644 .idea/kotlinc.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/runConfigurations.xml create mode 100644 build.gradle create mode 100644 buildsystem/ci.gradle create mode 100644 buildsystem/dependencies.gradle create mode 100644 data/.gitignore create mode 100644 data/build.gradle create mode 100644 data/proguard-rules.pro create mode 100644 data/src/main/AndroidManifest.xml create mode 100644 data/src/main/kotlin/es/verdnatura/data/entity/TicketDetailDto.kt create mode 100644 data/src/main/kotlin/es/verdnatura/data/entity/TicketDto.kt create mode 100644 data/src/main/kotlin/es/verdnatura/data/exceptions/NotFoundException.kt create mode 100644 data/src/main/kotlin/es/verdnatura/data/exceptions/ServerError.kt create mode 100644 data/src/main/kotlin/es/verdnatura/data/exceptions/ServerException.kt create mode 100644 data/src/main/kotlin/es/verdnatura/data/exceptions/TimeoutException.kt create mode 100644 data/src/main/kotlin/es/verdnatura/data/rest/WarehouseApi.kt create mode 100644 data/src/main/kotlin/es/verdnatura/data/rest/WarehouseApiImpl.kt create mode 100644 data/src/main/res/values-es/strings.xml create mode 100644 data/src/main/res/values/strings.xml create mode 100644 data/src/release/res/values/strings.xml create mode 100644 domain/.gitignore create mode 100644 domain/.hgignore create mode 100644 domain/build.gradle create mode 100644 domain/src/main/kotlin/es/verdnatura/domain/check/Preconditions.kt create mode 100644 domain/src/main/kotlin/es/verdnatura/domain/entity/Ticket.kt create mode 100644 domain/src/main/kotlin/es/verdnatura/domain/entity/TicketDetail.kt create mode 100644 domain/src/main/kotlin/es/verdnatura/domain/interactor/DefaultObserver.kt create mode 100644 domain/src/main/kotlin/es/verdnatura/domain/interactor/DefaultObserver.kt.orig create mode 100644 domain/src/main/kotlin/es/verdnatura/domain/interactor/DownloadTicketUseCase.kt create mode 100644 domain/src/main/kotlin/es/verdnatura/domain/interactor/GetMarkedTicketLinesUseCase.kt create mode 100644 domain/src/main/kotlin/es/verdnatura/domain/interactor/LoginUseCase.kt create mode 100644 domain/src/main/kotlin/es/verdnatura/domain/interactor/UseCase.kt create mode 100644 domain/src/main/kotlin/es/verdnatura/domain/repository/WarehouseRepository.kt create mode 100644 domain/src/test/kotlin/check/PreconditionsTest.kt create mode 100644 domain/src/test/kotlin/interactor/LoginUseCaseTest.kt create mode 100644 domain/src/test/kotlin/interactor/TicketcontrollerUseCaseTest.kt create mode 100644 gradle.properties create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100755 gradlew create mode 100644 gradlew.bat create mode 100644 presentation/.gitignore create mode 100644 presentation/.hgignore create mode 100644 presentation/build.gradle create mode 100644 presentation/proguard-rules.pro create mode 100644 presentation/src/androidTest/kotlin/es/verdnatura/almacen/activity/LoginActivityTest.kt create mode 100644 presentation/src/androidTest/kotlin/es/verdnatura/almacen/fragment/LoginFragmentTest.kt create mode 100644 presentation/src/androidTest/kotlin/es/verdnatura/almacen/framework/AcceptanceTest.kt create mode 100644 presentation/src/androidTest/kotlin/es/verdnatura/almacen/framework/Events.kt create mode 100644 presentation/src/androidTest/kotlin/es/verdnatura/almacen/framework/FragmentTestRule.kt create mode 100644 presentation/src/androidTest/kotlin/es/verdnatura/almacen/framework/Matchers.kt create mode 100644 presentation/src/debug/AndroidManifest.xml create mode 100644 presentation/src/debug/kotlin/es/verdnatura/almacen/TestActivity.kt create mode 100644 presentation/src/main/AndroidManifest.xml create mode 100644 presentation/src/main/ic_launcher-web.png create mode 100644 presentation/src/main/kotlin/es/verdnatura/almacen/AndroidApplication.kt create mode 100644 presentation/src/main/kotlin/es/verdnatura/almacen/adapter/HeaderAdapter.kt create mode 100644 presentation/src/main/kotlin/es/verdnatura/almacen/adapter/MenuAdapter.kt create mode 100644 presentation/src/main/kotlin/es/verdnatura/almacen/adapter/TicketAdapter.kt create mode 100644 presentation/src/main/kotlin/es/verdnatura/almacen/di/HasComponent.kt create mode 100644 presentation/src/main/kotlin/es/verdnatura/almacen/di/PerActivity.kt create mode 100644 presentation/src/main/kotlin/es/verdnatura/almacen/di/components/ApplicationComponent.kt create mode 100644 presentation/src/main/kotlin/es/verdnatura/almacen/di/components/LoginComponent.kt create mode 100644 presentation/src/main/kotlin/es/verdnatura/almacen/di/components/TicketComponent.kt create mode 100644 presentation/src/main/kotlin/es/verdnatura/almacen/di/modules/ApplicationModule.kt create mode 100644 presentation/src/main/kotlin/es/verdnatura/almacen/di/modules/LoginModule.kt create mode 100644 presentation/src/main/kotlin/es/verdnatura/almacen/di/modules/TicketModule.kt create mode 100644 presentation/src/main/kotlin/es/verdnatura/almacen/entity/KeyValue.kt create mode 100644 presentation/src/main/kotlin/es/verdnatura/almacen/menu/TicketControlerMenu.kt create mode 100644 presentation/src/main/kotlin/es/verdnatura/almacen/menu/TicketControllerMenu.kt create mode 100644 presentation/src/main/kotlin/es/verdnatura/almacen/navigation/Navigator.kt create mode 100644 presentation/src/main/kotlin/es/verdnatura/almacen/navigation/UserNavigator.kt create mode 100644 presentation/src/main/kotlin/es/verdnatura/almacen/observer/GetMarkedLinesObserver.kt create mode 100644 presentation/src/main/kotlin/es/verdnatura/almacen/observer/GetTicketObserver.kt create mode 100644 presentation/src/main/kotlin/es/verdnatura/almacen/presenter/BasePresenter.kt create mode 100644 presentation/src/main/kotlin/es/verdnatura/almacen/presenter/LoginPresenterImpl.kt create mode 100644 presentation/src/main/kotlin/es/verdnatura/almacen/presenter/TicketPresenter.kt create mode 100644 presentation/src/main/kotlin/es/verdnatura/almacen/presenter/TicketPresenterImpl.kt create mode 100644 presentation/src/main/kotlin/es/verdnatura/almacen/presenter/VnTicketHeaderPresenter.kt create mode 100644 presentation/src/main/kotlin/es/verdnatura/almacen/view/activity/BaseActivity.kt create mode 100644 presentation/src/main/kotlin/es/verdnatura/almacen/view/activity/LoginActivity.kt create mode 100644 presentation/src/main/kotlin/es/verdnatura/almacen/view/activity/MenuActivity.kt create mode 100644 presentation/src/main/kotlin/es/verdnatura/almacen/view/activity/ScanActivity.kt create mode 100644 presentation/src/main/kotlin/es/verdnatura/almacen/view/activity/TicketActivity.kt create mode 100644 presentation/src/main/kotlin/es/verdnatura/almacen/view/components/VnTicketHeader/VnTicketHeader.kt create mode 100644 presentation/src/main/kotlin/es/verdnatura/almacen/view/components/VnTicketRecycler.kt create mode 100644 presentation/src/main/kotlin/es/verdnatura/almacen/view/fragment/BaseFragment.kt create mode 100644 presentation/src/main/kotlin/es/verdnatura/almacen/view/fragment/LoginFragment.kt create mode 100644 presentation/src/main/kotlin/es/verdnatura/almacen/view/fragment/TicketFragment.kt create mode 100644 presentation/src/main/kotlin/es/verdnatura/almacen/view/fragment/TicketHeader.kt create mode 100644 presentation/src/main/kotlin/es/verdnatura/almacen/view/view/BaseView.kt create mode 100644 presentation/src/main/kotlin/es/verdnatura/almacen/view/view/LoadDataView.kt create mode 100644 presentation/src/main/kotlin/es/verdnatura/almacen/view/view/LoginView.kt create mode 100644 presentation/src/main/kotlin/es/verdnatura/almacen/view/view/TicketView.kt create mode 100644 presentation/src/main/kotlin/es/verdnatura/almacen/view/view/VnHeaderView.kt create mode 100644 presentation/src/main/res/drawable/comercial.png create mode 100644 presentation/src/main/res/drawable/controlador.png create mode 100644 presentation/src/main/res/drawable/controlador_movimiento.png create mode 100644 presentation/src/main/res/drawable/header.png create mode 100644 presentation/src/main/res/drawable/ic_detail.xml create mode 100644 presentation/src/main/res/drawable/ic_edit.xml create mode 100644 presentation/src/main/res/drawable/ic_print.xml create mode 100644 presentation/src/main/res/drawable/ic_search.xml create mode 100644 presentation/src/main/res/drawable/login.png create mode 100644 presentation/src/main/res/drawable/pasillero.png create mode 100644 presentation/src/main/res/drawable/sacador.png create mode 100644 presentation/src/main/res/drawable/sacador_movimiento.png create mode 100644 presentation/src/main/res/drawable/settings.png create mode 100644 presentation/src/main/res/layouts/activity/layout/activity_layout.xml create mode 100644 presentation/src/main/res/layouts/activity/layout/activity_menu.xml create mode 100644 presentation/src/main/res/layouts/fragment/layout/fragment_login.xml create mode 100644 presentation/src/main/res/layouts/fragment/layout/fragment_ticket.xml create mode 100644 presentation/src/main/res/layouts/fragment/layout/fragment_ticket_header.xml create mode 100644 presentation/src/main/res/layouts/item/layout/ticket_header_item.xml create mode 100644 presentation/src/main/res/layouts/item/layout/ticket_item.xml create mode 100644 presentation/src/main/res/layouts/view/layout/view_progress.xml create mode 100644 presentation/src/main/res/layouts/view/layout/view_ticket_header.xml create mode 100644 presentation/src/main/res/menu/ticket_controller.xml create mode 100644 presentation/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 presentation/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 presentation/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 presentation/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 presentation/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 presentation/src/main/res/values-es/strings.xml create mode 100644 presentation/src/main/res/values-w820dp/dimens.xml create mode 100644 presentation/src/main/res/values/colors.xml create mode 100644 presentation/src/main/res/values/constants.xml create mode 100644 presentation/src/main/res/values/dimens.xml create mode 100644 presentation/src/main/res/values/strings.xml create mode 100644 presentation/src/main/res/values/styles.xml create mode 100644 settings.gradle diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..39fb081 --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +*.iml +.gradle +/local.properties +/.idea/workspace.xml +/.idea/libraries +.DS_Store +/build +/captures +.externalNativeBuild diff --git a/.hgignore b/.hgignore new file mode 100644 index 0000000..dfa9e34 --- /dev/null +++ b/.hgignore @@ -0,0 +1,10 @@ +syntax: glob +*.iml +.gradle +.idea/dictionaries +.idea/libraries +.idea/tasks.xml +.idea/workspace.xml +build +gen +local.properties \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..96cc43e --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/copyright/profiles_settings.xml b/.idea/copyright/profiles_settings.xml new file mode 100644 index 0000000..e7bedf3 --- /dev/null +++ b/.idea/copyright/profiles_settings.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..97626ba --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml new file mode 100644 index 0000000..2c5a629 --- /dev/null +++ b/.idea/gradle.xml @@ -0,0 +1,22 @@ + + + + + + \ No newline at end of file diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml new file mode 100644 index 0000000..d80eed3 --- /dev/null +++ b/.idea/kotlinc.xml @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..5d19981 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..3928842 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml new file mode 100644 index 0000000..7f68460 --- /dev/null +++ b/.idea/runConfigurations.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..964afce --- /dev/null +++ b/build.gradle @@ -0,0 +1,41 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. +apply from: 'buildsystem/ci.gradle' +apply from: 'buildsystem/dependencies.gradle' +apply plugin: 'kotlin' + +buildscript { + ext.kotlin_version = '1.1.0' + repositories { + jcenter() + } + dependencies { + classpath 'com.android.tools.build:gradle:2.2.3' + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" + classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version" + // NOTE: Do not place your application dependencies here; they belong + // in the individual module build.gradle files + } +} + +allprojects { + ext { + androidApplicationId = 'es.verdnatura.almacen' + androidVersionCode = 1 + androidVersionName = "1.0" + testInstrumentationRunner = "android.support.test.runner.AndroidJUnitRunner" + testApplicationId = 'es.verdnatura.almacen.test' + } +} + +task clean(type: Delete) { + delete rootProject.buildDir +} +repositories { + mavenCentral() +} +dependencies { + compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" +} +sourceSets { + main.java.srcDirs += 'src/main/kotlin' +} diff --git a/buildsystem/ci.gradle b/buildsystem/ci.gradle new file mode 100644 index 0000000..53420ee --- /dev/null +++ b/buildsystem/ci.gradle @@ -0,0 +1,13 @@ +def ciServer = 'TRAVIS' +def executingOnCI = "true".equals(System.getenv(ciServer)) + +// Since for CI we always do full clean builds, we don't want to pre-dex +// See http://tools.android.com/tech-docs/new-build-system/tips +subprojects { + project.plugins.whenPluginAdded { plugin -> + if ('com.android.build.gradle.AppPlugin'.equals(plugin.class.name) || + 'com.android.build.gradle.LibraryPlugin'.equals(plugin.class.name)) { + project.android.dexOptions.preDexLibraries = !executingOnCI + } + } +} \ No newline at end of file diff --git a/buildsystem/dependencies.gradle b/buildsystem/dependencies.gradle new file mode 100644 index 0000000..5d2e9a8 --- /dev/null +++ b/buildsystem/dependencies.gradle @@ -0,0 +1,133 @@ +allprojects { + repositories { + jcenter() + } +} + +ext{ + //Android + androidBuildToolsVersion = "24.0.1" + androidMinSdkVersion = 15 + androidTargetSdkVersion = 24 + androidCompileSdkVersion = 24 + + //Libraries + gsonVersion = '2.3' + retrofitVersion = '2.2.0' + rxJavaVersion = '2.0.6' + rxAndroidVersion = '2.0.1' + daggerVersion = '2.5' + javaxInjectVersion = '1' + javaxAnnotationVersion = '1.0' + kotlinVersion = "1.1.0" + appcompatV7Version = "24.2.1" + butterKnifeVersion = '8.5.1' + barcodeScannerVersion = '1.9' + constraintLayout = '1.0.2' + ankoVersion = '0.9' + designVersion = '24.2.1' + + + //Test + jUnitVersion = '4.12' + roboelectricVersion = '3.2.1' + kotlinVersion = '1.1.0' + kotlinTestVersion = '1.1.0' + mockitoKotlin = '1.1.0' + kluenVersion = '1.14' + assertJVersion = '1.7.1' + + //androidTest + espressoVersion = '2.2.2' + annotationsVersion = '25.1.0' + rulesVersion = "0.5" + + //Development + leakCanaryVersion = '1.3.1' + + + dataDependencies = [ + kotlin: "org.jetbrains.kotlin:kotlin-stdlib:${kotlinVersion}", + rxJava: "io.reactivex.rxjava2:rxjava:${rxJavaVersion}", + rxAndroid: "io.reactivex.rxjava2:rxandroid:${rxAndroidVersion}", + daggerCompiler: "com.google.dagger:dagger-compiler:${daggerVersion}", + dagger: "com.google.dagger:dagger:${daggerVersion}", + retrofit: "com.squareup.retrofit2:retrofit:${retrofitVersion}", + gson_converter: "com.squareup.retrofit2:converter-gson:${retrofitVersion}", + rxjava_adapter: "com.squareup.retrofit2:adapter-rxjava2:${retrofitVersion}" + ] + + dataTestDependencies = [ + jUnit: "junit:junit:${jUnitVersion}", + roboelectric: "org.robolectric:robolectric:${roboelectricVersion}", + kotlin: "org.jetbrains.kotlin:kotlin-stdlib:${kotlinVersion}", + kotlinTest: "org.jetbrains.kotlin:kotlin-test-junit:${kotlinTestVersion}", + mockitoKotlin: "com.nhaarman:mockito-kotlin:${mockitoKotlin}", + kluent: "org.amshove.kluent:kluent:${kluenVersion}", + ] + + domainDependencies = [ + rxJava: "io.reactivex.rxjava2:rxjava:${rxJavaVersion}", + javaxInject: "javax.inject:javax.inject:${javaxInjectVersion}", + kotlin: "org.jetbrains.kotlin:kotlin-stdlib:${kotlinVersion}", + gson: "com.google.code.gson:gson:${gsonVersion}", + javaxAnnotation: "javax.annotation:jsr250-api:${javaxAnnotationVersion}" + ] + + domainTestDependencies = [ + jUnit: "junit:junit:${jUnitVersion}", + kotlin: "org.jetbrains.kotlin:kotlin-stdlib:${kotlinVersion}", + kotlinTest: "org.jetbrains.kotlin:kotlin-test-junit:${kotlinTestVersion}", + mockitoKotlin: "com.nhaarman:mockito-kotlin:${mockitoKotlin}", + kluent: "org.amshove.kluent:kluent:${kluenVersion}", + assertj: "org.assertj:assertj-core:${assertJVersion}" + ] + + presentationDependencies = [ + kotlin: "org.jetbrains.kotlin:kotlin-stdlib:${kotlinVersion}", + appcomapt_v7: "com.android.support:appcompat-v7:${appcompatV7Version}", + dagger: "com.google.dagger:dagger:${daggerVersion}", + butterKnife: "com.jakewharton:butterknife:${butterKnifeVersion}", + kaptButterKnife: "com.jakewharton:butterknife-compiler:${butterKnifeVersion}", + kaptDagger: "com.google.dagger:dagger-compiler:${daggerVersion}", + rxAndroid: "io.reactivex.rxjava2:rxandroid:${rxAndroidVersion}", + javaxAnnotation: "javax.annotation:jsr250-api:${javaxAnnotationVersion}", + barcodeScanner: "me.dm7.barcodescanner:zxing:${barcodeScannerVersion}", + constranintLayout: "com.android.support.constraint:constraint-layout:${constraintLayout}" + ] + + presentationTestDependencies = [ + jUnit: "junit:junit:${jUnitVersion}", + roboelectric: "org.robolectric:robolectric:${roboelectricVersion}", + kotlin: "org.jetbrains.kotlin:kotlin-stdlib:${kotlinVersion}", + kotlinTest: "org.jetbrains.kotlin:kotlin-test-junit:${kotlinTestVersion}", + mockitoKotlin: "com.nhaarman:mockito-kotlin:${mockitoKotlin}", + kluent: "org.amshove.kluent:kluent:${kluenVersion}", + ] + + presentationAndroidTestDependencies = [ + espresso: "com.android.support.test.espresso:espresso-core:${espressoVersion}", + runner: "com.android.support.test:runner:${rulesVersion}", + rules: "com.android.support.test:rules:${rulesVersion}", + espressoIntents: "com.android.support.test.espresso:espresso-intents:${espressoVersion}", + annotations: "com.android.support:support-annotations:${annotationsVersion}", + ] + + coreDependencies = [ + kotlin: "org.jetbrains.kotlin:kotlin-stdlib:${kotlinVersion}", + appcomapt_v7: "com.android.support:appcompat-v7:${appcompatV7Version}", + recyclerview: "com.android.support:recyclerview-v7:${appcompatV7Version}", + cardview: "com.android.support:cardview-v7:${appcompatV7Version}", + anko: "org.jetbrains.anko:anko-common:${ankoVersion}", + design: "com.android.support:design:${designVersion}", + retrofit: "com.squareup.retrofit2:retrofit:${retrofitVersion}", + gson_converter: "com.squareup.retrofit2:converter-gson:${retrofitVersion}", + rxjava_adapter: "com.squareup.retrofit2:adapter-rxjava2:${retrofitVersion}", + javaxInject: "javax.inject:javax.inject:${javaxInjectVersion}", + ] + + developmentDependencies = [ + leakCanary: "com.squareup.leakcanary:leakcanary-android:${leakCanaryVersion}", + ] + +} \ No newline at end of file diff --git a/data/.gitignore b/data/.gitignore new file mode 100644 index 0000000..796b96d --- /dev/null +++ b/data/.gitignore @@ -0,0 +1 @@ +/build diff --git a/data/build.gradle b/data/build.gradle new file mode 100644 index 0000000..5788e73 --- /dev/null +++ b/data/build.gradle @@ -0,0 +1,59 @@ +apply plugin: 'com.android.library' +apply plugin: 'kotlin-android' +apply plugin: 'kotlin-android-extensions' + +android { + def globalConfiguration = rootProject.extensions.getByName("ext") + + compileSdkVersion globalConfiguration.getAt("androidCompileSdkVersion") + buildToolsVersion globalConfiguration.getAt("androidBuildToolsVersion") + + defaultConfig { + minSdkVersion globalConfiguration.getAt("androidMinSdkVersion") + targetSdkVersion globalConfiguration.getAt("androidTargetSdkVersion") + + versionCode globalConfiguration.getAt("androidVersionCode") + versionName globalConfiguration.getAt("androidVersionName") + + } + + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + + } + sourceSets { + main.java.srcDirs += 'src/main/kotlin' + test.java.srcDirs += 'src/test/kotlin' + } + +} + +dependencies { + def dataDependencies = rootProject.ext.dataDependencies + def dataTestDependencies = rootProject.ext.dataTestDependencies + + compile project(":domain") + compile project(":core") + + compile dataDependencies.kotlin + compile dataDependencies.rxJava + compile dataDependencies.daggerCompiler + compile dataDependencies.dagger + + testCompile dataTestDependencies.jUnit + testCompile dataTestDependencies.roboelectric + testCompile dataTestDependencies.kotlin + testCompile dataTestDependencies.kotlinTest + testCompile dataTestDependencies.mockitoKotlin + testCompile dataTestDependencies.kluent + + compile fileTree(dir: 'libs', include: '*.jar') + +} + +repositories { + mavenCentral() +} diff --git a/data/proguard-rules.pro b/data/proguard-rules.pro new file mode 100644 index 0000000..f6f0958 --- /dev/null +++ b/data/proguard-rules.pro @@ -0,0 +1,17 @@ +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in /Users/nelo/Library/Android/sdk/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the proguardFiles +# directive in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/data/src/main/AndroidManifest.xml b/data/src/main/AndroidManifest.xml new file mode 100644 index 0000000..15371c4 --- /dev/null +++ b/data/src/main/AndroidManifest.xml @@ -0,0 +1,8 @@ + + + + + + + diff --git a/data/src/main/kotlin/es/verdnatura/data/entity/TicketDetailDto.kt b/data/src/main/kotlin/es/verdnatura/data/entity/TicketDetailDto.kt new file mode 100644 index 0000000..4ea220b --- /dev/null +++ b/data/src/main/kotlin/es/verdnatura/data/entity/TicketDetailDto.kt @@ -0,0 +1,33 @@ +package es.verdnatura.data.entity + +import java.util.* + +/** + * Created by nelo on 8/3/17. + */ +class TicketDetailDto{ + val IdDetail: Int = 0 + val Niche: String = "" + val IdArticle: String = "" + val ArticleImage: String = "" + val Ok: Int = 0 + val Packing: Int = 0 + val Grouping: Int = 0 + val Quantity: Int = 0 + val OldQuantity: Int = 0 + val OriginalQuantity: Int = 0 + val Concept: String = "" + val Producer: String = "" + val Size: Int = 0 + val Color: String = "" + val Category: String = "" + val Origin: String = "" + val Stems: Int = 0 + val Reign: String = "" + val IdTicket: String = "" + val Barcodes: List = ArrayList() + val Discount: Float = 0.0F + val Reserved: Int = 0 + val Price: Float = 0.0F + val Path: String = "" +} \ No newline at end of file diff --git a/data/src/main/kotlin/es/verdnatura/data/entity/TicketDto.kt b/data/src/main/kotlin/es/verdnatura/data/entity/TicketDto.kt new file mode 100644 index 0000000..f1b675a --- /dev/null +++ b/data/src/main/kotlin/es/verdnatura/data/entity/TicketDto.kt @@ -0,0 +1,25 @@ +package es.verdnatura.data.entity + +import java.util.* + +/** + * Created by nelo on 8/3/17. + */ +class TicketDto{ + + val IdTicket: Int = 0 + val ClientCode: String = "" + val ClientName: String = "" + val ClientCity: String = "" + val TicketTotal: Float = 0.0F + val Transport: String = "" + val Date: String = "" + val Observations: String = "" + val Server: String = "" + val Commercial: String = "" + val Tickets: Int = 0 + val Agency: String = "" + val IdWarehouse: Int = 0 + val Details: List = ArrayList() + +} \ No newline at end of file diff --git a/data/src/main/kotlin/es/verdnatura/data/exceptions/NotFoundException.kt b/data/src/main/kotlin/es/verdnatura/data/exceptions/NotFoundException.kt new file mode 100644 index 0000000..69be056 --- /dev/null +++ b/data/src/main/kotlin/es/verdnatura/data/exceptions/NotFoundException.kt @@ -0,0 +1,10 @@ +package es.verdnatura.data.exceptions + +import android.content.Context +import es.verdnatura.core.UtilsResources +import es.verdnatura.data.R + +/** + * Created by nelo on 1/3/17. + */ +class NotFoundException(context: Context) : RuntimeException(UtilsResources.getResourceString(context, R.string.error_404)) \ No newline at end of file diff --git a/data/src/main/kotlin/es/verdnatura/data/exceptions/ServerError.kt b/data/src/main/kotlin/es/verdnatura/data/exceptions/ServerError.kt new file mode 100644 index 0000000..a66fca5 --- /dev/null +++ b/data/src/main/kotlin/es/verdnatura/data/exceptions/ServerError.kt @@ -0,0 +1,10 @@ +package es.verdnatura.data.exceptions + +import android.content.Context +import es.verdnatura.core.UtilsResources +import es.verdnatura.data.R + +/** + * Created by nelo on 1/3/17. + */ +class ServerError(context: Context) : RuntimeException(UtilsResources.getResourceString(context, R.string.error_500)) \ No newline at end of file diff --git a/data/src/main/kotlin/es/verdnatura/data/exceptions/ServerException.kt b/data/src/main/kotlin/es/verdnatura/data/exceptions/ServerException.kt new file mode 100644 index 0000000..2040ca1 --- /dev/null +++ b/data/src/main/kotlin/es/verdnatura/data/exceptions/ServerException.kt @@ -0,0 +1,6 @@ +package es.verdnatura.data.exceptions + +/** + * Created by nelo on 1/3/17. + */ +class ServerException(override var message: String) : RuntimeException(message) \ No newline at end of file diff --git a/data/src/main/kotlin/es/verdnatura/data/exceptions/TimeoutException.kt b/data/src/main/kotlin/es/verdnatura/data/exceptions/TimeoutException.kt new file mode 100644 index 0000000..3ee998e --- /dev/null +++ b/data/src/main/kotlin/es/verdnatura/data/exceptions/TimeoutException.kt @@ -0,0 +1,10 @@ +package es.verdnatura.data.exceptions + +import android.content.Context +import es.verdnatura.core.UtilsResources +import es.verdnatura.data.R + +/** + * Created by nelo on 1/3/17. + */ +class TimeoutException(context: Context) : RuntimeException(UtilsResources.getResourceString(context, R.string.time_out)) \ No newline at end of file diff --git a/data/src/main/kotlin/es/verdnatura/data/rest/WarehouseApi.kt b/data/src/main/kotlin/es/verdnatura/data/rest/WarehouseApi.kt new file mode 100644 index 0000000..425f402 --- /dev/null +++ b/data/src/main/kotlin/es/verdnatura/data/rest/WarehouseApi.kt @@ -0,0 +1,18 @@ +package es.verdnatura.data.rest + +import es.verdnatura.data.entity.TicketDto +import io.reactivex.Observable +import retrofit2.http.Body +import retrofit2.http.POST + +/** + * Created by nelo on 16/2/17. + */ +interface WarehouseApi { + + @POST("security/login") + fun login(@Body vararg args: Any): Observable + + @POST("warehouse/get_ticket_controller") + fun getTicketController(@Body vararg args: Any): Observable +} \ No newline at end of file diff --git a/data/src/main/kotlin/es/verdnatura/data/rest/WarehouseApiImpl.kt b/data/src/main/kotlin/es/verdnatura/data/rest/WarehouseApiImpl.kt new file mode 100644 index 0000000..8f0858d --- /dev/null +++ b/data/src/main/kotlin/es/verdnatura/data/rest/WarehouseApiImpl.kt @@ -0,0 +1,52 @@ +package es.verdnatura.data.rest + +import android.app.Application +import es.verdnatura.core.UtilsResources +import es.verdnatura.data.R +import es.verdnatura.data.entity.TicketDto +import es.verdnatura.data.exceptions.ServerException +import es.verdnatura.data.parser.Serializer +import es.verdnatura.domain.entity.Ticket +import es.verdnatura.domain.repository.WarehouseRepository +import io.reactivex.Observable +import javax.inject.Inject +import javax.inject.Singleton + +/** + * Created by nelo on 16/2/17. + */ +@Singleton +class WarehouseApiImpl : WarehouseRepository { + + lateinit var mWarehouseApi: WarehouseApi + lateinit var application: Application + lateinit var serializer: Serializer + + val vnConnector: VnConnector + + @Inject + constructor(application: Application) { + this.vnConnector = VnConnector(application) + createApi("user", "pass", "1") + } + + override fun createApi(user: String, pass: String, version: String) { + vnConnector.createApi(user, pass, version) + application = vnConnector.application + serializer = vnConnector.serializer + mWarehouseApi = vnConnector.vnAdapter.create(WarehouseApi::class.java) + } + + override fun login(user: String, pass: String, imei: String): Observable { + return mWarehouseApi!!.login(user, pass, imei).doOnError { + throwable -> if(throwable is ServerException) throwable.message = UtilsResources.getResourceString(application, R.string.error_login) + } + } + + override fun getTicketController(ticket: String): Observable{ + return mWarehouseApi!!.getTicketController(ticket) + .map { ticket -> serializer.serialize(ticket, TicketDto::class.java) } + .map { json -> serializer.deserialize(json, Ticket::class.java) } + } + +} \ No newline at end of file diff --git a/data/src/main/res/values-es/strings.xml b/data/src/main/res/values-es/strings.xml new file mode 100644 index 0000000..fe55a97 --- /dev/null +++ b/data/src/main/res/values-es/strings.xml @@ -0,0 +1,6 @@ + + + Data + + + diff --git a/data/src/main/res/values/strings.xml b/data/src/main/res/values/strings.xml new file mode 100644 index 0000000..fa3358c --- /dev/null +++ b/data/src/main/res/values/strings.xml @@ -0,0 +1,10 @@ + + + + + Data + Internal server error + Resource not found + Connection timeout + Invalid user or pass + diff --git a/data/src/release/res/values/strings.xml b/data/src/release/res/values/strings.xml new file mode 100644 index 0000000..9e8ff5e --- /dev/null +++ b/data/src/release/res/values/strings.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/domain/.gitignore b/domain/.gitignore new file mode 100644 index 0000000..796b96d --- /dev/null +++ b/domain/.gitignore @@ -0,0 +1 @@ +/build diff --git a/domain/.hgignore b/domain/.hgignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/domain/.hgignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/domain/build.gradle b/domain/build.gradle new file mode 100644 index 0000000..45ea043 --- /dev/null +++ b/domain/build.gradle @@ -0,0 +1,40 @@ +apply plugin: 'kotlin' +apply plugin: 'java' + +configurations { + provided +} + +sourceSets { + main.java.srcDirs += "src/main/kotlin" + test.java.srcDirs += 'src/test/kotlin' + + main{ + compileClasspath += configurations.provided + } +} + +dependencies { + def domainDependencies = rootProject.ext.domainDependencies + def domainTestDependencies = rootProject.ext.domainTestDependencies + + compile domainDependencies.rxJava + compile domainDependencies.javaxInject + compile domainDependencies.kotlin + compile domainDependencies.gson + + testCompile domainTestDependencies.jUnit + testCompile domainTestDependencies.kotlin + testCompile domainTestDependencies.kotlinTest + testCompile domainTestDependencies.mockitoKotlin + testCompile domainTestDependencies.kluent + testCompile domainTestDependencies.assertj + + provided domainDependencies.javaxAnnotation + + compile fileTree(dir: 'libs', include: '*.jar') + +} +repositories { + mavenCentral() +} \ No newline at end of file diff --git a/domain/src/main/kotlin/es/verdnatura/domain/check/Preconditions.kt b/domain/src/main/kotlin/es/verdnatura/domain/check/Preconditions.kt new file mode 100644 index 0000000..18c78a4 --- /dev/null +++ b/domain/src/main/kotlin/es/verdnatura/domain/check/Preconditions.kt @@ -0,0 +1,17 @@ +package es.verdnatura.domain.check + + +/** + * Created by nelo on 16/2/17. + */ +class Preconditions { + + companion object{ + fun checkNotNull(obj: Any?): Any{ + if(obj == null){ + throw NullPointerException() + } + return obj + } + } +} \ No newline at end of file diff --git a/domain/src/main/kotlin/es/verdnatura/domain/entity/Ticket.kt b/domain/src/main/kotlin/es/verdnatura/domain/entity/Ticket.kt new file mode 100644 index 0000000..87771f1 --- /dev/null +++ b/domain/src/main/kotlin/es/verdnatura/domain/entity/Ticket.kt @@ -0,0 +1,53 @@ +package es.verdnatura.domain.entity + +import com.google.gson.annotations.SerializedName +import java.util.* + +/** + * Created by nelo on 8/3/17. + */ +class Ticket { + + @SerializedName("IdTicket") + var IdTicket: Int = 0 + + @SerializedName("ClientCode") + var ClientCode: String = "" + + @SerializedName("ClientName") + var ClientName: String = "" + + @SerializedName("ClientCity") + var ClientCity: String = "" + + @SerializedName("TicketTotal") + var TicketTotal: Float = 0.0F + + @SerializedName("Transport") + var Transport: String = "" + + @SerializedName("Date") + var Date: String = "" + + @SerializedName("Observations") + var Observations: String = "" + + @SerializedName("Server") + var Server: String = "" + + @SerializedName("Commercial") + var Commercial: String = "" + + @SerializedName("Tickets") + var Tickets: Int = 0 + + @SerializedName("Agency") + var Agency: String = "" + + @SerializedName("IdWarehouse") + var IdWarehouse: Int = 0 + + @SerializedName("Details") + var Details: MutableList = ArrayList() + +} \ No newline at end of file diff --git a/domain/src/main/kotlin/es/verdnatura/domain/entity/TicketDetail.kt b/domain/src/main/kotlin/es/verdnatura/domain/entity/TicketDetail.kt new file mode 100644 index 0000000..2fe01d7 --- /dev/null +++ b/domain/src/main/kotlin/es/verdnatura/domain/entity/TicketDetail.kt @@ -0,0 +1,88 @@ +package es.verdnatura.domain.entity + +import com.google.gson.annotations.SerializedName +import java.util.* + +/** + * Created by nelo on 8/3/17. + */ +class TicketDetail{ + + @SerializedName("IdDetail") + var IdDetail: Int = 0 + + @SerializedName("Niche") + var Niche: String = "" + + @SerializedName("IdArticle") + var IdArticle: String = "" + + @SerializedName("ArticleImage") + var ArticleImage: String = "" + + @SerializedName("Ok") + var Ok: Int = 0 + + @SerializedName("Packing") + var Packing: Int = 0 + + @SerializedName("Grouping") + var Grouping: Int = 0 + + @SerializedName("Quantity") + var Quantity: Int = 0 + + @SerializedName("OldQuantity") + var OldQuantity: Int = 0 + + @SerializedName("OriginalQuantity") + var OriginalQuantity: Int = 0 + + @SerializedName("Concept") + var Concept: String = "" + + @SerializedName("Producer") + var Producer: String = "" + + @SerializedName("Size") + var Size: Int = 0 + + @SerializedName("Color") + var Color: String = "" + + @SerializedName("Category") + var Category: String = "" + + @SerializedName("Origin") + var Origin: String = "" + + @SerializedName("Stems") + var Stems: Int = 0 + + @SerializedName("Reign") + var Reign: String = "" + + @SerializedName("IdTicket") + var IdTicket: String = "" + + @SerializedName("Barcodes") + var Barcodes: MutableList = ArrayList() + + @SerializedName("Discount") + var Discount: Float = 0.0F + + @SerializedName("Reserved") + var Reserved: Int = 0 + + @SerializedName("Price") + var Price: Float = 0.0F + + @SerializedName("Path") + var Path: String = "" + + var DetailState: State = State.DEFAULT + + enum class State{ + DEFAULT, MARKED, UPLOADED, ERROR + } +} \ No newline at end of file diff --git a/domain/src/main/kotlin/es/verdnatura/domain/interactor/DefaultObserver.kt b/domain/src/main/kotlin/es/verdnatura/domain/interactor/DefaultObserver.kt new file mode 100644 index 0000000..3c5280e --- /dev/null +++ b/domain/src/main/kotlin/es/verdnatura/domain/interactor/DefaultObserver.kt @@ -0,0 +1,15 @@ +package es.verdnatura.domain.interactor + +import io.reactivex.observers.DisposableObserver + +/** + * Created by nelo on 27/2/17. + */ +open class DefaultObserver : DisposableObserver() { + + override fun onNext(t: T) {} + + override fun onComplete() {} + + override fun onError(exception: Throwable ){} +} \ No newline at end of file diff --git a/domain/src/main/kotlin/es/verdnatura/domain/interactor/DefaultObserver.kt.orig b/domain/src/main/kotlin/es/verdnatura/domain/interactor/DefaultObserver.kt.orig new file mode 100644 index 0000000..d9cf812 --- /dev/null +++ b/domain/src/main/kotlin/es/verdnatura/domain/interactor/DefaultObserver.kt.orig @@ -0,0 +1,20 @@ +package es.verdnatura.domain.interactor + + +/** + * Created by nelo on 16/2/17. + */ +class DefaultObserver : DisposableObserver() { + + override fun onComplete() { + + } + + override fun onError(e: Throwable?) { + + } + + override fun onNext(value: T) { + + } +} \ No newline at end of file diff --git a/domain/src/main/kotlin/es/verdnatura/domain/interactor/DownloadTicketUseCase.kt b/domain/src/main/kotlin/es/verdnatura/domain/interactor/DownloadTicketUseCase.kt new file mode 100644 index 0000000..a091e6a --- /dev/null +++ b/domain/src/main/kotlin/es/verdnatura/domain/interactor/DownloadTicketUseCase.kt @@ -0,0 +1,32 @@ +package es.verdnatura.domain.interactor + +import es.verdnatura.domain.entity.Ticket +import es.verdnatura.domain.repository.WarehouseRepository +import io.reactivex.Observable +import io.reactivex.Scheduler +import javax.inject.Inject + +/** + * Created by nelo on 8/3/17. + */ +class DownloadTicketUseCase : UseCase { + + val repository: WarehouseRepository + + @Inject + constructor(repository: WarehouseRepository, uiThread: Scheduler, mExecutorThread: Scheduler) : super(uiThread, mExecutorThread) { + this.repository = repository + } + + override fun buildUseCaseObservable(params: Params): Observable { + return this.repository.getTicketController(params.ticket) + } + + class Params private constructor(val ticket: String) { + companion object{ + fun forGetTicket(ticket: String): Params { + return Params(ticket) + } + } + } +} \ No newline at end of file diff --git a/domain/src/main/kotlin/es/verdnatura/domain/interactor/GetMarkedTicketLinesUseCase.kt b/domain/src/main/kotlin/es/verdnatura/domain/interactor/GetMarkedTicketLinesUseCase.kt new file mode 100644 index 0000000..252982e --- /dev/null +++ b/domain/src/main/kotlin/es/verdnatura/domain/interactor/GetMarkedTicketLinesUseCase.kt @@ -0,0 +1,29 @@ +package es.verdnatura.domain.interactor + +import es.verdnatura.domain.entity.Ticket +import io.reactivex.Observable +import io.reactivex.Scheduler +import javax.inject.Inject + +/** + * Created by nelo on 5/4/17. + */ +class GetMarkedTicketLinesUseCase : UseCase { + + @Inject + constructor(uiThread: Scheduler, mExecutorThread: Scheduler) : super(uiThread, mExecutorThread) + + override fun buildUseCaseObservable(params: Params): Observable { + return Observable.just(params.ticket.Details.filter { detail -> detail.Ok == 2 }.count()) + } + + class Params private constructor(val ticket: Ticket) { + companion object{ + fun forGetMarkedLines(ticket: Ticket): Params { + return Params(ticket) + } + } + } + +} + diff --git a/domain/src/main/kotlin/es/verdnatura/domain/interactor/LoginUseCase.kt b/domain/src/main/kotlin/es/verdnatura/domain/interactor/LoginUseCase.kt new file mode 100644 index 0000000..ce034d1 --- /dev/null +++ b/domain/src/main/kotlin/es/verdnatura/domain/interactor/LoginUseCase.kt @@ -0,0 +1,32 @@ +package es.verdnatura.domain.interactor + +import es.verdnatura.domain.repository.WarehouseRepository +import io.reactivex.Observable +import io.reactivex.Scheduler +import javax.inject.Inject + +/** + * Created by nelo on 16/2/17. + */ +class LoginUseCase : UseCase{ + + val repository: WarehouseRepository + + @Inject + constructor(repository: WarehouseRepository, uiThread: Scheduler, mExecutorThread: Scheduler) : super(uiThread, mExecutorThread) { + this.repository = repository + } + + override fun buildUseCaseObservable(params: Params): Observable { + this.repository.createApi(params.user, params.pass, params.version) + return this.repository.login(params.user, params.pass, params.imei) + } + + class Params private constructor(val user: String, val pass: String, val imei: String, val version: String) { + companion object{ + fun forLogin(user: String, pass: String, imei: String, version: String): Params { + return Params(user, pass, imei, version) + } + } + } +} \ No newline at end of file diff --git a/domain/src/main/kotlin/es/verdnatura/domain/interactor/UseCase.kt b/domain/src/main/kotlin/es/verdnatura/domain/interactor/UseCase.kt new file mode 100644 index 0000000..5176b2d --- /dev/null +++ b/domain/src/main/kotlin/es/verdnatura/domain/interactor/UseCase.kt @@ -0,0 +1,47 @@ +package es.verdnatura.domain.interactor + +import es.verdnatura.domain.check.Preconditions +import io.reactivex.Observable +import io.reactivex.Scheduler +import io.reactivex.disposables.CompositeDisposable +import io.reactivex.observers.DisposableObserver +import io.reactivex.disposables.Disposable + +/** + * Created by nelo on 16/2/17. + */ +abstract class UseCase { + + val uiThread: Scheduler + val mExecutorThread: Scheduler + var disposables: CompositeDisposable + + constructor(uiThread: Scheduler, mExecutorThread: Scheduler){ + this.uiThread = uiThread + this.mExecutorThread = mExecutorThread + this.disposables = CompositeDisposable() + } + + abstract fun buildUseCaseObservable(params: Params): Observable + + open fun execute(observer: DisposableObserver, params: Params) { + Preconditions.checkNotNull(params) + Preconditions.checkNotNull(observer) + val observable: Observable = this.buildUseCaseObservable(params) + .subscribeOn(mExecutorThread) + .observeOn(uiThread) + addDisposable(observable.subscribeWith(observer)) + } + + fun dispose() { + if (!disposables.isDisposed) { + disposables.dispose() + } + } + + private fun addDisposable(disposable: Disposable) { + Preconditions.checkNotNull(disposable) + Preconditions.checkNotNull(disposables) + disposables.add(disposable) + } +} \ No newline at end of file diff --git a/domain/src/main/kotlin/es/verdnatura/domain/repository/WarehouseRepository.kt b/domain/src/main/kotlin/es/verdnatura/domain/repository/WarehouseRepository.kt new file mode 100644 index 0000000..ef54343 --- /dev/null +++ b/domain/src/main/kotlin/es/verdnatura/domain/repository/WarehouseRepository.kt @@ -0,0 +1,17 @@ +package es.verdnatura.domain.repository + +import es.verdnatura.domain.entity.Ticket +import io.reactivex.Observable + + +/** + * Created by nelo on 16/2/17. + */ +interface WarehouseRepository { + + fun createApi(user: String, pass: String, version: String) + + fun login(user: String, pass: String, imei: String): Observable + + fun getTicketController(ticket: String): Observable +} \ No newline at end of file diff --git a/domain/src/test/kotlin/check/PreconditionsTest.kt b/domain/src/test/kotlin/check/PreconditionsTest.kt new file mode 100644 index 0000000..03f188f --- /dev/null +++ b/domain/src/test/kotlin/check/PreconditionsTest.kt @@ -0,0 +1,31 @@ +package check + + +import es.verdnatura.domain.check.Preconditions +import org.junit.Rule +import org.junit.Test +import org.junit.rules.ExpectedException +import org.junit.runner.RunWith +import org.mockito.junit.MockitoJUnitRunner + +/** + * Created by nelo on 21/3/17. + */ +class PreconditionsTest { + + @Rule + @JvmField + public var exception = ExpectedException.none() + + @Test + fun checkNotNull(){ + var message : String = "" + Preconditions.checkNotNull(message) + } + + @Test + fun checkNull(){ + exception.expect(NullPointerException::class.java) + Preconditions.checkNotNull(null) + } +} \ No newline at end of file diff --git a/domain/src/test/kotlin/interactor/LoginUseCaseTest.kt b/domain/src/test/kotlin/interactor/LoginUseCaseTest.kt new file mode 100644 index 0000000..cb747a9 --- /dev/null +++ b/domain/src/test/kotlin/interactor/LoginUseCaseTest.kt @@ -0,0 +1,19 @@ +package interactor + +import com.nhaarman.mockito_kotlin.mock +import es.verdnatura.domain.repository.WarehouseRepository +import io.reactivex.Scheduler + +/** + * Created by nelo on 7/4/17. + */ +class LoginUseCaseTest { + + private val warehouseRepository: WarehouseRepository = mock() + private val mExecutorThread: Scheduler = mock() + private val uiThread: Scheduler = mock() + + + + +} \ No newline at end of file diff --git a/domain/src/test/kotlin/interactor/TicketcontrollerUseCaseTest.kt b/domain/src/test/kotlin/interactor/TicketcontrollerUseCaseTest.kt new file mode 100644 index 0000000..2ab02dc --- /dev/null +++ b/domain/src/test/kotlin/interactor/TicketcontrollerUseCaseTest.kt @@ -0,0 +1,42 @@ +package interactor + +import com.nhaarman.mockito_kotlin.mock +import com.nhaarman.mockito_kotlin.verify +import com.nhaarman.mockito_kotlin.verifyNoMoreInteractions +import com.nhaarman.mockito_kotlin.verifyZeroInteractions +import es.verdnatura.domain.interactor.DownloadTicketUseCase +import es.verdnatura.domain.repository.WarehouseRepository +import io.reactivex.Scheduler +import org.junit.Before +import org.junit.Test + +/** + * Created by nelo on 20/3/17. + */ + +class TicketcontrollerUseCaseTest { + + private val TICKET = "775762" + + private val warehouseRepository: WarehouseRepository = mock() + private val mExecutorThread: Scheduler = mock() + private val uiThread: Scheduler = mock() + + private lateinit var downloadTicketUseCase: DownloadTicketUseCase + + @Before + fun setUp() { + downloadTicketUseCase = DownloadTicketUseCase(warehouseRepository, uiThread, mExecutorThread) + } + + @Test + fun shouldGetTicketController() { + downloadTicketUseCase.buildUseCaseObservable(DownloadTicketUseCase.Params.forGetTicket(TICKET)) + + verify(warehouseRepository).getTicketController(TICKET) + verifyNoMoreInteractions(warehouseRepository) + verifyZeroInteractions(uiThread) + verifyZeroInteractions(mExecutorThread) + } + +} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..aac7c9b --- /dev/null +++ b/gradle.properties @@ -0,0 +1,17 @@ +# Project-wide Gradle settings. + +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. + +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html + +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +org.gradle.jvmargs=-Xmx1536m + +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..13372aef5e24af05341d49695ee84e5f9b594659 GIT binary patch literal 53636 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ⅅ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 H-+%o-(+5aQ literal 0 HcmV?d00001 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..04e285f --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Mon Dec 28 10:00:20 PST 2015 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip diff --git a/gradlew b/gradlew new file mode 100755 index 0000000..9d82f78 --- /dev/null +++ b/gradlew @@ -0,0 +1,160 @@ +#!/usr/bin/env bash + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn ( ) { + echo "$*" +} + +die ( ) { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; +esac + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules +function splitJvmOpts() { + JVM_OPTS=("$@") +} +eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS +JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" + +exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..aec9973 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,90 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windowz variants + +if not "%OS%" == "Windows_NT" goto win9xME_args +if "%@eval[2+2]" == "4" goto 4NT_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* +goto execute + +:4NT_args +@rem Get arguments from the 4NT Shell from JP Software +set CMD_LINE_ARGS=%$ + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/presentation/.gitignore b/presentation/.gitignore new file mode 100644 index 0000000..796b96d --- /dev/null +++ b/presentation/.gitignore @@ -0,0 +1 @@ +/build diff --git a/presentation/.hgignore b/presentation/.hgignore new file mode 100644 index 0000000..796b96d --- /dev/null +++ b/presentation/.hgignore @@ -0,0 +1 @@ +/build diff --git a/presentation/build.gradle b/presentation/build.gradle new file mode 100644 index 0000000..3eaefdf --- /dev/null +++ b/presentation/build.gradle @@ -0,0 +1,110 @@ +apply plugin: 'com.android.application' +apply plugin: 'kotlin-android' + + +android { + def globalConfiguration = rootProject.extensions.getByName("ext") + + compileSdkVersion globalConfiguration.getAt("androidCompileSdkVersion") + buildToolsVersion globalConfiguration.getAt("androidBuildToolsVersion") + + defaultConfig { + minSdkVersion globalConfiguration.getAt("androidMinSdkVersion") + targetSdkVersion globalConfiguration.getAt("androidTargetSdkVersion") + + applicationId globalConfiguration.getAt("androidApplicationId") + versionCode globalConfiguration.getAt("androidVersionCode") + versionName globalConfiguration.getAt("androidVersionName") + testInstrumentationRunner globalConfiguration.getAt("testInstrumentationRunner") + testApplicationId globalConfiguration.getAt("testApplicationId") + + } + + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } + + sourceSets { + main.java.srcDirs += 'src/main/kotlin' + debug.java.srcDirs += 'src/debug/kotlin' + test.java.srcDirs += 'src/test/kotlin' + androidTest.java.srcDirs += 'src/androidTest/kotlin' + main.res.srcDirs = + [ + 'src/main/res', + 'src/main/res/layouts/fragment', + 'src/main/res/layouts/activity', + 'src/main/res/layouts/item', + 'src/main/res/layouts/view' + ] + + } + + packagingOptions { + exclude 'LICENSE.txt' + exclude 'META-INF/DEPENDENCIES' + exclude 'META-INF/ASL2.0' + exclude 'META-INF/NOTICE' + exclude 'META-INF/LICENSE' + exclude 'META-INF/rxjava.properties' + } + +} + +afterEvaluate { + android.sourceSets.all { sourceSet -> + if (!sourceSet.name.startsWith('test') || !sourceSet.name.startsWith('androidTest')) { + sourceSet.kotlin.setSrcDirs([]) + } + } +} + +dependencies { + def presentationDependencies = rootProject.ext.presentationDependencies + def presentationTestDependencies = rootProject.ext.presentationTestDependencies + def presentationAndroidTestDependencies = rootProject.ext.presentationAndroidTestDependencies + + compile project(':core') + compile project(':domain') + compile project(':data') + + compile presentationDependencies.appcomapt_v7 + compile presentationDependencies.kotlin + compile presentationDependencies.butterKnife + compile presentationDependencies.dagger + compile presentationDependencies.rxAndroid + compile presentationDependencies.barcodeScanner + compile presentationDependencies.constranintLayout + + testCompile presentationTestDependencies.jUnit + testCompile presentationTestDependencies.kotlin + testCompile presentationTestDependencies.kotlinTest + testCompile presentationTestDependencies.mockitoKotlin + testCompile presentationTestDependencies.kluent + + androidTestCompile presentationAndroidTestDependencies.espresso + androidTestCompile presentationAndroidTestDependencies.runner + androidTestCompile presentationAndroidTestDependencies.rules + androidTestCompile presentationAndroidTestDependencies.espressoIntents + androidTestCompile presentationAndroidTestDependencies.annotations + + provided presentationDependencies.javaxAnnotation + + kapt presentationDependencies.kaptButterKnife + kapt presentationDependencies.kaptDagger + + //Development + //compile developmentDependencies.leakCanary + + compile fileTree(dir: 'libs', include: '*.jar') +} + +repositories { + mavenCentral() +} +kapt { + generateStubs = true +} \ No newline at end of file diff --git a/presentation/proguard-rules.pro b/presentation/proguard-rules.pro new file mode 100644 index 0000000..f6f0958 --- /dev/null +++ b/presentation/proguard-rules.pro @@ -0,0 +1,17 @@ +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in /Users/nelo/Library/Android/sdk/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the proguardFiles +# directive in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/presentation/src/androidTest/kotlin/es/verdnatura/almacen/activity/LoginActivityTest.kt b/presentation/src/androidTest/kotlin/es/verdnatura/almacen/activity/LoginActivityTest.kt new file mode 100644 index 0000000..51f720c --- /dev/null +++ b/presentation/src/androidTest/kotlin/es/verdnatura/almacen/activity/LoginActivityTest.kt @@ -0,0 +1,13 @@ +package es.verdnatura.almacen.activity + +import es.verdnatura.almacen.framework.AcceptanceTest +import es.verdnatura.almacen.view.activity.LoginActivity + + +/** + * Created by nelo on 22/3/17. + */ +class LoginActivityTest : AcceptanceTest(LoginActivity::class.java){ + + +} \ No newline at end of file diff --git a/presentation/src/androidTest/kotlin/es/verdnatura/almacen/fragment/LoginFragmentTest.kt b/presentation/src/androidTest/kotlin/es/verdnatura/almacen/fragment/LoginFragmentTest.kt new file mode 100644 index 0000000..a12875d --- /dev/null +++ b/presentation/src/androidTest/kotlin/es/verdnatura/almacen/fragment/LoginFragmentTest.kt @@ -0,0 +1,33 @@ +package es.verdnatura.almacen.fragment + +import es.verdnatura.almacen.framework.FragmentTestRule +import es.verdnatura.almacen.view.fragment.LoginFragment +import android.support.test.espresso.matcher.ViewMatchers.isDisplayed +import android.support.test.espresso.Espresso.onView +import android.support.test.espresso.assertion.ViewAssertions.matches +import android.support.test.espresso.matcher.ViewMatchers.withId +import es.verdnatura.almacen.R +import org.junit.Rule +import org.junit.Test + + +/** + * Created by nelo on 10/4/17. + */ +class LoginFragmentTest : FragmentTestRule(LoginFragment::class.java, R.layout.fragment_login) { + + + @Rule @JvmField + public var mFragmentTestRule: FragmentTestRule = FragmentTestRule(LoginFragment::class.java!!, R.layout.fragment_login) + + @Test + fun fragment_can_be_instantiated() { + + // Launch the activity to make the fragment visible + mFragmentTestRule.launchActivity(null) + + // Then use Espresso to test the Fragment + onView(withId(R.id.button_login)).check(matches(isDisplayed())) + } + +} \ No newline at end of file diff --git a/presentation/src/androidTest/kotlin/es/verdnatura/almacen/framework/AcceptanceTest.kt b/presentation/src/androidTest/kotlin/es/verdnatura/almacen/framework/AcceptanceTest.kt new file mode 100644 index 0000000..476478f --- /dev/null +++ b/presentation/src/androidTest/kotlin/es/verdnatura/almacen/framework/AcceptanceTest.kt @@ -0,0 +1,24 @@ +package es.verdnatura.almacen.framework + +import android.app.Activity +import android.support.test.espresso.intent.rule.IntentsTestRule +import android.support.test.rule.ActivityTestRule +import android.support.test.runner.AndroidJUnit4 +import android.test.suitebuilder.annotation.LargeTest +import org.junit.Rule +import org.junit.runner.RunWith + +/** + * Created by nelo on 22/3/17. + */ +@LargeTest +@RunWith(AndroidJUnit4::class) +abstract class AcceptanceTest(clazz: Class) { + + @Rule @JvmField + val testRule: ActivityTestRule = IntentsTestRule(clazz) + + val checkThat: Matchers = Matchers() + val events: Events = Events() +} + diff --git a/presentation/src/androidTest/kotlin/es/verdnatura/almacen/framework/Events.kt b/presentation/src/androidTest/kotlin/es/verdnatura/almacen/framework/Events.kt new file mode 100644 index 0000000..5534ccc --- /dev/null +++ b/presentation/src/androidTest/kotlin/es/verdnatura/almacen/framework/Events.kt @@ -0,0 +1,17 @@ +package es.verdnatura.almacen.framework + +import android.support.annotation.IdRes +import android.support.test.espresso.Espresso.onView +import android.support.test.espresso.action.ViewActions.click +import android.support.test.espresso.matcher.ViewMatchers.withId + +/** + * Created by nelo on 22/3/17. + */ +class Events { + + fun clickOnView(@IdRes viewId: Int) { + onView(withId(viewId)).perform(click()) + } + +} \ No newline at end of file diff --git a/presentation/src/androidTest/kotlin/es/verdnatura/almacen/framework/FragmentTestRule.kt b/presentation/src/androidTest/kotlin/es/verdnatura/almacen/framework/FragmentTestRule.kt new file mode 100644 index 0000000..bebe910 --- /dev/null +++ b/presentation/src/androidTest/kotlin/es/verdnatura/almacen/framework/FragmentTestRule.kt @@ -0,0 +1,52 @@ +package es.verdnatura.almacen.framework + +import android.app.FragmentManager +import android.support.test.rule.ActivityTestRule +import android.support.test.runner.AndroidJUnit4 +import es.verdnatura.almacen.R +import es.verdnatura.almacen.TestActivity +import es.verdnatura.almacen.view.fragment.BaseFragment +import junit.framework.Assert +import org.junit.runner.RunWith + + +/** + * Created by nelo on 10/4/17. + */ +@RunWith(AndroidJUnit4::class) +open class FragmentTestRule : ActivityTestRule { + + private var mFragmentClass: Class + private var mFragment: F? = null + private val layout: Int + + constructor(fragmentClass: Class, layout: Int) : super(TestActivity::class.java, true, false) { + mFragmentClass = fragmentClass + this.layout = layout + } + + override fun afterActivityLaunched() { + super.afterActivityLaunched() + activity.runOnUiThread { + try { + val manager: FragmentManager = activity.fragmentManager + val transaction = manager.beginTransaction() + mFragment = mFragmentClass.getDeclaredConstructor(Int::class.java).newInstance(layout) + transaction.replace(R.id.fragmentContainer, mFragment) + transaction.commit() + + } + catch (e: Exception){ + Assert.fail(String.format("%s: Could not insert %s into TestActivity: %s", + javaClass.getSimpleName(), + mFragmentClass.getSimpleName(), + e.message)) + } + } + } + + fun getFragment(): F?{ + return mFragment + } + +} \ No newline at end of file diff --git a/presentation/src/androidTest/kotlin/es/verdnatura/almacen/framework/Matchers.kt b/presentation/src/androidTest/kotlin/es/verdnatura/almacen/framework/Matchers.kt new file mode 100644 index 0000000..9d716e7 --- /dev/null +++ b/presentation/src/androidTest/kotlin/es/verdnatura/almacen/framework/Matchers.kt @@ -0,0 +1,33 @@ +package es.verdnatura.almacen.framework + +import android.app.Activity +import android.support.annotation.IdRes +import android.support.annotation.StringRes +import android.support.test.espresso.Espresso.onView +import android.support.test.espresso.assertion.ViewAssertions.matches +import android.support.test.espresso.intent.Intents.intended +import android.support.test.espresso.intent.matcher.IntentMatchers +import android.support.test.espresso.matcher.ViewMatchers.* + +/** + * Created by nelo on 22/3/17. + */ +class Matchers { + + fun nextOpenActivityIs(clazz: Class) { + intended(IntentMatchers.hasComponent(clazz.name)) + } + + fun viewIsVisibleAndContainsText(@StringRes stringResource: Int) { + onView(withText(stringResource)).check(matches(withEffectiveVisibility(Visibility.VISIBLE))) + } + + fun viewContainsText(@IdRes viewId: Int, @StringRes stringResource: Int) { + onView(withId(viewId)).check(matches(withText(stringResource))) + } + + fun viewIsVisible(@IdRes viewId: Int){ + onView(withId(viewId)).check(matches(withEffectiveVisibility(Visibility.VISIBLE))) + } + +} \ No newline at end of file diff --git a/presentation/src/debug/AndroidManifest.xml b/presentation/src/debug/AndroidManifest.xml new file mode 100644 index 0000000..491feff --- /dev/null +++ b/presentation/src/debug/AndroidManifest.xml @@ -0,0 +1,8 @@ + + + + + + + diff --git a/presentation/src/debug/kotlin/es/verdnatura/almacen/TestActivity.kt b/presentation/src/debug/kotlin/es/verdnatura/almacen/TestActivity.kt new file mode 100644 index 0000000..e3bd677 --- /dev/null +++ b/presentation/src/debug/kotlin/es/verdnatura/almacen/TestActivity.kt @@ -0,0 +1,18 @@ +package es.verdnatura.almacen + +import android.os.Bundle +import android.widget.FrameLayout +import es.verdnatura.core.activity.BaseActivity + +/** + * Created by nelo on 10/4/17. + */ +class TestActivity : BaseActivity() { + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + var framelayout = FrameLayout(this) + framelayout.id = R.id.fragmentContainer + setContentView(framelayout) + } +} \ No newline at end of file diff --git a/presentation/src/main/AndroidManifest.xml b/presentation/src/main/AndroidManifest.xml new file mode 100644 index 0000000..d92cbe0 --- /dev/null +++ b/presentation/src/main/AndroidManifest.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/presentation/src/main/ic_launcher-web.png b/presentation/src/main/ic_launcher-web.png new file mode 100644 index 0000000000000000000000000000000000000000..d7ee401031a99f20627312b0362e96f2cf2639e2 GIT binary patch literal 28287 zcmeD?3N zESGUe*H7c<&;D>4aZz8yd-LP}KmLzcpfz^idgbwJMuOLgB8%Q{O>uz)8IB|X)Br#~ z!T}lp=$;G!Jb;4!1OOKR&^-=7!2op62*5=Ep!=ZrjeC1ESRukLbx&QzWnUF~2+rS9 zya0cU{SLjT@gf7YmYb``h`qQ>eq}S6A_%h0lSjMy0?< zMn?X78VgW1XL0oOvNy56V3%mQLr4}Vo3jM_?=Rsn)D6%rUrz{55mi|ytKw5!QV1F(@5LeVz@wjy0#@qo#B`sj%GYZ5Ad!G{*p2v$u|73&#?+YN`e8GFlZ=1m` zlnG+U?+%wFVGu{`bk87i%>)2iAL1fMdpjJQw!q;=&J`z3yMqGt z5O!U*rf^$&33YYyv*FtBHXpGFHjR4gdA~tigt$&zN}HIRT=yQ-pPhM|OulA8DHEO5 zuZri^Ho$x#&TKuxM}w}>{@vOF8%YZETdIHAv_0RZ^DFa!65PZe)IAr;=K-D=yFqAOt!zv1T%y3L84O<}wN@m`E zbwm(4v&m$k_;4o|rxTYw4ulvUFiQSYTl?wfnUdKV>c4;30`T6m6%}&H998>(JF)uw z=~X`}h_NkHz?Kb#eJDwTegQU05nrQfLzWrrT(La#fB`B*fz8zo?j&k5V1xkjglA2= zD*w>B1yK92e4Fp`h(ubW@a;4Ir86J0cJb+{2N2e7cqs2{8{Bi&pbs{5>x^NrcItnB zm!wB|j-H)*G0JV{36w#9R*i>E89u@{>crFn(9u2S`{tastH7FegWEg7gpKiKI3W;} zJArRB<6xdDFmSz9q}IyiE2wY01Tz$Ldu8z(@kK+lQ{kYdIj3pL^uLH ziG3Zy7kUm|SVaIJzZ;HXqtk=Lilq~%;zGY;)p_;;D20I)1n{AX~JEWFq;YgIJsN~Dje@-aAKc;Fi;Mwj%MH~Ii~Wo3a&LPGii z7CkJI0Ck;Um#E1`;3OUyEmj&gAUdv?=FO0*>rHTruC}X&ijNQn-q+Lf3?(s&=1h7I z`Mv+JzhAo=NPG5;RljJaqv&h1uf%w0=;}T+$om`}9nEst|7H)&UKw~% z{=*c|&g_;a+N}L?9(k4YuETRoo|ELqVyh75Rj7!8HXI%u6O+L~$>YU@wO8k~0ot)W zclQdjIrxR(`H3;%XBbbiV6_d!$e>Nml_5wq=XpQ_V@ z2e?j{2b}e_9W%lf8L6p_D1e7LI(pT^%K?Ke5I~ZPMG(wnn5c~HrFE_*%EbqF`McEJ znA>T8^(Q>Ug05ed4b=-S!p5$pFAEhnc?-_!0E`~fxwtXDBNMmWDneGAeW#{>mE&)X z8RB9?8V>Z^IBl8p$x=WsIypJXN;0OwAAD844uw2_0ix_}F$$U(V`1~n%+spVh&;K; z#TdSM1Aa|yZDt|305KY%d*QS+G#4TCAT5G0lz0Nr3kmDXslt&?U311cj*Ef5RYhx8 z6x|I7sLjEni_HLS4tdI4e6tTyAnne^_PcZ1P(5#tn}U{8`*o8YF;>fh80Ws?bw>+p zmzz3pL1IQm6by|*H8$4A15Df3N5>~Wk6~EqCS4)+nL zFBi}asC&TnkrBBRkj0U@Awb-#h=Pc^2#jK0*DCwnD6yU4#5_8gblxfdzyg`t0A4T% zBOovWT#Shs7s$YsmpjE@-m=!qq(Au6DecZCq=AhF(CNOXkWeK(G`t^dz&`0BB{rHNeM(|f| z<3?2zjCV*4z3NeH+QeWpEwvKDmIAd5s3G@8Krpo@ApyR@!LPvFilEg<5!~&=5Sm_O z_Sl))m)o81Z^!yR*5!~x00p5P%WTSh&_2ir^N;U7Mi)+PnVF0jVo`W`|IY zAAayr{_V4FNow?-;$LC_nl#>ow1IFmb-x;^61&s$ww%O%P@9_H(;4&gP+L>;Rz`8J zdC^{mM^1a1r~f$6;(@gRM#e-cGGJ1^y05$tP-p*v1f%F#Is1E%mStez*~=UXGR7p> zV*}jt?O%~(CXBqTY{U06{Lt}e(7S6f!%{4|`e($fQ7apx$}y=!naS)VF;yPzjp-7xUl%S2n_8^yf* zw2bJ$Ea{uzozGv!!4hv>PL--1@H?@c{vkOQT>A1&O!P=rMrOrz=CsaICraU$Uk^$9 z*u{MeG0G$Rw|7)*QIQ1nA>Zz;^GBHEM|7Ms~47{mYFPGE+jncrt?FY z-TZ_CFoyS#{uu$(B^W9=n51HQLbf7h=(WpS9iwPblN9~5WqJYI{%DQu5nZOKU55b+ zg>!F&O<&^7BCVHw#ZfID0!2*-Dch_ykN`iA{|t1FaxhF>;Z8N8wBOlnPk2DFymNIv zh$&H15kK)7q!b7Msemm>K@Nu^EeY>jEMeJBifoLEyE!JdEG#GQTR=+yg{h76!5?Q% zwjCMQ_=bj81xw4KMYBq(i!k?TxogBLN+V=u5qSBK|CBfs@VGk{YC#OL(EC@a9z%3f044Z<70m zfj>7eGTQ>$MV*B$?c~DoEwm*p(@FTlcBea=j*iX;4OI7avjF(i`~|G^5aI!k>8ZLl z{?NHpE}4;&qNyLRUj6yj$Y)tr#F zS8Lfl?z%}kS<=BrhB7WXVnY_ls!066he5_}^GzFmG{b{-yQZe!3eNEu)aBAw<(i#K zshqJjhmo9g;=&%kcit6JjUK&Kr#x$CsAH(~s)gXsb$&fS3`Du=V_xC7ehGy2!axNg zAn$#rUW2%sj$e14_e#!2exnlA19q2-$lMv8U${QsAAcC(c!8LjCqCx`4KBomr}Dm_ z=41Z!i}_zjjhQWV-95aleV%vwg@RsBFs2x8j7_8RCaZYa;98DK8xEN{>MI;DCc4Jf z+G4^|ovG_`NUFx33#V}|k1^}0g$H!r41mF~HuL?wLPO7G63H!&x5r^u;TSu=U!=_C zGM#$mog|YhJ0^Y!zlK|%x-y+Qd?f6m^>EzbDCR{Ehwx=)sl;DE=XF|0s@?_?Lg>@d zlkd|)i@8_0N1VP#-SzBN<<-4&{G#j=W5hB{nw!xV0Xx?kxBM0kAG+5weq>UBl>MpS zFMjtYFVbvg4@~A0Iu=`zTBi#1(BgW_X~ z^J3O_TKEP+7*yi)e(A$j&Qm(bY}Tv8uG6FAV0Z-5*L{;$Y&x?_FRtqfp6Xd2mjemi zyv~Imy!DHwusZX&DE4Y+rP{OR`AbhNEVZjk${!5&$bSm z!T}7nlARpqRk4$z!_C-vFFhmUT8}SUj|q&!-0(Wq?nXPA(pm|PJunqBD~ju-62(Bv z_joXui$2@gr5joC3g+;$6?Lqhxvz#;3>y zt3?TXLu~cc4E8EdGdo{(I7smP?w{*vT3aRdruo+-{^DBGSl`%>H~Eb>DfOe$o)#=s zX*#Z{Lz3;I?Z#`X+%lu+tC6hF=OtFoLS+iYX$UYh{rei#JPXkUV9z1JxRAV^keLFD zcju9}Ryk7wo2Up=_(h1tu<|QAn^v_@5#FAw^irsqsxpt zYkG7B>W-^g^1JVML=`oTSlHj{T$EsgI0(U+`)Wu)0NH9U>fF(^NW8LLKeFAiwSpBq zE=~e9&-U4iu*Du3S%%}GyV0K7_*Ozail*W(i)I~bS`C+XW&{&H4(=bYaZu?;xftXp z-?tp&EwvlaFsNG^A7<9x5;SglV@itMDV8S$TnG@z;5%)45F~iUM*6rW?$PkJ=1`P{EAIMD>nHnU}^Ud$h=VjljHHacuH?3H0oz82xsq`fNNJnT> z7-C%%DPJa!Oa?W)?Gc-p>5A*d3Jj|?w-_#j2EzEp<>b7QSxNQn25*TQ$;9(9n4{GE zPua}^yGS3O;Mx%VNsjy6Ycad&QXOZL;#sv1=*R}|LGD}w zLB-5iK9lp+L-$gMexo zE_GV7Gx-T*bYXtbHQ}KL^Wxu4Yfn=+`9_YaKHu(e`cznQeZH#ZvE!}v>iiKGCY7HQ zXI2)BpfIbD-&M#|m=Piky278`L|gE3xgb``Q&@%G9UypDk9Jo~=+ZImWI%0t%e4I`FB=t`Wq4ub??ytpOLV>$K=B|Pnm z_8=7~5XO0KIcc0$`^>X#VNg5AmeaBJ^dmpQv6I}|!YoITaJ@A+0kS5T8o??~wvAbu zk4iW4O~|G~Z2S)wNA@iyJJkm<{=A^}{`O3Zqh&Vafc}G~^#~RDMa7MGBc2MQq2Ies zFr$NdAOl;`AP-&MinH^Ka~uq~KjKycIhLojWM_ePY2K&m?O*C9`B+IDihoJDwUHQF zkA^uM%@q$UYU#`uEI*LQOxGN?d&HsWG^-mI{VceCxx>l!%KuWxh$aLFPpfB(MwC#? z;!Ax!i%Kxm@0SF3C<&VTDw>#1%L7LjzrV@Z!N>*ed?MaH(w^?HYkk70TytZs%d+XY z)p%?1m(JMH(h=LJ_QRNDjl#&Ih{?K!kiJ_mR23u3D2=7WIeCEPDnTerf&u|Kw4 zt@fRGW)a`8P%4~X{R8g+s{1ucDeSQ9wRcOKbF$&t!RTJwax1QV&bX$XpEvEe^Qe_V zhhfcT41Ens#9_B)$x3|m>Xl-koFgW5{81--X@eGKFTf+0(G&M57$=eIZ4G z7mD=AG|T|YO`PZU7|-cSvmbZ4@q{;7 zaF}@9sRSeoe_SLpw@H2m>192`y&Fk}`YC~h1XKw>0(P)*SnarDRgAv^#W!1cbdj`h zIXLhof<>_%rnN67@{J}rV&ZHcP3-WP|A-#J0nM!rZ5@+KB?%8D4QqfzU*=e?rl=yH zR|)$v4|JO9ah$u=1Vd5c*LCqV>S;y+RJh!{r{Q zqXO&GZ1r!WPcMK)FXtOD`xk&ZTXVDf^mD%{yzkiZQ-CH92SLki3GC9~iYU$(IfS@_ z)GEw<)jbZQqpWuA$=gu5Bx){loNo@N#!b%MZNejqn^HNBdv&tLfqH@hUQhPL7Zr$r z*6+=awx>}QFv>hl6-1lCT8EpI(fzM7STRKf(7>}_z{iReJ@<|<$IEw2^Fp3;pbjv< zZHLN+b&J=O;|GwWVpqS;PY`@g>HX}qRm~`9nZ;2lAe;G~=d<+{H~U$q2A2L@b}!@G zpe|TYF-52h+DPoh*78##i_6kDOhu45fBqd1)X#9!5+n?@k$V;qLODr3*;64TOzv>7 z{-nv_AZ8JY$V^su!Xi&GOwyh_u?jLMX9Q~InFNECc;2-XLedX-9fLE9(s1n3=`1&3 zT2StMnq&H=g>+~j_lMx-mTKYy3d9Th(-TtrxYWsh`B7wPS3~FTo!-TdZ+2x*8qJFB zNKEW+C3Fh5_ESCP@Tw0hy8bxVMKwp=97645k}Uew#RHr`C6;3 zeGMg!iTx3t5wBSvzh*LDrIXP1)81qZzQD?uzzgHlt*dC7k~YgCE_@HVDn}(=DD)LcJ?sT$T<3r z42rbrTAa#as@O~xm0CSEB<_mKvSg*6gNYcMHQh?EGMFrqiP9Dh!2{2AjH`d!s+Mnm zt?rC+X6dp8fa5im3=Iu3qX^Sk{6BT>Z(8~X#>4a#+_cW8x-%S~5eo(t0EhQj5zz6=h;~*u=MCE4)+!v-9ECMB@fR=fn$#d;f)^cs7ly8; zZf`D^Z2<`ehM|$Bp)dX3kI-7%cII>{fT|{MREnmQG@LhziFH;qYjQ6^N}iaq^wl8 zDSH;zy>CglWM|&;W?7rbVpF3N;~akKZ=&$*T6I^Mx%H@rIKBZ?(9vS$o@Mj)q%)bn-E@r(0Z75!(7jr zX;i?kk|~sa?^L^QLKxYL^MLPaAZ+^*u0$XsmcHQ{nJ&op!j9XNcfYdhB;PREdzDM{ zx_qXe$toQHw|jz zeBn`0!lzhl8w5$ZAp2M((d(_aEi>tVa6~T~^;>4G5AZLbXuw5Gu2yBvHq@I zd1LoqRd4Zo_n05cFevNJd^?gbQRGe-UJT5yu{}uosfQ+=a?L%k|WF8t&zqJ_jkJQ>P ztb2ZxLy(r}&W`BZe$(7LC`SpbPqKRpIh%gW|Ipc5j8L$0pL-_uQHs*d)A{<(O`@rf zaW&1{t@lnRv{mp83sq<&?uLd*O(zA`Apttia#XN*KX_l_ZM3@jwRd{P#Ms;vFzU*} zvl;TmMm*G<78Kt{kLKvM_7LOVtMyH`xpEB*U5b4rF28S;lN{M$k(v7|evqmZDwyyK zdm6X?K}mhTTuX(qYaPIU8HP7xJ7npR@W(VVH_*6f3ABZ=o8En-^7W3s;b(cb_X$s# z)UW+@IH5UAXehgdA{u+#(}4E)aAF^=9FspVOFYyASx`pyVf(0Bon8>yx8BcEn4jkF zH@@43zi8sjTxh>sIwbEGl6z)E3d(jOtiQpsM+9bhQS=qC5Bu8cA!_umL?v=ZXj)k` zA!sNpeW2h9PEjKh+Cnlk^>|^W$%1sqcpYz=bm+&xJvV+-zY^d9B4zBgUpLt&7mB8n zLQ?N8tq;yGdPrsbQTaUjnZ9=TcPmjq+vU>7-e|eXyOt$aU+{X`St-7&iVJ|X^T4i& zQfnw3zD>9MGc}_qsHoW-j<0jx;AoEgi0ZqN?WI#Gw+TBwPsJ3+;@exbdn8e|!Jg`G z8t18V)p@p#EG-mla+A2P7~k7l4kW8hpE6A|az3)hhTSR?^3*LXhobSNKW$=|Zy9KiqGOSoQrgiN8u2n$thh^XZc*y?dp~@TI)b zb>%w*pZIZf#&5R+G7Ex>SrXR$xk7}cnvY~=zl6UQ%Nh`Mur_qYMA;uNS|1Gq31soc z<g1PMX%-AjYQpR+s8q)FCO%(j* zyd{OA!|ih9r1z472+xS@(|M6wg2V^caqT*dmvHUL=LHu^My+{nhRi{EVLPtp%F4_} z&G4e`yZszGj4J-9h!?L}%ro>m(*7sb1Qh(n{W)&$s0r)ymVKBJEvzA%h4{%DH{!Nf z=6_0@@9 zwKmh)9lw~?xjcUJU_-Z7{h9_`d;5ecO`q5}N}S@|gAc(ZDcxvhPuXw_UiE9U)aNFg zkrocJ(kf%3@flGJm~JFw83yJ(8ws@>ET2?7lW_Pr$ivUu5U^KPN1~nb_CzMwuqqO& z9YtAC`XYcmi!jAr_omD0N4zOX`S0J6t#CnMn8bBLvW=cX&WsQ|$}sj>zJVK2TP#iT zSdzdnH4Zf#YP4N`ss-)tSn4g`+%KQ=zQp-sjHrS)gOB@rK~=V#fcK@n&kS2yZYLgZ z4>XeiW>m+b6^R|&%(QlQRiQrhL_#WgFhZa0cu1#M3axFa}q-`A3n zdS$6P54su}2r+DZC9fs=R9Q1(FBz&S{k$j{h^Y9?Q>T06sZ4G#TM@KTq_EBGYa;); z_~+X?z!#k2&IXt`*HeiNUeVozv$kr_h-4i`-pXU1!`~!le%&Ht5Y!$0ZLD@Ih|&7= zkYqD!tzv$ErfWIcDhU{;m8%87R_~Kbh%t|LX2p>ktdCJ=e5ZROLIctC&%U(7Q2qVG z=9o`gbvCW6%EOoZjDx>Lf$MD+vr28`7i<#J#I|-PIO0D5E*(LutoQidc@GDN(`b#R z9VWi@DSU03&4i-_n0ctO(qNHR8$-8eACdf%ZZ~emvrqOkiG|5;pb?DdYU%N)vBF=* z!#Xe4Qc87HL}LBlc2-}xS(-L-8A!jYjRPq55l(NbkY^Is(>s>IH$i@{uLKWx8{_G? zMqa$XHkF5%u^;?~3ofP5WUS})5ka+1C{BED0Xv{7&Jl%50OqQ%(APX;=9uK>H(9w*lGB0L{U5Z568G zAcv8=vyU?W#c`iBQ19XO&$wT$*oJM*RmcDORXE54#T1~6zh92uTP;DJ1)#?Q%$Nb$ z6&HP{ zmXdPE9Fr|2P~$&dEh$T8+pf}IxekyOiD zy}Jy3u|r|=pQMJJ@ln6FS9r*$&{;71ejNlVZVvX|p+|H=g`c8VCMI}aCAVl=kTvD6 zCSQ31NlRgG*}D%3J(;l~ldlFo50SBGN2X;VLVLlF!~|!3t%nG`!}}!U%6x)y46^R| zK~N}3URx|jGu5afRJ<>!?hF6bOD@OGYhBF9l748uPGm7ZV}XfvMJ#syGLsciWW9{F z84@xBmxpfYz(&^2T2|Itk#x0n z>C#H};VHHoc`B9Yfut1AHjo#zEEnzcuTm@<`nRdycwo=ES;nh#pA27`EYG}aZ29Ci zFnhVz-O$-DhX`!9(IUUF3V?k}a#p8J47R{ud~h5&rts7hOgY$3H-&DQ8Ep$*4eCax zj9tfWq=XCT#qU>%AiGD>m@MoZngq>N77n&Azvy*Byx&-hPU|C@fecl{AYbOX6&!5sS8VqzK#O^O``Dx%1_#crllQKu z<%*MOTzhjz7BRYc%(3@R+75js;xCpx^?rN^8+E8;PZP=NFB^;ZhurQm>Ct6UXNQlU z#~%!1Dqe7GheS`$@4HUs!6|5$x$s!8Ai#TvpX>UQ8oLxN(P`DJQa&s9@XCjD&!d_2 z=3amy60tG}q(H@7dk zrHVvI-?$`nicIc7>>Y;S54H!0WI;V%P42`YOo?N)VR@40($5+Hw@G+Ea(Q6)>F#2b zP=SVKJN2xb%3qeh(U{_DYG|mMn4~cM#_;@zrnj!&I%e+pRjmS5oW5{1nN$+{luMw- z|H*hgVC=+kwbkwAqWeB-FO>*^DSuFt)AUfg<`Eq+ri#-<%BaHsZ8Ck!+`e%ST`hN( z*jcNW$Z-=D%fiJ{+vkcK5y}zNS1( zX6EOhwt{UoL%D9fl+R2Q2uqcNawaGwwVFR^L}=Z`o1xXJ=+08eF@Q0w)+DhCi`5#0 z^(^s?Ok4H7D?mV%s8{0R&}@c(oehrJuq^*Ooy^Nf!?8V?vV=)mn8J0^yK)a#?hy*O zKTHhStNteN;D|P^>POpry>&5YP^CWCzFS?y=-PU#?<}jHk~y?fb1FiIulW?*24Z21 zr`+4?nxyL!k)-W|-+*4iFj z=eS{At;K)VZ4ewrgtO6ED46MmjIUTLT@_><_$&SqT}r6jcmn<78c8?a{N9KPCa!VS z#Pe#5P^xof<>n2Qn~sl5N`|clt6?xnLnLHrJo9>aN-@0i6FOUXg4u>2FaP16+{v*% zhB6KaT*ss}3FmAqjz`h%OI0`8X9AI@u|wsQ=-huriwD?wgM2AF-u&P1D`TZ5$XGI~ z(x5R5YZ<-o!(nB+_dJHGX^k5Hpk{YuP79}NiF?LF`X4!%I{jQUwZ}yL#H<|1+>~|3 z*bhy1AUl_0sgr%qc&ob6&ce(MG=GZ+m!mE)TEN!I(qzijPHJ-E!!4HeC~-C?9cZRz z+%0~OtFK$mI1=x@is8o@v63VcE-2sM>69qjD8F`A!>6;K{aJ{)9@g^6WO1dP-}6*V z=Dnfw0md^hCMTkoUru^uWu+&Myx)xwid&T2kt?kFOxab{tj9uY0X%X#cr=C-$p8KhDz zI=kFM*X`GdYZsQxQF5ei(;MC1QjzTAtD(y!I%M^EL54SKwY>6%m^Lk`o_cOuCHN>x zL^Lm_wXV+p*$Hguei9c}lOZX4Mw{o%agsd}LV2N^S(S;e&R@x&lA z_iF5gQ0u*l{?)tbhYMYKe6#*<#d2<&_vh$0j-?{5d3j<^H!MvaUq%|dKU4aqW>37S zTiw*~XT>21zCbJ{bQGB@@?d23`@A4)$v-h1GBcW{s<@%pd6FtQd}+Ju%B9?EgkYm- z{3QKV0;WjDTK8@RHv)w@AtWH{22Y^eJ&n`vpdDFDVSOyc`mM@4@JKL9ptL0YKF&z- z-v~vKgP82hWX^C&Q{_IZxKY}j^y1iRYbU9Qz^VhLv5Dp6tjWyrHD|pgD1Lh|r-kre zDOf}XPP(vuPk_ z>n63e8&+U&=UX3!em>G#N6KQ27kY6LdLwIM^6&b+vH@LYaK=Ga_k%KaM zHl*mHrEG1iX?qbU0HymKiR zz0b9h>ypI{Bk8IV>{+T_uk;_fv`i1<03=O*Ku-!VC0_nAYhGr?;vI{K2Erxw7 zl7yI@1OEyrs|~@2hK1nS_LjoI;Y+$u9(9Wl{m=o5CMYLn-HwW#`dRr1pgo?_3*;v> zioKyPs_%FZ1o|s@62jC_-ycX~cK}3ifelUV@`YuQa%M71fP0= zrE}K!n)L~j^mJ+(@+O6h0YLrX#G@d3ePDXje44l=$i2ro!&P4JWwP+WKW<%sgNNA! zb1dk_H&18rU#_FgrW|>Wawu{9dC_I8UKNL7Iy+BKByFx&S@L~UMdQa>Y+@5Ba?``0 z!c=?YfQWj+W^DLnmO0^ndn!U9FAYm=w|wM<7PCjw;-i+rhnI&bad!P&P8>Hhi#P6S z`wjM!T6+~nUr=RZny`Nd4rA#&bys6!k2P+57A}Q6>bh>tKR5n|2ln9?ivH58HGYc* z6jg2C2N8BTSUp~)9u>}J(;fG|gnj?F0M(O@8(PXfQ7M=>M$Gjzm)%@al{F!(QAGBy z+`iR?03a;fUIc$#hZc~)@B(BG}S`k zxRTpiIN^ijoO-&ZS3Ox8uIJg~06XNt9S&F3li0TEyt`>Eni&{~hz~)Enqj!<| z?3Uq?Do^#d161|0Wa+FD$`Oh|M)e=|smzN#V&4+lut2js2$!pgw1{vimxJkyV(?yO z#)g?%<9@1u-BZrJld^9o@Xww5MFD6CF7>Lj9VF=r zJipv8Pz%Zr9u-)1yM2>gjsdD2Clno|gu7R_R#V#^J*c&(F&b{Hi0x2djlU8>c`oa0 zg~UGFkr_4wRW_EMvY?p)mtaXu=%hx+b$>xva?2GznRM=a?-dZd_cKC5#W1p=7ULQ7 z-}+<`^I3o6&X(u5QIE;`y07|+8$qefV1HW4tO+gQ&HJ@E6IV6XcCYcbN2t9uGr+*p zbZBVdgR4YrQWj0F%MQFD2>Cyo*HlKm&ap3X_iF<7zLT=x;lE4kv`^{YyJOyns^!va@#yVzruX z3oXfh)lfg=`#0vaDB#6Fe^jiKxBspaYBnAvlRmrtwJM$(s6q}~OlU6{njOP77>?=v z9iHKW*-!Uc@L*Vbpm7^8auQhBgg^y6$fHwNb?PY6@kwp8!%m#2y#2haZ*sjHGGC{dcFEVc%@UGbDI^;=sJ zj&536?Ka(a#r2O3IF9mHtDtsdbnNZRKfhD%`=UFqm z^)U}}nwO_6VK;~wsob7Qs+yDFT9|FIrNQFM7n#%8o$O5n(*oQ6#ZQe=KCc>O7h3qC z2;bC@MAb=IvvGJi3Yu*a%B7sB-b_YXP20!F6Ex{ycwi->d0+4jkZF+}eGY0!9$3LY zn;Yc=aXFO9Xn9fAM2?QuQq)~^R0*7Z`Q>l|_4--{4a%#^T3Lc8kv5K>n40W9fc!tJz$q4aSjr*hYnv^@VS!4wls8(_K{E5wWzn?Bb zo@klG!|^Th__o671XR4mN@)6664)}ElDi^@*cX1L{RbAq+G)|hJkB?fM>jEU6fOUr zZM`S%LKnYgwdKrL(Oto~Fne6!n=OA6i;l!B9-zaWBAW^yUK$6>q;5e_^1Gnv@TFgb z93{TiOlu)yFfZ2KoJZP$6AA^a^K#rq=Fl{*at}0{Xa$WSEs`EFYwO5l%s8m!0yL`O zj2OGBNf~2$a`Ky`ZWelX-5lzT!;oY8?`9V$+y?Y2UotM-;;pR~L7Y2##Ocwk!zRbr4}&;BPk@Kk!o zhhgRV5u^A}t6;q@A>b0A8Il{kVhVpLw)&8U@VOHbS_!%|oX4SwH7+}gx4B+fS{KWv zKZ$o+M_BDuXy)zbwpy5@ppzkw@|pOKRD%Nz6;p7#*l^LN_48TU6F1#vV-Dsm9KT6e zl#_;F*~NGf?;d~xs+8(d3R5`d8}saRVY>l80$t_aUsp*qIAAhHMgUkkVruQgia>D* zzS*xjn9xQ5rMM~6EK7gY@v?n@+PPf;>Dd9Wpsx~k1dj_+p)wKYWA)FUOqHo#L@;bU zyNyoCbA%%5+>sx|K2TubODgchePS;sQnpx{FWNg#R`_mx+-V5YEKigOjeyYyyvSq? zt-9oMav^$;Vbt)7S5PviLt`}g@FaN1Vy{B5&BB0;g5Y5B`+VQ4YMWEKB(pr8dH=Vz z=sml=f}ia)<6aBIZ~kuCPS*3S!Y^1n8;PiI2nMMaZ=r>ctl+ zR_#*9$-b}>qseTKJs7Gt@jb*jtj1h@lLbR`quQ(5!vDy z!HY%kD+!~yWEW;OrzQB{lzAEIKR|QtJy%|tSA0g+q)jaAFC&A+nu%Tm;9Rk4+1H)b z-Qy%g@1Y#>#`tNR*Ja=+47t{s#gDTD0odhm2;`UW7FGhfqDUdBvTV$pP@;wB*w-Xc z+qSC*+%TL*_wd(6I7=}CqaC)xcQkc0?bUK=aa2wfnB8VU&vN6NU8-?7VD=j8`Tj~s zKogmdc@;xeh)G*7r9DJ6lRn8ZSkK)QtJrP&{Q(bIdzdr!v(mY2m;b&w?=DHu{c8h@ zgu*A{Ayv~V6tIac^`K-n7)T-u?PSKH2T=J;wnkD@eS%Ozwu@iAiT@I7sxMVPV+m!! zoB5cBZ=kunD|VJ4JAv9&0(ZPvW9y()T8fy)DP+)Wmjq%Vxtf^VVaNKC$=C}*G@bHVnMCkPXLgOxbcN-D96)@ZQ;!Z%lWbU7#z{Zr7} z%SJG-_GL8^-{1l(rz_jrvV7asiC3AKnIEzUvC9F8(5qnP$`8GZW%hwbzG(A6`-E!i z2@K`xPH*x0gC+6{_|U-zsAEA4k1f|RoAj8T_c{@Du`F6HKz^<*2 z6K4gCi=0uM$?L|e-o)-wr_o4B2VH7x*+DJ%T1&;EJl$C#xJKlF z*)B2;c~T>uX3d}GeP|iyY_Qke_YRr4t<^|>_T}xi=>^6sbb|~c=!3po=;~Wac1TDM!E+YM;>l&k12Y4K3|50?!#9LPk3U%}=@rHF z&SOr03?du{qjd<2HEzY$cr4HJuuNiPq!kTl-aSHN8UL0S#Y)U&?GfJLop~RskXu3% zW?AYl;LTx!*?WlhQGhliJq1?QkIk%v$rJS$_R0l3ylixgY1%90()2$|xy95aXs4Z} zkK{%2N^G_uB*G+nu|#r0)IxZ?(Gd0jhX=p6skXssb9E-%IXZ9aO=0iq#r9 z&=U=cS!4WM`5IfpTiiLEx31X@ln*UCj2Tt?P68bv1}HLIu1=iyQs}W1juxH~hM_eD zk@qsAnia8G{jU?D8g2>vHqaxKtw9OBWrtM4>TWC>}~% zrSjzU%m~zTick>r9R9t1HO%JtMH**EoGr%o6w5sv6FABz3Vbgih&z7FL2SD+&gfQ^ zK?`?)0WU5n2&LYWez5H;k+mRIKDH;t6gN`gsB@H$JT@fh-ep*s-*L<6`#Ojyn)-TL zg!hssMJSr}E)MZ@ zr^WhB*w$NObBbqZC4R3{gBYEo?W57o#TFh)LXO}Ok^Ji5r0Ra(UMeQ9!$!_nF<}pw z%bybH%UP_9x41C>@TTq$LqV!HSOY}%{3>=F&n8pMY=^E%aU@L$VGn_xY0^E^zoaTh|RkQT*7|)V$>r zhXbm-{snZ_-pb&7)v1p*qG;o{&Xyk=IW#D|QKR`@d{lXIWrb&a@AuC6MyL%zGd$c6 zN-5%6_lQpGebFxu51{nUi($1Q8yes~%0UJ_l2f~sWJ}ioK$Q0C67RlsoU>ln;wR$y z4Ttw!f@2V#ApSd&K9H^27M9gobM=9UWsgECQyp2J=76!=S~o; zO33*_TIz{i7izXYmtvHX;Jy6S%JgST|KxWA?VeBZN?EUj)GZacoU`->1P8OhGAn|(41uhe0;Fj&R-|rjDjO=*YOrV1H zr#E>S?Kouz?__I?wxoYLLbFNq8HGcKQPT&QPZtw!L}qREau8f5dEkh+<9Rc2 zW#Pr0oOW~3OX>b@U=Ffula*ZrgwCfvRRm z#D|12MeSPJ4zsBrB~?m9uhm|_q3*=?Cn)Qe9fK_?2gfFpK4CwQ8q3S;{ZtHjZ}zxc zPn%9b3{>Dxlv%c5?Q1DL3ixnxG(56zU%qPm`20`@O0nox{+nKG?funbH~ZKDjWD%~ zW_-z$nYV1$M3<6%s6_QX+uCkPKgfziJK}l10!+%%nwQvxhh*L=qwUi2{6jRcJQ#XZdSL^ zKMe7k7c&*E5MgBJalRONZaq zWn!SabH2Qy>um{b7wJR1w&kbv9ZO6$1QgId2Yevjnlr+z^sG-=gYeKm>d zJlesq)g^u?yG=VW9oy4qHJZg zXyLtA5Csm=yiGPAQZ)}pvYZE)oe<3k|DoZAiq}OOl0kcCE%B``2YhxnjW=&t6Y`Rf zEdJt6Y#Phs44I)1=q7bf=C)uG!F7Q(i*n ztT0wTFG6MCVO2(M^29>n2WbLxc{vz( zv$VS06LiSpZW_LS@Z&ceI@1TzrT?e4FaL+~d;h;@vF~MHM=BzbeQib()hkP(>{{)+ z?97m@M5`!?LUt;pIuD&ULPHo$Gqu zcVS?|cV)T{6*Xa|838=F@;$T)_ioXCwl<)OTIy zgC}*grRRgEUz}J}jxF^%cU|7;Td{g5j&}V5)a@)Q@)WIp`szC=kw9HpHbUS$#_=u6 zh?VYa?>Au1w!xQU1rvfuNQqA-LqgkRYBdPY>p2vz~o)nyV34AAX~c zvvTa@Td5b6i>e_?s|yr$^0SlVX=zd`B1l1f_mvvCn=M+f)uM>aU0(QPki%3KY76la z)Ij(sL9|FNZB7kTF<5TY*4}*)o(0dP z^S|@0eio;U93_5Mx{ZF^#Sx|STR|FmapU7KRvs zA(3T!OHG8T26ij#9}
5)i39P=}}q0Xdm7*8%codWKZ$-)dhLDJqs)w6j#~c zD)YtJ<&?035_B=1I>Bi}t(AXx-?KZh``LrsxBJ^@2LP~jG@bwkA*)cb;merYwVF1N zPWBAKfHGE&cXxb3Bu#!)50#~ZR=&iR-x6sW$)@=TZnZj=g=URf-a zlzQTTA+@T4VQ0NDZ_w8e-5XK+Phe<|?Jmu0zUi{|8z7r_UGJuB*@Z5eZy*xtay_+{^-NgJ;TwZK)o%AaoBj}hK!jje zicqb6Wum7%w8WZe>d1Epa1QEis+)FJHTsgKme5{#=;B3Bvx8*|Syr{zdWzGElG~;6 z#eKECLm7YfsL*az{)LaD8G`!ModZKGw7zKzIq)#XL9(n_-2Tg)d5}&glXlS0bL`m? z57BK(+)~PH!`a!zE)Bm%+4OStByDkNROBDdz`d*oq3s~EY=8TcpI?UC2K_RxL1%))t5(-Sewo86rl@Y_r_E;c0HfrK}EjY4NvCe#M zc0+e}r1fI$W!gu2r=PN^^4o5o%>Y0Jf_e`}YZMXCT@YT82dV%7InTcv+1 z5EZ5b$lf}3)yx!EU}26Duaw<#D!pEKddF6H_hVRf%jddYc*G!T4TaS5w65uuUfq-i^aaB- zRsN#BiB|^xl|zv0JRn8r#$=K3S^m5vJTJQIaTb_aV(!_Tp5JxocS( zg({Ar^ZV}Ji@P_@eJ6k_&kW230>q3v*ubh&XC`p)gFA9V^)QhY*08{g)L+vaHw^Aitku%T2T5*h&Zd!VV%>K;qlH-UJx;wm zVy%{<{*&u-zq=L{z`)u9pbMMJ#^fcoW`ck^@Gi7wktNLPcsdu*Ro40})l~(O*M}pKEeZ`WX5vK87g*g4!?A3aQVPz{;l!N(dq1D;7rlR+ z!4l!qvFN14M(@-}^#}=^G)O^l2SF6tUVQr*wDKt3z{RCrAVs9`i|x)okbN`+gP&Y+ zX}O_5?C{t0yVlR68sr%QfwX^8orL*9`gKxX^OrcM$%NCJ1+F~uCMoUHm!Jo5? z$nhVT&b%bIGPh$qYgN*NN;SU4*K*Q6P>Igm^Bs zT*?kM-I*s1uiWJ#yBPKiJpva?U#g^+XQSE`D8Fs|zid{u9Z+w_Y z*=Eltkr2HfoOn-)cPx64zQKCt5RDTsG&m!_4XokT_Xd-q1nrAKuZ|19K2vhb5|2JL zg%(LQ`|xXJTkGc5@|Z2?aH7cImvwSsx*Rbhe#G&Q35Ya+q8dhCa^&~dTeq(i4GI9617+icrMHD&B}CK5AO62@crDI&edy zY+2K<>lUhfN1aR);Q@(!r#N#%tP~fwn#mvC)3Hd!8X2j!CikCl@l*N!d6RkZs9cz6 zOgKU?K8=e3XMdBkg$^1oYba*sf~>-q?rH`A zwMTnUjxC1hPFP3(`4T?gj<(fS-}w*GTzKWx@fvMa<>$2>MmnIuG< zxix&3Q$=#aV!Y<=mx1l|s4-PJ;u+N({j3fy+8z(0U`pc_)X-3y(+|@I506dcfy>wn zF2VTy?WJFSXq6gt!x)ga> zy`gf_AyAi4VYHa8Tdcy9HKv-4tUes@eWA3S2j0|Ppn7;UHOMYQ*(f--rd_~)!R(Gz ztywbK3SS%8x?p^lZ{#kMZVF=2YZw~+7hFntSE$STHK$u<&mWos z9E4?F?EhJJRZ{@|UHz&$4?#>0g-iWdIg;YA^fe7D#J zHoM* zH_b)K`@M;9SQR%tbM~~Yd;|TbRl{7RSf=F47i9x8hZqOr zJZn6Ms>&JPBUv-^M=Q34Jt==Jv?~nSfB05s)qSC_OdpB z)5R3!M~;jGNdb3*=llY-D7bIB5gqeI6uSIXC19USfI6rx1h_D`KkS&UwWS49Ht~`D z*sG>X4uV?|yN}7AGBG~VP=e^5>`V~QCb`{e!2M`>_-c|f%)CcHk*w#EUWMYU2>r_} z8x85Qbj+3IMeP~=u>A-9ZO&iNN!Jnvum5nGlOsb79HIhvxZ0JpS+)T2_NR)r&x7q` zZy6Q6noMxkbsKYbY`OqoT3l;Po@~~qofd`E4t&@C>~soN;0zmg#;OVYB}E4bQ|u_7 zzMtZ#h9KstY2JIGFq@YDtjoj0!(?V|e)#i9!Rs@tHl@@=LM*VJ;@AK69@TH^w-R5{EA~{5Yr-9Gqc1j>ji1cC1VkrT|=>Vy}{eM@y^b9`$b^h z$I~5|kPv2XdlzJyBC6ItZo?`lT*DSq)4K+Cti2r2heya!K2ugIF?|;7F%q|(bNugq z&G{~ttE6`>yCJ~lH7@{C_yXZ9q5lR_!dDvK(uB9dvUaXzwPjkNi5tI`S*F_A&0}>J z-jCzQ?$5t8JqPNP^mBv=ZcNZ``oEJ_Ducb`o^UUAzfH}DHc!e?u1SaH_KKj9CH3aE ztCBK#3sEF$9DXqdF4=n7QeTezZmBr5i^*fO?8|J#@%_->d4)q2R5!F0iA)6nj`0GK zZ|iYFXid|${5a;|T8olvJfqeh9*`6%{4gYWQAK2vuU2HK6&!AR03Z(7kN4EnVz(Xg zTx<2L6ZxIFb^8@42;)=5dX4c_IQwmo)89YB!C)}5N5-Ig^~(7x7hzy9QXR&Kf3;5# zl6SY31VEH;cd5-oOvdpU2TYbEU*HGKB{zS>eXLIWL}cL~#!lsKc1&IjujhpWfJRx7 zgiofJ|Jes6C(X4eZbT`TJ%V7A%fJtg z&6Zu_(Yo6SF0lhZ$;jUkut6mYbLm28UUn!Th*&wDklBInaSc^}^3v(+OIA2}nY_pk zU!(V^+vNXt*)jzwH_21?Ut9T-9 z=${({(sTCdjk7cRXh5a^E=WTCP9L+a_F{pE@S@C%>>N^3>Xfl?wlEWCE-t%>hZo{4 z^pSkc?=1ptz%hGDs{tifWY(ltt)8=UHeD<}3*q=l5-U?%NF1UV4p2M6jN(vM-O$n; z^=aGlQ!xALD2)afWWpJ+99Pc^YpbgGK{^3&BZ%N$=Pw&DLaDll@B9wD97a(;)y4Z^ zA4I6YDndEqZLLtp(Eg(VLc{a^Rga?iClJ^FPypM11{~V&v6%VQPL(?(Au5^j8}?gA8lC7!+3{3kC#2tD21Vfok;f#Zgd ze2O6w$NH%G^^5Sz#WO}{`EXM3QfI`sN%DjW!Qxz5ga=Y<)dYK7;x4pj7!z3` zEx(+sVTfRYb1arP&VX@82s1;;3^3&iXW!9^C_9Fan}^V5W|!VTm}(1pPnt6h979(; z+tNae1f73+!EQ0KW!~%H;LC~lpvfy5&#s5KN*M^VJCp-p`Kh!O-|w49@fQYm|Jy3c>U7>HAvw_xVdbL&ICB*8~8(CJtO; zJo*Fg*B9_M@DoIk%G)u{cy>&1-p#f#WNDymYW}kjVx~5yG7U= z-B~zvQ_flBolsdvA*pqnkgxOHKkfeW1EMPokHpi7@91+531&WvQ|=4Z%T7VZ&$(P5 z+_HE3uA|PLU*sKT>j)=Vbeiw@A$PVYXZB43vJ3K?)7?7 zrkTNpviJHfF9d)vaslY{;Q`UCuXX_KbtZMj0KyGWZm42N`aCJY@z?x$cX zqRb7;9FA$n$=L_8sCJ@P58mBBLfX>_oAM9oseMZ*V{#inm59sK=vMEAl8}ZHIOLWV3@}dN*enKcq$j)y}Ob zj%o|(FfMPSHr>}~Z2ECS4kQ=1?EXK3`;)po3mqsdEFBJCijDtOmSR4imjO@` zGk>6cXou~+h4+~U;mwT_bjxyUPqO14u2Mw+Z`L4>oMc5+Bg-wyVkXdk6#>8=(@G*c zw2%FhO_UR3tlUmD1Tc?|-;(PF@R#je+x{aD7DTKi)Vc5H_kn-9CRM+eEq+O#p&E%l z4^I2)NtvvoPPSsrtyo6v_og}VAAQWheXpKA<+a@QY=~WC;y2kJLiOV^bsFahXL6_1qQMeDnAng3Gq+G#kH7TF6wb34kt(rHAr2MN4XDcKy z(v0IlxTe$55cYE>LM3hE(N`O%f$dgRtooXqJGEs;ch9<{SVHfPJa9nBBO^}=%G%Cm z2%&lW>xk96>&q!r`=3PV#kAb1e_gDc%vl&fl#PbCm>gp@@lGrsfzsAUWs?C8iU@xG z(m}JGI1~Iz0oHZrHdwIWF)arv`gG-N-3TRBWfLiiywiLRNUe_0Q#`)(X)&T(`Jp~J z;mi@zV-Lz}qTSF2NDSEEOpEd*)la=*!MmI^yAVh+=wx9!n{!1$9I*yCpp2 zy5+wDm^FYvR(dU@E<)fOF7o+KvM7u0s#$ODtXcM{#BOL8oqClvM{e{(SM{N->i$zZ zi~Gz^SrAov#yCvnyH3y7(HC!N=6c+e1>Uq+XE%Yx>-W!18FcGM%>|N8;u%A`q7{%V z@oh7Sg;L;7`Qt0oPS$Ml@hrU4P&BRy#yI>|L(?MrtIql3lCs!ux-mpXUL-vYVj>sd z+`V!Dr@q2hg3ZHj07ELy3NO5pl)np7aMWm;1s;s?(|U|3@4>_LD+`dQ&^O?5yoV$2 zrBsweTYeDsopM&y_WE*8l6X-}He_Lce7W6P=c9G^Yr$y^>imuZPGhu~i+)PPD zyZ?LGNWb!iZeKrAf~%o(B|as!7zcam*};l9pkN;z@z1^l+uCV>w-qv0;Z5dWLcsnI zWc;EVgEKpY`+)p8@*cs9BJ7)nscWG08R@&|a`&~_s)hWTcJLujTA^tshW2ni$u7nH zJS>I5T?DxGTO$ouvyWnMsb!u6aQf>gd70FPq}19MW2%~AtfcTiEg)n(C#$C^?gJgE zPU6LJ&6@&@kz>63aQ26`#z@336(K&cV(MXkY$M7s5=L;oi$aI|Jd%xoi7Rp@ivZAB zfcxMb3$#s#)*mw7TM5wCQZ`n*vGwK{4#oG(V{3Y4+dM)M_b)v-x2GG#!TKomJrC#g ziz@oymU^%4FIKqPp^i^+kw;OeOE-K#RBn%MOZ4ayObHX*G%`l>&&?L6X(T7%A*7Wq z{#T^{*n*>bldfRI9u3o?X-F&Q-`;+!C$h1{c=D2gmC1vsy4fBzjL zpfJ#1A_)(nfB*hp15j3^12!@+-Wyy@82`V&jr9Gm!;2c=j%<%{M)1cUmKaZ7LH#B8 zzxFh~KtIL>!2J@{B8f|F`M)kJNE`bOp@}Z6i@8z`J zb|+}q1A_G6fGlVt)k{Y6K^m!sloF}}MEm($Rmk*aaL&jGJB{@(+!VeoYG0ov3`zu; z^l(UqmajqU@dgXkhmw|x&W3^B7$NP!LE1=>7~{4!qA+F35rPOq(2~D7_tJ`emEmXz!s~Gduv9Z!qXB2SlE# zq#P<@-U@GoI>2`}MwfuZGLK;()0qnJ-3D>0HUiU#yT8>AQ1R$+_-{NAX@l6=`7jpw zb}T6>Mje@}2Y-!&az4GlhwSiKK|V+v9tqt$id;&e^diuac1`OXUb{Zl*S>M&Cv5oX zT5~%_Lt5X&4Y=T(Ot`b2OB_TBLlE`GuIA2DnAj=@;=~lF1N&Y4Pn#Gde-eBILX^KT znG5-qCw_D&vzB36ymsNoOs&!FKnhLCS^ zoiKaiNdorE25vL~AiuuW>lhHnF{mR!$-VUaTYU4_@w=2tlH6DP?q)a{TMownzc&*$ z4w`(M5byc%-1}zKy%e$f&9!$dR`} z!b%(hn&QSaE+zDW<9ZAi{^nHs6{@g1MFB!lJ-Re-nE*FS^g_tal$bmpgLe#+jqISc z*bhL=-J09C!WLGi%+V(EX@{mf=%C3Z^a@qQm4W=>)rs_GRBvX#I^QK55d6a6Qs zi}D_1bI86HxTSOabW)!RqdZ7+YwFqrhWpf{M$Zm@G>VmO;0!?wp=0c~d^=HWi1SIl zT0wi;%YG6GAX%Rvu5IDBuJQ9Sb4HO=2Pkowyr_k@RM|5%HPmBD+ zBZ)u3F2 zWAP^O$7iSen^WVQYj?<($@%0q>QQO}`s`2Y3DNsl88lWFU0jOXl4HZNQ@F{;Nw>SG z4Zq;y?MUiQJWi4t+8$^cVlp5TW))(lb>t;4k+=QsV%$_?+~|#E-K7sQWttuoeA?nd}JFlT4&HmBb^k z#c1?XOSt<5q`{-jYceDkQW~3L4G(2Um-o|BF?C|mta$ebl(vNke}^paJBt}W3iA=U zn^WB|vhXTaDY}D!)GK1TXa=m-`u&(+VJ{3Rg-dqlM?BW4j74zsXuG-bIK!0GSzN~G zY@13tZ@9U@ZyxxgadOREWEd+YWCpAKjr5}ryZV`Gw`29}%6c)R^&lT-%ki7fe3)gM(8JFDum7e3qIoQb**+>{J%WQPhY;T!6^Z$I6tKEIIwS%gClw zg{2dT5p#5BRxCFronBO_uQeYbjpgEpHW%3y(Z##hNFO$_r`i$SG4S9+_W6}I15Eum zb1pTfC*hWiLs?fbk6sje{it<|q@0l?&E{eqlGm+z8L^ubjsTX9eq?tAVn!w+<%-bT z{i2)&dg-=o;|j(sIOaHN9g6K2r5Q}y6yt7lU)Ud-eS&TWQ~PjehSNF_^1l% zgwWDa?(iUGc|poszl-8OS$gT-2?IHfg&)G_C1U&qCc1O(}kr2PY{pB=i^ImseT(2B=w80&5BTi7%2h0M2+=|mm8pE zHQQxFq42U14kv9_`m5qOS?RpDf5#pSlvvdoWWOSYz)D0>0L-$S=6c2@_{}45FPR54 zp_TEk4IDUQc&m?fknu_y0xSDs!+|MmWbv%MGnZpx_+>`tBQ1^TQyOQy^SW+2vTpat z$6TrpX?ulsSz@8m$pO_EF9ckcagJZ$+Y^Y zqzG#usMX``zp`k8qC>lzB7<(En=#h@)0jT752%V^O0L&NIh>l;!AGw2<7xpfnGGKK zd${mo#YtX#dg+%K-|zq-kmp-RoJxd}T?CS|_<, layout: Int) : AdapterBase(elements, layout){ + + class HeaderViewHolder(itemView: View) : AdapterViewHolder(itemView){ + + @BindView(R.id.header_label) + lateinit var label: TextView + + @BindView(R.id.header_value) + lateinit var value: TextView + + override fun loadElements(itemView: View) { + ButterKnife.bind(this, itemView) + } + + override fun bindElement(t: Any) { + val map = t as KeyValue + label.setText(map.key) + value.setText(map.value) + } + + } + + override fun create(itemView: View): AdapterViewHolder { + return HeaderViewHolder(itemView) + } +} \ No newline at end of file diff --git a/presentation/src/main/kotlin/es/verdnatura/almacen/adapter/MenuAdapter.kt b/presentation/src/main/kotlin/es/verdnatura/almacen/adapter/MenuAdapter.kt new file mode 100644 index 0000000..ab6d0c3 --- /dev/null +++ b/presentation/src/main/kotlin/es/verdnatura/almacen/adapter/MenuAdapter.kt @@ -0,0 +1,41 @@ +package es.verdnatura.almacen.adapter + +import android.content.Context +import android.view.View +import android.widget.ImageView +import android.widget.TextView +import butterknife.BindView +import butterknife.ButterKnife +import es.verdnatura.almacen.R +import es.verdnatura.core.components.recylerview.AdapterBase + +/** + * Created by nelo on 9/3/17. + */ +class MenuAdapter(val context: Context, items: List, resource: Int) : AdapterBase(items, resource) { + + override fun create(itemView: View): AdapterViewHolder { + return MenuViewHolder(context, itemView) + } + + class MenuViewHolder(val context: Context, itemView: View): AdapterViewHolder(itemView) { + + @BindView(R.id.menu_item_image) + lateinit var image: ImageView + + @BindView(R.id.menu_item_text) + lateinit var text: TextView + + override fun loadElements(itemView: View) { + ButterKnife.bind(this, itemView) + } + + override fun bindElement(t: Any) { + var item = t as MenuItem + image.setImageDrawable(context.resources.getDrawable(item.imageRecourse)) + text.setText(item.text) + } + } + + data class MenuItem(val id: Int, val imageRecourse: Int, val text: String) +} \ No newline at end of file diff --git a/presentation/src/main/kotlin/es/verdnatura/almacen/adapter/TicketAdapter.kt b/presentation/src/main/kotlin/es/verdnatura/almacen/adapter/TicketAdapter.kt new file mode 100644 index 0000000..5255435 --- /dev/null +++ b/presentation/src/main/kotlin/es/verdnatura/almacen/adapter/TicketAdapter.kt @@ -0,0 +1,81 @@ +package es.verdnatura.almacen.adapter + +import android.view.View +import android.widget.LinearLayout +import android.widget.TextView +import butterknife.BindView +import butterknife.ButterKnife +import es.verdnatura.almacen.R +import es.verdnatura.core.UtilsResources +import es.verdnatura.core.components.recylerview.AdapterBase +import es.verdnatura.domain.entity.TicketDetail + +/** + * Created by nelo on 13/3/17. + */ +class TicketAdapter(elements: List, layout: Int): AdapterBase(elements, layout) { + + override fun create(itemView: View): AdapterViewHolder { + return OrderViewHolder(itemView) + } + + class OrderViewHolder(itemView: View): AdapterViewHolder(itemView) { + + @BindView(R.id.detail_content) lateinit var content: LinearLayout + @BindView(R.id.order_concept) lateinit var concept: TextView + @BindView(R.id.order_producer) lateinit var producer: TextView + @BindView(R.id.order_niche) lateinit var niche: TextView + @BindView(R.id.order_quantity) lateinit var quantity: TextView + @BindView(R.id.order_grouping) lateinit var grouping: TextView + @BindView(R.id.order_packing) lateinit var packing: TextView + @BindView(R.id.order_old_quantity) lateinit var oldQuantity: TextView + + override fun loadElements(itemView: View) { + ButterKnife.bind(this, itemView) + } + + override fun bindElement(t: Any) { + val detail = t as TicketDetail + concept.setText(detail.IdArticle + " - "+ detail.Concept) + producer.setText(detail.Producer) + niche.setText(detail.Niche) + quantity.setText(detail.Quantity.toString()) + setMultiply(detail) + choseColor(detail) + //if(detail.OldQuantity != detail.Quantity) + // oldQuantity.setText(detail.OldQuantity.toString()) + } + + fun setMultiply(detail: TicketDetail){ + if(detail.Packing == 0 || detail.Packing == 1){ + packing.visibility = View.GONE + grouping.visibility = View.GONE + } + else{ + packing.visibility = View.VISIBLE + grouping.visibility = View.VISIBLE + grouping.setText(detail.Grouping.toString()) + packing.setText("x"+detail.Packing+"=") + } + } + + fun choseColor(detail: TicketDetail){ + when(detail.DetailState){ + TicketDetail.State.UPLOADED -> setBackgroundColor(R.color.green) + TicketDetail.State.ERROR -> setBackgroundColor(R.color.red) + TicketDetail.State.MARKED -> setBackgroundColor(R.color.yellow) + else -> setBackgroundColor(android.R.color.white) + } + } + + fun markForUpload(){ + setBackgroundColor(R.color.yellow) + } + + fun setBackgroundColor(resourse: Int){ + content.setBackgroundColor(UtilsResources.getColor(itemView.context, resourse)) + } + + } + +} \ No newline at end of file diff --git a/presentation/src/main/kotlin/es/verdnatura/almacen/di/HasComponent.kt b/presentation/src/main/kotlin/es/verdnatura/almacen/di/HasComponent.kt new file mode 100644 index 0000000..b2ecafd --- /dev/null +++ b/presentation/src/main/kotlin/es/verdnatura/almacen/di/HasComponent.kt @@ -0,0 +1,8 @@ +package es.verdnatura.almacen.di + +/** + * Created by nelo on 21/2/17. + */ +interface HasComponent { + fun getSubComponent(): C +} \ No newline at end of file diff --git a/presentation/src/main/kotlin/es/verdnatura/almacen/di/PerActivity.kt b/presentation/src/main/kotlin/es/verdnatura/almacen/di/PerActivity.kt new file mode 100644 index 0000000..69950c2 --- /dev/null +++ b/presentation/src/main/kotlin/es/verdnatura/almacen/di/PerActivity.kt @@ -0,0 +1,11 @@ +package es.verdnatura.almacen.di + +import javax.inject.Scope +import kotlin.annotation.AnnotationRetention.RUNTIME +/** + * Created by nelo on 20/2/17. + */ + +@Scope +@Retention(RUNTIME) +annotation class PerActivity diff --git a/presentation/src/main/kotlin/es/verdnatura/almacen/di/components/ApplicationComponent.kt b/presentation/src/main/kotlin/es/verdnatura/almacen/di/components/ApplicationComponent.kt new file mode 100644 index 0000000..aaf6b04 --- /dev/null +++ b/presentation/src/main/kotlin/es/verdnatura/almacen/di/components/ApplicationComponent.kt @@ -0,0 +1,36 @@ +package es.verdnatura.almacen.di.components + +import android.app.Application +import android.content.Context +import dagger.Component +import es.verdnatura.almacen.AndroidApplication +import es.verdnatura.almacen.di.modules.ApplicationModule +import es.verdnatura.almacen.di.modules.LoginModule +import es.verdnatura.almacen.di.modules.TicketModule +import es.verdnatura.data.rest.VnConnector +import es.verdnatura.domain.repository.WarehouseRepository +import io.reactivex.Scheduler + +import javax.inject.Named + +import javax.inject.Singleton + +/** + * Created by nelo on 20/2/17. + */ +@Singleton +@Component(modules = arrayOf(ApplicationModule::class)) +interface ApplicationComponent { + + @Named("ui_thread") fun uiThread(): Scheduler + @Named("executor_thread") fun executorThread(): Scheduler + + fun inject(application: AndroidApplication) + + fun application(): Application + + fun warehouseRepository(): WarehouseRepository + + fun plus(loginModule: LoginModule): LoginComponent + fun plus(ticketModule: TicketModule): TicketComponent +} \ No newline at end of file diff --git a/presentation/src/main/kotlin/es/verdnatura/almacen/di/components/LoginComponent.kt b/presentation/src/main/kotlin/es/verdnatura/almacen/di/components/LoginComponent.kt new file mode 100644 index 0000000..f77c387 --- /dev/null +++ b/presentation/src/main/kotlin/es/verdnatura/almacen/di/components/LoginComponent.kt @@ -0,0 +1,21 @@ +package es.verdnatura.almacen.di.components + +import dagger.Subcomponent +import es.verdnatura.almacen.di.PerActivity +import es.verdnatura.almacen.di.modules.LoginModule +import es.verdnatura.almacen.presenter.LoginPresenterImpl +import es.verdnatura.almacen.view.fragment.LoginFragment +import es.verdnatura.domain.interactor.LoginUseCase + + +/** + * Created by nelo on 21/2/17. + */ +@PerActivity +@Subcomponent(modules = arrayOf(LoginModule::class)) +interface LoginComponent{ + fun inject(loginFragment: LoginFragment) + + fun getLoginUseCase() : LoginUseCase + fun getLoginPresenter(): LoginPresenterImpl +} \ No newline at end of file diff --git a/presentation/src/main/kotlin/es/verdnatura/almacen/di/components/TicketComponent.kt b/presentation/src/main/kotlin/es/verdnatura/almacen/di/components/TicketComponent.kt new file mode 100644 index 0000000..36ae361 --- /dev/null +++ b/presentation/src/main/kotlin/es/verdnatura/almacen/di/components/TicketComponent.kt @@ -0,0 +1,21 @@ +package es.verdnatura.almacen.di.components +import dagger.Subcomponent +import es.verdnatura.almacen.di.PerActivity +import es.verdnatura.almacen.di.modules.TicketModule +import es.verdnatura.almacen.view.components.VnTicketHeader.VnTicketHeader +import es.verdnatura.almacen.view.fragment.TicketFragment +import es.verdnatura.domain.interactor.DownloadTicketUseCase +import es.verdnatura.domain.interactor.GetMarkedTicketLinesUseCase + +/** + * Created by nelo on 8/3/17. + */ +@PerActivity +@Subcomponent(modules = arrayOf(TicketModule::class)) +interface TicketComponent{ + + fun inject(fragment: TicketFragment) + fun inject(ticketHeader: VnTicketHeader) + fun getTicketControllerUseCase(): DownloadTicketUseCase + fun getMarkedTicketLinesUseCase(): GetMarkedTicketLinesUseCase +} \ No newline at end of file diff --git a/presentation/src/main/kotlin/es/verdnatura/almacen/di/modules/ApplicationModule.kt b/presentation/src/main/kotlin/es/verdnatura/almacen/di/modules/ApplicationModule.kt new file mode 100644 index 0000000..eb90573 --- /dev/null +++ b/presentation/src/main/kotlin/es/verdnatura/almacen/di/modules/ApplicationModule.kt @@ -0,0 +1,29 @@ +package es.verdnatura.almacen.di.modules + + +import android.app.Application +import dagger.Module +import javax.inject.Singleton +import dagger.Provides +import es.verdnatura.data.rest.VnConnector +import es.verdnatura.data.rest.WarehouseApiImpl +import es.verdnatura.domain.repository.WarehouseRepository +import javax.inject.Named +import io.reactivex.android.schedulers.AndroidSchedulers; +import io.reactivex.schedulers.Schedulers + +/** + * Created by nelo on 20/2/17. + */ +@Module +class ApplicationModule(private val application: Application) { + + @Provides @Named("executor_thread") fun provideExecutorThread() = Schedulers.newThread() + + @Provides @Named("ui_thread") fun provideUiThread() = AndroidSchedulers.mainThread() + + @Provides @Singleton fun provideApplication() = application + + @Provides @Singleton fun provideWarehouseRepository(warehouseRepository: WarehouseApiImpl): WarehouseRepository = warehouseRepository + +} \ No newline at end of file diff --git a/presentation/src/main/kotlin/es/verdnatura/almacen/di/modules/LoginModule.kt b/presentation/src/main/kotlin/es/verdnatura/almacen/di/modules/LoginModule.kt new file mode 100644 index 0000000..74e711d --- /dev/null +++ b/presentation/src/main/kotlin/es/verdnatura/almacen/di/modules/LoginModule.kt @@ -0,0 +1,33 @@ +package es.verdnatura.almacen.di.modules + +import dagger.Module +import dagger.Provides +import es.verdnatura.almacen.di.PerActivity +import es.verdnatura.almacen.presenter.LoginPresenterImpl +import es.verdnatura.almacen.view.activity.LoginActivity +import es.verdnatura.almacen.view.fragment.LoginFragment +import es.verdnatura.domain.interactor.LoginUseCase +import es.verdnatura.domain.repository.WarehouseRepository +import io.reactivex.Scheduler +import javax.inject.Named + +/** + * Created by nelo on 21/2/17. + */ +@Module +class LoginModule(val activity: LoginActivity){ + + @Provides + @PerActivity + fun getLoginPresenter(loginUseCase: LoginUseCase): LoginPresenterImpl { + return LoginPresenterImpl(loginUseCase) + } + + @Provides + @PerActivity + fun getLoginUseCase(warehouseRepository: WarehouseRepository, + @Named("ui_thread") uiThread: Scheduler, + @Named("executor_thread") executorThread: Scheduler): LoginUseCase{ + return LoginUseCase(warehouseRepository, uiThread, executorThread) + } +} diff --git a/presentation/src/main/kotlin/es/verdnatura/almacen/di/modules/TicketModule.kt b/presentation/src/main/kotlin/es/verdnatura/almacen/di/modules/TicketModule.kt new file mode 100644 index 0000000..325196e --- /dev/null +++ b/presentation/src/main/kotlin/es/verdnatura/almacen/di/modules/TicketModule.kt @@ -0,0 +1,33 @@ +package es.verdnatura.almacen.di.modules + +import dagger.Module +import dagger.Provides +import es.verdnatura.almacen.di.PerActivity +import es.verdnatura.almacen.view.activity.TicketActivity +import es.verdnatura.domain.interactor.DownloadTicketUseCase +import es.verdnatura.domain.interactor.GetMarkedTicketLinesUseCase +import es.verdnatura.domain.repository.WarehouseRepository +import io.reactivex.Scheduler +import javax.inject.Named + +/** + * Created by nelo on 8/3/17. + */ +@Module +class TicketModule(val activity: TicketActivity) { + + @PerActivity + @Provides + fun getTicketControllerUseCase(warehouseRepository: WarehouseRepository, + @Named("ui_thread") uiThread: Scheduler, + @Named("executor_thread") executorThread: Scheduler): DownloadTicketUseCase { + return DownloadTicketUseCase(warehouseRepository, uiThread, executorThread) + } + + @PerActivity + @Provides + fun getMarkedTicketLinesUseCase(@Named("ui_thread") uiThread: Scheduler, + @Named("executor_thread") executorThread: Scheduler): GetMarkedTicketLinesUseCase{ + return GetMarkedTicketLinesUseCase(uiThread, executorThread) + } +} \ No newline at end of file diff --git a/presentation/src/main/kotlin/es/verdnatura/almacen/entity/KeyValue.kt b/presentation/src/main/kotlin/es/verdnatura/almacen/entity/KeyValue.kt new file mode 100644 index 0000000..a84fca5 --- /dev/null +++ b/presentation/src/main/kotlin/es/verdnatura/almacen/entity/KeyValue.kt @@ -0,0 +1,6 @@ +package es.verdnatura.almacen.entity + +/** + * Created by nelo on 22/3/17. + */ +data class KeyValue(val key: String, val value: String) \ No newline at end of file diff --git a/presentation/src/main/kotlin/es/verdnatura/almacen/menu/TicketControlerMenu.kt b/presentation/src/main/kotlin/es/verdnatura/almacen/menu/TicketControlerMenu.kt new file mode 100644 index 0000000..b6579ce --- /dev/null +++ b/presentation/src/main/kotlin/es/verdnatura/almacen/menu/TicketControlerMenu.kt @@ -0,0 +1,17 @@ +package es.verdnatura.almacen.menu + +import android.view.Menu +import android.view.MenuInflater +import android.view.MenuItem + + +/** + * Created by nelo on 28/4/17. + */ +interface TicketControlerMenu { + + /*fun onCreateOptionsMenu(menu: Menu?, inflater: MenuInflater?) + fun onOptionsItemSelected(item: MenuItem?): Boolean + fun*/ + +} \ No newline at end of file diff --git a/presentation/src/main/kotlin/es/verdnatura/almacen/menu/TicketControllerMenu.kt b/presentation/src/main/kotlin/es/verdnatura/almacen/menu/TicketControllerMenu.kt new file mode 100644 index 0000000..3e2e363 --- /dev/null +++ b/presentation/src/main/kotlin/es/verdnatura/almacen/menu/TicketControllerMenu.kt @@ -0,0 +1,24 @@ +package es.verdnatura.almacen.menu + +import android.view.Menu +import android.view.MenuInflater +import android.view.MenuItem +import es.verdnatura.almacen.R + +/** + * Created by nelo on 28/4/17. + */ +class TicketControllerMenu { + + /*fun onCreateOptionsMenu(menu: Menu?, inflater: MenuInflater?) { + inflater?.inflate(R.menu.ticket_controller, menu) + } + + fun onOptionsItemSelected(item: MenuItem?): Boolean { + when (item?.itemId) { + R.id.menu_ticket_controller_search -> changeVisibilityVnScan() + } + return super.onOptionsItemSelected(item) + }*/ + +} \ No newline at end of file diff --git a/presentation/src/main/kotlin/es/verdnatura/almacen/navigation/Navigator.kt b/presentation/src/main/kotlin/es/verdnatura/almacen/navigation/Navigator.kt new file mode 100644 index 0000000..d254502 --- /dev/null +++ b/presentation/src/main/kotlin/es/verdnatura/almacen/navigation/Navigator.kt @@ -0,0 +1,30 @@ +package es.verdnatura.almacen.navigation + +import android.content.Intent +import es.verdnatura.almacen.R +import es.verdnatura.almacen.view.activity.BaseActivity +import es.verdnatura.almacen.view.activity.MenuActivity +import es.verdnatura.almacen.view.activity.ScanActivity +import es.verdnatura.almacen.view.activity.TicketActivity +import es.verdnatura.core.UtilsResources +import javax.inject.Inject +import javax.inject.Singleton + +/** + * Created by nelo on 21/2/17. + */ +@Singleton +class Navigator @Inject constructor(){ + + fun navigateToMain(activity: BaseActivity){ + activity.startActivity(Intent(activity, MenuActivity::class.java)) + } + + fun navigateToController(activity: BaseActivity){ + activity.startActivity(Intent(activity, TicketActivity::class.java)) + } + + fun navigateToScan(activity: BaseActivity){ + activity.startActivityForResult(Intent(activity, ScanActivity::class.java), UtilsResources.getResourceInt(activity, R.integer.CAMERA)) + } +} \ No newline at end of file diff --git a/presentation/src/main/kotlin/es/verdnatura/almacen/navigation/UserNavigator.kt b/presentation/src/main/kotlin/es/verdnatura/almacen/navigation/UserNavigator.kt new file mode 100644 index 0000000..2bc2d70 --- /dev/null +++ b/presentation/src/main/kotlin/es/verdnatura/almacen/navigation/UserNavigator.kt @@ -0,0 +1,10 @@ +package es.verdnatura.almacen.navigation + +/** + * Created by nelo on 27/4/17. + */ +interface UserNavigator { + + fun navigate() + +} \ No newline at end of file diff --git a/presentation/src/main/kotlin/es/verdnatura/almacen/observer/GetMarkedLinesObserver.kt b/presentation/src/main/kotlin/es/verdnatura/almacen/observer/GetMarkedLinesObserver.kt new file mode 100644 index 0000000..f47432f --- /dev/null +++ b/presentation/src/main/kotlin/es/verdnatura/almacen/observer/GetMarkedLinesObserver.kt @@ -0,0 +1,22 @@ +package es.verdnatura.almacen.observer + +import android.util.Log +import es.verdnatura.almacen.presenter.TicketPresenterImpl +import io.reactivex.observers.DisposableObserver + +/** + * Created by nelo on 12/4/17. + */ +/*class GetMarkedLinesObserver(val tp: TicketPresenter): DisposableObserver() { + + override fun onError(e: Throwable?) { + Log.e("Error when mark a line", e?.message.toString()) + } + + override fun onComplete() { + } + + override fun onNext(t: Int?) { + tp.setMarkedLines(t!!, tp.ticket?.Details!!.size) + } +}*/ \ No newline at end of file diff --git a/presentation/src/main/kotlin/es/verdnatura/almacen/observer/GetTicketObserver.kt b/presentation/src/main/kotlin/es/verdnatura/almacen/observer/GetTicketObserver.kt new file mode 100644 index 0000000..b5865d1 --- /dev/null +++ b/presentation/src/main/kotlin/es/verdnatura/almacen/observer/GetTicketObserver.kt @@ -0,0 +1,26 @@ +package es.verdnatura.almacen.observer + +import es.verdnatura.almacen.presenter.TicketPresenterImpl +import es.verdnatura.domain.entity.Ticket +import es.verdnatura.domain.interactor.DefaultObserver + +/** + * Created by nelo on 5/4/17. + */ +class GetTicketObserver(val tp: TicketPresenterImpl): DefaultObserver(){ + + override fun onComplete() { + super.onComplete() + tp.onCompletedDownloadedTicket() + } + + override fun onNext(t: Ticket) { + super.onNext(t) + tp.onTicketDownloaded(t) + } + + override fun onError(exception: Throwable) { + super.onError(exception) + tp.onError(exception) + } +} \ No newline at end of file diff --git a/presentation/src/main/kotlin/es/verdnatura/almacen/presenter/BasePresenter.kt b/presentation/src/main/kotlin/es/verdnatura/almacen/presenter/BasePresenter.kt new file mode 100644 index 0000000..073af96 --- /dev/null +++ b/presentation/src/main/kotlin/es/verdnatura/almacen/presenter/BasePresenter.kt @@ -0,0 +1,15 @@ +package es.verdnatura.almacen.presenter + +import android.os.Bundle +import android.support.annotation.NonNull +import es.verdnatura.almacen.view.view.BaseView +import es.verdnatura.almacen.view.view.LoginView + +/** + * Created by nelo on 20/2/17. + */ +interface BasePresenter { + + fun onDestroy() + fun setView(@NonNull v: BaseView) +} \ No newline at end of file diff --git a/presentation/src/main/kotlin/es/verdnatura/almacen/presenter/LoginPresenterImpl.kt b/presentation/src/main/kotlin/es/verdnatura/almacen/presenter/LoginPresenterImpl.kt new file mode 100644 index 0000000..18f2655 --- /dev/null +++ b/presentation/src/main/kotlin/es/verdnatura/almacen/presenter/LoginPresenterImpl.kt @@ -0,0 +1,85 @@ +package es.verdnatura.almacen.presenter + +import android.content.Context +import android.os.Bundle +import android.support.annotation.NonNull +import android.telephony.TelephonyManager +import android.util.Log +import es.verdnatura.almacen.view.view.BaseView +import es.verdnatura.almacen.view.view.LoginView +import es.verdnatura.domain.interactor.DefaultObserver +import es.verdnatura.domain.interactor.LoginUseCase + +import javax.inject.Inject + +/** + * Created by nelo on 20/2/17. + */ +class LoginPresenterImpl : BasePresenter { + + private var view: LoginView? = null + + private val loginUserCase: LoginUseCase + + @Inject + constructor(lus: LoginUseCase) { + this.loginUserCase = lus + } + + override fun setView(@NonNull v: BaseView){ + this.view = v as LoginView + } + + override fun onDestroy() { + this.loginUserCase.dispose() + this.view = null + } + + fun login(user: String, pass: String, imei: String, version: String) { + showViewLoading() + loginUserCase.execute(LoginObserver(this), LoginUseCase.Params.forLogin(user, pass, imei, version)) + } + + private fun manageLoginError(message: String) { + Log.e("Error", message) + view!!.showError(message) + } + + private fun manageLoginSucces() { + hideViewLoading() + view?.removeUser() + view?.removePass() + view?.navigateToMain() + } + + private fun showViewLoading() { + this.view?.showProgress() + } + + private fun hideViewLoading() { + this.view?.hideProgress() + } + + fun getImei(context: Context): String{ + val telephonyManager = context.getSystemService(Context.TELEPHONY_SERVICE) as TelephonyManager + return telephonyManager.deviceId + } + + fun getVersion(context: Context): String{ + return context.getPackageManager().getPackageInfo(context.getPackageName(), 0).toString() + } + + private class LoginObserver(val lp: LoginPresenterImpl) : DefaultObserver(){ + + override fun onComplete() { + super.onComplete() + lp.manageLoginSucces() + } + + override fun onError(exception: Throwable) { + super.onError(exception) + lp.manageLoginError(exception.message!!) + lp.hideViewLoading() + } + } +} \ No newline at end of file diff --git a/presentation/src/main/kotlin/es/verdnatura/almacen/presenter/TicketPresenter.kt b/presentation/src/main/kotlin/es/verdnatura/almacen/presenter/TicketPresenter.kt new file mode 100644 index 0000000..96d84f7 --- /dev/null +++ b/presentation/src/main/kotlin/es/verdnatura/almacen/presenter/TicketPresenter.kt @@ -0,0 +1,19 @@ +package es.verdnatura.almacen.presenter + +import es.verdnatura.domain.entity.Ticket + +/** + * Created by nelo on 28/4/17. + */ +interface TicketPresenter: BasePresenter { + + fun getTicket(): Ticket? + fun downloadTicket(idTicket: String) + fun onRefreshTicket() + fun printTicket() + fun markLine() + fun getPendingTickets() + fun getAvailable() + fun createLine() + +} \ No newline at end of file diff --git a/presentation/src/main/kotlin/es/verdnatura/almacen/presenter/TicketPresenterImpl.kt b/presentation/src/main/kotlin/es/verdnatura/almacen/presenter/TicketPresenterImpl.kt new file mode 100644 index 0000000..6698313 --- /dev/null +++ b/presentation/src/main/kotlin/es/verdnatura/almacen/presenter/TicketPresenterImpl.kt @@ -0,0 +1,76 @@ +package es.verdnatura.almacen.presenter + +import es.verdnatura.almacen.observer.GetTicketObserver +import es.verdnatura.almacen.view.view.BaseView +import es.verdnatura.almacen.view.view.TicketView +import es.verdnatura.domain.entity.Ticket +import es.verdnatura.domain.interactor.DownloadTicketUseCase + +import javax.inject.Inject + +/** + * Created by nelo on 8/3/17. + */ +class TicketPresenterImpl : TicketPresenter { + + private var view: TicketView? = null + + private val downloadTicketUseCase: DownloadTicketUseCase + + private var ticket: Ticket? = null + + @Inject constructor(downloadTicketUseCase: DownloadTicketUseCase){ + this.downloadTicketUseCase = downloadTicketUseCase + } + + override fun getPendingTickets() {} + + override fun onDestroy() { + downloadTicketUseCase.dispose() + view = null + } + + override fun setView(v: BaseView) { + view = v as TicketView + } + + override fun downloadTicket(idTicket: String) = downloadTicketUseCase.execute(GetTicketObserver(this), DownloadTicketUseCase.Params.forGetTicket(idTicket)) + + override fun onRefreshTicket() { + downloadTicket(ticket?.IdTicket.toString()) + } + + override fun printTicket() { + TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + } + + override fun markLine() { + TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + } + + override fun getAvailable() { + TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + } + + override fun createLine() { + TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + } + + fun onTicketDownloaded(ticket: Ticket){ + this.ticket = ticket + view?.onDownloadTicket(ticket) + } + + override fun getTicket(): Ticket? = ticket + + fun onCompletedDownloadedTicket() { + view?.hideProgress() + view?.clearVnScan() + } + + fun onError(exception: Throwable){ + view?.hideProgress() + view?.showError(exception.message.toString()) + } + +} \ No newline at end of file diff --git a/presentation/src/main/kotlin/es/verdnatura/almacen/presenter/VnTicketHeaderPresenter.kt b/presentation/src/main/kotlin/es/verdnatura/almacen/presenter/VnTicketHeaderPresenter.kt new file mode 100644 index 0000000..a034b85 --- /dev/null +++ b/presentation/src/main/kotlin/es/verdnatura/almacen/presenter/VnTicketHeaderPresenter.kt @@ -0,0 +1,45 @@ +package es.verdnatura.almacen.presenter + +import android.util.Log +import es.verdnatura.almacen.view.components.VnTicketHeader.VnTicketHeader +import es.verdnatura.almacen.view.view.VnHeaderView +import es.verdnatura.domain.entity.Ticket +import es.verdnatura.domain.interactor.GetMarkedTicketLinesUseCase +import io.reactivex.observers.DisposableObserver +import javax.inject.Inject + +/** + * Created by nelo on 28/4/17. + */ +class VnTicketHeaderPresenter @Inject constructor(getMarkedTicketLinesUseCase: GetMarkedTicketLinesUseCase) { + + private val useCaseMarkedLines: GetMarkedTicketLinesUseCase = getMarkedTicketLinesUseCase + private lateinit var header: VnHeaderView + + fun getMarkedLine(ticket: Ticket){ + useCaseMarkedLines.execute(GetMarkedLinesObserver(this, ticket), GetMarkedTicketLinesUseCase.Params.forGetMarkedLines(ticket)) + } + + fun setHeader(header: VnHeaderView){ + this.header = header + } + + fun setTicketsMarked(marked: Int, total: Int){ + header.setTicketsMarked(marked, total) + } + + class GetMarkedLinesObserver(val presenter: VnTicketHeaderPresenter, val ticket: Ticket): DisposableObserver() { + + override fun onError(e: Throwable?) { + presenter.setTicketsMarked(0, ticket.Details.size) + Log.e("Error when mark a line", e?.message.toString()) + } + + override fun onComplete() { + } + + override fun onNext(t: Int?) { + presenter.setTicketsMarked(t!!, ticket.Details.size) + } + } +} \ No newline at end of file diff --git a/presentation/src/main/kotlin/es/verdnatura/almacen/view/activity/BaseActivity.kt b/presentation/src/main/kotlin/es/verdnatura/almacen/view/activity/BaseActivity.kt new file mode 100644 index 0000000..fe95e15 --- /dev/null +++ b/presentation/src/main/kotlin/es/verdnatura/almacen/view/activity/BaseActivity.kt @@ -0,0 +1,42 @@ +package es.verdnatura.almacen.view.activity + +import android.app.Fragment +import android.content.Intent +import android.content.pm.ActivityInfo +import android.os.Bundle +import android.support.v7.app.AppCompatActivity +import es.verdnatura.almacen.AndroidApplication +import es.verdnatura.almacen.navigation.Navigator + + +/** + * Created by nelo on 20/2/17. + */ +open class BaseActivity : AppCompatActivity() { + + val app: AndroidApplication get() = application as AndroidApplication + val navigator: Navigator get() = app.navigator + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); + } + + protected fun addFragment(containerViewId: Int, fragment: Fragment) { + val fragmentTransaction = this.fragmentManager.beginTransaction() + fragmentTransaction.add(containerViewId, fragment) + fragmentTransaction.commit() + } + + fun changeFragment(containerViewId: Int, fragment: Fragment) { + val transaccion = fragmentManager.beginTransaction() + transaccion.replace(containerViewId, fragment) + transaccion.addToBackStack(null) + transaccion.commit() + } + + override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { + super.onActivityResult(requestCode, resultCode, data) + } + +} diff --git a/presentation/src/main/kotlin/es/verdnatura/almacen/view/activity/LoginActivity.kt b/presentation/src/main/kotlin/es/verdnatura/almacen/view/activity/LoginActivity.kt new file mode 100644 index 0000000..1d2d9d6 --- /dev/null +++ b/presentation/src/main/kotlin/es/verdnatura/almacen/view/activity/LoginActivity.kt @@ -0,0 +1,32 @@ +package es.verdnatura.almacen.view.activity + +import android.os.Bundle +import es.verdnatura.almacen.R +import es.verdnatura.almacen.di.HasComponent +import es.verdnatura.almacen.di.components.LoginComponent +import es.verdnatura.almacen.di.modules.LoginModule +import es.verdnatura.almacen.navigation.UserNavigator +import es.verdnatura.almacen.view.fragment.LoginFragment + +class LoginActivity : BaseActivity(), HasComponent, UserNavigator { + + val component by lazy { app.component.plus(LoginModule(this)) } + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_layout) + + if(savedInstanceState == null) + addFragment(R.id.fragmentContainer, LoginFragment(R.layout.fragment_login)) + + } + + override fun getSubComponent(): LoginComponent { + return component + } + + override fun navigate() { + app.navigator.navigateToMain(this) + } + +} diff --git a/presentation/src/main/kotlin/es/verdnatura/almacen/view/activity/MenuActivity.kt b/presentation/src/main/kotlin/es/verdnatura/almacen/view/activity/MenuActivity.kt new file mode 100644 index 0000000..fc36cbe --- /dev/null +++ b/presentation/src/main/kotlin/es/verdnatura/almacen/view/activity/MenuActivity.kt @@ -0,0 +1,58 @@ +package es.verdnatura.almacen.view.activity + +import android.os.Bundle +import android.util.DisplayMetrics +import android.view.View +import butterknife.BindView +import butterknife.ButterKnife +import es.verdnatura.almacen.R +import es.verdnatura.almacen.adapter.MenuAdapter +import es.verdnatura.core.UtilsResources +import es.verdnatura.core.components.recylerview.VnRecyclerView +import java.util.* + +class MenuActivity : BaseActivity() { + + @BindView(R.id.list_menu) + lateinit var list: VnRecyclerView + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_menu) + ButterKnife.bind(this) + list.setAdapterGrid(getAdapter(), getColumns()) + } + + private fun getAdapter(): MenuAdapter{ + var adapter = MenuAdapter(this, getItems(), R.layout.vnmenuitem) + adapter.setOnClickListener(View.OnClickListener {v -> clickMenuItem(adapter.getItem(list.getChildAdapterPosition(v)) as MenuAdapter.MenuItem) }) + return adapter + } + + private fun getItems(): List{ + var items = ArrayList() + + items.add(MenuAdapter.MenuItem(R.id.MENU_CONTROLLER, R.drawable.controlador, UtilsResources.getResourceString(this, R.string.controller))) + //items.add(MenuAdapter.MenuItem(R.id.MENU_SERVER, R.drawable.sacador, "Sacador")) + //items.add(MenuAdapter.MenuItem(R.id.MENU_SERVER_MOVEMENT, R.drawable.sacador, "Sacador")) + + return items + } + + private fun clickMenuItem(item: MenuAdapter.MenuItem) { + when (item.id){ + R.id.MENU_CONTROLLER -> navigator.navigateToController(this) + } + } + + private fun getColumns(): Int { + return (getWidth() / resources.getDimension(R.dimen.vn_menu_item_width)).toInt() + } + + private fun getWidth(): Int { + val displaymetrics = DisplayMetrics() + getWindowManager().getDefaultDisplay().getMetrics(displaymetrics) + return displaymetrics.widthPixels + } + +} diff --git a/presentation/src/main/kotlin/es/verdnatura/almacen/view/activity/ScanActivity.kt b/presentation/src/main/kotlin/es/verdnatura/almacen/view/activity/ScanActivity.kt new file mode 100644 index 0000000..d68513b --- /dev/null +++ b/presentation/src/main/kotlin/es/verdnatura/almacen/view/activity/ScanActivity.kt @@ -0,0 +1,44 @@ +package es.verdnatura.almacen.view.activity + +import android.app.Activity +import android.content.Intent +import android.os.Bundle +import com.google.zxing.Result +import me.dm7.barcodescanner.zxing.ZXingScannerView + + +class ScanActivity : Activity(), ZXingScannerView.ResultHandler { + + private lateinit var mScannerView: ZXingScannerView + + companion object{ + val BARCODE = "BARCODE" + } + + public override fun onCreate(state: Bundle?) { + super.onCreate(state) + mScannerView = ZXingScannerView(this) + setContentView(mScannerView) + } + + public override fun onResume() { + super.onResume() + mScannerView.setResultHandler(this) + mScannerView.startCamera() + } + + public override fun onPause() { + super.onPause() + mScannerView.stopCamera() + } + + override fun handleResult(rawResult: Result) { + mScannerView.resumeCameraPreview(this) + + val returnIntent = Intent() + returnIntent.putExtra(BARCODE, rawResult.text) + setResult(RESULT_OK, returnIntent) + finish() + } + +} diff --git a/presentation/src/main/kotlin/es/verdnatura/almacen/view/activity/TicketActivity.kt b/presentation/src/main/kotlin/es/verdnatura/almacen/view/activity/TicketActivity.kt new file mode 100644 index 0000000..9b3ef2d --- /dev/null +++ b/presentation/src/main/kotlin/es/verdnatura/almacen/view/activity/TicketActivity.kt @@ -0,0 +1,35 @@ +package es.verdnatura.almacen.view.activity + +import android.os.Bundle +import es.verdnatura.almacen.R +import es.verdnatura.almacen.di.HasComponent +import es.verdnatura.almacen.di.components.TicketComponent +import es.verdnatura.almacen.di.modules.TicketModule +import es.verdnatura.almacen.navigation.UserNavigator +import es.verdnatura.almacen.view.fragment.TicketFragment +import es.verdnatura.almacen.view.fragment.TicketHeader +import es.verdnatura.domain.entity.Ticket + +class TicketActivity : BaseActivity(), HasComponent, UserNavigator { + + val component by lazy { app.component.plus(TicketModule(this)) } + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_layout) + addFragment(R.id.fragmentContainer, TicketFragment(R.layout.fragment_ticket)) + } + + override fun getSubComponent(): TicketComponent { + return component + } + + override fun navigate() { + navigator.navigateToScan(this) + } + + fun showHeader(ticket: Ticket) { + changeFragment(R.id.fragmentContainer, TicketHeader(R.layout.fragment_ticket_header, ticket)) + } + +} diff --git a/presentation/src/main/kotlin/es/verdnatura/almacen/view/components/VnTicketHeader/VnTicketHeader.kt b/presentation/src/main/kotlin/es/verdnatura/almacen/view/components/VnTicketHeader/VnTicketHeader.kt new file mode 100644 index 0000000..a9646bf --- /dev/null +++ b/presentation/src/main/kotlin/es/verdnatura/almacen/view/components/VnTicketHeader/VnTicketHeader.kt @@ -0,0 +1,68 @@ +package es.verdnatura.almacen.view.components.VnTicketHeader + +import android.content.Context +import android.util.AttributeSet +import android.view.LayoutInflater +import android.view.View +import android.widget.RelativeLayout +import android.widget.TextView +import butterknife.BindView +import butterknife.ButterKnife +import es.verdnatura.almacen.R +import es.verdnatura.almacen.di.HasComponent +import es.verdnatura.almacen.di.components.TicketComponent +import es.verdnatura.almacen.presenter.VnTicketHeaderPresenter +import es.verdnatura.almacen.view.view.VnHeaderView +import es.verdnatura.domain.entity.Ticket +import javax.inject.Inject + +/** + * Created by nelo on 5/4/17. + */ +class VnTicketHeader : RelativeLayout, VnHeaderView { + + @BindView(R.id.ticket_header_client) lateinit var ticketClient: TextView + @BindView(R.id.ticket_header_numer_tickets) lateinit var ticketNumberTickets: TextView + @BindView(R.id.ticket_header_lines_marked) lateinit var ticketsMarked: TextView + + @Inject lateinit var presenter: VnTicketHeaderPresenter + + constructor(context: Context?) : super(context){ + render(context) + } + + constructor(context: Context?, attributeSet: AttributeSet?): super(context, attributeSet){ + render(context) + } + + constructor(context: Context?, attributeSet: AttributeSet?, defStyleAttr: Int): super(context, attributeSet, defStyleAttr){ + render(context) + } + + fun render(context: Context?){ + LayoutInflater.from(context).inflate(R.layout.view_ticket_header, this) + ButterKnife.bind(this) + (context as HasComponent).getSubComponent().inject(this) + presenter.setHeader(this) + } + + fun show(){ + visibility = View.VISIBLE + } + + fun hide(){ + visibility = View.GONE + } + + fun setHeader(ticket: Ticket){ + setDataTicket(ticket.IdTicket, ticket.ClientName) + setNumberTickets(ticket.Tickets) + presenter.getMarkedLine(ticket) + } + + private fun setDataTicket(IdTicket: Int, ClientName: String) = ticketClient.setText(IdTicket.toString() + "/" + ClientName) + + private fun setNumberTickets(numberTickets: Int) = ticketNumberTickets.setText(numberTickets.toString()) + + override fun setTicketsMarked(marked: Int, total: Int) = ticketsMarked.setText(marked.toString() + "/" + total.toString()) +} \ No newline at end of file diff --git a/presentation/src/main/kotlin/es/verdnatura/almacen/view/components/VnTicketRecycler.kt b/presentation/src/main/kotlin/es/verdnatura/almacen/view/components/VnTicketRecycler.kt new file mode 100644 index 0000000..b0a9045 --- /dev/null +++ b/presentation/src/main/kotlin/es/verdnatura/almacen/view/components/VnTicketRecycler.kt @@ -0,0 +1,38 @@ +package es.verdnatura.almacen.view.components + +import android.content.Context +import android.util.AttributeSet +import android.view.View +import es.verdnatura.almacen.R +import es.verdnatura.almacen.adapter.TicketAdapter +import es.verdnatura.core.components.recylerview.VnRecyclerView +import es.verdnatura.domain.entity.Ticket +import es.verdnatura.domain.entity.TicketDetail +import es.verdnatura.domain.interactor.GetMarkedTicketLinesUseCase +import javax.inject.Inject + +/** + * Created by nelo on 19/4/17. + */ +class VnTicketRecycler(context: Context, attributeSet: AttributeSet): VnRecyclerView(context, attributeSet) { + + lateinit var adapter: TicketAdapter + @Inject lateinit var caseTicket: GetMarkedTicketLinesUseCase + + fun createAdapter(ticket: Ticket){ + adapter = TicketAdapter(ticket.Details, R.layout.ticket_item) + setAdapterList(adapter) + adapter.setOnClickListener(View.OnClickListener {v -> markLine(v) }) + + } + + private fun changeAdapter(){ + adapter.notifyDataSetChanged() + } + + private fun markLine(v: View) { + var ticketDetail = adapter.getItem(getChildAdapterPosition(v)) as TicketDetail + ticketDetail.DetailState = TicketDetail.State.MARKED + changeAdapter() + } +} \ No newline at end of file diff --git a/presentation/src/main/kotlin/es/verdnatura/almacen/view/fragment/BaseFragment.kt b/presentation/src/main/kotlin/es/verdnatura/almacen/view/fragment/BaseFragment.kt new file mode 100644 index 0000000..d908f6e --- /dev/null +++ b/presentation/src/main/kotlin/es/verdnatura/almacen/view/fragment/BaseFragment.kt @@ -0,0 +1,61 @@ +package es.verdnatura.almacen.view.fragment + +import android.app.Activity +import android.app.Fragment +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.Toast +import butterknife.ButterKnife +import butterknife.Unbinder +import es.verdnatura.almacen.di.HasComponent +import es.verdnatura.almacen.navigation.UserNavigator +import es.verdnatura.almacen.view.activity.BaseActivity +import es.verdnatura.core.components.snackbar.VnSnackbar + +/** + * Created by nelo on 21/2/17. + */ +open class BaseFragment(val layout: Int) : Fragment(){ + + private lateinit var unbinder: Unbinder + lateinit var userNavigatior: UserNavigator + + val app get() = (activity as BaseActivity).app + + override fun onAttach(activity: Activity?) { + super.onAttach(activity) + if(activity is UserNavigator) + userNavigatior = activity + } + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setHasOptionsMenu(true) + } + + override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View { + val fragmentView = inflater?.inflate(layout, container, false) + unbinder = ButterKnife.bind(this, fragmentView!!) + return fragmentView + } + + override fun onDestroyView() { + super.onDestroyView() + unbinder.unbind() + } + + fun showToastMessage(message: String){ + Toast.makeText(activity, message, Toast.LENGTH_SHORT).show() + } + + fun showSnackBarMessage(message: String){ + VnSnackbar.make(this.view, message) + } + + protected fun getComponent(componentType: Class): C { + return componentType.cast((activity as HasComponent).getSubComponent()) + } + +} \ No newline at end of file diff --git a/presentation/src/main/kotlin/es/verdnatura/almacen/view/fragment/LoginFragment.kt b/presentation/src/main/kotlin/es/verdnatura/almacen/view/fragment/LoginFragment.kt new file mode 100644 index 0000000..92e5cfb --- /dev/null +++ b/presentation/src/main/kotlin/es/verdnatura/almacen/view/fragment/LoginFragment.kt @@ -0,0 +1,74 @@ +package es.verdnatura.almacen.view.fragment + +import android.os.Bundle +import android.text.method.HideReturnsTransformationMethod +import android.text.method.PasswordTransformationMethod +import android.view.View +import android.widget.EditText +import butterknife.* +import es.verdnatura.almacen.R +import es.verdnatura.almacen.di.components.LoginComponent +import es.verdnatura.almacen.presenter.LoginPresenterImpl +import es.verdnatura.almacen.view.view.LoginView +import es.verdnatura.core.components.dialogs.retry.DialogRetry +import es.verdnatura.core.components.progress.VnProgress +import javax.inject.Inject + +/** + * Created by nelo on 21/2/17. + */ +class LoginFragment(layout: Int) : BaseFragment(layout), LoginView { + + @Inject lateinit var loginPresenter: LoginPresenterImpl + + @BindView(R.id.edit_user) lateinit var editUser: EditText + @BindView(R.id.edit_password) lateinit var editPassword: EditText + @BindView(R.id.progress) lateinit var progress: VnProgress + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + } + + override fun onViewCreated(view: View?, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + this.getComponent(LoginComponent::class.java).inject(this) + this.loginPresenter.setView(this) + } + + @OnCheckedChanged(R.id.show_password) + fun showOrHidePassword(isChecked: Boolean){ + if(isChecked) editPassword.transformationMethod = HideReturnsTransformationMethod.getInstance() + else editPassword.transformationMethod = PasswordTransformationMethod.getInstance() + editPassword.setSelection(editPassword.text.length) + } + + @OnClick(R.id.button_login) + fun login() { + loginPresenter.login(editUser.text.toString(), editPassword.text.toString(), loginPresenter.getImei(activity), loginPresenter.getVersion(activity)) + } + + override fun showProgress() { + progress.show() + } + + override fun hideProgress() { + progress.hide() + } + + override fun showError(message: String) { + val dialog = DialogRetry(message, { login() }) + dialog.show(fragmentManager, "alert") + } + + override fun removeUser() { + editUser.setText("") + } + + override fun removePass() { + editPassword.setText("") + } + + override fun navigateToMain() { + userNavigatior.navigate() + } +} \ No newline at end of file diff --git a/presentation/src/main/kotlin/es/verdnatura/almacen/view/fragment/TicketFragment.kt b/presentation/src/main/kotlin/es/verdnatura/almacen/view/fragment/TicketFragment.kt new file mode 100644 index 0000000..937f58a --- /dev/null +++ b/presentation/src/main/kotlin/es/verdnatura/almacen/view/fragment/TicketFragment.kt @@ -0,0 +1,147 @@ +package es.verdnatura.almacen.view.fragment + +import android.app.Activity +import android.content.Intent +import android.os.Bundle +import android.view.* +import butterknife.BindView +import butterknife.OnClick +import es.verdnatura.almacen.R +import es.verdnatura.almacen.view.components.VnTicketHeader.VnTicketHeader +import es.verdnatura.almacen.di.components.TicketComponent +import es.verdnatura.almacen.presenter.TicketPresenterImpl +import es.verdnatura.almacen.view.activity.ScanActivity +import es.verdnatura.almacen.view.activity.TicketActivity +import es.verdnatura.almacen.view.components.VnTicketRecycler +import es.verdnatura.almacen.view.view.TicketView +import es.verdnatura.core.components.editscan.VnEditScan +import es.verdnatura.core.components.dialogs.retry.DialogRetry +import es.verdnatura.core.components.progress.VnProgress +import es.verdnatura.core.components.swiperefreshlayout.VnSwipeRefreshLayout +import es.verdnatura.domain.entity.Ticket +import es.verdnatura.domain.entity.TicketDetail +import javax.inject.Inject + +/** + * Created by nelo on 7/3/17. + */ +class TicketFragment(layout: Int) : BaseFragment(layout), TicketView { + + @Inject lateinit var presenter: TicketPresenterImpl + + @BindView(R.id.progress) lateinit var progress: VnProgress + @BindView(R.id.vnrecycler) lateinit var list: VnTicketRecycler + @BindView(R.id.edit_search_ticket) lateinit var editTicket: VnEditScan + @BindView(R.id.swipe_refresh_ticket) lateinit var swipeRefresh: VnSwipeRefreshLayout + @BindView(R.id.ticket_header) lateinit var vnTicketHeader: VnTicketHeader + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + this.getComponent(TicketComponent::class.java).inject(this) + this.presenter.setView(this) + } + + override fun onViewCreated(view: View?, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + hideHeader() + initVnScan() + checkTicketAlreadyExist() + initSwipeRefresh() + } + + override fun onDownloadTicket(ticket: Ticket) { + createAdapter(ticket) + showHeader() + setHeader(ticket) + hideVnScan() + enableVnSwipeRefresh() + } + + override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { + super.onActivityResult(requestCode, resultCode, data) + if (resultCode == Activity.RESULT_OK && requestCode == activity.resources.getInteger(R.integer.CAMERA) && data != null) { + editTicket.setTextScan(data!!.getStringExtra(ScanActivity.BARCODE)) + downloadTicket(editTicket.getText()) + } + } + + override fun onCreateOptionsMenu(menu: Menu?, inflater: MenuInflater?) { + super.onCreateOptionsMenu(menu, inflater) + inflater?.inflate(R.menu.ticket_controller, menu) + } + + override fun onOptionsItemSelected(item: MenuItem?): Boolean { + when (item?.itemId) { + R.id.menu_ticket_controller_search -> changeVisibilityVnScan() + } + return super.onOptionsItemSelected(item) + } + + override fun showError(message: String) { + var dialog = DialogRetry(message, { downloadTicket(editTicket.getText()) }) + dialog.show(fragmentManager, "ticketRetry") + } + + override fun hideProgress() { + progress.hide() + swipeRefresh.hideProgress() + } + + fun initSwipeRefresh() { + swipeRefresh.setOnRefreshListener { onRefreshTicket() } + swipeRefresh.disableProgress() + } + + fun downloadTicket(ticket: String) { + showProgress() + presenter.downloadTicket(ticket) + } + + fun onRefreshTicket() { + swipeRefresh.showProgress() + presenter.onRefreshTicket() + } + + fun initVnScan() { + editTicket.onScan { downloadTicket(editTicket.getText()) } + editTicket.setScanAction { scan() } + } + + fun checkTicketAlreadyExist() { + if(presenter.getTicket() != null) onDownloadTicket(presenter.getTicket()!!) + } + + fun createAdapter(ticket: Ticket) { + list.createAdapter(ticket) + } + + fun markLine(v: View){ + var ticketDetail = list.adapter.getItem(list.getChildAdapterPosition(v)) as TicketDetail + ticketDetail.DetailState = TicketDetail.State.MARKED + } + + override fun clearVnScan() = editTicket.clear() + + override fun showProgress() = progress.show() + + fun setHeader(ticket: Ticket) = vnTicketHeader.setHeader(ticket) + + fun enableVnSwipeRefresh() = swipeRefresh.enableProgress() + + fun scan() = userNavigatior.navigate() + + fun changeVisibilityVnScan() = if (editTicket.isVisible()) hideVnScan() else showVnScan() + + fun showHeader() = vnTicketHeader.show() + + fun hideHeader() = vnTicketHeader.hide() + + fun hideVnScan() = editTicket.hide() + + fun showVnScan() = editTicket.show() + + /***** ELIMINAR ACOPLAMIENTO *****/ + + @OnClick(R.id.view_ticket_header) fun clickHeader() = (activity as TicketActivity).showHeader(presenter.getTicket()!!) + +} \ No newline at end of file diff --git a/presentation/src/main/kotlin/es/verdnatura/almacen/view/fragment/TicketHeader.kt b/presentation/src/main/kotlin/es/verdnatura/almacen/view/fragment/TicketHeader.kt new file mode 100644 index 0000000..9642799 --- /dev/null +++ b/presentation/src/main/kotlin/es/verdnatura/almacen/view/fragment/TicketHeader.kt @@ -0,0 +1,49 @@ +package es.verdnatura.almacen.view.fragment + +import android.os.Bundle +import android.view.View +import butterknife.BindView +import es.verdnatura.almacen.R +import es.verdnatura.almacen.adapter.HeaderAdapter +import es.verdnatura.almacen.entity.KeyValue +import es.verdnatura.almacen.view.activity.TicketActivity +import es.verdnatura.core.UtilsResources +import es.verdnatura.core.components.recylerview.VnRecyclerView +import es.verdnatura.domain.entity.Ticket +import java.util.* + +/** + * Created by nelo on 20/3/17. + */ +class TicketHeader(layout: Int, var ticket: Ticket?): BaseFragment(layout) { + + @BindView(R.id.ticket_header_info) + lateinit var ticketHeaderInfo: VnRecyclerView + + override fun onViewCreated(view: View?, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + if(ticket != null) createAdapter(ticket!!) + } + + fun createAdapter(ticket: Ticket){ + ticketHeaderInfo.setAdapterList(HeaderAdapter(createItems(ticket), R.layout.ticket_header_item)) + } + + fun createItems(ticket: Ticket) : List { + var items = ArrayList() + items.add(KeyValue(getLabel(R.string.ticket_id), ticket.IdTicket.toString())) + items.add(KeyValue(getLabel(R.string.ticket_client), ticket.ClientCode + " - " +ticket.ClientName)) + items.add(KeyValue(getLabel(R.string.ticket_agency), ticket.Agency)) + items.add(KeyValue(getLabel(R.string.ticket_transport), ticket.Transport)) + items.add(KeyValue(getLabel(R.string.ticket_city), ticket.ClientCity)) + items.add(KeyValue(getLabel(R.string.ticket_date), ticket.Date)) + items.add(KeyValue(getLabel(R.string.ticket_server), ticket.Server)) + items.add(KeyValue(getLabel(R.string.ticket_commercial), ticket.Commercial)) + items.add(KeyValue(getLabel(R.string.ticket_observations), ticket.Observations)) + return items + } + + fun getLabel(resource: Int): String{ + return UtilsResources.getResourceString(activity, resource) + } +} \ No newline at end of file diff --git a/presentation/src/main/kotlin/es/verdnatura/almacen/view/view/BaseView.kt b/presentation/src/main/kotlin/es/verdnatura/almacen/view/view/BaseView.kt new file mode 100644 index 0000000..24926fa --- /dev/null +++ b/presentation/src/main/kotlin/es/verdnatura/almacen/view/view/BaseView.kt @@ -0,0 +1,6 @@ +package es.verdnatura.almacen.view.view + +/** + * Created by nelo on 8/3/17. + */ +interface BaseView \ No newline at end of file diff --git a/presentation/src/main/kotlin/es/verdnatura/almacen/view/view/LoadDataView.kt b/presentation/src/main/kotlin/es/verdnatura/almacen/view/view/LoadDataView.kt new file mode 100644 index 0000000..273ceb2 --- /dev/null +++ b/presentation/src/main/kotlin/es/verdnatura/almacen/view/view/LoadDataView.kt @@ -0,0 +1,11 @@ +package es.verdnatura.almacen.view.view + +/** + * Created by nelo on 24/2/17. + */ +interface LoadDataView: BaseView { + + fun showProgress() + fun hideProgress() + fun showError(message: String) +} \ No newline at end of file diff --git a/presentation/src/main/kotlin/es/verdnatura/almacen/view/view/LoginView.kt b/presentation/src/main/kotlin/es/verdnatura/almacen/view/view/LoginView.kt new file mode 100644 index 0000000..67e048a --- /dev/null +++ b/presentation/src/main/kotlin/es/verdnatura/almacen/view/view/LoginView.kt @@ -0,0 +1,11 @@ +package es.verdnatura.almacen.view.view + + +/** + * Created by nelo on 21/2/17. + */ +interface LoginView : LoadDataView{ + fun removeUser() + fun removePass() + fun navigateToMain() +} \ No newline at end of file diff --git a/presentation/src/main/kotlin/es/verdnatura/almacen/view/view/TicketView.kt b/presentation/src/main/kotlin/es/verdnatura/almacen/view/view/TicketView.kt new file mode 100644 index 0000000..40be752 --- /dev/null +++ b/presentation/src/main/kotlin/es/verdnatura/almacen/view/view/TicketView.kt @@ -0,0 +1,13 @@ +package es.verdnatura.almacen.view.view + +import es.verdnatura.domain.entity.Ticket +import es.verdnatura.domain.entity.TicketDetail + +/** + * Created by nelo on 7/3/17. + */ +interface TicketView : LoadDataView { + + fun clearVnScan() + fun onDownloadTicket(ticket: Ticket) +} \ No newline at end of file diff --git a/presentation/src/main/kotlin/es/verdnatura/almacen/view/view/VnHeaderView.kt b/presentation/src/main/kotlin/es/verdnatura/almacen/view/view/VnHeaderView.kt new file mode 100644 index 0000000..b53d451 --- /dev/null +++ b/presentation/src/main/kotlin/es/verdnatura/almacen/view/view/VnHeaderView.kt @@ -0,0 +1,8 @@ +package es.verdnatura.almacen.view.view + +/** + * Created by nelo on 28/4/17. + */ +interface VnHeaderView: BaseView { + fun setTicketsMarked(marked: Int, total: Int) +} \ No newline at end of file diff --git a/presentation/src/main/res/drawable/comercial.png b/presentation/src/main/res/drawable/comercial.png new file mode 100644 index 0000000000000000000000000000000000000000..206c2bde14eb229a13bef41c0c70fa0813440966 GIT binary patch literal 40556 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 TZhVZw{{0$iTB;Sw7Qz1mr`U%c literal 0 HcmV?d00001 diff --git a/presentation/src/main/res/drawable/controlador_movimiento.png b/presentation/src/main/res/drawable/controlador_movimiento.png new file mode 100644 index 0000000000000000000000000000000000000000..261684ba2462e00a886f6b6c0905051bf59b3821 GIT binary patch literal 27139 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 z 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 literal 0 HcmV?d00001 diff --git a/presentation/src/main/res/drawable/header.png b/presentation/src/main/res/drawable/header.png new file mode 100644 index 0000000000000000000000000000000000000000..e38f48405277a976fb45175c0274ec9a1164e3c8 GIT binary patch literal 32103 zcmZ^~1ymeO94FYgySoMtnh@OG<-^?}xH}B)5}XA01Pku&5In)%gS*Rhc5m@fofBWl9vDxeUTZ3Li=#C~nYW1tk&5Mw*qk>A! z{C2pzZMN<~<(C6pWmE9BQku!ADFT4cI{<)$0Kmf=_CehUzzMN@6H&V&Yozc;jN`!^`HW%iU@A>iC)>Ao z{QvF#4zIcFe;(uCfx0FC?{oe4zwe%etpERB#s7ZZ|84jG<9YuNm-+uW@Ben0hu$-= zR|%M6hf3dz)G!NzUs#d@AAWI7QUVaGTz^f?Cb{A_>;Nrqo#LO#EMq}$qIt}OU-{gb zh&jy>T{v8S&i`eIWLOAHPfH6gQOf>Nz?a%ODjf70*nPC(Iw|=U;_FMdss(;YQ-C#q zL$<7Yw{h7)+{VVHnR7RiIq?$h`pow*5ovizkq)QzYJy)wvMk9+4Y=1wOiyob_L`)4 z%m3!s$%_j^L%7|yUZ>i;^9ODrgDrU^w5t7bboLJfY%RQIHv}hDm1Y4C8)$uj-AmO` zRwrEiOPG4E@CJ3LUn?!H8pUO5WzRzhjBEmNch-K=0{otCOKjg`CzqL9aO7oC<%aeu0CU1@gyX*Egy z5xxQ&xjROVvzV5v7W!=39I2q7Kt);_0e0h}ihN_Ij`!{i{9f8D_?gX3q$M3R7KHB3 z<9R==*qt^+7?_yUc2hgw4m-vg zLJ<}>jQ;2@F9I+zH=#CgA*kLP+XC<45^)wMO(q!ym~p45pPz`CW~F`k|!$Hx`a{CrH_K2>!^qCn!3U z5uYBe|0g+RbMIcw`W5o%O72jYK3Av5bgo6|%o~eS{sjdi*ACQsW&r+ESJXl-@5?!v zaz)S)_2iSDH0AjOvOZ>GfW%_8aS)1q2jqn0nShuy^5V?@mP$~N?8lEE{{e+FL@@dg z6)#;LqQZHI=Pz=^^I&Gv%=^Vk$Z8kz!sMwi!a4dhEX~i_;D~_^O|lxxc<5%CUFOz+ z!TJ5pELg8Ecq~R58*d1JyoU#ON^0sfx}L6340fal;TcVAH7!Bcv=;`#bY$ROTzF0vjdov6*Vg7?6cl{+i3ddM{vXslnEjP9ejo`rF%z0K*t(5-k!IbgWb6rnjLO;)rJXjn{go zzp%#zX~35?;k&v9Sd}d#Ogx4m6ycu|z1!RU0q$z;Vk|lM=zch9-o3!Z{>LOnTRJET zMZ;aLtTRj~{a`e-q_g*`?RK9T^o!Mz^*>M{hDc{-j9W_U>Mr?jYFq2;>%##RPEbG| z12tp6cqJ;s&i*`e{#*S~e(C%047QR0`?g}{Q9)$NB2PB7;MV&AV!t|mMJf=|w*>D{fE z9fr9N3uXzs?XQnV#i1%2HLkG0FrHazh<@FCJ{BHcF&A;%euUW-t!%CE^Ld}1LHB^Y z|6_AirDk~r^5Yx6N!~!|H7^rWbmp7K=}HRX7z4Xj~!HZ31qS16ZI+YePjqu)Iz(bBSUCVCLN-R4%piAv8mT3Lr$on5_^(< zt5`eHtq#{_Qw+@dD^ThRrBCCL`I9-gSs??R8@9)c>ARb*uRg?bWOr}xRmgSk*K%)7 z#_P*dE*dblX-=veENn1Eopp=@l|<|A-a#H?w(!%0Al&wf+kUBj`rU6OF{mG6FTx5T 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
~w3L-uClLwL98mVtLFoYYs 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 literal 0 HcmV?d00001 diff --git a/presentation/src/main/res/drawable/ic_detail.xml b/presentation/src/main/res/drawable/ic_detail.xml new file mode 100644 index 0000000..f2986b7 --- /dev/null +++ b/presentation/src/main/res/drawable/ic_detail.xml @@ -0,0 +1,9 @@ + + + diff --git a/presentation/src/main/res/drawable/ic_edit.xml b/presentation/src/main/res/drawable/ic_edit.xml new file mode 100644 index 0000000..e730edf --- /dev/null +++ b/presentation/src/main/res/drawable/ic_edit.xml @@ -0,0 +1,9 @@ + + + diff --git a/presentation/src/main/res/drawable/ic_print.xml b/presentation/src/main/res/drawable/ic_print.xml new file mode 100644 index 0000000..7a9bc00 --- /dev/null +++ b/presentation/src/main/res/drawable/ic_print.xml @@ -0,0 +1,9 @@ + + + diff --git a/presentation/src/main/res/drawable/ic_search.xml b/presentation/src/main/res/drawable/ic_search.xml new file mode 100644 index 0000000..47432c1 --- /dev/null +++ b/presentation/src/main/res/drawable/ic_search.xml @@ -0,0 +1,9 @@ + + + diff --git a/presentation/src/main/res/drawable/login.png b/presentation/src/main/res/drawable/login.png new file mode 100644 index 0000000000000000000000000000000000000000..97cb034aac69f208b48aa3d1d608ef6033ab681a GIT binary patch literal 87871 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

7_;q@sd*pO`C(d?nCoZ!;kSFI52-x5CYclEs2xS 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

TM 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

pxe@xTE(RXO=-8Y*u8sZwJyvD)v}}=K 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 literal 0 HcmV?d00001 diff --git a/presentation/src/main/res/drawable/sacador_movimiento.png b/presentation/src/main/res/drawable/sacador_movimiento.png new file mode 100644 index 0000000000000000000000000000000000000000..a95670705b5a72e5c24597ccd5e95a365b6299e5 GIT binary patch literal 11218 zcmd6NXHZmK*JVr2AW9MtcmzbUN|H>Y5|p6i1{#nc5^RzL2~B7~3Bm(3Ac!Q9*nngO znkYFbIkt%8oMSh0c)#bX`D$ir>iscOGg#Cuo7?A}bM9Vi@4eP}tE;U>OLdJ30)fzK zsNa7Ife=w%{8EsCPsE-TAAt*{i@J$B1j532@q6ic`cH5dgw5lDv4J9--1e!hm5q;Ur>#5$B4nX)Uq#=0Vr`l}!OS4-=9ZB`+J*-sfy9_xwN=UH zax5D|S}1o2wJ=5AqQEbjm#myBDlUz4Q55CmEHQc9!m_dvnt=+1GAn`HNRpcrA+5<2 z0wfd^0;&|;t!F{81e`(TzU<+TYOY}obyzrcHfuwFR#gnD%^n!ZD+7UR{#A@@dxoRrgM8&{wD%D#?<^p-58F7#Sst}7WHTaLd z8^`FGnHglmdetP|&O3_%)P8&-gw1iZxIRxdVlf>_=o{2g!q->!%Vmrl(5^>k z;!W%)!xIgeKJ&M%vS@Y+jf&(6LzIP3sGb&jrL%Rf`c-rHP!fp!bgV9w2;O?e#8Hm0 ztb_da=^NX(Z{I%F5>8gd^6{x(GuN+7Y-HvHStY?9u_(P{!3Hp2n?RAlLM167_Xa;} zot7WgZ~CXh>tF9nH|(Zua{S`F6gX1E`>FhFxw2}|yD<~aCewv(^u&bLFK^z++5S!7XX6{5+@(2pAyL^Y zD!0yld}Oves+HgExoeUC?u*)WpFcP{#iL)@4i@K)FkeSZPLq{(*{tB3QT~6;zu=C| zVL0nLmO+p@j~DW|RTDY`_g&u)vN-$Aq6DvTnXUUo=*=uLxQMQzpZiqd9Bv)&>+9=B z{TJnM_hj^G?RZ-b{W?YjYz$BbMwkCWQKCo!-xg;hj$NJA(UNn*e3He- z8S-bf17)wMkGr7E*M1K&?2BgVn}8+QlMd$U;C8LKPRFFveHPv$2_0&RcWxS)EOF$N z>1sa2IjY!R0?0!5q)4vD9`7z%po@)U{=};O#9x_k$IN*4d%pN|%j3?T4$Oy9pQ3zs zZ+mD$n2_#({G=oa4`?hdE=GGzzZyliU-wCXI$#BQR)3Ov#8~r4;MC;i=n{ zG1dm>r%yC2?~tN`KRa9bem&POoLfaK?kx{m#1|VGS2_%jiq&m3`^WulBv&_~^&aKW zGn6b5WT}VO$Jy$YJwWO;a}D<~2^oHn^F3J8c{j>+^rij!>2c@HbieJa2azMWp<%iT zOO#BZMP;!F*9SZnCb~~73oCr6Sr?l!w*-TUTYr-xRbzzET{VQD!zuUvbJxW*uj>^~ z<7Hgy4d(fJ=Y9C~xUKyr5j##P#ddN!{~5Yq%07 zC+ya$aRIp=US18S6OJYIYpPr)1HlXo6D_V8BPZGI^IJ97-kG=v+`shK6BElv@luev z$IqWH79&rqk*CL%j-vs)QFr^2=Q*w9d;Vmw;l{eT*UX6ZVr2YcdjLv?WhR!}En!Z=f}81s;EHhv8Dp9ZS;k&b2~9 zLROKdlQ?+5uORXO9d%`O%d(z5_{VLGMFXL3c`)}}3_%-JTw8m3EL2?cJ4+{EC%%EM ziMw_u^Cn5ij0*?FIj>xsBQuIj$~TtGGB{bvc_KaS)rg4&eva$h`^Wp|AHNoQk?;f= z##uayExxBd%H^?lcv$fCW9fH5s!r%daRr`K4aRjV5 zee;=vefBh0GmH!1!*J)Ix&f~m$t-d*%jq?>eSMP*N`x^sP(OW^Zzh`B)W|G=)|}+@ z9J5+1F|YLu=)GK-dhCp>aJyQi6_YQGQ&f8of5mPs>Z}g*LF_a!H<}Ly)qC< zJ7+q6zpo(FS8ygf!(>DaNl+q*h7<--BjT!`s}|=c)(r=hCHU3)!x`TN3;eLf`bU}) zJ@rY?Of6~=jG#vpBma)v#{y9b$^i~RN^#GhdJG8P$w|V?reIQ|^Izmj>N+ZaHigHf zG;K4J$H+LrRP-OPUQ2G9#Q0@0Jx-H-HF`xyeml}}r0DAo2vK}@URJ4UnH2^KGe~~o zn3ic@$&M* zxqN3b;)ruHZj^zkzY(H+fF|X+6sW;n&$oXo_rnh6B8C_D26fWoos82NjF^8n>TY(C zTdAl+GSE4vLS~-hw$h4cTP=&%-8y(`AEHBrd0Qh{A2kQXLK=C?!TzPk78}*fy_1{a zDxe&En9m|szE{uaTeRMPzbH3C>&gG|f z$Bh%JA)ahDmB5PPP2$?BQct70*78#U}uh&p4f;9npSyaXZj4LMWiBQ0Wqt&$~V`zVFK zKJ;L?jv|4;e$2%v5&qm;{IFZTTGBv>sm#S!8oq_yt2pvGsJX_O1_MdUo(a4>pY5NI z#On7SS)BabjH6wp`l)m@E(?&dMjhkZGDmRXpuv2gW_sHQm|R?Ce{XMZ+IueA3()@f zVUh8dXK4T|mjeGJHJr`=gvr!6cE<7bKY!1|QQoEE<-tKya(JI96uac^3*EQmcI^UN zZu#u>$#Skyz=nJJ=`q>}eoTIW3CMDO=nTSdj-6U@_kI5vztO!Vs`fPxRYMhHEOOa^{!_k-vHm)mrAOA3GSh9qzdU;o<3)Ti7sBZ#at}~e&8zL- z-yK_ulxkr-l<450$k`gH0^U|8l+(0|A5)9v9X~c3&tvPjx}5?tri+N#=B@vhxz3N;kzbyDkJzyJ^X|JZj;>x`MrQjGKK$O#DP(N#kMh?GB6HSd0cp z=6n1tzSsYZa_Xy5l0$<*lzRVNELU^%I}&la1Kx!FPM5D>D>{&{B*SVzx5I=gY8J2g zyC7&i@iL=*z&`iOP-s&iiOM%zQ?E3x?oY}2Ny%meA>;XQ2*G9TQP?PVQH&skD<2PX ztv8eeO^hOGLt1(-=Oh{SB;TIfaQkX@jg?h^mX59}CuYzP(Dw3ee5+>8Q;u!=!nWH| z4omVQqP1&fb3O0xdL>gRZ8e8db0te7W}Jl#i;UB05b%Uh)LDL5jaw{dcV|Z>xru;! z+-!7g*KvmE)vX8%4*RDK-GqVa@b*Edi&o5_qx0#&=Ws)+cIc7xcKzDEt<=b9*hyFA zDBQPoyPXR;=1mA1G?lS%>*S+e>`yPH{;(QKYuj_yx$ zvwbcz2^pHiK7f>m&F6YWTX9e%~5*!yPtpvS~FyBKU`~+b11l}`J%>@ z{=v0#RMvVV)#uv%vMnJE-oY&12EG`>NcT|gI|NEJ_ZP=iw@aA}q$sD)3A8&oTRz_h zyh2H&3?95O{erCP1e#O%@0LrOF=ALw=^L#S_bz38D8-t)?S)NQW zwy#n=lQ((fByT4VHS`lvP(DsxQQ>+05i|2nN5v+@w2Gfcu~(OoaSZiLqK{U@bA4&a z-a%bm?8R9U@;GU-4=_>A58(zeDpFVVJTLY|x3cX?8F~~h?QA(TqU#cr=*n&3t8pie zSITJNWZC^94?|L88yCV*ng=x)4Cck%6)yaenpfICw38*2vVOBus9O77OvqR3x+hPo zf}RH4_!Pkq7^_@p!1Q~yv9Pm)eZ zvD0mAJeR7t#apRaslUcB#ZOgk&PYjJ23u_+$Q(&q$XjGydl2dlCjS`}o9EAWx_V=~ zQuDZZpUhikXmjTosgzy@FDL#l4jXE=@}Mtp0R}qOUi;KnXgOKgs^ekWQ{C0N<| z(B0otT!(8h0fv`5aDFeGi?d=y%+?~Cn+xkzvj@PWABBe(eRpI*kx1R-VN6IrZ$&EarZPr(9afHSni`e-7n3s&uvM6AA@vn8KXy=De1+DvQ1YC2I6ee3^4L zFNQomh!n#fSs^nnGg?j>UX{vihLn7^`0neF(C#q%?Ayk#Hg-haV(S&1x*KdhyE#Q} zvFpLf3Vk@gTXJpakdJx6vAiwpe>tzwMF&WO+|m{qO3k9^eK7tUw|`NMkY2ESR5}&0 z(>rKdK*g~Ct?A8QAoJj3y2TpKI&J=}r_R-iwpG8}(0Djw#4`!MSK9zZ7Q6kTi@s>d zG{6KRKt;Fu!M)Fi`$Uxv%-qJaS8{af7<87eJN0xF(B?h^?3{B#Oux-9`({NzJ&8Xb zCH5bm3PpLcFWx5w3ET3+*K@)tmjZro@ZA4`T8zszU($e0v>!fHV2X$qTQ>Epk^vA>7*CUPgY4u$>K#xz5gj*8x|Ke zMew!ua_C_ew5z?DxQYsKvd;0785;{z2f0%sJ0%u53vjF5(u4u2+503Md*hH?-a^Iu zi#8um?YB%uQq&pdL;O;n+eO-$Y0YIfEH*oCe36@W5S@PZ=jL)Wx=N>6Ds%{NXLsmh515_) z6TFKPP@?B6RSSKUydg^R{f(ajyy8{~b)?FLOf+uo&zK<$wq$5YmQzCVD@RNm z?>acYrl8QvM#hJt^sAJbPo{2TjZ`IN7Z7tF=qZAUu0#ydHrg;4QI@?&B3X$eJGZ_C z@v_Yv3DA)qr;6JqNiLL_jTz4?D}%m}Rjnz50qAuQZ)}rI*y#_ zA(6-zmX;ZqkqFR}<$&~`XIS_h_Q(OVQB+_oOxGI=_nr-9a$oGjYph!t9qD={Ywd@c zj95w(YW5U^6fb5sw@geg@A7ADyqtb{Wo1P@{cvxO#(=qNen*$dxgx+q;A%l-;&q`% zNuu?q2*Ls)aR|Oai?0*f+nw23#-GT8oG}Ax45f0(^ML7ZuMUUkl(x0+Jo$8qXZ^6U z>bu1a)E~YXEffjN*$!QG%gRpD+OfgXnOUmR)7u(@p%cTIC>UI}_iWHP_4_$GT0K1H0D6??>#^t?Kli20GqZFf zus1>eJX3LZM3KT@jCF_#b&KW-vkI_<;}tbn7GAEi2qtysTTsfaCGX=2uAX+Tr(s=hY_?FY_|A9!Z(?>QP$1x;I`|&kTCvv;MrcXWZ0i z)KdwWcU5fhD)HL`i|wDp3(?tVWwt z{Ex-UKwjp#1Oe3lKU_dJ0w4_eH!lD4cmJ0I{_`Oi(9*rqhdQ~DYKACf>X7Q>2FNfC z%DSvMDtCi}32KkrzFmUkJ>m;;#lSFjcPoVl65X6NkG%O#J`{MpBkL$2ch1bg-@cX9 z&2Ldblg9S1d*6ziK5AJ@*z$9bd1>UxnMqI2&t5=|cG1_!xQs7j*zd34(te~gfWs+$ zpHwZ>)qp@&o@!W{O#+&>gS+=is%e92>ZZS<^F+nQ(|rAnwY9ZEP9eR|kJ*H;QVmxy zMLu96xh80SS1(^bqSD&R($dmiJ`DhBvi>gUfgzwnp4vuT(LUOop$u$u2MhS$ZA$XM zT1`jI0cdSYD`HwBm@LsavtJZUDyjec6M=j^$j@R;5i6b@ZVTrP`|m*`ZK1w9&cF&dwqKx}#M<-cK--1HRH9iVE7=j&Mk|GfeKdFFo^SA1cjj`T4@sBC}atnnLo;mEPsn4$ljm;B}x9BC`e4dxhCnfXh z{%lsP@|8l0@mt{)ah4bsAag;D<8^76Q2NikXIS7up_))h6zaZuMw1E;HRc8G@yY3F zbRl>Sh5JH}kF|(^*{?K+y}a%1|AB`xtjwkx|2ujRVrWg`<=qL_Qe6T4i0{vQ1m>9| z$7d)89*1h?+>uyL0WGXWUz*$@1VQ;<@v~#of~C-q`FzPre7sZ)dXI{-nMjM0qI0V+ zvh%VU$CvPGppab4z80*^%=k@Jxg$KZpj0`&x#Tm2t@XtAC8r1y5dfN(Gle!w}I${@i<7d~FEYgtDzgi|qWy05Vi~O2_N=J#BI>O>3 zXzEq@f)X?1AdsP)xJK_J0}8U{-HM1z4V!k@zh@$O=Hns%6-TMZUfpnpQ;hpZnfs!4`e$4L9Ab zifn;i{p^MqELoEXbCo0Ghkps|W(^QB{xfL*Z$RfF(*KW+t4!^<%Pg*Pbwyq*%$nyl z2Da#KWxC&4^WNi!n}-7o$et7s>-+zae)zwdz;2If&hES2G1CZqNID2*ReNN@h0zxb z76bw9WBKk;9onUcib^71%q|!E(^7~RU?7D2_tT;0xkE5DeHDSw4Bg8N_D^w6-6u9* z%{;HMfT)sZWpU@pRA6B&c%sg5)!u`NhmMjDK@Ub$1`vsYs{DhHjM&hB0Ak7>f6)7> zp#fI|02(d+yzhhbNN_Xhzp~9nlrxNCi@DM8oS=_a(yLdmv@n%@pf@?dVzCE%vO7&pO_^AueEqOshpI>B6{hAqgcMMudGx>tzN7G6 zWMJE?1EYg+-i^WI{=&iM@vr@BftKPj+Z;+i3STL%oPn*DR5l4nQ2dgJdV>D4rk1l+ zb65W3d#AB(%XXj`ja-IRZTi=lJk5uzzaeY))C>dLpb0rTd%G!G9$couycJr^Udy7p?gR#CTAYW~so5@Sb5E~R9 z0i-NQDe);zm-cR^2Xm!jPr=W{<>TQs302=b?u6#upQJ2iTUFKAeGFn{ZEY&RzKiLg zp#kX50bcn1QKkK*>=-O7R?Q;Wm6o?9XWWS_(PC--OvKbwL*V|E0;kjYHCJCu|4Xka z*YllWkm+CoUAPDO}phW(}eYFq#vTJjrI_6c?eb2 zfXkM`GZxg5IX=X5DT878p`V zD3TN=MmqVe#&w_{{IIuo@TH?%JJIWAG1&iHXf|r!$A53iAni8w`wN zBRsPUsfd8~ztyfE&mSBdOjjMS*Kajb>j06!qNc*`eQY537t70eA+ucC^y&947GaK@ zjG31{8}ASBoCl_-yJ|A}Rd`~eov&&k>XMA9!FBo~GUFZp>V(Z&df@w>Pk~boVr<=r z5gZQZ-^rI`<_+8rk!f|DNVs)X-%Yx@w~CK%fbQHWdwi@rDNF=bVc&4!vfs4kWOxel z+r12_mPf_kRtip=l~XEf;(nFghC4TMuG9i=ru8i%U^lhl&H^zaUt)d$7`S!W*>joT z1>xUE@0nj{NU&#t(Wa(S)U^i_jyR8@Cu$;jq$tj+VQHNI;qpA;iJ31di`eIGh?(&;%=3EU*O3 zai5fD)ku|Z5-4FOpC^i596IBP*S;=(JS{dUUkIA8td(W^3YF)4T#o*AEJ;NMi+k;V z*d+?=1e71cWLZ1u}l7tqSwZh0^;j@BA<{^@mlZxH1DX_zDdeKMuH8s?_q$#=H8PWM@ZrM}mt+mLfa(q{pM} zXBHMXEpVJ-(|(Bli)B+V`^TSo|PG!6~TTz9x|df&^fR}AJypDmO>@1I#M zPsgueJGZL(_2Oo=QX_u!lV|TwH{%a+=SI;q6!~7*-88jzAWzFJ)q>UA2&jj7Wj`9d z;o+C}Syy0fV2Nv~Vo+O7aopu@{+@3xHQ(UscrG8ilzU1XO-a(g;r{fQKkHAzq$1$v zL3VtL2lxqCceId`TB&}K`Zo;%I>KxqhXM)|zo-3}ZIZdRQyYEhP z%bJEE-TbE;;9!KJ`^nz2n)DpG%u+@OUFW{3KMPM#Vxd67g+eb~QC;1TW1`dpjOnu~ z@zbuVkUq_t@eKBozofTTYQ+wxkw@W3nQtaa9T%wHt@GKPVTFR@6m%!Tp!vosG11Gd zm8zy3t6n(Fh<8vZA?&H0ZPbL9#cs-IkMjb(>)sEwP0rAXgS@O?SJ|{?MPs9eoz~`q zs-$kDO!siv0attGR!TIw<;%7G!)F_deeVn-bY`$}`dZ1duN?GFH;PQkJtLZ(u)(nu z)u3lS8Xv28F_oRxEzYp4rvAvhTeh=D|ZX{R}Z{VP>@=nMR>QYnJIUOl>#4^ zQjVSdwHY;Kd7B3AohtNRongM7hB8hIs_s24bMh5+fq|EeBKn2H+v0iXERZNey~D`% z2?8;>zy9JK@F08C2Fy(bFT~vjBtk3gee$Iwt(Dc)Qv>jSBO{}db8s%BQK|x1Jd5$O zq!zA`B`*VA7Y`fG@#Qn5`i%B38uDK(9G}&)alf9CxrSd$-AD;g>2k#Iz z0Xz)cP>?6cYv=EW8bn;~v0=?CN*jgFfOYKb(1_mvzCG%k8iW!+xj`Wzn++#p9XgMSTV%_#a-(`7m`m4yWoQGyM8V^+N)~g#=66=|Wnh zR8g}sug?Z05|O^)>$3baM_S^yuL3wU)1U7B`>mJHC>!4fO`+IblZ1T}ak%>F5>TE$lL7|@OsF6H?!5>$lUspT=&#Pp~ z)`VIlXPU$}0<-|;$Cms0`le5g%w9;K^^)Vd^94ru6-vCPxP(75Ptb_l(QLRyg~M<` zZk2(u%y#RQh6eBL-z@cmQ8}=57!okIIZy_0^%$b&sju!0n`w6P<+~i#Y*LfZ^pr%W zv2ho>ve^YqxeWl9T0F>&^3Emo2eN*`AqJ0^-*%wRUN;u=3ydo2Gf2Cn~U zM5O4qrAdE(e+ARi{hzxvl_q1um4RDzUP;c=UVvPD;F$jDx=M?}+}zyF9U#N62NKh% z6GPLzSkNT=dP;&}?VPjQ2UcNK=HBu{GiM9Zn`gr%0sCVY`RC2McklX)cB7d^U>@hW zO88|9VchQ+F?8kTMG^V^~kIil@lhd!a1upfd=`!_rpE+b}*h!xB_^y{bKMs z?_+7~cC^~QIf`U2mlkuCY$AU)`QzexRC7}|4-ZXq&epx}Hb;G*a;8T6$l9C4?LEUs z;a#*9CXbY6;!{KCjl$XOe|TBlm=a9+!i>0Ss{IfSAK^NgN^mK`9PSJvZgDgAcYS zPu|wVanQ8a=(G2?y^fnT`0f7#VpekBvGDuu<_soGis21YLGp^OC zNQun{E-lw~I!(Vo2D^KE&wPxCS+q>#)PS&4_SAlxrs#$&bGFHtePlz~?zi#il(IQX ziN?h2@eCDae-?d4*7ou;O^Kzp$d-s7w}lq9-;yozN=J5+O*q_fyKKzI=2IYMtokz zg2jSRbwLU_{i$r`C!2^yKSMtUTTX+nBbD$eou110maj6z9f_qDq+AMlMQ%LcWfk?+ nK;l0Y_WxJc#>C@uA{t1p%G1B%Um%1orlIjb`+hOhGWfp%r3Tre literal 0 HcmV?d00001 diff --git a/presentation/src/main/res/drawable/settings.png b/presentation/src/main/res/drawable/settings.png new file mode 100644 index 0000000000000000000000000000000000000000..f84a21207af54231cae26d2c39dd8a217a86d870 GIT binary patch literal 28329 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 literal 0 HcmV?d00001 diff --git a/presentation/src/main/res/layouts/activity/layout/activity_layout.xml b/presentation/src/main/res/layouts/activity/layout/activity_layout.xml new file mode 100644 index 0000000..f3a24bf --- /dev/null +++ b/presentation/src/main/res/layouts/activity/layout/activity_layout.xml @@ -0,0 +1,10 @@ + + + + + \ No newline at end of file diff --git a/presentation/src/main/res/layouts/activity/layout/activity_menu.xml b/presentation/src/main/res/layouts/activity/layout/activity_menu.xml new file mode 100644 index 0000000..3d27882 --- /dev/null +++ b/presentation/src/main/res/layouts/activity/layout/activity_menu.xml @@ -0,0 +1,18 @@ + + + + + + + + diff --git a/presentation/src/main/res/layouts/fragment/layout/fragment_login.xml b/presentation/src/main/res/layouts/fragment/layout/fragment_login.xml new file mode 100644 index 0000000..8b05137 --- /dev/null +++ b/presentation/src/main/res/layouts/fragment/layout/fragment_login.xml @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + +