#!/bin/bash # Convert app to a different package with different icon and name, # to allow multiple installations on the same device. mydir="$(dirname "$(realpath "$0")")" if [ "$1" = "--name-replace" ]; then replace_name=1 shift else replace_name=0 fi package_add="$1" if ((replace_name)); then name_replace="$2" else name_add="$2" name_replace="SchildiChat.$name_add" fi source "$mydir/merge_helpers.sh" if [ -z "$package_add" ] || [ -z "$name_replace" ]; then echo "Usage: $0 [--name-replace] " exit 1 fi require_clean_git build_gradle="$mydir/vector-app/build.gradle" src_dir="$mydir/vector/src" fastlane_dir="$mydir/fastlane" if grep -q "de.spiritcroc.riotx.$package_add" "$build_gradle"; then echo "Abort, $package_add already active" exit 0 fi logo_replace_color() { local file="$1" local color_shell="$2" local color_shell_dark="$3" local color_bg="$4" # shell color sed -i "s|#8BC34A|$color_shell|gi" "$file" sed -i "s|#33691E|$color_shell_dark|gi" "$file" # bg color sed -i "s|#e2f0d2|$color_bg|gi" "$file" } logo_alternative() { logo_replace_color "$mydir/graphics/ic_launcher_foreground_sc.svg" "$@" logo_replace_color "$mydir/graphics/ic_launcher_sc.svg" "$@" logo_replace_color "$mydir/graphics/feature_image.svg" "$@" logo_replace_color "$mydir/graphics/store_icon.svg" "$@" logo_replace_color "$mydir/vector/src/release/res/drawable/ic_launcher_background_sc.xml" "$@" "$mydir/graphics/icon_gen.sh" } logo_beta() { cp "$mydir/graphics/beta/"* "$mydir/graphics/" "$mydir/graphics/icon_gen.sh" } case "$package_add" in "a") # blue logo_alternative "#2196F3" "#0D47A1" "#BBDEFB" ;; "b") # orange: 900 color recuded in value logo_alternative "#FB8C00" "#7f2c00" "#FFE0B2" ;; "c") # red: 900 color reduced in value logo_alternative "#E53935" "#4c0b0b" "#FFCDD2" ;; "d") # purple logo_alternative "#5E35B1" "#311B92" "#D1C4E9" ;; "e") # pink logo_alternative "#D81B60" "#880E4F" "#F8BBD0" ;; "sf") # green with different background logo_alternative "#8BC34A" "#33691E" "#f2e4ae" ;; "x") # cyan logo_alternative "#00ACC1" "#006064" "#B2EBF2" ;; "z") # white logo_alternative "#ffffff" "#000000" "#eeeeee" ;; esac sed -i "s|\"SchildiChat|\"$name_replace|g" "$build_gradle" sed -i "s|de.spiritcroc.riotx|de.spiritcroc.riotx.$package_add|g" "$build_gradle" `find "$src_dir" -name google-services.json` `find "$src_dir" -name shortcuts.xml` sed -i "s|SchildiChat|$name_replace|g" `find "$fastlane_dir/metadata/android" -name "title.txt"` if [ "$package_add" = "testing.foss" ]; then find "$fastlane_dir" -name full_description.txt -exec cp "$fastlane_dir/../fastlane_alternatives/testing_foss_full_description.txt" '{}' \; find "$fastlane_dir" -name short_description.txt -exec cp "$fastlane_dir/../fastlane_alternatives/testing_foss_short_description.txt" '{}' \; logo_beta elif [ "$package_add" = "testing.fcm" ]; then find "$fastlane_dir" -name full_description.txt -exec cp "$fastlane_dir/../fastlane_alternatives/testing_fcm_full_description.txt" '{}' \; find "$fastlane_dir" -name short_description.txt -exec cp "$fastlane_dir/../fastlane_alternatives/testing_fcm_short_description.txt" '{}' \; logo_beta elif [ "$package_add" = "foss" ]; then find "$fastlane_dir" -name full_description.txt -exec cp "$fastlane_dir/../fastlane_alternatives/foss_full_description.txt" '{}' \; find "$fastlane_dir" -name short_description.txt -exec cp "$fastlane_dir/../fastlane_alternatives/foss_short_description.txt" '{}' \; elif [ "$package_add" = "fcm" ]; then find "$fastlane_dir" -name full_description.txt -exec cp "$fastlane_dir/../fastlane_alternatives/fcm_full_description.txt" '{}' \; find "$fastlane_dir" -name short_description.txt -exec cp "$fastlane_dir/../fastlane_alternatives/fcm_short_description.txt" '{}' \; fi git add -A git commit -m "Switch to alternative $name_replace ($package_add)"