Home & apps
Home and lifecycle handling, real apps through PackageManager, a Dock with six favourites plus Apps and Settings, and a Drawer with accent-insensitive Vietnamese search.
Technical review · TN Launcher
A closer look at an Android launcher rebuild, its verified functionality, vendor integration boundaries and the checks still needed before testing on a vehicle.
This is a read-only planning review. No code changes, commits, pushes or physical-device operations were carried out during the review.
Explore the project status
Project reference
The project
TN Launcher, package vn.tnlauncher.app, is a replacement launcher for Wincavn LIMO GREEN SID 170+ PRO on the VinFast Limo Green, running Android 10/API 29.
The current phase is functional reconstruction. Full feature parity remains incomplete, and the iPadOS-style Figma phase is NOT_READY and has not begun.
Analyse the original APK, reconstruct functionality, develop the Figma design, test on Android 10, then move to a physical device only with permission.
Eleven Project Knowledge files were received, GitHub was synchronised and the Knowledge Graph was checked as part of this review.
Feature coverage
Completed features are marked IMPLEMENTED and EMULATOR_VERIFIED in Codex's test reports. Those tests were not rerun during this review.
Home and lifecycle handling, real apps through PackageManager, a Dock with six favourites plus Apps and Settings, and a Drawer with accent-insensitive Vietnamese search.
Persistence and recovery, settings and themes, SAF and live wallpapers, icons and typography are implemented. Home folders, app information and system-confirmed app removal are also covered.
A real widget host on a separate screen, global search, Wi-Fi and date settings, and a clock updated each minute. V-01 provides safe degradation when vendor integration is absent or denied.
Native Android gaps include dragging and resizing widgets directly on Home, plus folders in the Dock. CORE-11 third-party shortcuts, UI-05 skin plugins, V-14 projection and V-15 voice have not started.
CAM-02/03/04, V-05, V-06, RADIO-01, AUDIO-01, NAV-01/02, DISPLAY-01, BOOT-01 and V-16 remain BLOCKED. The twelve manual vendor entries are only STATIC_VERIFIED.
Integration boundaries
All vendor contracts remain STATIC_VERIFIED. An Activity opening does not establish that playback, cameras or vehicle data work, or that calling a vendor interface is safe.
RemoteTools → com.syu.ms.toolkit uses IRemoteToolkit transaction 1, IRemoteModule transactions 1-4 and IModuleCallback. Modules 0, 1, 4 and 7 have HIGH confidence.
No UID/signature-check evidence was identified. This does not establish ordinary-app access or safety: register has side effects, and cmd has no acknowledgement.
GPIO/UEvent or CAN feeds mask main134; fourcamera2 owns a type 2008 window. Gaps remain in FOURCAMERA2_BROADCAST_*: the .fullscreen action differs from the Launcher branch, and no inbound receiver was found.
Module7/update1049 maps gears as 1D/2N/3R/4P. The active producer, units and freshness are unknown. Speed branches use GPS × 3.6 or CAN ÷ 10, depending on a flag.
MUSIC sends snapshots and BTAV sends partial patches to the default HOME. Sender authentication and background-service restrictions still need to be resolved.
MainActivity waits for callback28 before LaunchNavi → cmd24 → the default map. A direct LaunchNavi call potentially losing a command during cold start is a static inference, not a reproduced result.
libsyu_jni.so was not found in the 34 APKs inspected. It may exist in firmware, so its absence from those APKs does not establish that it is missing altogether.
Architecture & tooling
One app module uses Kotlin, Android Views/ViewBinding, ViewModel/StateFlow, constructor injection and Preferences DataStore with a recovery snapshot.
Technical reference
Repository & knowledge
At review time, main remained at 6a02097a… dated 15/10/2026, 08:38 UTC, with no newer commit than the recorded baseline.
Recent commits include 15dc34f, 4491b15, 03a0a6c and bfbf053. Commits 15dc34f and 6a02097 were pushed by huuthitv2007 with Codex as co-author; the repository owner is huuthitv95.
AGENTS.md, including all 22 items, STATUS.md, EXECPLAN.md, feature-parity-matrix.md, wincavn-integration.md and compatibility-report.md were read in full.
Only the 13-item contents of original-launcher-analysis.md, a 37 KB document, were reviewed. The resource inventory and architecture.md were not opened.
The 365 KB .ua/knowledge-graph.json at 6a02097 contains 321 nodes, 449 edges, eight layers and nine tours, matching the recorded baseline.
All 68/68 LF-normalised contentHash values match the code at HEAD. The graph is consistent with the current code.
Its gitCommitHash still reads 15dc34f and sourceSnapshotNote still says “not committed”. These are stale descriptions, not evidence of a data mismatch. The graph used a bounded manual refresh rather than a stock incremental update.
Important boundary
EMULATOR_GATE_PASSED applies only to the Android scope. There is no DEVICE_VERIFIED or AUTOMOTIVE_VERIFIED status.
Verification
Committed test reports record a passing build, 25/25 unit tests and lint with zero errors and 51 warnings. These results were not independently rerun in this review.
| Profile | Instrumentation | E2E |
|---|---|---|
| 1280×720@160 | 33/33 | 9/9 |
| 1920×1080@320 | 33/33 | 9/9 |
APK 22c3c663…ff763c, 17,544,918 bytes, was not on GitHub, so its actual bytes could not be checked.
SwiftShader at 1920 showed 66.67% jank with p95 of 125 ms. SurfaceFlinger SIGABRT occurred at animation scale 0.0, with the cause unresolved. Vehicle rollback has not been verified.
Next analysis priorities
Further static analysis requires local APKs. The priority is to understand the underlying platform and data contracts before any authorised physical-device work.
Identify the platform/native and factory branches actually in use, including the origin of libsyu_jni.
Resolve the active CAN producer, measurement units and data freshness for V-06.
Clarify the camera broadcast action discrepancy and the unresolved inbound-receiver path.
Alderr & Page · United Arab Emirates
For your business website, we offer elegant mobile-first design, redesigns, WhatsApp integration, contact forms and ongoing maintenance. Plans start at 400 AED.
Explore our website services or tell us what your customers need to find, understand and do.