Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?xml version="1.0" encoding="utf-8"?>
- <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
- <ListView
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:id="@+id/contacts_listview"/>
- </RelativeLayout>
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:gravity="center_vertical"
- android:orientation="horizontal"
- android:minHeight="?android:attr/listPreferredItemHeight"
- android:padding="16dp">
- <ImageView
- android:id="@+id/contact_item_icon"
- android:layout_width="50dp"
- android:layout_height="50dp"/>
- <LinearLayout
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:orientation="vertical"
- android:paddingLeft="16dp">
- <TextView
- android:id="@+id/contact_item_name"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="Feel The Light" />
- <TextView
- android:id="@+id/contact_item_number"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="Home" />
- </LinearLayout>
- <ImageButton
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:src="@drawable/ic_user_audio_call_dark"/>
- <ImageButton
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:src="@drawable/ic_user_video_call_dark"/>
- <Button
- android:layout_width="wrap_content"
- android:layout_height="30dp"
- android:text="Invite"
- android:background="@drawable/selector_button_green_oval"
- android:textColor="@color/white"/>
- </LinearLayout>
- public class ContactsAdapter extends ArrayAdapter<ContactItem> {
- private static final String LOG_TAG = ContactsAdapter.class.getSimpleName();
- public ContactsAdapter(Activity context, List<ContactItem> contactItems) {
- super(context, 0, contactItems);
- }
- @Override
- public View getView(int position, View convertView, ViewGroup parent) {
- ContactItem contactItem = getItem(position);
- if (convertView == null) {
- convertView = LayoutInflater.from(getContext()).inflate(R.layout.contact_list_item, parent, false);
- }
- ImageView contactImage = (ImageView) convertView.findViewById(R.id.contact_item_icon);
- contactImage.setImageResource(contactItem.contactImage);
- TextView contactName = (TextView) convertView.findViewById(R.id.contact_item_name);
- contactName.setText(contactItem.contactName);
- TextView contactNumber = (TextView) convertView.findViewById(R.id.contact_item_number);
- contactNumber.setText(contactItem.contactNumber);
- return convertView;
- }
- }
- public class ContactsListFragment extends Fragment {
- private ContactsAdapter contactsAdapter;
- public static ContactsListFragment newInstance() {
- return new ContactsListFragment();
- }
- public ContactsListFragment() {
- }
- ArrayList<String> contactName = new ArrayList<>();
- ArrayList<String> contactNumber = new ArrayList<>();
- ArrayList<ContactItem> contactsAvailable = new ArrayList<>();
- ArrayList<ContactItem> contactsInvite = new ArrayList<>();
- @Override
- public void onCreate(@Nullable Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- Cursor cursor = getActivity().getContentResolver().query(
- ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, null
- );
- String currentNumber = "";
- while (cursor.moveToNext()) {
- String name = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
- String number = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
- number = number.replaceAll(" ", "");
- char c = number.charAt(0);
- char c1 = number.charAt(1);
- String s = Character.toString(c)+Character.toString(c1);
- if (s.equals("00")) {
- number = number.replaceAll("00", "+");
- }
- if (number.length() == 12) {
- number = "+" + number;
- }
- if (number.length() == 13) {
- if (!currentNumber.equals(number)) {
- contactName.add(name);
- contactNumber.add(number);
- }
- }
- currentNumber = number;
- }
- }
- @Nullable
- @Override
- public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
- final View rootView = inflater.inflate(R.layout.fragment_contacts_list, container, false);
- QBPagedRequestBuilder pagedRequestBuilder = new QBPagedRequestBuilder();
- pagedRequestBuilder.setPage(1);
- pagedRequestBuilder.setPerPage(50);
- QBUsers.getUsersByLogins(contactNumber, pagedRequestBuilder, new QBEntityCallback<ArrayList<QBUser>>() {
- @Override
- public void onSuccess(ArrayList<QBUser> qbUsers, Bundle bundle) {
- for (int i = 0; i < qbUsers.size(); i++) {
- ContactItem contactItem = new ContactItem(qbUsers.get(i).getFullName(), qbUsers.get(i).getLogin(), R.drawable.ic_launcher);
- contactsAvailable.add(contactItem);
- }
- contactsAdapter = new ContactsAdapter(getActivity(), contactsAvailable);
- ListView listView = (ListView) rootView.findViewById(R.id.contacts_listview_available);
- listView.setAdapter(contactsAdapter);
- }
- @Override
- public void onError(QBResponseException e) {
- Toast.makeText(getActivity(), e.toString(), Toast.LENGTH_LONG).show();
- }
- });
- return rootView;
- }
- }
Add Comment
Please, Sign In to add comment