CTS coverage for different types of adaptive bitmap in Icon.java
Bug: 152618091
Bug: 152617437
Test: atest IconTest
Change-Id: I9f1dee1716802859f56f1500b965ebed4f876447
diff --git a/tests/tests/graphics/src/android/graphics/drawable/cts/IconTest.java b/tests/tests/graphics/src/android/graphics/drawable/cts/IconTest.java
index 745aeca..f281406 100644
--- a/tests/tests/graphics/src/android/graphics/drawable/cts/IconTest.java
+++ b/tests/tests/graphics/src/android/graphics/drawable/cts/IconTest.java
@@ -31,6 +31,7 @@
import android.graphics.PorterDuff;
import android.graphics.cts.ImageViewCtsActivity;
import android.graphics.cts.R;
+import android.graphics.drawable.AdaptiveIconDrawable;
import android.graphics.drawable.Icon;
import android.net.Uri;
import android.os.Handler;
@@ -76,6 +77,12 @@
}
@Test
+ public void testAdaptiveBitmapIcon() {
+ verifyAdaptiveIconValidity(Icon.createWithAdaptiveBitmap(
+ Bitmap.createBitmap(16, 16, Bitmap.Config.ARGB_8888)));
+ }
+
+ @Test
public void testDataIcon() {
byte[] data = new byte[4];
data[0] = data[1] = data[2] = data[3] = (byte)255;
@@ -100,6 +107,22 @@
}
@Test
+ public void testAdaptiveFileIcon() throws IOException {
+ File file = new File(mActivity.getFilesDir(), "testimage.jpg");
+ try {
+ writeSampleImage(file);
+ assertTrue(file.exists());
+
+ verifyAdaptiveIconValidity(Icon.createWithAdaptiveBitmapContentUri(Uri.fromFile(file)));
+
+ verifyAdaptiveIconValidity(
+ Icon.createWithAdaptiveBitmapContentUri(file.toURI().toString()));
+ } finally {
+ file.delete();
+ }
+ }
+
+ @Test
public void testResourceIcon() {
verifyIconValidity(Icon.createWithResource(mActivity, R.drawable.bmp_test));
@@ -141,6 +164,13 @@
}
@Test
+ public void testAdaptiveBitmapIcon_getType() {
+ Icon icon = Icon.createWithAdaptiveBitmap(
+ Bitmap.createBitmap(16, 16, Bitmap.Config.ARGB_8888));
+ assertEquals(Icon.TYPE_ADAPTIVE_BITMAP, icon.getType());
+ }
+
+ @Test
public void testDataIcon_getType() {
byte[] data = new byte[4];
data[0] = data[1] = data[2] = data[3] = (byte) 255;
@@ -173,6 +203,26 @@
}
@Test
+ public void testAdaptiveFileIcon_getType() throws IOException {
+ File file = new File(mActivity.getFilesDir(), "testimage.jpg");
+ try {
+ writeSampleImage(file);
+ assertTrue(file.exists());
+ String filePath = file.toURI().getPath();
+
+ Icon icon = Icon.createWithAdaptiveBitmapContentUri(Uri.fromFile(file));
+ assertEquals(Icon.TYPE_URI_ADAPTIVE_BITMAP, icon.getType());
+ assertEquals(filePath, icon.getUri().getPath());
+
+ icon = Icon.createWithAdaptiveBitmapContentUri(file.toURI().toString());
+ assertEquals(Icon.TYPE_URI_ADAPTIVE_BITMAP, icon.getType());
+ assertEquals(filePath, icon.getUri().getPath());
+ } finally {
+ file.delete();
+ }
+ }
+
+ @Test
public void testResourceIcon_getType() {
Icon icon = Icon.createWithResource("com.android.cts.testpkg", R.drawable.bmp_test);
assertEquals(Icon.TYPE_RESOURCE, icon.getType());
@@ -212,4 +262,9 @@
parcel.recycle();
}
+
+ private void verifyAdaptiveIconValidity(Icon icon) {
+ verifyIconValidity(icon);
+ assertTrue(icon.loadDrawable(mActivity) instanceof AdaptiveIconDrawable);
+ }
}