diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser
index 097402c2..683ed307 100644
Binary files a/.idea/caches/build_file_checksums.ser and b/.idea/caches/build_file_checksums.ser differ
diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index 6962af3e..b17be737 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -10,6 +10,7 @@
+
diff --git a/.idea/modules.xml b/.idea/modules.xml
index 99b16dc1..4acbbeaf 100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
@@ -5,6 +5,7 @@
+
diff --git a/app/build.gradle b/app/build.gradle
index d47376d9..2d181ac2 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -1,151 +1,175 @@
-buildscript {
- repositories {
- maven { url 'https://maven.fabric.io/public' }
- }
+buildscript {
+ repositories {
+ maven { url 'https://maven.fabric.io/public' }
+ }
- dependencies {
- classpath 'io.fabric.tools:gradle:1.27.0'
- }
-}
-apply plugin: 'com.android.application'
-apply plugin: 'com.google.firebase.firebase-perf'
-apply plugin: 'io.fabric'
-apply plugin: 'kotlin-android'
-apply plugin: 'kotlin-android-extensions'
-apply plugin: 'com.google.gms.google-services'
+ dependencies {
+ classpath 'io.fabric.tools:gradle:1.27.0'
+ }
+}
+apply plugin: 'com.android.application'
+apply plugin: 'com.google.firebase.firebase-perf'
+apply plugin: 'io.fabric'
+apply plugin: 'kotlin-android'
+apply plugin: 'kotlin-android-extensions'
+apply plugin: 'com.google.gms.google-services'
-android {
+android {
- def appVersionCode = 35
- def appVersionName = '1.0.32'
+ def appVersionCode = 35
+ def appVersionName = '1.0.32'
- signingConfigs {
- release {
- keyAlias 'wms key'
- keyPassword 'inpmiy'
- storeFile file('Integry.jks')
- storePassword 'inpmiy'
- }
- }
+ signingConfigs {
+ release {
+ keyAlias 'wms key'
+ keyPassword 'inpmiy'
+ storeFile file('Integry.jks')
+ storePassword 'inpmiy'
+ }
+ }
- applicationVariants.all { variant ->
- variant.outputs.all { output ->
- output.outputFileName = "android-release_v2.apk"
- }
- }
+ applicationVariants.all { variant ->
+ variant.outputs.all { output ->
+ output.outputFileName = "android-release_v2.apk"
+ }
+ }
- compileSdkVersion 28
- buildToolsVersion '28.0.3'
- defaultConfig {
- applicationId "it.integry.integrywmsnative"
- minSdkVersion 21
- targetSdkVersion 28
- versionCode appVersionCode
- versionName appVersionName
- testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
- signingConfig signingConfigs.release
- }
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
- signingConfig signingConfigs.release
- }
- }
- dataBinding {
- enabled = true
- }
- compileOptions {
- targetCompatibility 1.8
- sourceCompatibility 1.8
- }
- productFlavors {
- }
+ compileSdkVersion 28
+ buildToolsVersion '28.0.3'
+
+ defaultConfig {
+ applicationId "it.integry.integrywmsnative"
+ minSdkVersion 21
+ targetSdkVersion 28
+ versionCode appVersionCode
+ versionName appVersionName
+ testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
+ signingConfig signingConfigs.release
+ }
+
+ buildTypes {
+ release {
+ minifyEnabled false
+ proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
+ signingConfig signingConfigs.release
+ }
+ }
+ dataBinding {
+ enabled = true
+ }
+ compileOptions {
+ targetCompatibility 1.8
+ sourceCompatibility 1.8
+ }
+ productFlavors {
+ }
- build {
- doLast {
- delete "$projectDir/build/outputs/apk/release/version_v2.txt"
- file("$projectDir/build/outputs/apk/release/version_v2.txt").text = appVersionCode + '\n' + appVersionName
- }
- }
- gradle.projectsEvaluated {
- tasks.withType(JavaCompile.class) {
- options.compilerArgs << "-Xmaxerrs" << "10000"
- }
- }
+ tasks.register("hello") { a ->
+ doLast {
+ println "${a}"
- lintOptions {
- abortOnError false
- }
+ def packages = ['vgalimenti', 'biolevante', 'ime']
- dynamicFeatures = [":dynamic_vgalimenti"]
+ dynamicFeatures.each { item -> dynamicFeatures.remove(item) }
+
+ packages.each { config ->
+ println ":dynamic_${config}"
+
+ dynamicFeatures.add(":dynamic_${config}")
+
+ project(':app').tasks.build.execute()
+
+ dynamicFeatures.remove(":dynamic_${config}")
+ }
+ }
+ }
-}
+ build {
+ doLast {
+ delete "$projectDir/build/outputs/apk/release/version_v2.txt"
+ file("$projectDir/build/outputs/apk/release/version_v2.txt").text = appVersionCode + '\n' + appVersionName
+ }
+ }
-dependencies {
- implementation fileTree(include: ['*.jar'], dir: 'libs')
- androidTestImplementation('androidx.test.espresso:espresso-core:3.1.1', {
- exclude group: 'com.android.support', module: 'support-annotations'
- })
- implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
- implementation 'com.orhanobut:logger:2.2.0'
- implementation 'com.google.firebase:firebase-core:16.0.7'
- implementation 'com.google.firebase:firebase-crash:16.2.1'
- implementation 'com.google.firebase:firebase-perf:16.2.3'
- implementation 'com.crashlytics.sdk.android:crashlytics:2.9.8'
- implementation 'androidx.appcompat:appcompat:1.1.0-alpha01'
- implementation 'androidx.legacy:legacy-support-v4:1.0.0'
- implementation 'com.google.android.material:material:1.1.0-alpha03'
- implementation 'androidx.constraintlayout:constraintlayout:2.0.0-alpha3'
- implementation 'androidx.cardview:cardview:1.0.0'
- implementation 'androidx.recyclerview:recyclerview:1.1.0-alpha02'
- implementation 'androidx.preference:preference:1.1.0-alpha02'
- implementation 'com.squareup.okhttp3:okhttp:3.12.1'
- implementation 'com.squareup.retrofit2:retrofit:2.3.0'
- implementation 'com.squareup.retrofit2:converter-gson:2.0.0'
- implementation 'com.annimon:stream:1.2.1'
- implementation 'androidx.lifecycle:lifecycle-runtime:2.0.0'
- implementation 'androidx.lifecycle:lifecycle-extensions:2.0.0'
- implementation 'androidx.lifecycle:lifecycle-common-java8:2.0.0'
- kapt "androidx.lifecycle:lifecycle-compiler:2.0.0"
- implementation 'com.danielpuiu:ghostfish:2.0.0'
- annotationProcessor "com.danielpuiu:ghostfish-compiler:2.0.0"
- //MVVM
- implementation 'androidx.lifecycle:lifecycle-extensions:2.0.0'
- annotationProcessor "androidx.lifecycle:lifecycle-compiler:2.0.0"
- implementation 'com.jakewharton.rxbinding2:rxbinding:2.1.1'
- implementation 'com.jakewharton.rxbinding2:rxbinding-support-v4:2.1.1'
- implementation 'com.jakewharton.rxbinding2:rxbinding-appcompat-v7:2.1.1'
- implementation 'com.jakewharton.rxbinding2:rxbinding-design:2.1.1'
- implementation 'com.jakewharton.rxbinding2:rxbinding-recyclerview-v7:2.1.1'
- implementation 'com.jakewharton:butterknife:10.0.0'
- annotationProcessor 'com.jakewharton:butterknife-compiler:10.0.0'
- implementation 'br.com.zbra:android-linq:1.1.0'
- //FAB
- implementation 'com.github.clans:fab:1.6.4'
- //CUSTOM VIEWS
- implementation 'com.github.NaimishTrivedi:FBToast:1.0'
- implementation 'de.hdodenhof:circleimageview:2.2.0'
- implementation 'net.cachapa.expandablelayout:expandablelayout:2.9.2'
- implementation 'com.github.frankiesardo:linearlistview:1.0.1@aar'
- implementation 'com.github.andrefrsousa:SuperBottomSheet:1.2.1@aar'
- implementation 'com.fede987:status-bar-alert:1.0.1'
- implementation 'com.fxn769:stash:1.2'
- testImplementation 'junit:junit:4.12'
- implementation project(':waterfall_toolbar')
- implementation 'com.mikhaellopez:lazydatepicker:1.0.0'
- implementation 'com.github.demoNo:AutoScrollViewPager:v1.0.2'
- //AppUpdate
- implementation 'com.github.javiersantos:AppUpdater:2.7'
- //Barcode
- implementation project(':pointmobilescannerlibrary')
- implementation project(path: ':barcode_base_library')
-}
-repositories {
- mavenCentral()
- maven { url 'https://maven.fabric.io/public' }
-}
+ gradle.projectsEvaluated {
+ tasks.withType(JavaCompile.class) {
+ options.compilerArgs << "-Xmaxerrs" << "10000"
+ }
+ }
+
+ lintOptions {
+ abortOnError false
+ }
+
+ dynamicFeatures = [":dynamic__base"]
+
+
+}
+
+dependencies {
+ implementation fileTree(include: ['*.jar'], dir: 'libs')
+ androidTestImplementation('androidx.test.espresso:espresso-core:3.1.1', {
+ exclude group: 'com.android.support', module: 'support-annotations'
+ })
+ implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
+ implementation 'com.orhanobut:logger:2.2.0'
+ implementation 'com.google.firebase:firebase-core:16.0.7'
+ implementation 'com.google.firebase:firebase-crash:16.2.1'
+ implementation 'com.google.firebase:firebase-perf:16.2.3'
+ implementation 'com.crashlytics.sdk.android:crashlytics:2.9.8'
+ implementation 'androidx.appcompat:appcompat:1.1.0-alpha01'
+ implementation 'androidx.legacy:legacy-support-v4:1.0.0'
+ implementation 'com.google.android.material:material:1.1.0-alpha03'
+ implementation 'androidx.constraintlayout:constraintlayout:2.0.0-alpha3'
+ implementation 'androidx.cardview:cardview:1.0.0'
+ implementation 'androidx.recyclerview:recyclerview:1.1.0-alpha02'
+ implementation 'androidx.preference:preference:1.1.0-alpha02'
+ implementation 'com.squareup.okhttp3:okhttp:3.12.1'
+ implementation 'com.squareup.retrofit2:retrofit:2.3.0'
+ implementation 'com.squareup.retrofit2:converter-gson:2.0.0'
+ implementation 'com.annimon:stream:1.2.1'
+ implementation 'androidx.lifecycle:lifecycle-runtime:2.0.0'
+ implementation 'androidx.lifecycle:lifecycle-extensions:2.0.0'
+ implementation 'androidx.lifecycle:lifecycle-common-java8:2.0.0'
+ kapt "androidx.lifecycle:lifecycle-compiler:2.0.0"
+ implementation 'com.danielpuiu:ghostfish:2.0.0'
+ annotationProcessor "com.danielpuiu:ghostfish-compiler:2.0.0"
+ //MVVM
+ implementation 'androidx.lifecycle:lifecycle-extensions:2.0.0'
+ annotationProcessor "androidx.lifecycle:lifecycle-compiler:2.0.0"
+ implementation 'com.jakewharton.rxbinding2:rxbinding:2.1.1'
+ implementation 'com.jakewharton.rxbinding2:rxbinding-support-v4:2.1.1'
+ implementation 'com.jakewharton.rxbinding2:rxbinding-appcompat-v7:2.1.1'
+ implementation 'com.jakewharton.rxbinding2:rxbinding-design:2.1.1'
+ implementation 'com.jakewharton.rxbinding2:rxbinding-recyclerview-v7:2.1.1'
+ implementation 'com.jakewharton:butterknife:10.0.0'
+ annotationProcessor 'com.jakewharton:butterknife-compiler:10.0.0'
+ implementation 'br.com.zbra:android-linq:1.1.0'
+ //FAB
+ implementation 'com.github.clans:fab:1.6.4'
+ //CUSTOM VIEWS
+ implementation 'com.github.NaimishTrivedi:FBToast:1.0'
+ implementation 'de.hdodenhof:circleimageview:2.2.0'
+ implementation 'net.cachapa.expandablelayout:expandablelayout:2.9.2'
+ implementation 'com.github.frankiesardo:linearlistview:1.0.1@aar'
+ implementation 'com.github.andrefrsousa:SuperBottomSheet:1.2.1@aar'
+ implementation 'com.fede987:status-bar-alert:1.0.1'
+ implementation 'com.fxn769:stash:1.2'
+ testImplementation 'junit:junit:4.12'
+ implementation project(':waterfall_toolbar')
+ implementation 'com.mikhaellopez:lazydatepicker:1.0.0'
+ implementation 'com.github.demoNo:AutoScrollViewPager:v1.0.2'
+ //AppUpdate
+ implementation 'com.github.javiersantos:AppUpdater:2.7'
+ //Barcode
+ implementation project(':pointmobilescannerlibrary')
+ implementation project(path: ':barcode_base_library')
+}
+repositories {
+ mavenCentral()
+ maven { url 'https://maven.fabric.io/public' }
+}
diff --git a/app/build_VGAlimenti.bat b/app/build_VGAlimenti.bat
new file mode 100644
index 00000000..ffafcc3a
--- /dev/null
+++ b/app/build_VGAlimenti.bat
@@ -0,0 +1,42 @@
+@echo off
+
+SET nome_azienda=vgalimenti
+
+
+setlocal enabledelayedexpansion
+set INTEXTFILE=build.gradle
+set OUTTEXTFILE=build_out.gradle
+set SEARCHTEXT=:dynamic__base
+set REPLACETEXT=:dynamic_%nome_azienda%
+set OUTPUTLINE=
+
+for /f "tokens=1,* delims=¶" %%A in ( '"findstr /n ^^ %INTEXTFILE%"') do (
+ SET string=%%A
+ for /f "delims=: tokens=1,*" %%a in ("!string!") do set "string=%%b"
+ if "!string!" == "" (
+ echo.>>%OUTTEXTFILE%
+ ) else (
+ SET modified=!string:%SEARCHTEXT%=%REPLACETEXT%!
+ echo !modified! >> %OUTTEXTFILE%
+ )
+)
+del %INTEXTFILE%
+rename %OUTTEXTFILE% %INTEXTFILE%
+
+pause
+
+gradle build
+
+
+for /f "tokens=1,* delims=¶" %%A in ( '"findstr /n ^^ %INTEXTFILE%"') do (
+ SET string=%%A
+ for /f "delims=: tokens=1,*" %%a in ("!string!") do set "string=%%b"
+ if "!string!" == "" (
+ echo.>>%OUTTEXTFILE%
+ ) else (
+ SET modified=!string:%REPLACETEXT%=%SEARCHTEXT%!
+ echo !modified! >> %OUTTEXTFILE%
+ )
+)
+del %INTEXTFILE%
+rename %OUTTEXTFILE% %INTEXTFILE%
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/vendita/dialogs/DialogVenditaFiltroAvanzato.java b/app/src/main/java/it/integry/integrywmsnative/gest/vendita/dialogs/DialogVenditaFiltroAvanzato.java
index 5a8e9ae9..c8ad37f1 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/vendita/dialogs/DialogVenditaFiltroAvanzato.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/vendita/dialogs/DialogVenditaFiltroAvanzato.java
@@ -87,7 +87,6 @@ public class DialogVenditaFiltroAvanzato {
Button button = ((AlertDialog) dialogInterface).getButton(AlertDialog.BUTTON_NEUTRAL);
button.setOnClickListener(view -> {
- // TODO Do something
resetAll(viewModel);
});
});
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 69aa8176..54c32313 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -183,5 +183,6 @@
Recovering data
Wait a moment
Personalizzazione VGAlimenti
+ Azienda Base
diff --git a/dynamic__base/.gitignore b/dynamic__base/.gitignore
new file mode 100644
index 00000000..796b96d1
--- /dev/null
+++ b/dynamic__base/.gitignore
@@ -0,0 +1 @@
+/build
diff --git a/dynamic__base/build.gradle b/dynamic__base/build.gradle
new file mode 100644
index 00000000..420b6a5c
--- /dev/null
+++ b/dynamic__base/build.gradle
@@ -0,0 +1,23 @@
+apply plugin: 'com.android.dynamic-feature'
+
+android {
+ compileSdkVersion 28
+
+
+
+ defaultConfig {
+ minSdkVersion 21
+ targetSdkVersion 28
+ versionCode 1
+ versionName "1.0"
+
+
+ }
+
+
+}
+
+dependencies {
+ implementation fileTree(dir: 'libs', include: ['*.jar'])
+ implementation project(':app')
+}
diff --git a/dynamic__base/src/main/AndroidManifest.xml b/dynamic__base/src/main/AndroidManifest.xml
new file mode 100644
index 00000000..fb56d47f
--- /dev/null
+++ b/dynamic__base/src/main/AndroidManifest.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
diff --git a/dynamic__base/src/main/java/it/integry/wms/dynamic_customization/DynamicContext.java b/dynamic__base/src/main/java/it/integry/wms/dynamic_customization/DynamicContext.java
new file mode 100644
index 00000000..d902a472
--- /dev/null
+++ b/dynamic__base/src/main/java/it/integry/wms/dynamic_customization/DynamicContext.java
@@ -0,0 +1,25 @@
+package it.integry.wms.dynamic_customization;
+
+import android.util.Log;
+
+import it.integry.integrywmsnative.core.class_router.BaseRouter;
+import it.integry.integrywmsnative.core.class_router.MethodDTO;
+import it.integry.integrywmsnative.core.class_router.exceptions.MethodPathAlreadyDeclaredException;
+
+public class DynamicContext {
+
+ public static void init() {
+ Log.d("DynamicContext", "Caricamento personalizzazioni per Azienda BASE");
+
+// try {
+ //BaseRouter.registerPath("testToast", MethodDTO.fromName(OrdineVendita.class, "testMe"));
+
+// } catch (MethodPathAlreadyDeclaredException ex) {
+//
+// }
+
+ Log.d("DynamicContext", "Caricamento personalizzazioni per Azienda BASE COMPLETATO");
+
+ }
+
+}
diff --git a/settings.gradle b/settings.gradle
index 0f8ee31e..2a55bf37 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -1 +1 @@
-include ':app', ':pointmobilescannerlibrary', ':waterfall_toolbar', ':barcode_base_library', ':dynamic_vgalimenti'
+include ':app', ':pointmobilescannerlibrary', ':waterfall_toolbar', ':barcode_base_library', ':dynamic_vgalimenti', ':dynamic__base'