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
This commit is contained in:
43
wrap_alpha.py
Executable file
43
wrap_alpha.py
Executable file
@@ -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))
|
Reference in New Issue
Block a user