mirror of
https://github.com/Droid-Deck/DroidDeck.git
synced 2026-11-11 02:51:10 +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
42 lines
1.8 KiB
Bash
Executable File
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
|