summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2020-05-28 00:55:45 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2020-05-28 00:55:45 +0000
commit865121099c3fbb073b4eef048e25941e65292500 (patch)
treeee5d914526d78a1b05720acb6573590a96bccc6b /src
parent37197ef4d5e357c73cc6711b020463f2000faf37 (diff)
parentcdda24d234d99f090003d83f32a21a04ba4f7790 (diff)
downloadCellBroadcastReceiver-865121099c3fbb073b4eef048e25941e65292500.tar.gz
Merge "Do not write 0xA000-0xAFFF messages into SMS inbox" into rvc-dev
Diffstat (limited to 'src')
-rw-r--r--src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java10
-rw-r--r--src/com/android/cellbroadcastreceiver/CellBroadcastChannelManager.java8
2 files changed, 17 insertions, 1 deletions
diff --git a/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java b/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java
index 82a5fd1f5..4cf4642b0 100644
--- a/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java
+++ b/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java
@@ -291,7 +291,15 @@ public class CellBroadcastAlertService extends Service
if (CellBroadcastSettings.getResources(mContext,
message.getSubscriptionId())
.getBoolean(R.bool.enable_write_alerts_to_sms_inbox)) {
- writeMessageToSmsInbox(message);
+ // TODO: Should not create the instance of channel manager everywhere.
+ CellBroadcastChannelManager channelManager =
+ new CellBroadcastChannelManager(mContext,
+ message.getSubscriptionId());
+ CellBroadcastChannelRange range = channelManager
+ .getCellBroadcastChannelRangeFromMessage(message);
+ if (range.mWriteToSmsInbox) {
+ writeMessageToSmsInbox(message);
+ }
}
return true;
} else {
diff --git a/src/com/android/cellbroadcastreceiver/CellBroadcastChannelManager.java b/src/com/android/cellbroadcastreceiver/CellBroadcastChannelManager.java
index e25a6fb17..32d93f9e7 100644
--- a/src/com/android/cellbroadcastreceiver/CellBroadcastChannelManager.java
+++ b/src/com/android/cellbroadcastreceiver/CellBroadcastChannelManager.java
@@ -92,6 +92,8 @@ public class CellBroadcastChannelManager {
private static final String KEY_ALERT_DURATION = "alert_duration";
/** Defines if Do Not Disturb should be overridden for this alert */
private static final String KEY_OVERRIDE_DND = "override_dnd";
+ /** Defines whether writing alert message to SMS inbox. */
+ private static final String KEY_WRITE_TO_SMS_INBOX = "write_to_sms_inbox";
/**
* Defines whether the channel needs language filter or not. True indicates that the alert
@@ -120,6 +122,7 @@ public class CellBroadcastChannelManager {
// by default no custom alert duration. play the alert tone with the tone's duration.
public int mAlertDuration = -1;
public boolean mOverrideDnd = false;
+ public boolean mWriteToSmsInbox = false;
public CellBroadcastChannelRange(Context context, int subId, String channelRange) {
@@ -189,6 +192,11 @@ public class CellBroadcastChannelManager {
mOverrideDnd = true;
}
break;
+ case KEY_WRITE_TO_SMS_INBOX:
+ if (value.equalsIgnoreCase("true")) {
+ mWriteToSmsInbox = true;
+ }
+ break;
}
}
}