365 lines
15 KiB
Java
365 lines
15 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.ean128.Ean128Service;
|
|
import it.integry.integrywmsnative.core.menu.MenuRESTConsumer;
|
|
import it.integry.integrywmsnative.core.menu.MenuService;
|
|
import it.integry.integrywmsnative.core.rest.AuthInterceptor;
|
|
import it.integry.integrywmsnative.core.rest.RESTBuilder;
|
|
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.GiacenzaPvRESTConsumer;
|
|
import it.integry.integrywmsnative.core.rest.consumers.GiacenzaRESTConsumer;
|
|
import it.integry.integrywmsnative.core.rest.consumers.ImballiRESTConsumer;
|
|
import it.integry.integrywmsnative.core.rest.consumers.MagazzinoAutomaticoRESTConsumer;
|
|
import it.integry.integrywmsnative.core.rest.consumers.MagazzinoBufferRESTConsumer;
|
|
import it.integry.integrywmsnative.core.rest.consumers.MagazzinoRESTConsumer;
|
|
import it.integry.integrywmsnative.core.rest.consumers.MaterialiRESTConsumer;
|
|
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.ProduzioneRESTConsumer;
|
|
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
|
|
import it.integry.integrywmsnative.core.rest.consumers.VettoriRESTConsumer;
|
|
import it.integry.integrywmsnative.core.rest.watcher.ServerStatusChecker;
|
|
import it.integry.integrywmsnative.core.services.inventario.InventarioService;
|
|
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
|
import it.integry.integrywmsnative.core.sound.SoundAlertService;
|
|
import it.integry.integrywmsnative.core.update.UpdatesManager;
|
|
import it.integry.integrywmsnative.gest.contab_doc_interni.rest.DocInterniRESTConsumer;
|
|
import it.integry.integrywmsnative.gest.login.rest.AuthenticationRESTConsumer;
|
|
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, ImballiRESTConsumer imballiRESTConsumer, AziendaRESTConsumer aziendaRESTConsumer, PosizioniRESTConsumer posizioniRESTConsumer, GestSetupRESTConsumer gestSetupRESTConsumer) {
|
|
return new SettingsManager(mApplication, systemRESTConsumer, imballiRESTConsumer, aziendaRESTConsumer, gestSetupRESTConsumer, posizioniRESTConsumer);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
AppContext providesAppContext() {
|
|
return new AppContext(mApplication);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
ServerStatusChecker providesServerStatusChecker(Handler handler) {
|
|
return new ServerStatusChecker(handler);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
MainContext providesMainContextNew(MenuService menuService, AppDatabase appDatabase, AuthenticationRESTConsumer authenticationRESTConsumer, ExecutorService executorService, Handler handler, ServerStatusChecker serverStatusChecker) {
|
|
return new MainContext(mApplication.getApplicationContext(), menuService, appDatabase, authenticationRESTConsumer, executorService, handler, serverStatusChecker);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
ColliDataRecoverService provideColliDataRecoverService() {
|
|
ColliDataRecoverService colliDataRecoverService = new ColliDataRecoverService(mApplication.getApplicationContext());
|
|
colliDataRecoverService.init();
|
|
return colliDataRecoverService;
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
Ean128Service provideEan128Service() {
|
|
return new Ean128Service();
|
|
}
|
|
|
|
|
|
@Provides
|
|
@Singleton
|
|
RESTBuilder providesRESTBuilder(AuthInterceptor authInterceptor) {
|
|
return new RESTBuilder(authInterceptor);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
MenuService provideMenuService(MenuRESTConsumer menuRESTConsumer) {
|
|
return new MenuService(menuRESTConsumer);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
UpdatesManager provideUpdatesManager(ExecutorService executorService, Handler handler, SystemRESTConsumer systemRESTConsumer) {
|
|
return new UpdatesManager(executorService, handler, systemRESTConsumer);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
DialogProgressView providesDialogProgressView() {
|
|
return DialogProgressView.newInstance();
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
DialogInputQuantityV2View providesDialogInputQuantityV2View() {
|
|
return new DialogInputQuantityV2View();
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
OrdiniRESTConsumer provideOrdiniRESTConsumer(RESTBuilder restBuilder, ExecutorService executorService, SystemRESTConsumer systemRESTConsumer, EntityRESTConsumer entityRESTConsumer) {
|
|
return new OrdiniRESTConsumer(restBuilder, executorService, systemRESTConsumer, entityRESTConsumer);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
GestSetupRESTConsumer provideGestSetupRESTConsumer(RESTBuilder restBuilder) {
|
|
return new GestSetupRESTConsumer(restBuilder);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
ArticoloRESTConsumer provideArticoloRESTConsumer(RESTBuilder restBuilder, ExecutorService executorService, SystemRESTConsumer systemRESTConsumer) {
|
|
return new ArticoloRESTConsumer(restBuilder, executorService, systemRESTConsumer);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
CommessaRESTConsumer provideCommessaRESTConsumer(ExecutorService executorService, SystemRESTConsumer systemRESTConsumer) {
|
|
return new CommessaRESTConsumer(executorService, systemRESTConsumer);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
DepositoRESTConsumer provideDepositoRESTConsumer(ExecutorService executorService, SystemRESTConsumer systemRESTConsumer) {
|
|
return new DepositoRESTConsumer(executorService, systemRESTConsumer);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
MenuRESTConsumer provideMenuRESTConsumer(RESTBuilder restBuilder) {
|
|
return new MenuRESTConsumer(restBuilder);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
MagazzinoRESTConsumer provideMagazzinoRESTConsumer(RESTBuilder restBuilder, ExecutorService executorService, SystemRESTConsumer systemRESTConsumer) {
|
|
return new MagazzinoRESTConsumer(restBuilder, executorService, systemRESTConsumer);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
MesRESTConsumer provideMesRESTConsumer(RESTBuilder restBuilder, SystemRESTConsumer systemRESTConsumer) {
|
|
return new MesRESTConsumer(restBuilder, systemRESTConsumer);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
EntityRESTConsumer provideEntityRESTConsumer(RESTBuilder restBuilder, ExecutorService executorService) {
|
|
return new EntityRESTConsumer(restBuilder, executorService);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
ColliMagazzinoRESTConsumer provideColliMagazzinoRESTConsumer(ExecutorService executorService,
|
|
RESTBuilder restBuilder,
|
|
SystemRESTConsumer systemRESTConsumer,
|
|
ArticoloRESTConsumer articoloRESTConsumer,
|
|
EntityRESTConsumer entityRESTConsumer,
|
|
SettingsManager settingsManager) {
|
|
return new ColliMagazzinoRESTConsumer(executorService, restBuilder, systemRESTConsumer, articoloRESTConsumer, entityRESTConsumer, settingsManager);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
AziendaRESTConsumer provideAziendaRESTConsumer(RESTBuilder restBuilder) {
|
|
return new AziendaRESTConsumer(restBuilder);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
ProduzioneRESTConsumer provideProduzioneRESTConsumer(RESTBuilder restBuilder) {
|
|
return new ProduzioneRESTConsumer(restBuilder);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
BarcodeRESTConsumer provideBarcodeRESTConsumer(Ean128Service ean128Service) {
|
|
return new BarcodeRESTConsumer(ean128Service);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
PrinterRESTConsumer providePrinterRESTConsumer(RESTBuilder restBuilder) {
|
|
return new PrinterRESTConsumer(restBuilder);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
SystemRESTConsumer provideSystemRESTConsumer(RESTBuilder restBuilder, ExecutorService executorService) {
|
|
return new SystemRESTConsumer(restBuilder, executorService);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
PVOrdiniAcquistoRESTConsumer providesPVOrdiniAcquistoRESTConsumer(RESTBuilder restBuilder, MagazzinoRESTConsumer magazzinoRESTConsumer) {
|
|
return new PVOrdiniAcquistoRESTConsumer(restBuilder, magazzinoRESTConsumer);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
PosizioniRESTConsumer providesPosizioniRESTConsumer(RESTBuilder restBuilder, SystemRESTConsumer systemRESTConsumer, ExecutorService executorService) {
|
|
return new PosizioniRESTConsumer(restBuilder, systemRESTConsumer, executorService);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
ProdFabbisognoLineeProdRESTConsumer providesProdFabbisognoLineeProdRESTConsumer(RESTBuilder restBuilder, SystemRESTConsumer systemRESTConsumer) {
|
|
return new ProdFabbisognoLineeProdRESTConsumer(restBuilder, systemRESTConsumer);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
DocInterniRESTConsumer provideDocInterniRESTConsumer(RESTBuilder restBuilder, MagazzinoRESTConsumer magazzinoRESTConsumer) {
|
|
return new DocInterniRESTConsumer(restBuilder, magazzinoRESTConsumer);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
GiacenzaRESTConsumer provideGiacenzaRESTConsumer(RESTBuilder restBuilder, ExecutorService executorService, ArticoloRESTConsumer articoloRESTConsumer) {
|
|
return new GiacenzaRESTConsumer(restBuilder, executorService, articoloRESTConsumer);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
GiacenzaPvRESTConsumer provideGiacenzaPvRESTConsumer(RESTBuilder restBuilder, ExecutorService executorService) {
|
|
return new GiacenzaPvRESTConsumer(restBuilder, executorService);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
ImballiRESTConsumer provideImballiRESTConsumer(RESTBuilder restBuilder, ExecutorService executorService) {
|
|
return new ImballiRESTConsumer(restBuilder, executorService);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
VettoriRESTConsumer provideVettoriRESTConsumer(RESTBuilder restBuilder, ExecutorService executorService) {
|
|
return new VettoriRESTConsumer(restBuilder, executorService);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
InventarioService provideInventarioService(GiacenzaRESTConsumer giacenzaRESTConsumer) {
|
|
return new InventarioService(giacenzaRESTConsumer);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
ProductionLinesRESTConsumer provideProductionLinesRESTConsumer(RESTBuilder restBuilder) {
|
|
return new ProductionLinesRESTConsumer(restBuilder);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
DocumentRESTConsumer provideDocumentiRESTConsumer(RESTBuilder restBuilder, ExecutorService executorService) {
|
|
return new DocumentRESTConsumer(restBuilder, executorService);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
ColliAccettazioneRESTConsumer provideColliAccettazioneRESTConsumer(RESTBuilder restBuilder) {
|
|
return new ColliAccettazioneRESTConsumer(restBuilder);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
ColliSpedizioneRESTConsumer provideColliSpedizioneRESTConsumer(RESTBuilder restBuilder, ExecutorService executorService) {
|
|
return new ColliSpedizioneRESTConsumer(restBuilder, executorService);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
ColliLavorazioneRESTConsumer provideColliLavorazioneRESTConsumer(RESTBuilder restBuilder, ExecutorService executorService, SettingsManager settingsManager) {
|
|
return new ColliLavorazioneRESTConsumer(restBuilder, executorService, settingsManager);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
MagazzinoAutomaticoRESTConsumer provideMagazzinoAutomaticoRESTConsumer(ExecutorService executorService, RESTBuilder restBuilder) {
|
|
return new MagazzinoAutomaticoRESTConsumer(executorService, restBuilder);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
MagazzinoBufferRESTConsumer provideMagazzinoBufferRESTConsumer(RESTBuilder restBuilder) {
|
|
return new MagazzinoBufferRESTConsumer(restBuilder);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
MaterialiRESTConsumer provideMaterialiRESTConsumer(RESTBuilder restBuilder, ExecutorService executorService) {
|
|
return new MaterialiRESTConsumer(restBuilder, executorService);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
SoundAlertService provideSoundAlertService() {
|
|
SoundAlertService soundAlertService = new SoundAlertService(mApplication.getApplicationContext());
|
|
soundAlertService.init();
|
|
return soundAlertService;
|
|
}
|
|
|
|
}
|