Telephony: Mock SMS (2/4)

This change brings the possibility of simulate the reception of SMS on real devices.
This change adds a MockSmsReceiver inside SMSDispatcher that have a BroadcastReceiver listening
for Intents.MOCK_SMS_RECEIVED_ACTION actions. This class accept the SMS simulation if and only if
Settings.Secure.ALLOW_MOCK_SMS is enabled and the sender application has the
"android.permission.SEND_MOCK_SMS" permission.

This receiver should be used in the next way:

Devs should declare <uses-permission android:name="android.permission.SEND_MOCK_SMS" />
and call it with:

Intent in = new Intent(Intents.MOCK_SMS_RECEIVED_ACTION);
in.putExtra("scAddr", "+01123456789");
in.putExtra("senderAddr", "+01123456789");
in.putExtra("msg", "This is a mock SMS message.");
sendBroadcast(in);

or

String pdu = "07914151551512f2040B916105551511f100006060605130308A04D4F29C0E";
byte[][] pdus = new byte[1][];
pdus[0] = HexDump.hexStringToByteArray(pdu);
Intent in = new Intent(Intents.MOCK_SMS_RECEIVED_ACTION);
intent.putExtra("pdus", pdus);
sendBroadcast(in);

Ported from http://review.cyanogenmod.org/#/c/23017 + Some changes:

* Move receiver to ImsSMSDispatcher class
* Send message as SMS_DELIVER_ACTION action, so it send to the registered SMS app

Change-Id: I14cab3d8ceb484df71a676dcfa44ca1634be908d
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
Telephony: Allow ruim to fetch in CDMA LTE mode

... if device has LTE in NV mode.
Fixes cases where iccid could be unknown on some CDMA NV devices.

Change-Id: Ie8e676a59e20c6da70eded511a979022667aa6fa
SamsungExynos4RIL: buffer CAT Proactive Command

The RIL sends a CAT proactive command (init) before the registrant
is registered causing the command to be missed and STK menu to
not show up. Buffer it and fire it when the registrant is registered.

Change-Id: I021ce911e55b30c1a2d95d8060f7d9ff72e3b742
Telephony: DcTracker: Fix CDMA APN Data issues.

Fix CDMA data issue when it can't find an APN match. This fixes cases
CDMA NV or RIUM/SIM doesn't have the information to pass on.
It assumes GSM like mode on CDMA. So fix that and pass on to CDMA
stubbed apn found in android 4.2.

Change-Id: Ib4467dd955eb71cbc5781db965d34357b7d4d2d9
Telephony: Bring back older IMSI method for legacy RIL

Non-MSIM RIL don't support the newer method.

Change-Id: Iccef3086f28ac1ae72c85b9143e6df84e3b1c08b
DCTracker: upgrade stubbed apn to Qcril Standard.

* this is still needed because sprint lte and legacy
 has the same operator numeric are not passing the check to
 lte apn is filled and not passing mDps.empty() check.
Change-Id: Ic13235744fca561cff4d49ae5c799420c30b3840
Remove SemcQualcomm7x30RIL

There's no officially supported device using this.
We'll put it in the device tree making it easier to maintain

Change-Id: I512841331ec4d126b23312f1d79153d2574e0c16
SamsungQualcommRIL: fix power on and off state

 remove obsolete code

Change-Id: Ib7b288e50e603ff91ac715113db9dc1769a3a09f
DcTracker: wait for default apn to disconnect before setting up new

Including the removal of a previous attempt to fix this issue:

Revert "Frameworks : Make sure a reply is sent when not provisioning default apn"

This reverts commit 8733a2d2a1c5c88f661c4d6947cc9eb8f27d4874.

Revert "DcTrackerBase: Dont provision APN if default is disconnecting"

This reverts commit cf13f20b88c5add9d2e8ea74b8fe9fbeb88101b2.

Change-Id: I8181dca843eb3de4be68c5b2be6aac9d81732558
Revert "now build without whisperpush"

This reverts commit c7056d99fe305d84266da4df5e42bfd378ae5517.
Revert "delete WapPushOverSms.java"

This reverts commit fd6ffd0a9058705a85ab390c39cfd00f621ee3d6.
Revert "Delete WapPushManagerParams.java"

This reverts commit 6129d49b9ee55bb9cebd59297b548eba71fed000.