diff --git a/plinth/clients.py b/plinth/clients.py index 01da5cb63..9cd9a4ffb 100644 --- a/plinth/clients.py +++ b/plinth/clients.py @@ -116,7 +116,7 @@ def _validate_platform_package(platform): def _validate_platform_download(platform): """Validate a platform of type download.""" - assert platform['os'] in enum_values(Desktop_OS) + assert platform['os'] in enum_values(Desktop_OS) + enum_values(Mobile_OS) assert isinstance(platform['url'], (str, Promise)) diff --git a/plinth/modules/wireguard/manifest.py b/plinth/modules/wireguard/manifest.py index 97fb9c05f..2fa8dfb6d 100644 --- a/plinth/modules/wireguard/manifest.py +++ b/plinth/modules/wireguard/manifest.py @@ -25,6 +25,11 @@ clients = [{ 'type': 'package', 'format': 'deb', 'name': 'wireguard' + }, { + 'type': 'download', + 'os': 'android', + 'url': ('https://www.wireguard.com/' + 'install/#android-play-store-direct-apk-file') }, { 'type': 'store', 'os': 'android', diff --git a/plinth/templates/clients.html b/plinth/templates/clients.html index ccd280880..b4466d70f 100644 --- a/plinth/templates/clients.html +++ b/plinth/templates/clients.html @@ -45,20 +45,22 @@ {% for platform in client.platforms %} {% if platform.type == 'download' %} - - - {% with 'theme/icons/'|add:platform.os|add:'.png' as icon %} - - {% if platform.os == 'gnu-linux' %} - {% trans 'GNU/Linux' %} - {% elif platform.os == 'windows' %} - {% trans 'Windows' %} - {% elif platform.os == 'macos' %} - {% trans 'macOS' %} - {% endif %} - {% endwith %} - - + {% if platform.os == 'gnu-linux' or platform.os == 'macos' or platform.os == 'windows' %} + + + {% with 'theme/icons/'|add:platform.os|add:'.png' as icon %} + + {% if platform.os == 'gnu-linux' %} + {% trans 'GNU/Linux' %} + {% elif platform.os == 'windows' %} + {% trans 'Windows' %} + {% elif platform.os == 'macos' %} + {% trans 'macOS' %} + {% endif %} + {% endwith %} + + + {% endif %} {% endif %} {% endfor %} @@ -75,6 +77,16 @@ {{ client.name }} {% for platform in client.platforms %} + {% if platform.type == 'download' and platform.os == 'android' %} + + + {% with 'theme/icons/'|add:platform.os|add:'.png' as icon %} + + {% trans 'Android APK' %} + {% endwith %} + + + {% endif %} {% if platform.type == 'store' and platform.os == 'android' or platform.os == 'ios' %} diff --git a/static/themes/default/icons/android.png b/static/themes/default/icons/android.png new file mode 100644 index 000000000..c64703ec7 Binary files /dev/null and b/static/themes/default/icons/android.png differ