#!/bin/bash set -euxo pipefail cd "$(dirname "$0")/.." color="#f37736" function export_mipmap_icon() { source="$1" name="$2" size="$3" dpi="$4" inkscape "$source" -o "android/app/src/main/res/mipmap-${dpi}dpi/$name.png" -w "$size" -h "$size" } function export_mipmap_icon_all() { source="$1" name="$2" export_mipmap_icon "$source" "$name" 72 h & export_mipmap_icon "$source" "$name" 48 m & export_mipmap_icon "$source" "$name" 96 xh & export_mipmap_icon "$source" "$name" 144 xxh & export_mipmap_icon "$source" "$name" 192 xxxh & wait } function copy_nextcloud_app_svg() { id="$1" path="$2" target="packages/neon/assets/apps/$id.svg" if [ -f "$path/img/app.svg" ]; then cp "$path/img/app.svg" "$target" elif [ -f "$path/img/$id.svg" ]; then cp "$path/img/$id.svg" "$target" else echo "Can not find icon for $id in $path" exit 1 fi sed -i "s/fill=\"[^\"]*\"/fill=\"$color\"/g" "$target" } rm -rf /tmp/nextcloud-neon mkdir -p /tmp/nextcloud-neon copy_nextcloud_app_svg files external/nextcloud-server/apps/files copy_nextcloud_app_svg news external/nextcloud-news copy_nextcloud_app_svg notes external/nextcloud-notes copy_nextcloud_app_svg notifications external/nextcloud-notifications ( cd packages/neon # Nextcloud logo wget https://raw.githubusercontent.com/nextcloud/promo/master/nextcloud-logo-inverted.svg -O assets/logo_nextcloud.svg # Neon logo wget https://raw.githubusercontent.com/Templarian/MaterialDesign/master/svg/cable-data.svg -O assets/logo_neon.svg sed -i "s/<path /<path fill=\"$color\" /g" assets/logo_neon.svg # Splash screens inkscape assets/logo_neon.svg -o assets/splash_icon.png -w 768 -h 768 # 768px at xxxhdpi is 192dp convert -size 1152x1152 xc:none assets/splash_icon.png -gravity center -composite assets/splash_icon_android_12.png # 1152px at xxxhdpi is 288dp exiftool -overwrite_original -all= assets/splash_icon_android_12.png # To remove timestamps # Android launcher icons export_mipmap_icon_all "assets/logo_neon.svg" "ic_launcher" & export_mipmap_icon_all "assets/apps/files.svg" "app_files" & export_mipmap_icon_all "assets/apps/news.svg" "app_news" & export_mipmap_icon_all "assets/apps/notes.svg" "app_notes" & export_mipmap_icon_all "assets/apps/notifications.svg" "app_notifications" & wait fvm dart run build_runner build --delete-conflicting-outputs fvm dart run flutter_native_splash:create fvm flutter gen-l10n ../../tool/format.sh rm assets/splash_icon.png assets/splash_icon_android_12.png ) ( cd packages/file_icons fvm dart run )