Major fixes for in call to work with reverse number lookup.

- Separated caller info data into CallIdentification and switch callbacks to use
it where call state is un-necessary.
- Changed mCallList.update() method to be onIncoming().
- Catch all exceptions from service methods so errors do not vanish.
- Fixed bind failure cases which led to DeadObjectException.
- Changed local contact lookup to only occur for incoming calls.
- Fixed CallCardPresenter to start contact search upon isntantiation instead of
waiting for next call update.
- Convert ContactInfoCache to singleton to avoid race condition where it's not
initialized.
- Handle cases where primary call may be null when we find a contact.
- Fixed race conditions in CallButtonPresenter where audio mode is being set
before ui is ready.
- Fixed race condition in AnswerPresenter where state change was being called
before ui is ready.
- Changes to CallCardPresenter to support lookup for conference calls.

Bug: 10413515
Bug: 10390984

Change-Id: I9fc4f2f35e8f5aad33c301b3c5c93132634cb63c
diff --git a/InCallUI/res/layout/answer_fragment.xml b/InCallUI/res/layout/answer_fragment.xml
index f6b1320..5f8c561 100644
--- a/InCallUI/res/layout/answer_fragment.xml
+++ b/InCallUI/res/layout/answer_fragment.xml
@@ -30,6 +30,7 @@
         android:gravity="center"
         android:layout_gravity="bottom|center_horizontal"
         android:background="@android:color/black"
+        android:visibility="gone"
 
         dc:targetDrawables="@array/incoming_call_widget_2way_targets"
         dc:targetDescriptions="@array/incoming_call_widget_2way_target_descriptions"