History log of /packages/apps/CellBroadcastReceiver/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
85f8978e580a2172c2a1f26d42fcd09269bc581d 29-Sep-2016 Jack Yu <jackyu@google.com> Added CellBroadcastReceiver unit tests.

Test: runtest -x packages/apps/CellBroadcastReceiver/tests/unit

bug: 30367782
Change-Id: I9e19c7f903e516f6f644d50c4a9428fb0fda5722
/packages/apps/CellBroadcastReceiver/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java
1820c019a79ad2c50e3c3e4bf18155d4d3dc7967 15-Sep-2016 Jack Yu <jackyu@google.com> Fixed that carrier specific messages were not treated as emergency

Added an emergency flag to other channel managers. The carrier's
specific cell broadcast messages can be marked as emergency or
non-emergency.

bug: 31172048
Change-Id: Ie2f20a166125bbcb8c5f9baadd9d97bca9c4d917
/packages/apps/CellBroadcastReceiver/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java
468a41702543cb74189153a79af5b38a344e9960 07-Sep-2016 Sanket Padawe <sanketpadawe@google.com> Refactor CellbroadcastAlert dialog

+ Earlier we were using two separate activities without any significant
difference between them apart from screen off handler which is not
required & different layout. So this change merges two activities and uses
commonly used material layout.
+ Avoid sending notification when screen goes off while in
CellBroadcastAlertDialog activity.
+ Fixes problem of showing two different looking dialogs as we are
merging two activities.

Bug: 31172362
Change-Id: I920eea1c53cc8b1a6013e1716a39f695a9edeb8b
/packages/apps/CellBroadcastReceiver/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java
4ec98d59c95d575acfd51a94db63ed6c892e2476 23-Aug-2016 Sanket Padawe <sanketpadawe@google.com> Fix crash while receiveing ETWS cell broadcast.

Bug: 28986020
Bug: 30955501
Change-Id: I3d1676ca56b5f2c0af2d165c2b287acb817e77f3
/packages/apps/CellBroadcastReceiver/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java
9ffa513ca20aff9cd6b32a582f23e28838f2153a 20-Jul-2016 Jack Yu <jackyu@google.com> Made severe and extreme alert configuration dependency configurable

Before when extreme alert is disabled, severe alert will be disabled
by default because we assume users won't be interested in severe
alert if he is even not interested in extreme (higher level) alert.

Now carriers are allowed to turn this feature off by carrier config.

bug: 29369591
Change-Id: I41f20b346b4ffe9f0a3401574b9bd73c48e848c2
/packages/apps/CellBroadcastReceiver/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java
012df852eb5c453e32b288fb3830f0793528ac4f 09-Jun-2016 Sanket Padawe <sanketpadawe@google.com> Unread CMAS should be moved to notfication in status bar.

+ Disable touch outside alert box.
+ When home button is clicked while alert box is shown, show notification
in status bar for that CMAS message. On clicking that notification, once
again show alert box for CMAS message.

Bug: 28986020
Change-Id: I072f7e7e18c7f458e0aadeed14660656e14b3a5f
/packages/apps/CellBroadcastReceiver/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java
e7de1a7cb4655bcda5669782fd60d51de7a95068 09-May-2016 Jack Yu <jackyu@google.com> Added custom alert tone support

1. Added vocalized tones (with 5 different langauges) for
ETWS earthquake, tsunami, and other disaster messages.
2. Added a custom tone for Canadian WPAS messages.
3. Added custom vibration pattern support.

bug: 27688980

Change-Id: Id3a980784b5a6a6fb4cc3a4dfaeabea420b03017
/packages/apps/CellBroadcastReceiver/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java
e07253f278a20009044de986915b380700caea2d 27-Apr-2016 Jack Yu <jackyu@google.com> Added additional CBS channels support.

Added carrier config for additional CBS channels enabling.

bug: 21107166
Change-Id: I267e257b7ad0a90f233f6e0aeea9d54d6dc1f6ab
/packages/apps/CellBroadcastReceiver/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java
a42a6e9a8969798796027807417658db24cb4985 04-May-2016 Jack Yu <jackyu@google.com> Removed emergency tone duration configuration from the UI

Since CMAS uses fixed 10.5 seconds alert tone, and most of
the carriers using ETWS also have fixed length tones, the
tone duration configuration UI might confuse users. Since
this is just for testing purpose, which is only shown to
the user when developer option is turned on, we decided to
remove it.

bug: 28563429
Change-Id: I227fedb73816f7c8026238eee384b52a1d1e684f
/packages/apps/CellBroadcastReceiver/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java
9a3d3f6edf1184c08421fb2c5418f82983c09759 13-Apr-2016 Jack Yu <jackyu@google.com> Fixed ETWS duplication detection logic.

ETWS duplication detection was not performed independently for
primary and secondary notification. Added a new flag for
primary/secondary so we can distinguish them even they have the
same serial number, message body, and geo information.

bug: 28042497
Change-Id: I3738404ce501f5ce8d498615ff0390c092a98db3
/packages/apps/CellBroadcastReceiver/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java
c332d9a1879e29440f9f47ac6b1767d2f4b9c797 15-Oct-2015 Jack Yu <jackyu@google.com> Remove multi-sim support on CellBroadcast receiver and its test app.

Revert https://googleplex-android-review.git.corp.google.com/#/c/725081/
and now we use default SMS sub to receive emergency broadcasts.

bug: 24411270
Change-Id: I9abbec7ba06022a17e916d0835ed905beb44d496
/packages/apps/CellBroadcastReceiver/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java
3d9a35e7a67873a6c1720a8ae37a4200063fc5c2 07-Oct-2015 Jack Yu <jackyu@google.com> Fixed that sometimes ETWS messages are not spoken.

Now we will use the language specified in ETWS/CMAS messages. If
the language is not specified in ETWS, or the device does not support
that language, we use Japanese for ETWS. If the language is not
specified in CMAS, or the device does not support that language, we
use device's default language for CMAS.

Also we found that sometimes ETWS primary and secondary messages come
back to back. Also there should not be any text in the primary message
so there is no point to play TTS for that. So we disable the TTS
for ETWS primary message and only let the secondary one played out.
Also change the TTS parameter from QUEUE_FLUSH (only flush the queue
from the same caller) to QUEUE_DESTROY (flush all queues from all
caller) since this is for emergency.

bug: 24341917
Change-Id: I431d2d8b1e99130ff5e1d1931992b63cf6925778
/packages/apps/CellBroadcastReceiver/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java
0564f700425f767fa5c86e7828ec4f16554c220e 25-Sep-2015 Jack Yu <jackyu@google.com> Merge "Fixed that "Turn on notification" does not work." into mnc-dr-dev
3f85c34423cf35cf92a4c1f374689959dc0ed55e 24-Sep-2015 Jack Yu <jackyu@google.com> Fixed that "Turn on notification" does not work.

We should set the preference change listener if turn on
notification option is available. Previously we only do that
when developer options is turned on.

bug: 23886750
Change-Id: I0850d39c0478f6772fbe89aeda0faa3894526b36
/packages/apps/CellBroadcastReceiver/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java
a0b0023aceb11d95af802d80bb25a852ca84755b 16-Sep-2015 Jack Yu <jackyu@google.com> Fixed the incorrect audio duration used for ETWS messages.

The incorrect audio duration caused no beep and no text-to-speech
messages played when the device recieves ETWS messages. Fixed by
multiplying the duration by 1000.

Bug: 23946090
Change-Id: Ic36281d30f3eefb59ca9c4c192245ccf16768805
/packages/apps/CellBroadcastReceiver/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java
631632ab58391fc1be9c08d5e473731def0c9b0f 03-Aug-2015 Jack Yu <jackyu@google.com> Fixed that CMAS duplicate detection is not working

Now we'll have different duplicate detection algorithm between
ETWS and CMAS message.

If this is an ETWS message, then we want to include the body message
to be a factor for duplicate detection. We found that some Japanese
carriers send ETWS messages with the same serial number,
therefore the subsequent messages were all ignored.

In the other hand, US carriers have the CMAS requirement that only
serial number, location, and category should be used for duplicate
detection.

bug: 22787502
Change-Id: I92ef2d47a76622ee1be0d23ae26bf20a1dcaf203
/packages/apps/CellBroadcastReceiver/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java
dd9555e7e5eb29852576197de1c61fa99007ba34 22-Jul-2015 Jack Yu <jackyu@google.com> Allow carriers to force disable ETWS/CMAS test messages.

This feature can be enabled in carrier config XML. When enabled, the user will not see
ETWS/CMAS enable/disable option in emergency broadcast preference menu.

bug: 22396039
Change-Id: I67b09e283a85f2af682fa7f2d1cd81d7d7db5cf2
/packages/apps/CellBroadcastReceiver/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java
c4ef6116a83db3b93f93d32be29a36bf54622d9d 14-Jul-2015 Sanket Padawe <sanketpadawe@google.com> Make CellBroadCast MSIM aware

Bug: 22360525
Change-Id: Ie5306b47628e4f9a547a4f8fde7fa842a77e65a7
/packages/apps/CellBroadcastReceiver/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java
141aca85bca75dd69830539594ac74115f966568 13-Jul-2015 Amit Mahajan <amitmahajan@google.com> Send broadcast twice - once for READ_PHONE_STATE & once for PRIVILEGED

Bug: 22376654
Change-Id: I437f9bf324950cb70bae5be76699824da5897a6f
/packages/apps/CellBroadcastReceiver/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java
50595fdfb0e3b876c80a5937b43d1cc95c36b846 22-Jun-2015 Jack Yu <jackyu@google.com> Added the body hash code to the message id for duplicate message detection.

bug: 21103998
Change-Id: If077d89867f75659bd2ee73985f950dd2f5d37c8
/packages/apps/CellBroadcastReceiver/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java
0224babc0bec527dd7e44babb2cd644836f8e1fb 14-Nov-2014 xinhe <xinhe@google.com> CMAS opt-out setting does not work when switching from Secondary user to
Device owner

Fix includes:
(1) Only device owner is alloed to set/change preference
(2) CBS intents are sent to all users
(3) Cell broadcast alter is only displayed on the active user
(4) Cell broadcast messages are saved in all users' mail box
(5) Cell broadcast test app send intents to all users
(6) Remove airplane mode trigger cellbroadcast MID configure. This should
be taken care of by ServiceStateChange

Bug:18223949
Change-Id: I6b6162e7f52a6cd958ef08267f7f239e70489ec8
/packages/apps/CellBroadcastReceiver/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java
254c7fee700d754fff3d62f3d35ca13f12752b7b 30-Aug-2014 Daniel Sandler <dsandler@android.com> Fix text colors in the CellBroadcast list.

Also make sure the notification form is visible on
lockscreens, and other L improvements.

Bug: 17311748
Bug: 17333464
Change-Id: I23231a767d298f7a10d6c484d0beca075799382e
/packages/apps/CellBroadcastReceiver/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java
569ca0c92db166c07ea75725e59523d22805863b 13-May-2013 Anju Mathapati <anjucm@codeaurora.org> Use proper check to detect duplicates for CMAS messages

As per spec 3GPP 23.041, in order to determine a duplicate,
combination of message identifier, serial number and PLMN
should be used.

Change-Id: I59d2a828bc7a7a9e42a460168521a5641799dd76
/packages/apps/CellBroadcastReceiver/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java
3880548e290746d40f0a669a2d35064bfc380095 07-Aug-2012 Rika Brooks <rbrooks@codeaurora.org> CB: Enable or Disable broadcast messages

Send set config broadcast messages to modem when user changes
preferences from CellBroadcast App. This is necessary to reduce
power consumpution.

Bug: 8285107
Change-Id: I6953aa8e07769437ccc3661f46e86faca602a4fb
/packages/apps/CellBroadcastReceiver/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java
8524c0a36abccf29818d6e18c1080208cfee3ec4 30-Nov-2012 Jake Hamby <jhamby@google.com> Enable support for area info cell broadcasts in Brazil.

Brazilian operators require support for displaying the most recent
area info cell broadcast (message identifier == 50) received.
Handle this with a broadcast that the Settings app can receive
and display in the status screen. Settings can also request
CellBroadcastReceiver to send the most recent area info received.

Also, when the SIM country code is Brazil, show the checkbox to
enable/disable channel 50 in cell broadcast settings, and enable
channel 50 in the radio at startup unless the user disables it.

Also update the test application to allow message identifier to be
set for GSM and UMTS cell broadcasts (excluding ETWS) for testing
the handling of different message identifiers, and change the
message identifier of the test cell broadcast PDUs from 50 to 1.
To override the message identifier, set the category field in the
test app to a non-zero value.

Bug: 7445881
Change-Id: Ibca8d33c32c0391d0d4eee444c86dd93878d7d1e
/packages/apps/CellBroadcastReceiver/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java
4be1ab169dadd108cceff8f76067cf874bda9d97 19-Oct-2012 Jake Hamby <jhamby@google.com> Update CMAS duplicate message detection for carrier requirement.

There is a carrier requirement for CMAS to use only an in-memory
table for duplicate message ID detection. When the max number of
65535 messages is received, the oldest message ID is removed from
the list. After a reboot, a previously received message ID will be
considered a new message. This is required for CMAS lab testing.

The app does not care if there are multiple rows in the SQLite DB
with the same message ID, because the primary key is a unique ID.
Remove the duplicate message detection from the CBContentProvider
and use only the in-memory duplicate detection in CBAlertService.
This is safe for other types of alerts such as ETWS, and has the
benefit that a new alert will not be suppressed due to a very old
alert with the same message ID that was never deleted from the DB.

Message IDs are now stored in an ArrayList as well as a HashSet
in CellBroadcastAlertService. When the 65535 message limit is
reached, an index is used into the ArrayList to remove the oldest
message ID from the HashSet. The new message ID replaces the old
one in the ArrayList, so the size stays fixed at 65535 entries and
no array copies are needed to replace the oldest message ID.

Bug: 7045601
Change-Id: I2d08bf8131aa473648c5810913b62baa09a97756
/packages/apps/CellBroadcastReceiver/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java
57273ebfa13f96bf5aba9902b70e2b179fec9e4c 09-Oct-2012 Jake Hamby <jhamby@google.com> Multiple fixes to CMAS app.

* Allow screen to turn off after 30 seconds for emergency alerts.
* When multiple alerts are received, show them in reverse order.
* After showing the first CMAS alert received on device (other than
Presidential Alert), show opt-out dialog to allow user to
opt-in or out of the various levels of CMAS alert.
* Start/stop animating warning icon in activity pause/resume.
* When multiple non-emergency alerts are received, show them all
(most recent displayed first) when user selects the notification.
* For emergency alerts, start the dialog activity directly instead
of creating a PendingIntent and full screen notification.
* Correctly save/restore the list of alerts in the alert dialog
in onSaveInstanceState() when recreated after screen rotation.
* Fix test app to increment the message ID and to send the correct
alerts when multiple alerts are selected with 5 second delay.

Bug: 6993660
Bug: 7041847
Bug: 7045506
Change-Id: Ic3ec08f0ebd693244891a4bf3a29479b832c2a3e
/packages/apps/CellBroadcastReceiver/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java
68dc486fc39a727c43199c2df72dcf658367a63f 10-Sep-2012 Jake Hamby <jhamby@google.com> Fix ETWS earthquake alert to vibrate when in silent mode.

A recent change to emergency alert behavior for CMAS is incompatible with
the required behavior for ETWS alerts:
- CMAS alerts should not vibrate when the device is in silent mode.
- CMAS alert audio/vibration should stop when a key is pressed.
- ETWS alerts should always vibrate, even if the device is in silent mode.
- ETWS alert audio/vibration should not stop if a key is pressed.
This change restores the correct behavior for ETWS alerts. Other alerts
will use the CMAS behavior.

Bug: 7116590
Change-Id: I1e1598ee5fb489be50138faf5cb56dabe8e802ed
/packages/apps/CellBroadcastReceiver/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java
bf70b6f871ac58439b5e98a305478a773e872b68 25-Aug-2012 Jake Hamby <jhamby@google.com> Fix behavior of CMAS audio alert and vibration.

Fix bugs in CMAS audio alert and vibration behavior:
* Use audio duration of 10.5 seconds for all CMAS alerts.
* Fix vibration cadence to match CMAS tone cadence.
* Mute audio when volume or camera keys are pressed.
* Don't play audio or vibration in silent mode.
* Don't play audio in vibrate mode.
* Use notification volume rather than alarm volume.
* Catch IllegalStateExceptions when stopping audio/TTS (sometimes
throws "Unable to retrieve AudioTrack pointer for stop()").
* Add Vibrate setting to CMAS settings for disabling vibration.

Bug: 7045214
Change-Id: Id98ea4f42f326b9a253407b9bbe67ca6acc6a20c
/packages/apps/CellBroadcastReceiver/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java
d716ca0cb5e074ec73099dd4b6b69dad55ae97d6 03-Aug-2012 Jake Hamby <jhamby@google.com> Add message ID cache to detect duplicate broadcasts.

Ignore received broadcasts with message ID and geo scope matching
an already received cell broadcast. This prevents the display of
duplicate alerts when the user has deleted the original broadcast.

Bug: 6853691
Change-Id: I879be8fbdd092e4b6d26ecc074034ce79a4e284c
/packages/apps/CellBroadcastReceiver/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java
eef14be1b2b77fc08a6cc5ef301ba49ea54c0c0a 27-Jun-2012 Jake Hamby <jhamby@google.com> Fix CellBroadcastReceiver to ignore duplicate broadcasts.

Before showing an alert dialog or notification, check to
see if the broadcast message is already in the database.

Bug: 6506785
Change-Id: I3063ef3d5355301e4292437348cf789ff540e0b1
/packages/apps/CellBroadcastReceiver/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java
d02a1005f5894c7fc66f42909d9ca8e7fb0983d3 07-Jun-2012 Jake Hamby <jhamby@google.com> Add new icon resources to CMAS app.

Add new launcher and notification icons to Cell Broadcast app.
Remove the old launcher icon.

Bug: 6464353
Change-Id: I7c4fe6697a3b1ad58756f995bd600cab27432fa8
/packages/apps/CellBroadcastReceiver/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java
da5c415f6d0999131e93384b5fb90422ada8e4da 18-Apr-2012 Jake Hamby <jhamby@google.com> Add ContentProvider for received cell broadcasts.

Enable apps with android.permission.READ_CELL_BROADCASTS to access the
database of received cell broadcasts via a ContentProvider at URI
"content://cellbroadcasts/". The ContentProvider is read-only, but
provides internal methods for the app to insert and delete broadcasts,
and to mark broadcasts as read. These methods are not exposed to other
applications.

Other changes:

* Added static log() methods for simpler debug logging.

* Moved CellBroadcastDatabase.DatabaseHelper to new top-level
CellBroadcastDatabaseHelper class after refactoring the original
CellBroadcastDatabase class out of existence.

* Removed the "Delete" dialog title per Android UI guidelines,
and changed from a custom view to a built-in dialog type.

Bug: 5752924
Change-Id: I1ad6a4d5248f851c53a638c2cb7e85a57ba6b811
/packages/apps/CellBroadcastReceiver/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java
00b87064abfb9d254fbbf72110643d2e626365e6 14-Feb-2012 Jake Hamby <jhamby@google.com> Add CMAS over CDMA support to CellBroadcastReceiver app.

Add support for CMAS warning notifications over CDMA to
CellBroadcastReceiver app. The framework code now sends cell
broadcasts in a radio-technology independent form by passing the new
Parcelable android.telephony.SmsCbMessage class as the "message"
intent of the SMS_CB_RECEIVED_ACTION or SMS_EMERGENCY_CB_RECEIVED_ACTION,
instead of as a GSM/UMTS "pdu" byte array.

The database version has also been upgraded to encompass metadata for
ETWS and CMAS emergency broadcasts, as well as CDMA format broadcasts.

Bug: 5856308
Change-Id: I1b10d35d8aa6f0134260116980e4c326f86d2fe7
/packages/apps/CellBroadcastReceiver/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java
f88de2b37383f138b3c7d876bdc3b6b6fae7b728 27-Oct-2011 Jake Hamby <jhamby@google.com> Show alert dialog for operator-defined Cell Broadcast messages.

Enable display of received SMS broadcast messages as emergency alerts
(warning sound and alert dialog notification) if they are listed in the
range defined in "ro.cellbroadcast.emergencyids".

Bug: 5516275
Change-Id: Ic26aa28fa2b2201f32bff780db40d76883cd0860
/packages/apps/CellBroadcastReceiver/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java
50a624a47ce645a7992e346e40a4e7ec5e0df9b7 18-May-2011 Jake Hamby <jhamby@google.com> Initial checkin of Cell Broadcast display application.

Simple Cell Broadcast application. Supports ETWS and CMAS emergency
messages, and can be extended to support other types of PWS
(Public Warning System) emergency warnings. User preferences for
configuration of each supported national system (ETWS, CMAS, and
channel 50 broadcasts for Brazil) are displayed/hidden based on the
values in res/values/config.xml.

For emergency alerts, a flashing warning icon and special alert sound
is played. If there is a text-to-speech engine installed for the
language of the broadcast, then the contents of the broadcast message
will be spoken after the alert sound is played. The user can disable
the text-to-speech feature in settings, as well as adjusting the
length of the alert sound and enabling/disabling delivery of several
emergency broadcast channels.

The CellBroadcastReceiverTests apk includes a launcher activity with
buttons for sending each type of test message. This APK must be signed
with the system certificate in order to acquire the BROADCAST_SMS
permission required to send test broadcasts to the app.

Change-Id: If9b61e02c246de5783b3e39cd100ea707ea80084
/packages/apps/CellBroadcastReceiver/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java