Beats Music No Longer Accepting New Accounts

Whenever Apple launches a new product or service, it definitely manages to grab the … more

Do You Do Self-Repairs on Your Devices?

As smartphone designs become more and more complex, self-repairs on devices are also becoming … more

Sony Z4 Slips Out of Top 5 Smartphones in Japan

In a bid to streamline its flagship series which had been losing credibility over the … more

Sprint’s New Unlimited Plan with Ridiculous Capped Speeds

The carrier game in the United States is perpetually rushing forward at … more

[MOD] Dialer/Contacts.apk 2.8 Based off ChainsDD Dialer (Updated 140110)

1,119 posts
Thanks Meter: 6
By Wysie, Senior Member on 13th December 2009, 05:20 AM
Post Reply Subscribe to Thread Email Thread
Hi all,

I started this thread in order to gain more feedback on the changes/additions I've made to ChainsDD's dialer. Ultimately I believe all the changes he and I make will become one build . Actually I've posted the changes on ChainsDD's thread, but I figured it will probably get a little messy over time, thus the reason for this.

For those of you who have used my previous versions, and are experiencing issues with no image for the left action button, settings no saving, FCs, etc. try this before installing:

adb remount
adb shell rm -r /data/data/
adb shell rm -r /data/data/
There are 2 zip files, one's the apk (for people who hate to reboot and like commands, like me), and one's the version (for people who hate commands and like to reboot :P):

Installation instructions (Amon_RA's):
adb remount
adb shell rm -r /system/app/Contacts.*
adb shell rm -r /data/dalvik-cache/system@app@Contacts.apk@classes.dex
adb shell rm -r /data/data/
adb shell rm -r /data/data/
adb push Contacts.apk /system/app/Contacts.apk
Or you can simply reboot to recovery mode and flash the update version.

If call log is outdated (should not happen, just in case), or if you want to delete the call log cache for some reason, do the following and then re-open Contacts/Call log:
adb remount
adb shell rm /data/data/
ChainsDD of course, for backporting it!
rac2030, for open-sourcing NavStarter. I adapted his code to enable navigation from the contact info. Thanks dude!
geesun, for sending me his group call logging code, and x140dan, for helping me get in touch with geesun. Thanks guys!

Ability to set certain programs for voicemail
Themeable background: custom_background_dialer.png in drawable-finger
Changeable digits color (Screenshots:
Haptic feedback function

Call Log:
View total incoming/outgoing call time in call log
Show actual time in call log, instead of relative time
Show contact pictures in call log
Hide the green dial button, when this is hidden, tapping on the arrows showing incoming/outgoing/missed call will dial the number instead. That is, they replace the function of the green dial button.
Ability to clear all logs of a particular user or number (long-press on the entry, it's in the context menu)
Ability to clear all logs of a particular type (missed, incoming, outgoing)
Call logs are now grouped
Ability to change the size of the contact picture when viewing an individual's call log

Navigate directly from contact info (works with M4ps and rooted Maps, it doesn't make sense actually, if you're rooted you shouldn't be running M4ps).
Show dial button in Contacts/Favourites, saving you one step before you call the person.
Add/remove contacts from Groups I've tested this quite extensively. It works when creating a new contact or when editing an existing one.
Ability to change the size of the contact picture when viewing a contact.
Alphabetical separators in contacts. Screenshots:
Ability to create/rename and delete groups! System Groups and Starred in Android are shown but not editable though. Access this by pressing Menu in either Contacts or Favourites. Screenshots:
Ability to take a picture with the camera directly when adding/editing a contact. Screenshot:
Added copy to context menu when viewing a contact so you can copy a contact's number, address, email, etc. directly. Thanks to vinz0r for suggestion.
Added preference to hide all "Text/SMS" actions except for mobile numbers. Thanks to nolageek for suggestion.

Ability to clear frequently called numbers.
Ability to hide frequently called numbers

Enable/disable auto-rotation based on sensor

Some screens (more screenshots attached below):
Separators in Contacts

Editing of Contact Group Membership

Current version:

Mirror (Thanks AndroidSPIN!):

The apk is within the zip file, unzip it first. For the version, do NOT unzip it.

Odex instructions (in case you want to do it):

Version 2.5 for TheOfficial ROM users:
enomther has kindly compiled a version for TheOfficial ROM users, please use it if you're having problems with jumpy alphabets when scrolling. Thanks enomther!

ALWAYS read the changelog! Might save you from updating sometimes .

If you like what I do, buy me a beer!

To Do:
Landscape dialer? (I need a mock-up that looks good.)

Call Log:
Call log enhancements (Set the monthly incoming/outgoing call limits and warn accordingly.)

Add navigate option to context menu
Quick contact? (still thinking of how to implement it)

Allow styles in preferences? (xenio's suggestions)

Known Bugs:
Not really a bug, but a limitation of Android currently. Friends, Family, Colleagues and the other Google-created Contact groups can't be shown. More info and workarounds here:

Any suggestions?
Attached Thumbnails
Click image for larger version

Name:	addtocontacts.jpg
Views:	6426
Size:	20.1 KB
ID:	256517   Click image for larger version

Name:	callllog.jpg
Views:	5519
Size:	18.2 KB
ID:	256623   Click image for larger version

Name:	totalduration.jpg
Views:	2885
Size:	18.3 KB
ID:	256685   Click image for larger version

Name:	instances.jpg
Views:	2313
Size:	20.7 KB
ID:	256826   Click image for larger version

Name:	navi.jpg
Views:	2134
Size:	15.8 KB
ID:	256993   Click image for larger version

Name:	contactsdial.jpg
Views:	4730
Size:	19.2 KB
ID:	257402  
Last edited by Wysie; 14th January 2010 at 04:23 PM. Reason: 2.8
The Following User Says Thank You to Wysie For This Useful Post: [ View ]
13th December 2009, 05:20 AM |#2  
OP Senior Member
Thanks Meter: 6
Fixed bug at
Added German translations, thanks to thiasB!
Patched Call Logs by niuchl. It's supposed to be faster. Do report if it's faster/slow/bugs anything. His implementation does NOT make use of a HashTable or any cache.

- Cleaned up some code.
- Added an option in Contacts to auto-hide the keyboard when scrolling. Useful for those who use the virtual keyboard often (like myself) to search for names.

- Added menu option to show all groups or show only contacts with phone
numbers. Requested by explosivo2k2 (Twitter).
- Enabled fast scrolling for call log, and individual call log details.

- Fixed a bug.
- Added various clearing logs function when viewing an individual's call log. Press menu or long press on number to see them. Preferences may be implemented in future.
- Layout of individual's call log is changed. Time and date is now the focus instead of number. Also added labels for the number type.
- Cleaned up code quite a lot.

- Call log should now load much faster.
- Some layout tweaks here and there
- Special thanks goes out to shadowch31 and lilithpro for testing! And everyone else who helped of course.
- Unknown numbers, private numbers and payphone numbers are now grouped together. Unknown as in you can't see the number, not those numbers which are not saved.

- Fine-tuned the group call logging portion layout.
- Also, most of the contacts should group properly now. I did some workarounds to get most of them to group. Android's PhoneNumberUtils can't seem to compare numbers properly all the time, which kinda sucks. In addition to using, I also queried and pulled out the id of the Person (Contact). Lastly, I wrote a sloppy method which compares the last 8 digits of numbers, and if they are equal, they are grouped together.
- Also, my previous functions of "Remove all [Number]" was bugged. Again, I can't do much due to PhoneNumberUtils not working perfectly, but it should remove all numbers now, as long as they are 8 digits or more. Previously, if you had:
91234567, +6591234567, and 010891234567. and you selected "Remove all 91234567", only 91234567 will be removed, and the other 2 with country codes will not. It now works as expected, but the code is honestly not the best way possible. Unfortunately I am unfamiliar with country codes and such .
- Cleaned up the code, most of the strings are now in strings.xml.
- Ability to view call log directly from a contact.
- The dialog shown when copying a number, address, etc. now contains the address itself, instead of the word "address"
- Added more options to the context menu when viewing an individual's call log
- The incoming/outgoing/missed call icon when viewing an individual's call log will now dial the number of that particular entry.
- I should've called it 2.6. Lol.

Rebased call log portion of Contacts.apk on geesun's code for grouping of call logs. In other words, call logs are now grouped!
Some minor code changes.
Preferences to set contact picture size when viewing call log is in as well.

Fixed issues with Groups management in general when the group names contain special characters such as single quotes (').

Added some prefs to hide labels/numbers for Call Log, Contacts and
Also, when viewing a contact, you can now copy the name by long-pressing
on it.

Fixed a self-introduced FC bug which happens if you choose a contact picture by using the Gallery/photo picker, and cancel it halfway.
Fixed an AOSP bug with "Display Groups" in Contacts always having an index off. See comments in github code for more information.

Fixed a bug whereby the temporary file created when taking a photo (for adding/editing of contact) will not get deleted if the user chooses to cancel his actions halfway.
Added copy when viewing a Contact information. Everything is copiable except for Ringtone and Groups. Thanks to vinz0r for suggestion. Screens:
Added preference for showing "Text" action for mobile numbers only. The code was actually 1/2 done already, I believe by ChainsDD! Thanks to nolageek for suggestion.

Fixed a bug with the first group not showing up when editing a Contact's group membership. For example, if you have College, Fun, and XDA as your groups, College will not show up. Thanks to G1sanju for reporting. It's an old bug, since the first time groups management was implemented actually.
Added the ability to take a picture using the camera directly (instead of selecting from Gallery only) when adding/editing a contact. Again, thanks to G1sanju for suggesting. Screenshots:

Added more options for the clearing of call logs. You can now clear all incoming, all outgoing or all missed calls. Thanks to xdan for the suggestion. Screenshots:

Fixed a tiny bug when adding/removing a contact from groups.
Reduced haptic feedback from 50ms to 30ms so your fingers are no longer hurt :P.
Implemented ability to Manage Groups. You can now Add, Delete, and Remove groups. System Groups and Starred in Android are shown, but are not editable though. Access this by pressing Menu in either Contacts or Favourites. Screenshots:
Updated preferences, you can choose whether you are asked before deleting groups.

"Fixed" an FC when viewing certain contacts. Not really mine or AOSP's code, but rather some apps are saving Contact data wrongly. More info here:

Added haptic feedback for dialer. Thanks to truemagic for the suggestion.
Fixed some layout bugs from the alphabetical separator backport.

Fixed an FC bug which occurred if you try to make a "Direct Dial" or "Direct Message" shortcut. Thanks to g1lol for reporting.
Separators are now shown only in "Contacts" tab, and not anywhere else (eg, when creating a "Direct Dial" and you're asked to pick a contact).
Using some more code from AOSP master.

Fixed groups being shown duplicated when editing contacts. Thanks to acrawl1 for reporting.
Fixed FC bug when adding contacts, and green dial button not dialing in call log. Self-introduced bug :X. Thanks adair for reporting.
A few other layout tweaks, and some minor code changes. Eg. Green dial button was shown when adding contacts, fixed it already.
Alphabetical separators in Contacts. It's changeable, in case you don't like it. Screenshot:

Show contact pictures/Show dial button is now an individual setting for each tab (so you can customize it to your liking)
Keypad #1 can now be set to dial the usual voicemail, while Left Action Button does something else, eg. Google Voice. Thanks A|G for the suggestion.
No longer need to restart app to show/hide contact pictures.
Contact pictures can now be shown in call log. Green dial button can be hidden. In the case where green dial button is hidden, the incoming/outgoing/missed call arrows will replace the dial function, so you don't really miss out on anything. See pic for explanation:

More screens here:

Fixed the FC bug with Dream users when they slide out the keyboard while editting a contact. Thanks to shadowch31 for the logcats .
Don't have to update if you're using Sapphire/Magic. Important for Dream users.

Fixed the issue with the digits colours not being set properly. Thanks MontAlbert for the help!
Contact picture size when viewing a contact is now configurable.
Cleaned up preferences, thanks camalot for the suggestion.
Added an About, thanks xiutian for the suggestion.

Fixed a bug which caused a contacts to be removed from all groups if you editted his info without choosing the "Groups" option (forgot to load the info).

Added ability to use custom colors. (Screens/Info:

Fixed a couple of FC bugs introduced with the group feature.
Added preferences to allow switching of digits colours. (Screens:

Clear Frequently Called is now hidden when "Hide Frequently Called" is selected. Thanks camalot for suggestion.
Setting group separators now use the same text as tabs (consistency, won't have Favorites in tabs and FavoUrites in settings anymore). Thanks again to camalot for the suggestion.
Added ability to add/remove contact from groups. I've tested it quite extensively, still, please report any bugs. Take note that even though you can deselect a contact from "My Contacts", the Contacts.apk by default (AOSP code) will always add it back to My Contacts. I *may* remove "My Contacts" from the list in future, but that's a low priority.

Added option to allow disabling of number checking for dialer. What's number checking? Basically, previously, SMS/Add To Contacts will not be shown in the Menu in Dialer unless at least one digit is entered. Also, the left action button was disabled unless one digit is entered (except for voicemail). With number checking disabled, you'll always see them in menu, and left action button will always be enabled.

Added a drawable, custom_background_dialer.png in drawable-finger to allow a themeable background in Dialer. Thanks jairomeo for the suggestion. See the following screenshot for an example:

Don't worry, the Dialer is still black background by default. Just used camalot's display pic (nearest I could find :P) as an example.

Minor update to allow user to choose if he wants to be prompted before clearing frequently called.

Added settings to hide contact pictures in contacts. Requires a restart of Contacts app though. Will fix in future (lowest-priority :P)
Added ability to show seconds as well when using exact times for call log.
Clear frequently called numbers is now available.
Added preference setting to hide frequently called numbers altogether.
Cleaned up the layout for Contacts a little (especially when hiding contact pictures).

Small bugfix to fix the GTalk status icon in Contacts .

Added call button beside for Contacts. Only contacts with numbers will have the dial button (see attached screenshot for idea). Also implemented it into preferences in case you want to turn it off. Note that this affects Favourites as well.

Added ChainsDD's preferences. It's much better implemented than my previous one . Also has the same voicemail handlers as his now.

Fixed a FC bug that some people reported. Thanks to regunus for the logcat, and a friend of mine for testing .

Added the drawable for navigation (by me, I suck at graphics but hey.)
Fixed a small bug with Navigation showing even if Maps installed does not support it (non-issue really, everyone should be on 3.3.1 by now).

Navigate to... is now an option when viewing a contact.

Implemented function to clear all call logs of a particular name or number.

1.3 (151209):
Implemented a menu item to show total call time so far. Also added a prompt before call log is cleared. Screenshots added.

Call log now shows actual time instead of relative time. For now it will default to 12 or 24-hour depending on your system settings. May make it an option to have configurable formatting options in future.

Didn't know that github files were incomplete. Fixed.
Added new drawables for the SMS function.
Re-wrote SharedPrefs portion. Bug with Dialer not reading settings should hopefully be fixed now.

Changed the version naming
Added SMS as an option for the left action button (in addition to voicemail and add to contacts).

Long-press on "Dial" button now activates voice dialer as well.
Delete button remains disabled until at least one number is entered. However, there's a known bug with this (see below).

As of 131209:
Added sensor-based rotation
Added preferences panel so you can choose whether to use voicemail or "add to contacts" for left action button
Recoded the "1", it'll show a voicemail symbol if you have voicemail. Also, long-pressing it if you do not have voicemail no longer does anything.

Previous releases:
2.51: apk:
Last edited by Wysie; 14th January 2010 at 05:29 PM. Reason: 2.8
The Following User Says Thank You to Wysie For This Useful Post: [ View ]
13th December 2009, 07:15 AM |#3  
tehseano's Avatar
Senior Member
Flag Detroit
Thanks Meter: 15
Donate to Me
Awesome mod man, love it!
13th December 2009, 07:36 AM |#4  
Senior Member
Thanks Meter: 170
remove data worked perfectly now.
13th December 2009, 01:40 PM |#5  
Jrbourque's Avatar
Senior Member
Thanks Meter: 42
Ive been meaning to ask a dev working on this to see if this feature is hard to add or not. and in no way shape or form do i want my phone to be like an iphone but i like the feature. when you put the phone up to your ear the light goes out and when you move it down to hit the buttons it lights back up. Is this easy to code?
13th December 2009, 02:05 PM |#6  
OP Senior Member
Thanks Meter: 6
Jrbourque: From what I know iPhone does it using a proximity sensor, something which Magic and Dream does not have . Check out cytown's Phone.apk thread, I think someone asked for it before, there's some info there.
13th December 2009, 03:21 PM |#7  
Jrbourque's Avatar
Senior Member
Thanks Meter: 42
Originally Posted by Wysie

Jrbourque: From what I know iPhone does it using a proximity sensor, something which Magic and Dream does not have . Check out cytown's Phone.apk thread, I think someone asked for it before, there's some info there.

thanks for the response...ill check it out
13th December 2009, 05:32 PM |#8  
OP Senior Member
Thanks Meter: 6
Updated first post with new version. I'd appreciate if someone could help me with fixing the bug .
14th December 2009, 04:51 AM |#9  
OP Senior Member
Thanks Meter: 6
Added SMS/MMS function to the left action button . Bug is still there though (see first post) .
14th December 2009, 12:26 PM |#10  
OP Senior Member
Thanks Meter: 6

Didn't know that github files were incomplete. Fixed.
Added new drawables for the SMS function.
Re-wrote SharedPrefs portion. Bug with Dialer not reading settings should hopefully be fixed now.
Post Reply Subscribe to Thread
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes