Wraps reference/sp404-layers as a sideloadable APK without editing the reference, which stays the frozen spec for the Phase 2 React port. - sync-www.sh builds www/ from reference/ + native/, asserting each patch anchor so a reference change fails loudly rather than shipping broken - drops the service worker (would serve a stale app after an APK update) - haptics via a navigator.vibrate override, so buzz() needs no change - localStorage mirrored into Preferences; sync load()/save() untouched - hardware back: sheet -> Explore tab -> exit - edge-to-edge handled in MainActivity: Android 16 + targetSdk 36 removes the opt-out, and a WebView never fills env(safe-area-inset-*), so insets are pushed into CSS custom properties instead Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
171 lines
5.5 KiB
XML
171 lines
5.5 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
|
android:width="108dp"
|
|
android:height="108dp"
|
|
android:viewportHeight="108"
|
|
android:viewportWidth="108">
|
|
<path
|
|
android:fillColor="#26A69A"
|
|
android:pathData="M0,0h108v108h-108z" />
|
|
<path
|
|
android:fillColor="#00000000"
|
|
android:pathData="M9,0L9,108"
|
|
android:strokeColor="#33FFFFFF"
|
|
android:strokeWidth="0.8" />
|
|
<path
|
|
android:fillColor="#00000000"
|
|
android:pathData="M19,0L19,108"
|
|
android:strokeColor="#33FFFFFF"
|
|
android:strokeWidth="0.8" />
|
|
<path
|
|
android:fillColor="#00000000"
|
|
android:pathData="M29,0L29,108"
|
|
android:strokeColor="#33FFFFFF"
|
|
android:strokeWidth="0.8" />
|
|
<path
|
|
android:fillColor="#00000000"
|
|
android:pathData="M39,0L39,108"
|
|
android:strokeColor="#33FFFFFF"
|
|
android:strokeWidth="0.8" />
|
|
<path
|
|
android:fillColor="#00000000"
|
|
android:pathData="M49,0L49,108"
|
|
android:strokeColor="#33FFFFFF"
|
|
android:strokeWidth="0.8" />
|
|
<path
|
|
android:fillColor="#00000000"
|
|
android:pathData="M59,0L59,108"
|
|
android:strokeColor="#33FFFFFF"
|
|
android:strokeWidth="0.8" />
|
|
<path
|
|
android:fillColor="#00000000"
|
|
android:pathData="M69,0L69,108"
|
|
android:strokeColor="#33FFFFFF"
|
|
android:strokeWidth="0.8" />
|
|
<path
|
|
android:fillColor="#00000000"
|
|
android:pathData="M79,0L79,108"
|
|
android:strokeColor="#33FFFFFF"
|
|
android:strokeWidth="0.8" />
|
|
<path
|
|
android:fillColor="#00000000"
|
|
android:pathData="M89,0L89,108"
|
|
android:strokeColor="#33FFFFFF"
|
|
android:strokeWidth="0.8" />
|
|
<path
|
|
android:fillColor="#00000000"
|
|
android:pathData="M99,0L99,108"
|
|
android:strokeColor="#33FFFFFF"
|
|
android:strokeWidth="0.8" />
|
|
<path
|
|
android:fillColor="#00000000"
|
|
android:pathData="M0,9L108,9"
|
|
android:strokeColor="#33FFFFFF"
|
|
android:strokeWidth="0.8" />
|
|
<path
|
|
android:fillColor="#00000000"
|
|
android:pathData="M0,19L108,19"
|
|
android:strokeColor="#33FFFFFF"
|
|
android:strokeWidth="0.8" />
|
|
<path
|
|
android:fillColor="#00000000"
|
|
android:pathData="M0,29L108,29"
|
|
android:strokeColor="#33FFFFFF"
|
|
android:strokeWidth="0.8" />
|
|
<path
|
|
android:fillColor="#00000000"
|
|
android:pathData="M0,39L108,39"
|
|
android:strokeColor="#33FFFFFF"
|
|
android:strokeWidth="0.8" />
|
|
<path
|
|
android:fillColor="#00000000"
|
|
android:pathData="M0,49L108,49"
|
|
android:strokeColor="#33FFFFFF"
|
|
android:strokeWidth="0.8" />
|
|
<path
|
|
android:fillColor="#00000000"
|
|
android:pathData="M0,59L108,59"
|
|
android:strokeColor="#33FFFFFF"
|
|
android:strokeWidth="0.8" />
|
|
<path
|
|
android:fillColor="#00000000"
|
|
android:pathData="M0,69L108,69"
|
|
android:strokeColor="#33FFFFFF"
|
|
android:strokeWidth="0.8" />
|
|
<path
|
|
android:fillColor="#00000000"
|
|
android:pathData="M0,79L108,79"
|
|
android:strokeColor="#33FFFFFF"
|
|
android:strokeWidth="0.8" />
|
|
<path
|
|
android:fillColor="#00000000"
|
|
android:pathData="M0,89L108,89"
|
|
android:strokeColor="#33FFFFFF"
|
|
android:strokeWidth="0.8" />
|
|
<path
|
|
android:fillColor="#00000000"
|
|
android:pathData="M0,99L108,99"
|
|
android:strokeColor="#33FFFFFF"
|
|
android:strokeWidth="0.8" />
|
|
<path
|
|
android:fillColor="#00000000"
|
|
android:pathData="M19,29L89,29"
|
|
android:strokeColor="#33FFFFFF"
|
|
android:strokeWidth="0.8" />
|
|
<path
|
|
android:fillColor="#00000000"
|
|
android:pathData="M19,39L89,39"
|
|
android:strokeColor="#33FFFFFF"
|
|
android:strokeWidth="0.8" />
|
|
<path
|
|
android:fillColor="#00000000"
|
|
android:pathData="M19,49L89,49"
|
|
android:strokeColor="#33FFFFFF"
|
|
android:strokeWidth="0.8" />
|
|
<path
|
|
android:fillColor="#00000000"
|
|
android:pathData="M19,59L89,59"
|
|
android:strokeColor="#33FFFFFF"
|
|
android:strokeWidth="0.8" />
|
|
<path
|
|
android:fillColor="#00000000"
|
|
android:pathData="M19,69L89,69"
|
|
android:strokeColor="#33FFFFFF"
|
|
android:strokeWidth="0.8" />
|
|
<path
|
|
android:fillColor="#00000000"
|
|
android:pathData="M19,79L89,79"
|
|
android:strokeColor="#33FFFFFF"
|
|
android:strokeWidth="0.8" />
|
|
<path
|
|
android:fillColor="#00000000"
|
|
android:pathData="M29,19L29,89"
|
|
android:strokeColor="#33FFFFFF"
|
|
android:strokeWidth="0.8" />
|
|
<path
|
|
android:fillColor="#00000000"
|
|
android:pathData="M39,19L39,89"
|
|
android:strokeColor="#33FFFFFF"
|
|
android:strokeWidth="0.8" />
|
|
<path
|
|
android:fillColor="#00000000"
|
|
android:pathData="M49,19L49,89"
|
|
android:strokeColor="#33FFFFFF"
|
|
android:strokeWidth="0.8" />
|
|
<path
|
|
android:fillColor="#00000000"
|
|
android:pathData="M59,19L59,89"
|
|
android:strokeColor="#33FFFFFF"
|
|
android:strokeWidth="0.8" />
|
|
<path
|
|
android:fillColor="#00000000"
|
|
android:pathData="M69,19L69,89"
|
|
android:strokeColor="#33FFFFFF"
|
|
android:strokeWidth="0.8" />
|
|
<path
|
|
android:fillColor="#00000000"
|
|
android:pathData="M79,19L79,89"
|
|
android:strokeColor="#33FFFFFF"
|
|
android:strokeWidth="0.8" />
|
|
</vector>
|