- :accesspoints package
- :addnetwork package
- :networkconnection package
- :networkinfo package
- :removenetwork package
- :savednetworks package
- :signal package
- :wifi package
- Mutex Locks
Queries for nearby access points.
- Usage example: MiscViewModel::getNearbyAccessPoints
- Request class: GetAccessPointsQuery
- Result class: GetAccessPointsResult
- Callbacks: GetAccessPointsCallbacks
- API options:
- Synchronous:
fun getAccessPoints(query: GetAccessPointsQuery): GetAccessPointsResult
- Async:
fun getAccessPoints(query: GetAccessPointsQuery, callbacks: GetAccessPointsCallbacks?)
- Coroutine:
suspend fun WisefyApi.getAccessPointsAsync(query: GetAccessPointsQuery): GetAccessPointsResult
- Synchronous:
- Permissions: ACCESS_FINE_LOCATION
- Notes:
- This can be leveraged to search for a single access point with
.first()
/.firstOrNull()
- This can be leveraged for SSIDs with
.map { it.value.SSID }
or.value.SSID
- This can be leveraged for BSSIs with
.map { it.value.BSSID }
or.value.BSSID
- This can be leveraged to search for a single access point with
Adds a network to the saved list of configurations / suggestions.
- Usage example: AddNetworkViewModel::addNetwork
- Request class: AddNetworkRequest
- Result class: AddNetworkResult
- Callbacks: AddNetworkCallbacks
- API options:
- Synchronous:
fun addNetwork(request: AddNetworkRequest): AddNetworkRestult
- Async:
fun addNetwork(request: AddNetworkRequest, callbacks: AddNetworkCallbacks?)
- Coroutine:
suspend fun WisefyApi.addNetworkAsync(request: AddNetworkRequest): AddNetworkResult
- Synchronous:
- Permissions: ACCESS_FINE_LOCATION and CHANGE_WIFI_STATE
- Notes: Currently supports Open and WPA2 network types along with WPA3 starting with Android Q
Opens the internet connectivity panel for the user to manually change the device's current network.
- Usage example: MiscViewModel::changeNetwork
- Request class: ChangeNetworkRequest
- Result class: ChangeNetworkResult
- Callbacks: ChangeNetworkCallbacks
- API options:
- Synchronous:
fun changeNetwork(request: ChangeNetworkRequest): ChangeNetworkResult
- Async:
fun changeNetwork(request: ChangeNetworkRequest, callbacks: ChangeNetworkCallbacks?)
- Coroutine:
suspend fun WisefyApi.changeNetworkAsync(request: ChangeNetworkRequest): ChangeNetworkResult
- Synchronous:
- Permissions: None
- Notes: Requires Android Q / SDK 29
Connects to a network.
- Usage example: None
- Request class: ConnectToNetworkRequest
- Result class: ConnectToNetworkResult
- Callbacks: ConnectToNetworkCallbacks
- API options:
- Synchronous:
fun connectToNetwork(request: ConnectToNetworkRequest): ConnectToNetworkResult
- Async:
fun connectToNetwork(request: ConnectToNetworkRequest, callbacks: ConnectToNetworkCallbacks?)
- Synchronous:
- Permissions: ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE, and ACCESS_NETWORK_STATE
Disconnects from the device's current network.
- Usage example: None
- Request class: DisconnectFromCurrentNetworkRequest
- Result class: DisconnectFromCurrentNetworkResult
- Callbacks: DisconnectFromCurrentNetworkCallbacks
- API options:
- Synchronous:
fun disconnectFromCurrentNetwork(request: DisconnectFromCurrentNetworkRequest): DisconnectFromCurrentNetworkResult
- Async:
fun disconnectFromCurrentNetwork(request: DisconnectFromCurrentNetworkRequest, callbacks: DisconnectFromCurrentNetworkCallbacks?)
- Synchronous:
- Permissions: None
Queries the device's current network.
- Usage example: MiscViewModel::getCurrentNetwork
- Request class: GetCurrentNetworkQuery
- Result class: GetCurrentNetworkResult
- Callbacks: GetCurrentNetworkCallbacks
- API options:
- Synchronous:
fun getCurrentNetwork(query: GetCurrentNetworkQuery): GetCurrentNetworkResult
- Async:
fun getCurrentNetwork(query: GetCurrentNetworkQuery, callbacks: GetCurrentNetworkCallbacks?)
- Coroutine:
suspend fun WisefyApi.getCurrentNetworkAsync(query: GetCurrentNetworkQuery): GetCurrentNetworkResult
- Synchronous:
- Permissions: ACCESS_NETWORK_STATE
Queries the device's network connection status.
- Usage example: MiscViewModel::getNetworkConnectionStatus
- Request class: GetNetworkConnectionStatusQuery
- Result class: GetNetworkConnectionStatusResult
- Callbacks: GetNetworkConnectionStatusCallbacks
- API options:
- Synchronous:
fun getNetworkConnectionStatus(query: GetNetworkConnectionStatusQuery): GetNetworkConnectionStatusResult
- Async:
fun getNetworkConnectionStatus(query: GetNetworkConnectionStatusQuery, callbacks: GetNetworkConnectionStatusCallbacks?)
- Coroutine:
suspend fun WisefyApi.getNetworkConnectionStatusAsync(query: GetNetworkConnectionStatusQuery): GetNetworkConnectionStatusResult
- Synchronous:
- Permissions: ACCESS_NETWORK_STATE
Removes a network from the saved suggestions / configurations.
- Usage example: RemoveNetworkViewModel::removeNetwork
- Request class: RemoveNetworkRequest
- Result class: RemoveNetworkResult
- Callbacks: RemoveNetworkCallbacks
- API options:
- Synchronous:
fun removeNetwork(request: RemoveNetworkRequest): RemoveNetworkResult
- Async:
fun removeNetwork(request: RemoveNetworkRequest, callbacks: RemoveNetworkCallbacks?)
- Coroutine:
suspend fun WisefyApi.removeNetworkAsync(request: RemoveNetworkRequest): RemoveNetworkResult
- Synchronous:
- Permissions: ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE, and CHANGE_WIFI_STATE
Queries the saved networks on a device.
- Usage example: MiscViewModel::getSavedNetworks
- Request class: GetSavedNetworksQuery
- Result class: GetSavedNetworksResult
- Callbacks: GetSavedNetworksCallbacks
- API options:
- Synchronous:
fun getSavedNetworks(query: GetSavedNetworksQuery): GetSavedNetworksResult
- Async:
fun getSavedNetworks(query: GetSavedNetworksQuery, callbacks: GetSavedNetworksCallbacks?)
- Coroutine:
suspend fun WisefyApi.getSavedNetworksAsync(query: GetSavedNetworksQuery): GetSavedNetworksResult
- Synchronous:
- Permissions: ACCESS_FINE_LOCATION and ACCESS_WIFI_STATE
- Notes:
- This can be leveraged to search for a single access point with
.first()
/.firstOrNull()
- This can be leveraged to search for a single access point with
Checks if a specific network is saved.
- Usage example: todo@patches
- Query class: IsNetworkSavedQuery
- Result class: IsNetworkSavedResult
- Callbacks: IsNetworkSavedCallbacks
- API options:
- Synchronous:
fun isNetworkSaved(query: IsNetworkSavedQuery): IsNetworkSavedResult
- Async:
fun isNetworkSaved(query: IsNetworkSavedQuery, callbacks: IsNetworkSavedCallbacks?)
- Coroutine:
suspend fun WisefyApi.isNetworkSavedAsync(query: IsNetworkSavedQuery): IsNetworkSavedResult
- Synchronous:
- Permissions: ACCESS_FINE_LOCATION and ACCESS_WIFI_STATE
Calculates the strength of a network given an RSSI level.
- Usage example: SignalViewModel::calculateSignalLevel
- Request class: CalculateSignalLevelRequest
- Result class: CalculateSignalLevelResult
- API options:
- Synchronous:
fun calculateSignalLevel(request: CalculateSignalLevelRequest): CalculateSignalLevelResult
- Synchronous:
- Permissions: None
Compares the strength of two networks by their respective RSSI levels.
- Usage example: SignalViewModel::compareSignalLevel
- Request class: CompareSignalLevelRequest
- Result class: CompareSignalLevelResult
- API options:
- Synchronous:
fun compareSignalLevel(request: CompareSignalLevelRequest): CompareSignalLevelResult
- Synchronous:
- Permissions: None
Disables Wifi.
- Usage example: MiscViewModel::disableWifi
- Request class: DisableWifiRequest
- Result class: DisableWifiResult
- Callbacks: DisableWifiCallbacks
- API options:
- Synchronous:
fun disableWifi(request: DisableWifiRequest): DisableWifiResult
- Async:
fun disableWifi(request: DisableWifiRequest, callbacks: DisableWifiCallbacks?)
- Coroutine:
suspend fun WisefyApi.disableWifiAsync(request: DisableWifiRequest): DisableWifiResult
- Synchronous:
- Permissions: CHANGE_WIFI_STATE
- Notes:
- Starting at Android Q (SDK 29), this will take the user to the Wifi Settings screen
Enables Wifi.
- Usage example: MiscViewModel::enableWifi
- Request class: EnableWifiRequest
- Result class: EnableWifiResult
- Callbacks: DisableWifiCallbacks
- API options:
- Synchronous:
fun enableWifi(request: EnableWifiRequest): EnableWifiResult
- Async:
fun enableWifi(request: EnableWifiRequest, callbacks: EnableWifiCallbacks?)
- Coroutine:
suspend fun WisefyApi.enableWifiAsync(request: EnableWifiRequest): EnableWifiResult
- Synchronous:
- Permissions: CHANGE_WIFI_STATE
- Notes:
- Starting at Android Q (SDK 29), this will take the user to the Wifi Settings screen
Queries if Wifi is enabled.
- Usage example: MiscViewModel::isWifiEnabled
- Query class: IsWifiEnabledQuery
- Result class: IsWifiEnabledResult
- Callbacks: IsWifiEnabledCallbacks
- API options:
- Synchronous:
fun isWifiEnabled(query: IsWifiEnabledQuery): IsWifiEnabledResult
- Async:
fun isWifiEnabled(query: IsWifiEnabledQuery, callbacks: IsWifiEnabledCallbacks?)
- Coroutine:
suspend fun WisefyApi.isWifiEnabledAsync(query: IsWifiEnabledQuery): IsWifiEnabledResult
- Synchronous:
- Permissions: ACCESS_WIFI_STATE
- networkConnectionMutex:
connectToNetwork
,disconnectFromCurrentNetwork
,getCurrentNetwork
, andgetNetworkConnectionStatus
- savedNetworkMutex:
addNetwork
,getSavedNetworks
,isNetworkSaved
, andremoveNetwork
- wifiMutex: Locks
enableWifi
,disableWifi
, andisWifiEnabled