History log of /frameworks/opt/telephony/src/java/com/android/internal/telephony/InboundSmsHandler.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
e70617d81dcd42350a737b11c25532e1d43df4ff 22-Jan-2015 Legler Wu <legler.wu@mediatek.com> [DS] Correct the access method for telephony system property

Revise the method to access telephony system property.
Add several PROPERTY_XXX_XXX_MSIM for MSIM type system properties. If
caller use the old one, it will be dispatched to new one and get by
default phone id.
Ex. PROPERTY_ICC_OPERATOR_NUMERIC

Bug: 18675498
Change-Id: I68b4de1817bb5a34d4a54685332f856e79a39d60
/frameworks/opt/telephony/src/java/com/android/internal/telephony/InboundSmsHandler.java
062a2a3838c8d8adf16f4d9fbde8d52450da0336 13-Jan-2015 Shishir Agrawal <shishir@google.com> Make UICC code subID-less.

MSIM code introduced code in the UICC objects that refer to the subIds.
This is potentially very dangerous becuase subIds are only initialized after
the UICC object is completely initialized. Hence using subId in the UICC code
could lead to lots of properties being not set correctly.

The new code, uses the phoneId everywhere within the UICC code, which is
initialized when the UICC object is created and will remain constant for the
lifetime of the UICC object.

Bug: 18748407
Change-Id: I1f50abc40b8592751cdeca2de2c76ac9f2d40768
/frameworks/opt/telephony/src/java/com/android/internal/telephony/InboundSmsHandler.java
473eaf181c0964e3b04bdd71307056c78d484abc 09-Dec-2014 Cheuksan Wang <edwang@google.com> Clear calling entity before deleting SMS from raw table.
Deletion needs permissions of the phone process.

BUG: 18672706
Change-Id: If70b69745f5b09c644720ba019b409a82efb8033
/frameworks/opt/telephony/src/java/com/android/internal/telephony/InboundSmsHandler.java
cf924dde47f17d85359d947ad8752f6000a97a59 05-Dec-2014 Jing Zhao <zhaojing@motorola.com> Add checking to find AppDirectedSmsProxy for App Directed SMS feature

To integration with AppDirectedSmsProxy,
which proxy extends CarrierMessagingService for App Directed SMS feature.
InboundSmsHandler needs to add a checking to look for system service with intent entry
'CarrierMessagingService.SERVICE_INTERFACE',
so that could find AppDirectedSmsProxy and bind such service.

Bug: 18609762
Change-Id: I80a133653101cd4ec1793e726faf3601e2970224
/frameworks/opt/telephony/src/java/com/android/internal/telephony/InboundSmsHandler.java
8215559cd1141ac90c478fd3df75e43c9d755c6c 01-Nov-2014 Cheuksan Wang <edwang@google.com> Use the AIDL based API to communicate with the carrier app.

Implements SMS sending.

BUG: 18005911

Change-Id: I467036b59b51905532e7ce1591dcb2e2856ef2d3
/frameworks/opt/telephony/src/java/com/android/internal/telephony/InboundSmsHandler.java
ed0cfa93b9e42486bfc7caeca83ceae1a2f7328e 25-Oct-2014 Abhijith Shastry <ashastry@google.com> Implements platform changes to use the AIDL based API to communicate with the carrier app for SMS filtering.

BUG: 18005911

Change-Id: Ibc52fe4d4e5b73dc82ab3569a9818730d4acd5a3
/frameworks/opt/telephony/src/java/com/android/internal/telephony/InboundSmsHandler.java
26a4150cfb8cd317eb64994b9d9fd6109bd87ba7 03-Jan-2014 Sukanya Rajkhowa <srajkh@codeaurora.org> Telephony: Voice mail notification related changes

* Separate voice mail notify from SIM/RUIM card

* For GSM store voice mail count in phone memory
irrespective of SIM write result.

* Display voice mail count for GSM

Bug: 17299884

Change-Id: I368bfb98c8798ed1f43bcc330e6d97e8f95f0f54
/frameworks/opt/telephony/src/java/com/android/internal/telephony/InboundSmsHandler.java
934a24a6aa2b7a981e872fa350648904ed80280a 28-Aug-2014 Diego Pontoriero <diegs@google.com> Generalize getCarrierPackageNamesForBroadcastIntent utility method to work for all intent types.

Bug: 17163860
Change-Id: I4b013db09a521fbc41401e11cd60a0c7b0172b64
/frameworks/opt/telephony/src/java/com/android/internal/telephony/InboundSmsHandler.java
8d135fd107e64d9bbdc082c2fdf45c6f494cafd3 26-Aug-2014 Amith Yamasani <yamasani@google.com> Don't invoke resultReceiver more than once

When delivering the SMS_RECEIVED broadcasts to multiple users,
don't invoke the resultReceiver for each of them. Only invoke
for the primary user.

Bug: 17058511
Change-Id: Id59c8c7b1cbaf1d7d7fd05134465e1987cded817
/frameworks/opt/telephony/src/java/com/android/internal/telephony/InboundSmsHandler.java
4cab4152bd6d47059e4d7cb352b5f5add938c318 20-Aug-2014 Shishir Agrawal <shishir@google.com> Adding loggin to InboundSmsHandler.

To be able to detect crashes due to improper state transitions.

Bug: 17058511
Change-Id: I2893d7c1a5f4afaa77cd10429fb4a8738f79b980
/frameworks/opt/telephony/src/java/com/android/internal/telephony/InboundSmsHandler.java
a2ce002a0327f0deb079cc6acad1c493e6ded442 05-Aug-2014 Amith Yamasani <yamasani@google.com> Make SmsApplication handle multiple users

Assume that there's one default app per user. Apps should be able
to register as the default app for even secondary users.
Read and write to the correct settings db.

Deliver DELIVER broadcast to primary user.
Deliver RECEIVED broadcast to all permitted and currently
running users.

Bug: 16681533
Change-Id: I08cf5318f267a8c55ac427ac2c3573b4319b5193
/frameworks/opt/telephony/src/java/com/android/internal/telephony/InboundSmsHandler.java
7f1a3f0ab65c144fde56e1246c5747b0c555034a 23-Jul-2014 Shishir Agrawal <shishir@google.com> UiccCarrierPrivilegeRules: changing getCarrierPackageNamesForBroadcastIntent to return a list.

Currently it returns the first matching package name. Now it will return a
list of all matching packages.

Change-Id: Icc0fc728e1e24235632ac38a482b06a7b829de78
/frameworks/opt/telephony/src/java/com/android/internal/telephony/InboundSmsHandler.java
951b6a916c88ba25064bf4c7777eafdf86bc4622 22-Jul-2014 Shishir Agrawal <shishir@google.com> NPE fix in InboundSmsHandler.

Bug: 16445149

Change-Id: I79cd51d39442fe27ff07b58d04ab35c00a6dacb2
/frameworks/opt/telephony/src/java/com/android/internal/telephony/InboundSmsHandler.java
a9552aa6bf3ce12c75ad43165034d9a1233fb131 21-Jul-2014 Shishir Agrawal <shishir@google.com> CarrierApp: Do not send broadcast if there is no carrier app.

Avoids an unnecessary broadcast.

Also fixes an NPE bug.

BUG=16454767
Change-Id: Idc8bff4c7a35b7ea0bb7446cd74515cf1675868d
/frameworks/opt/telephony/src/java/com/android/internal/telephony/InboundSmsHandler.java
f1aeeb51f2c62420012122e0ccc75b3940c570e4 15-Jul-2014 Ye Wen <ywen@google.com> Messaging auto persist switch (2/4)

b/14095333

Change-Id: I9dccdadd72d951d86f83cb7adea9b2f09fad08ce
/frameworks/opt/telephony/src/java/com/android/internal/telephony/InboundSmsHandler.java
c9394399180abbc32d04f6a3652ce22d5931e0b8 14-Jul-2014 Shishir Agrawal <shishir@google.com> Protecting messagings APIs for carrier access.

APIs protected by this CL:
- SMS injection.
- SMS filtering.
- SMS outbound broadcast.
- SMS outbound broadcast result.

Also moved much of the carrier checking logic from PhoneInterfaceManager to
the UiccCarrierPrivilegeRules for reusability.

BUG=15993876

Change-Id: I8309a1de23426dcc66a10383335cff9242920410
/frameworks/opt/telephony/src/java/com/android/internal/telephony/InboundSmsHandler.java
b29851580bba4a13ddbf7a534d8b09295eb2c60f 10-Jul-2014 Ye Wen <ywen@google.com> New SMS and MMS APIs and semantics (2/4)

1. Rest of the new SMS and MMS APIs
2. Auto persisting MMS WAP Push
3. Partial multi-sim support
4. New SMS/MMS database columns: archived and creator
5. Record message creator
6. Mms config access APIs

b/14095333

Change-Id: Idb0ab75384b2c949f1a6ebe8f1c33e90a06a4d9b
/frameworks/opt/telephony/src/java/com/android/internal/telephony/InboundSmsHandler.java
cafda9904d2804959d51697cdc63a185e687cb98 12-Jul-2014 Colin Cross <ccross@google.com> Revert "New SMS and MMS APIs and semantics (2/4)"

This reverts commit c5f9236283882b8e08390ac52e5b1fab2d3bc2fb.

Change-Id: I9585dabfc31611e68718859ea509b8f52535d9b5
/frameworks/opt/telephony/src/java/com/android/internal/telephony/InboundSmsHandler.java
c5f9236283882b8e08390ac52e5b1fab2d3bc2fb 10-Jul-2014 Ye Wen <ywen@google.com> New SMS and MMS APIs and semantics (2/4)

1. Rest of the new SMS and MMS APIs
2. Auto persisting MMS WAP Push
3. Partial multi-sim support
4. New SMS/MMS database columns: archived and creator
5. Record message creator
6. Mms config access APIs

b/14095333

Change-Id: I9a4261753a803f520933b643c0bac708ab9f40a9
/frameworks/opt/telephony/src/java/com/android/internal/telephony/InboundSmsHandler.java
370971c25973d9d8061b76e756df2fb8c1ebd990 28-Jun-2014 Ye Wen <ywen@google.com> MMS auto persisting (2/4)

1. Added new MMS message box type for failed messages
2. Use global static flag to temporarily turn off new SMS API semantics

b/14095333

Change-Id: I150a08a4b26bba6f3a7a1d8f848fe07c8be9298b
/frameworks/opt/telephony/src/java/com/android/internal/telephony/InboundSmsHandler.java
fce79caf5d7628cde43c5f0cd3d369673bc15212 27-Jun-2014 Ye Wen <ywen@google.com> Send persisted SMS message URI through intent

1. Sent message URI is passed via sentIntent in sending API calls
2. Received message URI is passed via SMS deliver or received intent

Change-Id: I02ffd5294e41b2f81b03f79fc008bba44cf33d9f
/frameworks/opt/telephony/src/java/com/android/internal/telephony/InboundSmsHandler.java
f68da23264bb06736b62e9c1b95225f6ec997ca8 26-Jun-2014 Ye Wen <ywen@google.com> Auto persist received SMS

Change-Id: I729b9eef0c77b35704e51547169700c5d3e989c5
/frameworks/opt/telephony/src/java/com/android/internal/telephony/InboundSmsHandler.java
6a22a5cf0ca0783b2f33b8f7ab8f3a37755aafcf 19-Jun-2014 Cheuksan Wang <edwang@google.com> Merge "Add SMS filtering intent and API for message deduping by the carrier app."
913880b94d8b29d8dec34b2307c313e2180eb6f0 27-May-2014 Cheuksan Wang <edwang@google.com> Add SMS filtering intent and API for message deduping by the carrier app.

If a carrier app is active, the SMS_FILTER intent is sent for every
incoming SMS message. If the carrier app considers this message as a
duplicate, it may set a status code to filter out this SMS. It may
also set a pdu in result extras to overwrite the pdu.

Change-Id: I41526b21df31142b8f6373f3aefbe360c5938af3
/frameworks/opt/telephony/src/java/com/android/internal/telephony/InboundSmsHandler.java
91f8e19cdafe6382ec1469167e208e2e928123cc 13-Jun-2014 Wink Saville <wink@google.com> Merge "Merge kwd to master"
a8467dd0c524787104b1ccdddc5e8af10ba729ed 13-Jun-2014 Wink Saville <wink@google.com> Merge kwd to master

Change-Id: Idb607c0aa32f80fe4fe1539aedea7a221e9e7f04
/frameworks/opt/telephony/src/java/com/android/internal/telephony/InboundSmsHandler.java
63418bbd2a9d7cc88ae24cc5ae776c01d688fc3a 03-Jun-2014 Anil Muthineni <anilmuthineni@google.com> Add api to inject SMS PDUs

Change-Id: I58a518a7a6d6f43fef3d989bc0c8b21959404ed0
/frameworks/opt/telephony/src/java/com/android/internal/telephony/InboundSmsHandler.java
d2feaf918ab0c1173d4ada182532e48d0c0d3f77 31-Oct-2013 Wink Saville <wink@google.com> When phone changes update InBoundSmsHandlers and CellBroadcastHandlers.

Without this change for devices where the phone can change, for instance
on N5 with Sprint the phone will change from a GSMPhone to a CDMALTEPhone
and messages will not be sent to the appropriate handler.

For Sprint this was most readily seen when the voice mail notification
wasn't sent to the notification manager.

Bug: 11254397
Change-Id: Ia0e764cf6fa04208a7e194a35435f251a177309f
/frameworks/opt/telephony/src/java/com/android/internal/telephony/InboundSmsHandler.java
5bc59fe360f396811723ce8f0fbb462504edda2a 17-Oct-2013 David Braun <dabraun@google.com> Do not allow SMS event receivers to abort the broadcast

This prevent apps from aborting the SMS related broadcasts so that all
apps interested in seeing them will now receive the broadcast.

Bug: 11259375 Do not allow apps to abort SMS/MMS broadcasts
Change-Id: I2620899b580b8861efebcc39408c875b4033cc53
/frameworks/opt/telephony/src/java/com/android/internal/telephony/InboundSmsHandler.java
5c3b6658d82f3af57161d5a34385dd95ea0f1abb 16-Sep-2013 David Braun <dabraun@google.com> Implement new method for handling SMS/MMS on the platform

Multi project change:
The changes in this project implement the actual change in the SMS related
intent behavior (defining and using the new events).

Bug: 10449618
Change-Id: Ia707ed561d89428db78203a2ed54504d867a3e43
/frameworks/opt/telephony/src/java/com/android/internal/telephony/InboundSmsHandler.java
8b61e10b480d3a7bae41025a97f3bd27ee5ed610 11-Sep-2013 Jake Hamby <jhamby@google.com> Fix receiving multi-part CDMA WAP messages.

Fix ArrayIndexOutOfBoundsException in CDMA WAP message handling.
Add a new flag to raw DB table to indicate 3GPP2 WAP PDU messages.
Use the new flag to return the correct value for getIndexOffset()
in InboundSmsTracker.

Previously this only worked correctly for single-segment WAP PDUs
of type WAP push.

Bug: 10595053
Change-Id: I8820da124e8fa4707cbee0398690a475d26ff702
/frameworks/opt/telephony/src/java/com/android/internal/telephony/InboundSmsHandler.java
90271d9ef1377b25b78359039fb2e87f32aba25b 04-Sep-2013 Sungmin Choi <sungmin.choi@lge.com> sms: Add exception code instead of low memory status

Add exceptoin code, after receiving Duplicated SMS.

Bug: 10484923
Change-Id: Ic9465adeb8a09d11fdd2e5b35108410baf56a2fc
Signed-off-by: daehun.ju <daehun.ju@lge.com>
Signed-off-by: Sungmin Choi <sungmin.choi@lge.com>
/frameworks/opt/telephony/src/java/com/android/internal/telephony/InboundSmsHandler.java
0d4bcdf379842af4b6304809156971e926f374f0 18-Mar-2013 Jake Hamby <jhamby@google.com> Refactor inbound (MT) SMS handling into new handler classes.

Moved all MT SMS handling to separate StateMachine classes, which
save all incoming PDUs in the SmsProvider "raw" table, previously
used only for storing PDUs of concatenated messages. Then we ACK the
message, before starting the ordered broadcast as usual. If a receiver
of the broadcast sets the status to failure, we ignore it, but in the
future we could provide a mechanism to redeliver the broadcast.

New classes are (without com.android.internal.telephony prefix):
- CellBroadcastHandler
- InboundSmsHandler
- InboundSmsTracker
- SmsBroadcastUndelivered
- WakeLockStateMachine
- cdma.CdmaInboundSmsHandler
- cdma.CdmaServiceCategoryProgramHandler
- gsm.GsmCellBroadcastHandler
- gsm.GsmInboundSmsHandler

This fixes a bug in the SMS dispatcher. Previously we delivered
incoming SM's as ordered broadcasts and then sent an acknowledgment
to the SMSC after the broadcast completed. It was possible for the
ordered broadcast to take over 20 seconds to complete, causing SMS
retransmissions because we didn't ACK quickly enough. Also, a
broadcast receiver could set the result code to failure (the AOSP
MMS app never does this), causing us to negatively acknowledge the
SMS, potentially leading to many retries and a backlog on the SMSC.

The reason for saving all PDUs in the raw table before ACKing is so
InboundSmsHandler can handle the failure case of a device crash or
power failure in between ACKing the message and the delivery of the
ordered broadcast to receivers. This is handled when the Phone class
starts, creating a new thread to run SmsBroadcastUndelivered.
This Runnable scans the raw table once, finding all complete
PDUs and sending IncomingSmsTrackers to the state machine to
broadcast them again to receivers. In the worst case, a message might
be added twice to the MMS inbox, but it won't be lost.

However, due to the current MMS app implementation, which immediately
acknowledges the ordered broadcast before starting a new Service to
process the message, there is a very short window of time when a
message could potentially be lost, if the MMS app or device crashed
after the ordered broadcast returns and the message is deleted from
the raw table, but before the MMS service has added the message to
its own tables. To fix this will probably require API changes.

Another improvement from this change: SmsBroadcastUndelivered also
deletes PDUs for incomplete multipart messages that are older than
30 days. We've never garbage collected this table in the past, so
it's possible for a phone to accumulate a number of old PDUs in the
raw table if not all components arrived successfully.

The wake lock handling is also improved in this version, as we now
acquire a wakelock when the state machine leaves the Idle state,
releasing it 3 seconds after returning to the idle state, instead
of the previous 5-second timeout. If a new SMS arrives while a
broadcast is being delivered, we add it to the raw table and ACK the
new PDU immediately, then send the InboundSmsTracker as a message to
handle when the previous broadcast completes.

In order to keep track of whether a PDU is in 3GPP or 3GPP2 format,
the destination port column of the raw table is extended with three
flags: 3GPP format, 3GPP2 format, and no destination port present.
Because the destination port is a 16-bit value in both 3GPP and
3GPP2, the upper bits of the destination port can be used for flags.
This saves us from having to modify the SMS provider to update the
DB version and to add extra columns to keep track of these flags.

Bug: 7099232
Change-Id: Ibbc01ccb83320f4b6112fe3dd31355eb6f570b67
/frameworks/opt/telephony/src/java/com/android/internal/telephony/InboundSmsHandler.java