JB42 -> JB43:  phone: Add option for setting device phone number (squashed)

Squashed commit of the following, with some more cleanup :)
(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

    (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

    (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

    (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.

    (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".

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

Signed-off-by: Dan Trifan <jimsth@gmail.com>

Change-Id: Ice9bb8fe0e3009c7cb47224798f2eb0b70388936
Signed-off-by: Chirayu Desai <cdesai@cyanogenmod.org>

Conflicts:
	res/values/strings.xml
JB42 -> JB43:  Phone: Incoming Call in Background

Allows user to set that Incoming Call UI will remain in background
if screen is on. Instead, a notification is added to StatusBar, which
can be used to bring up the Incoming Call UI. Ringtone and vibration
still occur as per system settings.

This has the same effect as apps marked as "immersive". It prevents
the incoming call from backgrounding the current activity.

Change-Id: Id686d68f1156b6744244e51cf8ceef8dd651154d

Conflicts:
	src/com/android/phone/PhoneUtils.java