1
0
mirror of https://gitlab.com/fdroid/fdroidserver.git synced 2024-11-04 22:40:12 +01:00

have fallback for XML icons also consider res/mipmap*

several apps (e.g.
[FastHub](http://apt.qumran.org/fdroid/index/apk/com.fastaccess.github)
and [Monety](http://apt.qumran.org/fdroid/index/apk/open.currency)) have
their ic_launcher.png files not in res/drawable*dpi/, but in
res/mipmap*/ -- so the regex has been adjusted by this patch.

Additionally: if the only icon for a given resolution was an XML without
existing fallback-PNG, it should be considered "non existent" (ie.
"empty_density").
This commit is contained in:
Izzy 2017-07-17 00:54:33 +02:00
parent 6940f9da43
commit 54a646bd93

View File

@ -1391,9 +1391,12 @@ def extract_apk_icons(icon_filename, apk, apkzip, repo_dir):
png = os.path.basename(icon_src)[:-4] + '.png' png = os.path.basename(icon_src)[:-4] + '.png'
for f in apkzip.namelist(): for f in apkzip.namelist():
if f.endswith(png): if f.endswith(png):
m = re.match(r'res/drawable-(x*[hlm]dpi).*/', f) m = re.match(r'res/(drawable|mipmap)-(x*[hlm]dpi).*/', f)
if m and screen_resolutions[m.group(1)] == density: if m and screen_resolutions[m.group(2)] == density:
icon_src = f icon_src = f
if icon_src.endswith('.xml'):
empty_densities.append(density)
continue
try: try:
with open(icon_dest, 'wb') as f: with open(icon_dest, 'wb') as f:
f.write(get_icon_bytes(apkzip, icon_src)) f.write(get_icon_bytes(apkzip, icon_src))