From 54a646bd93306b31f64d169f72b8fea4205b10c8 Mon Sep 17 00:00:00 2001 From: Izzy Date: Mon, 17 Jul 2017 00:54:33 +0200 Subject: [PATCH] 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"). --- fdroidserver/update.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/fdroidserver/update.py b/fdroidserver/update.py index f463b55d..0892e810 100644 --- a/fdroidserver/update.py +++ b/fdroidserver/update.py @@ -1391,9 +1391,12 @@ def extract_apk_icons(icon_filename, apk, apkzip, repo_dir): png = os.path.basename(icon_src)[:-4] + '.png' for f in apkzip.namelist(): if f.endswith(png): - m = re.match(r'res/drawable-(x*[hlm]dpi).*/', f) - if m and screen_resolutions[m.group(1)] == density: + m = re.match(r'res/(drawable|mipmap)-(x*[hlm]dpi).*/', f) + if m and screen_resolutions[m.group(2)] == density: icon_src = f + if icon_src.endswith('.xml'): + empty_densities.append(density) + continue try: with open(icon_dest, 'wb') as f: f.write(get_icon_bytes(apkzip, icon_src)) -- 2.30.2