Hide voice search button if intent cannot be handled

If the Google Search app is disabled (this only seems to be possible
on Nexus 4), the Dialer crashes if the voice search button is pressed.
This CL hides/shows the voice search button every time the dialer
is launched/resumed after checking to see if there exists an activity
that can handle the ACTION_RECOGNIZE_SPEECH intent.

A string to indicate that voice search is unavailable is also added
just in case the user ends up in a weird state where the button is
showing but clicking on it would throw an ActivityNotFoundException.

Bug: 12015318
Change-Id: Idd7ec2da422425dd95ae0060ebc9b85a2cf35fb0
(cherry picked from commit da0f9046b2457c8adc0b97896d7ea1e880eccf96)

Conflicts:
	src/com/android/dialer/DialtactsActivity.java
Always call through to super.onBackPressed in DialtactsActivity

moveTaskToBack is causing crashes in the Dialer when the back button is pressed.
This was legacy code that was unchanged in the new dialer. We should probably
just call through to super.onBackPressed regardless of whether or not the task
was at the top of the stack, to behave the same (navigation wise) as other apps.

Bug: 12015851
Change-Id: Ic0c3efb30b3874ad892b96a9fadd524313cfb782
(cherry picked from commit edf798aaf0eec1e94e1dc889f929a68c9c89922f)
Add drag to remove for favorites in Dialer

* Add remove view in dialtacts_activity.xml, and rearrange layout slightly
so that it takes up the same position in the layout as the search view
container. Contacts that are dragged to this remove view will be unstarred
and unpinned.

* Add drag event logic to the Remove View, so that when the user hovers a
contact over it, the UI will continue to respond. Previously, only the
PhoneFavoritesListView would detect touch events.

* Refactor DragDropController and OnDragDropListener into separate classes.
DragDropController performs the work of receiving drag/drop events from
multiple views, combining them, and then firing off callbacks as appropriate
to OnDragDropListeners. Each OnDragDropListener can then update their UI
or internal data model as necessary in response to the callbacks.

OnDragDropListener <----------------------------------------
       ^                                                    |
       |                                                    |
DialtactsActivity  --------------->   RemoveView            |
       |                                  |                 |
       v                                  |                 | callbacks
PhoneFavoriteListFragment                 |drag events      |
       |                                  |                 |
       v                                  v                 |
PhoneFavoriteListView ------------>   DragController--------
                       drag events        |
                                          |  callbacks
                                          v
PhoneFavoritesTileAdapter --> OnDragDropListener

* While in here, add a content description for the clear search button

Bug: 13083459
Change-Id: I044ad1c5aa42c7686bde6bf5074095a4fe879bde
(cherry picked from commit 3cefcc69c10ab12bd782a0b53779dbd1cc0e2aa1)

Conflicts:
	res/values/colors.xml
	res/values/dimens.xml
	res/values/strings.xml
UX Changes: Dialer actionbar, tabs and searchbox.
See CL 423036 for the searchbox text changes.

Bug: 13167901
Change-Id: I6806cb27c19f7f0ca55394d70134f0c30c93446b
(cherry picked from commit a8ff9750831fcc276354ed80fad3b54316489383)

Conflicts:
	res/drawable/background_favorites_menu.xml
	res/layout/dialtacts_activity.xml
	res/layout/phone_favorites_menu.xml
	res/values/dimens.xml
	res/values/styles.xml
New appearance and look and feel for dialpad.

Bug: 13189041
Change-Id: I91028c8fdee31c1f76610573a4396eb979c30170

Conflicts:
	res/drawable-hdpi/ic_dial_action_delete.png
	res/drawable-mdpi/ic_dial_action_delete.png
	res/drawable-xhdpi/ic_dial_action_delete.png
	res/drawable-xxhdpi/ic_dial_action_delete.png
	res/layout/dialpad_fragment.xml
	res/layout/dialpad_key.xml
	res/values/colors.xml
Merge tag 'android-4.4.3_r1' into HEAD

Android 4.4.3 release 1

Conflicts:
	AndroidManifest.xml
	res/drawable-hdpi/ic_dial_action_delete.png
	res/drawable-mdpi/ic_dial_action_delete.png
	res/drawable-xhdpi/ic_dial_action_delete.png
	res/drawable-xxhdpi/ic_dial_action_delete.png
	res/layout/dialpad_fragment.xml
	res/layout/dialpad_key.xml
	res/layout/dialtacts_activity.xml
	res/values-zh-rCN/strings.xml
	res/values/colors.xml
	res/values/dimens.xml
	res/values/strings.xml
	res/values/styles.xml
	src/com/android/dialer/CallDetailActivity.java
	src/com/android/dialer/DialtactsActivity.java
	src/com/android/dialer/calllog/CallLogAdapter.java
	src/com/android/dialer/calllog/ContactInfoHelper.java
	src/com/android/dialer/database/DialerDatabaseHelper.java
	src/com/android/dialer/dialpad/DialpadFragment.java

Change-Id: If163d8fe46692e4f2a3c1d9f92994005f94cfac2

Conflicts:
	res/layout-land/dialpad_fragment.xml
	res/layout/dialpad.xml
	res/layout/dialpad_fragment.xml
	res/layout/dialpad_key.xml
	res/layout/dialtacts_activity.xml
	res/layout/phone_favorites_menu.xml
	res/values/colors.xml
	res/values/dimens.xml
	res/values/strings.xml
	res/values/styles.xml
	src/com/android/dialer/DialtactsActivity.java
	src/com/android/dialer/dialpad/DialpadFragment.java
	src/com/android/dialer/list/PhoneFavoritesTileAdapter.java
Dialer: Correct geocode resource typo

Change-Id: I805b775d9655b73457bc8f01cff9b5417aa3f209
Fix jank in no favorites screen when showing/hiding dialpad DO NOT MERGE

Reintroduce a spacer view (under the no favorites view) that is
the same height as the search box + its margins, so that
the no favorites view does not shift when the dialpad is shown/hidden

Bug: 13341743
Change-Id: I00171b5fd546e30394c95d31976483d124f75f3b
(cherry picked from commit b0d197653fcdd2526ba9b85d613e4968ebbef2ab)
Fix 4.4.3 merge

Change-Id: If5606781d4bf4c24f83713a34255dc952e16bb6b
Revert "Dialer: Open source google dialer and more (1/5)"

This reverts commit 77f3150463441a4c2442898301ce2b039cff7920.

Conflicts:
	src/com/android/dialer/lookup/opencnam/OpenCnamReverseLookup.java

Change-Id: Ic060dbf883e492356ed420154e33041c58090107
Revert "Revert "[4/4] Dialer lookup""

This reverts commit 914f5ba48aa6d09a9b4e39b1ec138a03fe36be85.
Dialer: Add support for OpenCNAM paid accounts

Change-Id: I09c67eed706311a40569617980585a357f1d74aa
ReverseLookup: Don't return OpenCNAM errors as caller IDs

Skip the API entirely for non-US numbers, and ignore any non-200
bodies to avoid names of the "Limit Exceeded" variety

PS2: Use constant from HttpStatus and don't check for null on normalizedNumber
Change-Id: I1ea107ba828e6dba44fa0828ad5fedecb8faf4de
OpenCnameReverseLookup: fix import class

Change-Id: Ib10877aecbdc1e07f8912e1ce35df6e8a112f131