Migliorie sul caricamento della lista di ordini di uscita
This commit is contained in:
parent
b8c8a9d8ea
commit
6c621d5ca8
@ -41,15 +41,15 @@ public abstract class SectionedRecyclerViewAdapter<H extends RecyclerView.ViewHo
|
||||
this.sharedPool = new RecyclerView.RecycledViewPool();
|
||||
|
||||
// Aumentiamo il pool di ViewHolder per tipo
|
||||
sharedPool.setMaxRecycledViews(TYPE_HEADER, 50);
|
||||
sharedPool.setMaxRecycledViews(TYPE_ITEM, 200);
|
||||
sharedPool.setMaxRecycledViews(TYPE_HEADER, 500);
|
||||
sharedPool.setMaxRecycledViews(TYPE_ITEM, 2000);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAttachedToRecyclerView(@NonNull RecyclerView recyclerView) {
|
||||
super.onAttachedToRecyclerView(recyclerView);
|
||||
profiler = new RecyclerViewProfiler(recyclerView);
|
||||
profiler.enableProfiling(false);
|
||||
profiler.enableProfiling(true);
|
||||
|
||||
recyclerView.setRecycledViewPool(sharedPool);
|
||||
|
||||
@ -57,20 +57,20 @@ public abstract class SectionedRecyclerViewAdapter<H extends RecyclerView.ViewHo
|
||||
if (recyclerView.getLayoutManager() instanceof LinearLayoutManager) {
|
||||
LinearLayoutManager layoutManager = (LinearLayoutManager) recyclerView.getLayoutManager();
|
||||
layoutManager.setItemPrefetchEnabled(true);
|
||||
layoutManager.setInitialPrefetchItemCount(50);
|
||||
// layoutManager.setInitialPrefetchItemCount(20);
|
||||
}
|
||||
|
||||
// recyclerView.post(() -> {
|
||||
// recyclerView.postDelayed(() -> {
|
||||
// Precarica alcuni ViewHolder
|
||||
// for (int i = 0; i < 25; i++) {
|
||||
// for (int i = 0; i < 100; i++) {
|
||||
// sharedPool.putRecycledView(
|
||||
// createViewHolder(recyclerView, TYPE_HEADER));
|
||||
// }
|
||||
// for (int i = 0; i < 50; i++) {
|
||||
// for (int i = 0; i < 100; i++) {
|
||||
// sharedPool.putRecycledView(
|
||||
// createViewHolder(recyclerView, TYPE_ITEM));
|
||||
// }
|
||||
// });
|
||||
// }, 50);
|
||||
}
|
||||
|
||||
protected static class Section {
|
||||
|
||||
@ -4,6 +4,7 @@ import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.text.Html;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
@ -69,12 +70,12 @@ import it.integry.integrywmsnative.gest.ordini_uscita_elenco.filters.FilterViagg
|
||||
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.filters.OrdiniUscitaElencoFiltroViewModel;
|
||||
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.ui.OrdiniUscitaElencoAdapter;
|
||||
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.ui.OrdiniUscitaElencoListModel;
|
||||
import it.integry.integrywmsnative.ui.filter_chips.filters.FilterCommessaLayoutView;
|
||||
import it.integry.integrywmsnative.gest.spedizione.SpedizioneActivity;
|
||||
import it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.BaseDialogRowInfoView;
|
||||
import it.integry.integrywmsnative.ui.ElevatedToolbar;
|
||||
import it.integry.integrywmsnative.ui.filter_chips.FilterChipDTO;
|
||||
import it.integry.integrywmsnative.ui.filter_chips.FilterChipView;
|
||||
import it.integry.integrywmsnative.ui.filter_chips.filters.FilterCommessaLayoutView;
|
||||
import it.integry.integrywmsnative.ui.filter_chips.filters.FilterNumeroOrdineLayoutView;
|
||||
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView;
|
||||
|
||||
@ -168,11 +169,11 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
||||
mBindings.setView(this);
|
||||
mBindings.setViewmodel(mViewModel);
|
||||
|
||||
this.initRecyclerView();
|
||||
Log.d("onCreateView", "Started");
|
||||
|
||||
this.initBarcodeReader();
|
||||
|
||||
this.initFilters();
|
||||
|
||||
Log.d("onCreateView", "Ended");
|
||||
return mBindings.getRoot();
|
||||
}
|
||||
|
||||
@ -180,37 +181,41 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
||||
public void onStart() {
|
||||
super.onStart();
|
||||
|
||||
Log.d("onStart", "Started");
|
||||
this.mViewModel.getOrderList().observe(getViewLifecycleOwner(), data -> {
|
||||
executorService.execute(() -> {
|
||||
try {
|
||||
this.onLoadingStarted();
|
||||
|
||||
this.initMtbDepoCache();
|
||||
this.initMtbGrupsCache();
|
||||
this.initJtbComtCache();
|
||||
|
||||
|
||||
handler.post(() -> {
|
||||
mAppliedFilterViewModel.init(data);
|
||||
|
||||
this.refreshList(data, null);
|
||||
});
|
||||
|
||||
this.onLoadingEnded();
|
||||
} catch (Exception e) {
|
||||
onError(e);
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
||||
this.onLoadingStarted();
|
||||
executorService.execute(() -> {
|
||||
try {
|
||||
this.initMtbDepoCache();
|
||||
|
||||
this.initRecyclerView();
|
||||
this.initFilters();
|
||||
|
||||
String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep();
|
||||
mViewModel.init(codMdep, mCurrentGestioneOrd, mCurrentGestioneCol, mCurrentSegnoCol);
|
||||
|
||||
mViewModel.init(codMdep, mCurrentGestioneOrd, mCurrentGestioneCol, mCurrentSegnoCol, () -> {
|
||||
this.onLoadingEnded();
|
||||
} catch (Exception e) {
|
||||
onError(e);
|
||||
}
|
||||
});
|
||||
|
||||
Log.d("onStart", "Ended");
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -227,14 +232,9 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
||||
|
||||
private void initRecyclerView() {
|
||||
|
||||
this.onLoadingStarted();
|
||||
|
||||
|
||||
boolean canSelectMultipleOrdini = SettingsManager.iDB().isFlagSpedizioneCanSelectMultipleOrders();
|
||||
boolean canSelectMultipleClienti = SettingsManager.iDB().isFlagMultiClienteOrdV();
|
||||
|
||||
executorService.execute(() -> {
|
||||
|
||||
|
||||
OrdiniUscitaElencoAdapter ordiniUscitaElencoAdapter =
|
||||
new OrdiniUscitaElencoAdapter(getActivity(), mOrdiniInevasiMutableData)
|
||||
@ -271,8 +271,6 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
||||
this.mBindings.venditaMainList.setItemViewCacheSize(20);
|
||||
this.mBindings.venditaMainList.setAdapter(ordiniUscitaElencoAdapter);
|
||||
|
||||
});
|
||||
this.onLoadingEnded();
|
||||
|
||||
// if (mToolbar != null)
|
||||
// mToolbar.setRecyclerView(this.mBindings.venditaMainList);
|
||||
@ -756,13 +754,11 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
||||
|
||||
var list = convertDataModelToListModel(tmpList);
|
||||
|
||||
handler.post(() -> {
|
||||
this.mOrdiniInevasiMutableData.clear();
|
||||
this.mOrdiniInevasiMutableData.addAll(list);
|
||||
|
||||
fabVisible.set(mOrdiniInevasiMutableData.stream()
|
||||
.anyMatch(y -> y.getSelectedObservable().get()));
|
||||
});
|
||||
}
|
||||
|
||||
private List<OrdiniUscitaElencoListModel> convertDataModelToListModel(List<OrdiniUscitaElencoDTO> dataList) {
|
||||
|
||||
@ -1,5 +1,9 @@
|
||||
package it.integry.integrywmsnative.gest.ordini_uscita_elenco;
|
||||
|
||||
import android.os.Handler;
|
||||
|
||||
import java.util.concurrent.ExecutorService;
|
||||
|
||||
import javax.inject.Singleton;
|
||||
|
||||
import dagger.Module;
|
||||
@ -20,8 +24,8 @@ public class OrdiniUscitaElencoModule {
|
||||
}
|
||||
|
||||
@Provides
|
||||
OrdiniUscitaElencoViewModel providesProdOrdineLavorazioneElencoViewModel(OrdiniRESTConsumer ordiniRESTConsumer, ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer, BarcodeRESTConsumer barcodeRESTConsumer, OrdiniUscitaElencoRESTConsumer ordiniUscitaElencoRESTConsumer) {
|
||||
return new OrdiniUscitaElencoViewModel(ordiniRESTConsumer, colliMagazzinoRESTConsumer, barcodeRESTConsumer, ordiniUscitaElencoRESTConsumer);
|
||||
OrdiniUscitaElencoViewModel providesProdOrdineLavorazioneElencoViewModel(Handler handler, ExecutorService executorService, OrdiniRESTConsumer ordiniRESTConsumer, ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer, BarcodeRESTConsumer barcodeRESTConsumer, OrdiniUscitaElencoRESTConsumer ordiniUscitaElencoRESTConsumer) {
|
||||
return new OrdiniUscitaElencoViewModel(handler, executorService, ordiniRESTConsumer, colliMagazzinoRESTConsumer, barcodeRESTConsumer, ordiniUscitaElencoRESTConsumer);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -9,6 +9,7 @@ import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import javax.inject.Inject;
|
||||
@ -39,6 +40,8 @@ public class OrdiniUscitaElencoViewModel {
|
||||
|
||||
private final MutableLiveData<List<OrdiniUscitaElencoDTO>> mOrderList = new MutableLiveData<>();
|
||||
|
||||
private final android.os.Handler mHandler;
|
||||
private final ExecutorService executorService;
|
||||
private final OrdiniRESTConsumer mOrdiniRESTConsumer;
|
||||
private final ColliMagazzinoRESTConsumer mColliMagazzinoRESTConsumer;
|
||||
private final BarcodeRESTConsumer mBarcodeRESTConsumer;
|
||||
@ -51,7 +54,14 @@ public class OrdiniUscitaElencoViewModel {
|
||||
private int mCurrentSegnoCol;
|
||||
|
||||
@Inject
|
||||
public OrdiniUscitaElencoViewModel(OrdiniRESTConsumer ordiniRESTConsumer, ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer, BarcodeRESTConsumer barcodeRESTConsumer, OrdiniUscitaElencoRESTConsumer ordiniUscitaElencoRESTConsumer) {
|
||||
public OrdiniUscitaElencoViewModel(android.os.Handler handler,
|
||||
ExecutorService executorService,
|
||||
OrdiniRESTConsumer ordiniRESTConsumer,
|
||||
ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer,
|
||||
BarcodeRESTConsumer barcodeRESTConsumer,
|
||||
OrdiniUscitaElencoRESTConsumer ordiniUscitaElencoRESTConsumer) {
|
||||
this.mHandler = handler;
|
||||
this.executorService = executorService;
|
||||
this.mOrdiniRESTConsumer = ordiniRESTConsumer;
|
||||
this.mColliMagazzinoRESTConsumer = colliMagazzinoRESTConsumer;
|
||||
this.mBarcodeRESTConsumer = barcodeRESTConsumer;
|
||||
@ -59,15 +69,18 @@ public class OrdiniUscitaElencoViewModel {
|
||||
}
|
||||
|
||||
|
||||
public void init(String currentCodMdep, GestioneEnum gestioneOrd, GestioneEnum gestioneCol, int segnoCol) throws Exception {
|
||||
public void init(String currentCodMdep, GestioneEnum gestioneOrd, GestioneEnum gestioneCol, int segnoCol, Runnable onComplete) {
|
||||
this.mCurrentCodMdep = currentCodMdep;
|
||||
this.mCurrentGestioneOrd = gestioneOrd;
|
||||
this.mCurrentGestioneCol = gestioneCol;
|
||||
this.mCurrentSegnoCol = segnoCol;
|
||||
|
||||
// Date loadingStartDate = new Date();
|
||||
|
||||
var ordiniLavorazione = this.mOrdiniRESTConsumer.getOrdiniInevasiSynchronized(this.mCurrentCodMdep, mCurrentGestioneOrd);
|
||||
executorService.execute(() -> {
|
||||
|
||||
List<OrdineUscitaInevasoDTO> ordiniLavorazione = null;
|
||||
try {
|
||||
ordiniLavorazione = this.mOrdiniRESTConsumer.getOrdiniInevasiSynchronized(this.mCurrentCodMdep, mCurrentGestioneOrd);
|
||||
|
||||
var orderList = ordiniLavorazione.parallelStream()
|
||||
.map(x -> {
|
||||
@ -81,15 +94,11 @@ public class OrdiniUscitaElencoViewModel {
|
||||
.collect(Collectors.toList());
|
||||
|
||||
this.mOrderList.postValue(orderList);
|
||||
|
||||
// long forcedDelaySecs = (new Date().getTime() - loadingStartDate.getTime()) / 1000;
|
||||
//
|
||||
// if (2 - forcedDelaySecs > 0) {
|
||||
// try {
|
||||
// Thread.sleep((2 - forcedDelaySecs) * 1000);
|
||||
// } catch (Exception ignored) {
|
||||
// }
|
||||
// }
|
||||
onComplete.run();
|
||||
} catch (Exception e) {
|
||||
this.sendError(e);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -9,9 +9,11 @@ import com.annimon.stream.function.Predicate;
|
||||
import org.apache.commons.lang3.time.DateUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Comparator;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import it.integry.integrywmsnative.core.model.JtbComt;
|
||||
import it.integry.integrywmsnative.core.model.MtbDepo;
|
||||
@ -44,7 +46,7 @@ public class OrdiniUscitaElencoFiltroViewModel {
|
||||
|
||||
public void init(List<OrdiniUscitaElencoDTO> initialList) {
|
||||
this.initialOrderList = initialList;
|
||||
this.currentFilteredOrderList.postValue(this.initialOrderList);
|
||||
this.currentFilteredOrderList.setValue(this.initialOrderList);
|
||||
}
|
||||
|
||||
public MutableLiveData<List<OrdiniUscitaElencoDTO>> getMutableFilteredOrderList() {
|
||||
@ -349,13 +351,12 @@ public class OrdiniUscitaElencoFiltroViewModel {
|
||||
|
||||
|
||||
public List<Integer> getAllNumOrds() {
|
||||
return Stream
|
||||
.of(Objects.requireNonNull(initialOrderList))
|
||||
return Objects.requireNonNull(initialOrderList).parallelStream()
|
||||
.filter(x -> x.getNumOrd() != null)
|
||||
.sortBy(x -> -x.getNumOrd())
|
||||
.sorted(Comparator.comparing(OrdineInevasoDTO::getNumOrd))
|
||||
.map(x -> x.getNumOrd() != null ? x.getNumOrd() : null)
|
||||
.distinct()
|
||||
.toList();
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
public List<Integer> getAvailableNumOrds() {
|
||||
|
||||
@ -34,6 +34,29 @@ public class OrdiniUscitaElencoAdapter extends ExtendedSectionedRecyclerViewNew<
|
||||
private RunnableArgs<String> mOnGroupItemClicked;
|
||||
private RunnableArgs<OrdiniUscitaElencoListModel> mOnItemChecked;
|
||||
|
||||
private final int transparentColor;
|
||||
|
||||
public OrdiniUscitaElencoAdapter(Context context, ObservableArrayList<OrdiniUscitaElencoListModel> mutableDataSet) {
|
||||
super(mutableDataSet);
|
||||
mContext = context;
|
||||
layoutInflater = LayoutInflater.from(mContext);
|
||||
transparentColor = ResourcesCompat.getColor(mContext.getResources(), android.R.color.transparent, null);
|
||||
// asyncLayoutInflater = new AsyncLayoutInflater(mContext);
|
||||
|
||||
mutableDataSet.addOnListChangedCallback(new OnListGeneralChangedCallback<OrdiniUscitaElencoListModel>() {
|
||||
@Override
|
||||
public void onChanged(ObservableList<OrdiniUscitaElencoListModel> sender) {
|
||||
|
||||
Map<String, List<OrdiniUscitaElencoListModel>> collect = sender.stream()
|
||||
.collect(Collectors.groupingBy(OrdiniUscitaElencoListModel::getGroupTitle));
|
||||
|
||||
String[] keyArray = new String[collect.keySet().size()];
|
||||
collect.keySet().toArray(keyArray);
|
||||
|
||||
setSections(Arrays.asList(keyArray), collect);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
static class SubheaderHolder extends RecyclerView.ViewHolder {
|
||||
@ -57,27 +80,6 @@ public class OrdiniUscitaElencoAdapter extends ExtendedSectionedRecyclerViewNew<
|
||||
}
|
||||
}
|
||||
|
||||
public OrdiniUscitaElencoAdapter(Context context, ObservableArrayList<OrdiniUscitaElencoListModel> mutableDataSet) {
|
||||
super(mutableDataSet);
|
||||
mContext = context;
|
||||
layoutInflater = LayoutInflater.from(mContext);
|
||||
// asyncLayoutInflater = new AsyncLayoutInflater(mContext);
|
||||
|
||||
mutableDataSet.addOnListChangedCallback(new OnListGeneralChangedCallback<OrdiniUscitaElencoListModel>() {
|
||||
@Override
|
||||
public void onChanged(ObservableList<OrdiniUscitaElencoListModel> sender) {
|
||||
|
||||
Map<String, List<OrdiniUscitaElencoListModel>> collect = sender.stream()
|
||||
.collect(Collectors.groupingBy(OrdiniUscitaElencoListModel::getGroupTitle));
|
||||
|
||||
String[] keyArray = new String[collect.keySet().size()];
|
||||
collect.keySet().toArray(keyArray);
|
||||
|
||||
setSections(Arrays.asList(keyArray), collect);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public OrdiniUscitaElencoAdapter setOnGroupItemClicked(RunnableArgs<String> onGroupItemClicked) {
|
||||
this.mOnGroupItemClicked = onGroupItemClicked;
|
||||
return this;
|
||||
@ -126,25 +128,25 @@ public class OrdiniUscitaElencoAdapter extends ExtendedSectionedRecyclerViewNew<
|
||||
if (listModel.getEtichettaColor() != null)
|
||||
holder.mBinding.emptyView.setBackgroundColor(listModel.getEtichettaColor());
|
||||
else
|
||||
holder.mBinding.emptyView.setBackgroundColor(ResourcesCompat.getColor(mContext.getResources(), android.R.color.transparent, null));
|
||||
holder.mBinding.emptyView.setBackgroundColor(transparentColor);
|
||||
|
||||
if (!UtilityString.isNullOrEmpty(listModel.getDescription())) {
|
||||
holder.mBinding.descrizione.setText(Html.fromHtml(listModel.getDescription()));
|
||||
holder.mBinding.descrizione.setText(listModel.getDescriptionSpanned());
|
||||
holder.mBinding.descrizione.setVisibility(View.VISIBLE);
|
||||
} else holder.mBinding.descrizione.setVisibility(View.GONE);
|
||||
|
||||
if (!UtilityString.isNullOrEmpty(listModel.getSubDescription())) {
|
||||
holder.mBinding.subDescrizione.setText(Html.fromHtml(listModel.getSubDescription()));
|
||||
holder.mBinding.subDescrizione.setText(listModel.getSubDescriptionSpanned());
|
||||
holder.mBinding.subDescrizione.setVisibility(View.VISIBLE);
|
||||
} else holder.mBinding.subDescrizione.setVisibility(View.GONE);
|
||||
|
||||
if (!UtilityString.isNullOrEmpty(listModel.getRightDescription())) {
|
||||
holder.mBinding.rightDescrizione.setText(Html.fromHtml(listModel.getRightDescription()));
|
||||
holder.mBinding.rightDescrizione.setText(listModel.getRightDescriptionSpanned());
|
||||
holder.mBinding.rightDescrizione.setVisibility(View.VISIBLE);
|
||||
} else holder.mBinding.rightDescrizione.setVisibility(View.GONE);
|
||||
|
||||
if (!UtilityString.isNullOrEmpty(listModel.getRightSubDescription())) {
|
||||
holder.mBinding.rightSubDescrizione.setText(Html.fromHtml(listModel.getRightSubDescription()));
|
||||
holder.mBinding.rightSubDescrizione.setText(listModel.getRightSubDescriptionSpanned());
|
||||
holder.mBinding.rightSubDescrizione.setVisibility(View.VISIBLE);
|
||||
} else holder.mBinding.rightSubDescrizione.setVisibility(View.GONE);
|
||||
|
||||
|
||||
@ -1,5 +1,8 @@
|
||||
package it.integry.integrywmsnative.gest.ordini_uscita_elenco.ui;
|
||||
|
||||
import android.text.Html;
|
||||
import android.text.Spanned;
|
||||
|
||||
import androidx.annotation.ColorInt;
|
||||
|
||||
import it.integry.integrywmsnative.core.di.BindableBoolean;
|
||||
@ -13,6 +16,11 @@ public class OrdiniUscitaElencoListModel implements Cloneable {
|
||||
private String rightDescription;
|
||||
private String rightSubDescription;
|
||||
|
||||
private Spanned descriptionSpanned;
|
||||
private Spanned subDescriptionSpanned;
|
||||
private Spanned rightDescriptionSpanned;
|
||||
private Spanned rightSubDescriptionSpanned;
|
||||
|
||||
private @ColorInt Integer etichettaColor;
|
||||
|
||||
private boolean hidden;
|
||||
@ -37,6 +45,7 @@ public class OrdiniUscitaElencoListModel implements Cloneable {
|
||||
|
||||
public OrdiniUscitaElencoListModel setDescription(String description) {
|
||||
this.description = description;
|
||||
this.descriptionSpanned = description != null ? Html.fromHtml(description) : null;
|
||||
return this;
|
||||
}
|
||||
|
||||
@ -46,6 +55,7 @@ public class OrdiniUscitaElencoListModel implements Cloneable {
|
||||
|
||||
public OrdiniUscitaElencoListModel setSubDescription(String subDescription) {
|
||||
this.subDescription = subDescription;
|
||||
this.subDescriptionSpanned = subDescription != null ? Html.fromHtml(subDescription) : null;
|
||||
return this;
|
||||
}
|
||||
|
||||
@ -55,6 +65,7 @@ public class OrdiniUscitaElencoListModel implements Cloneable {
|
||||
|
||||
public OrdiniUscitaElencoListModel setRightDescription(String rightDescription) {
|
||||
this.rightDescription = rightDescription;
|
||||
this.rightDescriptionSpanned = rightDescription != null ? Html.fromHtml(rightDescription) : null;
|
||||
return this;
|
||||
}
|
||||
|
||||
@ -64,6 +75,7 @@ public class OrdiniUscitaElencoListModel implements Cloneable {
|
||||
|
||||
public OrdiniUscitaElencoListModel setRightSubDescription(String rightSubDescription) {
|
||||
this.rightSubDescription = rightSubDescription;
|
||||
this.rightSubDescriptionSpanned = rightSubDescription != null ? Html.fromHtml(rightSubDescription) : null;
|
||||
return this;
|
||||
}
|
||||
|
||||
@ -97,4 +109,20 @@ public class OrdiniUscitaElencoListModel implements Cloneable {
|
||||
this.originalModel = originalModel;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Spanned getDescriptionSpanned() {
|
||||
return descriptionSpanned;
|
||||
}
|
||||
|
||||
public Spanned getSubDescriptionSpanned() {
|
||||
return subDescriptionSpanned;
|
||||
}
|
||||
|
||||
public Spanned getRightDescriptionSpanned() {
|
||||
return rightDescriptionSpanned;
|
||||
}
|
||||
|
||||
public Spanned getRightSubDescriptionSpanned() {
|
||||
return rightSubDescriptionSpanned;
|
||||
}
|
||||
}
|
||||
|
||||
@ -74,7 +74,12 @@ public class DialogProgressView extends DialogFragment {
|
||||
|
||||
try {
|
||||
if (!manager.isDestroyed() && !isAdded()) {
|
||||
//manager.executePendingTransactions();
|
||||
try {
|
||||
manager.executePendingTransactions();
|
||||
} catch (IllegalStateException e) {
|
||||
//ignore
|
||||
String a = "";
|
||||
}
|
||||
showNow(manager, "loading-dialog");
|
||||
|
||||
mBindings.progressBar.setIndeterminate(isIndeterminateProgress());
|
||||
@ -91,7 +96,16 @@ public class DialogProgressView extends DialogFragment {
|
||||
handler.post(() -> {
|
||||
if (isAdded()) {
|
||||
dismissAllowingStateLoss();
|
||||
if (!getParentFragmentManager().isDestroyed()) {
|
||||
try {
|
||||
getParentFragmentManager().executePendingTransactions();
|
||||
} catch (IllegalStateException e) {
|
||||
//ignore
|
||||
String a = "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user