Finish v1_6_7(68)

This commit is contained in:
Giuseppe Scorrano 2019-07-05 11:57:51 +02:00
commit fc41be6bc1
21 changed files with 544 additions and 389 deletions

Binary file not shown.

View File

@ -17,8 +17,8 @@ apply plugin: 'com.google.gms.google-services'
android {
def appVersionCode = 67
def appVersionName = '1.6.6'
def appVersionCode = 68
def appVersionName = '1.6.7'
signingConfigs {
release {
@ -126,8 +126,8 @@ dependencies {
implementation 'com.jakewharton.rxbinding2:rxbinding-appcompat-v7:2.1.1'
implementation 'com.jakewharton.rxbinding2:rxbinding-design:2.1.1'
implementation 'com.jakewharton.rxbinding2:rxbinding-recyclerview-v7:2.1.1'
implementation 'com.jakewharton:butterknife:10.0.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:10.0.0'
// implementation 'com.jakewharton:butterknife:10.0.0'
// annotationProcessor 'com.jakewharton:butterknife-compiler:10.0.0'
implementation 'br.com.zbra:android-linq:1.1.0'
//FAB
implementation 'com.github.clans:fab:1.6.4'

View File

@ -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
}
}

View File

@ -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();
}

View File

@ -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);
}};

View File

@ -0,0 +1,86 @@
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;
public class BaseMenuConfiguration {
protected List<MenuConfiguration.MenuGroup> groups = new ArrayList<>();
public BaseMenuConfiguration 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;
}
}
}

View File

@ -0,0 +1,68 @@
package it.integry.integrywmsnative.core.class_router.configs;
import it.integry.integrywmsnative.R;
public class MenuConfiguration extends BaseMenuConfiguration {
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))
);
}
}

View File

@ -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<>();

View File

@ -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,16 @@ 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.BaseMenuConfiguration;
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 +45,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 +61,8 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
private Runnable mOnPreDestroy;
private ElevatedToolbar mToolbar;
private LayoutInflater mLayoutInflater;
public MainFragment() {
}
@ -73,14 +82,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 +202,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 +211,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);
BaseMenuConfiguration 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());
}
}

View File

@ -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);
}
}

View File

@ -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;

View File

@ -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<>();

View File

@ -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);
}
}

View File

@ -1,4 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<layout>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
@ -71,4 +72,5 @@
app:layout_constraintEnd_toEndOf="parent"
android:textColor="@android:color/white"
android:layout_marginBottom="24dp"/>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>

View File

@ -50,6 +50,7 @@
android:layout_height="wrap_content">
<LinearLayout
android:id="@+id/menu_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
@ -186,297 +187,7 @@
</RelativeLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="8dp">
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guide_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.5"/>
<TextView
android:id="@+id/general_dashboard_group_title"
style="@style/AppTheme.NewMaterial.Text.TextBoxGroupTitleDashboard"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent"
android:text="@string/general" />
<RelativeLayout
android:id="@+id/fast_button_accettazione"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@id/general_dashboard_group_title"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@id/guide_1">
<com.google.android.material.card.MaterialCardView
style="@style/Widget.MaterialComponents.CardView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="8dp"
app:cardBackgroundColor="@android:color/white"
app:cardCornerRadius="4dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical"
android:padding="8dp">
<ImageView
android:layout_width="64sp"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@drawable/ic_dashboard_accettazione" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="@string/accettazione_title_fragment"
android:textAllCaps="true"
android:textColor="@color/gray_700"
android:textStyle="bold" />
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
</RelativeLayout>
<RelativeLayout
android:id="@+id/fast_button_spedizione"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@id/general_dashboard_group_title"
app:layout_constraintStart_toEndOf="@id/guide_1"
app:layout_constraintEnd_toEndOf="parent">
<com.google.android.material.card.MaterialCardView
style="@style/Widget.MaterialComponents.CardView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="8dp"
app:cardBackgroundColor="@android:color/white"
app:cardCornerRadius="4dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical"
android:padding="8dp">
<ImageView
android:layout_width="64sp"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@drawable/ic_dashboard_spedizione" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="@string/vendita_title_fragment"
android:textAllCaps="true"
android:textColor="@color/gray_700"
android:textStyle="bold" />
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
</RelativeLayout>
<RelativeLayout
android:id="@+id/fast_button_rettifica_giacenze"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@id/fast_button_accettazione"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@id/guide_1">
<com.google.android.material.card.MaterialCardView
style="@style/Widget.MaterialComponents.CardView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="8dp"
app:cardBackgroundColor="@android:color/white"
app:cardCornerRadius="4dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical"
android:padding="8dp">
<ImageView
android:layout_width="64sp"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@drawable/ic_dashboard_rettifica_giacenze" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:gravity="center_horizontal"
android:text="@string/rettifica_giacenze_fragment_title"
android:textAllCaps="true"
android:textColor="@color/gray_700"
android:textStyle="bold" />
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
</RelativeLayout>
<RelativeLayout
android:id="@+id/fast_button_versamento"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@id/fast_button_spedizione"
app:layout_constraintStart_toEndOf="@id/guide_1"
app:layout_constraintEnd_toEndOf="parent">
<com.google.android.material.card.MaterialCardView
style="@style/Widget.MaterialComponents.CardView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="8dp"
app:cardBackgroundColor="@android:color/white"
app:cardCornerRadius="4dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical"
android:padding="8dp">
<ImageView
android:layout_width="64sp"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@drawable/ic_dashboard_versamento_merce" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:gravity="center_horizontal"
android:text="@string/versamento_merce_fragment_title"
android:textAllCaps="true"
android:textColor="@color/gray_700"
android:textStyle="bold" />
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
</RelativeLayout>
<RelativeLayout
android:id="@+id/fast_button_picking_libero"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@id/fast_button_rettifica_giacenze"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@id/guide_1">
<com.google.android.material.card.MaterialCardView
style="@style/Widget.MaterialComponents.CardView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="8dp"
app:cardBackgroundColor="@android:color/white"
app:cardCornerRadius="4dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical"
android:padding="8dp">
<ImageView
android:layout_width="64sp"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@drawable/ic_dashboard_picking_libero" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:gravity="center_horizontal"
android:text="@string/free_picking"
android:textAllCaps="true"
android:textColor="@color/gray_700"
android:textStyle="bold" />
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
</RelativeLayout>
<RelativeLayout
android:id="@+id/fast_button_resi_clienti"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@id/fast_button_versamento"
app:layout_constraintStart_toEndOf="@id/guide_1"
app:layout_constraintEnd_toEndOf="parent">
<com.google.android.material.card.MaterialCardView
style="@style/Widget.MaterialComponents.CardView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="8dp"
app:cardBackgroundColor="@android:color/white"
app:cardCornerRadius="4dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical"
android:padding="8dp">
<ImageView
android:layout_width="64sp"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@drawable/ic_latest_delivery" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:gravity="center_horizontal"
android:text="@string/fragment_ultime_consegne_cliente_title"
android:textAllCaps="true"
android:textColor="@color/gray_700"
android:textStyle="bold" />
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
</RelativeLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<!--<androidx.constraintlayout.widget.ConstraintLayout-->

View File

@ -0,0 +1,53 @@
<?xml version="1.0" encoding="utf-8"?>
<layout>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:padding="8dp">
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guide_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.5"/>
<TextView
android:id="@+id/general_dashboard_group_title"
style="@style/AppTheme.NewMaterial.Text.TextBoxGroupTitleDashboard"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent"
tools:text="Group Title" />
<!--<GridLayout-->
<!--android:id="@+id/mainGrid"-->
<!--android:columnCount="2"-->
<!--android:columnOrderPreserved="true"-->
<!--android:layout_width="match_parent"-->
<!--android:layout_height="0dp"-->
<!--app:layout_constraintTop_toBottomOf="@id/general_dashboard_group_title"-->
<!--app:layout_constraintStart_toStartOf="parent"-->
<!--app:layout_constraintEnd_toEndOf="parent"-->
<!--android:padding="14dp">-->
<!--</GridLayout>-->
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/main_list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@id/general_dashboard_group_title">
</androidx.recyclerview.widget.RecyclerView>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>

View File

@ -0,0 +1,45 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<com.google.android.material.card.MaterialCardView
style="@style/Widget.MaterialComponents.CardView"
android:layout_margin="8dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:cardBackgroundColor="@android:color/white"
app:cardCornerRadius="4dp">
<LinearLayout
android:layout_gravity="center_horizontal|center_vertical"
android:gravity="center_horizontal"
android:padding="8dp"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/menu_icon"
android:layout_width="64sp"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@drawable/ic_dashboard_accettazione" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/menu_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="@string/accettazione_title_fragment"
android:textAllCaps="true"
android:textColor="@color/gray_700"
android:gravity="center_horizontal"
android:textStyle="bold" />
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
</layout>

View File

@ -6,7 +6,7 @@ import it.integry.integrywmsnative.core.class_router.interfaces.ICustomConfigura
public class CustomConfiguration extends BaseCustomConfiguration implements ICustomConfiguration {
public CustomConfiguration() {
configurations.put(Keys.MENU_CONFIGURATION, new MenuConfigurationIME());
}
}

View File

@ -0,0 +1,47 @@
package it.integry.wms.dynamic_customization.extensions;
import it.integry.integrywmsnative.core.class_router.configs.BaseMenuConfiguration;
public class MenuConfigurationIME extends BaseMenuConfiguration {
public MenuConfigurationIME() {
this
.addGroup(
new MenuGroup()
.setGroupText(it.integry.integrywmsnative.R.string.general)
.addItem(new MenuItem()
.setID(it.integry.integrywmsnative.R.id.nav_accettazione)
.setTitleText(it.integry.integrywmsnative.R.string.accettazione_title_fragment)
.setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_accettazione))
.addItem(new MenuItem()
.setID(it.integry.integrywmsnative.R.id.nav_spedizione)
.setTitleText(it.integry.integrywmsnative.R.string.vendita_title_fragment)
.setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_spedizione))
.addItem(new MenuItem()
.setID(it.integry.integrywmsnative.R.id.nav_rettifica_giacenze)
.setTitleText(it.integry.integrywmsnative.R.string.rettifica_giacenze_fragment_title)
.setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_rettifica_giacenze))
.addItem(new MenuItem()
.setID(it.integry.integrywmsnative.R.id.nav_versamento_merce)
.setTitleText(it.integry.integrywmsnative.R.string.versamento_merce_fragment_title)
.setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_versamento_merce))
.addItem(new MenuItem()
.setID(it.integry.integrywmsnative.R.id.nav_free_picking)
.setTitleText(it.integry.integrywmsnative.R.string.free_picking)
.setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_picking_libero))
// .addItem(new MenuItem()
// .setID(it.integry.integrywmsnative.R.id.nav_resi_cliente)
// .setTitleText(it.integry.integrywmsnative.R.string.fragment_ultime_consegne_cliente_title)
// .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_latest_delivery))
);
}
}

View File

@ -7,6 +7,7 @@ public class CustomConfiguration extends BaseCustomConfiguration implements ICus
public CustomConfiguration() {
configurations.put(Keys.FLAG_SHOW_COD_FORN_IN_SPEDIZIONE, false);
configurations.put(Keys.MENU_CONFIGURATION, new MenuConfigurationVG());
}
}

View File

@ -0,0 +1,42 @@
package it.integry.wms.dynamic_customization.extensions;
import it.integry.integrywmsnative.core.class_router.configs.BaseMenuConfiguration;
public class MenuConfigurationVG extends BaseMenuConfiguration {
public MenuConfigurationVG() {
this
.addGroup(
new MenuGroup()
.setGroupText(it.integry.integrywmsnative.R.string.general)
.addItem(new MenuItem()
.setID(it.integry.integrywmsnative.R.id.nav_accettazione)
.setTitleText(it.integry.integrywmsnative.R.string.accettazione_title_fragment)
.setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_accettazione))
.addItem(new MenuItem()
.setID(it.integry.integrywmsnative.R.id.nav_spedizione)
.setTitleText(it.integry.integrywmsnative.R.string.vendita_title_fragment)
.setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_spedizione))
.addItem(new MenuItem()
.setID(it.integry.integrywmsnative.R.id.nav_rettifica_giacenze)
.setTitleText(it.integry.integrywmsnative.R.string.rettifica_giacenze_fragment_title)
.setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_rettifica_giacenze))
.addItem(new MenuItem()
.setID(it.integry.integrywmsnative.R.id.nav_versamento_merce)
.setTitleText(it.integry.integrywmsnative.R.string.versamento_merce_fragment_title)
.setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_versamento_merce))
.addItem(new MenuItem()
.setID(it.integry.integrywmsnative.R.id.nav_free_picking)
.setTitleText(it.integry.integrywmsnative.R.string.free_picking)
.setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_picking_libero))
);
}
}