summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/res/res/drawable-nodpi/stat_sys_adb.xml83
-rw-r--r--core/tests/coretests/src/android/graphics/drawable/IconTest.java55
2 files changed, 130 insertions, 8 deletions
diff --git a/core/res/res/drawable-nodpi/stat_sys_adb.xml b/core/res/res/drawable-nodpi/stat_sys_adb.xml
index f8c04517800a..cb4462c9a169 100644
--- a/core/res/res/drawable-nodpi/stat_sys_adb.xml
+++ b/core/res/res/drawable-nodpi/stat_sys_adb.xml
@@ -1,5 +1,5 @@
<!--
-Copyright (C) 2021 The Android Open Source Project
+Copyright (C) 2022 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.
@@ -13,11 +13,78 @@ Copyright (C) 2021 The Android Open Source Project
See the License for the specific language governing permissions and
limitations under the License.
-->
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="24dp" android:height="24dp"
- android:viewportWidth="24"
- android:viewportHeight="24">
- <path android:pathData="M18 9c0-.69268-.1174-1.35795-.3333-1.97699C16.8495 4.68061 14.621 3 12 3 8.68629 3 6 5.68629 6 9v3h6M6 15c0 .6927.11738 1.3579.33333 1.977C7.15047 19.3194 9.37897 21 12 21c3.3137 0 6-2.6863 6-6v-3h-6" android:strokeColor="#000000" android:strokeWidth="2" android:fillColor="#00000000"/>
- <path android:fillColor="#000000" android:pathData="M10 7a1 1 0 1 0 0 2 1 1 0 1 0 0-2zM14 7a1 1 0 1 0 0 2 1 1 0 1 0 0-2z"/>
- <path android:pathData="M6 3l1.5 1.5M18 3l-1.5 1.5" android:strokeColor="#000000" android:strokeWidth="2" android:fillColor="#000000"/>
+<vector android:width="24dp" android:height="24dp"
+ android:viewportWidth="24" android:viewportHeight="24"
+ xmlns:android="http://schemas.android.com/apk/res/android">
+ <path android:pathData="
+ M22.45 11.94
+ l-.58-.21
+ a1.19 1.19 0 0 1-.26-2.12
+ l.51-.34
+ a1.2 1.2 0 0 0-.83-2.19
+ l-.61.08
+ a1.2 1.2 0 0 1-1.21-1.76
+ l.29-.54
+ A1.2 1.2 0 0 0 18 3.31
+ l-.5.36
+ a1.21 1.21 0 0 1-1.9-1
+ v-.61
+ a1.2 1.2 0 0 0-2.27-.56
+ l-.26.5
+ a1.2 1.2 0 0 1-2.14 0
+ l-.28-.54
+ a1.2 1.2 0 0 0-2.27.56
+ v.61
+ a1.21 1.21 0 0 1-1.9 1
+ L6 3.31
+ a1.2 1.2 0 0 0-1.76 1.55
+ l.29.54
+ a1.2 1.2 0 0 1-1.21 1.76
+ l-.61-.08
+ a1.2 1.2 0 0 0-.83 2.19
+ l.51.34
+ a1.19 1.19 0 0 1-.26 2.12
+ l-.58.21
+ a1.21 1.21 0 0 0 .29 2.33
+ l.61.06
+ a1.2 1.2 0 0 1 .76 2
+ l-.42.46
+ a1.2 1.2 0 0 0 1.33 1.92
+ l.57-.22
+ a1.21 1.21 0 0 1 1.61 1.42
+ l-.16.59
+ a1.2 1.2 0 0 0 2.07 1.09
+ l.4-.47
+ a1.2 1.2 0 0 1 2.08.51
+ l.14.6
+ a1.2 1.2 0 0 0 2.34 0
+ l.14-.6
+ a1.2 1.2 0 0 1 2.08-.51
+ l.4.47
+ a1.2 1.2 0 0 0 2.07-1.09
+ l-.16-.59
+ a1.21 1.21 0 0 1 1.61-1.42
+ l.57.22
+ a1.2 1.2 0 0 0 1.33-1.92
+ l-.42-.46
+ a1.2 1.2 0 0 1 .76-2
+ l.61-.06
+ a1.21 1.21 0 0 0 .29-2.33
+ z
+ M12 19
+ a7 7 0 1 1 7-7 7 7 0 0 1-7 7
+ z
+ "
+ android:fillColor="#000000" />
+ <path android:pathData="
+ M9 7.75
+ a.75.75 0 1 0 0 1.5.75.75 0 1 0 0-1.5
+ z
+ M15 7.75
+ a.75.75 0 1 0 0 1.5.75.75 0 1 0 0-1.5
+ z
+ "
+ android:fillColor="#000000" />
+ <path android:strokeColor="#000000" android:strokeMiterLimit="10" android:strokeWidth="2"
+ android:pathData="M4 12h16M12 12v8" />
</vector>
diff --git a/core/tests/coretests/src/android/graphics/drawable/IconTest.java b/core/tests/coretests/src/android/graphics/drawable/IconTest.java
index 2bdcc284154b..75390a282af9 100644
--- a/core/tests/coretests/src/android/graphics/drawable/IconTest.java
+++ b/core/tests/coretests/src/android/graphics/drawable/IconTest.java
@@ -180,6 +180,61 @@ public class IconTest extends AndroidTestCase {
}
}
+ /**
+ * Icon resource test that ensures we can load and draw non-bitmaps. (In this case,
+ * stat_sys_adb is assumed, and asserted, to be a vector drawable.)
+ */
+ @SmallTest
+ public void testWithStatSysAdbResource() throws Exception {
+ // establish reference bitmap
+ final float dp = getContext().getResources().getDisplayMetrics().density;
+ final int stat_sys_adb_width = (int) (24 * dp);
+ final int stat_sys_adb_height = (int) (24 * dp);
+
+ final Drawable stat_sys_adb = getContext()
+ .getDrawable(com.android.internal.R.drawable.stat_sys_adb);
+ if (!(stat_sys_adb instanceof VectorDrawable)) {
+ fail("stat_sys_adb is a " + stat_sys_adb.toString()
+ + ", not a VectorDrawable; stat_sys_adb malformed");
+ }
+
+ if (stat_sys_adb.getIntrinsicWidth() != stat_sys_adb_width) {
+ fail("intrinsic width of stat_sys_adb is not 24dp; stat_sys_adb malformed");
+ }
+ if (stat_sys_adb.getIntrinsicHeight() != stat_sys_adb_height) {
+ fail("intrinsic height of stat_sys_adb is not 24dp; stat_sys_adb malformed");
+ }
+ final Bitmap referenceBitmap = Bitmap.createBitmap(
+ stat_sys_adb_width,
+ stat_sys_adb_height,
+ Bitmap.Config.ARGB_8888);
+ stat_sys_adb.setBounds(0, 0, stat_sys_adb_width, stat_sys_adb_height);
+ stat_sys_adb.draw(new Canvas(referenceBitmap));
+
+ final Icon im1 = Icon.createWithResource(getContext(),
+ com.android.internal.R.drawable.stat_sys_adb);
+ final Drawable draw1 = im1.loadDrawable(getContext());
+
+ assertEquals(stat_sys_adb.getIntrinsicWidth(), draw1.getIntrinsicWidth());
+ assertEquals(stat_sys_adb.getIntrinsicHeight(), draw1.getIntrinsicHeight());
+ assertEquals(im1.getResId(), com.android.internal.R.drawable.stat_sys_adb);
+
+ final Bitmap test1 = Bitmap.createBitmap(
+ draw1.getIntrinsicWidth(),
+ draw1.getIntrinsicHeight(),
+ Bitmap.Config.ARGB_8888);
+ draw1.setBounds(0, 0, test1.getWidth(), test1.getHeight());
+ draw1.draw(new Canvas(test1));
+
+ final File dir = getContext().getExternalFilesDir(null);
+ test1.compress(Bitmap.CompressFormat.PNG, 100,
+ new FileOutputStream(new File(dir, "testWithVectorDrawableResource-test.png")));
+ if (!equalBitmaps(referenceBitmap, test1)) {
+ findBitmapDifferences(referenceBitmap, test1);
+ fail("testWithFile: file1 differs, check " + dir);
+ }
+ }
+
@SmallTest
public void testWithFile() throws Exception {
final Bitmap bit1 = ((BitmapDrawable) getContext().getDrawable(R.drawable.landscape))