fix occasional ring volume reset

When PHONE_INCOMING_RING message accidentaly arrives to CallNotifier
immediately after the user answers the call, the call state is still
RINGING instead of OFFHOOK, so ring plays again, causing audio
driver to switch from just entered IN_CALL mode back to RINGING mode,
which can lead to completely mute phone call - no side of call can be
heard.

Above also affects increasing ring feature.

Prevent this scenario by calling silenceRinger() instead of stopRing()
at the beginning of answerCall(), so not only the current ring is
stopped, but also the possible next ring prevented.

Change-Id: I358ffd93f4233ab1a957af18ec40edc0fef04014
phone settings: do not present duplicate operators to the user

filter out duplicates; use the operator numeric representation as the
criteria for finding duplicates since the numeric is what is actually
used when manually selecting an operator.

Change-Id: I71619a78d52d387bab938856ca6d0232105691cc
packages/apps/Phone: squashed clean up of NetworkSettings from CAF

fixes: "Searching..." dialog that does not get dismissed if screen times out
fixes: crash when starting a new search before the old one has finished

packages/apps/Phone: Dismiss previous dialog before updating network list

After the network list is updated, the previous
"searching" dialog needs to be dismissed
even if the activity is paused.

Change-Id: I96aeccdd936b411e6077afb0abd288dd753e0582
CRs-Fixed: 319580

Fix crash in trying manual search again before first search completes

Manual network search query and responses are not synchronous.
This leads to multiple responses being processed consecutively.
A dialog is cleared on receiving the first response
and subsequent responses through exception when attempting to dismiss
the same dialog. Ignore the exception thrown by
dialogs as it is not benign.

Change-Id: Icc092b093af04ddfb15b2e5b30ac123577eab05c
Crs-Fixed: 326736
Bring back "End call to Home Screen Setting"

Change-Id: Ib2b40e33a4321e26d9b3d7b240ed3b562594eb04

Conflicts:
	src/com/android/phone/CallFeaturesSetting.java
	src/com/android/phone/InCallScreen.java
phone: Add option for setting device phone number (squashed)

Squashed commit of the following:
(from gingerbread)

commit 53aaa90d95c83fff8f869c187cc291f51d3be6a6
Author: Pawit Pornkitprasan <p.pawit@gmail.com>
Date:   Thu Nov 24 12:01:03 2011 +0700

    Whitespace fixes

commit d98314c62fa371c7a8bbcda0d5221eb1b72cd639
Author: Pawit Pornkitprasan <p.pawit@gmail.com>
Date:   Tue Aug 30 23:15:07 2011 +0700

    Phone: Set MSISDN on boot from saved setting if SIM returned empty "My Phone Number"

    Some carriers don't set the MSISDN (My Phone Number) and CM remedied
    that by adding a setting in "Additional settings" in Call Settings
    which saves a new MSISDN to the SIM. However, some phones fails to
    save the MSISDN to the SIM and another remedy was added to set it
    every boot from the stored value. However, the current implementation
    only sets it if the framework returns a null value. This patch also
    sets it if the framework returns an empty string.

    Patch Set 3:
    - Fixed simstate checking as the intent extra is a string not an
      integer
    - Removed airplane mode checking as simstate will be triggered anyway

    Change-Id: If8875b841d2029be12f367ab6f309bbfb81fc330
    (cherry picked from commit 4045310b01b3c74fb06be69809f57be7d85dd32a)

commit 10959fc16e91bff31ed136fc609b6035777efacf
Author: Ricardo Cerqueira <cyanogenmod@cerqueira.org>
Date:   Sat Aug 27 00:35:25 2011 +0100

    Phone: Fix race condition in BOOT_COMPLETED intent

    BOOT_COMPLETED was triggering a read (and write) of SIM extra
    fields, regardless of whether the SIM was actually ready for it
    or not.
    If the boot happened to complete before the radio layer
    was ready, we were trying to do iccIO before we were allowed to.
    This resulted in errors for most phones, but on at least one it caused
    the whole iccIO interface to lock up until the next reboot (where the
    same would probably happen again)

    So... trigger the write with the SIM_READY intent itself instead of
    using BOOT_COMPLETED

    Change-Id: I027fab6000cae0ed94ea1513553d883fde99ca75
    (cherry picked from commit 495628ca2852aa5cde792f7c38f4b26ed8a6d2cf)

commit c9601d4df39cd2afbe2ffc864e5fe7a36c94ddd9
Author: Peter Fares <mrpeter05@gmail.com>
Date:   Wed Jan 19 02:00:38 2011 -0600

    Restore unknown phone number after toggling airplane mode

    Change-Id: I1a92422c3cddb93d356f2a28041df8550bee8f7a
    (cherry picked from commit c9639061dcc6ae167e736e5dbd34ede1621edaa1)

commit fe5042c3c29fb01bc6a4a3680b506840a8c36bad
Author: Jiri Tyr <jiri.tyr@gmail.com>
Date:   Sun Jan 16 23:52:01 2011 +0100

    Save phone numbert when entered and set it again when boot completed.

    Change-Id: Id51da585c9ceb5071bf49e880ddb12cd6f70023c
    (cherry picked from commit 9648847f060d8a267fa4600c9754e827b3b93550)

commit 32bc75569d6df75b14447c3215c0e29e7fe6d3f5
Author: Steve Kondik <shade@chemlab.org>
Date:   Fri Aug 20 19:35:17 2010 -0400

    phone: Fix case where MSISDN alpha tag is not set

    The new "My phone number" option was not being saved to the SIM because
    the alpha tag was not previously set. This change externalizes the
    preference code and defaults the alpha tag to "Voice Line 1".

    Change-Id: I15d4b08eeb026e0fdc32bebd7e315eed251061c9

commit 50a25fa4a0c11c4c00bd41094ae2796efe71123c
Author: Steve Kondik <shade@chemlab.org>
Date:   Sun Aug 15 20:19:42 2010 -0400

    phone: Add option for setting device phone number

    Change-Id: I4ce4ced23b3fa9803fae4f1725ef21b01a25e149

Conflicts:

	res/values/strings.xml
	res/xml/gsm_umts_additional_options.xml

Change-Id: I1a9bcaf6b797dd246b12bdfb1781f0e724ea6f95

Conflicts:
	AndroidManifest.xml
	res/values/strings.xml