Skip to content

Latest commit

 

History

History
262 lines (206 loc) · 16.4 KB

index.md

File metadata and controls

262 lines (206 loc) · 16.4 KB

Wisefy Documentation

:accesspoints package

getAccessPoints()

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
  • 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

:addnetwork package

addNetwork()

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
  • Permissions: ACCESS_FINE_LOCATION and CHANGE_WIFI_STATE
  • Notes: Currently supports Open and WPA2 network types along with WPA3 starting with Android Q

:networkconnection package

changeNetwork()

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
  • Permissions: None
  • Notes: Requires Android Q / SDK 29

connectToNetwork()

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?)
  • Permissions: ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE, and ACCESS_NETWORK_STATE

disconnectFromCurrentNetwork()

Disconnects from the device's current network.

:networkinfo package

getCurrentNetwork()

Queries the device's current network.

getNetworkConnectionStatus()

Queries the device's network connection status.

:removenetwork package

removeNetwork()

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
  • Permissions: ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE, and CHANGE_WIFI_STATE

:savednetworks package

getSavedNetworks()

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
  • Permissions: ACCESS_FINE_LOCATION and ACCESS_WIFI_STATE
  • Notes:
    • This can be leveraged to search for a single access point with .first()/.firstOrNull()

isNetworkSaved()

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
  • Permissions: ACCESS_FINE_LOCATION and ACCESS_WIFI_STATE

:sginal package

calculateSignalLevel()

Calculates the strength of a network given an RSSI level.

compareSignalLevel()

Compares the strength of two networks by their respective RSSI levels.

:wifi package

disableWifi()

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
  • Permissions: CHANGE_WIFI_STATE
  • Notes:
    • Starting at Android Q (SDK 29), this will take the user to the Wifi Settings screen

enableWifi()

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
  • Permissions: CHANGE_WIFI_STATE
  • Notes:
    • Starting at Android Q (SDK 29), this will take the user to the Wifi Settings screen

isWifiEnabled()

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
  • Permissions: ACCESS_WIFI_STATE

Mutex Locks

  • networkConnectionMutex: connectToNetwork, disconnectFromCurrentNetwork, getCurrentNetwork, and getNetworkConnectionStatus
  • savedNetworkMutex: addNetwork, getSavedNetworks, isNetworkSaved, and removeNetwork
  • wifiMutex: Locks enableWifi, disableWifi, and isWifiEnabled