Virtual Printer App ( Beta v1.0.1 )
Pre-release
Pre-release
Project Enhancements Done (April 10 ,2025 - April 21, 2025)
Core Functional Improvements
-
IPP Server:
- Built an IPP stub server using
NanoHTTPDrunning on port 3000. - Implemented request logging and job saving logic.
- Added minimal binary IPP response.
- Saved incoming IPP data with timestamped filenames (and handled EROFS issues).
- Built an IPP stub server using
-
NSD (Network Service Discovery):
- Broadcasted printer as
_ipp._tcpon port 631, but mapped actual traffic to port 3000. - Registered NSD correctly using Android's
NsdManager. - Confirmed visibility using
dns-sd -B _ipp._tcp.
- Broadcasted printer as
💡 Compose UI + Navigation
- Introduced Bottom Navigation with 3 Tabs:
-
🏠 Home – Overview & printer status
-
🖨️ Print – Start/Stop printer + configure name
-
🐞 Debug – View request logs, clear logs
-
- Status updates now persist across navigation tabs via
PrinterViewModel.
| Tab | Preview | Description |
|---|---|---|
| 🏠 Home | ![]() |
Overview & Printer Status |
| Start/Stop Printer + Configure Name | ||
| 🐞 Debug | ![]() |
View Request Logs, Clear Logs |
🧰 Technical Setup Fixes
- Fixed Gradle dependencies in
libs.versions.toml. - Corrected Kotlin Compose compiler setup.
- Ensured consistent Compose Material3 usage and navigation integration.
🛠️ Debugging & Runtime Logging
- Added detailed log capture from IPP server into a Composable view.
- Handled multiple POST requests and displayed captured byte sizes in logs.
Full Changelog: prototype...beta

