Files
Kurt Himebauch 430af5e22d feat: desktop and scrolling wall live wallpapers (#2012)
* 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
2026-11-04 11:38:54 -05:00

42 lines
1.8 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
repo_root=$(CDPATH= cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)
common=$(git -C "${repo_root}" rev-parse --path-format=absolute --git-common-dir)
main_root=$(dirname "${common}")
[[ "${main_root}" != "${repo_root}" && -d "${main_root}/app/build" ]] || exit 0
paths=(
app/build/prepared-assets app/build/runtime-inputs.json app/build/runtimeAssets
app/build/packs app/build/localPackAssets app/build/packs-local-aside app/build/quest-inputs
app/build/rustJniLibs app/build/vkbridgeJniLibs
app/src/main/assets/directaudio app/src/main/assets/droiddeck-esync app/src/main/assets/linuxfs
app/src/main/assets/desktop-removal
app/src/main/jniLibs/arm64-v8a
app/src/main/rust/stores/target
)
for path in "${paths[@]}"; do
[[ -e "${main_root}/${path}" ]] || continue
if [[ -d "${main_root}/${path}" ]]; then
[[ -z "$(ls -A "${repo_root}/${path}" 2>/dev/null)" ]] || continue
mkdir -p "$(dirname "${repo_root}/${path}")"
staged=$(mktemp -d "${repo_root}/${path}.seed.XXXXXX")
trap 'rm -rf "${staged}"' EXIT
cp -R "${main_root}/${path}/." "${staged}/"
if [[ -d "${repo_root}/${path}" ]] && ! rmdir "${repo_root}/${path}" 2>/dev/null; then
rm -rf "${staged}"; trap - EXIT; continue
fi
if [[ -e "${repo_root}/${path}" ]]; then
rm -rf "${staged}"; trap - EXIT; continue
fi
mv "${staged}" "${repo_root}/${path}"
trap - EXIT
elif [[ ! -e "${repo_root}/${path}" ]]; then
mkdir -p "$(dirname "${repo_root}/${path}")"
staged=$(mktemp "${repo_root}/${path}.seed.XXXXXX")
trap 'rm -f "${staged}"' EXIT
cp "${main_root}/${path}" "${staged}"
mv "${staged}" "${repo_root}/${path}"
trap - EXIT
fi
done