diff --git a/.github/workflows/android-build.yml b/.github/workflows/android-build.yml
index bbbff8d..dd4cf19 100644
--- a/.github/workflows/android-build.yml
+++ b/.github/workflows/android-build.yml
@@ -150,6 +150,13 @@ jobs:
echo "NEXDROP_KEYSTORE_PASSWORD=${{ secrets.NEXDROP_KEYSTORE_PASSWORD }}" >> "$GITHUB_ENV"
echo "NEXDROP_KEY_PASSWORD=${{ secrets.NEXDROP_KEY_PASSWORD }}" >> "$GITHUB_ENV"
+ - name: Launcher branding regression gate (official artwork, old-icon detection)
+ working-directory: android
+ run: |
+ set -eu
+ cd "$GITHUB_WORKSPACE"
+ npm exec --yes --package=tsx@4.20.5 -- tsx tests/branding.test.ts
+
- name: Build :app SIGNED release APK (production signing pipeline)
working-directory: android
run: ./gradlew --no-daemon --stacktrace :app:assembleRelease
diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts
index 63f80e4..8e65be7 100644
--- a/android/app/build.gradle.kts
+++ b/android/app/build.gradle.kts
@@ -20,11 +20,11 @@ android {
targetSdk = 34
// Production release (mission 2026-10-04 §14): production label/icons,
// release build in CI. Debug APK stays available for engineering.
- versionCode = 17
+ versionCode = 18
// maintenance: recovered-transfer result-average scope fix (display
// telemetry only — wire protocol, durability, resume, SHA-256 and
// performance byte-identical to 1.4.2)
- versionName = "1.4.4"
+ versionName = "1.4.5"
// v1.5 Phase C: instrumented preview tests (PreviewInstrumentedTest)
// run on the CI emulator via :app:connectedDebugAndroidTest.
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
diff --git a/android/app/src/main/assets_src/logo/nexdrop-logo-full.png b/android/app/src/main/assets_src/logo/nexdrop-logo-full.png
index 4593793..4f06cc9 100644
Binary files a/android/app/src/main/assets_src/logo/nexdrop-logo-full.png and b/android/app/src/main/assets_src/logo/nexdrop-logo-full.png differ
diff --git a/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png b/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png
index c1f5b99..fe00a61 100644
Binary files a/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png and b/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png differ
diff --git a/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png b/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png
index 5f4d88f..2b4b472 100644
Binary files a/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png and b/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png differ
diff --git a/android/app/src/main/res/drawable-nodpi/logo_mark.webp b/android/app/src/main/res/drawable-nodpi/logo_mark.webp
index f512c9b..9944f74 100644
Binary files a/android/app/src/main/res/drawable-nodpi/logo_mark.webp and b/android/app/src/main/res/drawable-nodpi/logo_mark.webp differ
diff --git a/android/app/src/main/res/drawable-nodpi/welcome_hero.webp b/android/app/src/main/res/drawable-nodpi/welcome_hero.webp
index 9f3b2d3..e3a6b0b 100644
Binary files a/android/app/src/main/res/drawable-nodpi/welcome_hero.webp and b/android/app/src/main/res/drawable-nodpi/welcome_hero.webp differ
diff --git a/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png b/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png
index 295fcfb..1bd4570 100644
Binary files a/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png and b/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png differ
diff --git a/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png b/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png
index 2c33951..ec65a6e 100644
Binary files a/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png and b/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png differ
diff --git a/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.png b/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.png
index 5396c19..735fd2e 100644
Binary files a/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.png and b/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.png differ
diff --git a/android/app/src/main/res/values/colors.xml b/android/app/src/main/res/values/colors.xml
index 51c7fba..788bd06 100644
--- a/android/app/src/main/res/values/colors.xml
+++ b/android/app/src/main/res/values/colors.xml
@@ -18,5 +18,5 @@
#B91C1C
#0B1220
- #070A10
+ #FFFFFF
diff --git a/package.json b/package.json
index 9a2e86e..c11ab8f 100644
--- a/package.json
+++ b/package.json
@@ -8,7 +8,7 @@
"build": "next build",
"lint": "eslint .",
"typecheck": "tsc --noEmit",
- "test": "tsx tests/core.test.ts && tsx tests/integrity.test.ts && tsx tests/detach.test.ts && tsx tests/writers.test.ts && tsx tests/writeraccount.test.ts && tsx tests/coalesce.test.ts && tsx tests/compact-pairing.test.ts && tsx tests/qr-pairing.test.ts && tsx tests/signal-pairing.test.ts && tsx tests/send-flow.test.ts && tsx tests/devicetest.test.ts && tsx tests/devicetest-ui.test.ts && tsx tests/performance.test.ts && tsx tests/cellular.test.ts && tsx tests/ackpipeline.test.ts && tsx tests/hashtest.test.ts && tsx tests/controller.test.ts && tsx tests/pacer.test.ts && tsx tests/transport-select.test.ts && tsx tests/tab-routing.test.ts && tsx tests/turbo.test.ts",
+ "test": "tsx tests/branding.test.ts && tsx tests/core.test.ts && tsx tests/integrity.test.ts && tsx tests/detach.test.ts && tsx tests/writers.test.ts && tsx tests/writeraccount.test.ts && tsx tests/coalesce.test.ts && tsx tests/compact-pairing.test.ts && tsx tests/qr-pairing.test.ts && tsx tests/signal-pairing.test.ts && tsx tests/send-flow.test.ts && tsx tests/devicetest.test.ts && tsx tests/devicetest-ui.test.ts && tsx tests/performance.test.ts && tsx tests/cellular.test.ts && tsx tests/ackpipeline.test.ts && tsx tests/hashtest.test.ts && tsx tests/controller.test.ts && tsx tests/pacer.test.ts && tsx tests/transport-select.test.ts && tsx tests/tab-routing.test.ts && tsx tests/turbo.test.ts",
"test:e2e:send-first": "tsx tests/e2e/send-first.test.ts"
},
"dependencies": {
diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png
index c840bbf..b389ffb 100644
Binary files a/public/apple-touch-icon.png and b/public/apple-touch-icon.png differ
diff --git a/public/icons/icon-192.png b/public/icons/icon-192.png
index 441dcc3..a3851e3 100644
Binary files a/public/icons/icon-192.png and b/public/icons/icon-192.png differ
diff --git a/public/icons/icon-512.png b/public/icons/icon-512.png
index 1ab45e7..818ac98 100644
Binary files a/public/icons/icon-512.png and b/public/icons/icon-512.png differ
diff --git a/public/icons/icon-maskable-512.png b/public/icons/icon-maskable-512.png
index 2510ec6..db5bebc 100644
Binary files a/public/icons/icon-maskable-512.png and b/public/icons/icon-maskable-512.png differ
diff --git a/public/icons/icon.svg b/public/icons/icon.svg
index 07ef66c..6842f5f 100644
--- a/public/icons/icon.svg
+++ b/public/icons/icon.svg
@@ -1,50 +1,6 @@
-