// Path: storm-sample/app/src/main/java/com/turbomanage/storm/sample/adapter/ContactAdapter.java
// public class ContactAdapter extends BaseAdapter {
// 
//     private Context mContext;
//     private List<Contact> mContacts;
// 
//     public ContactAdapter(Context context, List<Contact> contacts){
// 
//         mContext = context;
//         mContacts = contacts;
//     }
// 
//     public void remove(int position) {
// 
//         mContacts.remove(position);
//         notifyDataSetChanged();
//     }
// 
//     private static class ViewHolder {
// 
//         public TextView text;
//     }
// 
//     @Override
//     public View getView(int position, View convertView, ViewGroup parent) {
// 
// 
//         ViewHolder holder;
//         
//         if (convertView == null) {
// 
//             convertView = LayoutInflater.from(mContext).inflate(android.R.layout.simple_list_item_1, parent, false);
//             holder = new ViewHolder();
//             holder.text = (TextView) convertView.findViewById(android.R.id.text1);
//             convertView.setTag(holder);
// 
//         } else {
//             holder = (ViewHolder) convertView.getTag();
//         }
// 
//         Contact item = getItem(position);
// 		holder.text.setText(item.toString());
//         return convertView;
//     }
// 
//     @Override
//     public int getCount() {
//         return mContacts == null ? 0 : mContacts.size();
//     }
// 
//     @Override
//     public Contact getItem(int position) {
//         return mContacts.get(position);
//     }
// 
//     @Override
//     public long getItemId(int position) {
//         return position;
//     }
// 
// }
// 
// Path: storm-sample/app/src/main/java/com/turbomanage/storm/sample/loader/ContactLoader.java
// public class ContactLoader extends AbstractAsyncTaskLoader<List<Contact>> {
// 
//     private ContactDao mContactDao;
// 
//     public ContactLoader(Context context) {
// 
//         super(context);
//         mContactDao = new ContactDao(context);
//     }
// 
//     @Override
//     public List<Contact> loadInBackground() {
//         return mContactDao.listAll();
//     }
// }
// 
// Path: storm-sample/app/src/main/java/com/turbomanage/storm/sample/model/Contact.java
// @Entity
// public class Contact {
// 
//     private long id;
//     private String firstName;
//     private String lastName;
// 
//     public Contact() {
//     }
// 
//     public Contact(String firstName, String lastName) {
//         this.firstName = firstName;
//         this.lastName = lastName;
//     }
// 
//     public long getId() {
//         return id;
//     }
// 
//     public void setId(long id) {
//         this.id = id;
//     }
// 
//     public String getFirstName() {
//         return firstName;
//     }
// 
//     public void setFirstName(String firstName) {
//         this.firstName = firstName;
//     }
// 
//     public String getLastName() {
//         return lastName;
//     }
// 
//     public void setLastName(String lastName) {
//         this.lastName = lastName;
//     }
// 
//     public String toString(){
// 
//         return firstName +" "+ lastName;
//     }
// }


import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.LoaderManager;
import android.support.v4.content.Loader;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.TextView;
import com.turbomanage.storm.sample.R;
import com.turbomanage.storm.sample.adapter.ContactAdapter;
import com.turbomanage.storm.sample.loader.ContactLoader;
import com.turbomanage.storm.sample.model.Contact;
import com.turbomanage.storm.sample.model.dao.ContactDao;
import java.util.List;
import de.timroes.android.listview.EnhancedListView;
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {

        if(item.getItemId() == R.id.action_add) {

            startActivityForResult(new Intent(this, NewContactActivity.class), REQUEST_CODE);
            return true;
        }
        return super.onOptionsItemSelected(item);
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {

        if(resultCode == NewContactActivity.RESULT_CODE_CREATED){

            getSupportLoaderManager().restartLoader(1, null, this);
        }
        super.onActivityResult(requestCode, resultCode, data);
    }

    @Override
    public Loader<List<Contact>> onCreateLoader(int id, Bundle args) {
        return new ContactLoader(this);
    }

    @Override
// Path: storm-sample/app/src/main/java/com/turbomanage/storm/sample/adapter/ContactAdapter.java
// public class ContactAdapter extends BaseAdapter {
// 
//     private Context mContext;
//     private List<Contact> mContacts;
// 
//     public ContactAdapter(Context context, List<Contact> contacts){
// 
//         mContext = context;
//         mContacts = contacts;
//     }
// 
//     public void remove(int position) {
// 
//         mContacts.remove(position);
//         notifyDataSetChanged();
//     }
// 
//     private static class ViewHolder {
// 
//         public TextView text;
//     }
// 
//     @Override
//     public View getView(int position, View convertView, ViewGroup parent) {
// 
// 
//         ViewHolder holder;
//         
//         if (convertView == null) {
// 
//             convertView = LayoutInflater.from(mContext).inflate(android.R.layout.simple_list_item_1, parent, false);
//             holder = new ViewHolder();
//             holder.text = (TextView) convertView.findViewById(android.R.id.text1);
//             convertView.setTag(holder);
// 
//         } else {
//             holder = (ViewHolder) convertView.getTag();
//         }
// 
//         Contact item = getItem(position);
// 		holder.text.setText(item.toString());
//         return convertView;
//     }
// 
//     @Override
//     public int getCount() {
//         return mContacts == null ? 0 : mContacts.size();
//     }
// 
//     @Override
//     public Contact getItem(int position) {
//         return mContacts.get(position);
//     }
// 
//     @Override
//     public long getItemId(int position) {
//         return position;
//     }
// 
// }
// 
// Path: storm-sample/app/src/main/java/com/turbomanage/storm/sample/loader/ContactLoader.java
// public class ContactLoader extends AbstractAsyncTaskLoader<List<Contact>> {
// 
//     private ContactDao mContactDao;
// 
//     public ContactLoader(Context context) {
// 
//         super(context);
//         mContactDao = new ContactDao(context);
//     }
// 
//     @Override
//     public List<Contact> loadInBackground() {
//         return mContactDao.listAll();
//     }
// }
// 
// Path: storm-sample/app/src/main/java/com/turbomanage/storm/sample/model/Contact.java
// @Entity
// public class Contact {
// 
//     private long id;
//     private String firstName;
//     private String lastName;
// 
//     public Contact() {
//     }
// 
//     public Contact(String firstName, String lastName) {
//         this.firstName = firstName;
//         this.lastName = lastName;
//     }
// 
//     public long getId() {
//         return id;
//     }
// 
//     public void setId(long id) {
//         this.id = id;
//     }
// 
//     public String getFirstName() {
//         return firstName;
//     }
// 
//     public void setFirstName(String firstName) {
//         this.firstName = firstName;
//     }
// 
//     public String getLastName() {
//         return lastName;
//     }
// 
//     public void setLastName(String lastName) {
//         this.lastName = lastName;
//     }
// 
//     public String toString(){
// 
//         return firstName +" "+ lastName;
//     }
// }


// Path: storm-sample/app/src/main/java/com/turbomanage/storm/sample/activity/ContactActivity.java
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.LoaderManager;
import android.support.v4.content.Loader;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.TextView;
import com.turbomanage.storm.sample.R;
import com.turbomanage.storm.sample.adapter.ContactAdapter;
import com.turbomanage.storm.sample.loader.ContactLoader;
import com.turbomanage.storm.sample.model.Contact;
import com.turbomanage.storm.sample.model.dao.ContactDao;
import java.util.List;
import de.timroes.android.listview.EnhancedListView;

        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {

        if(item.getItemId() == R.id.action_add) {

            startActivityForResult(new Intent(this, NewContactActivity.class), REQUEST_CODE);
            return true;
        }
        return super.onOptionsItemSelected(item);
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {

        if(resultCode == NewContactActivity.RESULT_CODE_CREATED){

            getSupportLoaderManager().restartLoader(1, null, this);
        }
        super.onActivityResult(requestCode, resultCode, data);
    }

    @Override
    public Loader<List<Contact>> onCreateLoader(int id, Bundle args) {
        return new ContactLoader(this);
    }

    @Override
    public void onLoadFinished(Loader<List<Contact>> loader, List<Contact> data) {