package com.geored.gui; import com.geored.rest.R; import com.geored.rest.ServicioRestUsuarios; import com.geored.rest.data.Usuario; import com.geored.rest.exception.NotFoundException; import com.geored.rest.exception.RestBlowUpException; import com.geored.rest.exception.UnauthorizedException; import android.content.Intent; import android.os.AsyncTask; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; public class ModificarUsuarioActivity extends RegistrarActivity { @Override protected void loadVista() { setContentView(R.layout.activity_registrar); Button botonModificar = ((Button) findViewById(R.id.registrar_button)); botonModificar.setText("Modificar"); Bundle extras = getIntent().getExtras(); if (extras != null) { objectToScreen(); } } @Override protected void goToPreviousActivity(){ Intent setIntent = new Intent(this,UsuarioActivity.class); startActivity(setIntent); } private void objectToScreen() { try { progressBar.show(); ObtenerUsuarioAsyncTask task = new ObtenerUsuarioAsyncTask(); task.execute(new String[] { usuarioId }); } catch (Exception ex) { showToast(ex.getMessage()); } } public void showRegistrar(View clickedButton) { String emailText = ((EditText) findViewById(R.id.emailEditText)) .getText().toString(); String passwordText = ((EditText) findViewById(R.id.passwordEditText)) .getText().toString(); String passwordAgainText = ((EditText) findViewById(R.id.passwordAgainEditText)) .getText().toString(); // showToast("<"+passwordText+">==<"+passwordAgainText+">"); if (passwordText.equals(passwordAgainText)) { blockGUI(R.id.registrar_button); ModificarAsyncTask task = new ModificarAsyncTask(); task.execute(new String[] { emailText, passwordText }); } else showToast("los passwords no coinciden"); } protected String salvarUsuario(String name, String password) throws RestBlowUpException, NotFoundException, UnauthorizedException { Usuario usuario = new Usuario(); usuario.setId(usuarioId); usuario.setNombre(name); ServicioRestUsuarios.modificarUsuario(password, usuario); return usuarioId; } private class ModificarAsyncTask extends AsyncTask<String, Void, String> { @Override protected String doInBackground(String... params) { try { usuarioId = salvarUsuario(params[0], params[1]); } catch (RestBlowUpException e) { e.printStackTrace(); return "El servicio no responde"; } catch (UnauthorizedException e) { e.printStackTrace(); return "El usuario no esta autorizado"; } catch (NotFoundException e) { e.printStackTrace(); return "No esta servicio"; } return "Exito"; } @Override protected void onPostExecute(String result) { if (result.equals("Exito")) { goToActivity(UsuarioActivity.class); } else { showToast(result); } unBlockGUI(R.id.registrar_button); } } private class ObtenerUsuarioAsyncTask extends AsyncTask<String, Void, Usuario> { @Override protected Usuario doInBackground(String... params) { Usuario usuario = null; try { usuario = ServicioRestUsuarios.getUsuario(); } catch (RestBlowUpException e) { e.printStackTrace(); return null; } catch (NotFoundException e) { e.printStackTrace(); return null; } catch (UnauthorizedException e) { e.printStackTrace(); return null; } return usuario; } @Override protected void onPostExecute(Usuario result) { if (result != null) { if (result != null) { EditText emailEditText = ((EditText) findViewById(R.id.emailEditText)); emailEditText.setText(result.getNombre()); } } else { showToast("error"); } progressBar.dismiss(); } } }