diff options
author | TreeHugger Robot <treehugger-gerrit@google.com> | 2020-05-28 00:55:45 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2020-05-28 00:55:45 +0000 |
commit | 865121099c3fbb073b4eef048e25941e65292500 (patch) | |
tree | ee5d914526d78a1b05720acb6573590a96bccc6b /src | |
parent | 37197ef4d5e357c73cc6711b020463f2000faf37 (diff) | |
parent | cdda24d234d99f090003d83f32a21a04ba4f7790 (diff) | |
download | CellBroadcastReceiver-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.java | 10 | ||||
-rw-r--r-- | src/com/android/cellbroadcastreceiver/CellBroadcastChannelManager.java | 8 |
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; } } } |