aboutsummaryrefslogtreecommitdiffstats
path: root/assetstudio
diff options
context:
space:
mode:
Diffstat (limited to 'assetstudio')
-rw-r--r--assetstudio/src/com/android/assetstudiolib/GraphicGenerator.java4
-rw-r--r--assetstudio/src/com/android/assetstudiolib/NotificationIconGenerator.java23
-rw-r--r--assetstudio/src/com/android/assetstudiolib/TabIconGenerator.java40
-rw-r--r--assetstudio/tests/src/com/android/assetstudiolib/NotificationIconGeneratorTest.java19
-rw-r--r--assetstudio/tests/src/com/android/assetstudiolib/TabIconGeneratorTest.java13
-rw-r--r--assetstudio/tests/src/com/android/assetstudiolib/testdata/notification-v11+/res/drawable-hdpi/ic_stat_circle.pngbin0 -> 550 bytes
-rw-r--r--assetstudio/tests/src/com/android/assetstudiolib/testdata/notification-v11+/res/drawable-ldpi/ic_stat_circle.pngbin0 -> 301 bytes
-rw-r--r--assetstudio/tests/src/com/android/assetstudiolib/testdata/notification-v11+/res/drawable-mdpi/ic_stat_circle.pngbin0 -> 399 bytes
-rw-r--r--assetstudio/tests/src/com/android/assetstudiolib/testdata/notification-v11+/res/drawable-xhdpi/ic_stat_circle.pngbin0 -> 731 bytes
-rw-r--r--assetstudio/tests/src/com/android/assetstudiolib/testdata/notification-v9+/res/drawable-hdpi-v11/ic_stat_circle.pngbin0 -> 550 bytes
-rw-r--r--assetstudio/tests/src/com/android/assetstudiolib/testdata/notification-v9+/res/drawable-hdpi/ic_stat_circle.pngbin0 -> 619 bytes
-rw-r--r--assetstudio/tests/src/com/android/assetstudiolib/testdata/notification-v9+/res/drawable-ldpi-v11/ic_stat_circle.pngbin0 -> 301 bytes
-rw-r--r--assetstudio/tests/src/com/android/assetstudiolib/testdata/notification-v9+/res/drawable-ldpi/ic_stat_circle.pngbin0 -> 343 bytes
-rw-r--r--assetstudio/tests/src/com/android/assetstudiolib/testdata/notification-v9+/res/drawable-mdpi-v11/ic_stat_circle.pngbin0 -> 399 bytes
-rw-r--r--assetstudio/tests/src/com/android/assetstudiolib/testdata/notification-v9+/res/drawable-mdpi/ic_stat_circle.pngbin0 -> 412 bytes
-rw-r--r--assetstudio/tests/src/com/android/assetstudiolib/testdata/notification-v9+/res/drawable-xhdpi-v11/ic_stat_circle.pngbin0 -> 731 bytes
-rw-r--r--assetstudio/tests/src/com/android/assetstudiolib/testdata/notification-v9+/res/drawable-xhdpi/ic_stat_circle.pngbin0 -> 735 bytes
-rw-r--r--assetstudio/tests/src/com/android/assetstudiolib/testdata/tabs-v5+/res/drawable-hdpi/ic_tab_1_selected.pngbin0 -> 1577 bytes
-rw-r--r--assetstudio/tests/src/com/android/assetstudiolib/testdata/tabs-v5+/res/drawable-hdpi/ic_tab_1_unselected.pngbin0 -> 724 bytes
-rw-r--r--assetstudio/tests/src/com/android/assetstudiolib/testdata/tabs-v5+/res/drawable-ldpi/ic_tab_1_selected.pngbin0 -> 704 bytes
-rw-r--r--assetstudio/tests/src/com/android/assetstudiolib/testdata/tabs-v5+/res/drawable-ldpi/ic_tab_1_unselected.pngbin0 -> 403 bytes
-rw-r--r--assetstudio/tests/src/com/android/assetstudiolib/testdata/tabs-v5+/res/drawable-mdpi/ic_tab_1_selected.pngbin0 -> 940 bytes
-rw-r--r--assetstudio/tests/src/com/android/assetstudiolib/testdata/tabs-v5+/res/drawable-mdpi/ic_tab_1_unselected.pngbin0 -> 501 bytes
-rw-r--r--assetstudio/tests/src/com/android/assetstudiolib/testdata/tabs-v5+/res/drawable-xhdpi/ic_tab_1_selected.pngbin0 -> 2270 bytes
-rw-r--r--assetstudio/tests/src/com/android/assetstudiolib/testdata/tabs-v5+/res/drawable-xhdpi/ic_tab_1_unselected.pngbin0 -> 978 bytes
25 files changed, 73 insertions, 26 deletions
diff --git a/assetstudio/src/com/android/assetstudiolib/GraphicGenerator.java b/assetstudio/src/com/android/assetstudiolib/GraphicGenerator.java
index dea6eeb..1c9fb29 100644
--- a/assetstudio/src/com/android/assetstudiolib/GraphicGenerator.java
+++ b/assetstudio/src/com/android/assetstudiolib/GraphicGenerator.java
@@ -47,8 +47,12 @@ public abstract class GraphicGenerator {
* Options used for all generators.
*/
public static class Options {
+ /** Minimum version (API level) of the SDK to generate icons for */
+ public int minSdk = 1;
+
/** Source image to use as a basis for the icon */
public BufferedImage sourceImage;
+
/** The density to generate the icon with */
public Density density = Density.XHIGH;
}
diff --git a/assetstudio/src/com/android/assetstudiolib/NotificationIconGenerator.java b/assetstudio/src/com/android/assetstudiolib/NotificationIconGenerator.java
index 1237a89..4bda2bf 100644
--- a/assetstudio/src/com/android/assetstudiolib/NotificationIconGenerator.java
+++ b/assetstudio/src/com/android/assetstudiolib/NotificationIconGenerator.java
@@ -75,8 +75,7 @@ public class NotificationIconGenerator extends GraphicGenerator {
} else if (notificationOptions.version == Version.V11) {
Util.drawCenterInside(g2, options.sourceImage, targetRect);
Util.drawEffects(g, tempImage, 0, 0, new Effect[] {
- new FillEffect(
- Color.WHITE),
+ new FillEffect(Color.WHITE),
});
} else {
assert notificationOptions.version == Version.V9;
@@ -106,20 +105,28 @@ public class NotificationIconGenerator extends GraphicGenerator {
@Override
public void generate(String category, Map<String, Map<String, BufferedImage>> categoryMap,
- GraphicGeneratorContext context, Options options, String name) {
- for (Version version : Version.values()) {
- ((NotificationOptions) options).version = version;
- super.generate(version.getDisplayName(), categoryMap, context, options, name);
+ GraphicGeneratorContext context, Options baseOptions, String name) {
+ NotificationOptions options = (NotificationOptions) baseOptions;
+ if (options.minSdk < 9) {
+ options.version = Version.OLDER;
+ super.generate(options.version.getDisplayName(), categoryMap, context, options, name);
+ }
+ if (options.minSdk < 11) {
+ options.version = Version.V9;
+ super.generate(options.version.getDisplayName(), categoryMap, context, options, name);
}
+ options.version = Version.V11;
+ super.generate(options.minSdk < 11 ? options.version.getDisplayName() : null,
+ categoryMap, context, options, name);
}
@Override
protected String getIconFolder(Options options) {
String folder = super.getIconFolder(options);
Version version = ((NotificationOptions) options).version;
- if (version == Version.V11) {
+ if (version == Version.V11 && options.minSdk < 11) {
return folder + "-v11"; //$NON-NLS-1$
- } else if (version == Version.V9) {
+ } else if (version == Version.V9 && options.minSdk < 9) {
return folder + "-v9"; //$NON-NLS-1$
} else {
return folder;
diff --git a/assetstudio/src/com/android/assetstudiolib/TabIconGenerator.java b/assetstudio/src/com/android/assetstudiolib/TabIconGenerator.java
index 506aebd..5d8b500 100644
--- a/assetstudio/src/com/android/assetstudiolib/TabIconGenerator.java
+++ b/assetstudio/src/com/android/assetstudiolib/TabIconGenerator.java
@@ -141,19 +141,33 @@ public class TabIconGenerator extends GraphicGenerator {
@Override
public void generate(String category, Map<String, Map<String, BufferedImage>> categoryMap,
- GraphicGeneratorContext context, Options options, String name) {
- TabOptions tabOptions = (TabOptions) options;
+ GraphicGeneratorContext context, Options baseOptions, String name) {
+ TabOptions options = (TabOptions) baseOptions;
// Generate all permutations of tabOptions.selected and tabOptions.oldStyle
- tabOptions.selected = true;
- tabOptions.oldStyle = false;
- super.generate("Selected (v5+)", categoryMap, context, options, name);
- tabOptions.oldStyle = true;
- super.generate("Selected", categoryMap, context, options, name);
- tabOptions.selected = false;
- tabOptions.oldStyle = false;
- super.generate("Unselected (v5+)", categoryMap, context, options, name);
- tabOptions.oldStyle = true;
- super.generate("Unselected", categoryMap, context, options, name);
+ options.selected = true;
+ options.oldStyle = false;
+
+ String selectedLabelV5 = "Selected (v5+)";
+ String unselectedLabelV5 = "Unselected (v5+)";
+ String selectedLabel = "Selected";
+ String unselectedLabel = "Unselected";
+
+ boolean generateOldStyle = options.minSdk < 5;
+ if (generateOldStyle) {
+ options.oldStyle = true;
+ options.selected = true;
+ super.generate(selectedLabel, categoryMap, context, options, name);
+ options.selected = false;
+ super.generate(unselectedLabel, categoryMap, context, options, name);
+ }
+
+ options.oldStyle = false;
+ options.selected = true;
+ super.generate(generateOldStyle ? unselectedLabelV5 : unselectedLabel,
+ categoryMap, context, options, name);
+ options.selected = false;
+ super.generate(generateOldStyle ? selectedLabelV5 : selectedLabel,
+ categoryMap, context, options, name);
}
@Override
@@ -161,7 +175,7 @@ public class TabIconGenerator extends GraphicGenerator {
String folder = super.getIconFolder(options);
TabOptions tabOptions = (TabOptions) options;
- if (tabOptions.oldStyle) {
+ if (tabOptions.oldStyle || options.minSdk >= 5) {
return folder;
} else {
return folder + "-v5"; //$NON-NLS-1$
diff --git a/assetstudio/tests/src/com/android/assetstudiolib/NotificationIconGeneratorTest.java b/assetstudio/tests/src/com/android/assetstudiolib/NotificationIconGeneratorTest.java
index 7ac5634..d65498a 100644
--- a/assetstudio/tests/src/com/android/assetstudiolib/NotificationIconGeneratorTest.java
+++ b/assetstudio/tests/src/com/android/assetstudiolib/NotificationIconGeneratorTest.java
@@ -23,12 +23,18 @@ import java.io.IOException;
@SuppressWarnings("javadoc")
public class NotificationIconGeneratorTest extends GeneratorTest {
private void checkGraphic(String baseName,
- GraphicGenerator.Shape shape) throws IOException {
+ GraphicGenerator.Shape shape, int minSdk, String folderName,
+ int expectedCount) throws IOException {
NotificationOptions options = new NotificationOptions();
options.shape = shape;
+ options.minSdk = minSdk;
NotificationIconGenerator generator = new NotificationIconGenerator();
- checkGraphic(12, "notification", baseName, generator, options);
+ checkGraphic(expectedCount, folderName, baseName, generator, options);
+ }
+
+ private void checkGraphic(String baseName, GraphicGenerator.Shape shape) throws IOException {
+ checkGraphic(baseName, shape, 1, "notification", 12);
}
public void testNotification1() throws Exception {
@@ -38,4 +44,13 @@ public class NotificationIconGeneratorTest extends GeneratorTest {
public void testNotification2() throws Exception {
checkGraphic("ic_stat_square", GraphicGenerator.Shape.SQUARE);
}
+
+ public void testNotification3() throws Exception {
+ checkGraphic("ic_stat_circle", GraphicGenerator.Shape.CIRCLE, 9 /* minSdk*/,
+ "notification-v9+", 8 /*fileCount*/);
+ }
+
+ public void testNotification4() throws Exception {
+ checkGraphic("ic_stat_circle", GraphicGenerator.Shape.CIRCLE, 11, "notification-v11+", 4);
+ }
}
diff --git a/assetstudio/tests/src/com/android/assetstudiolib/TabIconGeneratorTest.java b/assetstudio/tests/src/com/android/assetstudiolib/TabIconGeneratorTest.java
index 4fb4801..4231f54 100644
--- a/assetstudio/tests/src/com/android/assetstudiolib/TabIconGeneratorTest.java
+++ b/assetstudio/tests/src/com/android/assetstudiolib/TabIconGeneratorTest.java
@@ -20,12 +20,19 @@ import java.io.IOException;
@SuppressWarnings("javadoc")
public class TabIconGeneratorTest extends GeneratorTest {
- private void checkGraphic(String baseName) throws IOException {
+ private void checkGraphic(String folderName, String baseName, int minSdk,
+ int expectedFileCount) throws IOException {
TabIconGenerator generator = new TabIconGenerator();
- checkGraphic(16, "tabs", baseName, generator, new TabIconGenerator.TabOptions());
+ TabIconGenerator.TabOptions options = new TabIconGenerator.TabOptions();
+ options.minSdk = minSdk;
+ checkGraphic(expectedFileCount, folderName, baseName, generator, options);
}
public void testTabs1() throws Exception {
- checkGraphic("ic_tab_1");
+ checkGraphic("tabs", "ic_tab_1", 1 /* minSdk */, 16 /* expectedFileCount */);
+ }
+
+ public void testTabs2() throws Exception {
+ checkGraphic("tabs-v5+", "ic_tab_1", 5, 8);
}
}
diff --git a/assetstudio/tests/src/com/android/assetstudiolib/testdata/notification-v11+/res/drawable-hdpi/ic_stat_circle.png b/assetstudio/tests/src/com/android/assetstudiolib/testdata/notification-v11+/res/drawable-hdpi/ic_stat_circle.png
new file mode 100644
index 0000000..daad503
--- /dev/null
+++ b/assetstudio/tests/src/com/android/assetstudiolib/testdata/notification-v11+/res/drawable-hdpi/ic_stat_circle.png
Binary files differ
diff --git a/assetstudio/tests/src/com/android/assetstudiolib/testdata/notification-v11+/res/drawable-ldpi/ic_stat_circle.png b/assetstudio/tests/src/com/android/assetstudiolib/testdata/notification-v11+/res/drawable-ldpi/ic_stat_circle.png
new file mode 100644
index 0000000..228ab60
--- /dev/null
+++ b/assetstudio/tests/src/com/android/assetstudiolib/testdata/notification-v11+/res/drawable-ldpi/ic_stat_circle.png
Binary files differ
diff --git a/assetstudio/tests/src/com/android/assetstudiolib/testdata/notification-v11+/res/drawable-mdpi/ic_stat_circle.png b/assetstudio/tests/src/com/android/assetstudiolib/testdata/notification-v11+/res/drawable-mdpi/ic_stat_circle.png
new file mode 100644
index 0000000..7749b11
--- /dev/null
+++ b/assetstudio/tests/src/com/android/assetstudiolib/testdata/notification-v11+/res/drawable-mdpi/ic_stat_circle.png
Binary files differ
diff --git a/assetstudio/tests/src/com/android/assetstudiolib/testdata/notification-v11+/res/drawable-xhdpi/ic_stat_circle.png b/assetstudio/tests/src/com/android/assetstudiolib/testdata/notification-v11+/res/drawable-xhdpi/ic_stat_circle.png
new file mode 100644
index 0000000..3dbfa96
--- /dev/null
+++ b/assetstudio/tests/src/com/android/assetstudiolib/testdata/notification-v11+/res/drawable-xhdpi/ic_stat_circle.png
Binary files differ
diff --git a/assetstudio/tests/src/com/android/assetstudiolib/testdata/notification-v9+/res/drawable-hdpi-v11/ic_stat_circle.png b/assetstudio/tests/src/com/android/assetstudiolib/testdata/notification-v9+/res/drawable-hdpi-v11/ic_stat_circle.png
new file mode 100644
index 0000000..daad503
--- /dev/null
+++ b/assetstudio/tests/src/com/android/assetstudiolib/testdata/notification-v9+/res/drawable-hdpi-v11/ic_stat_circle.png
Binary files differ
diff --git a/assetstudio/tests/src/com/android/assetstudiolib/testdata/notification-v9+/res/drawable-hdpi/ic_stat_circle.png b/assetstudio/tests/src/com/android/assetstudiolib/testdata/notification-v9+/res/drawable-hdpi/ic_stat_circle.png
new file mode 100644
index 0000000..bdd8598
--- /dev/null
+++ b/assetstudio/tests/src/com/android/assetstudiolib/testdata/notification-v9+/res/drawable-hdpi/ic_stat_circle.png
Binary files differ
diff --git a/assetstudio/tests/src/com/android/assetstudiolib/testdata/notification-v9+/res/drawable-ldpi-v11/ic_stat_circle.png b/assetstudio/tests/src/com/android/assetstudiolib/testdata/notification-v9+/res/drawable-ldpi-v11/ic_stat_circle.png
new file mode 100644
index 0000000..228ab60
--- /dev/null
+++ b/assetstudio/tests/src/com/android/assetstudiolib/testdata/notification-v9+/res/drawable-ldpi-v11/ic_stat_circle.png
Binary files differ
diff --git a/assetstudio/tests/src/com/android/assetstudiolib/testdata/notification-v9+/res/drawable-ldpi/ic_stat_circle.png b/assetstudio/tests/src/com/android/assetstudiolib/testdata/notification-v9+/res/drawable-ldpi/ic_stat_circle.png
new file mode 100644
index 0000000..ea4b105
--- /dev/null
+++ b/assetstudio/tests/src/com/android/assetstudiolib/testdata/notification-v9+/res/drawable-ldpi/ic_stat_circle.png
Binary files differ
diff --git a/assetstudio/tests/src/com/android/assetstudiolib/testdata/notification-v9+/res/drawable-mdpi-v11/ic_stat_circle.png b/assetstudio/tests/src/com/android/assetstudiolib/testdata/notification-v9+/res/drawable-mdpi-v11/ic_stat_circle.png
new file mode 100644
index 0000000..7749b11
--- /dev/null
+++ b/assetstudio/tests/src/com/android/assetstudiolib/testdata/notification-v9+/res/drawable-mdpi-v11/ic_stat_circle.png
Binary files differ
diff --git a/assetstudio/tests/src/com/android/assetstudiolib/testdata/notification-v9+/res/drawable-mdpi/ic_stat_circle.png b/assetstudio/tests/src/com/android/assetstudiolib/testdata/notification-v9+/res/drawable-mdpi/ic_stat_circle.png
new file mode 100644
index 0000000..1956c8e
--- /dev/null
+++ b/assetstudio/tests/src/com/android/assetstudiolib/testdata/notification-v9+/res/drawable-mdpi/ic_stat_circle.png
Binary files differ
diff --git a/assetstudio/tests/src/com/android/assetstudiolib/testdata/notification-v9+/res/drawable-xhdpi-v11/ic_stat_circle.png b/assetstudio/tests/src/com/android/assetstudiolib/testdata/notification-v9+/res/drawable-xhdpi-v11/ic_stat_circle.png
new file mode 100644
index 0000000..3dbfa96
--- /dev/null
+++ b/assetstudio/tests/src/com/android/assetstudiolib/testdata/notification-v9+/res/drawable-xhdpi-v11/ic_stat_circle.png
Binary files differ
diff --git a/assetstudio/tests/src/com/android/assetstudiolib/testdata/notification-v9+/res/drawable-xhdpi/ic_stat_circle.png b/assetstudio/tests/src/com/android/assetstudiolib/testdata/notification-v9+/res/drawable-xhdpi/ic_stat_circle.png
new file mode 100644
index 0000000..8d52ab7
--- /dev/null
+++ b/assetstudio/tests/src/com/android/assetstudiolib/testdata/notification-v9+/res/drawable-xhdpi/ic_stat_circle.png
Binary files differ
diff --git a/assetstudio/tests/src/com/android/assetstudiolib/testdata/tabs-v5+/res/drawable-hdpi/ic_tab_1_selected.png b/assetstudio/tests/src/com/android/assetstudiolib/testdata/tabs-v5+/res/drawable-hdpi/ic_tab_1_selected.png
new file mode 100644
index 0000000..e8e7e71
--- /dev/null
+++ b/assetstudio/tests/src/com/android/assetstudiolib/testdata/tabs-v5+/res/drawable-hdpi/ic_tab_1_selected.png
Binary files differ
diff --git a/assetstudio/tests/src/com/android/assetstudiolib/testdata/tabs-v5+/res/drawable-hdpi/ic_tab_1_unselected.png b/assetstudio/tests/src/com/android/assetstudiolib/testdata/tabs-v5+/res/drawable-hdpi/ic_tab_1_unselected.png
new file mode 100644
index 0000000..8d1ea96
--- /dev/null
+++ b/assetstudio/tests/src/com/android/assetstudiolib/testdata/tabs-v5+/res/drawable-hdpi/ic_tab_1_unselected.png
Binary files differ
diff --git a/assetstudio/tests/src/com/android/assetstudiolib/testdata/tabs-v5+/res/drawable-ldpi/ic_tab_1_selected.png b/assetstudio/tests/src/com/android/assetstudiolib/testdata/tabs-v5+/res/drawable-ldpi/ic_tab_1_selected.png
new file mode 100644
index 0000000..0550dd2
--- /dev/null
+++ b/assetstudio/tests/src/com/android/assetstudiolib/testdata/tabs-v5+/res/drawable-ldpi/ic_tab_1_selected.png
Binary files differ
diff --git a/assetstudio/tests/src/com/android/assetstudiolib/testdata/tabs-v5+/res/drawable-ldpi/ic_tab_1_unselected.png b/assetstudio/tests/src/com/android/assetstudiolib/testdata/tabs-v5+/res/drawable-ldpi/ic_tab_1_unselected.png
new file mode 100644
index 0000000..82f4412
--- /dev/null
+++ b/assetstudio/tests/src/com/android/assetstudiolib/testdata/tabs-v5+/res/drawable-ldpi/ic_tab_1_unselected.png
Binary files differ
diff --git a/assetstudio/tests/src/com/android/assetstudiolib/testdata/tabs-v5+/res/drawable-mdpi/ic_tab_1_selected.png b/assetstudio/tests/src/com/android/assetstudiolib/testdata/tabs-v5+/res/drawable-mdpi/ic_tab_1_selected.png
new file mode 100644
index 0000000..646490f
--- /dev/null
+++ b/assetstudio/tests/src/com/android/assetstudiolib/testdata/tabs-v5+/res/drawable-mdpi/ic_tab_1_selected.png
Binary files differ
diff --git a/assetstudio/tests/src/com/android/assetstudiolib/testdata/tabs-v5+/res/drawable-mdpi/ic_tab_1_unselected.png b/assetstudio/tests/src/com/android/assetstudiolib/testdata/tabs-v5+/res/drawable-mdpi/ic_tab_1_unselected.png
new file mode 100644
index 0000000..c11de02
--- /dev/null
+++ b/assetstudio/tests/src/com/android/assetstudiolib/testdata/tabs-v5+/res/drawable-mdpi/ic_tab_1_unselected.png
Binary files differ
diff --git a/assetstudio/tests/src/com/android/assetstudiolib/testdata/tabs-v5+/res/drawable-xhdpi/ic_tab_1_selected.png b/assetstudio/tests/src/com/android/assetstudiolib/testdata/tabs-v5+/res/drawable-xhdpi/ic_tab_1_selected.png
new file mode 100644
index 0000000..448454b
--- /dev/null
+++ b/assetstudio/tests/src/com/android/assetstudiolib/testdata/tabs-v5+/res/drawable-xhdpi/ic_tab_1_selected.png
Binary files differ
diff --git a/assetstudio/tests/src/com/android/assetstudiolib/testdata/tabs-v5+/res/drawable-xhdpi/ic_tab_1_unselected.png b/assetstudio/tests/src/com/android/assetstudiolib/testdata/tabs-v5+/res/drawable-xhdpi/ic_tab_1_unselected.png
new file mode 100644
index 0000000..52852ee
--- /dev/null
+++ b/assetstudio/tests/src/com/android/assetstudiolib/testdata/tabs-v5+/res/drawable-xhdpi/ic_tab_1_unselected.png
Binary files differ