Finish v1_0_40(43)

This commit is contained in:
Giuseppe Scorrano 2019-03-27 10:19:45 +01:00
commit 44d567ffdc
14 changed files with 214 additions and 43 deletions

Binary file not shown.

View File

@ -17,8 +17,8 @@ apply plugin: 'com.google.gms.google-services'
android { android {
def appVersionCode = 42 def appVersionCode = 43
def appVersionName = '1.0.39' def appVersionName = '1.0.40'
signingConfigs { signingConfigs {
release { release {

View File

@ -208,6 +208,9 @@ public class MainActivity extends AppCompatActivity
if(fragment instanceof IScrollableFragment) { if(fragment instanceof IScrollableFragment) {
((IScrollableFragment) fragment).setScrollToolbar(mBinding.appBarMain.elevatedToolbar); ((IScrollableFragment) fragment).setScrollToolbar(mBinding.appBarMain.elevatedToolbar);
((IScrollableFragment) fragment).setOnPreDestroy(() -> {
mBinding.appBarMain.elevatedToolbar.resetAll();
});
} }
if(fragment instanceof ISelectAllFragment && ((ISelectAllFragment)fragment).isEnabled()) { if(fragment instanceof ISelectAllFragment && ((ISelectAllFragment)fragment).isEnabled()) {

View File

@ -6,4 +6,6 @@ public interface IScrollableFragment {
void setScrollToolbar(ElevatedToolbar toolbar); void setScrollToolbar(ElevatedToolbar toolbar);
void setOnPreDestroy(Runnable onPreDestroy);
} }

View File

@ -49,6 +49,7 @@ import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
public class MainAccettazioneFragment extends Fragment implements ISearcableFragment, ITitledFragment, IScrollableFragment { public class MainAccettazioneFragment extends Fragment implements ISearcableFragment, ITitledFragment, IScrollableFragment {
private Runnable mOnPreDestroy;
private ElevatedToolbar mToolbar; private ElevatedToolbar mToolbar;
private FragmentMainAccettazioneBinding mBinding; private FragmentMainAccettazioneBinding mBinding;
@ -112,6 +113,11 @@ public class MainAccettazioneFragment extends Fragment implements ISearcableFrag
return mBinding.getRoot(); return mBinding.getRoot();
} }
@Override
public void onDestroy() {
if(mOnPreDestroy != null) mOnPreDestroy.run();
super.onDestroy();
}
@ -166,6 +172,7 @@ public class MainAccettazioneFragment extends Fragment implements ISearcableFrag
return groupedOrdine; return groupedOrdine;
}) })
.distinctBy(x -> x.codAnagForn + "_" + x.nomeFornitore) .distinctBy(x -> x.codAnagForn + "_" + x.nomeFornitore)
.sortBy(x -> x.nomeFornitore)
.toList(); .toList();
@ -339,4 +346,9 @@ public class MainAccettazioneFragment extends Fragment implements ISearcableFrag
public void setScrollToolbar(ElevatedToolbar toolbar) { public void setScrollToolbar(ElevatedToolbar toolbar) {
mToolbar = toolbar; mToolbar = toolbar;
} }
@Override
public void setOnPreDestroy(Runnable onPreDestroy) {
mOnPreDestroy = onPreDestroy;
}
} }

View File

@ -396,7 +396,7 @@ public class AccettazioneOnOrdineAccettazioneInevasoViewModel implements IOnColl
} }
ProgressDialog finalProgress = progress; ProgressDialog finalProgress = progress;
NoteAggiuntiveNuovaULDialog.show(mActivity, new NoteAggiuntiveNuovaULDialog.Callback() { NoteAggiuntiveNuovaULDialog.make(mActivity, new NoteAggiuntiveNuovaULDialog.Callback() {
@Override @Override
public void onSuccess(String noteString) { public void onSuccess(String noteString) {
@ -507,7 +507,7 @@ public class AccettazioneOnOrdineAccettazioneInevasoViewModel implements IOnColl
public void onAbort() { public void onAbort() {
finalProgress.dismiss(); finalProgress.dismiss();
} }
}); }).show();
} }

View File

@ -1,59 +1,57 @@
package it.integry.integrywmsnative.gest.accettazione_ordine_inevaso.views; package it.integry.integrywmsnative.gest.accettazione_ordine_inevaso.views;
import android.app.Dialog;
import android.content.Context; import android.content.Context;
import com.google.android.material.textfield.TextInputEditText; import com.google.android.material.textfield.TextInputEditText;
import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AlertDialog;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.view.LayoutInflater;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.RelativeLayout; import android.widget.RelativeLayout;
import androidx.databinding.DataBindingUtil;
import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.utility.UtilityDimension; import it.integry.integrywmsnative.core.utility.UtilityDimension;
import it.integry.integrywmsnative.databinding.DialogNoteAggiuntiveNuovaUlBinding;
public class NoteAggiuntiveNuovaULDialog { public class NoteAggiuntiveNuovaULDialog {
private Dialog currentDialog;
public interface Callback { public interface Callback {
void onSuccess(String noteString); void onSuccess(String noteString);
void onAbort(); void onAbort();
} }
public static Dialog make(Context context, final Callback callback) {
return new NoteAggiuntiveNuovaULDialog(context, callback).currentDialog;
}
public static void show(Context mContext, final Callback callback){ private NoteAggiuntiveNuovaULDialog(Context context, final Callback callback){
RelativeLayout relativeLayout = new RelativeLayout(mContext); LayoutInflater inflater = (LayoutInflater) context.getSystemService( Context.LAYOUT_INFLATER_SERVICE );
DialogNoteAggiuntiveNuovaUlBinding bindings = DataBindingUtil.inflate(inflater, R.layout.dialog_note_aggiuntive_nuova_ul, null, false);
relativeLayout.setLayoutParams( currentDialog = new Dialog(context);
new RelativeLayout.LayoutParams( currentDialog.setContentView(bindings.getRoot());
RelativeLayout.LayoutParams.MATCH_PARENT,
RelativeLayout.LayoutParams.MATCH_PARENT));
relativeLayout.setPadding(UtilityDimension.convertSizeToDP(mContext, 22), currentDialog.setCanceledOnTouchOutside(false);
UtilityDimension.convertSizeToDP(mContext, 8), currentDialog.setCancelable(false);
UtilityDimension.convertSizeToDP(mContext, 24), currentDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
0);
final TextInputEditText mTextInputEditText = new TextInputEditText(mContext); bindings.buttonConfirm.setOnClickListener(v -> {
mTextInputEditText.setHint(R.string.hint_additional_notes); currentDialog.dismiss();
callback.onSuccess(bindings.additionalNotesText.getText().toString());
});
ViewGroup.LayoutParams layoutParams = new ViewGroup.LayoutParams( bindings.buttonAbort.setOnClickListener(v -> {
ViewGroup.LayoutParams.MATCH_PARENT, currentDialog.dismiss();
ViewGroup.LayoutParams.WRAP_CONTENT); callback.onAbort();
});
mTextInputEditText.setLayoutParams(layoutParams);
relativeLayout.addView(mTextInputEditText);
AlertDialog dialog = new AlertDialog.Builder(mContext)
.setTitle(mContext.getText(R.string.action_create_ul))
.setMessage(R.string.dialog_message_additional_notes)
.setCancelable(false)
.setView(relativeLayout)
.setPositiveButton(R.string.confirm, (dialog1, which) -> callback.onSuccess(mTextInputEditText.getText().toString()))
.setNegativeButton(R.string.abort, (dialogInterface, i) -> callback.onAbort())
.create();
dialog.show();
} }
} }

View File

@ -51,6 +51,7 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
private FragmentMainBinding mBindings; private FragmentMainBinding mBindings;
private Runnable mOnPreDestroy;
private ElevatedToolbar mToolbar; private ElevatedToolbar mToolbar;
public MainFragment() { public MainFragment() {
@ -83,6 +84,12 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
return mBindings.getRoot(); return mBindings.getRoot();
} }
@Override
public void onDestroy() {
if(mOnPreDestroy != null) mOnPreDestroy.run();
super.onDestroy();
}
private void init(){ private void init(){
ServerStatusChecker.getIstance().addCallback(value -> { ServerStatusChecker.getIstance().addCallback(value -> {
@ -214,4 +221,9 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
public void setScrollToolbar(ElevatedToolbar toolbar) { public void setScrollToolbar(ElevatedToolbar toolbar) {
mToolbar = toolbar; mToolbar = toolbar;
} }
@Override
public void setOnPreDestroy(Runnable onPreDestroy) {
mOnPreDestroy = onPreDestroy;
}
} }

View File

@ -55,6 +55,7 @@ import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
public class MainVenditaFragment extends Fragment implements ITitledFragment, IScrollableFragment, ISelectAllFragment, IFilterableFragment { public class MainVenditaFragment extends Fragment implements ITitledFragment, IScrollableFragment, ISelectAllFragment, IFilterableFragment {
private Runnable mOnPreDestroy;
private ElevatedToolbar mToolbar; private ElevatedToolbar mToolbar;
private VenditaHelper mHelper; private VenditaHelper mHelper;
@ -102,6 +103,7 @@ public class MainVenditaFragment extends Fragment implements ITitledFragment, IS
@Override @Override
public void onDestroy() { public void onDestroy() {
if(mOnPreDestroy != null) mOnPreDestroy.run();
BarcodeManager.removeCallback(barcodeScannerIstanceID); BarcodeManager.removeCallback(barcodeScannerIstanceID);
super.onDestroy(); super.onDestroy();
} }
@ -385,6 +387,11 @@ public class MainVenditaFragment extends Fragment implements ITitledFragment, IS
mToolbar = toolbar; mToolbar = toolbar;
} }
@Override
public void setOnPreDestroy(Runnable onPreDestroy) {
mOnPreDestroy = onPreDestroy;
}
@Override @Override
public boolean isEnabled() { public boolean isEnabled() {
return SettingsManager.iDB().isFlagMultiClienteOrdV(); return SettingsManager.iDB().isFlagMultiClienteOrdV();

View File

@ -2,6 +2,7 @@ package it.integry.integrywmsnative.ui;
import android.animation.ObjectAnimator; import android.animation.ObjectAnimator;
import android.animation.StateListAnimator; import android.animation.StateListAnimator;
import android.app.Activity;
import android.content.Context; import android.content.Context;
import android.util.AttributeSet; import android.util.AttributeSet;
import android.util.Log; import android.util.Log;
@ -78,6 +79,7 @@ public class ElevatedToolbar extends CardView {
if(mRecyclerView != null) { if(mRecyclerView != null) {
mRecyclerView.setOnScrollListener(recyclerViewScrollListener); mRecyclerView.setOnScrollListener(recyclerViewScrollListener);
} else { } else {
Log.e("ElevatedToolbar", "RecyclerView is NULL"); Log.e("ElevatedToolbar", "RecyclerView is NULL");
} }
@ -86,8 +88,6 @@ public class ElevatedToolbar extends CardView {
public void removeRecyclerViewScrollListener(){ public void removeRecyclerViewScrollListener(){
if(mRecyclerView != null) { if(mRecyclerView != null) {
mRecyclerView.setOnScrollListener(null); mRecyclerView.setOnScrollListener(null);
} else {
Log.e("ElevatedToolbar", "REMOVE: RecyclerView is NULL");
} }
} }
@ -118,8 +118,6 @@ public class ElevatedToolbar extends CardView {
public void removeScrollViewScrollListener(){ public void removeScrollViewScrollListener(){
if(mScrollView != null) { if(mScrollView != null) {
mScrollView.getViewTreeObserver().removeOnScrollChangedListener(scrollViewScrollListener); mScrollView.getViewTreeObserver().removeOnScrollChangedListener(scrollViewScrollListener);
} else {
Log.e("ElevatedToolbar", "REMOVE: ScrollView is NULL");
} }
} }
@ -151,8 +149,6 @@ public class ElevatedToolbar extends CardView {
public void removeNestedScrollViewListener() { public void removeNestedScrollViewListener() {
if(mNestedScrollView != null) { if(mNestedScrollView != null) {
mNestedScrollView.setOnScrollChangeListener((NestedScrollView.OnScrollChangeListener) null); mNestedScrollView.setOnScrollChangeListener((NestedScrollView.OnScrollChangeListener) null);
} else {
Log.e("ElevatedToolbar", "REMOVE: NestedScrollView is NULL");
} }
} }

View File

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#000000"
android:pathData="M10,18h4v-2h-4v2zM3,6v2h18L21,6L3,6zM6,13h12v-2L6,11v2z"/>
</vector>

View File

@ -39,8 +39,9 @@
<androidx.appcompat.widget.Toolbar <androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar" android:id="@+id/toolbar"
android:layout_height="?attr/actionBarSize" android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="pin" android:layout_width="match_parent"
android:layout_width="match_parent"> app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:layout_collapseMode="pin">
</androidx.appcompat.widget.Toolbar> </androidx.appcompat.widget.Toolbar>
</com.google.android.material.appbar.AppBarLayout> </com.google.android.material.appbar.AppBarLayout>

View File

@ -0,0 +1,131 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<import type="android.text.Html" />
<import type="it.integry.integrywmsnative.R" />
<variable
name="mContext"
type="android.content.Context" />
</data>
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
app:cardCornerRadius="12dp"
app:cardElevation="0dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/light_blue_300"
android:gravity="center_horizontal">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_error_white_24dp"
android:layout_margin="24dp"/>
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingTop="24dp"
android:paddingLeft="24dp"
android:paddingRight="24dp">
<TextView
android:id="@+id/title_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/TextViewMaterial.DialogTitle"
android:text="@string/action_create_ul"
android:gravity="center_horizontal"/>
<!--<TextView-->
<!--android:id="@+id/description_text"-->
<!--android:layout_width="match_parent"-->
<!--android:layout_height="wrap_content"-->
<!--style="@style/TextViewMaterial"-->
<!--android:text="@string/dialog_message_additional_notes"-->
<!--android:gravity="left"-->
<!--android:layout_marginTop="16dp"-->
<!--android:layout_marginBottom="16dp" />-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp">
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/level_number_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
style="@style/TextInputLayout.OutlinePrimary">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/additional_notes_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/hint_additional_notes"
android:inputType="text"
style="@style/TextInputEditText.OutlinePrimary"/>
</com.google.android.material.textfield.TextInputLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:paddingTop="8dp"
android:paddingBottom="8dp"
android:gravity="bottom|center_horizontal">
<com.google.android.material.button.MaterialButton
android:id="@+id/button_abort"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Button.PrimaryOutline"
app:icon="@drawable/ic_clear_24dp"
android:layout_marginEnd="8dp"
android:text="@string/abort"/>
<com.google.android.material.button.MaterialButton
android:id="@+id/button_confirm"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Button.PrimaryFull"
app:icon="@drawable/ic_save_24dp"
android:text="@string/confirm"/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</androidx.cardview.widget.CardView>
</layout>

View File

@ -4,7 +4,7 @@
<item <item
android:id="@+id/action_filter" android:id="@+id/action_filter"
android:icon="@drawable/ic_filter_list_24dp" android:icon="@drawable/ic_filter_list_24dp_black"
android:title="@string/action_orderBy" android:title="@string/action_orderBy"
app:showAsAction="ifRoom"/> app:showAsAction="ifRoom"/>
</menu> </menu>