RingtoneManager shouldn't be using custom columns.
Add to greylist to keep their usage working.
Bug: 115845621
Bug: 122813739
Test: cts-tradefed run commandAndExit cts-dev -m CtsMediaTestCases -t android.media.cts.RingtoneManagerTest
Change-Id: I358545f658ad2fbccfe94cc65c78bf42c92a3ab2
Merged-In: I358545f658ad2fbccfe94cc65c78bf42c92a3ab2
diff --git a/tests/tests/media/src/android/media/cts/RingtoneManagerTest.java b/tests/tests/media/src/android/media/cts/RingtoneManagerTest.java
index 864a0fa..e3c8d2a 100644
--- a/tests/tests/media/src/android/media/cts/RingtoneManagerTest.java
+++ b/tests/tests/media/src/android/media/cts/RingtoneManagerTest.java
@@ -103,27 +103,21 @@
super.tearDown();
}
- private boolean hasAudioOutput() {
- return mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_AUDIO_OUTPUT);
- }
-
- private boolean isTV() {
- return mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_LEANBACK_ONLY);
+ private boolean isSupportedDevice() {
+ final PackageManager pm = mContext.getPackageManager();
+ return pm.hasSystemFeature(PackageManager.FEATURE_AUDIO_OUTPUT)
+ && !pm.hasSystemFeature(PackageManager.FEATURE_LEANBACK_ONLY);
}
public void testConstructors() {
+ if (!isSupportedDevice()) return;
+
new RingtoneManager(mActivity);
new RingtoneManager(mContext);
}
public void testAccessMethods() {
- if (isTV()) {
- return;
- }
- if (!hasAudioOutput()) {
- Log.i(TAG, "Skipping testAccessMethods(): device doesn't have audio output.");
- return;
- }
+ if (!isSupportedDevice()) return;
Cursor c = mRingtoneManager.getCursor();
assertTrue("Must have at least one ring tone available", c.getCount() > 0);
@@ -151,6 +145,8 @@
}
public void testSetType() {
+ if (!isSupportedDevice()) return;
+
mRingtoneManager.setType(RingtoneManager.TYPE_ALARM);
assertEquals(AudioManager.STREAM_ALARM, mRingtoneManager.inferStreamType());
Cursor c = mRingtoneManager.getCursor();
@@ -160,13 +156,7 @@
}
public void testStopPreviousRingtone() {
- if (isTV()) {
- return;
- }
- if (!hasAudioOutput()) {
- Log.i(TAG, "Skipping testStopPreviousRingtone(): device doesn't have audio output.");
- return;
- }
+ if (!isSupportedDevice()) return;
Cursor c = mRingtoneManager.getCursor();
assertTrue("Must have at least one ring tone available", c.getCount() > 0);
@@ -186,4 +176,15 @@
mRingtoneManager.stopPreviousRingtone();
assertFalse(newRingtone.isPlaying());
}
+
+ public void testQuery() {
+ if (!isSupportedDevice()) return;
+
+ final Cursor c = mRingtoneManager.getCursor();
+ assertTrue(c.moveToFirst());
+ assertTrue(c.getInt(RingtoneManager.ID_COLUMN_INDEX) >= 0);
+ assertTrue(c.getString(RingtoneManager.TITLE_COLUMN_INDEX) != null);
+ assertTrue(c.getString(RingtoneManager.URI_COLUMN_INDEX),
+ c.getString(RingtoneManager.URI_COLUMN_INDEX).startsWith("content://"));
+ }
}