package com.basket.activities;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import com.basket.containers.BasketSession;
import com.basket.containers.CategoryList;
import com.basket.general.CarJsonSpringAndroidSpiceService;
import com.basket.restrequest.GetDOTDRequest;
import com.basket.restrequest.SendForgotFieldEmailRequest;
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 ForgotFieldActivity extends Activity {
private static final String JSON_CACHE_KEY = "forgot_field";
private Button mSendEmailButton;
private EditText mEmailInput;
private String mUserEmail;
private SpiceManager spiceManager = new SpiceManager(CarJsonSpringAndroidSpiceService.class);
private SendForgotFieldEmailRequest JsonSpringAndroidRequest;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_forgot_field);
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
mEmailInput = (EditText) findViewById(R.id.forgotFieldEmailEditText);
mSendEmailButton = (Button) findViewById(R.id.forgotFieldButton);
mSendEmailButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mUserEmail = mEmailInput.getText().toString();
if(mUserEmail!="" && mUserEmail!=null){
if(!mUserEmail.contains("@")){
Toast.makeText(ForgotFieldActivity.this, "Wrong input", Toast.LENGTH_SHORT).show();
}
else
sendAccountDetailsEmail(mUserEmail);
}
else{
Toast.makeText(ForgotFieldActivity.this, "Wrong input", Toast.LENGTH_SHORT).show();
}
}
});
}
private void sendAccountDetailsEmail(String userEmail){
//action to send email
//Toast.makeText(ForgotFieldActivity.this, "Email with information sent", Toast.LENGTH_LONG).show();
if(!spiceManager.isStarted()){
spiceManager.start(ForgotFieldActivity.this);
JsonSpringAndroidRequest = new SendForgotFieldEmailRequest(userEmail);
spiceManager.execute(JsonSpringAndroidRequest, JSON_CACHE_KEY, DurationInMillis.ALWAYS_EXPIRED, new SendEmailRequestListner());
}
}
private class SendEmailRequestListner implements RequestListener<Boolean>, RequestProgressListener {
@Override
public void onRequestFailure(SpiceException arg0) {
Log.d("error",arg0.getMessage());
if (!(arg0 instanceof RequestCancelledException)) {
Toast.makeText(ForgotFieldActivity.this, "No connection to server", Toast.LENGTH_SHORT).show();
}
if(spiceManager.isStarted())
spiceManager.shouldStop();
}
// @Override
// public void onRequestSuccess(CategoryList cat)
// {
// Log.d("PROGRESS", "GETCAT");
// BasketSession.setCategories(cat.getCategories());
// GetDOTDRequest req = new GetDOTDRequest();
// spiceManager.execute(req, JSON_CACHE_KEY, DurationInMillis.ALWAYS_EXPIRED, new DealRequestListener());
// // String email =((TextView)findViewById(R.id.email)).getText().toString();
// // String password =((TextView)findViewById(R.id.password)).getText().toString();
// // UserRequest JsonSpringAndroidRequest = new UserRequest(email,password);
// // spiceManager.execute(JsonSpringAndroidRequest, JSON_CACHE_KEY, DurationInMillis.ALWAYS_EXPIRED, new UserRequestListener());
// }
@Override
public void onRequestProgressUpdate(RequestProgress arg0)
{
}
@Override
public void onRequestSuccess(Boolean arg0) {
if(spiceManager.isStarted()){
spiceManager.shouldStop();
}
try{
if(arg0){
Toast.makeText(ForgotFieldActivity.this, "Sent email", Toast.LENGTH_LONG).show();
}
else{
Toast.makeText(ForgotFieldActivity.this, "Not registered", Toast.LENGTH_LONG).show();
}
}
catch(Exception e){
Toast.makeText(ForgotFieldActivity.this, "Not registered", Toast.LENGTH_LONG).show();
}
}
}
}