diff --git a/FIUBER/app/src/main/java/com/taller/fiuber/LoginActivity.java b/FIUBER/app/src/main/java/com/taller/fiuber/LoginActivity.java index 1c25bfd..09e3588 100644 --- a/FIUBER/app/src/main/java/com/taller/fiuber/LoginActivity.java +++ b/FIUBER/app/src/main/java/com/taller/fiuber/LoginActivity.java @@ -76,7 +76,7 @@ protected void onCreate(Bundle savedInstanceState) { //Si ya se encuentra logeado va directo a la pantalla principal if ((AccessToken.getCurrentAccessToken() != null) ||(sharedPref.getBoolean("logueado", false))){ - if(Objects.equals(sharedPref.getString("tipo", null), "chofer")){ + if(Objects.equals(sharedPref.getString("tipo", null), "driver")){ goMainChofer(); } else { goMainPasajero(); @@ -179,18 +179,20 @@ public void ejecutar(JSONObject respuesta, long codigoServidor) { String str = respuesta.toString(); Log.v(TAG, "Respueta server: "+str); - if(codigoServidor == 200){ + if((codigoServidor >= 200) && (codigoServidor <= 210)){ //Usuario y contraseña correctos try { String strToken = respuesta.getString("token"); - Log.v(TAG, "Token: "+strToken); + Log.v(TAG, "Token : "+strToken); String strTipo = respuesta.getString("tipo"); - Log.v(TAG, "Tipo: "+strTipo); + Log.v(TAG, "Tipo : "+strTipo); + String strIDusr = respuesta.getString("id"); + Log.v(TAG, "ID Usr: "+strIDusr); editorShared.putBoolean("logueado", true); editorShared.putString("tipo", strTipo); + editorShared.putString("ID", strIDusr); editorShared.apply(); - if(Objects.equals(strTipo, "chofer")){ - Log.v(TAG, "ENRTRA ACA"); + if(Objects.equals(strTipo, "driver")){ goMainChofer(); } else { goMainPasajero(); @@ -205,7 +207,7 @@ public void ejecutar(JSONObject respuesta, long codigoServidor) { strMsj = respuesta.getString("message"); Log.v(TAG, "Mensaje: "+strMsj); showProgress(false); - Toast.makeText(getApplicationContext(), strMsj, Toast.LENGTH_SHORT).show(); + Toast.makeText(getApplicationContext(), "Usuario incorrecto", Toast.LENGTH_SHORT).show(); } catch (JSONException e) { Log.v(TAG, "Error al intentar leer el JSON"); } @@ -246,7 +248,7 @@ private void attemptLogin() { } //Autenticación con el server - if(!cancel) { + if (!cancel) { showProgress(true); sharedServer.obtenerToken(email, password, new IngresarUsuarioCallback()); } else { diff --git a/FIUBER/app/src/main/java/com/taller/fiuber/ProfileActivity.java b/FIUBER/app/src/main/java/com/taller/fiuber/ProfileActivity.java index 5ec3c25..26f6cc9 100644 --- a/FIUBER/app/src/main/java/com/taller/fiuber/ProfileActivity.java +++ b/FIUBER/app/src/main/java/com/taller/fiuber/ProfileActivity.java @@ -16,6 +16,7 @@ import android.widget.TextView; import android.widget.Toast; +import org.json.JSONException; import org.json.JSONObject; import java.util.Calendar; @@ -34,6 +35,16 @@ public class ProfileActivity extends HashFunction { private int dia, mes, año; private DatePickerDialog.OnDateSetListener mDataSetListener; + //Campos de texto + TextView usuario; + EditText contraseña; + EditText mail; + EditText nombre; + EditText apellido; + EditText cuentaFacebook; + EditText fechaNacimiento; + EditText nacionalidad; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -43,17 +54,21 @@ protected void onCreate(Bundle savedInstanceState) { sharedPref = getSharedPreferences(getString(R.string.saved_data), Context.MODE_PRIVATE); editorShared = sharedPref.edit(); - //Debería obtener el ID del usr desde el sharedPref - //Por el momento utilizo el ID = 2 - cargarDatosUsuario("2"); + //Obtengo el ID del usuario logueado + final String IDusr = sharedPref.getString("ID", null); + Log.v(TAG, "ID Usr: "+IDusr); + + //Obtengo los datos del usuario logueado + cargarDatosUsuario(IDusr); - final TextView usuario = (TextView) findViewById(R.id.perfil_usuario); - final EditText contraseña = (EditText) findViewById(R.id.perfil_contraseña); - final EditText mail = (EditText) findViewById(R.id.perfil_mail); - final EditText nombre = (EditText) findViewById(R.id.perfil_nombre); - final EditText apellido = (EditText) findViewById(R.id.perfil_apellido); - final EditText cuentaFacebook = (EditText) findViewById(R.id.perfil_facebook); - final EditText fechaNacimiento = (EditText) findViewById(R.id.perfil_fechaNacimiento); + usuario = (TextView) findViewById(R.id.perfil_usuario); + contraseña = (EditText) findViewById(R.id.perfil_contraseña); + mail = (EditText) findViewById(R.id.perfil_mail); + nombre = (EditText) findViewById(R.id.perfil_nombre); + apellido = (EditText) findViewById(R.id.perfil_apellido); + cuentaFacebook = (EditText) findViewById(R.id.perfil_facebook); + fechaNacimiento = (EditText) findViewById(R.id.perfil_fechaNacimiento); + nacionalidad = (EditText) findViewById(R.id.perfil_nacionalidad); btnFecha = (Button) findViewById(R.id.btnPerfilFecha); @@ -92,19 +107,21 @@ public void onClick(View view) { String strApellido = apellido.getText().toString(); String strCuentaFacebook = cuentaFacebook.getText().toString(); String strFechaNacimiento = fechaNacimiento.getText().toString(); + String strNacionalidad = nacionalidad.getText().toString(); - Log.v(TAG, "Usuario : "+strUsuario); - Log.v(TAG, "Contraseña : "+strContraseña); - Log.v(TAG, "Mail : "+strMail); - Log.v(TAG, "Nombre : "+strNombre); - Log.v(TAG, "Apellido : "+strApellido); - Log.v(TAG, "Cuenta Face: "+strCuentaFacebook); - Log.v(TAG, "Fecha Nacim: "+strFechaNacimiento); + Log.v(TAG, "Usuario : "+strUsuario); + //Log.v(TAG, "Contraseña : "+strContraseña); + Log.v(TAG, "Mail : "+strMail); + Log.v(TAG, "Nombre : "+strNombre); + Log.v(TAG, "Apellido : "+strApellido); + Log.v(TAG, "Cuenta Face : "+strCuentaFacebook); + Log.v(TAG, "Fecha Nacim : "+strFechaNacimiento); + Log.v(TAG, "Nacionalidad: "+strNacionalidad); computeSHAHash(strContraseña); //Por ahora se le manda un JSON cualquier y devuelve "OK" - modificarPerfilenServidor("2", strUsuario, strContraseña, strMail, strNombre, strApellido, strCuentaFacebook, "Argentina"); + modificarPerfilenServidor(IDusr, "passenger", strUsuario, strContraseña, strMail, strNombre, strApellido, strCuentaFacebook, strNacionalidad, strFechaNacimiento); } }); } @@ -119,8 +136,40 @@ public void ejecutar(JSONObject respuesta, long codigoServidor) { Log.v(TAG, "Codigo server :"+codigoServidor); String str = respuesta.toString(); Log.v(TAG, "Respueta server: "+str); - if(codigoServidor == 200){ + if((codigoServidor >= 200) && (codigoServidor <= 210)){ Log.i(TAG, "Get de usuario exitoso"); + try { + String strUser = respuesta.getString("username"); + //Log.v(TAG, "Usuario : "+strUser); + usuario.setText(strUser); + + String strFirstName = respuesta.getString("name"); + //Log.v(TAG, "Nombre : "+strFirstName); + nombre.setText(strFirstName); + + String strLastName = respuesta.getString("surname"); + //Log.v(TAG, "Apellido: "+strFirstName); + apellido.setText(strLastName); + + //String strPassword = respuesta.getString("password"); + //Log.v(TAG, "Contraseña: "+strPassword); + contraseña.setText("******"); + + String strMail = respuesta.getString("email"); + //Log.v(TAG, "Mail: "+strMail); + mail.setText(strMail); + + String strBirthdate = respuesta.getString("birthdate"); + //Log.v(TAG, "Fecha nac: "+strBirthdate); + fechaNacimiento.setText(strBirthdate); + + String strCountry = respuesta.getString("country"); + //Log.v(TAG, "Nacionalidad: "+strBirthdate); + nacionalidad.setText(strCountry); + + } catch (JSONException e) { + e.printStackTrace(); + } } else { Log.w(TAG, "Error en get de usuario"); } @@ -144,7 +193,7 @@ public void ejecutar(JSONObject respuesta, long codigoServidor) { Log.v(TAG, "Codigo server :"+codigoServidor); String str = respuesta.toString(); Log.v(TAG, "Respueta server: "+str); - if(codigoServidor == 200){ + if((codigoServidor >= 200) && (codigoServidor <= 210)){ Log.i(TAG, "Modificación de usuario exitoso"); Toast.makeText(getApplicationContext(), R.string.modificacion_usr_exitoso, Toast.LENGTH_SHORT).show(); } else { @@ -157,7 +206,7 @@ public void ejecutar(JSONObject respuesta, long codigoServidor) { /** * Envía la petición al APP Server para modificar los datos de un usuario específico. */ - private void modificarPerfilenServidor(String idUsr, String usuario, String contraseña, String mail, String nombre, String apellido, String cuentaFacebook, String nacionalidad){ - sharedServer.modificarUsuario(idUsr, usuario, contraseña, mail, nombre, apellido, cuentaFacebook, nacionalidad, new ModificarUsuarioCallback()); + private void modificarPerfilenServidor(String idUsr, String tipoUsuario, String usuario, String contraseña, String mail, String nombre, String apellido, String cuentaFacebook, String nacionalidad, String fechaNacimiento){ + sharedServer.modificarUsuario(idUsr, tipoUsuario, usuario, contraseña, mail, nombre, apellido, cuentaFacebook, nacionalidad, fechaNacimiento, new ModificarUsuarioCallback()); } } diff --git a/FIUBER/app/src/main/java/com/taller/fiuber/RegisterChoferActivity.java b/FIUBER/app/src/main/java/com/taller/fiuber/RegisterChoferActivity.java index 6c8061c..fe4f46c 100644 --- a/FIUBER/app/src/main/java/com/taller/fiuber/RegisterChoferActivity.java +++ b/FIUBER/app/src/main/java/com/taller/fiuber/RegisterChoferActivity.java @@ -188,7 +188,7 @@ public void ejecutar(JSONObject respuesta, long codigoServidor) { Log.v(TAG, "Codigo server :"+codigoServidor); String str = respuesta.toString(); Log.v(TAG, "Respueta server: "+str); - if(codigoServidor == 200){ + if((codigoServidor >= 200) && (codigoServidor <= 210)){ Log.i(TAG, "Registro de usuario exitoso"); Toast.makeText(getApplicationContext(), R.string.registo_usr_exitoso, Toast.LENGTH_SHORT).show(); goLogin(); diff --git a/FIUBER/app/src/main/java/com/taller/fiuber/RegisterPasajeroActivity.java b/FIUBER/app/src/main/java/com/taller/fiuber/RegisterPasajeroActivity.java index b4173e5..8d91e04 100644 --- a/FIUBER/app/src/main/java/com/taller/fiuber/RegisterPasajeroActivity.java +++ b/FIUBER/app/src/main/java/com/taller/fiuber/RegisterPasajeroActivity.java @@ -125,7 +125,7 @@ public void ejecutar(JSONObject respuesta, long codigoServidor) { Log.v(TAG, "Codigo server :"+codigoServidor); String str = respuesta.toString(); Log.v(TAG, "Respueta server: "+str); - if(codigoServidor == 200){ + if((codigoServidor >= 200) && (codigoServidor <= 210)){ Log.i(TAG, "Registro de usuario exitoso"); Toast.makeText(getApplicationContext(), R.string.registo_usr_exitoso, Toast.LENGTH_SHORT).show(); goLogin(); diff --git a/FIUBER/app/src/main/java/com/taller/fiuber/SharedServer.java b/FIUBER/app/src/main/java/com/taller/fiuber/SharedServer.java index c081bc7..cd0e632 100644 --- a/FIUBER/app/src/main/java/com/taller/fiuber/SharedServer.java +++ b/FIUBER/app/src/main/java/com/taller/fiuber/SharedServer.java @@ -35,6 +35,7 @@ public void obtenerToken(String usuario, String contrasena, JSONCallback callbac try { json.put("nombreUsuario", usuario); json.put("contrasena",contrasena); + //json.put("tokenFacebook", "tokenFace"); } catch(JSONException e) { @@ -55,24 +56,25 @@ public void darAltaUsuario(String tipo, String usuario, String contraseña, Stri JSONObject jsonUsuario = new JSONObject(); try { + jsonUsuario.put("_ref", "649.7872072956419"); jsonUsuario.put("type", tipo); jsonUsuario.put("username", usuario); jsonUsuario.put("password", contraseña); //Ver tema facebook cono la API del APP Server - jsonUsuario.put("fb", - new JSONArray() - .put(new JSONObject() - .put("userId", "FACE ID") - .put("authToken", "FACE TOKEN") - ) - ); + //jsonUsuario.put("fb", + // new JSONArray() + // .put(new JSONObject() + // .put("userId", "FACE ID") + // .put("authToken", "FACE TOKEN") + // ) + //); // ---FIN FACE--- jsonUsuario.put("firstName", nombre); jsonUsuario.put("lastName", apellido); jsonUsuario.put("country", "Argentina"); jsonUsuario.put("email", mail); jsonUsuario.put("birthdate", fechaNacimiento); - //jsonUsuario.put("image", "IMAGEN"); + jsonUsuario.put("images", "IMAGEN"); } catch(JSONException e) { @@ -87,38 +89,38 @@ public void darAltaUsuario(String tipo, String usuario, String contraseña, Stri /** * Modifica alguno o todos los datos de un usuario ya existente a partir del envío de un JSON al Server. */ - public void modificarUsuario(String idUsr, String usuario, String contraseña, String mail, String nombre, String apellido, String cuentaFacebook, String nacionalidad, JSONCallback callback) + public void modificarUsuario(String idUsr, String tipoUsuario, String usuario, String contraseña, String mail, String nombre, String apellido, String cuentaFacebook, String nacionalidad, String fechaNacimiento, JSONCallback callback) { JSONObject jsonUsuario = new JSONObject(); try { - jsonUsuario.put("type", idUsr); + jsonUsuario.put("type", tipoUsuario); jsonUsuario.put("username", usuario); jsonUsuario.put("password", contraseña); //Ver tema facebook cono la API del APP Server - jsonUsuario.put("fb", - new JSONArray() - .put(new JSONObject() - .put("userId", "FACE ID") - .put("authToken", "FACE TOKEN") - ) - ); + //jsonUsuario.put("fb", + // new JSONArray() + // .put(new JSONObject() + // .put("userId", "FACE ID") + // .put("authToken", "FACE TOKEN") + // ) + //); // ---FIN FACE--- jsonUsuario.put("firstName", nombre); jsonUsuario.put("lastName", apellido); - jsonUsuario.put("country", "Argentina"); + jsonUsuario.put("country", nacionalidad); jsonUsuario.put("email", mail); - jsonUsuario.put("birthdate", "fecha nacimiento"); - //jsonUsuario.put("image", "IMAGEN"); + jsonUsuario.put("birthdate", fechaNacimiento); + jsonUsuario.put("image", "IMAGEN"); } catch(JSONException e) { } - Log.v(TAG, "URL: "+URLAPIREST+"/user/"+idUsr); + Log.v(TAG, "URL: "+URLAPIREST+"/users/"+idUsr); String str = jsonUsuario.toString(); Log.v(TAG, "JSON: "+ str); - enviarPUT(URLAPIREST+"/user/"+idUsr,jsonUsuario,callback); + enviarPUT(URLAPIREST+"/users/"+idUsr,jsonUsuario,callback); } /** @@ -128,7 +130,7 @@ public void modificarUsuario(String idUsr, String usuario, String contraseña, S public void obtenerDatosUsrServidor(String idUsr, JSONCallback callback) { Log.v(TAG, "JSON: "+ idUsr); - enviarGET(URLAPIREST+"/user/"+idUsr,callback); + enviarGET(URLAPIREST+"/users/"+idUsr,callback); } } diff --git a/FIUBER/app/src/main/res/layout/activity_profile.xml b/FIUBER/app/src/main/res/layout/activity_profile.xml index 59e8c1c..7ba5371 100644 --- a/FIUBER/app/src/main/res/layout/activity_profile.xml +++ b/FIUBER/app/src/main/res/layout/activity_profile.xml @@ -115,6 +115,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Mail" + android:inputType="textEmailAddress" android:maxLines="1" android:layout_below="@+id/perfil_usuario" @@ -162,6 +163,20 @@ + + + + + + \ No newline at end of file