Migliorata gestione del popToMain
This commit is contained in:
parent
7009f32878
commit
4c5e885a6c
@ -76,12 +76,6 @@
|
||||
android:resource="@xml/provider_paths" />
|
||||
</provider>
|
||||
|
||||
<activity
|
||||
android:name=".gest.picking_libero.PickingLiberoActivity"
|
||||
android:label="@string/free_picking"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/Light"
|
||||
android:windowSoftInputMode="adjustNothing" ></activity>
|
||||
</application>
|
||||
|
||||
</manifest>
|
||||
@ -26,6 +26,7 @@ import android.widget.TextView;
|
||||
import androidx.fragment.app.FragmentTransaction;
|
||||
import it.integry.integrywmsnative.core.REST.watcher.ServerStatusChecker;
|
||||
import it.integry.integrywmsnative.core.interfaces.IFilterableFragment;
|
||||
import it.integry.integrywmsnative.core.interfaces.IPoppableActivity;
|
||||
import it.integry.integrywmsnative.core.interfaces.IRecyclerFragment;
|
||||
import it.integry.integrywmsnative.core.interfaces.ISelectAllFragment;
|
||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||
@ -43,7 +44,7 @@ import it.integry.integrywmsnative.gest.vendita.MainVenditaFragment;
|
||||
import it.integry.integrywmsnative.gest.versamento_merce.VersamentoMerceFragment;
|
||||
|
||||
public class MainActivity extends AppCompatActivity
|
||||
implements NavigationView.OnNavigationItemSelectedListener {
|
||||
implements NavigationView.OnNavigationItemSelectedListener, IPoppableActivity {
|
||||
|
||||
private ActivityMainBinding mBinding;
|
||||
|
||||
@ -74,7 +75,7 @@ public class MainActivity extends AppCompatActivity
|
||||
mBinding.navView.setNavigationItemSelectedListener(this);
|
||||
mBinding.appBarMain.mainSearch.setVisibility(View.GONE);
|
||||
|
||||
popToMain();
|
||||
pop();
|
||||
|
||||
init();
|
||||
}
|
||||
@ -99,7 +100,7 @@ public class MainActivity extends AppCompatActivity
|
||||
if (count == 0) {
|
||||
super.onBackPressed();
|
||||
} else {
|
||||
getSupportFragmentManager().popBackStack();
|
||||
pop();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -131,7 +132,7 @@ public class MainActivity extends AppCompatActivity
|
||||
int id = item.getItemId();
|
||||
|
||||
if (id == R.id.nav_home) {
|
||||
this.popToMain();
|
||||
this.pop();
|
||||
} else if (id == R.id.nav_accettazione) {
|
||||
fragment = MainAccettazioneFragment.newInstance();
|
||||
this.adaptViewToFragment(fragment);
|
||||
@ -166,12 +167,14 @@ public class MainActivity extends AppCompatActivity
|
||||
return true;
|
||||
}
|
||||
|
||||
public void popToMain() {
|
||||
@Override
|
||||
public void pop() {
|
||||
MainFragment mainFragment = MainFragment.newInstance();
|
||||
|
||||
adaptViewToFragment(mainFragment);
|
||||
|
||||
changeContentFragment(mainFragment, false);
|
||||
mBinding.navView.setCheckedItem(R.id.nav_home);
|
||||
}
|
||||
|
||||
private void adaptViewToFragment(Fragment fragment){
|
||||
|
||||
@ -0,0 +1,7 @@
|
||||
package it.integry.integrywmsnative.core.interfaces;
|
||||
|
||||
public interface IPoppableActivity {
|
||||
|
||||
void pop();
|
||||
|
||||
}
|
||||
@ -1,66 +0,0 @@
|
||||
package it.integry.integrywmsnative.gest.picking_libero;
|
||||
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
import it.integry.integrywmsnative.R;
|
||||
import it.integry.integrywmsnative.core.barcode_reader.BarcodeCallbackDTO;
|
||||
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||
import it.integry.integrywmsnative.databinding.ActivityPickingLiberoBinding;
|
||||
import it.integry.integrywmsnative.gest.picking_libero.core.PickingLiberoHelper;
|
||||
import it.integry.integrywmsnative.gest.picking_libero.viewmodel.PickingLiberoViewModel;
|
||||
|
||||
import android.os.Bundle;
|
||||
|
||||
public class PickingLiberoActivity extends AppCompatActivity {
|
||||
|
||||
private ActivityPickingLiberoBinding mBindings;
|
||||
|
||||
private PickingLiberoHelper mHelper;
|
||||
private PickingLiberoViewModel mViewModel;
|
||||
|
||||
private int barcodeScannerIstanceID = -1;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
mBindings = DataBindingUtil.setContentView(this, R.layout.activity_picking_libero);
|
||||
|
||||
mHelper = new PickingLiberoHelper(this);
|
||||
/*
|
||||
mViewModel = new PickingLiberoViewModel();
|
||||
mViewModel.init(this, mBindings, mHelper, getSupportActionBar());
|
||||
|
||||
mBindings.setViewmodel(mViewModel);
|
||||
|
||||
setSupportActionBar(this.mBindings.layout.toolbar);
|
||||
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||
getSupportActionBar().setDisplayShowTitleEnabled(false);
|
||||
|
||||
barcodeScannerIstanceID = BarcodeManager.addCallback(new BarcodeCallbackDTO()
|
||||
.setOnScanSuccessfull(mViewModel.onScanSuccessfull)
|
||||
.setOnScanFailed(ex -> UtilityExceptions.defaultException(this, ex, false)));
|
||||
|
||||
|
||||
mBindings.layout.waterfallToolbar.setNestedScrollView(mBindings.layout.scrollView);
|
||||
*/
|
||||
}
|
||||
|
||||
public void setTitle(String title) {
|
||||
mBindings.layout.toolbarTitle.setText(title);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onSupportNavigateUp() {
|
||||
onBackPressed();
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
mViewModel.onBackPressed();
|
||||
|
||||
BarcodeManager.removeCallback(barcodeScannerIstanceID);
|
||||
super.onBackPressed();
|
||||
}
|
||||
}
|
||||
@ -80,4 +80,10 @@ public class PickingLiberoFragment extends Fragment implements ITitledFragment {
|
||||
return mBindings.getRoot();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDetach() {
|
||||
BarcodeManager.removeCallback(barcodeScannerIstanceID);
|
||||
super.onDetach();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -25,19 +25,14 @@ import androidx.databinding.ObservableList;
|
||||
import androidx.recyclerview.widget.DividerItemDecoration;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import it.integry.integrywmsnative.R;
|
||||
import it.integry.integrywmsnative.core.CommonConst;
|
||||
import it.integry.integrywmsnative.core.REST.consumers.ArticoloRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.REST.consumers.BarcodeRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.REST.consumers.ColliMagazzinoRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.REST.consumers.ISimpleOperationCallback;
|
||||
import it.integry.integrywmsnative.core.REST.model.Ean128Model;
|
||||
import it.integry.integrywmsnative.core.REST.model.Ean13PesoModel;
|
||||
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
||||
import it.integry.integrywmsnative.core.di.BindableBoolean;
|
||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||
import it.integry.integrywmsnative.core.interfaces.IRecyclerItemClicked;
|
||||
import it.integry.integrywmsnative.core.model.CommonModelConsts;
|
||||
import it.integry.integrywmsnative.core.model.MtbAart;
|
||||
import it.integry.integrywmsnative.core.model.MtbColr;
|
||||
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
||||
@ -46,17 +41,13 @@ import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityNumber;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityProgress;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||
import it.integry.integrywmsnative.databinding.ActivityPickingLiberoBinding;
|
||||
import it.integry.integrywmsnative.databinding.FragmentPickingLiberoBinding;
|
||||
import it.integry.integrywmsnative.gest.picking_libero.PickingLiberoActivity;
|
||||
import it.integry.integrywmsnative.gest.picking_libero.core.PickingLiberoHelper;
|
||||
import it.integry.integrywmsnative.gest.picking_libero.core.PickingLiberoListAdapter;
|
||||
import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO;
|
||||
import it.integry.integrywmsnative.ui.StatusBarAlert;
|
||||
import it.integry.integrywmsnative.view.dialogs.DialogSimpleMessageHelper;
|
||||
import it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts.DialogChooseArtsFromListaArts;
|
||||
import it.integry.integrywmsnative.view.dialogs.input_quantity.DialogInputQuantity;
|
||||
import it.integry.integrywmsnative.view.dialogs.input_quantity.QuantityDTO;
|
||||
import it.integry.plugins.barcode_base_library.model.BarcodeScanDTO;
|
||||
|
||||
public class PickingLiberoViewModel implements IRecyclerItemClicked<MtbColr> {
|
||||
|
||||
@ -32,6 +32,7 @@ import it.integry.integrywmsnative.core.REST.consumers.PrinterRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
||||
import it.integry.integrywmsnative.core.di.BindableBoolean;
|
||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||
import it.integry.integrywmsnative.core.interfaces.IPoppableActivity;
|
||||
import it.integry.integrywmsnative.core.interfaces.IRecyclerItemClicked;
|
||||
import it.integry.integrywmsnative.core.model.CommonModelConsts;
|
||||
import it.integry.integrywmsnative.core.model.MtbAart;
|
||||
@ -379,7 +380,7 @@ public class RettificaGiacenzeViewModel implements IRecyclerItemClicked<MtbColr>
|
||||
public void openLU() {
|
||||
DialogScanOrCreateLU.make(mContext, mtbColt -> {
|
||||
if(mtbColt == null) {
|
||||
((MainActivity)mContext).popToMain();
|
||||
((IPoppableActivity)mContext).pop();
|
||||
} else {
|
||||
setMtbColt(mtbColt);
|
||||
}
|
||||
|
||||
@ -39,7 +39,6 @@ import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityToast;
|
||||
import it.integry.integrywmsnative.databinding.FragmentMainVenditaBinding;
|
||||
import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
|
||||
import it.integry.integrywmsnative.gest.picking_libero.PickingLiberoActivity;
|
||||
import it.integry.integrywmsnative.gest.vendita.core.MainListVenditaAdapter;
|
||||
import it.integry.integrywmsnative.gest.vendita.core.VenditaHelper;
|
||||
import it.integry.integrywmsnative.gest.vendita.dialogs.DialogVenditaFiltroAvanzato;
|
||||
|
||||
@ -10,9 +10,11 @@ import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import it.integry.integrywmsnative.MainActivity;
|
||||
import it.integry.integrywmsnative.R;
|
||||
import it.integry.integrywmsnative.core.barcode_reader.BarcodeCallbackDTO;
|
||||
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
||||
import it.integry.integrywmsnative.core.interfaces.IPoppableActivity;
|
||||
import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||
import it.integry.integrywmsnative.databinding.FragmentMainVersamentoMerceBinding;
|
||||
@ -69,7 +71,9 @@ public class VersamentoMerceFragment extends Fragment implements ITitledFragment
|
||||
|
||||
private void init() {
|
||||
mHelper = new VersamentoMerceHelper(getActivity());
|
||||
mVersamentoMerceViewModel.init(getActivity(), mBinding, mHelper);
|
||||
mVersamentoMerceViewModel.init(getActivity(), mBinding, mHelper, () -> {
|
||||
((IPoppableActivity) getActivity()).pop();
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
@ -23,6 +23,7 @@ import it.integry.integrywmsnative.core.REST.consumers.ColliMagazzinoRESTConsume
|
||||
import it.integry.integrywmsnative.core.REST.consumers.PosizioneRESTonsumer;
|
||||
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||
import it.integry.integrywmsnative.core.interfaces.IPoppableActivity;
|
||||
import it.integry.integrywmsnative.core.model.CommonModelConsts;
|
||||
import it.integry.integrywmsnative.core.model.MtbColr;
|
||||
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||
@ -53,16 +54,20 @@ public class VersamentoMerceViewModel {
|
||||
|
||||
public ObservableField<MtbColt> mtbColt = new ObservableField<>();
|
||||
|
||||
public void init(Activity context, FragmentMainVersamentoMerceBinding binding, VersamentoMerceHelper helper) {
|
||||
|
||||
private Runnable mOnVersamentoCompleted;
|
||||
|
||||
public void init(Activity context, FragmentMainVersamentoMerceBinding binding, VersamentoMerceHelper helper, Runnable onVersamentoCompleted) {
|
||||
mContext = context;
|
||||
mBinding = binding;
|
||||
mHelper = helper;
|
||||
mOnVersamentoCompleted = onVersamentoCompleted;
|
||||
}
|
||||
|
||||
public void openLU() {
|
||||
DialogScanOrCreateLU.make(mContext, true, mtbColt -> {
|
||||
if(mtbColt == null) {
|
||||
((MainActivity)mContext).popToMain();
|
||||
((IPoppableActivity)mContext).pop();
|
||||
} else if((mtbColt.getGestioneEnum() == GestioneEnum.ACQUISTO || mtbColt.getGestioneEnum() == GestioneEnum.LAVORAZIONE) && mtbColt.getSegno().equals(+1)){
|
||||
setMtbColt(mtbColt);
|
||||
} else {
|
||||
@ -227,7 +232,7 @@ public class VersamentoMerceViewModel {
|
||||
progressDialog.dismiss();
|
||||
BarcodeManager.enable();
|
||||
|
||||
showDataSavedDialog();
|
||||
showDataSavedDialog(mOnVersamentoCompleted);
|
||||
}, ex -> {
|
||||
UtilityExceptions.defaultException(mContext, ex, progressDialog);
|
||||
BarcodeManager.enable();
|
||||
@ -361,7 +366,9 @@ public class VersamentoMerceViewModel {
|
||||
|
||||
|
||||
ColliMagazzinoRESTConsumer.saveCollo(mtbColt, value -> {
|
||||
showDataSavedDialog();
|
||||
showDataSavedDialog(() -> {
|
||||
mOnVersamentoCompleted.run();
|
||||
});
|
||||
}, ex -> {
|
||||
UtilityExceptions.defaultException(mContext, ex);
|
||||
});
|
||||
@ -369,14 +376,15 @@ public class VersamentoMerceViewModel {
|
||||
}
|
||||
|
||||
|
||||
private void showDataSavedDialog() {
|
||||
private void showDataSavedDialog(Runnable onComplete) {
|
||||
|
||||
DialogSimpleMessageHelper.makeSuccessDialog(
|
||||
mContext,
|
||||
mContext.getResources().getString(R.string.completed),
|
||||
new SpannableString(mContext.getResources().getString(R.string.data_saved)),
|
||||
null, () -> {
|
||||
resetMtbColt();
|
||||
onComplete.run();
|
||||
//resetMtbColt();
|
||||
}).show();
|
||||
|
||||
}
|
||||
|
||||
@ -8,6 +8,7 @@ import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.recyclerview.widget.DividerItemDecoration;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -48,6 +49,7 @@ public class DialogChooseArtsFromListaArts {
|
||||
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
|
||||
DialogChooseArtsFromListaArtsLayoutBinding binding = DataBindingUtil.inflate(inflater, R.layout.dialog_choose_arts_from_lista_arts_layout, null, false);
|
||||
|
||||
binding.emptyView.setVisibility(listaMtbColr != null && listaMtbColr.size() > 0 ? View.GONE : View.VISIBLE);
|
||||
|
||||
final AlertDialog.Builder alertDialog = new AlertDialog.Builder(context)
|
||||
.setView(binding.getRoot())
|
||||
|
||||
@ -1,8 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout xmlns:tools="http://schemas.android.com/tools"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:fab="http://schemas.android.com/apk/res-auto">
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<data>
|
||||
|
||||
<import type="android.view.View"/>
|
||||
@ -15,15 +14,42 @@
|
||||
|
||||
</data>
|
||||
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<it.integry.plugins.waterfalltoolbar.WaterfallToolbar
|
||||
android:id="@+id/waterfall_toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<androidx.appcompat.widget.Toolbar
|
||||
android:id="@+id/toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?actionBarSize"
|
||||
android:gravity="center_horizontal"
|
||||
app:popupTheme="@style/AppTheme.PopupOverlay">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/toolbar_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
tools:text="Picking Libero"
|
||||
style="@style/TextAppearance.AppCompat.Widget.ActionBar.Title"
|
||||
android:layout_gravity="center" />
|
||||
|
||||
</androidx.appcompat.widget.Toolbar>
|
||||
|
||||
</it.integry.plugins.waterfalltoolbar.WaterfallToolbar>
|
||||
|
||||
<fragment
|
||||
android:id="@+id/top_fragment"
|
||||
android:name="it.integry.integrywmsnative.gest.picking_libero.PickingLiberoFragment"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" />
|
||||
|
||||
|
||||
<include
|
||||
android:id="@+id/layout"
|
||||
layout="@layout/fragment_picking_libero" />
|
||||
|
||||
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
</LinearLayout>
|
||||
|
||||
</layout>
|
||||
@ -2,6 +2,10 @@
|
||||
<layout xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
|
||||
<data>
|
||||
|
||||
</data>
|
||||
|
||||
|
||||
<androidx.cardview.widget.CardView
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
@ -24,11 +28,37 @@
|
||||
android:layout_marginBottom="12dp"/>
|
||||
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/dialog_choose_arts_from_lista_art__main_list"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" />
|
||||
<RelativeLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/empty_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:gravity="center"
|
||||
android:padding="16dp"
|
||||
android:layout_marginTop="16dp"
|
||||
android:layout_marginBottom="16dp">
|
||||
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/no_item_to_pick_text"
|
||||
android:textSize="20sp"
|
||||
android:gravity="center"
|
||||
android:textColor="@color/empty_view_gray"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/dialog_choose_arts_from_lista_art__main_list"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
</LinearLayout>
|
||||
</androidx.cardview.widget.CardView>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user