aboutsummaryrefslogtreecommitdiff
path: root/scripts/download_apks.sh
blob: e494b9e48fbcf5864eebf41091b09f25d8613591 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#!/bin/bash

if [ "$#" -ne 1 ]; then
	echo "[x] Incorrect arguments!"
	echo "     Using: $0 <TMP_DIR>"
	exit 1
fi

source .config

TMP_DIR=$1
APK_RES_DIR="$TMP_DIR/res/apks"

FDROID_PACKAGES=(
	"org.fossify.math"
	"org.fossify.clock"
	"org.fossify.contacts"
	"org.fossify.filemanager"
	"org.fossify.gallery"
	"org.fossify.messages"
	"org.fossify.phone"
	"org.fossify.voicerecorder"
	"org.fossify.musicplayer"
	"org.fossify.calendar"
)

normalize_package_name() {
	local package_name=$1
	local dots=$(echo "${package_name}" | grep -o "\." | wc -l)
	echo "${package_name}" | tr "." "\n" | sed -e "1,${dots}d" -e "s/\b\(.\)/\u\1/g"
}

fdroid_download_package() {
	local package_name=$1
	local output_dir=$2
	local version=$(curl -s "https://f-droid.org/api/v1/packages/${package_name}" | jq -r '.suggestedVersionCode')
	local normalized_pkg_name=$(normalize_package_name ${package_name})

	wget -q -O "$output_dir/${normalized_pkg_name}.apk" https://f-droid.org/repo/${package_name}_${version}.apk 
	echo -e "\t[+] $package_name"
}

mkdir -p "$TMP_DIR/res/apks" \
		"$TMP_DIR/res/apks/apps" \
		"$TMP_DIR/res/apks/priv-apps" \
		"$TMP_DIR/res/apks/preload-apps" 

if [[ $INSTALL_FDROID == 1 ]]; then
	echo "[i] Downloading F-Droid"
	fdroid_download_package "org.fdroid.fdroid.privileged" "$APK_RES_DIR/priv-apps"
	fdroid_download_package "org.fdroid.fdroid" "$APK_RES_DIR/apps"
	echo "[i] Done"
fi

wait 

if [[ $INSTALL_RECOMMENDED_FOSS_APPS == 1 ]]; then
	echo "[i] Downloading recommended apps"
	fdroid_download_package "org.fossify.phone" "$APK_RES_DIR/priv-apps"
	for pkg in "${FDROID_PACKAGES[@]}"; do
		fdroid_download_package "${pkg}" "$APK_RES_DIR/apps" &
	done
	wait
	echo "[i] Done"
fi