Wrap tintable icons with correctly tinted drawable XML
Replaces pre-tinted icons with flat black, grayscale versions suitable
for use as alpha masks.
Bug: 20143927
Change-Id: I0bca5dee6fcb273902db174c818cc529a5c13f91
diff --git a/wrap_alpha.py b/wrap_alpha.py
new file mode 100755
index 0000000..53db4eb
--- /dev/null
+++ b/wrap_alpha.py
@@ -0,0 +1,43 @@
+#!/usr/bin/python
+
+import os
+
+# assume everything needs alpha suffixes
+for root, dirs, files in os.walk('.'):
+ if "res/drawable-" not in root: continue
+
+ for before in files:
+ if "_alpha.png" in before: continue
+ if not before.startswith("ic_settings_"): continue
+
+ after = before.replace(".png", "_alpha.png")
+ os.rename(os.path.join(root, before), os.path.join(root, after))
+
+# build xml redirection
+for root, dirs, files in os.walk('.'):
+ if "res/drawable-" not in root: continue
+
+ for src in files:
+ if not src.endswith(".png"): continue
+ src = src[0:-4]
+
+ src_clause = '\n android:src="@drawable/%s"' % (src)
+
+ alpha = src.endswith("_alpha")
+ if alpha:
+ src = src[0:-6]
+ alpha_clause = '\n android:tint="?android:attr/colorAccent"'
+ else:
+ alpha_clause = ''
+
+ am = src.endswith("_am")
+ if am:
+ src = src[0:-3]
+ am_clause = '\n android:autoMirrored="true"'
+ else:
+ am_clause = ''
+
+ with open("res/drawable/%s.xml" % (src), 'w') as xml:
+ xml.write("""<?xml version="1.0" encoding="utf-8"?>
+<bitmap xmlns:android="http://schemas.android.com/apk/res/android"%s%s%s />
+""" % (src_clause, alpha_clause, am_clause))