diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index fbb54780..75fc2341 100644 Binary files a/.idea/caches/build_file_checksums.ser and b/.idea/caches/build_file_checksums.ser differ diff --git a/app/src/main/java/it/integry/integrywmsnative/MainActivity.java b/app/src/main/java/it/integry/integrywmsnative/MainActivity.java index cf0b970e..50ddd356 100644 --- a/app/src/main/java/it/integry/integrywmsnative/MainActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/MainActivity.java @@ -76,9 +76,6 @@ public class MainActivity extends AppCompatActivity pop(); init(); - - - BaseRouter.invokePath(BaseRouter.PATH.DISTRIBUZIONE_COLLO_V, null, null); } diff --git a/app/src/main/java/it/integry/integrywmsnative/MainApplication.java b/app/src/main/java/it/integry/integrywmsnative/MainApplication.java index 9b14b7f8..445103e0 100644 --- a/app/src/main/java/it/integry/integrywmsnative/MainApplication.java +++ b/app/src/main/java/it/integry/integrywmsnative/MainApplication.java @@ -1,31 +1,10 @@ package it.integry.integrywmsnative; import android.app.Application; -import android.content.Context; import android.content.res.Configuration; import android.content.res.Resources; -import android.text.SpannableString; -import com.crashlytics.android.Crashlytics; -import com.google.firebase.perf.FirebasePerformance; -import com.google.firebase.perf.metrics.Trace; -import com.orhanobut.logger.AndroidLogAdapter; -import com.orhanobut.logger.Logger; - -import io.fabric.sdk.android.Fabric; -import it.integry.integrywmsnative.core.REST.watcher.ServerStatusChecker; -import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager; import it.integry.integrywmsnative.core.context.AppContext; -import it.integry.integrywmsnative.core.exception.ExceptionsHandler; -import it.integry.integrywmsnative.core.settings.SettingsManager; -import it.integry.integrywmsnative.core.settings.Stash; -import it.integry.integrywmsnative.core.update.UpdatesManager; -import it.integry.integrywmsnative.core.utility.UtilityExceptions; -import it.integry.integrywmsnative.core.utility.UtilityResources; -import it.integry.integrywmsnative.core.utility.UtilityString; -import it.integry.integrywmsnative.view.dialogs.DialogSimpleMessageHelper; -import it.integry.integrywmsnative.view.dialogs.exception.DialogException; - public class MainApplication extends Application { public static Resources res; diff --git a/app/src/main/java/it/integry/integrywmsnative/core/class_router/BaseRouter.java b/app/src/main/java/it/integry/integrywmsnative/core/class_router/BaseRouter.java index 900e11f2..b6679a5c 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/class_router/BaseRouter.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/class_router/BaseRouter.java @@ -5,7 +5,6 @@ import android.util.Pair; import com.orhanobut.logger.Logger; -import java.lang.reflect.InvocationTargetException; import java.util.ArrayList; import java.util.List; @@ -14,7 +13,6 @@ import it.integry.integrywmsnative.core.class_router.exceptions.MethodParamsCoun import it.integry.integrywmsnative.core.class_router.exceptions.MethodPathAlreadyDeclaredException; import it.integry.integrywmsnative.core.class_router.exceptions.MethodPathNotRegisteredException; import it.integry.integrywmsnative.core.utility.UtilityExceptions; -import it.integry.integrywmsnative.core.utility.UtilityLogger; public class BaseRouter { @@ -89,8 +87,7 @@ public class BaseRouter { methodDTO.getMethod().invoke(newInstance, params); } catch (Exception ex) { - UtilityExceptions.defaultException(context, ex); - Logger.e(ex, ex.getMessage()); + UtilityExceptions.defaultException(context, ex, true); } } diff --git a/dynamic__base/src/main/java/it/integry/wms/dynamic_customization/interfaces/IOrdiniVendita.java b/app/src/main/java/it/integry/integrywmsnative/core/class_router/interfaces/IOrdiniVendita.java similarity index 51% rename from dynamic__base/src/main/java/it/integry/wms/dynamic_customization/interfaces/IOrdiniVendita.java rename to app/src/main/java/it/integry/integrywmsnative/core/class_router/interfaces/IOrdiniVendita.java index 69bb2718..eaa1ad9f 100644 --- a/dynamic__base/src/main/java/it/integry/wms/dynamic_customization/interfaces/IOrdiniVendita.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/class_router/interfaces/IOrdiniVendita.java @@ -1,4 +1,4 @@ -package it.integry.wms.dynamic_customization.interfaces; +package it.integry.integrywmsnative.core.class_router.interfaces; import android.app.ProgressDialog; @@ -9,6 +9,6 @@ import it.integry.integrywmsnative.core.model.MtbColt; public interface IOrdiniVendita { - void distribuisciCollo(ProgressDialog progress, RunnableArgs> onComplete); + void distribuisciCollo(ProgressDialog progress, MtbColt mtbColt, RunnableArgs> onComplete, RunnableArgs onFailed); } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/context/AppContext.java b/app/src/main/java/it/integry/integrywmsnative/core/context/AppContext.java index 5f104f5c..2586a474 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/context/AppContext.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/context/AppContext.java @@ -3,17 +3,13 @@ package it.integry.integrywmsnative.core.context; import android.content.Context; import com.crashlytics.android.Crashlytics; -import com.danielpuiu.ghostfish.GhostFish; import com.orhanobut.logger.AndroidLogAdapter; import com.orhanobut.logger.Logger; -import java.lang.reflect.Method; - import io.fabric.sdk.android.Fabric; import it.integry.integrywmsnative.BuildConfig; import it.integry.integrywmsnative.core.REST.watcher.ServerStatusChecker; import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager; -import it.integry.integrywmsnative.core.class_router.BaseRouter; import it.integry.integrywmsnative.core.data_recover.ColliDataRecover; import it.integry.integrywmsnative.core.settings.SettingsManager; import it.integry.integrywmsnative.core.settings.Stash; @@ -46,8 +42,6 @@ public class AppContext { this.initLogger(); this.initRecoverColli(); - - this.initReflections(); } @@ -91,28 +85,5 @@ public class AppContext { ColliDataRecover.init(mContext); } - private void initReflections() { - GhostFish.create(mContext); - - try { - - String initMethod = "init"; - - Class dynamicContextClass = Class.forName("it.integry.wms.dynamic_customization.DynamicContext"); - - Method[] methods = dynamicContextClass.getMethods(); - for (Method m : methods) { - if (initMethod.equals(m.getName())) { - // for static methods we can use null as instance of class - m.invoke(null); - break; - } - } - - } catch (Exception e) { - e.printStackTrace(); - } - - } } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/context/MainContext.java b/app/src/main/java/it/integry/integrywmsnative/core/context/MainContext.java index c38f78af..5a037cfb 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/context/MainContext.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/context/MainContext.java @@ -4,9 +4,14 @@ import android.content.Context; import android.text.SpannableString; import android.util.Log; +import com.orhanobut.logger.Logger; + +import java.lang.reflect.Method; + import androidx.appcompat.app.AppCompatActivity; import it.integry.integrywmsnative.core.class_router.BaseRouter; import it.integry.integrywmsnative.core.settings.SettingsManager; +import it.integry.integrywmsnative.core.utility.UtilityExceptions; import it.integry.integrywmsnative.view.dialogs.DialogSimpleMessageHelper; public class MainContext { @@ -23,7 +28,7 @@ public class MainContext { onContextInitialized.run(); }); - BaseRouter.init(mContext); + this.initReflections(); } @@ -35,4 +40,28 @@ public class MainContext { ); } + private void initReflections() { + BaseRouter.init(mContext); + + try { + String initMethod = "init"; + + Class dynamicContextClass = Class.forName("it.integry.wms.dynamic_customization.DynamicContext"); + + Method[] methods = dynamicContextClass.getMethods(); + for (Method m : methods) { + if (initMethod.equals(m.getName())) { + // for static methods we can use null as instance of class + final Object newInstance = dynamicContextClass.newInstance(); + + m.invoke(newInstance, (Context) mContext); + break; + } + } + + } catch (Exception e) { + UtilityExceptions.defaultException(mContext, e, true); + } + } + } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityExceptions.java b/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityExceptions.java index b1026973..20f1f45a 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityExceptions.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityExceptions.java @@ -30,7 +30,12 @@ public class UtilityExceptions { public static void defaultException(Context context, Exception ex, boolean sendEmail){ - Logger.e(ex, ex.getMessage()); + if(ex.getMessage() != null) { + Logger.e(ex, ex.getMessage()); + } else { + Logger.e(ex, "Errore"); + } + String errorMessage = CommonRESTException.tryRecognizeThenGetMessage(ex); if(errorMessage == null) errorMessage = ex.getMessage(); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/viewmodel/VenditaOrdineInevasoViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/viewmodel/VenditaOrdineInevasoViewModel.java index c626b627..bde16f4c 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/viewmodel/VenditaOrdineInevasoViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/viewmodel/VenditaOrdineInevasoViewModel.java @@ -28,6 +28,7 @@ import it.integry.integrywmsnative.core.REST.consumers.PosizioneRESTonsumer; import it.integry.integrywmsnative.core.REST.consumers.PrinterRESTConsumer; import it.integry.integrywmsnative.core.REST.model.DistribuzioneColloDTO; import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager; +import it.integry.integrywmsnative.core.class_router.BaseRouter; import it.integry.integrywmsnative.core.data_recover.ColliDataRecover; import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.model.CommonModelConsts; @@ -825,12 +826,23 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO MtbColt cloneMtbColt = (MtbColt) mArticoliInColloBottomSheetViewModel.mtbColt.get().clone(); - ColliMagazzinoRESTConsumer.distribuisciCollo(cloneMtbColt, SettingsManager.iDB().getDefaultCriterioDistribuzione(), - mtbColts -> { - if(mtbColtSessionID != null) ColliDataRecover.closeSession(mtbColtSessionID); - onComplete.run(mtbColts); - }, - ex -> UtilityExceptions.defaultException(mActivity, ex, progress)); + RunnableArgs> tmpOnComplete = mtbColts -> { + if(mtbColtSessionID != null) ColliDataRecover.closeSession(mtbColtSessionID); + onComplete.run(mtbColts); + }; + + RunnableArgs tmpOnFailed = ex -> { + UtilityExceptions.defaultException(mActivity, ex, progress); + }; + + BaseRouter.invokePath(BaseRouter.PATH.DISTRIBUZIONE_COLLO_V, progress, cloneMtbColt, tmpOnComplete, tmpOnFailed); + +// ColliMagazzinoRESTConsumer.distribuisciCollo(cloneMtbColt, SettingsManager.iDB().getDefaultCriterioDistribuzione(), +// mtbColts -> { +// if(mtbColtSessionID != null) ColliDataRecover.closeSession(mtbColtSessionID); +// onComplete.run(mtbColts); +// }, +// ex -> UtilityExceptions.defaultException(mActivity, ex, progress)); } private void printCollo(ProgressDialog progress, List mtbColtsToPrint) { diff --git a/build_azienda.bat b/build_azienda.bat index 04f75b5f..2df274f1 100644 --- a/build_azienda.bat +++ b/build_azienda.bat @@ -1,4 +1,4 @@ -rem @echo off +@echo off SET nome_azienda=%1 diff --git a/dynamic__base/build.gradle b/dynamic__base/build.gradle index 420b6a5c..98b5b5ba 100644 --- a/dynamic__base/build.gradle +++ b/dynamic__base/build.gradle @@ -2,7 +2,7 @@ apply plugin: 'com.android.dynamic-feature' android { compileSdkVersion 28 - + defaultConfig { @@ -13,11 +13,13 @@ android { } - - + compileOptions { + sourceCompatibility = '1.8' + targetCompatibility = '1.8' + } } dependencies { - implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation fileTree(include: ['*.jar'], dir: 'libs') implementation project(':app') } 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 index 112cabf5..a198e89a 100644 --- 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 @@ -1,20 +1,22 @@ package it.integry.wms.dynamic_customization; +import android.content.Context; 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; +import it.integry.integrywmsnative.core.utility.UtilityExceptions; public class DynamicContext { - public static void init() { + public void init(Context context) { Log.d("DynamicContext", "Caricamento personalizzazioni per Azienda BASE"); try { BaseRouter.registerPath(BaseRouter.PATH.DISTRIBUZIONE_COLLO_V, MethodDTO.fromName(OrdiniVendita.class, "distribuisciCollo")); - } catch (MethodPathAlreadyDeclaredException ex) { - + } catch (Exception ex) { + UtilityExceptions.defaultException(context, ex); } Log.d("DynamicContext", "Caricamento personalizzazioni per Azienda BASE COMPLETATO"); diff --git a/dynamic__base/src/main/java/it/integry/wms/dynamic_customization/OrdiniVendita.java b/dynamic__base/src/main/java/it/integry/wms/dynamic_customization/OrdiniVendita.java index aa5c54cb..1d774842 100644 --- a/dynamic__base/src/main/java/it/integry/wms/dynamic_customization/OrdiniVendita.java +++ b/dynamic__base/src/main/java/it/integry/wms/dynamic_customization/OrdiniVendita.java @@ -1,20 +1,25 @@ package it.integry.wms.dynamic_customization; import android.app.ProgressDialog; -import android.util.Log; import java.util.List; +import it.integry.integrywmsnative.core.REST.consumers.ColliMagazzinoRESTConsumer; import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.model.MtbColt; +import it.integry.integrywmsnative.core.settings.SettingsManager; import it.integry.integrywmsnative.core.utility.UtilityToast; -import it.integry.wms.dynamic_customization.interfaces.IOrdiniVendita; +import it.integry.integrywmsnative.core.class_router.interfaces.IOrdiniVendita; public class OrdiniVendita implements IOrdiniVendita { @Override - public void distribuisciCollo(ProgressDialog progress, RunnableArgs> onComplete) { + public void distribuisciCollo(ProgressDialog progress, MtbColt mtbColt, RunnableArgs> onComplete, RunnableArgs onFailed) { UtilityToast.showToast("Avviato metodo in BaseFeature"); + + ColliMagazzinoRESTConsumer.distribuisciCollo(mtbColt, SettingsManager.iDB().getDefaultCriterioDistribuzione(), + onComplete, + onFailed); } } diff --git a/dynamic_vgalimenti/build.gradle b/dynamic_vgalimenti/build.gradle index 01c59209..44c3d297 100644 --- a/dynamic_vgalimenti/build.gradle +++ b/dynamic_vgalimenti/build.gradle @@ -1,14 +1,6 @@ apply plugin: 'com.android.dynamic-feature' android { - signingConfigs { - release { - keyAlias 'wms key' - keyPassword 'inpmiy' - storeFile file('Integry.jks') - storePassword 'inpmiy' - } - } compileSdkVersion 28 defaultConfig { minSdkVersion 21 @@ -28,5 +20,4 @@ android { dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') implementation project(':app') - implementation project(':dynamic__base') } diff --git a/dynamic_vgalimenti/src/main/java/it/integry/wms/dynamic_customization/DynamicContext.java b/dynamic_vgalimenti/src/main/java/it/integry/wms/dynamic_customization/DynamicContext.java index a3cc0927..e58f6ead 100644 --- a/dynamic_vgalimenti/src/main/java/it/integry/wms/dynamic_customization/DynamicContext.java +++ b/dynamic_vgalimenti/src/main/java/it/integry/wms/dynamic_customization/DynamicContext.java @@ -1,21 +1,25 @@ package it.integry.wms.dynamic_customization; +import android.content.Context; import android.util.Log; +import java.util.logging.Logger; + 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; +import it.integry.integrywmsnative.core.utility.UtilityExceptions; +import it.integry.integrywmsnative.core.utility.UtilityLogger; public class DynamicContext { - public static void init() { + public void init(Context context) { Log.d("DynamicContext", "Caricamento personalizzazioni per VGAlimenti"); try { - BaseRouter.registerPath(BaseRouter.PATH.DISTRIBUZIONE_COLLO_V, MethodDTO.fromName(OrdineVendita.class, "distribuisciCollo")); - - } catch (MethodPathAlreadyDeclaredException ex) { - + BaseRouter.registerPath(BaseRouter.PATH.DISTRIBUZIONE_COLLO_V, MethodDTO.fromName(OrdiniVendita.class, "distribuisciCollo")); + } catch (Exception ex) { + UtilityExceptions.defaultException(context, ex); } Log.d("DynamicContext", "Caricamento personalizzazioni per VGAlimenti COMPLETATO"); diff --git a/dynamic_vgalimenti/src/main/java/it/integry/wms/dynamic_customization/OrdineVendita.java b/dynamic_vgalimenti/src/main/java/it/integry/wms/dynamic_customization/OrdineVendita.java deleted file mode 100644 index e68a2545..00000000 --- a/dynamic_vgalimenti/src/main/java/it/integry/wms/dynamic_customization/OrdineVendita.java +++ /dev/null @@ -1,22 +0,0 @@ -package it.integry.wms.dynamic_customization; - -import android.app.ProgressDialog; -import android.content.Context; -import android.util.Log; -import android.widget.Toast; - -import java.util.List; - -import it.integry.integrywmsnative.core.expansion.RunnableArgs; -import it.integry.integrywmsnative.core.model.MtbColt; -import it.integry.integrywmsnative.core.utility.UtilityToast; -import it.integry.wms.dynamic_customization.interfaces.IOrdiniVendita; - -public class OrdineVendita implements IOrdiniVendita { - - @Override - public void distribuisciCollo(ProgressDialog progress, RunnableArgs> onComplete) { - UtilityToast.showToast("Avviato metodo in VGAlimentiFeature"); - - } -} diff --git a/dynamic_vgalimenti/src/main/java/it/integry/wms/dynamic_customization/OrdiniVendita.java b/dynamic_vgalimenti/src/main/java/it/integry/wms/dynamic_customization/OrdiniVendita.java new file mode 100644 index 00000000..098fb200 --- /dev/null +++ b/dynamic_vgalimenti/src/main/java/it/integry/wms/dynamic_customization/OrdiniVendita.java @@ -0,0 +1,27 @@ +package it.integry.wms.dynamic_customization; + +import android.app.ProgressDialog; + +import java.util.List; + +import it.integry.integrywmsnative.core.REST.consumers.ColliMagazzinoRESTConsumer; +import it.integry.integrywmsnative.core.class_router.interfaces.IOrdiniVendita; +import it.integry.integrywmsnative.core.expansion.RunnableArgs; +import it.integry.integrywmsnative.core.model.MtbColt; +import it.integry.integrywmsnative.core.settings.SettingsManager; +import it.integry.integrywmsnative.core.utility.UtilityToast; + +public class OrdiniVendita implements IOrdiniVendita { + + @Override + public void distribuisciCollo(ProgressDialog progress, MtbColt mtbColt, RunnableArgs> onComplete, RunnableArgs onFailed) { + UtilityToast.showToast("Avviato metodo in VGAlimentiFeature"); + + ColliMagazzinoRESTConsumer.distribuisciCollo(mtbColt, SettingsManager.iDB().getDefaultCriterioDistribuzione(), + onComplete, + onFailed); + + + UtilityToast.showToast("CUMBIAAA"); + } +}