diff --git a/.gradle/5.4.1/executionHistory/executionHistory.bin b/.gradle/5.4.1/executionHistory/executionHistory.bin
deleted file mode 100644
index 798b2c1..0000000
Binary files a/.gradle/5.4.1/executionHistory/executionHistory.bin and /dev/null differ
diff --git a/.gradle/5.4.1/executionHistory/executionHistory.lock b/.gradle/5.4.1/executionHistory/executionHistory.lock
deleted file mode 100644
index b4bf239..0000000
Binary files a/.gradle/5.4.1/executionHistory/executionHistory.lock and /dev/null differ
diff --git a/.gradle/5.4.1/fileChanges/last-build.bin b/.gradle/5.4.1/fileChanges/last-build.bin
deleted file mode 100644
index f76dd23..0000000
Binary files a/.gradle/5.4.1/fileChanges/last-build.bin and /dev/null differ
diff --git a/.gradle/5.4.1/fileContent/fileContent.lock b/.gradle/5.4.1/fileContent/fileContent.lock
deleted file mode 100644
index 254d8cf..0000000
Binary files a/.gradle/5.4.1/fileContent/fileContent.lock and /dev/null differ
diff --git a/.gradle/5.4.1/fileHashes/fileHashes.bin b/.gradle/5.4.1/fileHashes/fileHashes.bin
deleted file mode 100644
index abf2334..0000000
Binary files a/.gradle/5.4.1/fileHashes/fileHashes.bin and /dev/null differ
diff --git a/.gradle/5.4.1/fileHashes/fileHashes.lock b/.gradle/5.4.1/fileHashes/fileHashes.lock
deleted file mode 100644
index b069111..0000000
Binary files a/.gradle/5.4.1/fileHashes/fileHashes.lock and /dev/null differ
diff --git a/.gradle/5.4.1/fileHashes/resourceHashesCache.bin b/.gradle/5.4.1/fileHashes/resourceHashesCache.bin
deleted file mode 100644
index 211a36c..0000000
Binary files a/.gradle/5.4.1/fileHashes/resourceHashesCache.bin and /dev/null differ
diff --git a/.gradle/5.4.1/gc.properties b/.gradle/5.4.1/gc.properties
deleted file mode 100644
index e69de29..0000000
diff --git a/.gradle/5.4.1/javaCompile/classAnalysis.bin b/.gradle/5.4.1/javaCompile/classAnalysis.bin
deleted file mode 100644
index d3a1c0f..0000000
Binary files a/.gradle/5.4.1/javaCompile/classAnalysis.bin and /dev/null differ
diff --git a/.gradle/5.4.1/javaCompile/jarAnalysis.bin b/.gradle/5.4.1/javaCompile/jarAnalysis.bin
deleted file mode 100644
index aa1d18d..0000000
Binary files a/.gradle/5.4.1/javaCompile/jarAnalysis.bin and /dev/null differ
diff --git a/.gradle/5.4.1/javaCompile/javaCompile.lock b/.gradle/5.4.1/javaCompile/javaCompile.lock
deleted file mode 100644
index 1f56630..0000000
Binary files a/.gradle/5.4.1/javaCompile/javaCompile.lock and /dev/null differ
diff --git a/.gradle/5.4.1/javaCompile/taskHistory.bin b/.gradle/5.4.1/javaCompile/taskHistory.bin
deleted file mode 100644
index 5d3a8fd..0000000
Binary files a/.gradle/5.4.1/javaCompile/taskHistory.bin and /dev/null differ
diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock
deleted file mode 100644
index 562182b..0000000
Binary files a/.gradle/buildOutputCleanup/buildOutputCleanup.lock and /dev/null differ
diff --git a/.gradle/buildOutputCleanup/cache.properties b/.gradle/buildOutputCleanup/cache.properties
deleted file mode 100644
index 9d4b29c..0000000
--- a/.gradle/buildOutputCleanup/cache.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-#Thu Feb 23 08:13:25 CET 2023
-gradle.version=5.6.4
diff --git a/.gradle/buildOutputCleanup/outputFiles.bin b/.gradle/buildOutputCleanup/outputFiles.bin
deleted file mode 100644
index 80c8fe4..0000000
Binary files a/.gradle/buildOutputCleanup/outputFiles.bin and /dev/null differ
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
deleted file mode 100644
index 61a9130..0000000
--- a/.idea/compiler.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/gradle.xml b/.idea/gradle.xml
deleted file mode 100644
index 4877ac9..0000000
--- a/.idea/gradle.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
deleted file mode 100644
index c49333c..0000000
--- a/.idea/misc.xml
+++ /dev/null
@@ -1,105 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/modules/app/vn-delivery.app.iml b/.idea/modules/app/vn-delivery.app.iml
index eaa4acc..1eb37fb 100644
--- a/.idea/modules/app/vn-delivery.app.iml
+++ b/.idea/modules/app/vn-delivery.app.iml
@@ -33,10 +33,10 @@
-
+
-
+
diff --git a/.idea/modules/app/vn-delivery.app.main.iml b/.idea/modules/app/vn-delivery.app.main.iml
index c201235..b7642e6 100644
--- a/.idea/modules/app/vn-delivery.app.main.iml
+++ b/.idea/modules/app/vn-delivery.app.main.iml
@@ -8,7 +8,7 @@
-
+
@@ -18,10 +18,10 @@
-
+
-
+
@@ -47,6 +47,7 @@
+
@@ -58,6 +59,7 @@
+
diff --git a/.idea/modules/app/vn-delivery.app.unitTest.iml b/.idea/modules/app/vn-delivery.app.unitTest.iml
index c69c224..3b5ec3f 100644
--- a/.idea/modules/app/vn-delivery.app.unitTest.iml
+++ b/.idea/modules/app/vn-delivery.app.unitTest.iml
@@ -19,7 +19,7 @@
-
+
@@ -34,10 +34,10 @@
-
+
-
+
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 6ab60ee..14ce642 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -40,27 +40,10 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -75,6 +58,9 @@
+
+
+
@@ -82,6 +68,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -106,6 +110,11 @@
+
+
+
+
+
@@ -128,6 +137,9 @@
+
+
+
@@ -147,7 +159,9 @@
"android-custom-viewC:/Users/sergiodt/AppData/Local/Android/Sdk/sources/android-28/android/widget/AbsListView.java_SELECTED": "AbsListView",
"android-custom-viewC:/Users/sergiodt/AppData/Local/Android/Sdk/sources/android-28/android/widget/ListView.java_SELECTED": "ListView",
"cidr.known.project.marker": "true",
- "last_opened_file_path": "C:/Users/sergiodt/AndroidStudioProjects/vn-picture/platforms/android"
+ "com.google.services.firebase.aqiPopupShown": "true",
+ "last_opened_file_path": "C:/Users/sergiodt/AndroidStudioProjects/vn-picture/platforms/android",
+ "settings.editor.selected.configurable": "experimental"
},
"keyToStringList": {
"ExportApk.BuildVariants": [
@@ -321,12 +335,12 @@
1673366849427
-
- 1678114236321
+
+ 1679661077969
- 1678114236321
+ 1679661077969
@@ -359,15 +373,15 @@
-
-
+
+
-
+
file://$PROJECT_DIR$/app/src/main/java/verdnatura/es/repartoverdnatura/ExpeditionSummaryActivity.kt
- 317
+ 318
diff --git a/app/src/main/java/verdnatura/es/repartoverdnatura/ExpeditionSummaryActivity.kt b/app/src/main/java/verdnatura/es/repartoverdnatura/ExpeditionSummaryActivity.kt
index 6eb0a6e..4c03477 100644
--- a/app/src/main/java/verdnatura/es/repartoverdnatura/ExpeditionSummaryActivity.kt
+++ b/app/src/main/java/verdnatura/es/repartoverdnatura/ExpeditionSummaryActivity.kt
@@ -6,7 +6,6 @@ import android.content.Intent
import android.media.MediaPlayer
import android.os.Bundle
import android.support.v7.app.AppCompatActivity
-import android.util.Log
import android.view.View
import android.view.inputmethod.InputMethodManager
import android.widget.*
@@ -58,7 +57,6 @@ class ExpeditionSummaryActivity : AppCompatActivity() {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_expedition_summary)
- Log.d("VERDNATURA::",""+ localClassName)
mpError = MediaPlayer.create((this), R.raw.error)
mpOk = MediaPlayer.create((this), R.raw.ok)
mpErrorRepeat = MediaPlayer.create((this), R.raw.errorrepeat)
diff --git a/app/src/main/java/verdnatura/es/repartoverdnatura/INTERFACES/RestClient.java b/app/src/main/java/verdnatura/es/repartoverdnatura/INTERFACES/RestClient.java
index 4167eed..41eb9d4 100644
--- a/app/src/main/java/verdnatura/es/repartoverdnatura/INTERFACES/RestClient.java
+++ b/app/src/main/java/verdnatura/es/repartoverdnatura/INTERFACES/RestClient.java
@@ -41,8 +41,8 @@ public interface RestClient {
@POST("/delivery/get_tickets")
Call> getClients(@HeaderMap Map headers, @Body String[] route);
- @POST("/delivery/save_sign")
- Call saveSign(@HeaderMap Map headers, @Body Object[] args);
+ /*@POST("/delivery/save_sign")
+ Call saveSign(@HeaderMap Map headers, @Body Object[] args);*/
@POST("/delivery/update_routes")
Call saveConfig(@HeaderMap Map headers, @Body Object[] args);
diff --git a/app/src/main/java/verdnatura/es/repartoverdnatura/INTERFACES/RestClientSalix.java b/app/src/main/java/verdnatura/es/repartoverdnatura/INTERFACES/RestClientSalix.java
index 1969135..9d30d93 100644
--- a/app/src/main/java/verdnatura/es/repartoverdnatura/INTERFACES/RestClientSalix.java
+++ b/app/src/main/java/verdnatura/es/repartoverdnatura/INTERFACES/RestClientSalix.java
@@ -1,19 +1,27 @@
package verdnatura.es.repartoverdnatura.INTERFACES;
-
import java.util.Map;
+import okhttp3.MultipartBody;
import retrofit2.Call;
import retrofit2.http.Body;
+import retrofit2.http.Header;
import retrofit2.http.HeaderMap;
+import retrofit2.http.Multipart;
import retrofit2.http.POST;
+import retrofit2.http.Part;
+import retrofit2.http.QueryMap;
import verdnatura.es.repartoverdnatura.MODELS.LoginSalix;
-
public interface RestClientSalix{
@POST("/api/Accounts/login")
Call loginSalix(@HeaderMap Map headers, @Body LoginSalix userData);
+ @Multipart
+ @POST("/api/Tickets/saveSign")
+ Call saveSign(@Header("Authorization") String token,
+ @Part MultipartBody.Part file,
+ @QueryMap(encoded=true) Map queryMap);
}
diff --git a/app/src/main/java/verdnatura/es/repartoverdnatura/LoginActivity.java b/app/src/main/java/verdnatura/es/repartoverdnatura/LoginActivity.java
index cb6d817..d86e3c6 100644
--- a/app/src/main/java/verdnatura/es/repartoverdnatura/LoginActivity.java
+++ b/app/src/main/java/verdnatura/es/repartoverdnatura/LoginActivity.java
@@ -93,14 +93,14 @@ public class LoginActivity extends AppCompatActivity {
LoginSalix ls = new LoginSalix(user, password, "", false, "");
- restClientSalix.loginSalix(Utils.getMapSalix(user, password), ls).enqueue(new Callback() {
+ restClientSalix.loginSalix(Utils.getMapLoginSalix(user, password), ls).enqueue(new Callback() {
@Override
public void onResponse(Call call, Response response) {
Utils.progressBar.getDialog().dismiss();
if (response.isSuccessful()) {
Utils.saveUserPass(that, user, password);
- Utils.saveTokenUser(that, response.body().getToken());
+ Utils.saveTokenUser(getApplicationContext(), response.body().getToken());
worker_getId();
txtUser.setText("");
txtPassword.setText("");
@@ -115,7 +115,7 @@ public class LoginActivity extends AppCompatActivity {
@Override
public void onFailure(Call call, Throwable t) {
Utils.progressBar.getDialog().dismiss();
- Utils.showErrorDialog(that, that.getResources().getString(R.string.error_conexion));
+ Utils.showErrorDialog(that, that.getResources().getString(R.string.error_conexion) + t.getMessage());
}
});
diff --git a/app/src/main/java/verdnatura/es/repartoverdnatura/MODELS/SignDataUpload.java b/app/src/main/java/verdnatura/es/repartoverdnatura/MODELS/SignDataUpload.java
index aa852bd..f9e02a6 100644
--- a/app/src/main/java/verdnatura/es/repartoverdnatura/MODELS/SignDataUpload.java
+++ b/app/src/main/java/verdnatura/es/repartoverdnatura/MODELS/SignDataUpload.java
@@ -14,21 +14,18 @@ public class SignDataUpload {
private String clientName = "";
private String idClient = "";
private String signedTime;
- private String addressFk;
- public SignDataUpload(String sign, List tickets, verdnatura.es.repartoverdnatura.MODELS.Location location, String address) {
+ public SignDataUpload(String sign, List tickets, verdnatura.es.repartoverdnatura.MODELS.Location location) {
Sign = sign;
Tickets = tickets;
Location = location;
signedTime = new SimpleDateFormat("yyyy-LL-dd HH:mm", Locale.getDefault()).format(new Date());
- addressFk =address;
}
- public SignDataUpload(String sign, List tickets,String address) {
+ public SignDataUpload(String sign, List tickets) {
Sign = sign;
Tickets = tickets;
Location = null;
signedTime = new SimpleDateFormat("yyyy-LL-dd HH:mm", Locale.getDefault()).format(new Date());
- addressFk = address;
}
@@ -38,13 +35,6 @@ public class SignDataUpload {
public void setSignedTime(String signedTime) {
this.signedTime = signedTime;
}
- public String getAddressFk(){
- return addressFk;
- }
- public void setAddressFk(String address){
- addressFk=address;
- }
-
public String getSign() {
return Sign;
diff --git a/app/src/main/java/verdnatura/es/repartoverdnatura/MainActivity.java b/app/src/main/java/verdnatura/es/repartoverdnatura/MainActivity.java
index 8051605..0f14ae7 100644
--- a/app/src/main/java/verdnatura/es/repartoverdnatura/MainActivity.java
+++ b/app/src/main/java/verdnatura/es/repartoverdnatura/MainActivity.java
@@ -21,24 +21,32 @@ import android.widget.TextView;
import com.google.gson.Gson;
+import java.io.File;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import java.util.Set;
+import okhttp3.MediaType;
+import okhttp3.MultipartBody;
+import okhttp3.RequestBody;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
import verdnatura.es.repartoverdnatura.ADAPTERS.PendingTickets;
import verdnatura.es.repartoverdnatura.ADAPTERS.RutaAdapter;
import verdnatura.es.repartoverdnatura.INTERFACES.RestClient;
+import verdnatura.es.repartoverdnatura.INTERFACES.RestClientSalix;
import verdnatura.es.repartoverdnatura.MODELS.Check;
import verdnatura.es.repartoverdnatura.MODELS.Ruta;
import verdnatura.es.repartoverdnatura.MODELS.SignDataUpload;
import verdnatura.es.repartoverdnatura.UTILS.ApiUtils;
+import verdnatura.es.repartoverdnatura.UTILS.ApiUtilsSalix;
import verdnatura.es.repartoverdnatura.UTILS.LocalStorage;
import verdnatura.es.repartoverdnatura.UTILS.Utils;
@@ -52,6 +60,7 @@ public class MainActivity extends AppCompatActivity {
private PendingTickets pendingAdapter;
private int heightCellRoute;
private int heightCellHeader;
+ private RestClientSalix restClientSalix;
private RestClient restClient;
private DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
private Date date = new Date();
@@ -69,6 +78,7 @@ public class MainActivity extends AppCompatActivity {
setContentView(R.layout.activity_main);
restClient = ApiUtils.getAPIService();
+ restClientSalix = ApiUtilsSalix.getAPIService();
setViews();
getRoutes(null);
@@ -382,9 +392,8 @@ public class MainActivity extends AppCompatActivity {
// startActivity(new Intent(this,InfoActivity.class));
Utils.startPicking(this, "info");
}
-
- public void goToFound(View v) {
- startActivity(new Intent(this, ExpeditionScanActivity.class));
+ public void goToFound(View v){
+ startActivity(new Intent(this,ExpeditionScanActivity.class));
}
/* public void goToLoaders(int pos){
Intent i = new Intent(this,LoadersActivity.class);
@@ -400,68 +409,81 @@ public class MainActivity extends AppCompatActivity {
public void confirmSave(final SignDataUpload data) {
Utils.progressBar.show(this, getResources().getString(R.string.please_wait));
final MainActivity that = this;
- Object[] args = new Object[1];
- args[0] = data;
- restClient.saveSign(Utils.getMapWhitUser(this), args).enqueue(new Callback() {
+
+ String token = Utils.getTokenUser(getApplicationContext());
+ File file = new File(data.getSign());
+ MultipartBody.Part filePart = MultipartBody.Part.createFormData("file", file.getName(), RequestBody.create(MediaType.parse("image/png"), file));
+ Map queryMap = new HashMap<>();
+ queryMap.put("tickets", data.getTickets().toString());
+ queryMap.put("location", new Gson().toJson(data.getLocation()));
+ queryMap.put("signedTime", data.getSignedTime());
+
+ restClientSalix.saveSign(token, filePart, queryMap).enqueue(new Callback() {
@Override
public void onResponse(Call call, Response response) {
Utils.progressBar.getDialog().dismiss();
- if (response.isSuccessful()) {
+ if(response.isSuccessful()){
- // if (response.body().equals("OK")){
- ArrayList listAux = new ArrayList<>();
+ // if (response.body().equals("OK")){
+ ArrayList listAux = new ArrayList<>();
- listaPendientes.remove(data);
- LocalStorage.udpatePendingSigns(that, listaPendientes);
- getPending();
+ listaPendientes.remove(data);
+ LocalStorage.udpatePendingSigns(that,listaPendientes);
+ getPending();
/* }else{
Utils.showErrorDialog(that,that.getResources().getString(R.string.error_conexion));
}*/
- } else {
+ }else{
//Log.i("ERROR","error al guardar");
- Utils.showErrorDialog(that, that.getResources().getString(R.string.error_conexion));
- //Utils.showErrorDialog(that,response.message());
+ //Utils.showErrorDialog(that,that.getResources().getString(R.string.error_conexion));
+ Utils.showErrorDialog(that,response.message());
}
}
@Override
public void onFailure(Call call, Throwable t) {
Utils.progressBar.getDialog().dismiss();
- Utils.showErrorDialog(that, that.getResources().getString(R.string.error_conexion));
+ Utils.showErrorDialog(that,t.getMessage());
}
});
}
- public void confirmSavePos(View v) {
+ public void confirmSavePos(View v){
if (listaPendientes.size() > 0) {
Utils.progressBar.show(this, getResources().getString(R.string.please_wait));
final SignDataUpload data = listaPendientes.get(0);
final MainActivity that = this;
- Object[] args = new Object[1];
- args[0] = data;
- restClient.saveSign(Utils.getMapWhitUser(this), args).enqueue(new Callback() {
+ String token = Utils.getTokenUser(getApplicationContext());
+ File file = new File(data.getSign());
+ MultipartBody.Part filePart = MultipartBody.Part.createFormData("file", file.getName(), RequestBody.create(MediaType.parse("image/png"), file));
+ Map queryMap = new HashMap<>();
+ queryMap.put("tickets", data.getTickets().toString());
+ queryMap.put("location", new Gson().toJson(data.getLocation()));
+ queryMap.put("signedTime", data.getSignedTime());
+
+ restClientSalix.saveSign(token, filePart, queryMap).enqueue(new Callback() {
@Override
public void onResponse(Call call, Response response) {
if (response.isSuccessful()) {
- listaPendientes.remove(data);
- LocalStorage.udpatePendingSigns(that, listaPendientes);
- confirmSavePos(null);
+ listaPendientes.remove(data);
+ LocalStorage.udpatePendingSigns(that, listaPendientes);
+ confirmSavePos(null);
- } else {
- Utils.showErrorDialog(that, that.getResources().getString(R.string.error_conexion));
- }
+ } else {
+ Utils.showErrorDialog(that,response.message());
+ }
}
@Override
public void onFailure(Call call, Throwable t) {
Utils.progressBar.getDialog().dismiss();
- Utils.showErrorDialog(that, that.getResources().getString(R.string.error_conexion));
+ Utils.showErrorDialog(that,t.getMessage());
}
});
} else {
diff --git a/app/src/main/java/verdnatura/es/repartoverdnatura/NetworkStateReveiver.java b/app/src/main/java/verdnatura/es/repartoverdnatura/NetworkStateReveiver.java
index 165807a..0a32cd0 100644
--- a/app/src/main/java/verdnatura/es/repartoverdnatura/NetworkStateReveiver.java
+++ b/app/src/main/java/verdnatura/es/repartoverdnatura/NetworkStateReveiver.java
@@ -9,21 +9,30 @@ import android.util.Log;
import com.google.gson.Gson;
+import java.io.File;
import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
import java.util.Set;
+import okhttp3.MediaType;
+import okhttp3.MultipartBody;
+import okhttp3.RequestBody;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
import verdnatura.es.repartoverdnatura.INTERFACES.RestClient;
+import verdnatura.es.repartoverdnatura.INTERFACES.RestClientSalix;
import verdnatura.es.repartoverdnatura.MODELS.SignDataUpload;
import verdnatura.es.repartoverdnatura.UTILS.ApiUtils;
+import verdnatura.es.repartoverdnatura.UTILS.ApiUtilsSalix;
import verdnatura.es.repartoverdnatura.UTILS.LocalStorage;
import verdnatura.es.repartoverdnatura.UTILS.Utils;
public class NetworkStateReveiver extends BroadcastReceiver {
public ArrayList listData = new ArrayList<>();
private RestClient restClient;
+ private RestClientSalix restClientSalix;
public Context context;
public void onReceive(Context context, Intent intent) {
@@ -37,6 +46,7 @@ public class NetworkStateReveiver extends BroadcastReceiver {
Set listPendientes = LocalStorage.getPendingSigns(context);
if (listPendientes.size() != 0){
restClient = ApiUtils.getAPIService();
+ restClientSalix = ApiUtilsSalix.getAPIService();
Gson gson = new Gson();
listData = new ArrayList<>();
for (String s : listPendientes){
@@ -56,9 +66,15 @@ public class NetworkStateReveiver extends BroadcastReceiver {
public void confirmSave(final int pos){
if (pos < listData.size()) {
//Utils.progressBar.show(this, getResources().getString(R.string.please_wait));
- Object[] args = new Object[1];
- args[0] = listData.get(pos);
- restClient.saveSign(Utils.getMapWhitUser(context), args).enqueue(new Callback() {
+ String token = Utils.getTokenUser(this.context);
+ File file = new File(listData.get(pos).getSign());
+ MultipartBody.Part filePart = MultipartBody.Part.createFormData("file", file.getName(), RequestBody.create(MediaType.parse("image/png"), file));
+ Map queryMap = new HashMap<>();
+ queryMap.put("tickets", listData.get(pos).getTickets().toString());
+ queryMap.put("location", new Gson().toJson(listData.get(pos).getLocation()));
+ queryMap.put("signedTime", listData.get(pos).getSignedTime());
+
+ restClientSalix.saveSign(token, filePart, queryMap).enqueue(new Callback() {
@Override
public void onResponse(Call call, Response response) {
diff --git a/app/src/main/java/verdnatura/es/repartoverdnatura/SignActivity.java b/app/src/main/java/verdnatura/es/repartoverdnatura/SignActivity.java
index e9f72d3..3c708e3 100644
--- a/app/src/main/java/verdnatura/es/repartoverdnatura/SignActivity.java
+++ b/app/src/main/java/verdnatura/es/repartoverdnatura/SignActivity.java
@@ -20,23 +20,33 @@ import android.util.Log;
import android.view.View;
import android.widget.TextView;
+import com.google.gson.Gson;
import com.simplify.ink.InkView;
import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
+import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
+import okhttp3.MediaType;
+import okhttp3.MultipartBody;
+import okhttp3.RequestBody;
+import okio.ByteString;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
-import verdnatura.es.repartoverdnatura.INTERFACES.RestClient;
+import retrofit2.http.QueryMap;
+import verdnatura.es.repartoverdnatura.INTERFACES.RestClientSalix;
import verdnatura.es.repartoverdnatura.MODELS.ClientTickets;
import verdnatura.es.repartoverdnatura.MODELS.SignDataUpload;
-import verdnatura.es.repartoverdnatura.UTILS.ApiUtils;
+import verdnatura.es.repartoverdnatura.UTILS.ApiUtilsSalix;
import verdnatura.es.repartoverdnatura.UTILS.LocalStorage;
import verdnatura.es.repartoverdnatura.UTILS.Utils;
@@ -45,7 +55,7 @@ public class SignActivity extends AppCompatActivity implements LocationListener{
private InkView ink;
public ClientTickets clientTickets;
private TextView txtTickets, txtPackages, txtCliente;
- private RestClient restClient;
+ private RestClientSalix restClientSalix;
public LocationManager locationManager;
public Location location;
public List tickets = new ArrayList<>();
@@ -56,7 +66,7 @@ public class SignActivity extends AppCompatActivity implements LocationListener{
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sign);
- restClient = ApiUtils.getAPIService();
+ restClientSalix = ApiUtilsSalix.getAPIService();
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
String provider = locationManager.getBestProvider(criteria, true);
@@ -153,7 +163,12 @@ public class SignActivity extends AppCompatActivity implements LocationListener{
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
- SignDataUpload data = new SignDataUpload(that.BitMapToString(drawing),tickets,new verdnatura.es.repartoverdnatura.MODELS.Location(clientTickets.getLongitude(),clientTickets.getLatitude()),clientTickets.getAddress());
+ SignDataUpload data = null;
+ try {
+ data = new SignDataUpload(that.BitMapToString(drawing, tickets),tickets,new verdnatura.es.repartoverdnatura.MODELS.Location(clientTickets.getLongitude(),clientTickets.getLatitude()));
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
confirmSave(data);
}
@@ -162,7 +177,12 @@ public class SignActivity extends AppCompatActivity implements LocationListener{
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
- SignDataUpload data = new SignDataUpload(that.BitMapToString(drawing),tickets,new verdnatura.es.repartoverdnatura.MODELS.Location(String.valueOf(location.getLongitude()),String.valueOf(location.getLatitude())),clientTickets.getAddress());
+ SignDataUpload data = null;
+ try {
+ data = new SignDataUpload(that.BitMapToString(drawing, tickets),tickets,new verdnatura.es.repartoverdnatura.MODELS.Location(String.valueOf(location.getLongitude()),String.valueOf(location.getLatitude())));
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
confirmSave(data);
}
@@ -172,21 +192,41 @@ public class SignActivity extends AppCompatActivity implements LocationListener{
}else{
//sergio: No subido para comprobar si location == null.
if (location==null) {
- SignDataUpload data = new SignDataUpload(that.BitMapToString(drawing), tickets,clientTickets.getAddress());
- // SignDataUpload data = new SignDataUpload(that.BitMapToString(drawing), tickets, new verdnatura.es.repartoverdnatura.MODELS.Location("0.0", "0.0"));
+ SignDataUpload data = null;
+ try {
+ data = new SignDataUpload(that.BitMapToString(drawing, tickets), tickets);
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ // SignDataUpload data = new SignDataUpload(that.BitMapToString(drawing), tickets, new verdnatura.es.repartoverdnatura.MODELS.Location("0.0", "0.0"));
confirmSave(data);
}else{
- SignDataUpload data = new SignDataUpload(that.BitMapToString(drawing),tickets,new verdnatura.es.repartoverdnatura.MODELS.Location(String.valueOf(location.getLongitude()),String.valueOf(location.getLatitude())),clientTickets.getAddress());
+ SignDataUpload data = null;
+ try {
+ data = new SignDataUpload(that.BitMapToString(drawing, tickets),tickets,new verdnatura.es.repartoverdnatura.MODELS.Location(String.valueOf(location.getLongitude()),String.valueOf(location.getLatitude())));
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
confirmSave(data);}
}
}else{
if (location != null){
- SignDataUpload data = new SignDataUpload(that.BitMapToString(drawing),tickets,new verdnatura.es.repartoverdnatura.MODELS.Location(String.valueOf(location.getLongitude()),String.valueOf(location.getLatitude())),clientTickets.getAddress());
+ SignDataUpload data = null;
+ try {
+ data = new SignDataUpload(that.BitMapToString(drawing, tickets),tickets,new verdnatura.es.repartoverdnatura.MODELS.Location(String.valueOf(location.getLongitude()),String.valueOf(location.getLatitude())));
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
confirmSave(data);
}else{
//SignDataUpload data = new SignDataUpload(that.BitMapToString(drawing),tickets,new verdnatura.es.repartoverdnatura.MODELS.Location("0.0","0.0"));
- SignDataUpload data = new SignDataUpload(that.BitMapToString(drawing), tickets,clientTickets.getAddress());
+ SignDataUpload data = null;
+ try {
+ data = new SignDataUpload(that.BitMapToString(drawing, tickets), tickets);
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
confirmSave(data);
}
@@ -202,24 +242,28 @@ public class SignActivity extends AppCompatActivity implements LocationListener{
}
public void confirmSave(final SignDataUpload data){
- /* Log.d("VERDNATURA::","La firma es "+data.getSignedTime());
- Log.d("VERDNATURA::","EL consig es "+data.getAddressFk());*/
+ Log.d("VERDNATURA::","La firma es "+data.getSignedTime());
Utils.progressBar.show(this,getResources().getString(R.string.please_wait));
final SignActivity that = this;
- Object[] args = new Object[1];
- args[0] = data;
+ String token = Utils.getTokenUser(getApplicationContext());
+ File file = new File(data.getSign());
+ MultipartBody.Part filePart = MultipartBody.Part.createFormData("file", file.getName(), RequestBody.create(MediaType.parse("image/png"), file));
+ Map queryMap = new HashMap<>();
+ queryMap.put("tickets", data.getTickets().toString());
+ queryMap.put("location", new Gson().toJson(data.getLocation()));
+ queryMap.put("signedTime", data.getSignedTime());
- restClient.saveSign(Utils.getMapWhitUser(this),args).enqueue(new Callback() {
+ restClientSalix.saveSign(token, filePart, queryMap).enqueue(new Callback() {
@Override
public void onResponse(Call call, Response response) {
Utils.progressBar.getDialog().dismiss();
if(response.isSuccessful()){
// if (response.body().equals("OK")){
- //Log.i("INFO","guardado");
+
Intent returnIntent = new Intent();
returnIntent.putExtra("idCliente",clientTickets.getClient());
setResult(Activity.RESULT_OK,returnIntent);
@@ -230,6 +274,7 @@ public class SignActivity extends AppCompatActivity implements LocationListener{
}else{
// Log.i("ERROR","error al guardar");
+ Utils.showErrorDialog(that,response.message());
saveLocal(data);
}
}
@@ -237,6 +282,7 @@ public class SignActivity extends AppCompatActivity implements LocationListener{
@Override
public void onFailure(Call call, Throwable t) {
Utils.progressBar.getDialog().dismiss();
+ Utils.showErrorDialog(that,t.getMessage());
saveLocal(data);
}
});
@@ -251,12 +297,28 @@ public class SignActivity extends AppCompatActivity implements LocationListener{
finish();
}
- public String BitMapToString(Bitmap bitmap){
- ByteArrayOutputStream baos=new ByteArrayOutputStream();
+ public String BitMapToString(Bitmap bitmap, List tickets) throws IOException {
+ String fileNameSign = getBaseContext().getExternalCacheDir() + "/sign";
+ for (Integer ticket: tickets) {
+ fileNameSign += "_" + ticket.toString();
+ }
+
+ //Create a file to write bitmap data
+ File f = new File(fileNameSign + ".png");
+ f.createNewFile();
+
+ //Convert bitmap to byte array
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG,100, baos);
- byte [] b=baos.toByteArray();
- String temp=Base64.encodeToString(b, Base64.DEFAULT);
- return temp;
+ byte [] b = baos.toByteArray();
+
+ //write the bytes in file
+ FileOutputStream fos = new FileOutputStream(f);
+ fos.write(b);
+ fos.flush();
+ fos.close();
+
+ return fileNameSign + ".png";
}
public void clearSign(View v){
diff --git a/app/src/main/java/verdnatura/es/repartoverdnatura/Tickets.java b/app/src/main/java/verdnatura/es/repartoverdnatura/Tickets.java
index b6474d0..128ab23 100644
--- a/app/src/main/java/verdnatura/es/repartoverdnatura/Tickets.java
+++ b/app/src/main/java/verdnatura/es/repartoverdnatura/Tickets.java
@@ -24,23 +24,29 @@ import android.widget.Toast;
import com.google.gson.Gson;
+import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import okhttp3.MediaType;
+import okhttp3.MultipartBody;
+import okhttp3.RequestBody;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
import verdnatura.es.repartoverdnatura.ADAPTERS.ClientAdapter;
import verdnatura.es.repartoverdnatura.ADAPTERS.PhonesAdapter;
import verdnatura.es.repartoverdnatura.INTERFACES.RestClient;
+import verdnatura.es.repartoverdnatura.INTERFACES.RestClientSalix;
import verdnatura.es.repartoverdnatura.MODELS.ClientTickets;
import verdnatura.es.repartoverdnatura.MODELS.Cliente;
import verdnatura.es.repartoverdnatura.MODELS.Ruta;
import verdnatura.es.repartoverdnatura.MODELS.SignDataUpload;
import verdnatura.es.repartoverdnatura.UTILS.ApiUtils;
+import verdnatura.es.repartoverdnatura.UTILS.ApiUtilsSalix;
import verdnatura.es.repartoverdnatura.UTILS.LocalStorage;
import verdnatura.es.repartoverdnatura.UTILS.Utils;
@@ -54,6 +60,7 @@ public class Tickets extends AppCompatActivity {
private ClientAdapter adapter;
public Ruta route;
private RestClient restClient;
+ private RestClientSalix restClientSalix;
private TextView txtZona, txtLines, btnVolver, txtClientsToSign, btnShowSigned;
private boolean isSignedShowed = false;
private ListView dialogListView;
@@ -69,6 +76,7 @@ public class Tickets extends AppCompatActivity {
Bundle bundle = intent.getExtras();
route = (Ruta) bundle.getSerializable("route");
restClient = ApiUtils.getAPIService();
+ restClientSalix = ApiUtilsSalix.getAPIService();
setViews();
checkPendingSigns();
//Log.i("VERDNATURA","Se le pasa la ruta "+route.getId());
@@ -104,9 +112,15 @@ public class Tickets extends AppCompatActivity {
if (pos < listData.size()) {
Utils.progressBar.show(this, getResources().getString(R.string.please_wait));
final Tickets that = this;
- Object[] args = new Object[1];
- args[0] = listData.get(pos);
- restClient.saveSign(Utils.getMapWhitUser(this), args).enqueue(new Callback() {
+ String token = Utils.getTokenUser(that);
+ File file = new File(listData.get(pos).getSign());
+ MultipartBody.Part filePart = MultipartBody.Part.createFormData("file", file.getName(), RequestBody.create(MediaType.parse("image/png"), file));
+ Map queryMap = new HashMap<>();
+ queryMap.put("tickets", listData.get(pos).getTickets().toString());
+ queryMap.put("location", new Gson().toJson(listData.get(pos).getLocation()));
+ queryMap.put("signedTime", listData.get(pos).getSignedTime());
+
+ restClientSalix.saveSign(token, filePart, queryMap).enqueue(new Callback() {
@Override
public void onResponse(Call call, Response response) {
Utils.progressBar.getDialog().dismiss();
@@ -120,7 +134,6 @@ public class Tickets extends AppCompatActivity {
} else {
//Log.i("ERROR", "error al guardar");
- Utils.showErrorDialog(that, that.getResources().getString(R.string.error_conexion));
getData(pos);
}
}
@@ -129,6 +142,7 @@ public class Tickets extends AppCompatActivity {
public void onFailure(Call call, Throwable t) {
Utils.progressBar.getDialog().dismiss();
getData(pos);
+ Utils.showErrorDialog(that,t.getMessage());
}
});
} else {
diff --git a/app/src/main/java/verdnatura/es/repartoverdnatura/UTILS/ApiUtils.java b/app/src/main/java/verdnatura/es/repartoverdnatura/UTILS/ApiUtils.java
index b372540..7f45658 100644
--- a/app/src/main/java/verdnatura/es/repartoverdnatura/UTILS/ApiUtils.java
+++ b/app/src/main/java/verdnatura/es/repartoverdnatura/UTILS/ApiUtils.java
@@ -6,10 +6,10 @@ public class ApiUtils {
private ApiUtils() {}
//public static final String BASE_URL = "http://10.1.4.42:9000/";
- //public static final String BASE_URL = "http://192.168.1.128:9000/";
- //public static final String BASE_URL = "https://test-app.verdnatura.es/";
+ //public static final String BASE_URL = "http://192.168.1.128:9000/";
+ public static final String BASE_URL = "http://10.0.2.2:8080/";
- public static final String BASE_URL = "https://app.verdnatura.es/";
+ //public static final String BASE_URL = "https://test-app.verdnatura.es/";
public static RestClient getAPIService() {
return RetrofitClient.getClient(BASE_URL).create(RestClient.class);
diff --git a/app/src/main/java/verdnatura/es/repartoverdnatura/UTILS/ApiUtilsSalix.java b/app/src/main/java/verdnatura/es/repartoverdnatura/UTILS/ApiUtilsSalix.java
index b2ea807..772de4c 100644
--- a/app/src/main/java/verdnatura/es/repartoverdnatura/UTILS/ApiUtilsSalix.java
+++ b/app/src/main/java/verdnatura/es/repartoverdnatura/UTILS/ApiUtilsSalix.java
@@ -6,9 +6,9 @@ public class ApiUtilsSalix {
private ApiUtilsSalix() {}
- public static final String BASE_URL_SALIX = "https://salix.verdnatura.es/";
- // public static final String BASE_URL_SALIX = "https://test-salix.verdnatura.es/";
- // public static final String BASE_URL_SALIX = "http://localhost:3000/";
+ //public static final String BASE_URL_SALIX = "https://salix.verdnatura.es/";
+ //public static final String BASE_URL_SALIX = "https://test-salix.verdnatura.es/";
+ public static final String BASE_URL_SALIX = "http://10.0.2.2:3000/";
public static RestClientSalix getAPIService() {
return RetrofitClientSalix.getClient(BASE_URL_SALIX).create(RestClientSalix.class);
}
diff --git a/app/src/main/java/verdnatura/es/repartoverdnatura/UTILS/Utils.java b/app/src/main/java/verdnatura/es/repartoverdnatura/UTILS/Utils.java
index 618aa6e..f5f1744 100644
--- a/app/src/main/java/verdnatura/es/repartoverdnatura/UTILS/Utils.java
+++ b/app/src/main/java/verdnatura/es/repartoverdnatura/UTILS/Utils.java
@@ -8,6 +8,7 @@ import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
+import android.preference.PreferenceManager;
import android.provider.Settings;
import android.text.InputType;
import android.util.Log;
@@ -64,12 +65,20 @@ public class Utils {
return map;
}
- public static Map getMapSalix(String user, String password) {
- map.put("version", "1");
- map.put("aplicacion", "json");
- map.put("user", user);
- map.put("pass", password);
- map.put("Content-Type", "application/json");
+ public static Map getMapLoginSalix(String user, String password) {
+ mapSalix.put("version", "1");
+ mapSalix.put("aplicacion", "json");
+ mapSalix.put("user", user);
+ mapSalix.put("pass", password);
+ mapSalix.put("Content-Type", "application/json");
+ return mapSalix;
+ }
+
+ public static Map getMapSalix(String token) {
+ mapSalix.put("version", "1");
+ mapSalix.put("aplicacion", "json");
+ mapSalix.put("Authorization", token);
+ mapSalix.put("Content-Type", " multipart/form-data");
return mapSalix;
}
@@ -123,7 +132,6 @@ public class Utils {
AlertDialog alert11 = builder1.create();
alert11.show();
}
-
public static void showInputDialogExpedition(final Context context, String title) {
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle(title);
@@ -150,7 +158,6 @@ public class Utils {
builder.show();
}
-
public static void saveIdUser(Context context, String idUser) {
sp = context.getSharedPreferences("delivery", Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
@@ -158,13 +165,18 @@ public class Utils {
editor.commit();
}
- public static void saveTokenUser(Context context, String idUser) {
- sp = context.getSharedPreferences("delivery", Activity.MODE_PRIVATE);
+ public static void saveTokenUser(Context context, String token) {
+ sp = PreferenceManager.getDefaultSharedPreferences(context);
SharedPreferences.Editor editor = sp.edit();
- editor.putString("idToken", idUser);
+ editor.putString("idToken", token);
editor.commit();
}
+ public static String getTokenUser(Context context) {
+ sp = PreferenceManager.getDefaultSharedPreferences(context);
+ return sp.getString("idToken", "notoken");
+ }
+
public static void saveIdUserLogin(Context context, String idUser) {
sp = context.getSharedPreferences("deliveryLogin", Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
@@ -172,7 +184,6 @@ public class Utils {
editor.commit();
}
-
public static String getIdUserLogin(Context context) {
sp = context.getSharedPreferences("deliveryLogin", Activity.MODE_PRIVATE);
return sp.getString("idUserLogin", "nouser");
@@ -192,12 +203,10 @@ public class Utils {
sp = context.getSharedPreferences("delivery", Activity.MODE_PRIVATE);
return sp.getString("user", "nouser");
}
-
public static String getPass(Context context) {
sp = context.getSharedPreferences("delivery", Activity.MODE_PRIVATE);
return sp.getString("pass", "");
}
-
public static String getIdUser(Context context) {
sp = context.getSharedPreferences("delivery", Activity.MODE_PRIVATE);
return sp.getString("idUser", "nouser");
diff --git a/local.properties b/local.properties
index af2722f..65ecb3e 100644
--- a/local.properties
+++ b/local.properties
@@ -4,5 +4,5 @@
# Location of the SDK. This is only used by Gradle.
# For customization when using a Version Control System, please read the
# header note.
-#Thu May 06 17:26:13 CEST 2021
-sdk.dir=C\:\\Users\\sergiodt\\AppData\\Local\\Android\\Sdk
+#Wed Feb 15 07:35:16 CET 2023
+sdk.dir=C\:\\Users\\alexandre\\AppData\\Local\\Android\\Sdk