package pt.rupeal.invoicexpress.fragments;
import pt.rupeal.invoicexpress.R;
import pt.rupeal.invoicexpress.model.DocumentModel;
import pt.rupeal.invoicexpress.model.EmailModel;
import pt.rupeal.invoicexpress.server.SendEmailRestHandler;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.MenuItem.OnMenuItemClickListener;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
public class EmailFragment extends Fragment {
private View view;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// eanble menu
setHasOptionsMenu(true);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
view = inflater.inflate(R.layout.email, container, false);
return view;
}
/* (non-Javadoc)
* @see android.app.Fragment#onResume()
*
* The method onResume is override because the editTexts. The editTexts are saved in mSavedViewstate property.
* It's necessarily call the setText here in onResume method.
*/
@Override
public void onResume() {
EmailModel email = (EmailModel) getArguments().getSerializable(EmailModel.EMAIL);
((EditText) view.findViewById(R.id.email_to)).setText(email.getTo());
((EditText) view.findViewById(R.id.email_subject)).setText(email.getSubject());
((EditText) view.findViewById(R.id.body)).setText(email.getBody());
super.onResume();
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
menu.clear();
// Inflate the menu; this adds items to the action bar if it is present.
inflater.inflate(R.menu.action_bar_email, menu);
MenuItem emailMenuItem = menu.findItem(R.id.email_tab);
emailMenuItem.setOnMenuItemClickListener(new OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
String[] params = new String[] {((EditText) view.findViewById(R.id.email_to)).getText().toString(),
((EditText) view.findViewById(R.id.email_subject)).getText().toString(),
((EditText) view.findViewById(R.id.body)).getText().toString(),
getArguments().getString(DocumentModel.ID, ""),
getArguments().getString(DocumentModel.DOC_TYPE, "")};
new SendEmailRestHandler(getActivity()).execute(params);
return true;
}
});
super.onCreateOptionsMenu(menu, inflater);
}
}