Merge "NdkBinderTest: sane defaults for null args"
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/dialer/DialerImplementsTelecomIntentsActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/dialer/DialerImplementsTelecomIntentsActivity.java
index a7f0a95..1d782d7 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/dialer/DialerImplementsTelecomIntentsActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/dialer/DialerImplementsTelecomIntentsActivity.java
@@ -91,7 +91,9 @@
     mLaunchAccessibilitySettingsButton.setOnClickListener(
         (View unused) ->
             startActivity(new Intent(TelecomManager.ACTION_SHOW_CALL_ACCESSIBILITY_SETTINGS)));
-    if (!mTelephonyManager.isHearingAidCompatibilitySupported() && !mTelephonyManager.isTtyModeSupported()) {
+    if (!mTelephonyManager.isHearingAidCompatibilitySupported()
+        && !mTelephonyManager.isTtyModeSupported()
+        && !mTelephonyManager.isRttSupported()) {
         mLaunchAccessibilitySettingsButton.setVisibility(View.INVISIBLE);
         mLaunchAccessibilitySettingsCheckBox.setVisibility(View.INVISIBLE);
         mLaunchAccessibilitySettingsCheckBox.setChecked(true);
diff --git a/hostsidetests/incident/src/com/android/server/cts/SettingsIncidentTest.java b/hostsidetests/incident/src/com/android/server/cts/SettingsIncidentTest.java
index 38eefc1..a26c1f9 100644
--- a/hostsidetests/incident/src/com/android/server/cts/SettingsIncidentTest.java
+++ b/hostsidetests/incident/src/com/android/server/cts/SettingsIncidentTest.java
@@ -25,8 +25,8 @@
 import com.android.incident.Destination;
 import com.android.incident.Privacy;
 import com.android.tradefed.log.LogUtil.CLog;
-import com.google.protobuf.GeneratedMessage;
 import com.google.protobuf.Descriptors.FieldDescriptor;
+import com.google.protobuf.Message;
 
 import java.lang.reflect.Method;
 import java.lang.reflect.Modifier;
@@ -72,7 +72,7 @@
         verifySettings(dump.getGlobalSettings(), filterLevel);
     }
 
-    private static void verifySettings(GeneratedMessage settings, final int filterLevel) throws Exception {
+    private static void verifySettings(Message settings, final int filterLevel) throws Exception {
         verifySettings(getSettingProtos(settings), filterLevel);
 
         final List<SettingsOperationProto> ops = invoke(settings, "getHistoricalOperationsList");
@@ -88,7 +88,7 @@
         }
     }
 
-    private static Map<SettingProto, Destination> getSettingProtos(GeneratedMessage settingsProto) {
+    private static Map<SettingProto, Destination> getSettingProtos(Message settingsProto) {
         CLog.d("Checking out class: " + settingsProto.getClass());
 
         Map<SettingProto, Destination> settings = new HashMap<>();
@@ -116,7 +116,7 @@
                 } else {
                     // Sub messages don't inherit the container's default privacy. If the field had
                     // an annotation, it would override the sub message's default privacy.
-                    settings.putAll(getSettingProtos((GeneratedMessage) o));
+                    settings.putAll(getSettingProtos((Message) o));
                 }
             }
         }
@@ -133,7 +133,7 @@
         }
     }
 
-    private static <T> T invoke(GeneratedMessage instance, String methodName, Object... args)
+    private static <T> T invoke(Message instance, String methodName, Object... args)
             throws Exception {
         final Class<?>[] inputParamTypes = Arrays.stream(args)
                 .map((arg) -> toPrimitive(arg.getClass()))
diff --git a/tests/tests/media/res/raw/testwav_16bit_44100hz.wav b/tests/tests/media/res/raw/testwav_16bit_44100hz.wav
new file mode 100644
index 0000000..f57ee85
--- /dev/null
+++ b/tests/tests/media/res/raw/testwav_16bit_44100hz.wav
Binary files differ
diff --git a/tests/tests/media/src/android/media/cts/MediaMetadataRetrieverTest.java b/tests/tests/media/src/android/media/cts/MediaMetadataRetrieverTest.java
index 98ce1f1..47640ed 100644
--- a/tests/tests/media/src/android/media/cts/MediaMetadataRetrieverTest.java
+++ b/tests/tests/media/src/android/media/cts/MediaMetadataRetrieverTest.java
@@ -183,6 +183,19 @@
                 mRetriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_WRITER));
     }
 
+    public void testBitsPerSampleAndSampleRate() {
+        setDataSourceFd(R.raw.testwav_16bit_44100hz);
+
+        assertEquals("Bits per sample was other than expected",
+                "16",
+                mRetriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITS_PER_SAMPLE));
+
+        assertEquals("Sample rate was other than expected",
+                "44100",
+                mRetriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_SAMPLERATE));
+
+    }
+
     public void testLargeAlbumArt() {
         setDataSourceFd(R.raw.largealbumart);
 
diff --git a/tests/tests/telephony/src/android/telephony/cts/CellInfoTest.java b/tests/tests/telephony/src/android/telephony/cts/CellInfoTest.java
index d00346b..e5d0bd0 100644
--- a/tests/tests/telephony/src/android/telephony/cts/CellInfoTest.java
+++ b/tests/tests/telephony/src/android/telephony/cts/CellInfoTest.java
@@ -67,17 +67,6 @@
     private static final int MAX_CQI = 30;
     private static final int MIN_CQI = 0;
 
-    /**
-     * Maximum and minimum valid LTE RSSI values in dBm
-     *
-     * The valid RSSI ASU range from current HAL is [0,31].
-     * Convert RSSI ASU to dBm: dBm = -113 + 2 * ASU, which is [-113, -51]
-     *
-     * Reference: TS 27.007 8.5 - Signal quality +CSQ
-     */
-    private static final int MAX_LTE_RSSI = -51;
-    private static final int MIN_LTE_RSSI = -113;
-
     // The followings are parameters for testing CellIdentityCdma
     // Network Id ranges from 0 to 65535.
     private static final int NETWORK_ID  = 65535;
@@ -402,11 +391,6 @@
         assertTrue("getRsrq() out of range | Integer.MAX_VALUE, rsrq=" + rsrq,
             rsrq == Integer.MAX_VALUE || (rsrq >= MIN_RSRQ && rsrq <= MAX_RSRQ));
 
-        int rssi = cellSignalStrengthLte.getRssi();
-        assertTrue("getRssi() out of range [-113, -51] or Integer.MAX_VALUE if unknown, rssi="
-                        + rssi, rssi == CellInfo.UNAVAILABLE
-                        || (rssi >= MIN_LTE_RSSI && rssi <= MAX_LTE_RSSI));
-
         int rssnr = cellSignalStrengthLte.getRssnr();
         assertTrue("getRssnr() out of range | Integer.MAX_VALUE, rssnr=" + rssnr,
             rssnr == Integer.MAX_VALUE || (rssnr >= MIN_RSSNR && rssnr <= MAX_RSSNR));
diff --git a/tests/tests/text/src/android/text/format/cts/TimeTest.java b/tests/tests/text/src/android/text/format/cts/TimeTest.java
index 0d9673a..d334855 100644
--- a/tests/tests/text/src/android/text/format/cts/TimeTest.java
+++ b/tests/tests/text/src/android/text/format/cts/TimeTest.java
@@ -2823,6 +2823,13 @@
         Fields.verifyTimeEquals(expected, t);
     }
 
+    @Test
+    public void test_bug118835133() {
+        Time t = new Time("Asia/Singapore");
+        Fields.set(t, 2018, 9, 30, 12, 48, 32, 0 /* isDst */, 0, 0, 0);
+        // With http://b/118835133 toMillis() returns -1.
+        assertEquals(1540874912000L, t.toMillis(true /* ignoreDst */));
+    }
     private static void verifyNormalizeResult(boolean normalizeArgument, Time toNormalize,
             Time expectedTime, long expectedTimeMillis) {
         long actualTimeMillis = toNormalize.normalize(normalizeArgument /* ignore isDst */);