Android app for BLE and NFC packet scanning with hidden camera detection features.
- Scan: Idle state with "Start Scan" and "Scan NFC" buttons (non-functional)
- Detect: Hidden camera detector placeholder with lens check guide, WiFi device list, and magnetometer reading
- History: Tab-based history view (Scans/Devices/Threats) with paywall UI placeholder
- Map: Saved scan location placeholder (no tracking, no logging)
- BLE packet scanning
- NFC tag reading
- Hidden camera detection tools
- Location-tagged scan history
- Dark theme with cyan and purple accents
- Language: Kotlin
- UI: Jetpack Compose + Material3
- Architecture: MVVM with StateFlow
- Min SDK: 31 (Android 12)
- Target SDK: 34 (Android 14)
- Background:
#0B0B14 - Surface:
#1A1A26 - Cyan Accent:
#00D8FF - Purple Accent:
#8B5CF6 - Text Primary:
#FFFFFF - Text Secondary:
#9AA0B4 - Bottom Nav:
#12121E
- Android Studio: Arctic Fox or newer
- JDK: 17 or newer
- Android SDK: API 31+
- Clone the repository
- Open in Android Studio
- Sync Gradle
- Run on device or emulator
# Set Android SDK location (if not in default location)
echo "sdk.dir=/path/to/Android/Sdk" > local.properties
# Build debug APK
./gradlew assembleDebug
# Output: app/build/outputs/apk/debug/app-debug.apkThe app requires:
BLUETOOTH_SCAN- Scan for BLE devicesBLUETOOTH_CONNECT- Connect to BLE devicesACCESS_FINE_LOCATION- Required for BLE scanning on Android 12+NFC- Read NFC tags
All permissions are requested at runtime with rationale dialogs.
app/src/main/java/com/pacmac/packetscope/
├── MainActivity.kt # Entry point with navigation
├── ui/
│ ├── screens/
│ │ ├── ScanScreen.kt # BLE/NFC scanning interface
│ │ ├── MyDevicesScreen.kt # Saved devices list
│ │ └── DetailScreen.kt # Device details view
│ └── theme/
│ ├── Color.kt # App color palette
│ ├── Theme.kt # Material3 theme
│ └── Type.kt # Typography
└── viewmodel/
└── ScannerViewModel.kt # Scanner state management
✅ Completed:
- Project scaffolding
- 4-tab navigation (Scan, Detect, History, Map)
- Dark theme with custom palette
- Permission declarations in manifest
- UI shell for all screens
🚧 TODO:
- Implement BLE scanning
- Implement NFC reading
- Implement camera detection features
- Add packet parsing and display
- Add device persistence
- Implement location tagging
- Add billing integration
Copyright © 2026 PacMac