Implementato switch deposito in home page
This commit is contained in:
@@ -144,6 +144,8 @@ import it.integry.integrywmsnative.view.dialogs.scan_art.DialogScanArtComponent;
|
||||
import it.integry.integrywmsnative.view.dialogs.scan_art.DialogScanArtModule;
|
||||
import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLUComponent;
|
||||
import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLUModule;
|
||||
import it.integry.integrywmsnative.view.dialogs.switch_user_depo.DialogSwitchUserDepoComponent;
|
||||
import it.integry.integrywmsnative.view.dialogs.switch_user_depo.DialogSwitchUserDepoModule;
|
||||
import it.integry.integrywmsnative.view.dialogs.tracciamento_imballi.DialogTracciamentoImballiComponent;
|
||||
import it.integry.integrywmsnative.view.dialogs.tracciamento_imballi.DialogTracciamentoImballiModule;
|
||||
|
||||
@@ -221,7 +223,8 @@ import it.integry.integrywmsnative.view.dialogs.tracciamento_imballi.DialogTracc
|
||||
ArticoliInGiacenzaModule.class,
|
||||
DialogTracciamentoImballiModule.class,
|
||||
DialogAskVettoreModule.class,
|
||||
DialogCreateNewArtModule.class
|
||||
DialogCreateNewArtModule.class,
|
||||
DialogSwitchUserDepoModule.class
|
||||
})
|
||||
public interface MainApplicationComponent {
|
||||
|
||||
@@ -370,6 +373,8 @@ public interface MainApplicationComponent {
|
||||
|
||||
DialogCreateNewArtComponent.Factory dialogCreateNewArtComponent();
|
||||
|
||||
DialogSwitchUserDepoComponent.Factory dialogSwitchUserDepoComponent();
|
||||
|
||||
void inject(MainApplication mainApplication);
|
||||
|
||||
void inject(AppContext mainApplication);
|
||||
|
||||
@@ -88,6 +88,7 @@ public class ListaBancaliActivity extends BaseActivity implements ListaBancaliVi
|
||||
.create()
|
||||
.inject(this);
|
||||
|
||||
mViewModel.setListener(this);
|
||||
|
||||
mCanRecoverUl = DataCache.retrieveItem(getIntent().getStringExtra(Key.CanRecoverUL));
|
||||
mReportName = DataCache.retrieveItem(getIntent().getStringExtra(Key.ReportName));
|
||||
|
||||
@@ -41,6 +41,7 @@ import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
||||
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.model.AvailableCodMdepsDTO;
|
||||
import it.integry.integrywmsnative.core.rest.model.uds.CloseUDSRequestDTO;
|
||||
import it.integry.integrywmsnative.core.rest.model.uds.CloseUDSResponseDTO;
|
||||
import it.integry.integrywmsnative.core.rest.watcher.ServerStatusChecker;
|
||||
@@ -51,6 +52,7 @@ import it.integry.integrywmsnative.core.utility.UtilityResources;
|
||||
import it.integry.integrywmsnative.databinding.FragmentMainBinding;
|
||||
import it.integry.integrywmsnative.databinding.FragmentMainMenuGroupLayoutBinding;
|
||||
import it.integry.integrywmsnative.ui.ElevatedToolbar;
|
||||
import it.integry.integrywmsnative.view.dialogs.switch_user_depo.DialogSwitchUserDepoView;
|
||||
|
||||
/**
|
||||
* A simple {@link Fragment} subclass.
|
||||
@@ -153,6 +155,8 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
|
||||
initSessionData();
|
||||
|
||||
initRecuperoCollo();
|
||||
|
||||
mBindings.switchDepoButton.setVisibility(SettingsManager.iDB().getAvailableCodMdep().size() > 1 ? View.VISIBLE : View.GONE);
|
||||
}
|
||||
|
||||
private void initSessionData() {
|
||||
@@ -278,8 +282,8 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
|
||||
|
||||
private void initGestMenu() {
|
||||
int menuSpanCount = 2;
|
||||
if (UtilityDimension.getDisplayInchs(this.getActivity()) > 8) menuSpanCount = 4;
|
||||
else if (UtilityDimension.getDisplayInchs(this.getActivity()) > 6.5) menuSpanCount = 3;
|
||||
if (UtilityDimension.getDisplayInchs(this.requireActivity()) > 8) menuSpanCount = 4;
|
||||
else if (UtilityDimension.getDisplayInchs(this.requireActivity()) > 6.5) menuSpanCount = 3;
|
||||
|
||||
MenuConfiguration baseMenuConfiguration = new MenuConfiguration();
|
||||
List<MenuConfiguration.MenuGroup> menuGroups = baseMenuConfiguration.getGroups();
|
||||
@@ -319,7 +323,7 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
|
||||
|
||||
|
||||
} catch (Exception exception) {
|
||||
exception.printStackTrace();
|
||||
UtilityExceptions.defaultException(requireActivity(), exception);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -421,4 +425,14 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
|
||||
colorFadeTitleTextColor.setDuration(animationTimeMillis);
|
||||
colorFadeTitleTextColor.start();
|
||||
}
|
||||
|
||||
public void changeUserDepo() {
|
||||
DialogSwitchUserDepoView.newInstance(SettingsManager.iDB().getAvailableCodMdep(), this::onUserDepoChanged)
|
||||
.show(getParentFragmentManager(), "switch-user-depo");
|
||||
}
|
||||
|
||||
private void onUserDepoChanged(AvailableCodMdepsDTO newDepo) {
|
||||
SettingsManager.i().getUserSession().setDepo(newDepo);
|
||||
initSessionData();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
package it.integry.integrywmsnative.view.dialogs.switch_user_depo;
|
||||
|
||||
import dagger.Subcomponent;
|
||||
|
||||
@Subcomponent
|
||||
public interface DialogSwitchUserDepoComponent {
|
||||
|
||||
@Subcomponent.Factory
|
||||
interface Factory {
|
||||
DialogSwitchUserDepoComponent create();
|
||||
}
|
||||
|
||||
void inject(DialogSwitchUserDepoView dialogSwitchUserDepoView);
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package it.integry.integrywmsnative.view.dialogs.switch_user_depo;
|
||||
|
||||
import dagger.Module;
|
||||
import dagger.Provides;
|
||||
|
||||
@Module(subcomponents = DialogSwitchUserDepoComponent.class)
|
||||
public class DialogSwitchUserDepoModule {
|
||||
|
||||
@Provides
|
||||
DialogSwitchUserDepoViewModel providesDialogSwitchUserDepoViewModel() {
|
||||
return new DialogSwitchUserDepoViewModel();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,93 @@
|
||||
package it.integry.integrywmsnative.view.dialogs.switch_user_depo;
|
||||
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
import it.integry.integrywmsnative.BR;
|
||||
import it.integry.integrywmsnative.MainApplication;
|
||||
import it.integry.integrywmsnative.R;
|
||||
import it.integry.integrywmsnative.core.di.binders.recyclerview.BindingRecyclerViewAdapter;
|
||||
import it.integry.integrywmsnative.core.di.binders.recyclerview.ItemBinder;
|
||||
import it.integry.integrywmsnative.core.di.binders.recyclerview.ItemBinderBase;
|
||||
import it.integry.integrywmsnative.core.expansion.BaseDialogFragment;
|
||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||
import it.integry.integrywmsnative.core.rest.model.AvailableCodMdepsDTO;
|
||||
import it.integry.integrywmsnative.databinding.DialogSwitchUserDepoBinding;
|
||||
|
||||
public class DialogSwitchUserDepoView extends BaseDialogFragment {
|
||||
|
||||
@Inject
|
||||
DialogSwitchUserDepoViewModel mViewModel;
|
||||
|
||||
private DialogSwitchUserDepoBinding mBindings;
|
||||
private Context mContext;
|
||||
|
||||
private final List<AvailableCodMdepsDTO> availableCodMdeps;
|
||||
private final RunnableArgs<AvailableCodMdepsDTO> onComplete;
|
||||
|
||||
//Pass here all external parameters
|
||||
public static DialogSwitchUserDepoView newInstance(List<AvailableCodMdepsDTO> availableCodMdeps, RunnableArgs<AvailableCodMdepsDTO> onComplete) {
|
||||
return new DialogSwitchUserDepoView(availableCodMdeps, onComplete);
|
||||
}
|
||||
|
||||
private DialogSwitchUserDepoView(List<AvailableCodMdepsDTO> availableCodMdeps, RunnableArgs<AvailableCodMdepsDTO> onComplete) {
|
||||
super();
|
||||
|
||||
this.availableCodMdeps = availableCodMdeps;
|
||||
this.onComplete = onComplete;
|
||||
|
||||
MainApplication.appComponent
|
||||
.dialogSwitchUserDepoComponent()
|
||||
.create()
|
||||
.inject(this);
|
||||
}
|
||||
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
|
||||
this.mContext = requireContext();
|
||||
|
||||
mBindings = DialogSwitchUserDepoBinding.inflate(LayoutInflater.from(this.mContext), null, false);
|
||||
mBindings.setLifecycleOwner(this);
|
||||
|
||||
setCancelable(true);
|
||||
|
||||
var alertDialog = new MaterialAlertDialogBuilder(this.mContext)
|
||||
.setView(mBindings.getRoot())
|
||||
.setCancelable(isCancelable())
|
||||
.create();
|
||||
|
||||
alertDialog.setCanceledOnTouchOutside(isCancelable());
|
||||
alertDialog.setOnShowListener(this);
|
||||
|
||||
return alertDialog;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onInit(DialogInterface dialogInterface) {
|
||||
super.onInit(dialogInterface);
|
||||
|
||||
ItemBinder<AvailableCodMdepsDTO> itemBinder = new ItemBinderBase<>(BR.item, R.layout.dialog_switch_user_depo__list_item);
|
||||
|
||||
BindingRecyclerViewAdapter<AvailableCodMdepsDTO> adapter = new BindingRecyclerViewAdapter<>(itemBinder, availableCodMdeps);
|
||||
adapter.setClickHandler(data -> {
|
||||
onComplete.run(data);
|
||||
dismiss();
|
||||
});
|
||||
|
||||
mBindings.availableDepoList.setAdapter(adapter);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package it.integry.integrywmsnative.view.dialogs.switch_user_depo;
|
||||
|
||||
public class DialogSwitchUserDepoViewModel {
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user