package com.android.smap.fragments; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.provider.ContactsContract; import android.util.Log; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.LinearLayout; import android.widget.ListView; import com.android.smap.GatewayApp; import com.android.smap.R; import com.android.smap.adapters.ContactAdapter; import com.android.smap.api.models.Contact; import com.android.smap.controllers.ContactImportController; import com.android.smap.di.DataManager; import com.google.inject.Inject; import java.util.List; public class ContactsFragment extends BaseFragment implements OnItemClickListener { @Inject private DataManager mDataManager; private ContactAdapter mAdapter; private List<Contact> list; @Override public View onCreateContentView(LayoutInflater inflater, Bundle savedInstanceState) { LinearLayout view = (LinearLayout) inflater.inflate( R.layout.fragment_contact, null); mDataManager = GatewayApp.getDependencyContainer().getDataManager(); ListView listView = (ListView) view.findViewById(R.id.list_contacts); listView.setOnItemClickListener(this); list = mDataManager.getContacts(); mAdapter = new ContactAdapter(getActivity(), R.layout.contact_allusers_rows, list); listView.setAdapter(mAdapter); return view; } @Override public void onItemClick(AdapterView<?> av, View parent, int pos, long viewId) { // TODO Auto-generated method stub Bundle B = new Bundle(); } @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { super.onCreateOptionsMenu(menu, inflater); inflater = getActivity().getMenuInflater(); inflater.inflate(R.menu.menu_add, menu); } @Override public boolean hasActionBarTitle() { return true; } @Override public String getActionBarTitle() { return getResources().getString(R.string.ab_all_contacts); } @Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == R.id.action_add) { Intent contactPickerIntent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI); startActivityForResult(contactPickerIntent, ContactImportController.PICK_CONTACTS); return true; } return false; } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode == Activity.RESULT_OK) { ContactImportController contactsManager = new ContactImportController(getActivity(), data); String name = ""; String number = ""; try { name = contactsManager.getContactName(); number = contactsManager.getContactPhone(); Contact contact = new Contact(name, number); contact.save(); } catch (Exception e) { Log.e("CONTACTS", e.getMessage()); } } } }