package com.basket.activities; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; import com.basket.containers.AdminSession; import com.basket.containers.BasketSession; import com.basket.general.CarJsonSpringAndroidSpiceService; import com.basket.general.User; import com.basket.restrequest.DeleteUserRequest; import com.basket.restrequest.EditRequest; import com.example.basket.R; import com.octo.android.robospice.SpiceManager; import com.octo.android.robospice.exception.RequestCancelledException; import com.octo.android.robospice.persistence.DurationInMillis; import com.octo.android.robospice.persistence.exception.SpiceException; import com.octo.android.robospice.request.listener.RequestListener; import com.octo.android.robospice.request.listener.RequestProgress; import com.octo.android.robospice.request.listener.RequestProgressListener; public class EditUserActivity extends Activity { private Button mEditCC, mEditShipAdd; private User theUser; private int user; private String buffPass,buffEmail,buffUser; private SpiceManager spiceManager= new SpiceManager(CarJsonSpringAndroidSpiceService.class); protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_edit_profile); user = this.getIntent().getIntExtra("selectedUser", 0); theUser = BasketSession.getUser(); buffPass = theUser.getPassword(); buffEmail = theUser.getEmail(); buffUser = theUser.getUsername(); EditText userName = (EditText) findViewById(R.id.usrnm); userName.setHint(theUser.getUsername()); EditText password = (EditText) findViewById(R.id.editPassword); password.setHint(theUser.getPassword()); EditText mail = (EditText) findViewById(R.id.editMail); mail.setHint(theUser.getEmail()); Button userUpdate= (Button) this.findViewById(R.id.usrUpdate); userUpdate.setOnClickListener(new OnClickListener(){ @Override public void onClick(View arg0) { if (!spiceManager.isStarted()) { spiceManager.start(EditUserActivity.this); buffUser= ((TextView)findViewById(R.id.usrnm)).getText().toString(); EditRequest JsonSpringAndroidRequest = new EditRequest(theUser,user,theUser.getPassword(),theUser.getEmail(),buffUser); spiceManager.execute(JsonSpringAndroidRequest, "user_edit", DurationInMillis.ALWAYS_EXPIRED, new UserEditListener()); } } }); Button passUpdate= (Button) this.findViewById(R.id.passUpdate); passUpdate.setOnClickListener(new OnClickListener(){ @Override public void onClick(View arg0) { if (!spiceManager.isStarted()) { spiceManager.start(EditUserActivity.this); buffPass= ((TextView)findViewById(R.id.editPassword)).getText().toString(); EditRequest JsonSpringAndroidRequest = new EditRequest(theUser,user,buffPass,theUser.getEmail(),theUser.getUsername()); spiceManager.execute(JsonSpringAndroidRequest, "user_edit", DurationInMillis.ALWAYS_EXPIRED, new UserEditListener()); } } }); Button emailUpdate= (Button) this.findViewById(R.id.emailUpdate); emailUpdate.setOnClickListener(new OnClickListener(){ @Override public void onClick(View arg0) { if (!spiceManager.isStarted()) { spiceManager.start(EditUserActivity.this); buffEmail= ((TextView)findViewById(R.id.editMail)).getText().toString(); EditRequest JsonSpringAndroidRequest = new EditRequest(theUser,user,theUser.getPassword(),buffEmail,theUser.getUsername()); spiceManager.execute(JsonSpringAndroidRequest, "user_edit", DurationInMillis.ALWAYS_EXPIRED, new UserEditListener()); } } }); mEditCC = (Button) findViewById(R.id.bEditCreditCards); mEditCC.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { Intent editCCIntent = new Intent(EditUserActivity.this, EditCreditCardsActivity.class); editCCIntent.putExtra("selectedUser", user); startActivity(editCCIntent); } }); mEditShipAdd = (Button) findViewById(R.id.bEditShippingAdd); mEditShipAdd.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent editSAIntent = new Intent(EditUserActivity.this, EditSAddressesActivity.class); editSAIntent.putExtra("selectedUser", user); startActivity(editSAIntent); } }); Button deleteAccount = (Button) this.findViewById(R.id.doneButton); deleteAccount.setOnClickListener(new OnClickListener() { public void onClick(View arg0) { finish(); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.user_edit, menu); return true; } private class UserEditListener implements RequestListener<Boolean>, RequestProgressListener { @Override public void onRequestFailure(SpiceException arg0) { Log.d("error",arg0.getMessage()); if (!(arg0 instanceof RequestCancelledException)) { Toast.makeText(EditUserActivity.this, "Update Unsuccesful", Toast.LENGTH_SHORT).show(); } if(spiceManager.isStarted()) spiceManager.shouldStop(); } @Override public void onRequestSuccess(Boolean edit) { if(spiceManager.isStarted()) spiceManager.shouldStop(); theUser.setEmail(buffEmail); theUser.setPassword(buffPass); theUser.setUsername(buffUser); EditText userName = (EditText) findViewById(R.id.usrnm); userName.setHint(theUser.getUsername()); userName.setText(""); EditText password = (EditText) findViewById(R.id.editPassword); password.setHint(theUser.getPassword()); password.setText(""); EditText mail = (EditText) findViewById(R.id.editMail); mail.setText(""); mail.setHint(theUser.getEmail()); } @Override public void onRequestProgressUpdate(RequestProgress arg0) { } } }