• Home
  • History
  • Annotate
  • only in /packages/apps/Contacts/src/com/android/contacts/calllog/
History log of /packages/apps/Contacts/src/com/android/contacts/calllog/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
60f19645a2177693f7f93ac824fdcd04cb299bad 29-Nov-2011 Daisuke Miyakawa <dmiyakawa@google.com> Check null for preventing NPE

Bug: 5682933
Change-Id: I6f54634665d16f22971a9b8c72abc821763bb0b8
allLogFragment.java
76ced03e35e37d717a8c0bc0cca3b3f28609d85e 23-Nov-2011 Flavio Lerda <flerda@google.com> Follow-up on previous fix.

Correctly handle the case of a null country iso when working with an
upgraded call log.

The syntax for nulls requires the value to be passes as "IS NULL"
instead of using "= ?" and passing a null value.

Bug: 5638376
Change-Id: Icdc0278570495d4abff453e8505649c2b7425c99
allLogAdapter.java
c89565e1beec2ef986967a6330f1e7b0231a3c53 19-Nov-2011 Flavio Lerda <flerda@google.com> Store contact info using country iso as well.

Currently we are using just the number to store contact information that
we look-up. However, the look-up result depends also on the country in
which the call was placed or received.

This can lead to issues if the result is not the same depending on the
contact. This is particularly problematic in case of upgrades: the call
log will contain a number of entries without a country iso value since
the field was introduced after the Gingerbread release.

Use the country iso both when storing the contact in the in-memory
cache, as well as when updating the cache stored in the call log itself.

Bug: 5638376
Change-Id: I4c77556395147f05c2524d93cc1c800943395b6c
allLogAdapter.java
allLogFragment.java
643edd29b2234dfa22132b55284c1863f3b1ec5d 17-Nov-2011 David Brown <dab@google.com> Fix a crash caused by SIP addresses containing "%40" instead of "@"

ContactInfoHelper.lookupNumber() was assuming that SIP addresses would
always contain the character '@', but that's not always true since the
username/domainname delimiter can actually be "%40" (the URI-escaped
equivalent.)

This would cause Dialtacts to crash upon launch if you somehow managed to
get a SIP address like "123%40foo" in your call log.

TESTED:
(1) Make an outgoing call to the (malformed) SIP address "123%40foo"
(2) Launch Dialtacts ("Phone")
==> No longer crashes

This change should be submitted after change I62d15a in frameworks/base,
which adds the PhoneNumberUtils.getUsernameFromUriNumber() method.

Bug: 5637074
Change-Id: I06f333cf993ca5e33b88c0c8b9006116b6fd5cf7
ontactInfoHelper.java
663d614c80bd8ab8ac6f02cb3679ddcd6598a38f 04-Nov-2011 Flavio Lerda <flerda@google.com> Merge "Use ContactsContract.PhoneLookup to look up SIP addresses." into ics-mr1
d70e5ad6e99bb7ef9ac58f95d2522de0aa6fa531 02-Nov-2011 Flavio Lerda <flerda@google.com> Use ContactsContract.PhoneLookup to look up SIP addresses.

We recently added support for looking up contacts with a given SIP
address using ContactContracts.PhoneLookup instead of a generic,
expensive ContactsContract.Data query.

Use this new look-up mechanism in the call log and call details.

Bug: 5529690
Change-Id: I6a10cfa5038ceca96669cf07ed20d7d47bd25427
ontactInfoHelper.java
7c91de1e983b35d9c5aef7386ea62c1daa2bf967 02-Nov-2011 Makoto Onuki <omakoto@google.com> Add a dummy loader to calllog to defer other fragments.

- Also introduced debug flags to control Loder/Fragment debug logs, and removed
constants that used to controll them.

Bug 5547725

Change-Id: I5b523e6824edc4848ab82cbf13420d3db822c562
allLogFragment.java
4885a0250ad6720450c9809814b851b7039f5e17 26-Oct-2011 Flavio Lerda <flerda@google.com> Use a plain String instead of CharArrayBuffer.

The code used to use CharArrayBuffer to store the numbers as they are
being processed. However, AbstractCursor.copyToCharArrayBuffer()
actually calls AbstractCursor.getString() and we actually instantiate a
new String when comparing the phone numbers: we might as well call
Cursor.getString() directly and avoid creating two new String objects
each time we need to compare numbers.

Empirically, this seems to reduce the run time of the addGroups()
method.

Bug: 5290401

Change-Id: I397a9e6a14657ce261f8b8c11e607b13083bdef1
allLogGroupBuilder.java
5c357cdc621aa2b59c4c9b9969540af88fe15277 27-Oct-2011 Flavio Lerda <flerda@google.com> Merge "Correctly match SIP addresses." into ics-mr1
ffa8963f6d5d0fd672c11dea2c2d16048da36577 21-Oct-2011 Flavio Lerda <flerda@google.com> Correctly match SIP addresses.

When grouping items in the call log, we were using the function to
compare phone numbers. However, this strips all non-numeric characters,
which means that all SIP addresses without a number in them will match.

Instead, SIP addresses are defined to match only if they are identical.

Bug: 5483719
Bug: 5390325
Change-Id: Ic6f1d55ccbd433cc6062ca803fcfd88ae4f68a8a
allLogGroupBuilder.java
ontactInfoHelper.java
1c6f3817e9e889664d143ed5ea5147aca595dd21 18-Oct-2011 Flavio Lerda <flerda@google.com> Remove CallLogActivity.

CallLogActivity was only used by tests. Instead, extend
FragmentTestActivity to handle loading of an arbitrary fragment into it,
so that we can test the CallLogFragment within it.

So far, FragmentTestActivity was only used with a UI-less fragment,
which therefore did not need a placeholder for the fragment.

Bug: 5286366
Change-Id: I939d6fb212621345b8a1ba4ec1a3b1c56909ce50
allLogAdapter.java
allLogFragment.java
2624136fddb5054d3b1b2824ce6cfeaadba83305 19-Oct-2011 Flavio Lerda <flerda@google.com> Merge "Normalize the phone number before contact look up."
efed8dc92f6dcc652599f93884576cf61a1103a8 18-Oct-2011 Flavio Lerda <flerda@google.com> Merge "Also look up number as an "Internet call" address."
0296cb0a12b8b24b960172ceb594f8c92fbfba21 18-Oct-2011 Flavio Lerda <flerda@google.com> Merge "Use framework API to match voicemail number."
252fabfd63452535d5c63694d7c5a6d7c24dd256 14-Oct-2011 Flavio Lerda <flerda@google.com> Normalize the phone number before contact look up.

The contact look-up request does not include a way to specify a
country which the number may correspond to. In the call log, we might
have calls that were placed or received while in one country and their
numbers will not match the contacts when the user is in a different
country.

To fix this issue, normalize the phone number using the country stored
in the call log together with the number itself and use that to look
up the contact.

Bug: 5252190
Change-Id: I46471fa2acffd541a2192f6948a613c13484c2d1
ontactInfoHelper.java
1d18da7d48d31aa5f5ee94e188e80400eac03595 17-Oct-2011 Flavio Lerda <flerda@google.com> Also look up number as an "Internet call" address.

If a number in the call log is not found as the number of a contact,
also check whether the number was added as part of an "Internet call"
address for one of the contacts.

Normally, one should put a full SIP address in the "Internet call"
address, but it is possible to put just a plain phone number and that
still correcly works to dial that number using the internet calling
feature.

However, the call log does not correctly match the number in that case,
because a plain phone number is never looked up as an "Internet call"
address.

This commit adds that look-up, if the regular look-up of a phone number
fails.

Bug: 5390273
Change-Id: Ibb722083ea1e0166bdd630a6f12f678a90de41eb
ontactInfoHelper.java
0646f2712e8b4a5ada51bd586d5f179d38a304c5 17-Oct-2011 Flavio Lerda <flerda@google.com> Use framework API to match voicemail number.

We were tracking the voicemail number within the application. This has
two shortcomings: it would not be updated automatically when its value
changes and the matching against it was only based on it being
identical, without taking into account other possible formatting
differences.

Switch to use PhoneNumberUtils.isVoiceMailNumber() instead, which is
what the Phone app is also using.

Bug: 5435925
Bug: 5416495
Change-Id: Ie56363c578cf5f6102fd6880ffce14f608ddaf0b
allLogAdapter.java
allLogFragment.java
efaultVoicemailNotifier.java
honeNumberHelper.java
b189b320867b70e96ea0351f6fd74385552d4115 14-Oct-2011 Flavio Lerda <flerda@google.com> Update styling of voicemail status.

Bug: 5226169
Change-Id: I12ca10429710d35e98fb4135a034c2b97fe6c32d
allLogFragment.java
ca5108d0a25020bf12a324ef2d1ce13d73a9b828 12-Oct-2011 Flavio Lerda <flerda@google.com> Merge "Only show recent items in the new section." into ics-mr0
76821d02351701b3829aa5754dd9a86e417f635f 10-Oct-2011 Flavio Lerda <flerda@google.com> Only show recent items in the new section.

This commit limits the set of items in the new section to items that
have been receiving within the last 7 days.

In order to make the unread items more visible even when they are not in
the new section, use highlighting on them, both in the text and the play
icon.

Bug: 5403047
Change-Id: I577c58bfcb9ef2031839092d50f41c357c7decba
allLogAdapter.java
allLogListItemHelper.java
allLogQuery.java
allLogQueryHandler.java
79318fc2faaddaa0411523c2480d128f2fa16bb2 10-Oct-2011 Flavio Lerda <flerda@google.com> Cherry pick "Use number in the call log and call details." DO NOT MERGE

Since we are using that number when dialing, we should also use it when
displaying the number.

Bug: 5331961
Change-Id: I70d3fe724461cf15c1749af627d07369294eecc6
ontactInfoHelper.java
731f861593f3de69e8b3070b46e589cab42341f9 07-Oct-2011 Flavio Lerda <flerda@google.com> Share contact look up between call log and call details.

Currently, it is possible to get a contact be correctly identified in
the call log, but not in the details, because the logic to do the
look-up are completely separate.

For example, SIP contacts are correctly looked up by the call log, but
not by the details. Moreover, we recently fixed a few bugs in the logic
for looking up contacts in the call log, that have not been propagated
to the call details because the code is independent.

This commit moves the whole logic of looking up a contact given a number
(which may be a SIP number) from the CallLogAdapter into its own class.
Then, CallDetailActivity can use that to look up the contact in a way
that is guaranteed to yield the same result.

Bug: 5415134
Change-Id: I73acc39ba5dc65ecce6861f210224304fd91822d
allLogAdapter.java
allLogFragment.java
ontactInfo.java
ontactInfoHelper.java
honeQuery.java
74628686391735dac1b13409e7f61e9f1514ea20 06-Oct-2011 Flavio Lerda <flerda@google.com> Remove strict mode violation with number formatting.

The call log is currently performing formatting on phone numbers in the
main thread (during bind view).

At the same time, however, we are always doing a background request to
look-up the contacts. Move the formatting call to the background thread.

In order for the right information to be shown as soon as the call log
is opened, we also need to store this information in our cached values
in the database. This means that the number will show unformatted the
very first time, and then updated once the background require is
completed.

Bug: 5316982
Change-Id: I20d1971948afa33c7825f0bd38a9520021f75378
allLogAdapter.java
allLogQuery.java
allLogQueryHandler.java
ontactInfo.java
f6668539e2016871948eb9e532fdfed09b904dde 05-Oct-2011 Flavio Lerda <flerda@google.com> Merge "Revert "Remove strict mode violation with number formatting.""
55e30c7a0feb8fe533b489c6c053454bfb2eb155 05-Oct-2011 Flavio Lerda <flerda@google.com> Revert "Remove strict mode violation with number formatting."

This reverts commit bbe62216b5163ec53eb990218bdbe608631dd8e7

Broke the build.
allLogAdapter.java
allLogQuery.java
allLogQueryHandler.java
ontactInfo.java
d2debeaa2780b95f7feb51ec466290596ffe5a4c 05-Oct-2011 Daniel Lehmann <lehmannd@google.com> Merge "Remove strict mode violation with number formatting."
bbe62216b5163ec53eb990218bdbe608631dd8e7 28-Sep-2011 Flavio Lerda <flerda@google.com> Remove strict mode violation with number formatting.

The call log is currently performing formatting on phone numbers in the
main thread (during bind view).

At the same time, however, we are always doing a background request to
look-up the contacts. Move the formatting call to the background thread.

In order for the right information to be shown as soon as the call log
is opened, we also need to store this information in our cached values
in the database. This means that the number will show unformatted the
very first time, and then updated once the background require is
completed.

Bug: 5316982
Change-Id: If1e4990243e73af6c9519fbf5e76a5d234e99e15
allLogAdapter.java
allLogQuery.java
allLogQueryHandler.java
ontactInfo.java
b5e87d6fe46c799d272473809aa39318e0e875e7 03-Oct-2011 Flavio Lerda <flerda@google.com> Merge "Remove some verbose logging that is not needed."
fc5f828e1612ed4fcfacf6edfbc155058fdc0c9b 01-Oct-2011 Flavio Lerda <flerda@google.com> Remove some verbose logging that is not needed.

Change-Id: I63972ba0e1d7314aaa7f9acd3168c72a4cbe77c5
allLogFragment.java
efaultVoicemailNotifier.java
6858dd385827345713f36372cadcefaa7194c91f 01-Oct-2011 Flavio Lerda <flerda@google.com> Fix looking up of contacts for SIP calls.

Currently, for a SIP call we only look up whether there is a matching
SIP address on one of the contacts.

However, it is also possible to receive calls from regular phone numbers
on a SIP account, e.g., if there is a incoming calls number associated
with the account.

In those cases, the SIP address of the caller is of the form
<number>@<domain>.

This commit changes the look-up code for SIP calls in the call log to
fall back to looking up the <number> part of a SIP address if there is
not a match within the SIP addresses of contacts.

This is in line with what is already done for incoming and outgoing
calls placed via SIP to regular phone number.

Bug: 5390366
Change-Id: I98b359eee08a943f9cef719390bb8dcb4da09b67
allLogAdapter.java
151d6bd83b2bdad993f9fe943f0d2608d99de94c 30-Sep-2011 Flavio Lerda <flerda@google.com> Merge "Updates disable states for voicemail."
5b32cd5d397675fff2189f6b1662695cc33a1348 30-Sep-2011 Flavio Lerda <flerda@google.com> Updates disable states for voicemail.

Use updated disabled assets for voicemail.
Use the correct disable state for the play icon.
Do not show a thumb or already played bar when seek bar is disabled.

Bug: 5282585
Change-Id: I522793b55b36b03e7af6b0195f4005432446e8f8
allLogListItemHelper.java
7ecd4db75649634acddc42b64f6bf933d2f37a44 28-Sep-2011 Flavio Lerda <flerda@google.com> Improve accessibility of call log's call button.

Use the contact name or phone number is the content description for the
call button, so that it is clear which person or number will be dialed.

Bug: 5276039
Change-Id: Icb63d4a26a978b008af470dde12e5e7e93a242b6
allLogListItemHelper.java
07084691ebb28655fe2ab5cae6b692295c8a2c6d 19-Sep-2011 Flavio Lerda <flerda@google.com> Invalidate the options menu on visibility changes.

Currently, we set the mShowOptionsMenu when the visibility of the
fragment changes. However, it may be possible to update this after the
options menu has been created but before the menu is prepared, which
would lead the menu to be in an inconsistent state.

By invalidating the options menu, we are guaranteed it will be
re-created.

Bug: 5335885
Change-Id: I1183d898d6e4867845aa04e054273bf271695d02
allLogFragment.java
b5a3f5c6d3414bdc737258fc28bf3dd376ac75bc 21-Sep-2011 Flavio Lerda <flerda@google.com> Improve D-Pad accessiblity of the call details.

We are doing something fancy with the layout, to scroll the header when
the list view is scrolled: a list view is shown under the controls, with
a first header item which is invisible as it is behind the controls; the
controls are then scrolled up when the list is scrolled. This is similar
to what is done in the tab carousel in the contact details/updates.

Unfortunately, this broke the accessibility of the call details.

In this commit I have a partial fix: whenever the hidden header is
focused, focus is transfered to the controls. This makes the history
items not accessible, but makes the more crucial controls accessible
again.

Bug: 5323306
Change-Id: I342e58b9052e2aba3d5d8c8ea1b178108741de91
allDetailHistoryAdapter.java
ecfc26c3f9495f1a4efed69a1582ff2b0deb2c71 13-Sep-2011 Daniel Lehmann <lehmannd@google.com> New avatars

Bug:5074147

Change-Id: I583d22c63a7b617567c523efeed292ae1e2be7e4
allLogAdapter.java
02901c0243ca44b875b0db3c4cc0531d5ec08411 14-Sep-2011 Flavio Lerda <flerda@google.com> Merge "Extend the call log highlight to include the call icon."
ce75bc9a12881c48c5f7e208a47fadcc8b6a04a7 13-Sep-2011 Flavio Lerda <flerda@google.com> Do not look up a contact for special numbers.

Do not attempt to look up a contact for unknown, private, phonebox, and
voicemail numbers. Instead, use the raw number, which will then
correctly be formatted by the UI.

Bug: 5293193
Change-Id: I4315b56d19b802ad701bab806fd278a1e14c240c
allLogAdapter.java
73215d678536d3b057a0f0dd1c045250dbe9ed65 13-Sep-2011 Flavio Lerda <flerda@google.com> Extend the call log highlight to include the call icon.

This commit moves the call icon (the secondary action) within the
primary action, which means the highlight for the primary action will
extend to it.

In order to preserve accessibility, it add a nextFocusRight and
nextFocusLeft to the primary and secondary actions, so that it is
possible to navigate between them.

Bug: 5290460
Change-Id: I75f1ca5530d9e656d54f32b58bc1cb04bfc6bed6
allLogAdapter.java
allLogListItemViews.java
1aa04015a08711a37e5f889ebaf2077250fcf172 09-Sep-2011 Flavio Lerda <flerda@google.com> Disable "Clear call log" if empty.

Bug: 5278400
Change-Id: I7908528447e7cc1fa5869d5883764feb8e9ee4f9
allLogFragment.java
c071dc49418588dc01b987d291ee45dbe41c3d82 06-Sep-2011 Flavio Lerda <flerda@google.com> Maintain the current view (voicemail only or all calls) on updates.

When the underlying content provider content changes, keep the same view
(voicemail only or all calls) as the one the user is looking at.

The underlying data may change because we updated some of the cached
columns, which currently causes the view to be updated for what seems to
the user no valid reason.

The only events we want to be sure to communicate to the user are new
voicemail and missed calls, but the notification bar takes care of those
cases, and if the application is currently open, we will refresh the
content anyway when resumed.

Bug: 5247042
Change-Id: I6db0a980aaafed5990f8e84bf4a9a1d0f44efb36
allLogAdapter.java
allLogFragment.java
6af176fa4156446c8522642575fc7c2f98c39e74 05-Sep-2011 Flavio Lerda <flerda@google.com> Remove unheard icon next to voicemail.

Since unheard voicemails are anyway in the top "New" section, there is no
need to have the extra icon.

Moreover, this means we do not have two similar looking icons next to
each other, which make the iconography harder to understand: one meant
"unheard message", the other meant "press to play".

Bug: 5254001
Change-Id: Ie0e40a87435442a0f829c544d83ad24bd6fb7f17
allLogListItemHelper.java
allLogListItemViews.java
f66d9f35879365c43adcd17549ad97e421123571 05-Sep-2011 Flavio Lerda <flerda@google.com> Pixel perfect work on call log.

- Divider color updated based on feedback from designer.
- Updated header to use new platform level style.

Bug: 5258258
Change-Id: I6152329d8c0f50d644082d3a2dc1cb4c0472ba60
allLogAdapter.java
allLogListItemViews.java
7a1ff0593c74138328cbd98863e1f7d931652ea9 28-Aug-2011 Flavio Lerda <flerda@google.com> Update UI for voicemail status.

Bug: 5226169
Change-Id: I3695ca41525bba70637bf2666c2e57aeb6650dc1
allLogFragment.java
ac8b7423ff392c243a0bb2dd50540a072ee85ad2 30-Aug-2011 Flavio Lerda <flerda@google.com> Merge "Pixel perfect work on call log."
fca72fa1f2bf030b3e35635508132b5ad328eab6 28-Aug-2011 Flavio Lerda <flerda@google.com> Pixel perfect work on call log.

- Show a divider only between call log items, not when there is a
section header.
- Format the phone label in the call details in white instead of gray.

Bug: 5225943
Change-Id: Ia7b959bae19f9e38021f173f23cd48ae67a84fe0
allLogAdapter.java
allLogListItemViews.java
c9ec94eddcb881962bdf334ddde4719d5386a976 28-Aug-2011 Flavio Lerda <flerda@google.com> Do not show "Show voicemail only" if no source is installed.

The "Show voicemail only" (and matching "Show all calls") options menu
items only make sense if there is at least one voicemail source
installed.

If not, then we should not show these options.

In order to determine whether a source is available, we use the
voicemail status table, which contains information about the installed
sources.

Bug: 5216976
Change-Id: Ib25aebba8509a1dd4c1c6de7cba2244461c69cfc
allLogFragment.java
4813c270af2b5d904437757807541f1f5e19bb93 19-Aug-2011 Flavio Lerda <flerda@google.com> Use the call log to cache additional contact information.

The new version of the call log needs a bit more information about the
matching contact (if any) to render its entries.

This change both uses the newly added columns in the call log to lookup
this values and stores the updated values back into the call log.

These values are used for setting up the quick contact badge and
formatting the phone number.

This also fixes a few smaller issues:
- the phone number shown used to change format between the initially set
value to the one obtained from the contact: this value is now cached.
- we were using -1 as the id of a non-existing contact, but 0 is
actually the value used elsewhere for this, so stick to that.
- make sure we use the cached value from the call log for formatting.
- update the call log if there was no previous value.
- introduce a UriUtils with a couple of useful functions for handling
URIs.

Bug: 5101753
Change-Id: I22f2b03b234da91e02dbeebe11a94c2f56295a3d
allLogAdapter.java
allLogQuery.java
allLogQueryHandler.java
ontactInfo.java
5ee899e689a8ddcc500655f24b0bcdfdbf401702 23-Aug-2011 Flavio Lerda <flerda@google.com> Use photo id when available.

Photo id is a long that uniquely identifies a photo associated with a
contact. It only handles low-res photos, but that's what's used in the
call log anyway.

This commit uses photo ids instead of thumbnail URIs if the photo id is
available, since that's more efficient for storage purposes. In fact, if
a photo id is available it does not even bother storing the URI.

This will make a significant difference in terms of storage when I will
use the call log table to store cached contact information, including
the photo id and thumbnail URI.

Bug: 5101753
Change-Id: Ia60e3ce33763fe3744208763befbaf4489d60bdd
allLogAdapter.java
ontactInfo.java
honeQuery.java
071aa0d0511cbffac933539eaa484860fae2132d 22-Aug-2011 Flavio Lerda <flerda@google.com> Use Contact URIs instead of contact ids.

Contact ids are not guaranteed to be stable.

Instead use a contact URI (which contains both a lookup key and a
contact id, used only as a hint).

This change is needed for caching, since we do not what to cache the
unstable contact ids.

Bug: 5101753
Change-Id: I34814c8935e706ee898adcedc39c4baeea147d67
allLogAdapter.java
allLogFragment.java
ontactInfo.java
f78a59076ab7700f0f7482d9935763dcab235563 14-Aug-2011 Flavio Lerda <flerda@google.com> Update the call log contact info cache.

Now that we use the call log cache again, we should also update it when
we find more up-to-date information when looking up in the contacts
database.

Bug: 5101753
Change-Id: I408c1d5c8ec3752d5c15e761274eb06fb9242de6
allLogAdapter.java
231a6fb24a67f054641e7c7d21c487915d35f4ac 15-Aug-2011 Daisuke Miyakawa <dmiyakawa@google.com> Show the call option menu in Favorite tab too.

Now that all three tabs show that, we don't need to manage it
on each Fragment.

Bug: 5149475
Change-Id: I16e1fa2bfeb4bffa6b9e37e2583da3614fa367da
allLogFragment.java
448d94bd298f581c3c736f2d1132f2ed833ff207 15-Aug-2011 Flavio Lerda <flerda@google.com> Merge "Use the content of the call log to predict the contact info."
e33014cd8b5b54812f5954878edd5652a61cd270 15-Aug-2011 Flavio Lerda <flerda@google.com> Merge "Clean-up after extracting nested classes from CallLogFragment."
242040e815adf4a449adf0d23e2fb8ae6ff93222 15-Aug-2011 Flavio Lerda <flerda@google.com> Merge "Extract nested classes from CallLogFragment."
b5f6432139f887e6f65e1206e927f57cfb670cc6 13-Aug-2011 Flavio Lerda <flerda@google.com> Use the content of the call log to predict the contact info.

This change re-instroduces the cache stored in the call log table for
the contact info associated with a call.

This is the first part of the necessary changes. In this change, I also
use the stored information, I do not update it when the contact is
actually looked up in the call log.

Bug: 5101753
Change-Id: Ib906e9af06410c2cc295192cd4623b011fa0ad09
allLogAdapter.java
allLogQuery.java
allLogQueryHandler.java
de4f16aa0ff53c2756a3f9bf67ad7cb59b4d1aa3 13-Aug-2011 Flavio Lerda <flerda@google.com> Clean-up after extracting nested classes from CallLogFragment.

A few fields were made package accessible: fix those up.

Also, move around a couple of interfaces to the most appropriate
location.

Bug: 5101753
Change-Id: I34af0dc6401874d9c8c71932bce239852d42f703
allLogAdapter.java
allLogFragment.java
allLogGroupBuilder.java
568ad27e706d7c75dd7412e34c2236c772704a04 13-Aug-2011 Flavio Lerda <flerda@google.com> Extract nested classes from CallLogFragment.

This should help making the changes to the CallLogFragment easier to
make as there is less code around.

This has been done entired using Eclipse's refactoring with no manual
changes.

In the process, a couple of fields have been expanded from private to
package, because, while their were private, they were being used by
the parent/nested class anyway. I will fix those in a follow-up.

Bug: 5101753
Change-Id: Id46e18cfa86939100342daa020430063959dfcfc
allLogAdapter.java
allLogFragment.java
allLogGroupBuilder.java
allLogQuery.java
allLogQueryHandler.java
ontactInfo.java
ntentProvider.java
honeQuery.java
0331d14de21c78cd6969ef177e399a4b99290f7d 12-Aug-2011 Flavio Lerda <flerda@google.com> Fix clearing of voicemail notifications.

The intent used to clear the voicemail notifications currently also
marks the missed calls as no longer new. This change fixes that by
updating only the entries corresponding to voicemails.

Bug: 5159577
Change-Id: Ia36902daaa9cd19c8b4a2f30259eb328ee103b25
allLogNotificationsService.java
allLogQueryHandler.java
efaultVoicemailNotifier.java
be38b67e61d4b074614d41dc0b1179230c252270 12-Aug-2011 Flavio Lerda <flerda@google.com> Fixes headers for new and older calls.

The attribute android:drawableBottom does not work as I expected (it
works as documented though).

Instead, use the same pattern used for headers elsewhere in the
application.

Bug: 5152462
Change-Id: I4b3f9b0d959c9f69c90ef8181b98e62f6031d25d
allLogFragment.java
allLogListItemViews.java
fcd462b5d974ae14a8b811413785d76e33b54058 12-Aug-2011 Debashish Chatterjee <debashishc@google.com> Merge "Fixed & simplified missed call & voicemail notifications."
8fde1ead2527c926ac44f2aa0feda0e805bbab3e 11-Aug-2011 Debashish Chatterjee <debashishc@google.com> Fixed & simplified missed call & voicemail notifications.

Fixed how missed call and voicemail records are handled w.r.t.
notification and appearance in the "new" section.

The new section is meant to show calls that are not yet consumed. Till
now, for missed calls "new" flag has been used for two purposes -
(1) indication that the notification has to be shown and (2) unconsumed
call. However for voicemails the "new" flag only indicates
the notification state. The consumed state is indicated by the flag
"is_read".

Using the "new" flag with dual meaning causes problems when we want to
remove notification for voicemails. In order to remove voicemail
notification on entering the call log screen we need to mark the calls
as "old" but this means that missed calls immediately get moved to the
"old" section.

This change extends the usage of the "is_read" flag to missed call as
well. Now the "new" section simply includes calls that are not marked as
read and "old" section includes everythng else.
Missed calls are marked as read when the user leaves the call log
screen, whereas voicemails are marked as read when the user opens the
call details page.

Framework change to insert new missed calls with default unread state
is done in Id24f815994ce90c89f5907c919ce95043a5d6217.

bug: 5141185
Change-Id: Ieade142fb5acf5b295251ff1f73bf30d1860bae1
allLogFragment.java
allLogQueryHandler.java
93166eb56f411e3c32387790e216c9df799ddae1 12-Aug-2011 Flavio Lerda <flerda@google.com> Merge "Add "Show all calls" to options menu."
1ab16ddc566674257c3a8fb02e72356f044659f5 11-Aug-2011 Flavio Lerda <flerda@google.com> Merge "Fix opening of grouped items."
565c39aa6aa37cafe67f9aaf1cf45977509f21ad 11-Aug-2011 Flavio Lerda <flerda@google.com> Add "Show all calls" to options menu.

This allows a user to switch back to seeing all calls after filtering to
show only voicemails.

Bug: 5099084
Change-Id: I02624673c1b534b32f35520ad9ec8713de073189
allLogFragment.java
d1333a29ffe2b85b7e2bcb0a5d9801e1ffa62cd2 11-Aug-2011 Flavio Lerda <flerda@google.com> Makes the call details scrollable.

This change makes the call detail activity scrollable, making it easier
to see the details of multiple calls.

In order to make sure the main controls are always visible, it only
scrolls out the picture view, but always keeps the rest in view.

Bug: 5041805
Change-Id: I40b87efecfe3c921aab831e83dbff806b10b9c9f
allDetailHistoryAdapter.java
b4625e72331742bfe1291a49e409b165c6799047 11-Aug-2011 Flavio Lerda <flerda@google.com> Fix opening of grouped items.

Correctly broadcast the list of ids when opening a group item in the
call log.

Bug: 5152648
Change-Id: If4e487fa5a3c1d80651ff20c24cdd13b59b97ec0
ntentProvider.java
8ebfa3d13c402a821eed4e91c59a8d8bf9bd2df0 10-Aug-2011 Flavio Lerda <flerda@google.com> Improvement to visual layout of call details.

Changes the styling for the call and SMS row, the history items, and
fixes the alignment of the name on top of the picture.

Bug: 5039572
Bug: 5121168
Change-Id: Ibeaa0621a7662d7537db0573a370f61f8a00e385
allDetailHistoryAdapter.java
6c70ef0400ef72128fe15292d8882e4a8e825799 10-Aug-2011 Debashish Chatterjee <debashishc@google.com> Merge "Clear missed call notification."
82b7c07b33fe5f3e2bfdee1d5f4c68060a337028 10-Aug-2011 Flavio Lerda <flerda@google.com> Change the layout of the call log list items.

This fixes selection and touch targets.

Instead of the whole list item being clickable, split out the various
parts.

Bug: 5063588
Change-Id: Ifb433d637d26dadc3998e4686c80ca0cb18a3ebc
allLogFragment.java
allLogListItemViews.java
ntentProvider.java
826513476c488fe597d41cdd8530e850c2d0cb64 10-Aug-2011 Flavio Lerda <flerda@google.com> Merge "Use geocoded location from call log content provider."
9b81f1d888772086e49fa39bfa3304f9e072614c 09-Aug-2011 Flavio Lerda <flerda@google.com> Reduce number of views in call log.

Use only one image for the secondary action and configure it at
run-time.

Bug: 5099652
Change-Id: Ibcc9f2f0abbf4d7d409ba5d574d88387836fc0bf
allLogFragment.java
allLogListItemHelper.java
allLogListItemViews.java
71fc6ec6598aeb8dcad797c05816bab91762e2b3 09-Aug-2011 Flavio Lerda <flerda@google.com> Use geocoded location from call log content provider.

When showing the geocoded location in the call log, use the value from
the provider instead of querying the geocoder each time: that would be
too slow and cause a strict mode violation.

Bug: 5129581
Change-Id: Ia0eb5bdd33c5bcebcf6267ce01f7d36c53396c30
allLogFragment.java
allLogQueryHandler.java
honeNumberHelper.java
594f09257106c62518807851e617fc3b38150dcb 09-Aug-2011 Debashish Chatterjee <debashishc@google.com> Clear missed call notification.

The current implementation failed to clear missed call notification
because it requires the parent activity's window to in focus.

Due to some reasons getActivity().hasWindowFocus() returns false when
invoked from onResume(). By experimenting it came up that the window
gets focus AFTER the fragment is resumed.

The fix is to to use KeygaurdManager.inKeyguardRestrictedInputMode() to
determine if the keygaurd is on, and not remove the notification if so.

Bug: 4521535

Change-Id: I56cf82d708d7c694a966bdd6b79a328895c86048
allLogFragment.java
3fbbf1c8e9c1a39334e9da7a9af5da307469bed8 09-Aug-2011 Debashish Chatterjee <debashishc@google.com> Merge "Call log auto refresh."
06f857d40f9666bd633b9680fdf76fe410fa598b 05-Aug-2011 Debashish Chatterjee <debashishc@google.com> Call log auto refresh.

Modified ExtendedCursor to support registration/unregistration
of contentObserver & datasetObserver on the cursor.

Automatic refresh of voicemail when inserted through the voicemail
content provider still does not work because call log uri is not
notified in this case. This will require a fix in the content provider.

Moved the call to reset new flag from onResume() to onStop() such that
calls are now marked as read when the user leaves the call log screen.
If entries were continued to be marked as read in onResume() then it
triggers a refresh and moves the entries from "new" to the
"old" section immediately. We want the entrie to remain in the "new"
section until the user exits the call log screen.

bug: 5055868

Change-Id: Iaef05ae721df1ab19dc001e17f4cd7be4019863e
allLogFragment.java
xtendedCursor.java
f0a714e292f37286170b7972521688abd88f4223 09-Aug-2011 Flavio Lerda <flerda@google.com> Merge "Introduce a NeededForTesting annotation."
573f972298bf98cfeb54238b12899e4ac2ceba61 09-Aug-2011 Flavio Lerda <flerda@google.com> Merge "Create a CallLogListItemView that prevents layout requests."
cb0af8376e4a114b4d0ff4c8358331e3c7a8ad65 06-Aug-2011 Flavio Lerda <flerda@google.com> Create a CallLogListItemView that prevents layout requests.

Bug: 4971062
Change-Id: I45bb22e400b39343fd19d22f44aa22d3a2384799
allLogListItemView.java
155c0708cc28642836360b820833e22217130f0c 08-Aug-2011 Flavio Lerda <flerda@google.com> Introduce a NeededForTesting annotation.

This annotation can be used to mark those classes and methods that are
used by tests and that therefore should not be removed by ProGuard, even
if unused.

This is similar to VisibleForTesting annotation, but in this case, there
is increase of visibility, just happens that we do not currently use
those methods in the application code.

This fixes a number of failing tests in the continuous build. This
problem affects only userdebug builds, because eng builds do not run
ProGuard.

Bug: 5112827
Bug: 5131770
Change-Id: I13d06bc7bebb8f5d2d9ff515a5587b4f25bed5ac
allTypeIconsView.java
9fb5678fc42f4b8db9628f9fb7cd60702f55b104 08-Aug-2011 Daniel Lehmann <lehmannd@google.com> Remove plain_contact_photo, as QuickContactBadge can take over now

Bug:5099652

Change-Id: I5490fd17c37697c3593a9e7e7fd3b562ac09d701
allLogFragment.java
allLogListItemViews.java
1c9b49686a02ab4dc6bf6ce6ba18f56ed2da79a5 05-Aug-2011 Flavio Lerda <flerda@google.com> Merge "Make the CallLogAdapter a static nested class."
95a1cfe10646e522a0466793147ae9d564fc3ef7 04-Aug-2011 Flavio Lerda <flerda@google.com> Make the CallLogAdapter a static nested class.

This is a precursor to extracting the CallLogAdapter into a separate
class and re-factoring it to dynamically build the list of groups.

That should in term help performance on startup, if we can not construct
the whole grouping on startup.

Bug: 5114769
Change-Id: If684a81d10108e4d72249552cb7ced286ec8cbc6
allLogFragment.java
fcbf9262ad779464908cb69935397a6c9627ceba 04-Aug-2011 Hugo Hudson <hugohudson@google.com> Simplest attempt at a fix for clear call log bug.

- Clearing the call log currently deletes voicemails from the log
without removing their attachments (and leaving you no way of later
deleting those attachments).
- The fix is either to not delete the voicemails when clearing the call
log, or to delete their files as well.
- I think we should skip deleting voicemails, because having all your
voicemails deleted is probably more than should be expected from a
menu item entitled "clear call log".

Bug: 5123101
Change-Id: I665cee1ae94dc9c40826185ae9d01705d407022f
learCallLogDialog.java
fe17026100674b204f3b4fc6cb5a61f51ac99ec6 03-Aug-2011 Flavio Lerda <flerda@google.com> Use a single text view for count and date of calls.

This further reduces the number of views needed to render the call log.

At the same time, fix a few minor issues that are needed for pixel
perfect UI:
- Do not show the text when the item is new.
- Instead, for new items, highlight the date in the color associated
with the item (blue for voicemail, red for missed calls).
- Do not put a separating slash between the count and the date.

Bug: 5099652
Change-Id: I18b71463e7398f00f0fe8fecbeb334b67d618312
allLogFragment.java
allLogListItemHelper.java
allTypeHelper.java
b88abaaf3e733a9daf681277b7e5e8e58c015462 03-Aug-2011 Flavio Lerda <flerda@google.com> Use simple TextView for call details header.

Instead of the using the more complex call_log_phone_call_details
layout, use just a text view, since all we want to show is the name (or
number) of the person who called.

Bug: 5099652
Change-Id: I408b5ffaeea09c0efe2631bd317d1ea640be294f
allLogListItemHelper.java
0f53ef6e6442a1ef21b843b21d8c2575c2f5015c 03-Aug-2011 Daniel Lehmann <lehmannd@google.com> Merge "Replace FrameLayout by LinearLayout, remove a RelativeLayout."
dd094985ab2b8b3dd5702c38ee4d560e8c4066c9 03-Aug-2011 Daniel Lehmann <lehmannd@google.com> Replace FrameLayout by LinearLayout, remove a RelativeLayout.

Also adds a thread name to the call log lookup thread

Bug:5099652

Change-Id: Ib57f7dc8776838ff0b1d216cb97d4f856f74946b
allLogFragment.java
f50b48738e70d901f6200356ded40cb3d7211ad4 03-Aug-2011 Flavio Lerda <flerda@google.com> Do not show geocode for voicemail and private numbers.

Bug: 5111400
Change-Id: I4f7e8f2bf8480731184578b335a7ce7fc5ef4270
honeNumberHelper.java
6ecb732e22b271878d5f9215b7c821a1d97d888f 02-Aug-2011 Daniel Lehmann <lehmannd@google.com> Replace the list of call symbols by a single custom view to paint them.

Saves about 7-21 views per screen and should be more efficient to recycle

Bug:5099652
Change-Id: I10a1b1d188c5c58329de4ba063d41f8c116c3497
allDetailHistoryAdapter.java
allLogFragment.java
allTypeHelper.java
allTypeIconsView.java
f513860e0d64d88585d4aa13150b045c19fcd42a 02-Aug-2011 Daniel Lehmann <lehmannd@google.com> Restyle the Call Log Details. Make the whole contact picture a push target

Reduced by 21 views on Nexus S

Bug:5099652

Change-Id: I49ec28e7d6e560c7622e4e983347bd95ebbd8a97
allLogFragment.java
allLogListItemViews.java
c37573179d14786670358275b898b8eb8fa4f150 30-Jul-2011 Hugo Hudson <hugohudson@google.com> Remove the duration field for voicemails.

Bug: 5083839
Change-Id: I732f6916373accd91581dc68ded6ab8dfae085b2
allDetailHistoryAdapter.java
60c1f788e39577cad5b74414e65d9bab7ca17574 27-Jul-2011 Flavio Lerda <flerda@google.com> Move notification generation to a service.

Generating notifications requires looking up the list of calls to
include and the name of the callers.

Instead of doing this on the onReceive, move this to a service. By using
IntentService this will be done on a worker thread.

Bug: 5036195
Change-Id: Idb6e80c802e40398888bb76f52ad7c5457aea945
allLogNotificationsService.java
allLogReceiver.java
efaultVoicemailNotifier.java
oicemailNotifier.java
f6828029b127f60d758bf30052989d64f50cfa86 25-Jul-2011 Daisuke Miyakawa <dmiyakawa@google.com> Implement smoother swipe animation for Phone UI

Phone UI conditionally shows split ActionBar on the bottom,
which makes swipe animation less smooth. This change makes it
smoother by reducing layout re-calculation.

- stop changing menu state on onPageSelected but do so on
onPageScrollStateChange.
- use android:windowActionBarOverlay to suppress recalculation
during menu show-up
- add marginTop to every fragment for Phone so that fragments
won't overlap with ActionBar
- add paddingBottom for CallLog and Favorites so that those
fragments won't overlap with split ActionBar

FUTURE TODO:

We need custom assets for android:actionBarStyle
- android:background
- android:backgroundStacked
- android:backgroundSplit

Bug: 5022052
Change-Id: I3bd48cf9d8aaa398806531823fca63de328b807a
allLogFragment.java
b78b7096618cd9c3c8db8e4a8e0ed684fe8b1b11 26-Jul-2011 Flavio Lerda <flerda@google.com> Fixes for voicemail notifications.

- Handle multiple notifications.
- Clear notifications correctly.
- Show un-cleared notifications on reboot.

Bug: 4968721
Change-Id: I1bd1eda4d75371fb7ba92063d74a61de232b61d6
allLogNotificationsService.java
allLogReceiver.java
efaultVoicemailNotifier.java
ewVoicemailReceiver.java
oicemailNotifier.java
21ef0f741f869669862fc3122a424edac97f4df4 26-Jul-2011 Flavio Lerda <flerda@google.com> Fix copyright header.

Change-Id: I480c209535ebad22c09c147b8262cd558cfce522
ntentProvider.java
92b9f1dfc1a7a4d5b97582332e7baf6c853adfd5 26-Jul-2011 Flavio Lerda <flerda@google.com> Merge "Change the set of calls in the NEW section."
dccafea7af338e1e8ec94170b0e28d22a4c1bfa0 25-Jul-2011 Flavio Lerda <flerda@google.com> Fixes play button for voicemails in call log.

Bug: 5072527
Change-Id: I5a3e61811483f6658668c5ee704dbe07d0107bec
allLogFragment.java
ae221f1da4d6d86c3620f1217038be442ff37edb 21-Jul-2011 Flavio Lerda <flerda@google.com> Change the set of calls in the NEW section.

We have introduced a IS_READ flag in the call log that is used to
determine which entries (specifically voicemail) have not been marked as
read by the user.

Items with IS_READ set to 0 should be placed in the "new section" of the
call log, together with those calls which have the NEW flag set, i.e.,
which are unacknowledge by the user. Unfortunately the terminalogy is a
bit misleading since the NEW field is an existing field in the call log
content provider and its name cannot be changed.

This commit updates both the query used to generate the list of items in
the "new section" and "older section," as well as the query used to
reset the new calls flag. In the former case, we used to reset the NEW
flag only for missed calls, while now we reset it for all types of
calls, making the treatment of the NEW field overall more consistent.

Bug: 5036195
Change-Id: Ib777179a623b5cc97a1f7864cdaca8b5d6b468e9
allLogFragment.java
allLogQueryHandler.java
012641e5f2b5d7d768824bdbf6f90a87c52b1ceb 25-Jul-2011 Flavio Lerda <flerda@google.com> Merge "Disable quick contact badge for unknown contacts."
4d44e6233858a8d3ad9019ac69ec8102ce3fcb3e 25-Jul-2011 Flavio Lerda <flerda@google.com> Disable quick contact badge for unknown contacts.

Bug: 5010334
Change-Id: I864ccf2e0f606bf3d2a9dafa886284d3bc792d21
allLogFragment.java
allLogListItemViews.java
e414f6478fac365a75eb37a1ba149d02b2d8c850 25-Jul-2011 Flavio Lerda <flerda@google.com> Merge "Introduces a Listener for CallLogQueryHandler."
405695664582b4989cffcf054bf1aceb83dec437 22-Jul-2011 Flavio Lerda <flerda@google.com> Updates to visual design.

- Use sizes from spec.
- Show only contact name in call details header.
- Add spacing between contact icons.
- Updates a few assets.
- Add contentDescription to a number of elements.
- Use @dimen instead of ?attr for dimensions.

Bug: 4989127
Bug: 4989128
Bug: 5039572
Bug: 5038409
Change-Id: I3a59af44c77f739185feef39afd57193b5e0176a
allDetailHistoryAdapter.java
allLogFragment.java
allLogListItemHelper.java
allLogListItemViews.java
allTypeHelper.java
da4c8c725b0e9a2bb7228fb9444cc74268c89f61 24-Jul-2011 Flavio Lerda <flerda@google.com> Introduces a Listener for CallLogQueryHandler.

Change-Id: Ib009a1a20a708ee94e203cae1dc5a3307f10e1fb
allLogFragment.java
allLogQueryHandler.java
09a33b4056235885f330a3312afd059dc8465f6d 23-Jul-2011 Daisuke Miyakawa <dmiyakawa@google.com> Remove illegal state exception entirely

There's no easy way to tell if the id is invalid or not, as the
id may come from outside the fragment if we're using ViewPager.

DialpadFragment on the other hand ignores unknown ids. Let's ignore
it here too.

Bug: 5067067
Change-Id: I7b4ef764beca526baf6d72d47ca5d4d0094e32e9
allLogFragment.java
c453973cad5b49a43fae28c1b1ce9e16fe29c03a 22-Jul-2011 Daisuke Miyakawa <dmiyakawa@google.com> Fix IllegalArgumentException problem

onOptionsItemSelected() will be called with menu_call_settings_call_log,
which should be just ignored.

Change-Id: I93cc049159afbd8ddabeb1d06a29e443f6acbf63
allLogFragment.java
d52e2ae994abf628a62175d034fdefa003d87f11 22-Jul-2011 Flavio Lerda <flerda@google.com> Implement filtering of call log.

This commit adds a menu options to filter the call log to show only
voicemails.

Currently the list is reset whenever the user switching to a different
tab or activity, in fact any time the content of the call log needs to
is refreshed.

Bug: 5035665
Change-Id: I7e412b02e08f8d7a15abc2ea1897b726f30bf1de
allLogFragment.java
allLogQueryHandler.java
89daed4d7c7469992c64a0780f9d2f925b22a88f 21-Jul-2011 Flavio Lerda <flerda@google.com> Merge "Update view when a contact is removed."
58c0ee5731e9a802f0d811f6ecfc9e75fbdfd4e9 21-Jul-2011 Flavio Lerda <flerda@google.com> Update view when a contact is removed.

The existing code did not update a contact if it was already in the
cache and it was not find by the update query: this means that when a
contact is deleted or a number is removed from a contact, the call log
will not get updated until the entire data is invalidated.

This commit changes the way this is handled: extract two helper methods
for looking up SIP addresses and phone numbers; these functions will
return null in case an error occurs, but ContactInfo.EMPTY if no contact
is associated with a phone number. The returned info is used to update
the cache, even if no match was found, making it possible to update the
call log contact information when a contact is deleted or a phone number
removed.

As a further optimization, this code also takes care of only requesting
a redraw if the contact information has actually changed. This requires
a new equals method (and matching hashCode) on the ContactInfo class.

Bug: 5055883
Change-Id: I2cd930ca8dc935f62a43988abde44cd62cc99a1c
allLogFragment.java
d31ffa6b0358f3de0292e97e960852f1dc6a5774 21-Jul-2011 Flavio Lerda <flerda@google.com> Merge "Remove the call button area if we cannot call."
4d8b1ad49cc1ab1a65c03969cab28cc84525ab43 21-Jul-2011 Flavio Lerda <flerda@google.com> Merge "Updates grouping behavior for the call log."
6fb088eca53d723edb4ea0803751eff484c9ae8b 20-Jul-2011 Flavio Lerda <flerda@google.com> Updates grouping behavior for the call log.

We are now using the following policy:

Voicemail and missed calls are grouped with following missed calls (not
voicemail) from the same number.

Incoming and outgoing calls are grouped with following incoming or
outgoing calls from the same number.

Bug: 4968671
Change-Id: I304baca0c02e10e9cbee1c9b01a573e28738fa2a
allLogGroupBuilder.java
33b28a1fc0e8ca5c2c285655d0ed8bd0dc275600 21-Jul-2011 Flavio Lerda <flerda@google.com> Remove the call button area if we cannot call.

If this is not a voicemail, then the whole call button area is empty and
there is no need to keep that around. Instead, extend the text area to
the right of the screen.

If there is a voicemail, keep the empty call button area for visual
consistency.

Bug: 5056506
Change-Id: Iaad9228ad6dcc67ebcd8a893ca0383fa595376e4
allLogListItemHelper.java
allLogListItemViews.java
ebef7717c62e15d69c0965ec7a56c4f16341dff3 20-Jul-2011 Flavio Lerda <flerda@google.com> Do not expose parsePhoneNumber in PhoneNumberHelper.

Instead, do the call within getGeocodeForNumber, so that we have a
single call now that we need to make asynchronously.

Bug: 5046550
Change-Id: I54fddefa3f7c8d29bcd60b0d96162211f90520c9
honeNumberHelper.java
63ac587e3495feb4ab5bc6acdc07cae53de635a7 19-Jul-2011 Flavio Lerda <flerda@google.com> Dismiss missed calls when the call log is shown.

The notification used to be dismissed by the CallLogActivity. Now that
that class is no longer used but the CallLogFragment is used instead,
add the dismissal in the fragment.

With the fragment, detecting when the code is being shown is a bit more
complex (it takes into account both onResume and onVisibilityChanged).

Bug: 4521535
Change-Id: I01af5b3ab0e1e66e9b90d93b4957c0dff9816603
allLogFragment.java
c147e8826c0bb87b43d270e490117292d41b08ef 20-Jul-2011 Debashish Chatterjee <debashishc@google.com> Merge "Changes in CallDetailActivity to show voicemail status message."
0cb8224a32bd956f6052e6eecc96720711bf6bfc 19-Jul-2011 Debashish Chatterjee <debashishc@google.com> Changes in CallDetailActivity to show voicemail status message.

- call details page now show a voicemail status message if the call in
question is a voicemail and does not have audio available.
- moved VoicemailStatusHelper and related classes into
contacts.voicemail package as it is used by CallDetailActivity as well
as calllog.CallLogFragment

Bug: 5040099
Change-Id: I9ad0c1fb60526ef55d7f38dbd2157b14af9d5b55
allLogFragment.java
allLogQueryHandler.java
oicemailStatusHelper.java
oicemailStatusHelperImpl.java
3ddbafed601cc99aa46daab34d5afb017c87fd61 20-Jul-2011 Flavio Lerda <flerda@google.com> Merge "Delay computing of PhoneNumber as much as possible."
9c466374c2cb5371197334bde701dc8f452ebf03 19-Jul-2011 Flavio Lerda <flerda@google.com> Delay computing of PhoneNumber as much as possible.

Computing PhoneNumber is an expensive operation. We want to make that
asynchronous and it is currently only used together with the offline
geocoder, which also needs to be asynchronous.

Therefore, delay the call to generate a PhoneNumer until it is actually
needed, i.e., at the same time as computing the geocode. This means we
only need to make one call asynchronous instead of many.

Change-Id: Iebebf098be713281b2976c72506e480466fb65d4
allLogFragment.java
7533282d831b5adb59d2e579ba9901535288bd89 19-Jul-2011 Flavio Lerda <flerda@google.com> Add tests for CallLogGroupBuilder.

These tests are not extensive as I am going to change the actual
grouping logic in follow-up, so I kept these limited to really simple
cases that will not change in the follow-up.

Change-Id: I830f47c297abb783247696a4f65f569b74282e43
allLogFragment.java
allLogGroupBuilder.java
allLogQueryHandler.java
92a26f3d90c3ef3fd24e45d6c6d594ea57054427 19-Jul-2011 Flavio Lerda <flerda@google.com> Move logic for grouping phone calls into a helper.

Change-Id: I85e3fce30743ca956f90d11ab755754e820b9b15
allLogFragment.java
allLogGroupBuilder.java
949bdc5eeb1e07569097f72d7ca603d4505a9786 19-Jul-2011 Debashish Chatterjee <debashishc@google.com> Merge "Include a separate message for call details page in voicemail StatusMessage."
6e4052c8685192d94a793afeccf8d0f0212584d0 18-Jul-2011 Debashish Chatterjee <debashishc@google.com> Include a separate message for call details page in voicemail StatusMessage.

With this change now a StatusMessage also carries the info about where
it must be shown.

Bug: 5040099

Change-Id: Ib0d430b5eda1a7031ce90d84916b0159ac7cfd38
allLogFragment.java
oicemailStatusHelper.java
oicemailStatusHelperImpl.java
a113689156ac38177fb8fdf82e5327c3f916d331 18-Jul-2011 Flavio Lerda <flerda@google.com> Add playback button in call log.

This commit adds a separate playback button to the call log, according
to the latest mocks.

Change-Id: I5d732d7a3775b4c723fb6a70015ed187e40c5c46
allLogFragment.java
allLogListItemHelper.java
allLogListItemViews.java
ntentProvider.java
8620906e38f9806c1e1ed7a3695336b9c47ab130 18-Jul-2011 Flavio Lerda <flerda@google.com> Correctly update contact information when resumed.

Currently the contact information was not resumed because the content of
the cache was present and the application assumed that we had a
duplicate request.

However, since the only thing we need for a request is the phone number,
use a list of strings and do not add to the list if there is already the
same value in it. This prevents duplicate requests.

Also remove CallerInfoQuery since it is no longer needed.

Bug: 4579309
Change-Id: Ife971dfdd8c9e554689bd00d3be49aec667e43f6
allLogFragment.java
783c3222f6658ac4a2a5a4206f89cda04444d27c 18-Jul-2011 Flavio Lerda <flerda@google.com> Update the content of the call log when resumed.

Since the call log is now a fragment, onResume is not sufficient to
determine whether the user came back to the call log.

Instead use both onResume and onVisibilityChanged. However,
onVisibilityChanged can be called before onCreate and other lifecycle
methods are, therefore we cannot assume the fragment is in proper state.

As a workaround, use the isResumed() method to determine whether an
update should happen.

Change-Id: I47cdf07278447209efa0349c7d0a2943e206bdb5
allLogFragment.java
b9d23fad544feefdd02e4675a7b9586eb2631982 19-Jul-2011 Flavio Lerda <flerda@google.com> Merge "Use geocoded description in the call log."
6d221fdef8352cc2460ee78f532d318c503ebf6e 18-Jul-2011 Flavio Lerda <flerda@google.com> Merge "Ignore clicks on header of call log."
7594d799dc8b4486148cdcd586b5dcd24a679211 18-Jul-2011 Flavio Lerda <flerda@google.com> Visual update of the call log.

- Remove child and group item layouts, since they are no longer needed.
- Add icon for voicemail playback to the layout (still unused).
- Update dimensions, colors, and fonts in various places to match mocks.

Change-Id: I00e5eef2d2ba84a884efedffb3533e61fbae7176
allLogFragment.java
allLogListItemViews.java
5cd0f4eab2e2ed860fd2be2f158e9d77b9c55a3d 18-Jul-2011 Flavio Lerda <flerda@google.com> Ignore clicks on header of call log.

Bug: 5042091
Change-Id: I3df718e44e749eeace87a3635458431d9af98298
allLogFragment.java
cd2cd760c1fc512513331558112e2e0574497cc8 18-Jul-2011 Flavio Lerda <flerda@google.com> Fix "Clear call log" menu item.

The code is now loading the options menu from the resources, so it
should use the id that is automatically generated for it instead of the
fixed id we were using before.

Bug: 5035160
Change-Id: Ic1b15318581522b8d7e7e48208e80c3d8068298b
allLogFragment.java
learCallLogDialog.java
cb805e853dce5fc4d434f2b1916b154d80ab1744 18-Jul-2011 Flavio Lerda <flerda@google.com> Use geocoded description in the call log.

If a number is not associated with a contact, try to get the location
for that phone number and show that instead.

This is shown below the phone number, since the phone number is still
the most useful information for the user.

Bug: 4968253
Change-Id: If9c29c2e20f96f10e24fcf97ccac85eada237b71
allLogFragment.java
honeNumberHelper.java
fafaefea41e9f8eb5a4cd80395cb860136215792 18-Jul-2011 Hugo Hudson <hugohudson@google.com> Fix the unit tests.

- The view's tag was recently changed from storing the number as
a string to storing a NumberAndType instance.
- This cl updates the test to correspond.

Change-Id: Ibc108ee6cf5afb21899036fb36cebae1f595e8f9
allLogFragment.java
8432b27a6b18457e2d30a0d20f1492930797fd21 18-Jul-2011 Debashish Chatterjee <debashishc@google.com> Merge "Made voicemail status query from calllogfragment asynchronous."
ccbccde9cf094470118201091d8cc116cfcff725 18-Jul-2011 Debashish Chatterjee <debashishc@google.com> Made voicemail status query from calllogfragment asynchronous.

callLogQueryHandler is now used to fetch voicemail_status cursor and
pass that to VoicemailStatusHelper to compute the messages for display.
VoicemailStatusHelper no longer make direct call to the content
provider, so is now safe to be used from the ui thread.

Also, modified status message layout to have visibility=gone as a
default value.

Change-Id: I2dce71080d974c318adcbd134e91df85ac6ce611
allLogFragment.java
allLogQueryHandler.java
oicemailStatusHelper.java
oicemailStatusHelperImpl.java
3d4e92d0be6d128cfcaa37bdd4f4d9b9639d3eab 18-Jul-2011 Flavio Lerda <flerda@google.com> Fixes NPE when clicking on a call log item.

Change-Id: I3e2da43a03e4dd7a73f38460d8a534731e3af2a2
allLogFragment.java
40977b6356206847ea8b4d257668a1ffbc6884d6 18-Jul-2011 Hugo Hudson <hugohudson@google.com> Merge "Voicemail playback, with variable speed ui."
33e5c470010f81abd22d33fc7208c1955b27da5a 17-Jul-2011 Daniel Lehmann <lehmannd@google.com> Merge "Use highres pictures in call-log (if available)"
362654ae0fe3dd9b26306204904d59c737edad53 17-Jul-2011 Daniel Lehmann <lehmannd@google.com> Use highres pictures in call-log (if available)

Change-Id: I71df0f38ab27b5ff1cb223a0b609b3e384e75224
allLogFragment.java
e67081cdc337af96bf17f40c16e766f920aaf8a4 17-Jul-2011 Flavio Lerda <flerda@google.com> Switch to using proper icon for call button.

Change-Id: Ib8c52f52b3b42e9deb9358f93e92e47e0bd478ee
allLogFragment.java
b002f512acfd12b0f25c62579af0b7ecb02d728e 15-Jul-2011 Hugo Hudson <hugohudson@google.com> Voicemail playback, with variable speed ui.

Introduces a new VoicemailPlaybackFragment and the
VoicemailPlaybackPresenter that goes with it.

Together these two form part of the CallDetailActivity, and allow us to
play back voicemails inline with variable speed.

Also included is the code from the CallLogFragment to launch the
CallDetailActivity with suitable extras buried in the Intent.

Change-Id: I86585685802b69441f5812b41c215f3534af26e4
allLogFragment.java
allLogQueryHandler.java
9e0038930f0f504bd0054775ba2ed99699cba417 15-Jul-2011 Debashish Chatterjee <debashishc@google.com> First cut voicemail source status message ui.

The UI right now is very basic.

Also renamed Message to StatusMessage to avoid conflict with
android.os.Message used in the call fragment code.

TODO:
- make the UI look nicer.
- show more than one messages
- make db call asynchronously

Change-Id: I10c1be8a37990104b5fe428c61964e7a78b7fd46
allLogFragment.java
oicemailStatusHelper.java
oicemailStatusHelperImpl.java
63a0a9e6ff03ca688c3904f41082515874fa1c3b 15-Jul-2011 Flavio Lerda <flerda@google.com> Handle call log entries with a NULL value for the NEW field.

The current query causes SQLite to not return items with a NEW field set
to NULL (if they are missed calls or voicemail) neither in the NEW
query nor its negation.

This fix makes sure that each entry will match one of the two possible
queries and therefore always appear somewhere in the call log.

Bug: 5036125
Change-Id: I66e0b9ed50c9d5733e14ec8da181884a0a6f160d
allLogQueryHandler.java
60a0d0397c512c11a3d510382b794b88358f7479 15-Jul-2011 Flavio Lerda <flerda@google.com> Do not show phone number in group item.

Since all calls in a group are from the same number, there is no need to
repeat showing the number.

Change-Id: Ic0a7f59edf4714eca423ab21ca1909a28a94c85c
allDetailHistoryAdapter.java
ba8484f6f747085b79625c0a8cd02d181c062068 15-Jul-2011 Flavio Lerda <flerda@google.com> If there are no new calls, do not show older header.

If there are new and older calls, we should headers to identify them.
However, if there are only older calls, it does not make sense to have a
header there, and we should just show the call themselves.

On the other hand, if there are only new calls, it still makes sense to
keep the header there.

Bug: 5035679
Change-Id: I717577cf3b76f95843050acad4511ef71c864123
allLogQueryHandler.java
3c1046437e54a109558165718780d66241716082 15-Jul-2011 Flavio Lerda <flerda@google.com> Merge "Extract CallLogQueryHandler into its own class."
70157221f512bf3bfd47b7f74ca3652aae530266 15-Jul-2011 Flavio Lerda <flerda@google.com> Extract CallLogQueryHandler into its own class.

Change-Id: I21310e85d1d8ad2bc8a4779837d5e4fe79aee6c6
allLogFragment.java
allLogQueryHandler.java
369d5d7522a4dbf705930922f35c66b14d3e315b 14-Jul-2011 Debashish Chatterjee <debashishc@google.com> Implementation of business logic for voicemail status.

The new class VoicemailStatusHelper implements all the business logic to
determine what status messages needs to be shown to the user based on
the current status of various voicemail sources. It also orders the
messages in the order of priority.

A follow up cl would use this class to show the message and action to
the user.

Change-Id: I1d0321598356d7451715f027d00ceb3c09418669
oicemailStatusHelper.java
oicemailStatusHelperImpl.java
b71b9e70c7af47ae1b388be4a36266ec0cf6df64 15-Jul-2011 Flavio Lerda <flerda@google.com> Small refactoring on the call log.

Completely decouple the query handler from the fragment.

This is in preparation of making that class a top level type.

Change-Id: Ibc030cb7856f5f14389bf248a5e174767cf473d5
allLogFragment.java
76921903290ba9229e0238395c35569cbadecb20 13-Jul-2011 Flavio Lerda <flerda@google.com> Split new and older items in the call log.

This commit changes the way call log items are displayed.

Instead of using a single cursor showing all items, it creates two
cursors, one for new items (missed calls and voicemail with the NEW
field set to 1) and older items (missed calls and voicemail with the NEW
field set to 0 and incoming and outgoing calls).

To make this as much as possible transparent to the UI code, it actually
creates a merged cursor from the two cursor above, so that the UI does
not need to know about the fact that these correspond to two different
queries.

To allocate space for the headers (which are present only if the
underlying cursor is not empty), they are also added to the merged
cursor, using MatrixCursors.

Since the UI needs to know whether to show a header, a new call log
item, or an older call log item, add a synthetic column called "section"
which represents which section a given row belongs to.

In the process, encapsulate the details of the queries being made to the
call log. Probably a follow-up can be done to further hide the details
of how the query works.

Change-Id: I0be6ac5b4ca5b0ccd74a648a5d8687e05ad77a82
allLogFragment.java
allLogListItemHelper.java
allLogListItemViews.java
allTypeHelper.java
xtendedCursor.java
693d1f80945b32d43b8333d63ba9c819158a3991 13-Jul-2011 Flavio Lerda <flerda@google.com> Switches to new icons for call log items.

Remove the old icons since they are no longer needed.

Change-Id: I787da3ff769484772bb2a49d3d289cf140abfa51
allLogFragment.java
cfff16d74a5e8c6aca67462e9c76168a479273e8 13-Jul-2011 Flavio Lerda <flerda@google.com> Remove the long-press menu from the call log.

Make sure that the logic is preserved in the CallDetailsActivity where
the actions are available: we were currently not handling all the
special cases for SIP numbers and voicemail.

Change-Id: I97f6ffaeb6ee839fd1ddbd4c4c0a532457cc9d14
allLogFragment.java
honeNumberHelper.java
178eeebac88b352c131bd0315a99da16162c986e 11-Jul-2011 Flavio Lerda <flerda@google.com> Open groups of calls in the CallDetailActivity.

This change allow showing the details of a group of calls in the
CallDetailActivity.

First of all, it adds a way to pass to the activity a list of calls,
namely by using an extra containing a list of ids of rows in the call
log. It preserves the existing mean to open the call details using a URI
for backward compatibility.

In turns, the activity will get the details of each call, assuming they
all come from the same number and therefore the same person, and show a
single contact header at the top, while placing the detail of each of
the calls in the list at the bottom of the activity.

With that done, we no longer allow opening up groups of calls in the
call log: they are no longer necessary, as the details of the calls
within a group are now accessible in the details page.

In the process, extract a utility class that encapsulates operations on
phone number, like whether calls can be placed to a phone number, and
how to display the number to the user. There might be a few more places
where this helper can be used, but I will look at those in a follow-up.

A few optimizations still need to be pursued, for instance the lookup of
the details of the phone calls in a group can be optimized.

Another candidate for a follow-up is using a common ContactInfo class
between the call log and the call details, maybe with shared functions
to extra the information from a cursor.

A further improvement would be to have a shared cache of the contact
info and call log details, so that looking up the information when
opening the call details can be done more efficiently (it is currently a
strict mode violation) since the call details will generally require
information which had already been looked up by the call log beforehand.

Change-Id: I408650d7485afe4c132dd9cc376e6ba0e3388c1e
allLogFragment.java
allLogListItemHelper.java
honeNumberHelper.java
9a208cc08567a3d86c7968d7a4f13f5714b9b657 12-Jul-2011 Flavio Lerda <flerda@google.com> Details for multiple calls.

Add the details of the call at the bottom of the call details in a list.

The code allows having multiple details listed at the bottom, but
currently we only have one. A follow-up will add details for multiple
calls.

Change-Id: I0a91cc372f658bada603e22b9438a6db771dc124
allDetailHistoryAdapter.java
allLogFragment.java
allTypeHelper.java
223a843a7290517eccf340817cdae424658dd0da 11-Jul-2011 Flavio Lerda <flerda@google.com> Allow for multiple call icons in the call log.

This commit adds support for having multiple call icons on a single
entry, to handle group entries.

When the group is represented as text, we currently use only the first
call type, but, in a follow-up, I will use an additional counter.

Change-Id: Iaa9d1c84eb926c1500bf0a439d45ce59314bd198
allLogFragment.java
allLogListItemHelper.java
8c559a9eaf12318b53de3611cd0e7e7ee0dc5a4e 11-Jul-2011 Flavio Lerda <flerda@google.com> Merge "Slight change to the bindView method."
c135d796b9c66ff6fb2ef5651f33d196da9e6dab 11-Jul-2011 Flavio Lerda <flerda@google.com> Slight change to the bindView method.

Pass the number of entries in the call log to the bindView method, so it
can handle all the cases directly. The actual change will be in a
follow-up change.

Change-Id: I08c2e5d88f23842e09d3970f999289d74dc387d8
allLogFragment.java
714fc282ace4fef803fff2058133bc21dc442884 11-Jul-2011 Daisuke Miyakawa <dmiyakawa@google.com> Merge "Introduce overflow menu button"
bd762dc826d85e5b7db634ef14a0dbb70c42eaab 06-Jul-2011 Daisuke Miyakawa <dmiyakawa@google.com> Introduce overflow menu button

Available when there's no hard menu key on the device.

Also remove Call Settings menu from favorite screen.

Bug: 5001942
Change-Id: Ib0ff3fb15a26001dbdad4756bfa4e4bfe1652da2
allLogFragment.java
46464a19616ef00e8f63872e592bddedd1175ef3 08-Jul-2011 Flavio Lerda <flerda@google.com> No longer update nor use the cached contact info.

This commit stops using and updating the cache contact info that is
stored in the call log. Since we need more and more details about the
contact, it does not make sense to keep on adding those in two places.

Change-Id: Ia9435a2fb0bc3dba0df710319709cca9b9bc97df
allLogFragment.java
371d5f97d0b87ea0c9d8e8e178c04df34336a29e 09-Jul-2011 Flavio Lerda <flerda@google.com> Update the formatting of call log entries.

Use the three line style that is also used in the details view, in fact,
reuse the helper class and layout from that class.

Fix a few cases that were correctly handled by the call log list but not
by the details view.

Change-Id: I32e6516a571d6e3d95b5f0e414a4fc711cb6a51b
allLogFragment.java
allLogListItemHelper.java
allLogListItemViews.java
003b9d27a7cf1249ac63c10e685d628590f99809 09-Jul-2011 Flavio Lerda <flerda@google.com> Make sure the phone number is always formatted.

Currently, it was possible to have a phone number display without being
formatted. This prevents that case by initializing the field on all
paths.

Change-Id: Ie0fb3f4b9dd8f8c8ec934c34a234c51f120102c8
allLogFragment.java
fdf5d84cc1260b116c14c94bec27f949edb06ef6 08-Jul-2011 Flavio Lerda <flerda@google.com> Fetch contact details as soon as possible.

If we currently do not have contact details available, do not wait one
second since the first redraw to start the thread that fetches the
contact details. Instead, start the thread right away, do reduce the
latency of displaying the contact details.

If, however, we simply want to refresh the content of the existing
cache, keep the delay as before: in that case, there is no particular
hurry.

Change-Id: Iecef7a47f972641bed53d47b7b22dd115410583a
allLogFragment.java
94623f6288bb572520a9b576769ea88c86f73714 05-Jul-2011 Flavio Lerda <flerda@google.com> Fix for flaky tests: do not use background thread.

Tests are sometimes failing because a background thread is used to fetch
contact details.

This commit provides a way for tests to specify that such processing is
not needed.

Change-Id: Idd367e4add83349bcd2c7ed9306d0aa178b85230
allLogFragment.java
87bd5360fcd0cc1f76f0e46a431a8c5152a9a7ed 30-Jun-2011 Flavio Lerda <flerda@google.com> Add notifications for new voicemails.

New voicemails trigger a broadcast: receive the broadcast and show the
notification in the status bar for it.

Lookup the number and contact name (if any) and include those in the
notification.

Bug: 4968670

Change-Id: I7c68458696199c47fe49b37a732fe10ce24e3fe9
efaultVoicemailNotifier.java
ewVoicemailReceiver.java
oicemailNotifier.java
e00060ff05c602e036cf0c3809ed866270c93c3f 04-Jul-2011 Flavio Lerda <flerda@google.com> Visual updates to the call log.

- New style icons for the different call types.
- Icons for call and playback of voicemail.
- Style definitions for call log.
- Add placeholder assets.

Change-Id: Ia2ec57dc078d1dec9680aea4917aea0490dda1a8
allLogFragment.java
allLogListItemHelper.java
allLogListItemViews.java
bcb5f514cff58300fdb48ca883f08876076b23fa 04-Jul-2011 Flavio Lerda <flerda@google.com> Implement QuickContactBadge for call log.

This change adds QuickContactBadge functionality to the call log.

This means we can directly access most actions on the contact directly
from the call log, without going to the details or opening the
long-press menu.

Bug: 4774110

Change-Id: I47c0137424462be5230bab466d458621be1977a6
allLogFragment.java
allLogListItemViews.java
aa72f08effc0b2bac7c56dd2fed9bbeae3a6f109 01-Jul-2011 Daisuke Miyakawa <dmiyakawa@google.com> Add the search button in CallLog/Favorites

- Use ActionBar's split style
- Maintain swipe/tab-select behavior correctly
- remove old menus and add search menu item
- use xml instead of programatically adding menu items

Change-Id: Ibb00ae0f33d3a42b72c238f4d1d9a3fe0ea31562
allLogFragment.java
48bf8fec98657f207356f761daac118ae8a9bc08 29-Jun-2011 Flavio Lerda <flerda@google.com> Include voicemail in the call log.

A recent change added filtering of voicemail from the call log content
provider by default. This change makes sure call log actually includes
the voicemail.

Change-Id: Idc74468e3f9806d7648b3a746d63032bc96c9c21
allLogFragment.java
438e1f19279ea058e145c84dbe3ba62cc14df645 29-Jun-2011 Daisuke Miyakawa <dmiyakawa@google.com> Support horizontal swipe in Phone app

- introduce ViewPager for swipe support
- let DialpadFragment call resolveIntent() by itself
on onCreateView()
- remove ContactsFragment (a.k.a previous "3rd" tab)
- remove resolveIntent() call in onNewIntent()
-- This was introduced to fix bug: 4724464 but we cannot
do same thing anymore, as we cannot assume views in the
Fragment is ready at that moment.
- remove some codes coping with old tab behavior.
-- After having the ViewPager, we cannot simply assume
Fragment is a replacement of previous tab activities.
Fragment creation is delayed by ViewPager, so some of
old codes causes NPE.

Bug: 4974874
Change-Id: I3b2f95b0d34e89bb9665b2014048a634d29e54ce
allLogFragment.java
160daa80e79f26e32b121ff1f2eba688c2380821 09-Jun-2011 Flavio Lerda <flerda@google.com> Use a cache for the contact info in the call log.

This commit introduces an ExpirableCache, a cache whose elements can be
marked as expired.

Instead of clearing the cache when the activity is resume, marked the
items in the cache as expired. Items that are found in the cache but are
expired will trigger a re-fetch of the contact details.

Change-Id: Ib06534c33d3427047afc4d95fc254a644a92d836
allLogFragment.java
37a2684d1e47f6d78d757c437a187548f242ee13 27-Jun-2011 Flavio Lerda <flerda@google.com> Fixes tests on userdebug builds.

A number of tests are currently failing on userdebug builds because they
refer to methods that are used only in tests and proguard striped these
methods when building the application APK.

This change adds the VisibleForTesting annotation to all such methods.

Bug: 4901489
Bug: 4902483
Change-Id: Ic7c51ef5b77f4f2d2af39cdafbf8e2e37260644b
allLogFragment.java
d2031e0c809580219faa55a27c237c7bdf8505a5 06-Jun-2011 Flavio Lerda <flerda@google.com> Refactor code for filling call log views.

Move the code that decides how to fill the call log views into a
separate helper class. This makes things easier to reuse and test.

Change-Id: I5e03e6764f395ca7e9f7ed5451c476ac1bfe6a95
allLogFragment.java
allLogListItemHelper.java
allLogListItemViews.java
264d778cc4fb0c87e1e1cea66d8a4f8b157a8c0d 07-Jun-2011 Flavio Lerda <flerda@google.com> Add contact picture to the call log.

This commit adds contact pictures to the call log. Since the photo id
for contacts is not currently cached, photos will be reloaded each time
the call log is shown.

Change-Id: I6839399a8db97ab9dfa5f464afbabe86e513d1f9
allLogFragment.java
17b15270fa2af6bf168357dccc41835036317e4b 07-Jun-2011 Flavio Lerda <flerda@google.com> Merge "Remove requests to start background thread."
e3ea5f7ac1518eafbe2859691087625046d70a89 06-Jun-2011 Flavio Lerda <flerda@google.com> Remove requests to start background thread.

When the activity is being paused or destroyed, we asked the background
thread handling update requests to be stopped. However it is possible
for a request to start the thread is pending. Make sure those are
removed as well.

Since onPause/onDestroy and the request are all handled on the main
thread, there is no race condition between the removal of the request to
start the thread and the call to stopRequestProcessing.

Change-Id: I5eab9fa12d54ce5a5519687946fab8f4c82470b6
allLogFragment.java
b7a90197cc3f3c248b398dc46b2bce04c1bf3b05 06-Jun-2011 Flavio Lerda <flerda@google.com> Use getTypeLabel instead of getDisplayLabel.

Phone.getDisplayLabel is deprecated and it is currently implemented by
ignoring the label array.

Change-Id: I3e5e41f554c0a76d90af398cfef6f65cb0e01507
allLogFragment.java
63223b47802aa51bdca4c3de5b5096edc2e384e7 03-Jun-2011 Flavio Lerda <flerda@google.com> Correctly terminate when interrupted.

When handling the InterruptedException, reset the interrupted flag.

Moreover, when the thread is about to quit, do not start another query,
as this might no longer be valid. This was causing the test to be flaky.

Change-Id: I5654147a10659639efcbfda0d7e52df489b76ecd
allLogFragment.java
9ac11cef9b48a5e23db9eaf0fbeb64fd8ace4e87 01-Jun-2011 Flavio Lerda <flerda@google.com> Move the group icon to the right hand side.

Change-Id: Ic9096b01ccda99372f96b5156260c71b6dfb1cda
allLogFragment.java
fa3c78d3e506d466dfe2ea9e8caef2b906f331fd 17-May-2011 Daniel Lehmann <lehmannd@google.com> Fix a rare null reference exception

Change-Id: I35960d8fc683fbf5d0ca6254b289e52ceb2e7a7e
allLogFragment.java
bcd1227fe05b6d522bc478ef1b457ebe08bbdad1 07-May-2011 Daniel Lehmann <lehmannd@google.com> Put the call log into a fragment and host it in a simple container activity

Also did some minor refactorings:
- Combined projections and their indices in nested classes
- Put Menu/Options menu ids into container nested classes

Change-Id: If22b7f7b894ab7167420ca2ba055e2001c5becbe
allLogFragment.java
learCallLogDialog.java