mirror of
https://gitlab.com/fdroid/fdroidserver.git
synced 2024-11-09 00:40:11 +01:00
update: do not crash on android-26+ XML icon
For example: res/drawable-v26/icon.xml Here's the full range of possibilities, we have a lot of work to do: $ for f in */*.apk; do unzip -l $f |grep -F icon.| grep -Eo 'res/drawable[^/]*'; done | sort -u res/drawable res/drawable-anydpi-v21 res/drawable-anydpi-v26 res/drawable-hdpi res/drawable-hdpi-v11 res/drawable-hdpi-v12 res/drawable-hdpi-v4 res/drawable-hdpi-v5 res/drawable-hdpi-v6 res/drawable-hdpi-v9 res/drawable-large res/drawable-large-hdpi-v11 res/drawable-large-hdpi-v4 res/drawable-large-ldpi-v4 res/drawable-large-mdpi res/drawable-large-mdpi-v11 res/drawable-large-v4 res/drawable-large-xhdpi-v11 res/drawable-large-xhdpi-v4 res/drawable-large-xxhdpi-v11 res/drawable-large-xxhdpi-v4 res/drawable-ldpi res/drawable-ldpi-v11 res/drawable-ldpi-v4 res/drawable-ldpi-v5 res/drawable-ldpi-v6 res/drawable-ldpi-v9 res/drawable-ldrtl-v17 res/drawable-mdpi res/drawable-mdpi-v11 res/drawable-mdpi-v12 res/drawable-mdpi-v4 res/drawable-mdpi-v5 res/drawable-mdpi-v6 res/drawable-mdpi-v9 res/drawable-nodpi res/drawable-nodpi-v4 res/drawable-tvdpi-v4 res/drawable-v11 res/drawable-v14 res/drawable-v21 res/drawable-xhdpi res/drawable-xhdpi-v11 res/drawable-xhdpi-v12 res/drawable-xhdpi-v4 res/drawable-xhdpi-v9 res/drawable-xlarge-hdpi res/drawable-xlarge-hdpi-v4 res/drawable-xlarge-mdpi res/drawable-xlarge-mdpi-v4 res/drawable-xlarge-v4 res/drawable-xlarge-xhdpi-v4 res/drawable-xxhdpi res/drawable-xxhdpi-v11 res/drawable-xxhdpi-v21 res/drawable-xxhdpi-v4 res/drawable-xxhdpi-v9 res/drawable-xxxhdpi res/drawable-xxxhdpi-v11 res/drawable-xxxhdpi-v4
This commit is contained in:
parent
e89478e529
commit
3b09e5ee08
@ -60,6 +60,7 @@ APK_PERMISSION_PAT = \
|
|||||||
APK_FEATURE_PAT = re.compile(".*name='([^']*)'.*")
|
APK_FEATURE_PAT = re.compile(".*name='([^']*)'.*")
|
||||||
|
|
||||||
screen_densities = ['65534', '640', '480', '320', '240', '160', '120']
|
screen_densities = ['65534', '640', '480', '320', '240', '160', '120']
|
||||||
|
# resolutions must end with 'dpi'
|
||||||
screen_resolutions = {
|
screen_resolutions = {
|
||||||
"xxxhdpi": '640',
|
"xxxhdpi": '640',
|
||||||
"xxhdpi": '480',
|
"xxhdpi": '480',
|
||||||
@ -67,7 +68,7 @@ screen_resolutions = {
|
|||||||
"hdpi": '240',
|
"hdpi": '240',
|
||||||
"mdpi": '160',
|
"mdpi": '160',
|
||||||
"ldpi": '120',
|
"ldpi": '120',
|
||||||
"undefined": '-1',
|
"undefineddpi": '-1',
|
||||||
"anydpi": '65534',
|
"anydpi": '65534',
|
||||||
"nodpi": '65535'
|
"nodpi": '65535'
|
||||||
}
|
}
|
||||||
@ -1090,7 +1091,7 @@ def _get_apk_icons_src(apkfile, icon_name):
|
|||||||
m = density_re.match(filename)
|
m = density_re.match(filename)
|
||||||
if m:
|
if m:
|
||||||
folder = m.group(1).split('-')
|
folder = m.group(1).split('-')
|
||||||
if len(folder) > 1:
|
if len(folder) > 1 and folder[1].endswith('dpi'):
|
||||||
density = screen_resolutions[folder[1]]
|
density = screen_resolutions[folder[1]]
|
||||||
else:
|
else:
|
||||||
density = '160'
|
density = '160'
|
||||||
|
Loading…
Reference in New Issue
Block a user