Remove reference to hidden framework resource am: 7d898287e4
am: e038d472a9
Change-Id: Iaa9cc8b1440e5c0bf7cebfc3c7c672d7791758ed
diff --git a/res/values/string.xml b/res/values/string.xml
new file mode 100644
index 0000000..3f4d44e
--- /dev/null
+++ b/res/values/string.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- Primary ETWS (Earthquake and Tsunami Warning System) default message for earthquake -->
+ <string name="etws_primary_default_message_earthquake">Stay calm and seek shelter nearby.</string>
+
+ <!-- Primary ETWS (Earthquake and Tsunami Warning System) default message for Tsunami -->
+ <string name="etws_primary_default_message_tsunami">Evacuate immediately from coastal regions and riverside areas to a safer place such as high ground.</string>
+
+ <!-- Primary ETWS (Earthquake and Tsunami Warning System) default message for earthquake and Tsunami -->
+ <string name="etws_primary_default_message_earthquake_and_tsunami">Stay calm and seek shelter nearby.</string>
+
+ <!-- Primary ETWS (Earthquake and Tsunami Warning System) default message for test -->
+ <string name="etws_primary_default_message_test">Emergency messages test</string>
+
+ <!-- Primary ETWS (Earthquake and Tsunami Warning System) default message for others -->
+ <string name="etws_primary_default_message_others"></string>
+</resources>
diff --git a/res/values/symbols.xml b/res/values/symbols.xml
index 867c3a2..c2f50eb 100644
--- a/res/values/symbols.xml
+++ b/res/values/symbols.xml
@@ -22,5 +22,12 @@
Can be referenced in java code as: com.android.internal.R.<type>.<name>
and in layout xml as: "@*android:<type>/<name>" -->
- <java-symbol type="array" name="config_defaultCellBroadcastReceiverPkgs" />
+ <java-symbol type="array" name="config_defaultCellBroadcastReceiverPkgs" />
+
+ <!-- ETWS primary messages -->
+ <java-symbol type="string" name="etws_primary_default_message_earthquake" />
+ <java-symbol type="string" name="etws_primary_default_message_tsunami" />
+ <java-symbol type="string" name="etws_primary_default_message_earthquake_and_tsunami" />
+ <java-symbol type="string" name="etws_primary_default_message_test" />
+ <java-symbol type="string" name="etws_primary_default_message_others" />
</resources>
diff --git a/src/com/android/cellbroadcastservice/GsmSmsCbMessage.java b/src/com/android/cellbroadcastservice/GsmSmsCbMessage.java
index d17c084..6a0c7cc 100644
--- a/src/com/android/cellbroadcastservice/GsmSmsCbMessage.java
+++ b/src/com/android/cellbroadcastservice/GsmSmsCbMessage.java
@@ -37,7 +37,7 @@
import com.android.cellbroadcastservice.CbGeoUtils.Polygon;
import com.android.cellbroadcastservice.GsmSmsCbMessage.GeoFencingTriggerMessage.CellBroadcastIdentity;
import com.android.cellbroadcastservice.SmsCbHeader.DataCodingScheme;
-import com.android.internal.R;
+import com.android.internal.annotations.VisibleForTesting;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
@@ -66,7 +66,8 @@
* @param category ETWS message category defined in SmsCbConstants
* @return ETWS text message in string. Return an empty string if no match.
*/
- private static String getEtwsPrimaryMessage(Context context, int category) {
+ @VisibleForTesting
+ public static String getEtwsPrimaryMessage(Context context, int category) {
final Resources r = context.getResources();
switch (category) {
case ETWS_WARNING_TYPE_EARTHQUAKE:
diff --git a/tests/src/com/android/cellbroadcastservice/GsmSmsCbMessageTest.java b/tests/src/com/android/cellbroadcastservice/GsmSmsCbMessageTest.java
index 7cacfb4..de80095 100644
--- a/tests/src/com/android/cellbroadcastservice/GsmSmsCbMessageTest.java
+++ b/tests/src/com/android/cellbroadcastservice/GsmSmsCbMessageTest.java
@@ -18,24 +18,80 @@
import android.telephony.CbGeoUtils;
import android.telephony.SmsCbCmasInfo;
+import android.telephony.SmsCbEtwsInfo;
import android.telephony.SmsCbMessage;
import android.test.suitebuilder.annotation.SmallTest;
import android.testing.AndroidTestingRunner;
+import android.testing.TestableLooper;
import android.util.Log;
import com.android.cellbroadcastservice.CbGeoUtils.Circle;
import com.android.cellbroadcastservice.CbGeoUtils.Polygon;
+import org.junit.After;
+import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import java.util.List;
@RunWith(AndroidTestingRunner.class)
+@TestableLooper.RunWithLooper
public class GsmSmsCbMessageTest extends CellBroadcastServiceTestBase {
private static final String TAG = "GsmSmsCbMessageTest";
+ @Before
+ public void setUp() throws Exception {
+ super.setUp();
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ super.tearDown();
+ }
+
+ @Test
+ @SmallTest
+ public void testGetEtwsPrimaryMessage() {
+ String testMessage1 = "Testmessage1";
+ String testMessage2 = "Testmessage2";
+ String testMessage3 = "Testmessage3";
+ String testMessage4 = "Testmessage4";
+ String testMessage5 = "Testmessage5";
+
+ putResources(R.string.etws_primary_default_message_earthquake, testMessage1);
+ putResources(R.string.etws_primary_default_message_tsunami, testMessage2);
+ putResources(R.string.etws_primary_default_message_earthquake_and_tsunami, testMessage3);
+ putResources(R.string.etws_primary_default_message_test, testMessage4);
+ putResources(R.string.etws_primary_default_message_others, testMessage5);
+
+ String message = GsmSmsCbMessage.getEtwsPrimaryMessage(mMockedContext,
+ SmsCbEtwsInfo.ETWS_WARNING_TYPE_EARTHQUAKE);
+ Log.d("GsmSmsCbMessageTest", "earthquake message=" + message);
+ assertEquals(testMessage1, message);
+
+ message = GsmSmsCbMessage.getEtwsPrimaryMessage(mMockedContext,
+ SmsCbEtwsInfo.ETWS_WARNING_TYPE_TSUNAMI);
+ Log.d("GsmSmsCbMessageTest", "tsunami message=" + message);
+ assertEquals(testMessage2, message);
+
+ message = GsmSmsCbMessage.getEtwsPrimaryMessage(mMockedContext,
+ SmsCbEtwsInfo.ETWS_WARNING_TYPE_EARTHQUAKE_AND_TSUNAMI);
+ Log.d("GsmSmsCbMessageTest", "earthquake and tsunami message=" + message);
+ assertEquals(testMessage3, message);
+
+ message = GsmSmsCbMessage.getEtwsPrimaryMessage(mMockedContext,
+ SmsCbEtwsInfo.ETWS_WARNING_TYPE_TEST_MESSAGE);
+ Log.d("GsmSmsCbMessageTest", "test message=" + message);
+ assertEquals(testMessage4, message);
+
+ message = GsmSmsCbMessage.getEtwsPrimaryMessage(mMockedContext,
+ SmsCbEtwsInfo.ETWS_WARNING_TYPE_OTHER_EMERGENCY);
+ Log.d("GsmSmsCbMessageTest", "others message=" + message);
+ assertEquals(testMessage5, message);
+ }
+
@Test
@SmallTest
public void testCreateMessageFromBinary() throws Exception {