https://github.com/korsumaki/wifi-radar
Wifi Radar is application which create map based on Wifi signal strength
https://github.com/korsumaki/wifi-radar
android compose kotlin kotlin-android wifi
Last synced: 22 days ago
JSON representation
Wifi Radar is application which create map based on Wifi signal strength
- Host: GitHub
- URL: https://github.com/korsumaki/wifi-radar
- Owner: korsumaki
- License: mit
- Created: 2022-09-30T18:45:42.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-03-25T18:34:54.000Z (about 1 year ago)
- Last Synced: 2024-03-26T19:23:16.552Z (about 1 year ago)
- Topics: android, compose, kotlin, kotlin-android, wifi
- Language: Kotlin
- Homepage: https://korsumaki.github.io/wifi-radar
- Size: 487 KB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
- awesome-list - korsumaki/wifi-radar - Wifi Radar is application which create map based on Wifi signal strength (Kotlin)
README
# Wifi Radar

[](https://github.com/korsumaki/wifi-radar/actions/workflows/main.yml)


Wifi Radar is (experimental) application to scan WiFi access points and create map about those.
Other purpose for this application is to learn more Kotlin, Jetpack Compose and Android application development.
## Documentation
Development related instructions are in this README.md file.
Algorithm descriptions etc. are in [docs/index.md](docs/index.md) file, which is also public web page for this app.
## Crashlytics setup
[Crashlytics](https://firebase.google.com/products/crashlytics) could help investigating possible crash bugs.
There are two options, with or without Crashlytics. Both options require some preparations.
Build with Crashlytics:
- Create own Crashlytics project
- get `google-services.json` from Crashlytics and add it to `app` directoryBuild without Crashlytics:
- Comment out following two lines from `plugin` section from `app/build.gradle`id 'com.google.gms.google-services'
id 'com.google.firebase.crashlytics'## Compile and install
Create `keystore.properties` file to project root to contain keystore parameters.
storePassword=MyKeyStorePassword
keyPassword=MyKeyPassword
keyAlias=upload
storeFile=MyKeyStoreFileBuild release apk file
./gradlew clean test assembleRelease
Or Build bundle files
./gradlew clean test bundle
## TODO list
Here is list of ideas what to do
- Functionality
- calculation in coroutine?
- Canvas
- add automatic centering and scaling (pinch zoom?)
- BT scanning
- more advanced methods for getting distance
- https://developer.android.com/guide/topics/connectivity/wifi-rtt
- https://github.com/Plinzen/android-rttmanager-sample
- simulation mode (if no permissions or if user want to just learn possibilities)
- storing should work also over configuration changes (orientation changes)
- pinch zoom
- better file write and read, feasible for end user use
- smart scanning when OS prevent to scan too often (notice OS initiated scans)- Application
- support for different languages (en, fi)
- https://developer.android.com/guide/topics/resources/localization
- publish to play store
- compose testing?
- https://developer.android.com/jetpack/compose/testing