You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore: bump version to 1.2.1 (#22)
* docs: document the develop/main branching workflow (#12)
Explains the new branch protection setup — develop as the default
working branch, main as the protected release branch reachable only
via PR from develop with passing CI.
* docs: split README reference sections into docs/ (#13)
Moves Architecture, Project Structure, Battery Optimization,
Permissions, and Hardware Compatibility out of the README into their
own docs/ files, mirroring the existing docs/TOOLS.md pattern. The
README keeps a short summary + link for each so it stays a fast
on-ramp instead of the single source of truth for implementation
detail. Updates the FAQ cross-references and the bug report template
to point at the new files.
* docs: soften detection claims, add download CTA and Obtainium install (#14)
- Feature tables now say "flags possible X" instead of "detects X" for
heuristic security checks (IMSI catcher, tracker, deauth, hidden
camera, RF bug sweeper) — these can false-positive/miss, and the
disclaimer already says so; the feature copy should match.
- Adds a prominent "Download Latest Release" button under the badges.
- Adds Obtainium install instructions to Download & Build.
* docs: add demo GIF with SSIDs/MAC addresses redacted (#17)
Real live scan of WiFi Analyzer, BLE Scanner, and Sensor Dashboard,
but the network/device list regions are blurred throughout — the
first version of this exposed real neighbor SSIDs and router MAC
addresses (one SSID contained what looked like a real person's name)
and was removed from develop's history. This version keeps the real
functionality (network counts, channel chart, live sensor readings)
visible while redacting anything identifying.
* Release: branching docs, README split, promotion fixes, demo GIF (#18) (#19)
* docs: document the develop/main branching workflow (#12)
Explains the new branch protection setup — develop as the default
working branch, main as the protected release branch reachable only
via PR from develop with passing CI.
* docs: split README reference sections into docs/ (#13)
Moves Architecture, Project Structure, Battery Optimization,
Permissions, and Hardware Compatibility out of the README into their
own docs/ files, mirroring the existing docs/TOOLS.md pattern. The
README keeps a short summary + link for each so it stays a fast
on-ramp instead of the single source of truth for implementation
detail. Updates the FAQ cross-references and the bug report template
to point at the new files.
* docs: soften detection claims, add download CTA and Obtainium install (#14)
- Feature tables now say "flags possible X" instead of "detects X" for
heuristic security checks (IMSI catcher, tracker, deauth, hidden
camera, RF bug sweeper) — these can false-positive/miss, and the
disclaimer already says so; the feature copy should match.
- Adds a prominent "Download Latest Release" button under the badges.
- Adds Obtainium install instructions to Download & Build.
* docs: add demo GIF with SSIDs/MAC addresses redacted (#17)
Real live scan of WiFi Analyzer, BLE Scanner, and Sensor Dashboard,
but the network/device list regions are blurred throughout — the
first version of this exposed real neighbor SSIDs and router MAC
addresses (one SSID contained what looked like a real person's name)
and was removed from develop's history. This version keeps the real
functionality (network counts, channel chart, live sensor readings)
visible while redacting anything identifying.
* Release: branching docs, README split, promotion fixes, demo GIF (#18) (#20)
* docs: document the develop/main branching workflow (#12)
Explains the new branch protection setup — develop as the default
working branch, main as the protected release branch reachable only
via PR from develop with passing CI.
* docs: split README reference sections into docs/ (#13)
Moves Architecture, Project Structure, Battery Optimization,
Permissions, and Hardware Compatibility out of the README into their
own docs/ files, mirroring the existing docs/TOOLS.md pattern. The
README keeps a short summary + link for each so it stays a fast
on-ramp instead of the single source of truth for implementation
detail. Updates the FAQ cross-references and the bug report template
to point at the new files.
* docs: soften detection claims, add download CTA and Obtainium install (#14)
- Feature tables now say "flags possible X" instead of "detects X" for
heuristic security checks (IMSI catcher, tracker, deauth, hidden
camera, RF bug sweeper) — these can false-positive/miss, and the
disclaimer already says so; the feature copy should match.
- Adds a prominent "Download Latest Release" button under the badges.
- Adds Obtainium install instructions to Download & Build.
* docs: add demo GIF with SSIDs/MAC addresses redacted (#17)
Real live scan of WiFi Analyzer, BLE Scanner, and Sensor Dashboard,
but the network/device list regions are blurred throughout — the
first version of this exposed real neighbor SSIDs and router MAC
addresses (one SSID contained what looked like a real person's name)
and was removed from develop's history. This version keeps the real
functionality (network counts, channel chart, live sensor readings)
visible while redacting anything identifying.
* fix: audit and repair core tools across the app
BLE Scanner:
- show real device names via scanRecord (not just paired-device cache)
- fix bookmark toggle not reflecting in UI during/after scan
- redesign device list layout to stop character-by-character text wrap
GPS Tracker:
- sort satellites by fix usage then signal strength
- add real satellite name lookup (GPS/Galileo/QZSS/IRNSS) and carrier frequency/band display
- fix list layout wrap issues
IR Remote:
- hide interactive remote UI entirely when no IR hardware is present
Permission gating:
- add missing PermissionGate to UWB, Wi-Fi Aware, and USB Camera screens
USB device access:
- add UsbConnectionManager for proper requestPermission/openDevice/claimInterface flow
- wire Connect/Disconnect UI into SDR and USB Camera screens
Wardriving:
- move scan collection into the foreground service so it survives in-app navigation
- fix CSV export failing on large sessions via FileProvider + EXTRA_STREAM
- redesign record list to lead with geo/time data instead of duplicating WiFi Analyzer's fields
Cell Tower Monitor:
- reset analyzer state on each new monitoring session (was carrying stale baseline across restarts)
- filter 3GPP "unavailable" sentinel values out of LAC/CID
- add PCI, RSRQ, SNR, timing-advance distance estimate, bandwidth, and carrier name (MCC/MNC lookup table)
- redesign screen with neighbor cell list and signal timeline chart
GPS Spoof Detector:
- read altitude/speed/satellite count from structured fields instead of regex-parsing check text
Network Scanner:
- widen host discovery from 5 probe ports to the full scan port set (was missing most non-server devices)
Signal Logger:
- fix RSSI text wrapping character-by-character down the screen edge
EMF Mapper:
- add gauge overflow indicator for readings above the 200uT dial max
- smooth baseline calibration over ~10 samples instead of locking to a single first reading
- add visible labels to reset/clear icon buttons
* fix: sign release builds with a stable keystore instead of shipping debug APKs
GitHub Releases were shipping renamed assembleDebug output, since the release
buildType had isMinifyEnabled but no signingConfig at all. Android Studio's debug
keystore is machine-specific and regenerates on reset, so any two debug builds can
carry different signing identities -- installing one over an existing install (or a
fresh download hitting a stale prior install) fails with "package conflicts with an
existing package".
- add a release signingConfig sourced from keystore.properties (local, gitignored)
or RELEASE_* environment variables (CI secrets), applied only when configured so
assembleDebug/lint/test and unconfigured assembleRelease builds are unaffected
- gitignore keystore.properties and *.jks/*.keystore
- add RELEASING.md documenting keystore generation and both local and CI signing
- add a release workflow that builds, signs, and uploads a proper *-release.apk to
GitHub Releases on version tags, replacing the manual debug-APK upload process
Verified end-to-end with a throwaway local keystore: assembleRelease produces an APK
signed with the configured identity (confirmed via apksigner), and assembleDebug/test
still pass with no keystore configured.
* chore: bump version to 1.2.0 (versionCode 3)
* fix: fail release CI clearly when the keystore secret is bad
The v1.2.0 release run failed deep inside packageRelease with a cryptic
KeytoolException because RELEASE_STORE_FILE_BASE64 decoded to a corrupted
keystore. Verify the decoded keystore right after decoding so a bad secret
fails fast with an actionable message instead of a Gradle stack trace.
* fix: guard CellIdentityLte#getBandwidth behind API 28 check
getBandwidth() was added in API 28 but minSdk is 26, so lint correctly
flagged this as a NewApi violation blocking the required CI build check.
* chore: bump version to 1.2.1 (versionCode 4)
v1.2.0's release build never succeeded (broken keystore secret), so
re-cutting as 1.2.1 rather than reusing/moving the existing v1.2.0 tag.