Phone: Sprint MWI Quirk: Phantom message wait indicator workaround

If true, message wait indicators are hidden by default on this device
unless the user enables it in Call Settings. This quirk is necessary
for the "Phantom Voicemail" issue where notifications that are
impossible to dismiss on the Sprint network. In rare instances, feature
phone voicemail gets stuck in a Sprint account where smart phones are
unable to delete them. Sprint will not help the subscriber fix this,
as their own Android phones ignore message wait indicators.

Enable 'sprint_mwi_quirk' in overlay/packages/services/Telephony/res/values/config.xml
for this option to appear in the Phone app.

Settings > Message wait indicator

Default is disabled, as Sprint Android phones have no reason to see
message wait indicators. It can however be enabled for Sprint phones
used on overseas carriers where message wait indicators are desired.

Rebased on kitkat

Change-Id: I36f8d43b5684a6f7337852da0394a21ca92fefbf
Port network mode toggle from CM10

	commit 43575664b23d2ea1766210cea99f184e1732860b
	Author: Ricardo Cerqueira <github@cerqueira.org>
	Date:   Fri Apr 27 17:39:37 2012 +0100

	    PhoneToggler: Fix toggler on LTE+GSM phones

	    NT_MODE_LTE_GSM_WCDMA was missing from the lists of acceptable
	    network modes

	    Change-Id: I6c3c38d63902c1c59cfa2e61ed5d8bcdd5bcb5f0

	commit d1dc25f1b37fca42ce2834fe3bb3217800422f7e
	Author: Emerson Pinter <dev@pinter.com.br>
	Date:   Sat Feb 18 22:02:22 2012 -0200

	Makes network mode toggle work. Port from CM9.

	Added LTE_ONLY needed code to PhoneToggler.
	Added LTE to the double check MODE_GLOBAL condition on Settings and
	PhoneToggler.

	Integrated patch by Danny Baumann to make PhoneToggler accept the same
	values as are configurable in settings, from change:
	http://review.cyanogenmod.com/#change,14120

	Tested-by: Emerson Pinter
	Signed-off-by: Emerson Pinter <dev@pinter.com.br>

	*** Settings.java and PhoneToggler.java original authors:

	commit 3e6b2ca4c969aedeefa9a10bb85e9c52bc43a574
	Author: Emilio López <turl@tuxfamily.org>
	Date:   Wed Sep 14 23:50:06 2011 +0000

	    Phone: Double check mode before changing, part 2

	    A modem might report world phone mode when it really is only GSM or
	    CDMA capable, making the system switch to an invalid mode which
	    will later break the telephony code.
	    This simple check enforces the world phone overlay which is already
	    in place and will only consider it a correct value in that case.

	    This complements a commit with the same title by applying the same
	    logic to another code path that uses similar checks.

	    Change-Id: Ib7332511a693d40f53a79ba98844c9117871228a

	commit 19215c8f614e30211b2aca1512bb8444da55bdda
	Author: Emilio López <turl@tuxfamily.org>
	Date:   Wed Sep 14 23:50:06 2011 +0000

	    Phone: Double check mode before changing

	    A modem might report world phone mode when it really is only GSM or
	    CDMA capable, making the system switch to an invalid mode which
	    will later break the telephony code.
	    This simple check enforces the world phone overlay which is already
	    in place and will only consider it a correct value in that case.

	    Change-Id: Iedbc529497b2779f3a12ff56ca1b028cc9434227

	commit 0d396f79514173e06c5334a40f23090933e0a806
	Author: piaf <piaf@mediacenter-desktop.(none)>
	Date:   Tue Aug 3 00:56:09 2010 +0100

	    Added permission control for the 2G/3G switch

	commit 5c85d5417a67b02be895a8878c7fa86bc992cd8e
	Author: Mediacenter <mediacenter@mediacenter-desktop.(none)>
	Date:   Sat Jul 31 01:45:03 2010 +0100

	    Added support for Changing Phone network mode
	    Todo: Add permission control

	Change-Id: I84db8082b4e35262f1c6cdb8d1156f3cbf997a99

Change-Id: Ibb8f33db71224b4559dcbf377c5844edc88548a7
Cleanup: get rid of getCurrentCall() method.

The only caller was the vibration code, which only used it when the call
is picked up. As a picked up call is always the foreground one, we can
safely just use that.

Change-Id: Id3e4f9d3738bfe72387899802b89202bfef61646
Fix 'vibrate outgoing' behaviour.

Change-Id: I08d05dcf03074af73e9fcf9a2f9788cd46b27833