package com.hci.moola;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;
import com.hci.moola.model.ColorPicker;
import com.hci.moola.model.DataCollector;
import com.hci.moola.model.Iou;
import com.hci.moola.model.PostOffice;
import com.hci.moola.model.Transaction;
import java.util.ArrayList;
import java.util.Calendar;
public class IouListActivity extends Activity implements IouListFragment.IouListFragmentCallback {
private ArrayList<Iou> mIous;
private static boolean mSwipeTutorialShown = false;
private static final int REQUEST_ADD_TRANSACTION = 1;
private static final int REQUEST_EDIT_TRANSACTION = 2;
private static final String TAG_IOU_LIST = "IouListFragment";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_iou_list);
if (savedInstanceState == null) {
mIous = new ArrayList<Iou>();
// ColorPicker cp = ColorPicker.getInstance();
// Iou a = new Iou(new Transaction("Ben", true, 10, "lunch", Calendar.getInstance()), cp.next());
// a.addTransaction(new Transaction("Ben", true, 15, "lunch2", Calendar.getInstance()));
// mIous.add(a);
// mIous.add(new Iou(new Transaction("Braden", false, 30, "hi", Calendar.getInstance()), cp.next()));
// mIous.add(new Iou(new Transaction("Lana", true, 15.60, "idk", Calendar.getInstance()), cp.next()));
IouListFragment f = IouListFragment.newInstance(mIous);
getFragmentManager().beginTransaction().add(R.id.container, f, TAG_IOU_LIST).commit();
DataCollector.getInstance().attachTouchCounterToActivity(this);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_iou_list, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_add) {
Intent intent = new Intent(this, EditIouActivity.class);
startActivityForResult(intent, REQUEST_ADD_TRANSACTION);
return true;
}
return super.onOptionsItemSelected(item);
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode != RESULT_OK)
return;
switch(requestCode) {
case REQUEST_ADD_TRANSACTION: {
Transaction createdTransaction = (Transaction) PostOffice.getMessage(this.getClass());
IouListFragment f = (IouListFragment) getFragmentManager().findFragmentByTag(TAG_IOU_LIST);
f.addTransaction(createdTransaction);
if (!mSwipeTutorialShown) {
Toast.makeText(this, "Swipe to delete an IOU. Click to edit.", Toast.LENGTH_LONG).show();
mSwipeTutorialShown = true;
}
break;
}
case REQUEST_EDIT_TRANSACTION: {
Transaction editedTransaction = (Transaction) PostOffice.getMessage(this.getClass());
IouListFragment f = (IouListFragment) getFragmentManager().findFragmentByTag(TAG_IOU_LIST);
f.updateTransaction(editedTransaction);
break;
}
}
}
@Override
public void onTransactionClicked(Iou iou, Transaction txn) {
PostOffice.putMessage(EditIouActivity.class, txn);
Intent intent = new Intent(this, EditIouActivity.class);
startActivityForResult(intent, REQUEST_EDIT_TRANSACTION);
}
}