Patch Phone Show Call Duration in the Call Log

This page details ways to enable hidden functionality in on the palm pre. You will need root shell access to perform these changes. Follow these instructions at your own risk, if you make an error (or perhaps even if you do it correctly) you risk bricking your phone, voiding your warranty, etc. These instructions assume a working knowledge of unix. Also, note that these changes require rebooting the phone to take effect.

Show call duration in the call log
Sprint always customizes their phones to conceal call duration information. This avoids angry phone calls from confused customers who are surprised when their 1:01 phone call results in 2:00 minutes charged to their account. I can sympathize. However, I won't call complain, and I occasionally want to know how long a call was after the fact.

There is now a shell script for executing the commands below if you do not feel comfortable doing the steps below manually. See http://gitorious.org/webos-internals/modifications/commit/3b2e55a22e64b5302b5d45521ccf94fe28db3595

There is a system preference phoneAppHideCallDuration which appears to control this, but it merely provides a default value. The phone app caches the value and saves it as a cookie. As an exercise, I'll show you how to set the preference as well.

To set the phoneAppHideCallDuration preference:

Here we've used luna-send to broadcast a message requesting the systemservice to set a preference (I believe you can actually specify multiple preferences at once, the payload format is a json hashtable). Unfortunately, that only sets the default, so to actually see the change we need to update a cookie stored in the phone app. We'll do that now:

This time we've used sqlite3 to update the cookies database directly. The primary key of the Cookies table (in the cookies database) is (domain_head, domain_tail, path, name), we specify the full key, and update the value. Note the value field is always percent-encoded and in this case represents the string "0" (including the quotes).

To see your changes, you can either reboot your phone or just restart the LunaSysMgr front-end. initctl stop LunaSysMgr initctl start LunaSysMgr
 * To reboot: Hold the power key and turning it off or type shutdown -r in the shell.
 * To restart the system manager without rebooting (faster):

''Note: if you are typing in the sql by hand, take care you get it correct. If you make a typo and the where portion does not match any records you will not get any feedback. To verify that your update was successful run the following SQL after your issue the update:'' select * from Cookies where domain_tail = "app.phone"