mirror of
https://github.com/Droid-Deck/DroidDeck.git
synced 2026-11-11 11:01:07 +00:00
* feat: desktop and scrolling wall live wallpapers selectable from Android settings * fix: render the wall wallpaper off the main thread and give it its own thumbnail * fix: serialize wall wallpaper visibility and wait out in-flight draws on surface destroy * fix: restart the wall loop on surface recreation and keep queued visibility changes * fix: keep the wall loop alive across a failed canvas lock and finish redraws before returning * fix: post the wall redraw asynchronously on surface change * fix: redraw the desktop wallpaper logo from the real mark and show game covers on the wall * chore: mount the git dir in build containers and seed new worktrees from the main checkout * fix: decode wall covers as RGB_565 and seed worktree assets only into empty dirs * feat: drop the desktop wallpaper and add frame rate and speed settings to the wall * feat: wall settings over the live wallpaper with a match-screen rate, and drop the center vignette * perf: pace the wall on vsync and draw it on a hardware canvas * fix: stage worktree seed copies and publish them only after they succeed * fix: point the wall settings link at the activity class so the picker shows the gear * fix: dedupe wall covers by app and space repeats like the in-app wall, keep the frame loop alive across surface gaps * fix: show the picker preview behind wall settings and drop the display-rate lookup * fix: stop wall frame callbacks when the surface goes and only replace an empty seed destination * fix: skip a seed when the destination reappears before the staged copy is moved in
34 lines
1.6 KiB
Bash
Executable File
34 lines
1.6 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
repo_root=$(CDPATH= cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)
|
|
cd "${repo_root}"
|
|
"${repo_root}/tools/seed_worktree.sh"
|
|
sdk_dir=${ANDROID_HOME:-${ANDROID_SDK_ROOT:-"${HOME}/Library/Android/sdk"}}
|
|
export ANDROID_HOME=${sdk_dir} ANDROID_SDK_ROOT=${sdk_dir}
|
|
export JAVA_HOME=${JAVA_HOME:-/opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk/Contents/Home}
|
|
out=${1:-"${TMPDIR:-/tmp}/droiddeck-quick-signed.apk"}
|
|
|
|
signing_env=${DROIDDECK_SIGNING_ENV:-}
|
|
if [[ -z "${signing_env}" ]]; then
|
|
for candidate in "${repo_root}/.signing.env" \
|
|
"$(dirname "$(git -C "${repo_root}" rev-parse --path-format=absolute --git-common-dir 2>/dev/null || echo .)")/.signing.env"; do
|
|
[[ -f "${candidate}" ]] && { signing_env=${candidate}; break; }
|
|
done
|
|
fi
|
|
[[ -f "${signing_env}" ]] || { echo "No signing env found; set DROIDDECK_SIGNING_ENV or add .signing.env." >&2; exit 1; }
|
|
|
|
build_tools=
|
|
while IFS= read -r dir; do
|
|
[[ -x "${dir}/aapt" && -x "${dir}/zipalign" && -x "${dir}/apksigner" ]] && { build_tools=${dir}; break; }
|
|
done < <(ls -d "${sdk_dir}"/build-tools/* 2>/dev/null | sort -rV)
|
|
[[ -n "${build_tools}" ]] || { echo "No build-tools with aapt, zipalign and apksigner under ${sdk_dir}." >&2; exit 1; }
|
|
|
|
./gradlew -q -PallowStaleRuntime=true :app:assembleRelease
|
|
(
|
|
cd "$(dirname "${signing_env}")"
|
|
set -a; . "${signing_env}"; set +a
|
|
BUILD_TOOLS=${build_tools} "${repo_root}/tools/release/sign-apk.sh" \
|
|
"${repo_root}/app/build/outputs/apk/release/app-release.apk" standard "${out}" | tail -1
|
|
)
|
|
"${repo_root}/tools/deploy_local.sh" "${out}" | tail -2
|