285 lines
9.8 KiB
Java
285 lines
9.8 KiB
Java
package it.integry.integrywmsnative;
|
|
|
|
import android.app.Application;
|
|
import android.os.Handler;
|
|
|
|
import androidx.core.os.HandlerCompat;
|
|
|
|
import java.util.concurrent.ExecutorService;
|
|
import java.util.concurrent.Executors;
|
|
|
|
import javax.inject.Singleton;
|
|
|
|
import dagger.Module;
|
|
import dagger.Provides;
|
|
import it.integry.integrywmsnative.core.context.AppContext;
|
|
import it.integry.integrywmsnative.core.context.MainContext;
|
|
import it.integry.integrywmsnative.core.data_recover.ColliDataRecoverService;
|
|
import it.integry.integrywmsnative.core.data_store.db.AppDatabase;
|
|
import it.integry.integrywmsnative.core.menu.MenuRESTConsumer;
|
|
import it.integry.integrywmsnative.core.menu.MenuService;
|
|
import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer;
|
|
import it.integry.integrywmsnative.core.rest.consumers.AziendaRESTConsumer;
|
|
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
|
|
import it.integry.integrywmsnative.core.rest.consumers.ColliAccettazioneRESTConsumer;
|
|
import it.integry.integrywmsnative.core.rest.consumers.ColliLavorazioneRESTConsumer;
|
|
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
|
|
import it.integry.integrywmsnative.core.rest.consumers.ColliSpedizioneRESTConsumer;
|
|
import it.integry.integrywmsnative.core.rest.consumers.CommessaRESTConsumer;
|
|
import it.integry.integrywmsnative.core.rest.consumers.DepositoRESTConsumer;
|
|
import it.integry.integrywmsnative.core.rest.consumers.DocumentRESTConsumer;
|
|
import it.integry.integrywmsnative.core.rest.consumers.EntityRESTConsumer;
|
|
import it.integry.integrywmsnative.core.rest.consumers.GestSetupRESTConsumer;
|
|
import it.integry.integrywmsnative.core.rest.consumers.GiacenzaRESTConsumer;
|
|
import it.integry.integrywmsnative.core.rest.consumers.MagazzinoAutomaticoRESTConsumer;
|
|
import it.integry.integrywmsnative.core.rest.consumers.MagazzinoRESTConsumer;
|
|
import it.integry.integrywmsnative.core.rest.consumers.MesRESTConsumer;
|
|
import it.integry.integrywmsnative.core.rest.consumers.OrdiniRESTConsumer;
|
|
import it.integry.integrywmsnative.core.rest.consumers.PVOrdiniAcquistoRESTConsumer;
|
|
import it.integry.integrywmsnative.core.rest.consumers.PosizioniRESTConsumer;
|
|
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
|
|
import it.integry.integrywmsnative.core.rest.consumers.ProductionLinesRESTConsumer;
|
|
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
|
|
import it.integry.integrywmsnative.core.services.inventario.InventarioService;
|
|
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
|
import it.integry.integrywmsnative.core.update.UpdatesManager;
|
|
import it.integry.integrywmsnative.gest.contab_doc_interni.rest.DocInterniRESTConsumer;
|
|
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.rest.ProdFabbisognoLineeProdRESTConsumer;
|
|
import it.integry.integrywmsnative.view.dialogs.DialogProgressView;
|
|
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2View;
|
|
|
|
@Module
|
|
public class MainApplicationModule {
|
|
|
|
private final Application mApplication;
|
|
|
|
public MainApplicationModule(Application application) {
|
|
this.mApplication = application;
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
Application providesApplication() {
|
|
return mApplication;
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
public ExecutorService providesExecutorService() {
|
|
return Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors());
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
public Handler providesMainThreadHandler() {
|
|
return HandlerCompat.createAsync(mApplication.getApplicationContext().getMainLooper());
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
public SettingsManager provideSettingsManager(SystemRESTConsumer systemRESTConsumer, AziendaRESTConsumer aziendaRESTConsumer, PosizioniRESTConsumer posizioniRESTConsumer, GestSetupRESTConsumer gestSetupRESTConsumer) {
|
|
return new SettingsManager(mApplication, systemRESTConsumer, aziendaRESTConsumer, gestSetupRESTConsumer, posizioniRESTConsumer);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
AppContext providesAppContext() {
|
|
return new AppContext(mApplication);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
MainContext providesMainContextNew(MenuService menuService, AppDatabase appDatabase, SystemRESTConsumer systemRESTConsumer) {
|
|
return new MainContext(mApplication.getApplicationContext(), menuService, appDatabase, systemRESTConsumer);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
ColliDataRecoverService provideColliDataRecoverService() {
|
|
ColliDataRecoverService colliDataRecoverService = new ColliDataRecoverService(mApplication.getApplicationContext());
|
|
colliDataRecoverService.init();
|
|
return colliDataRecoverService;
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
MenuService provideMenuService(MenuRESTConsumer menuRESTConsumer) {
|
|
return new MenuService(menuRESTConsumer);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
UpdatesManager provideUpdatesManager() {
|
|
return new UpdatesManager();
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
DialogProgressView providesDialogProgressView() {
|
|
return DialogProgressView.newInstance();
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
DialogInputQuantityV2View providesDialogInputQuantityV2View() {
|
|
return new DialogInputQuantityV2View();
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
OrdiniRESTConsumer provideOrdiniRESTConsumer(SystemRESTConsumer systemRESTConsumer, EntityRESTConsumer entityRESTConsumer) {
|
|
return new OrdiniRESTConsumer(systemRESTConsumer, entityRESTConsumer);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
GestSetupRESTConsumer provideGestSetupRESTConsumer() {
|
|
return new GestSetupRESTConsumer();
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
ArticoloRESTConsumer provideArticoloRESTConsumer(SystemRESTConsumer systemRESTConsumer) {
|
|
return new ArticoloRESTConsumer(systemRESTConsumer);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
CommessaRESTConsumer provideCommessaRESTConsumer(SystemRESTConsumer systemRESTConsumer) {
|
|
return new CommessaRESTConsumer(systemRESTConsumer);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
DepositoRESTConsumer provideDepositoRESTConsumer(EntityRESTConsumer entityRESTConsumer, SystemRESTConsumer systemRESTConsumer) {
|
|
return new DepositoRESTConsumer(entityRESTConsumer, systemRESTConsumer);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
MenuRESTConsumer provideMenuRESTConsumer() {
|
|
return new MenuRESTConsumer();
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
MagazzinoRESTConsumer provideMagazzinoRESTConsumer(SystemRESTConsumer systemRESTConsumer) {
|
|
return new MagazzinoRESTConsumer(systemRESTConsumer);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
MesRESTConsumer provideMesRESTConsumer(SystemRESTConsumer systemRESTConsumer) {
|
|
return new MesRESTConsumer(systemRESTConsumer);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
EntityRESTConsumer provideEntityRESTConsumer() {
|
|
return new EntityRESTConsumer();
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
ColliMagazzinoRESTConsumer provideColliMagazzinoRESTConsumer(SystemRESTConsumer systemRESTConsumer, ArticoloRESTConsumer articoloRESTConsumer, EntityRESTConsumer entityRESTConsumer) {
|
|
return new ColliMagazzinoRESTConsumer(systemRESTConsumer, articoloRESTConsumer, entityRESTConsumer);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
AziendaRESTConsumer provideAziendaRESTConsumer() {
|
|
return new AziendaRESTConsumer();
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
BarcodeRESTConsumer provideBarcodeRESTConsumer() {
|
|
return new BarcodeRESTConsumer();
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
PrinterRESTConsumer providePrinterRESTConsumer() {
|
|
return new PrinterRESTConsumer();
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
SystemRESTConsumer provideSystemRESTConsumer() {
|
|
return new SystemRESTConsumer();
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
PVOrdiniAcquistoRESTConsumer providesPVOrdiniAcquistoRESTConsumer(MagazzinoRESTConsumer magazzinoRESTConsumer) {
|
|
return new PVOrdiniAcquistoRESTConsumer(magazzinoRESTConsumer);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
PosizioniRESTConsumer providesPosizioniRESTConsumer(SystemRESTConsumer systemRESTConsumer) {
|
|
return new PosizioniRESTConsumer(systemRESTConsumer);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
ProdFabbisognoLineeProdRESTConsumer providesProdFabbisognoLineeProdRESTConsumer(SystemRESTConsumer systemRESTConsumer) {
|
|
return new ProdFabbisognoLineeProdRESTConsumer(systemRESTConsumer);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
DocInterniRESTConsumer provideDocInterniRESTConsumer(MagazzinoRESTConsumer magazzinoRESTConsumer) {
|
|
return new DocInterniRESTConsumer(magazzinoRESTConsumer);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
GiacenzaRESTConsumer provideGiacenzaRESTConsumer(SystemRESTConsumer systemRESTConsumer, ArticoloRESTConsumer articoloRESTConsumer) {
|
|
return new GiacenzaRESTConsumer(systemRESTConsumer, articoloRESTConsumer);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
InventarioService provideInventarioService(GiacenzaRESTConsumer giacenzaRESTConsumer) {
|
|
return new InventarioService(giacenzaRESTConsumer);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
ProductionLinesRESTConsumer provideProductionLinesRESTConsumer() {
|
|
return new ProductionLinesRESTConsumer();
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
DocumentRESTConsumer provideDocumentiRESTConsumer() {
|
|
return new DocumentRESTConsumer();
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
ColliAccettazioneRESTConsumer provideColliAccettazioneRESTConsumer() {
|
|
return new ColliAccettazioneRESTConsumer();
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
ColliSpedizioneRESTConsumer provideColliSpedizioneRESTConsumer() {
|
|
return new ColliSpedizioneRESTConsumer();
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
ColliLavorazioneRESTConsumer provideColliLavorazioneRESTConsumer() {
|
|
return new ColliLavorazioneRESTConsumer();
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
MagazzinoAutomaticoRESTConsumer provideMagazzinoAutomaticoRESTConsumer() {
|
|
return new MagazzinoAutomaticoRESTConsumer();
|
|
}
|
|
|
|
}
|