[REFACT] Refactoring del menu prncipale dell'app. Ora è configurabile dinamicamente.
This commit is contained in:
@@ -5,6 +5,8 @@ import android.content.Context;
|
||||
import android.content.Intent;
|
||||
|
||||
import androidx.annotation.IdRes;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.core.content.res.ResourcesCompat;
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
|
||||
import android.content.IntentFilter;
|
||||
@@ -18,6 +20,7 @@ import androidx.appcompat.app.ActionBarDrawerToggle;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.appcompat.widget.SearchView;
|
||||
|
||||
import android.provider.Settings;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
@@ -25,8 +28,14 @@ import android.view.View;
|
||||
|
||||
import androidx.fragment.app.FragmentTransaction;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.honeywellscannerlibrary.HoneyWellBarcodeReader;
|
||||
import it.integry.integrywmsnative.core.REST.watcher.ServerStatusChecker;
|
||||
import it.integry.integrywmsnative.core.class_router.BaseCustomConfiguration;
|
||||
import it.integry.integrywmsnative.core.class_router.ClassRouter;
|
||||
import it.integry.integrywmsnative.core.class_router.configs.MenuConfiguration;
|
||||
import it.integry.integrywmsnative.core.class_router.interfaces.ICustomConfiguration;
|
||||
import it.integry.integrywmsnative.core.interfaces.IFilterableFragment;
|
||||
import it.integry.integrywmsnative.core.interfaces.IPoppableActivity;
|
||||
import it.integry.integrywmsnative.core.interfaces.IScrollableFragment;
|
||||
@@ -307,4 +316,5 @@ public class MainActivity extends AppCompatActivity
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -5,25 +5,27 @@ import android.content.pm.PackageInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.os.Bundle;
|
||||
import android.text.SpannableString;
|
||||
import android.view.LayoutInflater;
|
||||
import android.widget.TextView;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
|
||||
import it.integry.integrywmsnative.core.context.MainContext;
|
||||
import it.integry.integrywmsnative.core.expansion.RunnableArgsss;
|
||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||
import it.integry.integrywmsnative.core.utility.PermissionsHelper;
|
||||
import it.integry.integrywmsnative.databinding.ActivitySplashBinding;
|
||||
import it.integry.integrywmsnative.gest.login.LoginActivity;
|
||||
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
|
||||
|
||||
public class SplashActivity extends AppCompatActivity {
|
||||
|
||||
@BindView(R.id.app_version_textview)
|
||||
TextView appVersionTextView;
|
||||
|
||||
private ActivitySplashBinding mBinding;
|
||||
|
||||
private MainContext mainContext = new MainContext(this);
|
||||
|
||||
@@ -32,9 +34,9 @@ public class SplashActivity extends AppCompatActivity {
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_splash);
|
||||
|
||||
ButterKnife.bind(this);
|
||||
mBinding = DataBindingUtil.inflate(LayoutInflater.from(this), R.layout.activity_splash, null, false);
|
||||
setContentView(mBinding.getRoot());
|
||||
|
||||
initAppVersion();
|
||||
|
||||
@@ -66,7 +68,7 @@ public class SplashActivity extends AppCompatActivity {
|
||||
|
||||
if(BuildConfig.DEBUG) debugText += "\n[DEBUG VERSION]";
|
||||
|
||||
appVersionTextView.setText("v" + version + debugText);
|
||||
mBinding.appVersionTextview.setText("v" + version + debugText);
|
||||
} catch (PackageManager.NameNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package it.integry.integrywmsnative.core.class_router;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import it.integry.integrywmsnative.core.class_router.configs.MenuConfiguration;
|
||||
import it.integry.integrywmsnative.core.class_router.interfaces.ICustomConfiguration;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityHashMap;
|
||||
|
||||
@@ -9,10 +10,12 @@ public class BaseCustomConfiguration implements ICustomConfiguration {
|
||||
|
||||
|
||||
public static class Keys {
|
||||
public static int FLAG_SHOW_COD_FORN_IN_SPEDIZIONE = 0;
|
||||
public static int MENU_CONFIGURATION = 0;
|
||||
public static int FLAG_SHOW_COD_FORN_IN_SPEDIZIONE = 1;
|
||||
}
|
||||
|
||||
protected HashMap<Integer, Object> configurations = new HashMap<Integer, Object>() {{
|
||||
put(Keys.MENU_CONFIGURATION, new MenuConfiguration());
|
||||
put(Keys.FLAG_SHOW_COD_FORN_IN_SPEDIZIONE, true);
|
||||
}};
|
||||
|
||||
|
||||
@@ -0,0 +1,164 @@
|
||||
package it.integry.integrywmsnative.core.class_router.configs;
|
||||
|
||||
import androidx.annotation.DrawableRes;
|
||||
import androidx.annotation.IdRes;
|
||||
import androidx.annotation.StringRes;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.integrywmsnative.R;
|
||||
|
||||
public class MenuConfiguration {
|
||||
|
||||
|
||||
// public static class IDS {
|
||||
//
|
||||
// public static class General {
|
||||
//
|
||||
// public static int Accettazione = 1001;
|
||||
// public static int Spedizione = 1002;
|
||||
// public static int RettificaGiacenze = 1003;
|
||||
// public static int Versamento = 1004;
|
||||
// public static int PickingLibero = 1005;
|
||||
// public static int UltimeConsegne = 1006;
|
||||
// }
|
||||
//
|
||||
// public static class Production {
|
||||
// public static int Lavorazione = 2001;
|
||||
// public static int Produzione = 2002;
|
||||
// public static int VersamentoMateriale = 2003;
|
||||
// public static int RecuperoMateriale = 2004;
|
||||
// }
|
||||
//
|
||||
// }
|
||||
|
||||
|
||||
private List<MenuGroup> groups = new ArrayList<>();
|
||||
|
||||
public MenuConfiguration() {
|
||||
|
||||
this
|
||||
.addGroup(
|
||||
new MenuGroup()
|
||||
.setGroupText(R.string.general)
|
||||
|
||||
.addItem(new MenuItem()
|
||||
.setID(R.id.nav_accettazione)
|
||||
.setTitleText(R.string.accettazione_title_fragment)
|
||||
.setTitleIcon(R.drawable.ic_dashboard_accettazione))
|
||||
|
||||
.addItem(new MenuItem()
|
||||
.setID(R.id.nav_spedizione)
|
||||
.setTitleText(R.string.vendita_title_fragment)
|
||||
.setTitleIcon(R.drawable.ic_dashboard_spedizione))
|
||||
|
||||
.addItem(new MenuItem()
|
||||
.setID(R.id.nav_rettifica_giacenze)
|
||||
.setTitleText(R.string.rettifica_giacenze_fragment_title)
|
||||
.setTitleIcon(R.drawable.ic_dashboard_rettifica_giacenze))
|
||||
|
||||
.addItem(new MenuItem()
|
||||
.setID(R.id.nav_versamento_merce)
|
||||
.setTitleText(R.string.versamento_merce_fragment_title)
|
||||
.setTitleIcon(R.drawable.ic_dashboard_versamento_merce))
|
||||
|
||||
.addItem(new MenuItem()
|
||||
.setID(R.id.nav_free_picking)
|
||||
.setTitleText(R.string.free_picking)
|
||||
.setTitleIcon(R.drawable.ic_dashboard_picking_libero))
|
||||
|
||||
.addItem(new MenuItem()
|
||||
.setID(R.id.nav_resi_cliente)
|
||||
.setTitleText(R.string.fragment_ultime_consegne_cliente_title)
|
||||
.setTitleIcon(R.drawable.ic_latest_delivery))
|
||||
)
|
||||
.addGroup(
|
||||
new MenuGroup()
|
||||
.setGroupText(R.string.production)
|
||||
|
||||
.addItem(new MenuItem()
|
||||
.setID(R.id.nav_prod_versamento_materiale)
|
||||
.setTitleText(R.string.prod_versamento_materiale_title_fragment)
|
||||
.setTitleIcon(R.drawable.ic_dashboard_prod_versamento_materiale))
|
||||
|
||||
.addItem(new MenuItem()
|
||||
.setID(R.id.nav_prod_recupero_materiale)
|
||||
.setTitleText(R.string.prod_recupero_materiale_title_fragment)
|
||||
.setTitleIcon(R.drawable.ic_dashboard_prod_recupero_materiale))
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public MenuConfiguration addGroup(MenuGroup menuGroup) {
|
||||
this.groups.add(menuGroup);
|
||||
return this;
|
||||
}
|
||||
|
||||
public List<MenuGroup> getGroups() {
|
||||
return groups;
|
||||
}
|
||||
|
||||
|
||||
public static class MenuGroup {
|
||||
@StringRes private int mGroupText;
|
||||
|
||||
private List<MenuItem> mItems = new ArrayList<>();
|
||||
|
||||
public int getGroupText() {
|
||||
return mGroupText;
|
||||
}
|
||||
|
||||
public MenuGroup setGroupText(@StringRes int groupText) {
|
||||
mGroupText = groupText;
|
||||
return this;
|
||||
}
|
||||
|
||||
public List<MenuItem> getItems() {
|
||||
return mItems;
|
||||
}
|
||||
|
||||
public MenuGroup addItem(MenuItem item) {
|
||||
this.mItems.add(item);
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
public static class MenuItem {
|
||||
@IdRes private int mID;
|
||||
@StringRes private int mTitleText;
|
||||
@DrawableRes private int mTitleIcon;
|
||||
|
||||
public int getID() {
|
||||
return mID;
|
||||
}
|
||||
|
||||
public MenuItem setID(@IdRes int ID) {
|
||||
this.mID = ID;
|
||||
return this;
|
||||
}
|
||||
|
||||
public int getTitleText() {
|
||||
return mTitleText;
|
||||
}
|
||||
|
||||
public MenuItem setTitleText(@StringRes int titleText) {
|
||||
mTitleText = titleText;
|
||||
return this;
|
||||
}
|
||||
|
||||
public int getTitleIcon() {
|
||||
return mTitleIcon;
|
||||
}
|
||||
|
||||
public MenuItem setTitleIcon(@DrawableRes int titleIcon) {
|
||||
mTitleIcon = titleIcon;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -25,8 +25,6 @@ import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
|
||||
import butterknife.ButterKnife;
|
||||
import butterknife.OnClick;
|
||||
import it.integry.integrywmsnative.R;
|
||||
import it.integry.integrywmsnative.core.CommonConst;
|
||||
import it.integry.integrywmsnative.core.REST.CommonRESTException;
|
||||
@@ -107,7 +105,9 @@ public class MainAccettazioneFragment extends Fragment implements ISearcableFrag
|
||||
mBinding.accettazioneMainList.setLayoutManager(new LinearLayoutManager(getActivity()));
|
||||
mBinding.accettazioneMainFab.hide();
|
||||
|
||||
ButterKnife.bind(this, mBinding.getRoot());
|
||||
mBinding.accettazioneMainFab.setOnClickListener(v -> {
|
||||
this.onAccettazioneMainFabClick();
|
||||
});
|
||||
|
||||
mToolbar.setRecyclerView(mBinding.accettazioneMainList);
|
||||
|
||||
@@ -245,8 +245,7 @@ public class MainAccettazioneFragment extends Fragment implements ISearcableFrag
|
||||
mBinding.accettazioneMainList.setAdapter(mAdapter);
|
||||
}
|
||||
|
||||
@OnClick(R.id.accettazione_main_fab)
|
||||
public void onClick(View view) {
|
||||
public void onAccettazioneMainFabClick() {
|
||||
|
||||
List<OrdineAccettazioneGroupedInevasoDTO> selectedOrders = helper.getSelectedOrders(groupedOrdiniInevasi);
|
||||
List<String> barcodes = new ArrayList<>();
|
||||
|
||||
@@ -8,9 +8,13 @@ import androidx.appcompat.app.ActionBar;
|
||||
import androidx.appcompat.widget.AppCompatTextView;
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.GridLayout;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
@@ -21,15 +25,15 @@ import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
import butterknife.OnClick;
|
||||
import de.hdodenhof.circleimageview.CircleImageView;
|
||||
import it.integry.integrywmsnative.MainActivity;
|
||||
import it.integry.integrywmsnative.R;
|
||||
import it.integry.integrywmsnative.core.REST.consumers.ColliMagazzinoRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.REST.model.DistribuzioneColloDTO;
|
||||
import it.integry.integrywmsnative.core.REST.watcher.ServerStatusChecker;
|
||||
import it.integry.integrywmsnative.core.class_router.BaseCustomConfiguration;
|
||||
import it.integry.integrywmsnative.core.class_router.ClassRouter;
|
||||
import it.integry.integrywmsnative.core.class_router.configs.MenuConfiguration;
|
||||
import it.integry.integrywmsnative.core.class_router.interfaces.ICustomConfiguration;
|
||||
import it.integry.integrywmsnative.core.data_recover.ColliDataRecover;
|
||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||
import it.integry.integrywmsnative.core.interfaces.IScrollableFragment;
|
||||
@@ -40,6 +44,8 @@ import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||
import it.integry.integrywmsnative.databinding.FragmentMainBinding;
|
||||
import it.integry.integrywmsnative.databinding.FragmentMainMenuGroupLayoutBinding;
|
||||
import it.integry.integrywmsnative.databinding.FragmentMainMenuItemLayoutBinding;
|
||||
import it.integry.integrywmsnative.ui.ElevatedToolbar;
|
||||
|
||||
/**
|
||||
@@ -54,6 +60,8 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
|
||||
private Runnable mOnPreDestroy;
|
||||
private ElevatedToolbar mToolbar;
|
||||
|
||||
private LayoutInflater mLayoutInflater;
|
||||
|
||||
public MainFragment() {
|
||||
}
|
||||
|
||||
@@ -73,14 +81,15 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||
Bundle savedInstanceState) {
|
||||
this.mLayoutInflater = inflater;
|
||||
|
||||
mBindings = DataBindingUtil.inflate(inflater, R.layout.fragment_main, container, false);
|
||||
|
||||
ButterKnife.bind(this, mBindings.getRoot());
|
||||
|
||||
mToolbar.setNestedScrollView(mBindings.fragmentMainScrollview);
|
||||
|
||||
init();
|
||||
initGestMenu();
|
||||
|
||||
return mBindings.getRoot();
|
||||
}
|
||||
|
||||
@@ -192,48 +201,6 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
|
||||
titleText.setText(context.getText(R.string.app_name).toString());
|
||||
}
|
||||
|
||||
@OnClick(R.id.fast_button_accettazione)
|
||||
public void onClickAccettazione(View view) {
|
||||
((MainActivity) getActivity()).setItem(R.id.nav_accettazione);
|
||||
}
|
||||
|
||||
@OnClick(R.id.fast_button_spedizione)
|
||||
public void onClickSpedizione(View view) {
|
||||
((MainActivity) getActivity()).setItem(R.id.nav_spedizione);
|
||||
}
|
||||
|
||||
@OnClick(R.id.fast_button_rettifica_giacenze)
|
||||
public void onClickRettificaGiacenze(View view) {
|
||||
((MainActivity) getActivity()).setItem(R.id.nav_rettifica_giacenze);
|
||||
}
|
||||
|
||||
@OnClick(R.id.fast_button_versamento)
|
||||
public void onClickVersamento(View view) {
|
||||
((MainActivity) getActivity()).setItem(R.id.nav_versamento_merce);
|
||||
}
|
||||
|
||||
@OnClick(R.id.fast_button_picking_libero)
|
||||
public void onClickPickingLibero(View view) {
|
||||
((MainActivity) getActivity()).setItem(R.id.nav_free_picking);
|
||||
}
|
||||
|
||||
@OnClick(R.id.fast_button_resi_clienti)
|
||||
public void onClickResiClientio(View view) {
|
||||
((MainActivity) getActivity()).setItem(R.id.nav_resi_cliente);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// @OnClick(R.id.fast_button_prod_versamento_materiale)
|
||||
// public void onClickProdVersamentoMateriale(View view) {
|
||||
// ((MainActivity) getActivity()).setItem(R.id.nav_prod_versamento_materiale);
|
||||
// }
|
||||
//
|
||||
// @OnClick(R.id.fast_button_prod_recupero_materiale)
|
||||
// public void onClickProdRecuperoMateriale(View view) {
|
||||
// ((MainActivity) getActivity()).setItem(R.id.nav_prod_recupero_materiale);
|
||||
// }
|
||||
|
||||
@Override
|
||||
public void setScrollToolbar(ElevatedToolbar toolbar) {
|
||||
mToolbar = toolbar;
|
||||
@@ -243,4 +210,51 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
|
||||
public void setOnPreDestroy(Runnable onPreDestroy) {
|
||||
mOnPreDestroy = onPreDestroy;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private void initGestMenu() {
|
||||
ICustomConfiguration customConfiguration = ClassRouter.getIstance(ClassRouter.PATH.CUSTOM_CONFIGURATION);
|
||||
|
||||
MenuConfiguration menuConfiguration = customConfiguration.getConfig(BaseCustomConfiguration.Keys.MENU_CONFIGURATION);
|
||||
|
||||
List<MenuConfiguration.MenuGroup> menuGroups = menuConfiguration.getGroups();
|
||||
|
||||
|
||||
|
||||
for(MenuConfiguration.MenuGroup menuGroup : menuGroups) {
|
||||
|
||||
|
||||
FragmentMainMenuGroupLayoutBinding groupBinding = DataBindingUtil.inflate(mLayoutInflater, R.layout.fragment_main_menu_group_layout, null, false);
|
||||
|
||||
String title = this.getResources().getString(menuGroup.getGroupText());
|
||||
groupBinding.generalDashboardGroupTitle.setText(title);
|
||||
|
||||
MenuListAdapter menuListAdapter = new MenuListAdapter(getContext(), menuGroup.getItems());
|
||||
|
||||
groupBinding.mainList.setLayoutManager(new GridLayoutManager(getContext(), 2));
|
||||
groupBinding.mainList.setAdapter(menuListAdapter);
|
||||
groupBinding.mainList.setNestedScrollingEnabled(false);
|
||||
|
||||
menuListAdapter.setClickListener((view, position) -> {
|
||||
onMenuClick(menuGroup.getItems().get(position));
|
||||
});
|
||||
|
||||
mBindings.menuContainer.addView(groupBinding.getRoot());
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void onMenuClick(MenuConfiguration.MenuItem menuItem) {
|
||||
((MainActivity) getActivity()).setItem(menuItem.getID());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,84 @@
|
||||
package it.integry.integrywmsnative.gest.main;
|
||||
|
||||
import android.content.Context;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.integrywmsnative.R;
|
||||
import it.integry.integrywmsnative.core.class_router.configs.MenuConfiguration;
|
||||
|
||||
public class MenuListAdapter extends RecyclerView.Adapter<MenuListAdapter.ViewHolder> {
|
||||
|
||||
private Context mContext;
|
||||
|
||||
private List<MenuConfiguration.MenuItem> mDataset;
|
||||
private LayoutInflater mInflater;
|
||||
private ItemClickListener mClickListener;
|
||||
|
||||
// data is passed into the constructor
|
||||
MenuListAdapter(Context context, List<MenuConfiguration.MenuItem> data) {
|
||||
this.mContext = context;
|
||||
this.mInflater = LayoutInflater.from(context);
|
||||
this.mDataset = data;
|
||||
}
|
||||
|
||||
// inflates the cell layout from xml when needed
|
||||
@Override
|
||||
@NonNull
|
||||
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||
View view = mInflater.inflate(R.layout.fragment_main_menu_item_layout, parent, false);
|
||||
return new ViewHolder(view);
|
||||
}
|
||||
|
||||
// binds the data to the TextView in each cell
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
|
||||
holder.mIcon.setImageDrawable(mContext.getResources().getDrawable(mDataset.get(position).getTitleIcon(), null));
|
||||
holder.mTitle.setText(mContext.getResources().getString(mDataset.get(position).getTitleText()));
|
||||
}
|
||||
|
||||
// total number of cells
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return mDataset.size();
|
||||
}
|
||||
|
||||
|
||||
// stores and recycles views as they are scrolled off screen
|
||||
public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
|
||||
private TextView mTitle;
|
||||
private ImageView mIcon;
|
||||
|
||||
ViewHolder(View itemView) {
|
||||
super(itemView);
|
||||
mTitle = itemView.findViewById(R.id.menu_title);
|
||||
mIcon = itemView.findViewById(R.id.menu_icon);
|
||||
itemView.setOnClickListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
if (mClickListener != null) mClickListener.onItemClick(view, getAdapterPosition());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// allows clicks events to be caught
|
||||
void setClickListener(ItemClickListener itemClickListener) {
|
||||
this.mClickListener = itemClickListener;
|
||||
}
|
||||
|
||||
// parent activity will implement this method to respond to click events
|
||||
public interface ItemClickListener {
|
||||
void onItemClick(View view, int position);
|
||||
}
|
||||
}
|
||||
@@ -12,7 +12,6 @@ import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import androidx.preference.PreferenceFragmentCompat;
|
||||
import butterknife.ButterKnife;
|
||||
import it.integry.integrywmsnative.R;
|
||||
import it.integry.integrywmsnative.databinding.FragmentMainSettingsBinding;
|
||||
import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
|
||||
|
||||
@@ -23,8 +23,6 @@ import com.annimon.stream.Stream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import butterknife.ButterKnife;
|
||||
import butterknife.OnClick;
|
||||
import it.integry.integrywmsnative.R;
|
||||
import it.integry.integrywmsnative.core.REST.CommonRESTException;
|
||||
import it.integry.integrywmsnative.core.barcode_reader.BarcodeCallbackDTO;
|
||||
@@ -117,7 +115,7 @@ public class MainVenditaFragment extends Fragment implements ITitledFragment, IS
|
||||
mBinding.venditaMainList.setLayoutManager(new LinearLayoutManager(getActivity()));
|
||||
mBinding.venditaMainFab.hide();
|
||||
|
||||
ButterKnife.bind(this, mBinding.getRoot());
|
||||
mBinding.venditaMainFab.setOnClickListener(v -> onVenditaMainFabClick());
|
||||
|
||||
if(mToolbar != null) mToolbar.setRecyclerView(mBinding.venditaMainList);
|
||||
|
||||
@@ -312,8 +310,7 @@ public class MainVenditaFragment extends Fragment implements ITitledFragment, IS
|
||||
};
|
||||
|
||||
|
||||
@OnClick(R.id.vendita_main_fab)
|
||||
public void onClick(View view) {
|
||||
public void onVenditaMainFabClick() {
|
||||
|
||||
List<OrdineVenditaInevasoDTO> selectedOrders = mHelper.getSelectedOrders(mOriginalOrderList);
|
||||
List<String> barcodes = new ArrayList<>();
|
||||
|
||||
@@ -9,8 +9,6 @@ import androidx.appcompat.widget.Toolbar;
|
||||
import android.view.View;
|
||||
import android.widget.RelativeLayout;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
import it.integry.integrywmsnative.R;
|
||||
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||
import it.integry.integrywmsnative.databinding.FragmentArticoliInColloBottomSheetBinding;
|
||||
@@ -21,11 +19,6 @@ public class ArticoliInColloBottomSheetHelper extends BottomSheetBehavior.Bottom
|
||||
private AppCompatActivity mActivity;
|
||||
private FragmentArticoliInColloBottomSheetBinding mBinding;
|
||||
|
||||
|
||||
@BindView(R.id.appbar_bottom_sheet) AppBarLayout appBarLayoutBottomSheet;
|
||||
@BindView(R.id.toolbar_bottom_sheet) Toolbar toolbarBottomSheet;
|
||||
|
||||
@BindView(R.id.tap_action_layout) RelativeLayout tapActionLayout;
|
||||
private BottomSheetBehavior mBottomSheetBehavior;
|
||||
|
||||
|
||||
@@ -33,22 +26,20 @@ public class ArticoliInColloBottomSheetHelper extends BottomSheetBehavior.Bottom
|
||||
mActivity = context;
|
||||
mBinding = binding;
|
||||
|
||||
ButterKnife.bind(this, mBinding.getRoot());
|
||||
|
||||
mBottomSheetBehavior = BottomSheetBehavior.from(mBinding.getRoot());
|
||||
mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
|
||||
mBottomSheetBehavior.setBottomSheetCallback(this);
|
||||
|
||||
appBarLayoutBottomSheet.setVisibility(View.INVISIBLE);
|
||||
mBinding.appbarBottomSheet.setVisibility(View.INVISIBLE);
|
||||
|
||||
toolbarBottomSheet.setNavigationIcon(R.drawable.ic_close_24dp);
|
||||
toolbarBottomSheet.setNavigationOnClickListener(view -> {
|
||||
mBinding.toolbarBottomSheet.setNavigationIcon(R.drawable.ic_close_24dp);
|
||||
mBinding.toolbarBottomSheet.setNavigationOnClickListener(view -> {
|
||||
if(mBottomSheetBehavior.getState()==BottomSheetBehavior.STATE_EXPANDED) {
|
||||
mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
|
||||
}
|
||||
});
|
||||
|
||||
tapActionLayout.setOnClickListener(v -> {
|
||||
mBinding.tapActionLayout.setOnClickListener(v -> {
|
||||
if(mBottomSheetBehavior.getState()==BottomSheetBehavior.STATE_COLLAPSED) {
|
||||
mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
|
||||
}
|
||||
@@ -91,24 +82,24 @@ public class ArticoliInColloBottomSheetHelper extends BottomSheetBehavior.Bottom
|
||||
// mRootView.scrollTo(0, 0);
|
||||
break;
|
||||
case BottomSheetBehavior.STATE_EXPANDED:
|
||||
appBarLayoutBottomSheet.setClickable(true);
|
||||
appBarLayoutBottomSheet.setFocusable(true);
|
||||
tapActionLayout.setClickable(false);
|
||||
tapActionLayout.setFocusable(false);
|
||||
mBinding.appbarBottomSheet.setClickable(true);
|
||||
mBinding.appbarBottomSheet.setFocusable(true);
|
||||
mBinding.tapActionLayout.setClickable(false);
|
||||
mBinding.tapActionLayout.setFocusable(false);
|
||||
break;
|
||||
case BottomSheetBehavior.STATE_COLLAPSED:
|
||||
appBarLayoutBottomSheet.setVisibility(View.INVISIBLE);
|
||||
appBarLayoutBottomSheet.setClickable(false);
|
||||
appBarLayoutBottomSheet.setFocusable(false);
|
||||
tapActionLayout.setClickable(true);
|
||||
tapActionLayout.setFocusable(true);
|
||||
mBinding.appbarBottomSheet.setVisibility(View.INVISIBLE);
|
||||
mBinding.appbarBottomSheet.setClickable(false);
|
||||
mBinding.appbarBottomSheet.setFocusable(false);
|
||||
mBinding.tapActionLayout.setClickable(true);
|
||||
mBinding.tapActionLayout.setFocusable(true);
|
||||
break;
|
||||
case BottomSheetBehavior.STATE_DRAGGING:
|
||||
appBarLayoutBottomSheet.setVisibility(View.VISIBLE);
|
||||
mBinding.appbarBottomSheet.setVisibility(View.VISIBLE);
|
||||
// mRootView.scrollTo(0, 0);
|
||||
break;
|
||||
case BottomSheetBehavior.STATE_SETTLING:
|
||||
appBarLayoutBottomSheet.setVisibility(View.VISIBLE);
|
||||
mBinding.appbarBottomSheet.setVisibility(View.VISIBLE);
|
||||
// mRootView.scrollTo(0, 0);
|
||||
break;
|
||||
}
|
||||
@@ -128,8 +119,8 @@ public class ArticoliInColloBottomSheetHelper extends BottomSheetBehavior.Bottom
|
||||
|
||||
@Override
|
||||
public void onSlide(@NonNull View bottomSheet, float slideOffset) {
|
||||
appBarLayoutBottomSheet.setAlpha(slideOffset);
|
||||
tapActionLayout.setAlpha(1-slideOffset);
|
||||
mBinding.appbarBottomSheet.setAlpha(slideOffset);
|
||||
mBinding.tapActionLayout.setAlpha(1-slideOffset);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user