[G1 Android Development] xenio2000:
Updated:

Credits must go to Geesun for his patch to show Contacts Photo.

backup first...

the files in attachments are to be used in UPDATE on RECOVERY MODE.

cyanogen_update.zip -> Contacts.apk with 2.0 icons + Photo on Contact list

geesun_update.zip -> Contacts.apk with Photo on Contact list and much more (warning this is for chinese mod and there is some chinese text)

IF YOU WANT ONLY THE Contacts.apk just unzip the file and check inside App

Feature only in the Geesun Mod

from the Chinese site (translated):

Contacts to strengthen amended as follows

1. Intelligent IP dial-up, according to city contacts dial 17951 (can be set)

2. Display to / go to Electric City

3. According to contact numbers, display contact city,

4. Show a missed call city.

5. For international calls, you can display the name of the country

6. For fixed-line telephone, +86 and so on, can handle

7. For used phones, you can also display, such as 138001380000,10086,95528, etc.

8. The first time required to set up your own IP dial-up number and their phone numbers, default is 17951 / Shanghai

9. Database is small, query speed.

10. The database updated to 2009.5, all data come from the Internet, without encryption, you can free to use.

11. To contact data will not be damaged.

12. Have joined the contact picture.

Thanks

Xenio

SCREENSHOT FROM GEESUN MOD (Cyanogen mod have only Photos in Contacts)

direct link to Contacts.apk from Cyanogen

http://n0rp.chemlab.org/android/apps/Contacts.apk

Geesun Patch.

diff --git a/src/com/android/contacts/ContactsListActivity.java b/src/com/android/contacts/ContactsListActivity.java
index 2b74410..d0b6b94 100755
--- a/src/com/android/contacts/ContactsListActivity.java
+++ b/src/com/android/contacts/ContactsListActivity.java
@@ -178,8 +178,8 @@ public final class ContactsListActivity extends ListActivity
static final int MODE_QUERY = 60 | MODE_MASK_NO_FILTER;
/** Run a search query in PICK mode, but that still launches to VIEW */
static final int MODE_QUERY_PICK_TO_VIEW = 65 | MODE_MASK_NO_FILTER | MODE_MASK_PICKER;
-
- static final int DEFAULT_MODE = MODE_ALL_CONTACTS;
+ //Geesun
+ static final int DEFAULT_MODE = MODE_ALL_CONTACTS|MODE_MASK_SHOW_PHOTOS;

/**
* The type of data to display in the main contacts list.
@@ -1973,6 +1973,13 @@ public final class ContactsListActivity extends ListActivity
photo = BitmapFactory.decodeByteArray(photoData, 0,
photoData.length);
mBitmapCache.put(pos, new SoftReference<Bitmap>(photo));
+ //Geesun
+ if(photo == null){
+ int id = cursor.getInt(ID_COLUMN_INDEX);
+ Uri uri = ContentUris.withAppendedId(People.CONTENT_URI, id);
+ photo = People.loadContactPhoto(context, uri, R.drawable.ic_contact_list_picture, null);
+
+ }
} catch (OutOfMemoryError e) {
// Not enough memory for the photo, use the default one instead
photo = null;

--------------------------------------------------------------------

OLD OP.

I am trying to modify the Contacts.apk source to get the Photo's

contact in the Contacts tab, (In Eclair this is already implemented, I

would like to have it in Donuts too).

In the Favorites tab the photos are already there, so tweak it must be simple.

This is what I get until now:

Contacts.apk source file ContactsListActivity.java

ORIGINAL

1653 private boolean mDisplayPhotos = false;

1654 private SparseArray<SoftReference<Bitmap>> mBitmapCache = null;

...

1658 super(context, R.layout.contacts_list_item, null, false);

CHANGED BY ME

1653 private boolean mDisplayPhotos = true;

1654 private SparseArray<SoftReference<Bitmap>> mBitmapCache = new SparseArray<SoftReference<Bitmap>>();

...

1658 super(context, R.layout.contacts_list_item_photo, null, false);

After this I get a GENERIC ICON with the droid on the left of the

contacts name.

That is all I get, I am not good in Java Programming... :(

If you want to get involved this is the code...

http://android.git.kernel.org/?p=pl...70d24e7686305a7570d1300e738744e980384;hb=HEAD

Any help?

Xenio