Merge commit 'f0d315541b1b1f33fab5e7952471da6e886b53ef' into HEAD

* commit 'f0d315541b1b1f33fab5e7952471da6e886b53ef':
  Removed unnecessary code needsActivation and used needsOtaServiceProvisioning.
Merge commit '630295ed94dc925d546144d80ddae5310645374a' into HEAD

* commit '630295ed94dc925d546144d80ddae5310645374a':
  Simplify endCall such that there is no difference between CDMA and GSM.

Conflicts:
	src/com/android/phone/PhoneInterfaceManager.java
Merge commit 'a801ac2b0e68a56dd21a8ec089ccc37d1fdb3a8d' into HEAD

* commit 'a801ac2b0e68a56dd21a8ec089ccc37d1fdb3a8d':
  "if (CDMA)" cleanup in InCallControlState
Merge commit '95bef36fa7efe381db81ec08b6244daf02414a28' into HEAD

* commit '95bef36fa7efe381db81ec08b6244daf02414a28':
  More phone app "if (CDMA)" cleanup

Conflicts:
	src/com/android/phone/InCallMenu.java
	src/com/android/phone/InCallScreen.java
	src/com/android/phone/PhoneUtils.java
Added support for Changing Phone network mode
Todo: Add permission control

Added permission control for the 2G/3G switch

Accept switching to NT_MODE_WCDMA_ONLY network mode

Change-Id: I33f612f523a6a9d41aef65c12148aaec98e5afcc
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
Remove user tag
Fix merge with 546a00dd3bb35abfcd44c696cd810073a084b43c

    Change most uses of PhoneFactory to use PhoneApp.getPhone.

    The only entities using PhoneFactory are PhoneApp, NetworkQuerySerivce,
    BluetoothHeadsetSerive and EmergencyCallbackModeService.

    Change-Id: Idb961f2ccfabc1ac1ae90496bb23cfdd9d0febcc