package com.lateensoft.pathfinder.toolkit.views.character;
import android.os.Parcelable;
import android.widget.CheckBox;
import android.widget.EditText;
import com.lateensoft.pathfinder.toolkit.R;
import com.lateensoft.pathfinder.toolkit.model.character.items.Item;
import com.lateensoft.pathfinder.toolkit.views.ParcelableEditorActivity;
public class InventoryItemEditActivity extends ParcelableEditorActivity {
@SuppressWarnings("unused")
private static final String TAG = InventoryItemEditActivity.class.getSimpleName();
private EditText m_weightET;
private EditText m_nameET;
private EditText m_quantityET;
private CheckBox m_itemContainedCheckbox;
private Item m_item;
private boolean m_itemIsNew = false;
@Override
protected void setupContentView() {
setContentView(R.layout.inventory_item_editor);
m_nameET = (EditText) findViewById(R.id.etItemName);
m_weightET = (EditText) findViewById(R.id.etItemWeight);
m_quantityET = (EditText) findViewById(R.id.etItemQuantity);
m_itemContainedCheckbox = (CheckBox) findViewById(R.id.checkboxItemContained);
if(m_itemIsNew) {
setTitle(R.string.new_item_title);
} else {
setTitle(R.string.edit_item_title);
m_nameET.setText(m_item.getName());
m_weightET.setText(Double.toString(m_item.getWeight()));
m_quantityET.setText(Integer.toString(m_item.getQuantity()));
m_itemContainedCheckbox.setChecked(m_item.isContained());
}
}
@Override
protected void updateEditedParcelableValues() throws InvalidValueException {
String name = m_nameET.getText().toString();
if(name == null || name.isEmpty()){
throw new InvalidValueException(getString(R.string.editor_name_required_alert));
}
int quantity;
try{
quantity = (int)Double.parseDouble(m_quantityET.getText().toString());
}catch (NumberFormatException e){
quantity = 1;
}
double weight;
try{
weight = Double.parseDouble(m_weightET.getText().toString());
}catch (NumberFormatException e){
weight = 1.0;
}
boolean contained = m_itemContainedCheckbox.isChecked();
m_item.setName(name);
m_item.setWeight(weight);
m_item.setQuantity(quantity);
m_item.setContained(contained);
}
@Override
protected Parcelable getEditedParcelable() {
return m_item;
}
@Override
protected void setParcelableToEdit(Parcelable p) {
if (p == null) {
m_itemIsNew = true;
m_item = new Item();
} else {
m_item = (Item) p;
}
}
@Override
protected boolean isParcelableDeletable() {
return !m_itemIsNew;
}
}