Contact display phone numbers + don't reload contacts on back
This commit is contained in:
parent
78f83b9a71
commit
af3d82ae8d
2 changed files with 27 additions and 12 deletions
|
@ -106,6 +106,23 @@ public class ContactsFragment extends Fragment implements OnClickListener, OnIte
|
||||||
LinphoneActivity.instance().displayContact((Contact) adapter.getItemAtPosition(position));
|
LinphoneActivity.instance().displayContact((Contact) adapter.getItemAtPosition(position));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
|
cursor = Compatibility.getContactsCursor(getActivity().getContentResolver());
|
||||||
|
contacts = new ArrayList<Contact>();
|
||||||
|
new Thread(new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
for (int i = 0; i < cursor.getCount(); i++) {
|
||||||
|
Contact contact = getContact(i);
|
||||||
|
contacts.add(contact);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}).start();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onResume() {
|
public void onResume() {
|
||||||
super.onResume();
|
super.onResume();
|
||||||
|
@ -114,20 +131,8 @@ public class ContactsFragment extends Fragment implements OnClickListener, OnIte
|
||||||
}
|
}
|
||||||
|
|
||||||
if (contactsList.getAdapter() == null) {
|
if (contactsList.getAdapter() == null) {
|
||||||
cursor = Compatibility.getContactsCursor(getActivity().getContentResolver());
|
|
||||||
contactsList.setAdapter(new ContactsListAdapter());
|
contactsList.setAdapter(new ContactsListAdapter());
|
||||||
contactsList.setFastScrollEnabled(true);
|
contactsList.setFastScrollEnabled(true);
|
||||||
|
|
||||||
contacts = new ArrayList<Contact>();
|
|
||||||
new Thread(new Runnable() {
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
for (int i = 0; i < cursor.getCount(); i++) {
|
|
||||||
Contact contact = getContact(i);
|
|
||||||
contacts.add(contact);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}).start();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
contactsList.setSelectionFromTop(lastKnownPosition, 0);
|
contactsList.setSelectionFromTop(lastKnownPosition, 0);
|
||||||
|
|
|
@ -14,6 +14,7 @@ import android.content.Intent;
|
||||||
import android.database.Cursor;
|
import android.database.Cursor;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.provider.ContactsContract;
|
import android.provider.ContactsContract;
|
||||||
|
import android.provider.ContactsContract.CommonDataKinds.Phone;
|
||||||
import android.provider.ContactsContract.CommonDataKinds.SipAddress;
|
import android.provider.ContactsContract.CommonDataKinds.SipAddress;
|
||||||
import android.provider.ContactsContract.Contacts;
|
import android.provider.ContactsContract.Contacts;
|
||||||
import android.provider.ContactsContract.Contacts.Data;
|
import android.provider.ContactsContract.Contacts.Data;
|
||||||
|
@ -71,6 +72,7 @@ public class ApiFivePlus {
|
||||||
Uri uri = ContactsContract.Data.CONTENT_URI;
|
Uri uri = ContactsContract.Data.CONTENT_URI;
|
||||||
String[] projection = {ContactsContract.CommonDataKinds.Im.DATA};
|
String[] projection = {ContactsContract.CommonDataKinds.Im.DATA};
|
||||||
|
|
||||||
|
// SIP addresses
|
||||||
if (Version.sdkAboveOrEqual(Version.API09_GINGERBREAD_23)) {
|
if (Version.sdkAboveOrEqual(Version.API09_GINGERBREAD_23)) {
|
||||||
String selection = new StringBuilder()
|
String selection = new StringBuilder()
|
||||||
.append(ContactsContract.Data.CONTACT_ID)
|
.append(ContactsContract.Data.CONTACT_ID)
|
||||||
|
@ -105,6 +107,14 @@ public class ApiFivePlus {
|
||||||
}
|
}
|
||||||
c.close();
|
c.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Phone Numbers
|
||||||
|
Cursor c = cr.query(Phone.CONTENT_URI, null, Phone.CONTACT_ID + " = " + id, null, null);
|
||||||
|
while (c.moveToNext()) {
|
||||||
|
String number = c.getString(c.getColumnIndex(Phone.NUMBER));
|
||||||
|
list.add(number);
|
||||||
|
}
|
||||||
|
c.close();
|
||||||
|
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue