summaryrefslogtreecommitdiff
path: root/src/com
diff options
context:
space:
mode:
authorChen Xu <fionaxu@google.com>2020-06-23 09:44:13 -0700
committerChen Xu <fionaxu@google.com>2020-06-23 09:44:13 -0700
commit219e1dcb1710a0b722bf7b6a9f43d8378551d173 (patch)
treef4360553fc08637aaf8f5507ed9c43a804cf429e /src/com
parent0829173b926cec9ac64479e7e3aa42ff86f3d5e8 (diff)
downloadCellBroadcastReceiver-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.java2
-rw-r--r--src/com/android/cellbroadcastreceiver/CellBroadcastResources.java14
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;