Finish v1_0_30(33)

This commit is contained in:
Giuseppe Scorrano 2019-01-31 17:32:50 +01:00
commit 8c9a57ba66
8 changed files with 47 additions and 17 deletions

Binary file not shown.

View File

@ -17,8 +17,8 @@ apply plugin: 'com.google.gms.google-services'
android { android {
def appVersionCode = 32 def appVersionCode = 33
def appVersionName = '1.0.29' def appVersionName = '1.0.30'
signingConfigs { signingConfigs {
release { release {
@ -95,11 +95,12 @@ dependencies {
implementation 'com.crashlytics.sdk.android:crashlytics:2.9.8' implementation 'com.crashlytics.sdk.android:crashlytics:2.9.8'
implementation 'androidx.appcompat:appcompat:1.1.0-alpha01' implementation 'androidx.appcompat:appcompat:1.1.0-alpha01'
implementation 'androidx.legacy:legacy-support-v4:1.0.0' implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'com.google.android.material:material:1.1.0-alpha02' implementation 'com.google.android.material:material:1.1.0-alpha03'
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-alpha3' implementation 'androidx.constraintlayout:constraintlayout:2.0.0-alpha3'
implementation 'androidx.cardview:cardview:1.0.0' implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.1.0-alpha01' implementation 'androidx.recyclerview:recyclerview:1.1.0-alpha02'
implementation 'androidx.preference:preference:1.1.0-alpha02' implementation 'androidx.preference:preference:1.1.0-alpha02'
implementation 'com.squareup.okhttp3:okhttp:3.12.1'
implementation 'com.squareup.retrofit2:retrofit:2.3.0' implementation 'com.squareup.retrofit2:retrofit:2.3.0'
implementation 'com.squareup.retrofit2:converter-gson:2.0.0' implementation 'com.squareup.retrofit2:converter-gson:2.0.0'
implementation 'com.annimon:stream:1.2.1' implementation 'com.annimon:stream:1.2.1'

View File

@ -6,6 +6,7 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import it.integry.integrywmsnative.core.REST.consumers.ISingleValueOperationCallback; import it.integry.integrywmsnative.core.REST.consumers.ISingleValueOperationCallback;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.settings.SettingsManager; import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityServer; import it.integry.integrywmsnative.core.utility.UtilityServer;
import it.integry.integrywmsnative.core.utility.UtilityString; import it.integry.integrywmsnative.core.utility.UtilityString;
@ -14,11 +15,11 @@ public class ServerStatusChecker {
private static ServerStatusChecker istance = new ServerStatusChecker(); private static ServerStatusChecker istance = new ServerStatusChecker();
private List<ISingleValueOperationCallback<Boolean>> mCallback = new ArrayList<>(); private List<RunnableArgs<Boolean>> mCallback = new ArrayList<>();
private ISingleValueOperationCallback<Boolean> mInternalCallback = value -> { private RunnableArgs<Boolean> mInternalCallback = value -> {
for (ISingleValueOperationCallback callback : mCallback) { for (RunnableArgs callback : mCallback) {
callback.onResult(value); callback.run(value);
} }
}; };
@ -31,18 +32,18 @@ public class ServerStatusChecker {
@Override @Override
public void run() { public void run() {
if(shouldExecute && !UtilityString.isNullOrEmpty(SettingsManager.i().server.host)) { if(shouldExecute && !UtilityString.isNullOrEmpty(SettingsManager.i().server.host)) {
UtilityServer.isHostReachable(SettingsManager.i().server.host, SettingsManager.i().server.port, mInternalCallback); UtilityServer.isEmsApiAvailable(SettingsManager.i().server.host, SettingsManager.i().server.port, mInternalCallback);
handler.postDelayed(this, MILLIS_DELAY); handler.postDelayed(this, MILLIS_DELAY);
} }
} }
}; };
public void addCallback(ISingleValueOperationCallback<Boolean> callback){ public void addCallback(RunnableArgs<Boolean> callback){
this.mCallback.add(callback); this.mCallback.add(callback);
} }
public void removeCallback(ISingleValueOperationCallback<Boolean> callback){ public void removeCallback(RunnableArgs<Boolean> callback){
this.mCallback.remove(callback); this.mCallback.remove(callback);
} }

View File

@ -6,6 +6,10 @@ import java.net.Socket;
import java.net.SocketAddress; import java.net.SocketAddress;
import it.integry.integrywmsnative.core.REST.consumers.ISingleValueOperationCallback; import it.integry.integrywmsnative.core.REST.consumers.ISingleValueOperationCallback;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
public class UtilityServer { public class UtilityServer {
@ -31,8 +35,26 @@ public class UtilityServer {
callback.onResult(connected); callback.onResult(connected);
}).start(); }).start();
}
public static void isEmsApiAvailable(final String serverAddress, final int serverTCPport, final RunnableArgs<Boolean> callback) {
new Thread(() -> {
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url(String.format("http://%s:%d/ems-api/retail/status", serverAddress, serverTCPport))
.build();
try {
Response response = client.newCall(request).execute();
boolean status = response.isSuccessful();
response.close();
callback.run(status);
} catch (IOException e) {
callback.run(false);
}
}).start();
} }
} }

View File

@ -110,7 +110,7 @@ public class LoginViewModel {
final String host = u.getHost(); final String host = u.getHost();
final int port = u.getPort(); final int port = u.getPort();
UtilityServer.isHostReachable(host, port, value1 -> { UtilityServer.isEmsApiAvailable(host, port, value1 -> {
if(value1){ //Is online if(value1){ //Is online
loginHelper.doLogin(host, port, new ISimpleOperationCallback<LoginDTO>() { loginHelper.doLogin(host, port, new ISimpleOperationCallback<LoginDTO>() {

View File

@ -9,6 +9,8 @@ import android.text.SpannableString;
import com.annimon.stream.Stream; import com.annimon.stream.Stream;
import com.tfb.fbtoast.FBToast; import com.tfb.fbtoast.FBToast;
import org.jetbrains.annotations.NotNull;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
@ -807,7 +809,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
} }
private void cyclicPrint(Iterator<MtbColt> sourceMtbColts, String printerName, Runnable onComplete, RunnableArgs<Exception> onAbort) { private void cyclicPrint(@NotNull Iterator<MtbColt> sourceMtbColts, String printerName, Runnable onComplete, RunnableArgs<Exception> onAbort) {
if(sourceMtbColts.hasNext()){ if(sourceMtbColts.hasNext()){
singlePrint(sourceMtbColts.next(), printerName, () -> { singlePrint(sourceMtbColts.next(), printerName, () -> {
cyclicPrint(sourceMtbColts, printerName, onComplete, onAbort); cyclicPrint(sourceMtbColts, printerName, onComplete, onAbort);
@ -899,7 +901,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
List<MtbColr> filteredMtbColrs = Stream.of(currentMtbColrs).filter( List<MtbColr> filteredMtbColrs = Stream.of(currentMtbColrs).filter(
x -> x.getCodMart().equalsIgnoreCase(item.getCodMart()) && x -> x.getCodMart().equalsIgnoreCase(item.getCodMart()) &&
(x.getPartitaMag() != null && x.getPartitaMag().equalsIgnoreCase(item.getPartitaMag()))) (!SettingsManager.iDB().isEnableCheckPartitaMagCheckPickingV() || (SettingsManager.iDB().isEnableCheckPartitaMagCheckPickingV() && ((x.getPartitaMag() == null && item.getPartitaMag() == null) || (x.getPartitaMag() != null && x.getPartitaMag().equalsIgnoreCase(item.getPartitaMag()))))))
.toList(); .toList();
float qtaEvasaTotaleInMtbColr = 0; float qtaEvasaTotaleInMtbColr = 0;

View File

@ -22,6 +22,8 @@ import android.view.inputmethod.InputMethodManager;
import android.widget.Button; import android.widget.Button;
import android.widget.EditText; import android.widget.EditText;
import org.jetbrains.annotations.NotNull;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Calendar; import java.util.Calendar;
import java.util.Date; import java.util.Date;
@ -218,7 +220,7 @@ public class DialogInputQuantity {
return new DialogInputQuantity(context, dto, canOverflowQuantity, dialogCallback, onAbort).currentAlert; return new DialogInputQuantity(context, dto, canOverflowQuantity, dialogCallback, onAbort).currentAlert;
} }
public DialogInputQuantity(Context context, final DTO dto, boolean canOverflowQuantity, final ISingleValueOperationCallback<QuantityDTO> dialogCallback, final Runnable onAbort) { public DialogInputQuantity(@NotNull Context context, @NotNull final DTO dto, boolean canOverflowQuantity, final ISingleValueOperationCallback<QuantityDTO> dialogCallback, final Runnable onAbort) {
currentContext = context; currentContext = context;
currentMtbAart = dto.getMtbAart(); currentMtbAart = dto.getMtbAart();
currentDTO = dto; currentDTO = dto;
@ -288,7 +290,7 @@ public class DialogInputQuantity {
setupBarcode(context); setupBarcode(context);
} }
private void setupQuantities(DTO dto, QuantityDTO quantityDTO){ private void setupQuantities(@NotNull DTO dto, QuantityDTO quantityDTO){
if(dto.getQtaTot() != null) quantityDTO.qtaTot.set(dto.getQtaTot().floatValue()); if(dto.getQtaTot() != null) quantityDTO.qtaTot.set(dto.getQtaTot().floatValue());
if(dto.getMaxQta() != null) quantityDTO.maxQta.set(dto.getMaxQta().floatValue()); if(dto.getMaxQta() != null) quantityDTO.maxQta.set(dto.getMaxQta().floatValue());

View File

@ -19,6 +19,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/gray_detail_background" android:background="@drawable/gray_detail_background"
android:padding="0dp"
app:el_duration="400" app:el_duration="400"
app:el_expanded="false"> app:el_expanded="false">
@ -27,7 +28,8 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@color/red_600" android:background="@color/red_600"
android:orientation="vertical" android:orientation="vertical"
android:paddingLeft="8dp" android:paddingStart="8dp"
android:paddingEnd="8dp"
android:paddingTop="12dp" android:paddingTop="12dp"
android:paddingBottom="12dp"> android:paddingBottom="12dp">