diff options
author | Chen Xu <fionaxu@google.com> | 2020-06-23 09:44:13 -0700 |
---|---|---|
committer | Chen Xu <fionaxu@google.com> | 2020-06-23 09:44:13 -0700 |
commit | 219e1dcb1710a0b722bf7b6a9f43d8378551d173 (patch) | |
tree | f4360553fc08637aaf8f5507ed9c43a804cf429e /src/com | |
parent | 0829173b926cec9ac64479e7e3aa42ff86f3d5e8 (diff) | |
download | CellBroadcastReceiver-219e1dcb1710a0b722bf7b6a9f43d8378551d173.tar.gz |
avoid null pointer failure when handling GSMA channels
Bug: 159573092
Test: manual test on channel 919
Change-Id: I896cd8a6d88781d3cf0021f2aeace3dfc51f2120
Diffstat (limited to 'src/com')
-rw-r--r-- | src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java | 2 | ||||
-rw-r--r-- | src/com/android/cellbroadcastreceiver/CellBroadcastResources.java | 14 |
2 files changed, 9 insertions, 7 deletions
diff --git a/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java b/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java index ce810c0bf..53c32a601 100644 --- a/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java +++ b/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java @@ -312,7 +312,7 @@ public class CellBroadcastAlertService extends Service CellBroadcastChannelRange range = channelManager .getCellBroadcastChannelRangeFromMessage(message); if (CellBroadcastReceiver.isTestingMode(getApplicationContext()) - || range.mWriteToSmsInbox) { + || (range != null && range.mWriteToSmsInbox)) { writeMessageToSmsInbox(message); } } diff --git a/src/com/android/cellbroadcastreceiver/CellBroadcastResources.java b/src/com/android/cellbroadcastreceiver/CellBroadcastResources.java index 70e80c119..23f4dd19b 100644 --- a/src/com/android/cellbroadcastreceiver/CellBroadcastResources.java +++ b/src/com/android/cellbroadcastreceiver/CellBroadcastResources.java @@ -319,12 +319,14 @@ public class CellBroadcastResources { } if (channelManager.checkCellBroadcastChannelRange(serviceCategory, R.array.cmas_alert_extreme_channels_range_strings)) { - if (cmasInfo.getSeverity() == SmsCbCmasInfo.CMAS_SEVERITY_EXTREME - && cmasInfo.getUrgency() == SmsCbCmasInfo.CMAS_URGENCY_IMMEDIATE) { - if (cmasInfo.getCertainty() == SmsCbCmasInfo.CMAS_CERTAINTY_OBSERVED) { - return R.string.cmas_extreme_immediate_observed_alert; - } else if (cmasInfo.getCertainty() == SmsCbCmasInfo.CMAS_CERTAINTY_LIKELY) { - return R.string.cmas_extreme_immediate_likely_alert; + if (message.isCmasMessage()) { + if (cmasInfo.getSeverity() == SmsCbCmasInfo.CMAS_SEVERITY_EXTREME + && cmasInfo.getUrgency() == SmsCbCmasInfo.CMAS_URGENCY_IMMEDIATE) { + if (cmasInfo.getCertainty() == SmsCbCmasInfo.CMAS_CERTAINTY_OBSERVED) { + return R.string.cmas_extreme_immediate_observed_alert; + } else if (cmasInfo.getCertainty() == SmsCbCmasInfo.CMAS_CERTAINTY_LIKELY) { + return R.string.cmas_extreme_immediate_likely_alert; + } } } return R.string.cmas_extreme_alert; |