diff --git a/.circleci/config.yml b/.circleci/config.yml
new file mode 100644
index 00000000..94d8dfcc
--- /dev/null
+++ b/.circleci/config.yml
@@ -0,0 +1,41 @@
+version: 2.1
+
+orbs:
+ android: circleci/android@1.0.3
+
+jobs:
+ static-analysis:
+ executor:
+ name: android/android-machine
+ steps:
+ - checkout
+ - run:
+ name: Run lint
+ command: ./gradlew lintDebug
+ - run:
+ name: Run Kotlinter
+ command: ./gradlew lintKotlin
+ - run:
+ name: Run detekt
+ command: ./gradlew detekt
+ - run:
+ name: Run CPD
+ command: ./gradlew cpdCheck
+
+ build:
+ executor:
+ name: android/android-machine
+ steps:
+ - checkout
+ - run:
+ name: Assemble debug build
+ command: ./gradlew assembleDebug
+ - run:
+ name: Assemble release build
+ command: ./gradlew assembleRelease
+
+workflows:
+ ci:
+ jobs:
+ - static-analysis
+ - build
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index ac908a3e..2decd659 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -1 +1 @@
-* @isuPatches
\ No newline at end of file
+* @isuPatches
diff --git a/.github/ISSUE_TEMPLATE/bug-report.md b/.github/ISSUE_TEMPLATE/bug-report.md
index f5687b64..7ef3465f 100644
--- a/.github/ISSUE_TEMPLATE/bug-report.md
+++ b/.github/ISSUE_TEMPLATE/bug-report.md
@@ -4,9 +4,9 @@ about: Create a report to help us improve
---
-Thank you for creating an issue to improve this library! Please check Please check [the current issues](https://github.com/isuPatches/WiseFy/issues) to make sure that the improvement isn't already being worked on.
+Thank you for creating an issue to improve this library! Please check Please check [the current issues](https://github.com/isuPatches/android-wisefy/issues) to make sure that the improvement isn't already being worked on.
-It will be _EXTREMELY_ helpful if you also take a look at the [sample app](/wisefysample) to see how it behaves and if you can reproduce there.
+It will be _EXTREMELY_ helpful if you also take a look at the [sample app](/app) to see how it behaves and if you can reproduce there.
**Description**
A clear and concise description of the bug.
@@ -19,8 +19,8 @@ If applicable, add screenshots to help explain.
**To Reproduce**
Steps to reproduce the behavior:
-1. Create WiseFy instance
-2. Call '...' method with '...' as params (please include if it's the synchronous or asynchronous API)
+1. Create Wisefy instance
+2. Call '...' method with '...' as params (please include if it's the synchronous, asynchronous, or ktx API)
3. Witness unexpected behavior
**Expected behavior**
@@ -38,4 +38,4 @@ A description of what actually happened
- Reproducible with sample app?:
**Logs**
-Please include logs from WiseFy if at all possible. They can be found with `logging(true)` set on the WiseFy instance and by filtering on 'WiseFy'
+Please include logs from Wisefy if at all possible. They can be found with `logging(true)` set on the Wisefy instance and by filtering on 'Wisefy'
diff --git a/.github/ISSUE_TEMPLATE/feature-request.md b/.github/ISSUE_TEMPLATE/feature-request.md
index 0fa5221e..ce46e2d4 100644
--- a/.github/ISSUE_TEMPLATE/feature-request.md
+++ b/.github/ISSUE_TEMPLATE/feature-request.md
@@ -4,7 +4,7 @@ about: Suggest an idea for this project
---
-Thank you for creating an issue to improve this library! Please check Please check [the current issues](https://github.com/isuPatches/WiseFy/issues) to make sure that the improvement isn't already being worked on.
+Thank you for creating an issue to improve this library! Please check Please check [the current issues](https://github.com/isuPatches/android-wisefy/issues) to make sure that the improvement isn't already being worked on.
**Description**
A clear and concise high-level description of the request. (f.e. As a developer I want ___ so that ___)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 00000000..4e9569d6
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,44 @@
+I'd love to have your help, but please don't skimp on greatness!
+
+Please check the [Issues](https://github.com/isupatches/android-wisefy/issues) and the [Main Board](https://github.com/isuPatches/android-wisefy/projects/1) to make sure what you want is not already being worked on.
+
+* Please create an issue and use the [Main Board](https://github.com/isuPatches/android-wisefy/projects/1) to denote its status
+ - Please tag the issue with the appropriate labels as well (i.e. status, bug, TODO, etc.)
+ - Each issue should have clear details (i.e. steps to reproduce if it's a bug or acceptance criteria if a new feature)
+* Please branch off develop to do any new work
+ - Branches should be prefixed with issue-#/ and a short description, example: issue-53/adding-some-feature
+* Please make sure all static code analysis checks pass
+* Please write tests
+* Please make sure current tests pass
+* Please help maintain the KDocs and write new ones
+* Please help maintain the markdown docs (if necessary)
+* Once satisfied with your work, please submit a Pull Request and I'll be happy to review it! All PRs need to be reviewed by a code owner.
+
+For merging:
+
+* PRs will be squashed and merged after a rebase
+ - The commit should have the issue-# in its message
+ - [Signed commits](https://docs.github.com/en/github/authenticating-to-github/managing-commit-signature-verification/signing-commits) are required
+ - The branch must be up-to-date before merging
+ - Conventional commits should be used to denote and differentiate between breaking changes, fixes, chores/tasks, and new features
+
+Some architecture/code guidelines:
+ - Follow the patterns and naming conventions present to ensure consistency
+ - The query class is prefixed with function name (f.e. the function `getCurrentNetwork` uses the query class `GetCurrentNetworkQuery`)
+ - The request class is prefixed with function name (f.e. the function `addNetwork` uses the request class `AddNetworkRequest`)
+ - The result class is prefixed with function name (f.e. the function `removeNetwork` uses the result class `RemoveNetworkResult`)
+ - The `ktx` extension functions have the suffix `Async` (f.e. the extension for `getNetworkConnectionStatus` is `getNetworkConnectionStatusAsync`)
+ - Keep in-mind the folder and organization structure defined in the [README.md](/README.md)
+ - Synchronous, async, and ktx options are supported for each feature (unless there is an exceptional case)
+ - Adapters are the only expected location for assertions
+ - For `ktx` extension functions, the library deliberately catches any exception and throws a [WisefyException](/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/exceptions/WisefyException.kt)
+ - Async operations use coroutines internally and:
+ - Execute on the background thread
+ - Return results to the main thread
+ - Are locked with a mutex if there are potential conflicts with out async functions (f.e. enableWifi, disableWifi, and isWifiEnabled)
+
+For releasing:
+
+ - The CHANGELOG.md will be generated once per release
+ - The release task will be run to regenerate all of the KDocs
+ - The version codes and version names will be bumped in a release PR
diff --git a/LICENSE.md b/LICENSE.md
index f3abe5c6..c046c60c 100644
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -186,7 +186,7 @@
same "printed page" as the copyright notice for easier
identification within third-party archives.
- Copyright 2017 Patches Klinefelter
+ Copyright 2022 Patches Barrett
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
diff --git a/README.md b/README.md
index aaeea7de..f57878f9 100644
--- a/README.md
+++ b/README.md
@@ -1,57 +1,194 @@
## Wisefy
+
+
+A Wifi configuration and util library built in Kotlin for Android.
+
+> Developed by Patches 04/24/2016 - present
+> Logo/icon created by mansya (2018)
+>
+> Supports Android SDK levels 23-33
+
+[![Android Arsenal](https://img.shields.io/badge/Android%20Arsenal-WiseFy-brightgreen.svg?style=flat)](https://android-arsenal.com/details/1/6011) [![Android Weekly](https://img.shields.io/badge/Android%20Weekly-%23230-blue.svg)](http://androidweekly.net/issues/issue-230)
+
+- [Installation](#installation)
+- [KTX Artifact](#ktx-artifact)
+- [5.0 Rewrite](#50-rewrite)
+ - [Highlights](#highlights)
+ - [New Structure](#new-structure)
+ - [Packaging & Naming Conventions](#packaging-and-naming-conventions)
+ - [Deprecations](#deprecations)
+ - [Known Android Q Problems](#known-android-q-problems)
+- [Documentation](#documentation)
+ - [Reset](#reset)
+ - [Links](#links)
+- [FAQ](#faq)
+- [For Contributors](#for-contributors)
+- [License](#license)
+
## Installation
There is a new package for 5.0. Please use:
```kotlin
-implementation("com.isupatches.android:wisefy:5.0.0-RC2")
+implementation("com.isupatches.android:wisefy:5.0.0-RC3")
```
+This will include all of the Wisefy sub-artifacts through `api` dependencies.
+
+There are also new more modular artifacts published so that individual pieces of Wisefy can be imported directly:
+
+> `com.isupatches.android.wisefy:core:` will be a requirement for the other Wisefy artifacts.
+
+- `com.isupatches.android.wisefy:accesspoints:`
+- `com.isupatches.android.wisefy:addnetwork:`
+- `com.isupatches.android.wisefy:core:`
+- `com.isupatches.android.wisefy:networkconnection:`
+- `com.isupatches.android.wisefy:networkinfo:`
+- `com.isupatches.android.wisefy:removenetwork:`
+- `com.isupatches.android.wisefy:savednetworks:`
+- `com.isupatches.android.wisefy:signal:`
+- `com.isupatches.android.wisefy:wifi:`
+
+Here are the descriptions of what functionality each artifact provides:
+
+- `:accesspoints` For getting and searching for nearby networks
+- `:addnetwork` For adding a Wifi network
+- `:core` For base Wisefy functionality
+- `:networkconnection` For connecting and disconnecting from networks
+- `:networkinfo` For information about the device's current network and current connectivity status
+- `:removenetwork` For removing a Wifi network
+- `:savednetworks` For getting and searching for saved networks
+- `:signal` For calculating a signal level and comparing signal levels
+- `:wifi` For enabling and disabling Wifi
+
+## KTX Artifact
+
+There is a new artifact for 5.0 that provides Kotlin extension functions. Please use:
+
+```kotlin
+implementation("com.isupatches.android:wisefy-ktx:")
+```
+
+if you want to try it out. All functions in this package have the suffix `Async` and are `suspend` functions.
+
## 5.0 Rewrite
The 5.0 version of WiseFy works to rectify the problems that caused it to be overly challenging as a single developer
-to keep up with the ever-changing Wifi APIs for new Android OS's, especially with a lot of functionality becoming
-privatized.
+to keep up with the ever-changing Wifi APIs for new Android operating systems, especially with a lot of functionality
+becoming privatized. It also strives to simplify the API and removes redundancy within the APIs that caused additional
+overhead for maintenance.
I hope you enjoy the rewrite and please create an issue if you see anything odd or have questions!
### Highlights
-- Android P, Android Q, and Android R are now supported
+- Android Q, Android R, Android S, and Android T are now supported
+- Compiled with Java 11
- Rewritten with extensibility and future Android OS's in-mind
- * Future versions of the Android OS will be easier to support with the new delegate system
+ * Future versions of the Android OS will be easier to support with the new delegate/adapter system
* Improved modularity where APIs for OS versions are contained in their own API / API implementation files
-- Async operations updated to internally leverage Coroutines and new exception handler
-- Returns are now WiseFy classes or primitives opposed to a class from the OS, making it easier to add new variants
- in the future through sealed classes
+- Async operations updated to internally leverage Coroutines and a new exception handler
+- Returns are now Wisefy classes opposed to a class from the OS, making it easier to add new variants in the future
+ through sealed classes
- Updated names for callbacks
- Kotlin first mentality (but willing to support Java as first class too!)
-- WPA3 networks now supported
-- wisefysample renamed to app
+- WPA3 networks are now supported
+- `wisefysample` renamed to `app`
+- BSSID support is now added
+- More modular artifacts are available now
+ - Less bloat if there are things you're not going to use
+ - Able to iterate and update portions of the library without the overhead of the entire project
+- `gradle.lockfile`s and Gradle ranges are enabled for more control over versioning
+ - [Locking dependency versions](https://docs.gradle.org/current/userguide/dependency_locking.html)
+ - [Declaring Versions and Ranges](https://docs.gradle.org/current/userguide/single_versions.html)
+- Sample app re-written
+ - Down with SharedPreferences, onward to DataStore
+ - Written in Compose complete with previews
+ - Niceties like progress bars added
+ - Better input validation
-### Work Remaining Before Official Release
+### New Structure
-- Documentation added
-- Unit and instrumentation tests added back
+- Wisefy public API -> Wisefy implementation -> Delegate to determine which adapter to use ->
+ Adapter converts request for usage by the Android OS -> Android OS APIs are used and the adapter returns information
+ as a Wisefy result
-### New Structure
+### Packaging and Naming Conventions
+
+Types of classes:
+
+- `Query` - Indicates a read only operation where nothing is modified or written
+- `Request` - Indicates an action where some state is modified or a value is written
+- `Result` - Indicates the return from an action or query
+- `Data` - Indicates a complex return for a result that includes several different properties, fields, and functions
-- WiseFy API -> WiseFy -> Internal util -> Delegate -> OS API and OS API implementation
+Types of property values:
+
+- `value` - A field within a `Result` object for a `Data` class (a Wisefy based class)
+- `rawValue` - A field for a OS level class or object (not a Wisefy based class) within a `Data` object
+
+Suffixes:
+
+- Api (top-level of a feature package) -> Contains the definitions of synchronous APIs available for the feature
+- ApiAsync (top-level of a feature package) -> Contains the definitions of asynchronous APIs available for the feature
+- Delegate -> Determines which adapter to use based on the Android device's SDK level
+- Adapter -> Middleware that converts requests and responses between the API and Delegate layers
+- Api (within os package context) -> Houses the definitions of Android OS level APIs that Adapter classes may use
+- ApiImpl (within os package context) -> Houses the implementation for executing Android OS level APIs
+
+Package structure for each section is as follows:
+
+- Feature (accesspoints, addnetwork, etc.) -> Location of Wisefy Specific delegate -> supporting sub-directories
+
+*Supporting sub-directories can include*
+
+- callbacks (public) -> Location of callback interfaces for returns from async calls
+- entities (public) -> Location of data classes for queries, requests, responses, and data
+- os (internal) - Purely on organizational directory
+ - adapters (internal) -> Location of the classes that convert requests and responses between the Delegate and Android
+ OS level APIs
+ - converters (internal) -> Location of helpers to convert one data class to another
+ - apis (internal) -> Location of the API interfaces to talk to the Android OS
+ - impls (internal) -> Location of the implementation for an API that talks to the Android OS
### Deprecations
- disableWifi() and disableWifi(callbacks: DisableWifiCallbacks?)
+- disconnectFromCurrentNetwork() and disconnectFromCurrentNetwork(callbacks: DisconnectFromCurrentNetworkCallbacks?)
- enableWifi() and enableWifi(callbacks: EnableWifiCallbacks?)
- calculateBars(rssiLevel: Int, targetNumberOfBars: Int)
### Known Android Q Problems
-- Saving a network doesn't seem possible. A notification is presented if not connected to the suggestion, but even the
-appearance of the notification seems flakey
+- Adding, removing, and getting saved network functionality is not present.
+ Android Q / SDK 29 was in a weird half-baked state between the old WifiManager APIs and the new WifiSuggestion APIs...Android 30 seems to have full support, but Android 29 really drops the ball for saved network functionality.
+
+## Documentation
+
+### Reset
+
+To keep the documentation clean and because of the amount of architectural changes for the 5.x release, the
+documentation was stripped and then completely re-written.
+
+## Links
+
+For auto-generated [Dokka](https://kotlin.github.io/dokka) markdown files based on the KDocs please see
+[here](/dokka/index.md).
+
+For more high-level examples based on different functionality please see [here](/documentation/index.md).
+
+## FAQ
+
+You may find a list of frequently asked questions [here](/documentation/FAQ.md).
+
+## For Contributors
+
+Want to help? Have an idea for a cool feature or want to fix a bug for the community? See
+[CONTRIBUTING](CONTRIBUTING.md) for how you can make impactful changes for Wisefy.
## License ##
-Copyright 2021 Patches Klinefelter
+Copyright 2022 Patches Barrett
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
compliance with the License. You may obtain a copy of the License at
diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index aa80928d..927f730c 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -1,14 +1,16 @@
import com.isupatches.android.wisefy.build.BuildVersions
import com.isupatches.android.wisefy.build.Dependencies
import com.isupatches.android.wisefy.build.Versions
+import com.isupatches.android.wisefy.build.compose
import com.isupatches.android.wisefy.build.dagger
import com.isupatches.android.wisefy.build.navigation
-import java.util.Properties
+import java.util.*
plugins {
id("com.android.application")
- id("kotlin-android")
+ id("org.jetbrains.kotlin.android")
id("kotlin-kapt")
+ id("dagger.hilt.android.plugin")
}
val keystoreProperties: Properties = Properties()
@@ -18,7 +20,10 @@ if (keystoreFile.exists()) {
}
android {
- compileSdkVersion(BuildVersions.COMPILE_SDK)
+ namespace = "com.isupatches.android.wisefy.sample"
+ testNamespace = "com.isupatches.android.wisefy.sample.test"
+
+ compileSdk = BuildVersions.COMPILE_SDK
buildToolsVersion = BuildVersions.BUILD_TOOLS
defaultConfig {
@@ -55,22 +60,28 @@ android {
isTestCoverageEnabled = true
isMinifyEnabled = false
isShrinkResources = false
- proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules-debug.pro")
- testProguardFile(file("proguard-rules-test.pro"))
+ proguardFiles(
+ getDefaultProguardFile("proguard-android-optimize.txt"),
+ "$rootDir/proguard/r8-app-debug.pro"
+ )
+ testProguardFile(file("$rootDir/proguard/r8-app-test.pro"))
signingConfig = signingConfigs.getByName("debug")
}
release {
isTestCoverageEnabled = false
- isMinifyEnabled = true
- isShrinkResources = true
- proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules-release.pro")
+ isMinifyEnabled = false
+ isShrinkResources = false
+ proguardFiles(
+ getDefaultProguardFile("proguard-android-optimize.txt"),
+ "$rootDir/proguard/r8-app-release.pro"
+ )
signingConfig = signingConfigs.getByName("release")
}
}
buildFeatures {
- viewBinding = true
+ compose = true
}
testCoverage {
@@ -78,38 +89,63 @@ android {
}
lint {
- isCheckAllWarnings = true
- isShowAll = true
- isExplainIssues = true
- isAbortOnError = true
- isWarningsAsErrors = true
- disable("UnusedIds", "ConvertToWebp")
+ checkAllWarnings = true
+ showAll = true
+ explainIssues = true
+ abortOnError = true
+ warningsAsErrors = true
+ disable += "UnusedIds"
+ disable += "ConvertToWebp"
+ }
+
+ compileOptions {
+ sourceCompatibility = JavaVersion.VERSION_11
+ targetCompatibility = JavaVersion.VERSION_11
+ }
+
+ kotlinOptions {
+ jvmTarget = "11"
+ }
+
+ afterEvaluate {
+ configurations.getByName("releaseRuntimeClasspath") {
+ resolutionStrategy.activateDependencyLocking()
+ }
+ configurations.getByName("debugRuntimeClasspath") {
+ resolutionStrategy.activateDependencyLocking()
+ }
+ }
+
+ dependencyLocking {
+ lockMode.set(LockMode.STRICT)
+ }
+
+ composeOptions {
+ kotlinCompilerExtensionVersion = Versions.ANDROIDX_COMPOSE
}
}
dependencies {
/*
- * Toggle these to test release binary vs. source code
+ * This should be uncommented to run sample app directly against source code
*/
- implementation(project(":wisefy"))
-// implementation("com.isupatches.android:wisefy:5.0.0-RC2") {
-// isChanging = true
-// }
+// implementation(project(":wisefy:ktx"))
- implementation(Dependencies.VIEWGLU)
+ /*
+ * This should be uncommented to run sample app directly against release versions of wisefy / wisefy-ktx
+ */
+ implementation("com.isupatches.android.wisefy:ktx:5.0.0")
// AndroidX
+ compose()
implementation(Dependencies.AndroidX.APPCOMPAT)
- implementation(Dependencies.AndroidX.CONSTRAINT_LAYOUT)
implementation(Dependencies.AndroidX.CORE_KTX)
+ implementation(Dependencies.AndroidX.DATA_STORE)
navigation()
// Koltin
implementation(Dependencies.Kotlin.STD_LIB)
- // Google
- implementation(Dependencies.Google.MATERIAL)
-
// Dependency Injection
dagger()
}
diff --git a/app/gradle.lockfile b/app/gradle.lockfile
new file mode 100644
index 00000000..988d7522
--- /dev/null
+++ b/app/gradle.lockfile
@@ -0,0 +1,124 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity-compose:1.6.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.activity:activity-ktx:1.6.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.activity:activity:1.6.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.annotation:annotation-experimental:1.3.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.annotation:annotation:1.5.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.appcompat:appcompat-resources:1.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.appcompat:appcompat:1.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.arch.core:core-runtime:2.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.autofill:autofill:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.cardview:cardview:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.collection:collection-ktx:1.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.collection:collection:1.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.compose.animation:animation-core:1.3.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.compose.animation:animation:1.3.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.compose.foundation:foundation-layout:1.2.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.compose.foundation:foundation:1.2.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.compose.material:material-icons-core:1.3.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.compose.material:material-icons-extended:1.3.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.compose.material:material-ripple:1.3.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.compose.material:material:1.3.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.compose.runtime:runtime-saveable:1.3.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.compose.runtime:runtime:1.3.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.compose.ui:ui-geometry:1.3.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.compose.ui:ui-graphics:1.3.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.compose.ui:ui-text:1.3.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.compose.ui:ui-tooling-data:1.3.0=debugRuntimeClasspath
+androidx.compose.ui:ui-tooling-preview:1.3.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.compose.ui:ui-tooling:1.3.0=debugRuntimeClasspath
+androidx.compose.ui:ui-unit:1.3.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.compose.ui:ui-util:1.3.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.compose.ui:ui:1.3.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.concurrent:concurrent-futures:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.constraintlayout:constraintlayout-solver:2.0.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.constraintlayout:constraintlayout:2.0.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.coordinatorlayout:coordinatorlayout:1.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.core:core-ktx:1.9.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.core:core:1.9.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.cursoradapter:cursoradapter:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.customview:customview-poolingcontainer:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.customview:customview:1.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.datastore:datastore-core:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.datastore:datastore-preferences-core:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.datastore:datastore-preferences:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.datastore:datastore:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.documentfile:documentfile:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.drawerlayout:drawerlayout:1.1.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.dynamicanimation:dynamicanimation:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.emoji2:emoji2-views-helper:1.2.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.emoji2:emoji2:1.2.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.fragment:fragment-ktx:1.5.4=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.fragment:fragment:1.5.4=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.interpolator:interpolator:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.legacy:legacy-support-core-utils:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-common-java8:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core-ktx:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-process:2.4.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime-ktx:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel-compose:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel-savedstate:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.loader:loader:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.localbroadcastmanager:localbroadcastmanager:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.navigation:navigation-common-ktx:2.5.3=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.navigation:navigation-common:2.5.3=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.navigation:navigation-compose:2.5.3=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.navigation:navigation-fragment:2.5.3=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.navigation:navigation-runtime-ktx:2.5.3=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.navigation:navigation-runtime:2.5.3=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.navigation:navigation-ui:2.5.3=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.print:print:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.profileinstaller:profileinstaller:1.2.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.recyclerview:recyclerview:1.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.resourceinspection:resourceinspection-annotation:1.0.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.savedstate:savedstate-ktx:1.2.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.savedstate:savedstate:1.2.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.slidingpanelayout:slidingpanelayout:1.2.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.startup:startup-runtime:1.1.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.tracing:tracing:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.transition:transition:1.4.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.vectordrawable:vectordrawable-animated:1.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.vectordrawable:vectordrawable:1.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.viewpager2:viewpager2:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.window:window:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+com.google.android.material:material:1.4.0-beta01=debugRuntimeClasspath,releaseRuntimeClasspath
+com.google.code.findbugs:jsr305:3.0.2=debugRuntimeClasspath,releaseRuntimeClasspath
+com.google.dagger:dagger-lint-aar:2.44.1=debugRuntimeClasspath,releaseRuntimeClasspath
+com.google.dagger:dagger:2.44.1=debugRuntimeClasspath,releaseRuntimeClasspath
+com.google.dagger:hilt-android:2.44.1=debugRuntimeClasspath,releaseRuntimeClasspath
+com.google.dagger:hilt-core:2.44.1=debugRuntimeClasspath,releaseRuntimeClasspath
+com.google.guava:listenablefuture:1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+com.isupatches.android.wisefy:accesspoints:5.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+com.isupatches.android.wisefy:addnetwork:5.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+com.isupatches.android.wisefy:core:5.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+com.isupatches.android.wisefy:ktx:5.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+com.isupatches.android.wisefy:networkconnection:5.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+com.isupatches.android.wisefy:networkinfo:5.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+com.isupatches.android.wisefy:removenetwork:5.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+com.isupatches.android.wisefy:savednetworks:5.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+com.isupatches.android.wisefy:signal:5.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+com.isupatches.android.wisefy:wifi:5.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+com.isupatches.android.wisefy:wisefy:5.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+javax.inject:javax.inject:1=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jacoco:org.jacoco.agent:0.8.8=debugRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.7.10=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.21=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.21=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib:1.7.10=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.4=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.4=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains:annotations:13.0=debugRuntimeClasspath,releaseRuntimeClasspath
+empty=
diff --git a/app/proguard-rules-common.pro b/app/proguard-rules-common.pro
deleted file mode 100644
index b7062e79..00000000
--- a/app/proguard-rules-common.pro
+++ /dev/null
@@ -1,15 +0,0 @@
--dontnote
-
--keepattributes *Annotation*, EnclosingMethod, InnerClasses, Signature
-
-# Kotlin
--keep class kotlin.collections.CollectionsKt { *; }
--keepclassmembers class **$WhenMappings {
- ;
-}
--keepclassmembers class kotlin.Metadata {
- public ;
-}
--assumenosideeffects class kotlin.jvm.internal.Intrinsics {
- static void checkParameterIsNotNull(java.lang.Object, java.lang.String);
-}
diff --git a/app/proguard-rules-debug.pro b/app/proguard-rules-debug.pro
deleted file mode 100644
index 5ca67fd6..00000000
--- a/app/proguard-rules-debug.pro
+++ /dev/null
@@ -1,7 +0,0 @@
--include proguard-rules-common.pro
-
--dontobfuscate
-
--keepattributes SourceFile, LineNumberTable
-
--keep class com.isupatches.android.wisefy.sample.DebugMainApplication { *; }
diff --git a/app/proguard-rules-release.pro b/app/proguard-rules-release.pro
deleted file mode 100644
index 77c5391a..00000000
--- a/app/proguard-rules-release.pro
+++ /dev/null
@@ -1 +0,0 @@
--include proguard-rules-common.pro
diff --git a/app/proguard-test-rules.pro b/app/proguard-test-rules.pro
deleted file mode 100644
index f22ec8b2..00000000
--- a/app/proguard-test-rules.pro
+++ /dev/null
@@ -1 +0,0 @@
--include proguard-rules.pro
diff --git a/app/src/debug/AndroidManifest.xml b/app/src/debug/AndroidManifest.xml
index 809412e8..4cde0735 100644
--- a/app/src/debug/AndroidManifest.xml
+++ b/app/src/debug/AndroidManifest.xml
@@ -1,13 +1,14 @@
+ xmlns:tools="http://schemas.android.com/tools">
+ tools:replace="android:name,android:label"
+ android:icon="@mipmap/ic_launcher"
+ />
diff --git a/app/src/debug/java/com/isupatches/android/wisefy/sample/DebugMainApplication.kt b/app/src/debug/java/com/isupatches/android/wisefy/sample/DebugMainApplication.kt
index a866892d..c8061b5d 100644
--- a/app/src/debug/java/com/isupatches/android/wisefy/sample/DebugMainApplication.kt
+++ b/app/src/debug/java/com/isupatches/android/wisefy/sample/DebugMainApplication.kt
@@ -1,9 +1,3 @@
package com.isupatches.android.wisefy.sample
-internal open class DebugMainApplication : MainApplication() {
-
- fun setTestComponent(component: MainApplicationComponent) {
- mainApplicationComponent = component
- mainApplicationComponent.inject(this)
- }
-}
+internal open class DebugMainApplication : MainApplication()
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 496b6dc0..984bcc3f 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -1,34 +1,31 @@
+ xmlns:tools="http://schemas.android.com/tools">
+
+
+
+
+
-
-
-
-
-
-
+ android:enableOnBackInvokedCallback="true"
+ tools:ignore="GoogleAppIndexingWarning"
+ tools:targetApi="tiramisu">
-
+
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/MainApplication.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/MainApplication.kt
index d06f4724..bfc76887 100644
--- a/app/src/main/java/com/isupatches/android/wisefy/sample/MainApplication.kt
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/MainApplication.kt
@@ -1,5 +1,5 @@
/*
- * Copyright 2021 Patches Klinefelter
+ * Copyright 2022 Patches Barrett
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,55 +16,8 @@
package com.isupatches.android.wisefy.sample
import android.app.Application
-import android.content.Context
-import com.isupatches.android.wisefy.sample.internal.di.ScreenBindingsModule
-import com.isupatches.android.wisefy.sample.internal.util.PermissionUtil
-import com.isupatches.android.wisefy.sample.internal.util.PermissionsUtilImpl
-import dagger.BindsInstance
-import dagger.Component
-import dagger.android.DispatchingAndroidInjector
-import dagger.android.HasAndroidInjector
-import dagger.android.support.AndroidSupportInjectionModule
-import javax.inject.Inject
-import javax.inject.Singleton
+import dagger.hilt.android.HiltAndroidApp
-@Suppress("Registered", "UndocumentedPublicClass", "UndocumentedPublicFunction")
-internal open class MainApplication : Application(), HasAndroidInjector {
-
- override fun onCreate() {
- super.onCreate()
- initializeDependencyInjection()
- }
-
- private fun initializeDependencyInjection() {
- mainApplicationComponent = DaggerMainApplication_MainApplicationComponent.builder()
- .application(this)
- .permissionsUtil(PermissionsUtilImpl())
- .build()
- mainApplicationComponent.inject(this)
- }
-
- @Inject lateinit var androidInjector: DispatchingAndroidInjector
- override fun androidInjector() = androidInjector
-
- protected lateinit var mainApplicationComponent: MainApplicationComponent
-
- @Singleton
- @Component(
- modules = [
- AndroidSupportInjectionModule::class,
- ScreenBindingsModule::class
- ]
- )
- internal interface MainApplicationComponent {
-
- fun inject(mainApplication: MainApplication)
-
- @Component.Builder interface Builder {
- fun build(): MainApplicationComponent
-
- @BindsInstance fun application(prov: Context): Builder
- @BindsInstance fun permissionsUtil(prov: PermissionUtil): Builder
- }
- }
-}
+@Suppress("Registered")
+@HiltAndroidApp
+internal open class MainApplication : Application()
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/internal/entities/NetworkType.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/entities/NetworkType.kt
similarity index 90%
rename from app/src/main/java/com/isupatches/android/wisefy/sample/internal/entities/NetworkType.kt
rename to app/src/main/java/com/isupatches/android/wisefy/sample/entities/NetworkType.kt
index b7351744..4af8ea2a 100644
--- a/app/src/main/java/com/isupatches/android/wisefy/sample/internal/entities/NetworkType.kt
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/entities/NetworkType.kt
@@ -1,5 +1,5 @@
/*
- * Copyright 2021 Patches Klinefelter
+ * Copyright 2022 Patches Barrett
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package com.isupatches.android.wisefy.sample.internal.entities
+package com.isupatches.android.wisefy.sample.entities
internal enum class NetworkType(val intVal: Int) {
OPEN(0),
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/entities/SSIDType.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/entities/SSIDType.kt
new file mode 100644
index 00000000..b55f38c8
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/entities/SSIDType.kt
@@ -0,0 +1,32 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.entities
+
+internal enum class SSIDType(val intVal: Int) {
+ SSID(0),
+ BSSID(1);
+
+ companion object {
+
+ fun of(intVal: Int): SSIDType {
+ return when (intVal) {
+ SSID.intVal -> SSID
+ BSSID.intVal -> BSSID
+ else -> throw IllegalArgumentException("Invalid SSIDType, intVal: $intVal")
+ }
+ }
+ }
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/internal/entities/SearchType.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/entities/SearchType.kt
similarity index 91%
rename from app/src/main/java/com/isupatches/android/wisefy/sample/internal/entities/SearchType.kt
rename to app/src/main/java/com/isupatches/android/wisefy/sample/entities/SearchType.kt
index f4e933d0..cf8cd327 100644
--- a/app/src/main/java/com/isupatches/android/wisefy/sample/internal/entities/SearchType.kt
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/entities/SearchType.kt
@@ -1,5 +1,5 @@
/*
- * Copyright 2021 Patches Klinefelter
+ * Copyright 2022 Patches Barrett
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package com.isupatches.android.wisefy.sample.internal.entities
+package com.isupatches.android.wisefy.sample.entities
internal enum class SearchType(val intVal: Int) {
ACCESS_POINT(0),
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/features/add/AddNetworkScreen.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/features/add/AddNetworkScreen.kt
new file mode 100644
index 00000000..b85e4c9a
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/features/add/AddNetworkScreen.kt
@@ -0,0 +1,64 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.features.add
+
+import android.content.res.Configuration
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.tooling.preview.Preview
+import androidx.lifecycle.viewmodel.compose.viewModel
+import com.isupatches.android.wisefy.WisefyApi
+import com.isupatches.android.wisefy.sample.ui.ComposablePreviewWisefy
+import com.isupatches.android.wisefy.sample.ui.components.WisefySampleLoadingIndicator
+import com.isupatches.android.wisefy.sample.util.DefaultSdkUtil
+import com.isupatches.android.wisefy.sample.util.SdkUtil
+
+@Composable
+internal fun AddNetworkScreen(
+ wisefy: WisefyApi,
+ sdkUtil: SdkUtil,
+ viewModel: AddNetworkViewModel = viewModel(
+ factory = AddNetworkViewModelFactory(
+ context = LocalContext.current.applicationContext,
+ wisefy = wisefy,
+ sdkUtil = sdkUtil
+ )
+ )
+) {
+ WisefySampleLoadingIndicator(isLoading = { viewModel.uiState.value.loadingState.isLoading })
+ AddNetworkScreenDialogContent(dialogState = { viewModel.uiState.value.dialogState }, viewModel = viewModel)
+ AddNetworkScreenContent(viewModel = viewModel, sdkUtil = sdkUtil)
+}
+
+@Preview(showBackground = true)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun AddNetworkScreenLightPreview() {
+ AddNetworkScreen(
+ wisefy = ComposablePreviewWisefy(),
+ sdkUtil = DefaultSdkUtil()
+ )
+}
+
+@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun AddNetworkScreenDarkPreview() {
+ AddNetworkScreen(
+ wisefy = ComposablePreviewWisefy(),
+ sdkUtil = DefaultSdkUtil()
+ )
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/features/add/AddNetworkScreenContent.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/features/add/AddNetworkScreenContent.kt
new file mode 100644
index 00000000..59ac3151
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/features/add/AddNetworkScreenContent.kt
@@ -0,0 +1,249 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.features.add
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import android.Manifest.permission.CHANGE_WIFI_STATE
+import android.content.res.Configuration
+import androidx.activity.compose.rememberLauncherForActivityResult
+import androidx.activity.result.contract.ActivityResultContracts
+import androidx.compose.foundation.layout.Arrangement
+import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.Row
+import androidx.compose.foundation.layout.fillMaxWidth
+import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.rememberScrollState
+import androidx.compose.foundation.verticalScroll
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.rememberCoroutineScope
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.tooling.preview.Preview
+import com.isupatches.android.wisefy.sample.R
+import com.isupatches.android.wisefy.sample.entities.NetworkType
+import com.isupatches.android.wisefy.sample.logging.WisefySampleLogger
+import com.isupatches.android.wisefy.sample.ui.ComposablePreviewWisefy
+import com.isupatches.android.wisefy.sample.ui.components.WisefyPrimaryButton
+import com.isupatches.android.wisefy.sample.ui.components.WisefySampleBodyLabel
+import com.isupatches.android.wisefy.sample.ui.components.WisefySampleEditText
+import com.isupatches.android.wisefy.sample.ui.components.WisefySampleEditTextError
+import com.isupatches.android.wisefy.sample.ui.components.WisefySampleRadioButton
+import com.isupatches.android.wisefy.sample.ui.primitives.WisefySampleSizes
+import com.isupatches.android.wisefy.sample.ui.theme.WisefySampleTheme
+import com.isupatches.android.wisefy.sample.util.DefaultSdkUtil
+import com.isupatches.android.wisefy.sample.util.SdkUtil
+import kotlinx.coroutines.launch
+
+private const val LOG_TAG = "AddNetworkScreenContent"
+
+@Composable
+internal fun AddNetworkScreenContent(
+ viewModel: AddNetworkViewModel,
+ sdkUtil: SdkUtil
+) {
+ WisefySampleTheme {
+ val scope = rememberCoroutineScope()
+
+ val addNetworkPermissionLauncher =
+ rememberLauncherForActivityResult(ActivityResultContracts.RequestMultiplePermissions()) { result ->
+ if (result.all { it.value }) {
+ scope.launch {
+ @Suppress("MissingPermission")
+ viewModel.addNetwork()
+ }
+ } else {
+ WisefySampleLogger.w(LOG_TAG, "Permissions required to add a network are denied")
+ viewModel.onAddNetworkPermissionsError()
+ }
+ }
+
+ Column(
+ modifier = Modifier
+ .fillMaxWidth()
+ .verticalScroll(rememberScrollState())
+ .padding(
+ top = WisefySampleSizes.WisefySampleTopMargin,
+ bottom = WisefySampleSizes.WisefySampleBottomMargin,
+ start = WisefySampleSizes.WisefySampleHorizontalMargins,
+ end = WisefySampleSizes.WisefySampleHorizontalMargins
+ )
+ ) {
+ Row(modifier = Modifier.fillMaxWidth(), horizontalArrangement = Arrangement.SpaceEvenly) {
+ WisefySampleBodyLabel(stringResId = R.string.open)
+ WisefySampleBodyLabel(stringResId = R.string.wpa2)
+ if (sdkUtil.isAtLeastQ()) {
+ WisefySampleBodyLabel(stringResId = R.string.wpa3)
+ }
+ }
+ Row(modifier = Modifier.fillMaxWidth(), horizontalArrangement = Arrangement.SpaceEvenly) {
+ AddNetworkRadioButtonGroup(
+ networkType = { viewModel.uiState.value.networkType },
+ viewModel = viewModel,
+ isAtLeastAndroidQ = sdkUtil.isAtLeastQ()
+ )
+ }
+ AddNetworkInputRows(
+ networkType = { viewModel.uiState.value.networkType },
+ inputState = { viewModel.uiState.value.inputState },
+ viewModel = viewModel
+ )
+ Row(modifier = Modifier.padding(top = WisefySampleSizes.Large)) {
+ WisefyPrimaryButton(stringResId = R.string.add_network) {
+ addNetworkPermissionLauncher.launch(arrayOf(ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE))
+ }
+ }
+ }
+ }
+}
+
+@Composable
+private fun AddNetworkRadioButtonGroup(
+ networkType: () -> NetworkType,
+ viewModel: AddNetworkViewModel,
+ isAtLeastAndroidQ: Boolean
+) {
+ val currentNetworkType = networkType()
+ WisefySampleRadioButton(
+ isSelected = currentNetworkType == NetworkType.OPEN,
+ onClick = { viewModel.onNetworkTypeSelected(NetworkType.OPEN) }
+ )
+ WisefySampleRadioButton(
+ isSelected = currentNetworkType == NetworkType.WPA2,
+ onClick = { viewModel.onNetworkTypeSelected(NetworkType.WPA2) }
+ )
+ if (isAtLeastAndroidQ) {
+ WisefySampleRadioButton(
+ isSelected = currentNetworkType == NetworkType.WPA3,
+ onClick = { viewModel.onNetworkTypeSelected(NetworkType.WPA3) }
+ )
+ }
+}
+
+@Composable
+private fun AddNetworkInputRows(
+ networkType: () -> NetworkType,
+ inputState: () -> AddNetworkInputState,
+ viewModel: AddNetworkViewModel
+) {
+ val currentNetworkType = networkType()
+ val currentInputState = inputState()
+
+ Row(modifier = Modifier.padding(top = WisefySampleSizes.XLarge)) {
+ WisefySampleEditText(
+ text = currentInputState.ssidInput,
+ onTextChange = { newSSID ->
+ viewModel.onSSIDInputChanged(newSSID)
+ },
+ labelResId = R.string.network_name,
+ error = when (currentInputState.ssidInputValidityState) {
+ is AddNetworkSSIDInputValidityState.Invalid.Empty -> {
+ WisefySampleEditTextError(R.string.ssid_input_empty)
+ }
+ is AddNetworkSSIDInputValidityState.Invalid.TooShort -> {
+ WisefySampleEditTextError(R.string.ssid_input_too_short)
+ }
+ is AddNetworkSSIDInputValidityState.Invalid.TooLong -> {
+ WisefySampleEditTextError(R.string.ssid_input_too_long)
+ }
+ is AddNetworkSSIDInputValidityState.Invalid.InvalidCharacters -> {
+ WisefySampleEditTextError(R.string.ssid_input_invalid_characters)
+ }
+ is AddNetworkSSIDInputValidityState.Invalid.InvalidStartCharacters -> {
+ WisefySampleEditTextError(R.string.ssid_input_invalid_start_characters)
+ }
+ is AddNetworkSSIDInputValidityState.Invalid.LeadingOrTrailingSpaces -> {
+ WisefySampleEditTextError(R.string.ssid_input_leading_or_trailing_spaces)
+ }
+ is AddNetworkSSIDInputValidityState.Invalid.InvalidUnicode -> {
+ WisefySampleEditTextError(R.string.ssid_input_not_valid_unicode)
+ }
+ is AddNetworkSSIDInputValidityState.Valid -> null
+ }
+ )
+ }
+ Row(modifier = Modifier.padding(top = WisefySampleSizes.XLarge)) {
+ WisefySampleEditText(
+ text = currentInputState.bssidInput ?: "",
+ onTextChange = { newBSSID ->
+ viewModel.onBSSIDInputChanged(newBSSID)
+ },
+ labelResId = R.string.bssid,
+ error = when (currentInputState.bssidInputValidityState) {
+ is AddNetworkBSSIDInputValidityState.Invalid -> {
+ WisefySampleEditTextError(R.string.bssid_input_invalid)
+ }
+ is AddNetworkBSSIDInputValidityState.Valid.Empty, is AddNetworkBSSIDInputValidityState.Valid.BSSID -> {
+ null
+ }
+ }
+ )
+ }
+ if (currentNetworkType == NetworkType.WPA2 || currentNetworkType == NetworkType.WPA3) {
+ Row(modifier = Modifier.padding(top = WisefySampleSizes.Large)) {
+ WisefySampleEditText(
+ text = currentInputState.passphraseInput,
+ onTextChange = { newPassphrase ->
+ viewModel.onPassphraseInputChanged(newPassphrase)
+ },
+ labelResId = R.string.network_passphrase,
+ isPasswordField = true,
+ error = when (currentInputState.passphraseInputValidityState) {
+ is AddNetworkPassphraseInputValidityState.Invalid.Empty -> {
+ WisefySampleEditTextError(R.string.passphrase_input_empty)
+ }
+ is AddNetworkPassphraseInputValidityState.Invalid.TooShort -> {
+ WisefySampleEditTextError(R.string.passphrase_input_too_short)
+ }
+ is AddNetworkPassphraseInputValidityState.Invalid.TooLong -> {
+ WisefySampleEditTextError(R.string.passphrase_input_too_long)
+ }
+ is AddNetworkPassphraseInputValidityState.Invalid.InvalidASCII -> {
+ WisefySampleEditTextError(R.string.passphrase_input_not_valid_ascii)
+ }
+ is AddNetworkPassphraseInputValidityState.Valid -> null
+ }
+ )
+ }
+ }
+}
+
+@Preview(showBackground = true)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun AddNetworkScreenContentLightPreview() {
+ AddNetworkScreenContent(
+ viewModel = DefaultAddNetworkViewModel(
+ context = LocalContext.current,
+ wisefy = ComposablePreviewWisefy(),
+ sdkUtil = DefaultSdkUtil()
+ ),
+ sdkUtil = DefaultSdkUtil()
+ )
+}
+
+@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun AddNetworkScreenContentDarkPreview() {
+ AddNetworkScreenContent(
+ viewModel = DefaultAddNetworkViewModel(
+ context = LocalContext.current,
+ wisefy = ComposablePreviewWisefy(),
+ sdkUtil = DefaultSdkUtil()
+ ),
+ sdkUtil = DefaultSdkUtil()
+ )
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/features/add/AddNetworkScreenDialogContent.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/features/add/AddNetworkScreenDialogContent.kt
new file mode 100644
index 00000000..ee23811b
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/features/add/AddNetworkScreenDialogContent.kt
@@ -0,0 +1,172 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.features.add
+
+import android.content.res.Configuration
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.tooling.preview.Preview
+import androidx.compose.ui.tooling.preview.PreviewParameter
+import androidx.compose.ui.tooling.preview.PreviewParameterProvider
+import com.isupatches.android.wisefy.addnetwork.entities.AddNetworkResult
+import com.isupatches.android.wisefy.core.exceptions.WisefyException
+import com.isupatches.android.wisefy.sample.R
+import com.isupatches.android.wisefy.sample.ui.ComposablePreviewWisefy
+import com.isupatches.android.wisefy.sample.ui.components.WisefySampleNoticeDialog
+import com.isupatches.android.wisefy.sample.util.DefaultSdkUtil
+
+@Composable
+internal fun AddNetworkScreenDialogContent(
+ dialogState: () -> AddNetworkDialogState,
+ viewModel: AddNetworkViewModel
+) {
+ when (val currentDialogState = dialogState()) {
+ is AddNetworkDialogState.None -> {
+ // No-op, no dialog
+ }
+ is AddNetworkDialogState.AddNetwork.Failure -> {
+ WisefySampleNoticeDialog(
+ title = R.string.add_network,
+ body = R.string.failure_adding_network_args,
+ currentDialogState.result,
+ onClose = {
+ viewModel.onDialogClosed()
+ }
+ )
+ }
+ is AddNetworkDialogState.AddNetwork.Success -> {
+ WisefySampleNoticeDialog(
+ title = R.string.add_network,
+ body = R.string.success_adding_network_args,
+ currentDialogState.result,
+ onClose = {
+ viewModel.onDialogClosed()
+ }
+ )
+ }
+ is AddNetworkDialogState.AddNetwork.PermissionsError.AddOpenNetwork -> {
+ WisefySampleNoticeDialog(
+ title = R.string.permission_error,
+ body = R.string.permission_error_add_open_network,
+ onClose = {
+ viewModel.onDialogClosed()
+ }
+ )
+ }
+ is AddNetworkDialogState.AddNetwork.PermissionsError.AddWPA2Network -> {
+ WisefySampleNoticeDialog(
+ title = R.string.permission_error,
+ body = R.string.permission_error_add_wpa2_network,
+ onClose = {
+ viewModel.onDialogClosed()
+ }
+ )
+ }
+ is AddNetworkDialogState.AddNetwork.PermissionsError.AddWPA3Network -> {
+ WisefySampleNoticeDialog(
+ title = R.string.permission_error,
+ body = R.string.permission_error_add_wpa3_network,
+ onClose = {
+ viewModel.onDialogClosed()
+ }
+ )
+ }
+ is AddNetworkDialogState.Failure.WisefyAsync -> {
+ WisefySampleNoticeDialog(
+ title = R.string.wisefy_async_error,
+ body = R.string.wisefy_async_error_descriptions_args,
+ currentDialogState.exception.message ?: "",
+ currentDialogState.exception.cause?.message ?: "",
+ onClose = {
+ viewModel.onDialogClosed()
+ }
+ )
+ }
+ is AddNetworkDialogState.InputError.SSID -> {
+ WisefySampleNoticeDialog(
+ title = R.string.input_error,
+ body = R.string.ssid_input_invalid,
+ onClose = {
+ viewModel.onDialogClosed()
+ }
+ )
+ }
+ is AddNetworkDialogState.InputError.Passphrase -> {
+ WisefySampleNoticeDialog(
+ title = R.string.input_error,
+ body = R.string.passphrase_input_invalid,
+ onClose = {
+ viewModel.onDialogClosed()
+ }
+ )
+ }
+ is AddNetworkDialogState.InputError.BSSID -> {
+ WisefySampleNoticeDialog(
+ title = R.string.input_error,
+ body = R.string.bssid_input_invalid,
+ onClose = {
+ viewModel.onDialogClosed()
+ }
+ )
+ }
+ }
+}
+
+@Preview(showBackground = true)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun AddNetworkScreenDialogContentLightPreview(
+ @PreviewParameter(AddNetworkDialogStatePreviewParameterProvider::class) dialogState: AddNetworkDialogState
+) {
+ AddNetworkScreenDialogContent(
+ viewModel = DefaultAddNetworkViewModel(
+ context = LocalContext.current,
+ wisefy = ComposablePreviewWisefy(),
+ sdkUtil = DefaultSdkUtil()
+ ),
+ dialogState = { dialogState }
+ )
+}
+
+@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun AddNetworkScreenDialogContentDarkPreview(
+ @PreviewParameter(AddNetworkDialogStatePreviewParameterProvider::class) dialogState: AddNetworkDialogState
+) {
+ AddNetworkScreenDialogContent(
+ viewModel = DefaultAddNetworkViewModel(
+ context = LocalContext.current,
+ wisefy = ComposablePreviewWisefy(),
+ sdkUtil = DefaultSdkUtil()
+ ),
+ dialogState = { dialogState }
+ )
+}
+
+private class AddNetworkDialogStatePreviewParameterProvider : PreviewParameterProvider {
+ override val values: Sequence = sequenceOf(
+ AddNetworkDialogState.Failure.WisefyAsync(WisefyException("", null)),
+ AddNetworkDialogState.AddNetwork.Success(AddNetworkResult.Success.ResultCode(0)),
+ AddNetworkDialogState.AddNetwork.Failure(AddNetworkResult.Failure.ResultCode(-1)),
+ AddNetworkDialogState.AddNetwork.PermissionsError.AddOpenNetwork,
+ AddNetworkDialogState.AddNetwork.PermissionsError.AddWPA2Network,
+ AddNetworkDialogState.AddNetwork.PermissionsError.AddWPA3Network,
+ AddNetworkDialogState.InputError.SSID,
+ AddNetworkDialogState.InputError.Passphrase,
+ AddNetworkDialogState.InputError.BSSID
+ )
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/features/add/AddNetworkStore.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/features/add/AddNetworkStore.kt
new file mode 100644
index 00000000..3b2e1e8c
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/features/add/AddNetworkStore.kt
@@ -0,0 +1,128 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.features.add
+
+import android.content.Context
+import androidx.datastore.core.DataStore
+import androidx.datastore.preferences.core.Preferences
+import androidx.datastore.preferences.core.edit
+import androidx.datastore.preferences.core.intPreferencesKey
+import androidx.datastore.preferences.core.stringPreferencesKey
+import androidx.datastore.preferences.preferencesDataStore
+import com.isupatches.android.wisefy.sample.entities.NetworkType
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.map
+
+private const val PREF_NETWORK_TYPE = "network_type"
+private const val PREF_LAST_USED_NETWORK_INPUT = "last_used_network_input"
+private const val PREF_LAST_USED_NETWORK_PASSPHRASE_INPUT = "last_used_network_passphrase_input"
+private const val PREF_LAST_USED_NETWORK_BSSID_INPUT = "last_used_network_bssid_input"
+
+internal interface AddNetworkStore {
+ suspend fun clear()
+
+ fun getNetworkType(): Flow
+ fun getLastUsedNetworkInput(): Flow
+ fun getLastUsedNetworkPassphraseInput(): Flow
+ fun getLastUsedNetworkBSSIDInput(): Flow
+
+ suspend fun setNetworkType(networkType: NetworkType)
+ suspend fun setLastUsedNetworkInput(lastUsedNetworkInput: String)
+ suspend fun setLastUsedNetworkPassphraseInput(lastUsedNetworkPassphraseInput: String)
+ suspend fun setLastUsedNetworkBSSIDInput(lastUsedNetworkBSSIDInput: String)
+}
+
+private val Context.addNetworkDataStore: DataStore by preferencesDataStore(name = "addNetworkDataStore")
+
+internal class DefaultAddNetworkStore(
+ private val context: Context
+) : AddNetworkStore {
+
+ private val networkTypeKey = intPreferencesKey(PREF_NETWORK_TYPE)
+ private val lastUsedNetworkInputKey = stringPreferencesKey(PREF_LAST_USED_NETWORK_INPUT)
+ private val lastUsedNetworkPassphraseInputKey = stringPreferencesKey(PREF_LAST_USED_NETWORK_PASSPHRASE_INPUT)
+ private val lastUsedNetworkBSSIDInputKey = stringPreferencesKey(PREF_LAST_USED_NETWORK_BSSID_INPUT)
+
+ override suspend fun clear() {
+ context.addNetworkDataStore.edit {
+ clear()
+ }
+ }
+
+ /*
+ * Network type
+ */
+
+ override fun getNetworkType(): Flow {
+ return context.addNetworkDataStore.data.map { preferences ->
+ NetworkType.of(preferences[networkTypeKey] ?: NetworkType.WPA2.intVal)
+ }
+ }
+
+ override suspend fun setNetworkType(networkType: NetworkType) {
+ context.addNetworkDataStore.edit { preferences ->
+ preferences[networkTypeKey] = networkType.intVal
+ }
+ }
+
+ /*
+ * Last used network input
+ */
+
+ override fun getLastUsedNetworkInput(): Flow {
+ return context.addNetworkDataStore.data.map { preferences ->
+ preferences[lastUsedNetworkInputKey] ?: ""
+ }
+ }
+
+ override suspend fun setLastUsedNetworkInput(lastUsedNetworkInput: String) {
+ context.addNetworkDataStore.edit { preferences ->
+ preferences[lastUsedNetworkInputKey] = lastUsedNetworkInput
+ }
+ }
+
+ /*
+ * Last used network passphrase input
+ */
+
+ override fun getLastUsedNetworkPassphraseInput(): Flow {
+ return context.addNetworkDataStore.data.map { preferences ->
+ preferences[lastUsedNetworkPassphraseInputKey] ?: ""
+ }
+ }
+
+ override suspend fun setLastUsedNetworkPassphraseInput(lastUsedNetworkPassphraseInput: String) {
+ context.addNetworkDataStore.edit { preferences ->
+ preferences[lastUsedNetworkPassphraseInputKey] = lastUsedNetworkPassphraseInput
+ }
+ }
+
+ /*
+ * Last used network BSSID input
+ */
+
+ override fun getLastUsedNetworkBSSIDInput(): Flow {
+ return context.addNetworkDataStore.data.map { preferences ->
+ preferences[lastUsedNetworkBSSIDInputKey] ?: ""
+ }
+ }
+
+ override suspend fun setLastUsedNetworkBSSIDInput(lastUsedNetworkBSSIDInput: String) {
+ context.addNetworkDataStore.edit { preferences ->
+ preferences[lastUsedNetworkBSSIDInputKey] = lastUsedNetworkBSSIDInput
+ }
+ }
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/features/add/AddNetworkUIState.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/features/add/AddNetworkUIState.kt
new file mode 100644
index 00000000..c8ab7e9d
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/features/add/AddNetworkUIState.kt
@@ -0,0 +1,99 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.features.add
+
+import com.isupatches.android.wisefy.addnetwork.entities.AddNetworkResult
+import com.isupatches.android.wisefy.core.exceptions.WisefyException
+import com.isupatches.android.wisefy.sample.entities.NetworkType
+
+internal data class AddNetworkUIState(
+ val loadingState: AddNetworkLoadingState,
+ val dialogState: AddNetworkDialogState,
+ val inputState: AddNetworkInputState,
+ val networkType: NetworkType
+)
+
+internal data class AddNetworkLoadingState(val isLoading: Boolean)
+
+internal sealed class AddNetworkDialogState {
+
+ object None : AddNetworkDialogState()
+
+ sealed class Failure : AddNetworkDialogState() {
+ data class WisefyAsync(val exception: WisefyException) : Failure()
+ }
+
+ sealed class AddNetwork : AddNetworkDialogState() {
+ data class Failure(val result: AddNetworkResult.Failure) : AddNetwork()
+
+ data class Success(val result: AddNetworkResult.Success) : AddNetwork()
+
+ sealed class PermissionsError : AddNetwork() {
+ object AddOpenNetwork : PermissionsError()
+ object AddWPA2Network : PermissionsError()
+ object AddWPA3Network : PermissionsError()
+ }
+ }
+
+ sealed class InputError : AddNetworkDialogState() {
+ object SSID : InputError()
+ object Passphrase : InputError()
+ object BSSID : InputError()
+ }
+}
+
+internal data class AddNetworkInputState(
+ val ssidInput: String,
+ val ssidInputValidityState: AddNetworkSSIDInputValidityState,
+ val passphraseInput: String,
+ val passphraseInputValidityState: AddNetworkPassphraseInputValidityState,
+ val bssidInput: String?,
+ val bssidInputValidityState: AddNetworkBSSIDInputValidityState
+)
+
+internal sealed class AddNetworkSSIDInputValidityState {
+ object Valid : AddNetworkSSIDInputValidityState()
+
+ sealed class Invalid : AddNetworkSSIDInputValidityState() {
+ object Empty : Invalid()
+ object TooShort : Invalid()
+ object TooLong : Invalid()
+ object InvalidCharacters : Invalid()
+ object InvalidStartCharacters : Invalid()
+ object LeadingOrTrailingSpaces : Invalid()
+ object InvalidUnicode : Invalid()
+ }
+}
+
+internal sealed class AddNetworkPassphraseInputValidityState {
+ object Valid : AddNetworkPassphraseInputValidityState()
+
+ sealed class Invalid : AddNetworkPassphraseInputValidityState() {
+ object Empty : Invalid()
+ object TooShort : Invalid()
+ object TooLong : Invalid()
+ object InvalidASCII : Invalid()
+ }
+}
+
+internal sealed class AddNetworkBSSIDInputValidityState {
+ sealed class Valid : AddNetworkBSSIDInputValidityState() {
+ object Empty : Valid()
+ object BSSID : Valid()
+ }
+
+ object Invalid : AddNetworkBSSIDInputValidityState()
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/features/add/AddNetworkViewModel.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/features/add/AddNetworkViewModel.kt
new file mode 100644
index 00000000..8292aaec
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/features/add/AddNetworkViewModel.kt
@@ -0,0 +1,319 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.features.add
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import android.Manifest.permission.CHANGE_WIFI_STATE
+import android.content.Context
+import androidx.annotation.RequiresPermission
+import androidx.compose.runtime.State
+import androidx.compose.runtime.mutableStateOf
+import androidx.lifecycle.viewModelScope
+import com.isupatches.android.wisefy.WisefyApi
+import com.isupatches.android.wisefy.addnetwork.entities.AddNetworkRequest
+import com.isupatches.android.wisefy.addnetwork.entities.AddNetworkResult
+import com.isupatches.android.wisefy.core.exceptions.WisefyException
+import com.isupatches.android.wisefy.ktx.addNetworkAsync
+import com.isupatches.android.wisefy.sample.entities.NetworkType
+import com.isupatches.android.wisefy.sample.scaffolding.BaseViewModel
+import com.isupatches.android.wisefy.sample.scaffolding.BaseViewModelFactory
+import com.isupatches.android.wisefy.sample.util.BSSIDInputError
+import com.isupatches.android.wisefy.sample.util.ErrorMessages
+import com.isupatches.android.wisefy.sample.util.PassphraseInputError
+import com.isupatches.android.wisefy.sample.util.SSIDInputError
+import com.isupatches.android.wisefy.sample.util.SdkUtil
+import com.isupatches.android.wisefy.sample.util.validateBSSID
+import com.isupatches.android.wisefy.sample.util.validatePassphrase
+import com.isupatches.android.wisefy.sample.util.validateSSID
+import kotlinx.coroutines.flow.collectLatest
+import kotlinx.coroutines.launch
+
+internal abstract class AddNetworkViewModel : BaseViewModel() {
+ abstract val uiState: State
+
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
+ abstract suspend fun addNetwork()
+
+ abstract fun onDialogClosed()
+
+ abstract fun onSSIDInputChanged(input: String)
+ abstract fun onBSSIDInputChanged(input: String)
+ abstract fun onPassphraseInputChanged(input: String)
+
+ abstract fun onNetworkTypeSelected(networkType: NetworkType)
+
+ abstract fun onAddNetworkPermissionsError()
+}
+
+internal class DefaultAddNetworkViewModel(
+ context: Context,
+ private val wisefy: WisefyApi,
+ private val sdkUtil: SdkUtil,
+ private val addNetworkStore: AddNetworkStore = DefaultAddNetworkStore(context = context)
+) : AddNetworkViewModel() {
+
+ private val _uiState = mutableStateOf(
+ AddNetworkUIState(
+ loadingState = AddNetworkLoadingState(false),
+ dialogState = AddNetworkDialogState.None,
+ inputState = AddNetworkInputState(
+ ssidInput = "",
+ ssidInputValidityState = AddNetworkSSIDInputValidityState.Invalid.Empty,
+ passphraseInput = "",
+ passphraseInputValidityState = AddNetworkPassphraseInputValidityState.Invalid.Empty,
+ bssidInput = "",
+ bssidInputValidityState = AddNetworkBSSIDInputValidityState.Valid.Empty
+ ),
+ networkType = NetworkType.OPEN
+ )
+ )
+ override val uiState: State
+ get() = _uiState
+
+ init {
+ viewModelScope.launch {
+ addNetworkStore.getNetworkType()
+ .collectLatest { networkType ->
+ _uiState.value = uiState.value.copy(
+ networkType = networkType
+ )
+ }
+ }
+
+ viewModelScope.launch {
+ addNetworkStore.getLastUsedNetworkInput()
+ .collectLatest { input ->
+ val newSSIDInputValidityState = when (input.validateSSID()) {
+ SSIDInputError.EMPTY -> AddNetworkSSIDInputValidityState.Invalid.Empty
+ SSIDInputError.TOO_SHORT -> AddNetworkSSIDInputValidityState.Invalid.TooShort
+ SSIDInputError.TOO_LONG -> AddNetworkSSIDInputValidityState.Invalid.TooLong
+ SSIDInputError.INVALID_CHARACTERS -> AddNetworkSSIDInputValidityState.Invalid.InvalidCharacters
+ SSIDInputError.INVALID_START_CHARACTERS -> {
+ AddNetworkSSIDInputValidityState.Invalid.InvalidStartCharacters
+ }
+ SSIDInputError.LEADING_OR_TRAILING_SPACES -> {
+ AddNetworkSSIDInputValidityState.Invalid.LeadingOrTrailingSpaces
+ }
+ SSIDInputError.NOT_VALID_UNICODE -> AddNetworkSSIDInputValidityState.Invalid.InvalidUnicode
+ SSIDInputError.NONE -> AddNetworkSSIDInputValidityState.Valid
+ }
+ _uiState.value = uiState.value.copy(
+ inputState = uiState.value.inputState.copy(
+ ssidInput = input,
+ ssidInputValidityState = newSSIDInputValidityState
+ )
+ )
+ }
+ }
+
+ viewModelScope.launch {
+ addNetworkStore.getLastUsedNetworkPassphraseInput()
+ .collectLatest { input ->
+ val newPassphraseInputValidityState = when (input.validatePassphrase()) {
+ PassphraseInputError.NONE -> AddNetworkPassphraseInputValidityState.Valid
+ PassphraseInputError.TOO_SHORT -> AddNetworkPassphraseInputValidityState.Invalid.TooShort
+ PassphraseInputError.TOO_LONG -> AddNetworkPassphraseInputValidityState.Invalid.TooLong
+ PassphraseInputError.NOT_VALID_ASCII -> {
+ AddNetworkPassphraseInputValidityState.Invalid.InvalidASCII
+ }
+ }
+ _uiState.value = uiState.value.copy(
+ inputState = uiState.value.inputState.copy(
+ passphraseInput = input,
+ passphraseInputValidityState = newPassphraseInputValidityState
+ )
+ )
+ }
+ }
+
+ viewModelScope.launch {
+ addNetworkStore.getLastUsedNetworkBSSIDInput()
+ .collectLatest { input ->
+ val newBSSIDInputValidityState = when (input.validateBSSID()) {
+ BSSIDInputError.NONE -> AddNetworkBSSIDInputValidityState.Valid.BSSID
+ BSSIDInputError.EMPTY -> AddNetworkBSSIDInputValidityState.Valid.Empty
+ BSSIDInputError.INVALID -> AddNetworkBSSIDInputValidityState.Invalid
+ }
+ _uiState.value = uiState.value.copy(
+ inputState = uiState.value.inputState.copy(
+ bssidInput = input,
+ bssidInputValidityState = newBSSIDInputValidityState
+ )
+ )
+ }
+ }
+ }
+
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
+ override suspend fun addNetwork() {
+ if (isInputInvalid()) {
+ return
+ }
+ _uiState.value = uiState.value.copy(
+ loadingState = AddNetworkLoadingState(isLoading = true),
+ dialogState = AddNetworkDialogState.None
+ )
+ val request = when (uiState.value.networkType) {
+ NetworkType.OPEN -> {
+ AddNetworkRequest.Open(
+ ssid = uiState.value.inputState.ssidInput,
+ bssid = uiState.value.inputState.bssidInput
+ )
+ }
+ NetworkType.WPA2 -> {
+ AddNetworkRequest.WPA2(
+ ssid = uiState.value.inputState.ssidInput,
+ passphrase = uiState.value.inputState.passphraseInput,
+ bssid = uiState.value.inputState.bssidInput
+ )
+ }
+ NetworkType.WPA3 -> {
+ if (sdkUtil.isAtLeastQ()) {
+ AddNetworkRequest.WPA3(
+ ssid = uiState.value.inputState.ssidInput,
+ passphrase = uiState.value.inputState.passphraseInput,
+ bssid = uiState.value.inputState.bssidInput
+ )
+ } else {
+ /*
+ * The UI not displaying the WPA3 option on pre-Android Q / SDK 29 devices
+ * will prevent us from getting here.
+ */
+ error(ErrorMessages.AddNetwork.WPA3_NETWORK_ADD_ON_PRE_ANDROID_Q_DEVICE)
+ }
+ }
+ }
+ when (val result = getAddNetworkResult(request)) {
+ is AddNetworkResult.Success -> {
+ _uiState.value = uiState.value.copy(
+ loadingState = AddNetworkLoadingState(false),
+ dialogState = AddNetworkDialogState.AddNetwork.Success(result)
+ )
+ }
+ is AddNetworkResult.Failure -> {
+ _uiState.value = uiState.value.copy(
+ loadingState = AddNetworkLoadingState(false),
+ dialogState = AddNetworkDialogState.AddNetwork.Failure(result)
+ )
+ }
+ null -> {
+ // Case handled above in the catch clause
+ }
+ }
+ }
+
+ private fun isInputInvalid(): Boolean {
+ val currentInputState = uiState.value.inputState
+ if (currentInputState.ssidInputValidityState !is AddNetworkSSIDInputValidityState.Valid) {
+ _uiState.value = uiState.value.copy(
+ loadingState = AddNetworkLoadingState(isLoading = false),
+ dialogState = AddNetworkDialogState.InputError.SSID
+ )
+ return true
+ }
+ if (currentInputState.bssidInputValidityState !is AddNetworkBSSIDInputValidityState.Valid) {
+ _uiState.value = uiState.value.copy(
+ loadingState = AddNetworkLoadingState(isLoading = false),
+ dialogState = AddNetworkDialogState.InputError.BSSID
+ )
+ return true
+ }
+ return when (uiState.value.networkType) {
+ NetworkType.WPA2, NetworkType.WPA3 -> {
+ if (currentInputState.passphraseInputValidityState !is AddNetworkPassphraseInputValidityState.Valid) {
+ _uiState.value = uiState.value.copy(
+ loadingState = AddNetworkLoadingState(isLoading = false),
+ dialogState = AddNetworkDialogState.InputError.Passphrase
+ )
+ true
+ } else {
+ false
+ }
+ }
+ NetworkType.OPEN -> false
+ }
+ }
+
+ override fun onSSIDInputChanged(input: String) {
+ viewModelScope.launch {
+ addNetworkStore.setLastUsedNetworkInput(input)
+ }
+ }
+
+ override fun onPassphraseInputChanged(input: String) {
+ viewModelScope.launch {
+ addNetworkStore.setLastUsedNetworkPassphraseInput(input)
+ }
+ }
+
+ override fun onBSSIDInputChanged(input: String) {
+ viewModelScope.launch {
+ addNetworkStore.setLastUsedNetworkBSSIDInput(input)
+ }
+ }
+
+ override fun onNetworkTypeSelected(networkType: NetworkType) {
+ viewModelScope.launch {
+ addNetworkStore.setNetworkType(networkType = networkType)
+ when (networkType) {
+ NetworkType.OPEN -> addNetworkStore.setLastUsedNetworkPassphraseInput("")
+ NetworkType.WPA2, NetworkType.WPA3 -> {
+ // No-op
+ }
+ }
+ }
+ }
+
+ override fun onDialogClosed() {
+ _uiState.value = uiState.value.copy(
+ loadingState = AddNetworkLoadingState(isLoading = false),
+ dialogState = AddNetworkDialogState.None
+ )
+ }
+
+ override fun onAddNetworkPermissionsError() {
+ _uiState.value = uiState.value.copy(
+ loadingState = AddNetworkLoadingState(isLoading = false),
+ dialogState = when (uiState.value.networkType) {
+ NetworkType.OPEN -> AddNetworkDialogState.AddNetwork.PermissionsError.AddOpenNetwork
+ NetworkType.WPA2 -> AddNetworkDialogState.AddNetwork.PermissionsError.AddWPA2Network
+ NetworkType.WPA3 -> AddNetworkDialogState.AddNetwork.PermissionsError.AddWPA3Network
+ }
+ )
+ }
+
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
+ private suspend fun getAddNetworkResult(request: AddNetworkRequest): AddNetworkResult? {
+ return try {
+ wisefy.addNetworkAsync(request)
+ } catch (ex: WisefyException) {
+ _uiState.value = uiState.value.copy(
+ loadingState = AddNetworkLoadingState(false),
+ dialogState = AddNetworkDialogState.Failure.WisefyAsync(exception = ex)
+ )
+ null
+ }
+ }
+}
+
+internal class AddNetworkViewModelFactory(
+ private val context: Context,
+ private val wisefy: WisefyApi,
+ private val sdkUtil: SdkUtil
+) : BaseViewModelFactory(
+ supportedClass = AddNetworkViewModel::class,
+ vmProvider = { DefaultAddNetworkViewModel(context, wisefy, sdkUtil) }
+)
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/MiscScreen.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/MiscScreen.kt
new file mode 100644
index 00000000..09c35aef
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/MiscScreen.kt
@@ -0,0 +1,66 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.features.misc
+
+import android.content.res.Configuration
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.tooling.preview.Preview
+import androidx.lifecycle.viewmodel.compose.viewModel
+import androidx.navigation.NavHostController
+import androidx.navigation.compose.rememberNavController
+import com.isupatches.android.wisefy.WisefyApi
+import com.isupatches.android.wisefy.sample.ui.ComposablePreviewWisefy
+import com.isupatches.android.wisefy.sample.ui.components.WisefySampleLoadingIndicator
+import com.isupatches.android.wisefy.sample.util.DefaultSdkUtil
+import com.isupatches.android.wisefy.sample.util.SdkUtil
+
+@Composable
+internal fun MiscScreen(
+ wisefy: WisefyApi,
+ sdkUtil: SdkUtil,
+ navController: NavHostController,
+ viewModel: MiscViewModel = viewModel(factory = MiscViewModelFactory(wisefy))
+) {
+ WisefySampleLoadingIndicator(isLoading = { viewModel.uiState.value.loadingState.isLoading })
+ MiscScreenDialogContent(dialogState = { viewModel.uiState.value.dialogState }, viewModel = viewModel)
+ MiscScreenContent(
+ viewModel = viewModel,
+ sdkUtil = sdkUtil,
+ router = DefaultMiscScreenRouter(navController = navController)
+ )
+}
+
+@Preview(showBackground = true)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun MiscScreenLightPreview() {
+ MiscScreen(
+ wisefy = ComposablePreviewWisefy(),
+ navController = rememberNavController(),
+ sdkUtil = DefaultSdkUtil()
+ )
+}
+
+@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun MiscScreenDarkPreview() {
+ MiscScreen(
+ wisefy = ComposablePreviewWisefy(),
+ navController = rememberNavController(),
+ sdkUtil = DefaultSdkUtil()
+ )
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/MiscScreenContent.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/MiscScreenContent.kt
new file mode 100644
index 00000000..beb33b1f
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/MiscScreenContent.kt
@@ -0,0 +1,248 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.features.misc
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import android.Manifest.permission.ACCESS_NETWORK_STATE
+import android.Manifest.permission.ACCESS_WIFI_STATE
+import android.Manifest.permission.CHANGE_WIFI_STATE
+import android.content.res.Configuration
+import androidx.activity.compose.rememberLauncherForActivityResult
+import androidx.activity.result.contract.ActivityResultContracts
+import androidx.annotation.StringRes
+import androidx.compose.foundation.ExperimentalFoundationApi
+import androidx.compose.foundation.layout.Arrangement
+import androidx.compose.foundation.layout.PaddingValues
+import androidx.compose.foundation.layout.Row
+import androidx.compose.foundation.lazy.LazyColumn
+import androidx.compose.foundation.lazy.items
+import androidx.compose.foundation.lazy.rememberLazyListState
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.rememberCoroutineScope
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.tooling.preview.Preview
+import androidx.navigation.compose.rememberNavController
+import com.isupatches.android.wisefy.sample.R
+import com.isupatches.android.wisefy.sample.logging.WisefySampleLogger
+import com.isupatches.android.wisefy.sample.ui.ComposablePreviewWisefy
+import com.isupatches.android.wisefy.sample.ui.components.WisefyPrimaryButton
+import com.isupatches.android.wisefy.sample.ui.primitives.WisefySampleSizes
+import com.isupatches.android.wisefy.sample.ui.theme.WisefySampleTheme
+import com.isupatches.android.wisefy.sample.util.DefaultSdkUtil
+import com.isupatches.android.wisefy.sample.util.SdkUtil
+import com.isupatches.android.wisefy.wifi.entities.DisableWifiRequest
+import com.isupatches.android.wisefy.wifi.entities.EnableWifiRequest
+import kotlinx.coroutines.launch
+
+private const val LOG_TAG = "MiscScreenContent"
+
+@Composable
+internal fun MiscScreenContent(
+ viewModel: MiscViewModel,
+ sdkUtil: SdkUtil,
+ router: MiscScreenRouter
+) {
+ WisefySampleTheme {
+ val scope = rememberCoroutineScope()
+ val context = LocalContext.current
+
+ val enableWifiPermissionsLauncher =
+ rememberLauncherForActivityResult(ActivityResultContracts.RequestPermission()) { isGranted ->
+ if (isGranted) {
+ scope.launch {
+ if (sdkUtil.isAtLeastQ()) {
+ viewModel.enableWifi(request = EnableWifiRequest.Android29OrAbove(context))
+ } else {
+ viewModel.enableWifi(request = EnableWifiRequest.Default)
+ }
+ }
+ } else {
+ WisefySampleLogger.w(LOG_TAG, "Permissions for enabling wifi are denied")
+ viewModel.onEnableWifiPermissionsError()
+ }
+ }
+
+ val disableWifiPermissionsLauncher =
+ rememberLauncherForActivityResult(ActivityResultContracts.RequestPermission()) { isGranted ->
+ if (isGranted) {
+ scope.launch {
+ if (sdkUtil.isAtLeastQ()) {
+ viewModel.disableWifi(request = DisableWifiRequest.Android29OrAbove(context))
+ } else {
+ viewModel.disableWifi(request = DisableWifiRequest.Default)
+ }
+ }
+ } else {
+ WisefySampleLogger.w(LOG_TAG, "Permissions for disabling wifi are denied")
+ viewModel.onDisableWifiPermissionsError()
+ }
+ }
+
+ val getCurrentNetworkPermissionsLauncher =
+ rememberLauncherForActivityResult(ActivityResultContracts.RequestPermission()) { isGranted ->
+ if (isGranted) {
+ scope.launch {
+ viewModel.getCurrentNetwork()
+ }
+ } else {
+ WisefySampleLogger.w(LOG_TAG, "Permissions for getting current network info are denied")
+ viewModel.onGetCurrentNetworkPermissionsError()
+ }
+ }
+
+ val getNetworkConnectionStatusPermissionsLauncher =
+ rememberLauncherForActivityResult(ActivityResultContracts.RequestPermission()) { isGranted ->
+ if (isGranted) {
+ scope.launch {
+ viewModel.getNetworkConnectionStatus()
+ }
+ } else {
+ WisefySampleLogger.w(LOG_TAG, "Permissions for getting network connection status are denied")
+ viewModel.onGetNetworkConnectionStatusPermissionError()
+ }
+ }
+
+ val getSavedNetworksPermissionsLauncher =
+ rememberLauncherForActivityResult(ActivityResultContracts.RequestMultiplePermissions()) { result ->
+ if (result.all { it.value }) {
+ scope.launch {
+ viewModel.getSavedNetworks()
+ }
+ } else {
+ WisefySampleLogger.w(LOG_TAG, "Permissions for getting saved networks are denied")
+ viewModel.onGetSavedNetworksPermissionsError()
+ }
+ }
+
+ val isWifiEnabledPermissionsLauncher =
+ rememberLauncherForActivityResult(ActivityResultContracts.RequestPermission()) { isGranted ->
+ if (isGranted) {
+ scope.launch {
+ viewModel.isWifiEnabled()
+ }
+ } else {
+ WisefySampleLogger.w(LOG_TAG, "Permissions for checking if wifi is enabled are denied")
+ viewModel.onIsWifiEnabledPermissionsError()
+ }
+ }
+
+ val onMiscOptionClicked: (MiscScreenOption) -> Unit = { option ->
+ when (option) {
+ MiscScreenOption.CHANGE_NETWORK -> {
+ if (sdkUtil.isAtLeastQ()) {
+ scope.launch {
+ viewModel.changeNetwork(context = context)
+ }
+ } else {
+ viewModel.onChangeNetworkPreAndroidQ()
+ }
+ }
+ MiscScreenOption.DISABLE_WIFI -> {
+ disableWifiPermissionsLauncher.launch(CHANGE_WIFI_STATE)
+ }
+ MiscScreenOption.ENABLE_WIFI -> {
+ enableWifiPermissionsLauncher.launch(CHANGE_WIFI_STATE)
+ }
+ MiscScreenOption.GET_CURRENT_NETWORK -> {
+ getCurrentNetworkPermissionsLauncher.launch(ACCESS_NETWORK_STATE)
+ }
+ MiscScreenOption.GET_NEARBY_ACCESS_POINTS -> router.openNearbyAccessPointsScreen()
+ MiscScreenOption.GET_NETWORK_CONNECTION_STATUS -> {
+ getNetworkConnectionStatusPermissionsLauncher.launch(ACCESS_NETWORK_STATE)
+ }
+ MiscScreenOption.GET_SAVED_NETWORKS -> {
+ getSavedNetworksPermissionsLauncher.launch(arrayOf(ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE))
+ }
+ MiscScreenOption.IS_WIFI_ENABLED -> {
+ isWifiEnabledPermissionsLauncher.launch(ACCESS_WIFI_STATE)
+ }
+ MiscScreenOption.SIGNAL_FUNCTIONS -> router.openSignalScreen()
+ }
+ }
+
+ val listState = rememberLazyListState()
+ LazyColumn(
+ state = listState,
+ verticalArrangement = Arrangement.spacedBy(WisefySampleSizes.Large),
+ contentPadding = PaddingValues(
+ top = WisefySampleSizes.WisefySampleTopMargin,
+ bottom = WisefySampleSizes.WisefySampleBottomMargin,
+ start = WisefySampleSizes.WisefySampleHorizontalMargins,
+ end = WisefySampleSizes.WisefySampleHorizontalMargins
+ )
+ ) {
+ items(MiscScreenOption.values(), { it.id }) { option ->
+ @OptIn(ExperimentalFoundationApi::class)
+ Row(modifier = Modifier.animateItemPlacement()) {
+ MiscScreenOptionRow(option = option, onClick = onMiscOptionClicked)
+ }
+ }
+ }
+ }
+}
+
+internal enum class MiscScreenOption(val id: Long, @StringRes val stringResId: Int) {
+ CHANGE_NETWORK(R.id.change_network.toLong(), R.string.change_network),
+ DISABLE_WIFI(R.id.disable_wifi.toLong(), R.string.disable_wifi),
+ ENABLE_WIFI(R.id.enable_wifi.toLong(), R.string.enabled_wifi),
+ GET_CURRENT_NETWORK(R.id.get_current_network.toLong(), R.string.get_current_network),
+ GET_NEARBY_ACCESS_POINTS(R.id.get_nearby_access_points.toLong(), R.string.get_nearby_access_points),
+ GET_NETWORK_CONNECTION_STATUS(R.id.get_network_connection_status.toLong(), R.string.get_network_connection_status),
+ GET_SAVED_NETWORKS(R.id.get_saved_networks.toLong(), R.string.get_saved_networks),
+ IS_WIFI_ENABLED(R.id.is_wifi_enabled.toLong(), R.string.is_wifi_enabled),
+ SIGNAL_FUNCTIONS(R.id.signal_functions.toLong(), R.string.signal_functions)
+}
+
+@Composable
+private fun MiscScreenOptionRow(option: MiscScreenOption, onClick: (MiscScreenOption) -> Unit) {
+ WisefyPrimaryButton(
+ stringResId = option.stringResId,
+ onClick = {
+ onClick(option)
+ }
+ )
+}
+
+@Preview(showBackground = true)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun MiscScreenContentLightPreview() {
+ MiscScreenContent(
+ viewModel = DefaultMiscViewModel(
+ wisefy = ComposablePreviewWisefy()
+ ),
+ sdkUtil = DefaultSdkUtil(),
+ router = DefaultMiscScreenRouter(
+ navController = rememberNavController()
+ )
+ )
+}
+
+@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun MiscScreenContentDarkPreview() {
+ MiscScreenContent(
+ viewModel = DefaultMiscViewModel(
+ wisefy = ComposablePreviewWisefy()
+ ),
+ sdkUtil = DefaultSdkUtil(),
+ router = DefaultMiscScreenRouter(
+ navController = rememberNavController()
+ )
+ )
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/MiscScreenDialogContent.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/MiscScreenDialogContent.kt
new file mode 100644
index 00000000..0d818add
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/MiscScreenDialogContent.kt
@@ -0,0 +1,310 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.features.misc
+
+import android.content.res.Configuration
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.tooling.preview.Preview
+import androidx.compose.ui.tooling.preview.PreviewParameter
+import androidx.compose.ui.tooling.preview.PreviewParameterProvider
+import com.isupatches.android.wisefy.core.exceptions.WisefyException
+import com.isupatches.android.wisefy.networkconnection.entities.ChangeNetworkResult
+import com.isupatches.android.wisefy.networkinfo.entities.GetNetworkConnectionStatusResult
+import com.isupatches.android.wisefy.networkinfo.entities.NetworkConnectionStatusData
+import com.isupatches.android.wisefy.networkinfo.entities.NetworkData
+import com.isupatches.android.wisefy.sample.R
+import com.isupatches.android.wisefy.sample.ui.ComposablePreviewWisefy
+import com.isupatches.android.wisefy.sample.ui.components.WisefySampleNoticeDialog
+import com.isupatches.android.wisefy.wifi.entities.DisableWifiResult
+import com.isupatches.android.wisefy.wifi.entities.EnableWifiResult
+
+@Composable
+internal fun MiscScreenDialogContent(
+ dialogState: () -> MiscDialogState,
+ viewModel: MiscViewModel
+) {
+ when (val currentDialogState = dialogState()) {
+ is MiscDialogState.None -> {
+ // No-op, no dialog
+ }
+ is MiscDialogState.Failure.WisefyAsync -> {
+ WisefySampleNoticeDialog(
+ title = R.string.wisefy_async_error,
+ body = R.string.wisefy_async_error_descriptions_args,
+ currentDialogState.exception.message ?: "",
+ currentDialogState.exception.cause?.message ?: "",
+ onClose = {
+ viewModel.onDialogClosed()
+ }
+ )
+ }
+ is MiscDialogState.ChangeNetwork.Failure -> {
+ WisefySampleNoticeDialog(
+ title = R.string.change_network,
+ body = R.string.failure_changing_network_args,
+ currentDialogState.result,
+ onClose = {
+ viewModel.onDialogClosed()
+ }
+ )
+ }
+ is MiscDialogState.ChangeNetwork.PreAndroidQ -> {
+ WisefySampleNoticeDialog(
+ title = R.string.change_network,
+ body = R.string.change_network_called_pre_android_q,
+ onClose = {
+ viewModel.onDialogClosed()
+ }
+ )
+ }
+ is MiscDialogState.ChangeNetwork.Success -> {
+ WisefySampleNoticeDialog(
+ title = R.string.change_network,
+ body = R.string.success_changing_network_args,
+ currentDialogState.result,
+ onClose = {
+ viewModel.onDialogClosed()
+ }
+ )
+ }
+ is MiscDialogState.DisableWifi.Failure -> {
+ WisefySampleNoticeDialog(
+ title = R.string.disable_wifi,
+ body = R.string.failure_disabling_wifi_args,
+ currentDialogState.result,
+ onClose = {
+ viewModel.onDialogClosed()
+ }
+ )
+ }
+ is MiscDialogState.DisableWifi.PermissionsError -> {
+ WisefySampleNoticeDialog(
+ title = R.string.permission_error,
+ body = R.string.permission_error_disable_wifi,
+ onClose = {
+ viewModel.onDialogClosed()
+ }
+ )
+ }
+ is MiscDialogState.DisableWifi.Success -> {
+ WisefySampleNoticeDialog(
+ title = R.string.disable_wifi,
+ body = R.string.success_disabling_wifi_args,
+ currentDialogState.result,
+ onClose = {
+ viewModel.onDialogClosed()
+ }
+ )
+ }
+ is MiscDialogState.EnableWifi.Failure -> {
+ WisefySampleNoticeDialog(
+ title = R.string.enabled_wifi,
+ body = R.string.failure_enabling_wifi_args,
+ currentDialogState.result,
+ onClose = {
+ viewModel.onDialogClosed()
+ }
+ )
+ }
+ is MiscDialogState.EnableWifi.PermissionsError -> {
+ WisefySampleNoticeDialog(
+ title = R.string.permission_error,
+ body = R.string.permission_error_enable_wifi,
+ onClose = {
+ viewModel.onDialogClosed()
+ }
+ )
+ }
+ is MiscDialogState.EnableWifi.Success -> {
+ WisefySampleNoticeDialog(
+ title = R.string.enabled_wifi,
+ body = R.string.success_enabling_wifi_args,
+ currentDialogState.result,
+ onClose = {
+ viewModel.onDialogClosed()
+ }
+ )
+ }
+ is MiscDialogState.GetCurrentNetwork.Failure -> {
+ WisefySampleNoticeDialog(
+ title = R.string.get_current_network,
+ body = R.string.no_current_network,
+ onClose = {
+ viewModel.onDialogClosed()
+ }
+ )
+ }
+ is MiscDialogState.GetCurrentNetwork.PermissionsError -> {
+ WisefySampleNoticeDialog(
+ title = R.string.permission_error,
+ body = R.string.permission_error_get_current_network,
+ onClose = {
+ viewModel.onDialogClosed()
+ }
+ )
+ }
+ is MiscDialogState.GetCurrentNetwork.Success -> {
+ WisefySampleNoticeDialog(
+ title = R.string.get_current_network,
+ body = R.string.current_network_args,
+ currentDialogState.network,
+ onClose = {
+ viewModel.onDialogClosed()
+ }
+ )
+ }
+ is MiscDialogState.GetNetworkConnectionStatus.Success -> {
+ WisefySampleNoticeDialog(
+ title = R.string.get_network_connection_status,
+ body = R.string.network_connection_status_args,
+ currentDialogState.data,
+ onClose = {
+ viewModel.onDialogClosed()
+ }
+ )
+ }
+ is MiscDialogState.GetNetworkConnectionStatus.PermissionsError -> {
+ WisefySampleNoticeDialog(
+ title = R.string.permission_error,
+ body = R.string.permission_error_get_network_connection_status,
+ onClose = {
+ viewModel.onDialogClosed()
+ }
+ )
+ }
+ is MiscDialogState.GetSavedNetworks.Failure -> {
+ WisefySampleNoticeDialog(
+ title = R.string.get_saved_networks,
+ body = R.string.no_saved_networks_found,
+ onClose = {
+ viewModel.onDialogClosed()
+ }
+ )
+ }
+ is MiscDialogState.GetSavedNetworks.PermissionsError -> {
+ WisefySampleNoticeDialog(
+ title = R.string.permission_error,
+ body = R.string.permission_error_get_saved_networks,
+ onClose = {
+ viewModel.onDialogClosed()
+ }
+ )
+ }
+ is MiscDialogState.GetSavedNetworks.Success -> {
+ WisefySampleNoticeDialog(
+ title = R.string.get_saved_networks,
+ body = R.string.saved_network_args,
+ currentDialogState.savedNetworks,
+ onClose = {
+ viewModel.onDialogClosed()
+ }
+ )
+ }
+ is MiscDialogState.IsWifiEnabled.False -> {
+ WisefySampleNoticeDialog(
+ title = R.string.is_wifi_enabled,
+ body = R.string.wifi_is_disabled,
+ onClose = {
+ viewModel.onDialogClosed()
+ }
+ )
+ }
+ is MiscDialogState.IsWifiEnabled.PermissionsError -> {
+ WisefySampleNoticeDialog(
+ title = R.string.permission_error,
+ body = R.string.permission_error_is_wifi_enabled,
+ onClose = {
+ viewModel.onDialogClosed()
+ }
+ )
+ }
+ is MiscDialogState.IsWifiEnabled.True -> {
+ WisefySampleNoticeDialog(
+ title = R.string.is_wifi_enabled,
+ body = R.string.wifi_is_enabled,
+ onClose = {
+ viewModel.onDialogClosed()
+ }
+ )
+ }
+ }
+}
+
+@Preview(showBackground = true)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun MiscScreenDialogContentLightPreview(
+ @PreviewParameter(MiscScreenDialogStatePreviewParameterProvider::class) dialogState: MiscDialogState
+) {
+ MiscScreenDialogContent(
+ viewModel = DefaultMiscViewModel(
+ wisefy = ComposablePreviewWisefy()
+ ),
+ dialogState = { dialogState }
+ )
+}
+
+@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun MiscScreenDialogContentDarkPreview(
+ @PreviewParameter(MiscScreenDialogStatePreviewParameterProvider::class) dialogState: MiscDialogState
+) {
+ MiscScreenDialogContent(
+ viewModel = DefaultMiscViewModel(
+ wisefy = ComposablePreviewWisefy()
+ ),
+ dialogState = { dialogState }
+ )
+}
+
+private class MiscScreenDialogStatePreviewParameterProvider : PreviewParameterProvider {
+ override val values: Sequence = sequenceOf(
+ MiscDialogState.Failure.WisefyAsync(WisefyException("", null)),
+ MiscDialogState.ChangeNetwork.Failure(ChangeNetworkResult.Failure.Assertion("")),
+ MiscDialogState.ChangeNetwork.PreAndroidQ,
+ MiscDialogState.ChangeNetwork.Success(ChangeNetworkResult.Success.InternetConnectivityPanelOpened),
+ MiscDialogState.DisableWifi.Success(DisableWifiResult.Success.Disabled),
+ MiscDialogState.DisableWifi.Failure(DisableWifiResult.Failure.UnableToDisable),
+ MiscDialogState.DisableWifi.PermissionsError,
+ MiscDialogState.EnableWifi.Success(EnableWifiResult.Success.Enabled),
+ MiscDialogState.EnableWifi.Failure(EnableWifiResult.Failure.UnableToEnable),
+ MiscDialogState.EnableWifi.PermissionsError,
+ MiscDialogState.GetCurrentNetwork.Failure,
+ MiscDialogState.GetCurrentNetwork.PermissionsError,
+ MiscDialogState.GetCurrentNetwork.Success(NetworkData(null, null, null, null)),
+ MiscDialogState.GetNetworkConnectionStatus.Success(
+ GetNetworkConnectionStatusResult(
+ value = NetworkConnectionStatusData(
+ isConnected = false,
+ isConnectedToMobileNetwork = false,
+ isConnectedToWifiNetwork = false,
+ isRoaming = false,
+ ssidOfNetworkConnectedTo = null,
+ bssidOfNetworkConnectedTo = null,
+ ip = null
+ )
+ )
+ ),
+ MiscDialogState.GetNetworkConnectionStatus.PermissionsError,
+ MiscDialogState.GetSavedNetworks.Failure,
+ MiscDialogState.GetSavedNetworks.PermissionsError,
+ MiscDialogState.GetSavedNetworks.Success(emptyList()),
+ MiscDialogState.IsWifiEnabled.False,
+ MiscDialogState.IsWifiEnabled.True,
+ MiscDialogState.IsWifiEnabled.PermissionsError
+ )
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/MiscScreenRouter.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/MiscScreenRouter.kt
new file mode 100644
index 00000000..7286cd49
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/MiscScreenRouter.kt
@@ -0,0 +1,37 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.features.misc
+
+import androidx.navigation.NavHostController
+import com.isupatches.android.wisefy.sample.ui.components.navigation.WisefySampleNavGraph
+
+internal interface MiscScreenRouter {
+ fun openNearbyAccessPointsScreen()
+ fun openSignalScreen()
+}
+
+internal class DefaultMiscScreenRouter(
+ private val navController: NavHostController
+) : MiscScreenRouter {
+
+ override fun openNearbyAccessPointsScreen() {
+ navController.navigate(WisefySampleNavGraph.Misc.NearbyAccessPoints.route)
+ }
+
+ override fun openSignalScreen() {
+ navController.navigate(WisefySampleNavGraph.Misc.Signal.route)
+ }
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/MiscUIState.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/MiscUIState.kt
new file mode 100644
index 00000000..a98cc205
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/MiscUIState.kt
@@ -0,0 +1,83 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.features.misc
+
+import com.isupatches.android.wisefy.core.exceptions.WisefyException
+import com.isupatches.android.wisefy.networkconnection.entities.ChangeNetworkResult
+import com.isupatches.android.wisefy.networkinfo.entities.GetNetworkConnectionStatusResult
+import com.isupatches.android.wisefy.networkinfo.entities.NetworkData
+import com.isupatches.android.wisefy.savednetworks.entities.SavedNetworkData
+import com.isupatches.android.wisefy.wifi.entities.DisableWifiResult
+import com.isupatches.android.wisefy.wifi.entities.EnableWifiResult
+
+internal data class MiscUIState(
+ val loadingState: MiscLoadingState,
+ val dialogState: MiscDialogState
+)
+
+internal data class MiscLoadingState(
+ val isLoading: Boolean = false
+)
+
+internal sealed class MiscDialogState {
+
+ object None : MiscDialogState()
+
+ sealed class Failure : MiscDialogState() {
+ data class WisefyAsync(val exception: WisefyException) : Failure()
+ }
+
+ sealed class ChangeNetwork : MiscDialogState() {
+ data class Success(val result: ChangeNetworkResult.Success) : ChangeNetwork()
+ data class Failure(val result: ChangeNetworkResult.Failure) : ChangeNetwork()
+ object PreAndroidQ : ChangeNetwork()
+ }
+
+ sealed class DisableWifi : MiscDialogState() {
+ data class Success(val result: DisableWifiResult.Success) : DisableWifi()
+ data class Failure(val result: DisableWifiResult.Failure) : DisableWifi()
+ object PermissionsError : DisableWifi()
+ }
+
+ sealed class EnableWifi : MiscDialogState() {
+ data class Success(val result: EnableWifiResult.Success) : EnableWifi()
+ data class Failure(val result: EnableWifiResult.Failure) : EnableWifi()
+ object PermissionsError : EnableWifi()
+ }
+
+ sealed class GetCurrentNetwork : MiscDialogState() {
+ data class Success(val network: NetworkData) : GetCurrentNetwork()
+ object Failure : GetCurrentNetwork()
+ object PermissionsError : GetCurrentNetwork()
+ }
+
+ sealed class GetNetworkConnectionStatus : MiscDialogState() {
+ data class Success(val data: GetNetworkConnectionStatusResult) : GetNetworkConnectionStatus()
+ object PermissionsError : GetNetworkConnectionStatus()
+ }
+
+ sealed class GetSavedNetworks : MiscDialogState() {
+ data class Success(val savedNetworks: List) : GetSavedNetworks()
+ object Failure : GetSavedNetworks()
+ object PermissionsError : GetSavedNetworks()
+ }
+
+ sealed class IsWifiEnabled : MiscDialogState() {
+ object True : IsWifiEnabled()
+ object False : IsWifiEnabled()
+ object PermissionsError : IsWifiEnabled()
+ }
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/MiscViewModel.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/MiscViewModel.kt
new file mode 100644
index 00000000..f09e82fe
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/MiscViewModel.kt
@@ -0,0 +1,394 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.features.misc
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import android.Manifest.permission.ACCESS_NETWORK_STATE
+import android.Manifest.permission.ACCESS_WIFI_STATE
+import android.Manifest.permission.CHANGE_WIFI_STATE
+import android.content.Context
+import android.os.Build
+import androidx.annotation.RequiresApi
+import androidx.annotation.RequiresPermission
+import androidx.compose.runtime.State
+import androidx.compose.runtime.mutableStateOf
+import com.isupatches.android.wisefy.WisefyApi
+import com.isupatches.android.wisefy.core.exceptions.WisefyException
+import com.isupatches.android.wisefy.ktx.changeNetworkAsync
+import com.isupatches.android.wisefy.ktx.disableWifiAsync
+import com.isupatches.android.wisefy.ktx.enableWifiAsync
+import com.isupatches.android.wisefy.ktx.getCurrentNetworkAsync
+import com.isupatches.android.wisefy.ktx.getNetworkConnectionStatusAsync
+import com.isupatches.android.wisefy.ktx.getSavedNetworksAsync
+import com.isupatches.android.wisefy.ktx.isWifiEnabledAsync
+import com.isupatches.android.wisefy.networkconnection.entities.ChangeNetworkRequest
+import com.isupatches.android.wisefy.networkconnection.entities.ChangeNetworkResult
+import com.isupatches.android.wisefy.networkinfo.entities.GetCurrentNetworkResult
+import com.isupatches.android.wisefy.networkinfo.entities.GetNetworkConnectionStatusResult
+import com.isupatches.android.wisefy.sample.scaffolding.BaseViewModel
+import com.isupatches.android.wisefy.sample.scaffolding.BaseViewModelFactory
+import com.isupatches.android.wisefy.savednetworks.entities.GetSavedNetworksResult
+import com.isupatches.android.wisefy.wifi.entities.DisableWifiRequest
+import com.isupatches.android.wisefy.wifi.entities.DisableWifiResult
+import com.isupatches.android.wisefy.wifi.entities.EnableWifiRequest
+import com.isupatches.android.wisefy.wifi.entities.EnableWifiResult
+import com.isupatches.android.wisefy.wifi.entities.IsWifiEnabledResult
+
+internal abstract class MiscViewModel : BaseViewModel() {
+ abstract val uiState: State
+
+ abstract fun onDialogClosed()
+
+ abstract suspend fun changeNetwork(context: Context)
+
+ @RequiresPermission(CHANGE_WIFI_STATE)
+ abstract suspend fun disableWifi(request: DisableWifiRequest)
+
+ @RequiresPermission(CHANGE_WIFI_STATE)
+ abstract suspend fun enableWifi(request: EnableWifiRequest)
+
+ @RequiresPermission(ACCESS_NETWORK_STATE)
+ abstract suspend fun getCurrentNetwork()
+
+ @RequiresPermission(ACCESS_NETWORK_STATE)
+ abstract suspend fun getNetworkConnectionStatus()
+
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+ abstract suspend fun getSavedNetworks()
+
+ @RequiresPermission(ACCESS_WIFI_STATE)
+ abstract suspend fun isWifiEnabled()
+
+ abstract fun onChangeNetworkPreAndroidQ()
+
+ abstract fun onDisableWifiPermissionsError()
+ abstract fun onEnableWifiPermissionsError()
+ abstract fun onGetCurrentNetworkPermissionsError()
+ abstract fun onGetNetworkConnectionStatusPermissionError()
+ abstract fun onGetSavedNetworksPermissionsError()
+ abstract fun onIsWifiEnabledPermissionsError()
+}
+
+internal class DefaultMiscViewModel(private val wisefy: WisefyApi) : MiscViewModel() {
+
+ private val _uiState = mutableStateOf(
+ MiscUIState(
+ loadingState = MiscLoadingState(isLoading = false),
+ dialogState = MiscDialogState.None
+ )
+ )
+ override val uiState: State
+ get() = _uiState
+
+ @RequiresApi(Build.VERSION_CODES.Q)
+ override suspend fun changeNetwork(context: Context) {
+ _uiState.value = MiscUIState(
+ loadingState = MiscLoadingState(isLoading = true),
+ dialogState = MiscDialogState.None
+ )
+
+ val result = try {
+ wisefy.changeNetworkAsync(request = ChangeNetworkRequest(context = context))
+ } catch (ex: WisefyException) {
+ _uiState.value = MiscUIState(
+ loadingState = MiscLoadingState(isLoading = false),
+ dialogState = MiscDialogState.Failure.WisefyAsync(exception = ex)
+ )
+ null
+ }
+
+ when (result) {
+ is ChangeNetworkResult.Success -> {
+ _uiState.value = MiscUIState(
+ loadingState = MiscLoadingState(isLoading = false),
+ dialogState = MiscDialogState.ChangeNetwork.Success(result)
+ )
+ }
+ is ChangeNetworkResult.Failure -> {
+ _uiState.value = MiscUIState(
+ loadingState = MiscLoadingState(isLoading = false),
+ dialogState = MiscDialogState.ChangeNetwork.Failure(result)
+ )
+ }
+ null -> {
+ // Case handled above in the catch clause
+ }
+ }
+ }
+
+ @RequiresPermission(CHANGE_WIFI_STATE)
+ override suspend fun disableWifi(request: DisableWifiRequest) {
+ _uiState.value = MiscUIState(
+ loadingState = MiscLoadingState(isLoading = true),
+ dialogState = MiscDialogState.None
+ )
+
+ val result = try {
+ wisefy.disableWifiAsync(request = request)
+ } catch (ex: WisefyException) {
+ _uiState.value = MiscUIState(
+ loadingState = MiscLoadingState(isLoading = false),
+ dialogState = MiscDialogState.Failure.WisefyAsync(exception = ex)
+ )
+ null
+ }
+
+ when (result) {
+ is DisableWifiResult.Success -> {
+ _uiState.value = MiscUIState(
+ loadingState = MiscLoadingState(isLoading = false),
+ dialogState = MiscDialogState.DisableWifi.Success(result)
+ )
+ }
+ is DisableWifiResult.Failure -> {
+ _uiState.value = MiscUIState(
+ loadingState = MiscLoadingState(isLoading = false),
+ dialogState = MiscDialogState.DisableWifi.Failure(result)
+ )
+ }
+ null -> {
+ // Case handled above in the catch clause
+ }
+ }
+ }
+
+ @RequiresPermission(CHANGE_WIFI_STATE)
+ override suspend fun enableWifi(request: EnableWifiRequest) {
+ _uiState.value = MiscUIState(
+ loadingState = MiscLoadingState(isLoading = true),
+ dialogState = MiscDialogState.None
+ )
+ val result = try {
+ wisefy.enableWifiAsync(request)
+ } catch (ex: WisefyException) {
+ _uiState.value = MiscUIState(
+ loadingState = MiscLoadingState(isLoading = false),
+ dialogState = MiscDialogState.Failure.WisefyAsync(exception = ex)
+ )
+ null
+ }
+
+ when (result) {
+ is EnableWifiResult.Success -> {
+ _uiState.value = MiscUIState(
+ loadingState = MiscLoadingState(isLoading = false),
+ dialogState = MiscDialogState.EnableWifi.Success(result)
+ )
+ }
+ is EnableWifiResult.Failure -> {
+ _uiState.value = MiscUIState(
+ loadingState = MiscLoadingState(isLoading = false),
+ dialogState = MiscDialogState.EnableWifi.Failure(result)
+ )
+ }
+ null -> {
+ // Case handled above in the catch clause
+ }
+ }
+ }
+
+ @RequiresPermission(ACCESS_NETWORK_STATE)
+ override suspend fun getCurrentNetwork() {
+ _uiState.value = MiscUIState(
+ loadingState = MiscLoadingState(isLoading = true),
+ dialogState = MiscDialogState.None
+ )
+ val result = try {
+ wisefy.getCurrentNetworkAsync()
+ } catch (ex: WisefyException) {
+ _uiState.value = MiscUIState(
+ loadingState = MiscLoadingState(isLoading = false),
+ dialogState = MiscDialogState.Failure.WisefyAsync(exception = ex)
+ )
+ null
+ }
+
+ when (result) {
+ is GetCurrentNetworkResult -> {
+ _uiState.value = MiscUIState(
+ loadingState = MiscLoadingState(isLoading = false),
+ dialogState = MiscDialogState.GetCurrentNetwork.Success(network = result.value)
+ )
+ }
+ null -> {
+ // Case handled above in the catch clause
+ }
+ }
+ }
+
+ @RequiresPermission(ACCESS_NETWORK_STATE)
+ override suspend fun getNetworkConnectionStatus() {
+ _uiState.value = MiscUIState(
+ loadingState = MiscLoadingState(isLoading = true),
+ dialogState = MiscDialogState.None
+ )
+
+ val result = try {
+ wisefy.getNetworkConnectionStatusAsync()
+ } catch (ex: WisefyException) {
+ _uiState.value = MiscUIState(
+ loadingState = MiscLoadingState(isLoading = false),
+ dialogState = MiscDialogState.Failure.WisefyAsync(exception = ex)
+ )
+ null
+ }
+
+ when (result) {
+ is GetNetworkConnectionStatusResult -> {
+ _uiState.value = MiscUIState(
+ loadingState = MiscLoadingState(isLoading = false),
+ dialogState = MiscDialogState.GetNetworkConnectionStatus.Success(data = result)
+ )
+ }
+ null -> {
+ // Case handled above in the catch clause
+ }
+ }
+ }
+
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+ override suspend fun getSavedNetworks() {
+ _uiState.value = MiscUIState(
+ loadingState = MiscLoadingState(isLoading = true),
+ dialogState = MiscDialogState.None
+ )
+ val result = try {
+ wisefy.getSavedNetworksAsync()
+ } catch (ex: WisefyException) {
+ _uiState.value = MiscUIState(
+ loadingState = MiscLoadingState(isLoading = false),
+ dialogState = MiscDialogState.Failure.WisefyAsync(exception = ex)
+ )
+ null
+ }
+
+ when (result) {
+ is GetSavedNetworksResult.SavedNetworks -> {
+ _uiState.value = MiscUIState(
+ loadingState = MiscLoadingState(isLoading = false),
+ dialogState = MiscDialogState.GetSavedNetworks.Success(savedNetworks = result.value)
+ )
+ }
+ is GetSavedNetworksResult.Empty -> {
+ _uiState.value = MiscUIState(
+ loadingState = MiscLoadingState(isLoading = false),
+ dialogState = MiscDialogState.GetSavedNetworks.Failure
+ )
+ }
+ null -> {
+ // Case handled above in the catch clause
+ }
+ }
+ }
+
+ @RequiresPermission(ACCESS_WIFI_STATE)
+ override suspend fun isWifiEnabled() {
+ _uiState.value = MiscUIState(
+ loadingState = MiscLoadingState(isLoading = true),
+ dialogState = MiscDialogState.None
+ )
+ val result = try {
+ wisefy.isWifiEnabledAsync()
+ } catch (ex: WisefyException) {
+ _uiState.value = MiscUIState(
+ loadingState = MiscLoadingState(isLoading = false),
+ dialogState = MiscDialogState.Failure.WisefyAsync(exception = ex)
+ )
+ null
+ }
+
+ when (result) {
+ is IsWifiEnabledResult.True -> {
+ _uiState.value = MiscUIState(
+ loadingState = MiscLoadingState(isLoading = false),
+ dialogState = MiscDialogState.IsWifiEnabled.True
+ )
+ }
+ is IsWifiEnabledResult.False -> {
+ _uiState.value = MiscUIState(
+ loadingState = MiscLoadingState(isLoading = false),
+ dialogState = MiscDialogState.IsWifiEnabled.False
+ )
+ }
+ null -> {
+ // Case handled above in the catch clause
+ }
+ }
+ }
+
+ override fun onDialogClosed() {
+ _uiState.value = MiscUIState(
+ loadingState = MiscLoadingState(isLoading = false),
+ dialogState = MiscDialogState.None
+ )
+ }
+
+ override fun onChangeNetworkPreAndroidQ() {
+ _uiState.value = MiscUIState(
+ loadingState = MiscLoadingState(isLoading = false),
+ dialogState = MiscDialogState.ChangeNetwork.PreAndroidQ
+ )
+ }
+
+ override fun onDisableWifiPermissionsError() {
+ _uiState.value = MiscUIState(
+ loadingState = MiscLoadingState(isLoading = false),
+ dialogState = MiscDialogState.DisableWifi.PermissionsError
+ )
+ }
+
+ override fun onEnableWifiPermissionsError() {
+ _uiState.value = MiscUIState(
+ loadingState = MiscLoadingState(isLoading = false),
+ dialogState = MiscDialogState.EnableWifi.PermissionsError
+ )
+ }
+
+ override fun onGetCurrentNetworkPermissionsError() {
+ _uiState.value = MiscUIState(
+ loadingState = MiscLoadingState(isLoading = false),
+ dialogState = MiscDialogState.GetCurrentNetwork.PermissionsError
+ )
+ }
+
+ override fun onGetNetworkConnectionStatusPermissionError() {
+ _uiState.value = MiscUIState(
+ loadingState = MiscLoadingState(isLoading = false),
+ dialogState = MiscDialogState.GetNetworkConnectionStatus.PermissionsError
+ )
+ }
+
+ override fun onGetSavedNetworksPermissionsError() {
+ _uiState.value = MiscUIState(
+ loadingState = MiscLoadingState(isLoading = false),
+ dialogState = MiscDialogState.GetSavedNetworks.PermissionsError
+ )
+ }
+
+ override fun onIsWifiEnabledPermissionsError() {
+ _uiState.value = MiscUIState(
+ loadingState = MiscLoadingState(isLoading = false),
+ dialogState = MiscDialogState.IsWifiEnabled.PermissionsError
+ )
+ }
+}
+
+internal class MiscViewModelFactory(
+ private val wisefy: WisefyApi
+) : BaseViewModelFactory(
+ supportedClass = MiscViewModel::class,
+ vmProvider = { DefaultMiscViewModel(wisefy) }
+)
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/nearbyaccesspoints/NearbyAccessPointsScreen.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/nearbyaccesspoints/NearbyAccessPointsScreen.kt
new file mode 100644
index 00000000..b0dfa244
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/nearbyaccesspoints/NearbyAccessPointsScreen.kt
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.features.misc.nearbyaccesspoints
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import android.Manifest.permission.ACCESS_WIFI_STATE
+import androidx.activity.compose.rememberLauncherForActivityResult
+import androidx.activity.result.contract.ActivityResultContracts
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.SideEffect
+import androidx.compose.runtime.rememberCoroutineScope
+import androidx.lifecycle.viewmodel.compose.viewModel
+import com.isupatches.android.wisefy.WisefyApi
+import com.isupatches.android.wisefy.sample.logging.WisefySampleLogger
+import com.isupatches.android.wisefy.sample.ui.components.WisefySampleLoadingIndicator
+import kotlinx.coroutines.launch
+
+private const val LOG_TAG = "NearbyAccessPointsScreen"
+
+@Composable
+internal fun NearbyAccessPointsScreen(
+ wisefy: WisefyApi,
+ viewModel: NearbyAccessPointsViewModel = viewModel(factory = NearbyAccessPointsViewModelFactory(wisefy))
+) {
+ val scope = rememberCoroutineScope()
+
+ val getNearbyAccessPointsPermissionsLauncher =
+ rememberLauncherForActivityResult(ActivityResultContracts.RequestMultiplePermissions()) { result ->
+ if (result.all { it.value }) {
+ scope.launch {
+ viewModel.getNearbyAccessPoints()
+ }
+ } else {
+ WisefySampleLogger.w(LOG_TAG, "Permissions for getting nearby access points are denied")
+ viewModel.onGetNearbyAccessPointsPermissionError()
+ }
+ }
+
+ SideEffect {
+ getNearbyAccessPointsPermissionsLauncher.launch(arrayOf(ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE))
+ }
+
+ WisefySampleLoadingIndicator(isLoading = { viewModel.uiState.value.loadingState.isLoading })
+ NearbyAccessPointsScreenDialogContent(dialogState = { viewModel.uiState.value.dialogState }, viewModel = viewModel)
+ NearbyAccessPointsScreenContent(accessPoints = { viewModel.uiState.value.accessPointUIData })
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/nearbyaccesspoints/NearbyAccessPointsScreenContent.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/nearbyaccesspoints/NearbyAccessPointsScreenContent.kt
new file mode 100644
index 00000000..9637e0df
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/nearbyaccesspoints/NearbyAccessPointsScreenContent.kt
@@ -0,0 +1,166 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.features.misc.nearbyaccesspoints
+
+import android.content.res.Configuration
+import android.net.wifi.ScanResult
+import android.os.Build
+import androidx.annotation.RequiresApi
+import androidx.compose.foundation.ExperimentalFoundationApi
+import androidx.compose.foundation.layout.Arrangement
+import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.PaddingValues
+import androidx.compose.foundation.layout.Row
+import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.lazy.LazyColumn
+import androidx.compose.foundation.lazy.items
+import androidx.compose.foundation.lazy.rememberLazyListState
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.tooling.preview.Preview
+import com.isupatches.android.wisefy.accesspoints.entities.AccessPointData
+import com.isupatches.android.wisefy.accesspoints.entities.SecurityCapability
+import com.isupatches.android.wisefy.sample.R
+import com.isupatches.android.wisefy.sample.ui.components.WisefySampleBodyLabel
+import com.isupatches.android.wisefy.sample.ui.components.WisefySampleSubHeaderLabel
+import com.isupatches.android.wisefy.sample.ui.primitives.WisefySampleSizes
+import com.isupatches.android.wisefy.sample.ui.theme.WisefySampleTheme
+
+@Composable
+internal fun NearbyAccessPointsScreenContent(
+ accessPoints: () -> List
+) {
+ WisefySampleTheme {
+ val listState = rememberLazyListState()
+ LazyColumn(
+ state = listState,
+ verticalArrangement = Arrangement.spacedBy(WisefySampleSizes.Large),
+ contentPadding = PaddingValues(
+ top = WisefySampleSizes.WisefySampleTopMargin,
+ bottom = WisefySampleSizes.WisefySampleBottomMargin,
+ start = WisefySampleSizes.WisefySampleHorizontalMargins,
+ end = WisefySampleSizes.WisefySampleHorizontalMargins
+ )
+ ) {
+ items(accessPoints()) { accessPoint ->
+ @OptIn(ExperimentalFoundationApi::class)
+ Row(modifier = Modifier.animateItemPlacement()) {
+ AccessPointRow(accessPoint = accessPoint)
+ }
+ }
+ }
+ }
+}
+
+@Composable
+private fun AccessPointRow(accessPoint: AccessPointUIData) {
+ WisefySampleTheme {
+ Column {
+ Row {
+ WisefySampleSubHeaderLabel(
+ stringResId = R.string.access_point_header_args,
+ modifier = Modifier,
+ accessPoint.accessPoint.ssid,
+ accessPoint.accessPoint.bssid
+ )
+ }
+ Row {
+ WisefySampleBodyLabel(
+ stringResId = R.string.access_point_is_saved_by_ssid_args,
+ modifier = Modifier.padding(top = WisefySampleSizes.Large),
+ accessPoint.isSavedBySSID
+ )
+ }
+ Row {
+ WisefySampleBodyLabel(
+ stringResId = R.string.access_point_is_saved_by_bssid_args,
+ modifier = Modifier.padding(top = WisefySampleSizes.Medium),
+ accessPoint.isSavedByBSSID
+ )
+ }
+ Row {
+ WisefySampleBodyLabel(
+ stringResId = R.string.access_point_security_capabilities_args,
+ modifier = Modifier.padding(top = WisefySampleSizes.Medium),
+ accessPoint.securityCapabilities
+ )
+ }
+ Row {
+ WisefySampleBodyLabel(
+ stringResId = R.string.access_point_raw_value_args,
+ modifier = Modifier.padding(top = WisefySampleSizes.Medium),
+ accessPoint.accessPoint
+ )
+ }
+ }
+ }
+}
+
+@RequiresApi(Build.VERSION_CODES.R)
+@Preview(showBackground = true)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun NearbyAccessPointsScreenContentLightPreview() {
+ NearbyAccessPointsScreenContent(
+ accessPoints = {
+ listOf(
+ AccessPointUIData(
+ accessPoint = AccessPointData(
+ rawValue = ScanResult().also {
+ it.capabilities = ""
+ },
+ ssid = "",
+ bssid = "",
+ frequency = 4900
+ ),
+ isSavedBySSID = false,
+ isSavedByBSSID = false,
+ securityCapabilities = SecurityCapability.ALL.associateWith {
+ false
+ }
+ )
+ )
+ }
+ )
+}
+
+@RequiresApi(Build.VERSION_CODES.R)
+@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun NearbyAccessPointsScreenContentDarkPreview() {
+ NearbyAccessPointsScreenContent(
+ accessPoints = {
+ listOf(
+ AccessPointUIData(
+ accessPoint = AccessPointData(
+ rawValue = ScanResult().also {
+ it.capabilities = ""
+ },
+ ssid = "",
+ bssid = "",
+ frequency = 4900
+ ),
+ isSavedBySSID = false,
+ isSavedByBSSID = false,
+ securityCapabilities = SecurityCapability.ALL.associateWith {
+ false
+ }
+ )
+ )
+ }
+ )
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/nearbyaccesspoints/NearbyAccessPointsScreenDialogContent.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/nearbyaccesspoints/NearbyAccessPointsScreenDialogContent.kt
new file mode 100644
index 00000000..ed937c39
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/nearbyaccesspoints/NearbyAccessPointsScreenDialogContent.kt
@@ -0,0 +1,99 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.features.misc.nearbyaccesspoints
+
+import android.content.res.Configuration
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.tooling.preview.Preview
+import androidx.compose.ui.tooling.preview.PreviewParameter
+import androidx.compose.ui.tooling.preview.PreviewParameterProvider
+import com.isupatches.android.wisefy.core.exceptions.WisefyException
+import com.isupatches.android.wisefy.sample.R
+import com.isupatches.android.wisefy.sample.ui.ComposablePreviewWisefy
+import com.isupatches.android.wisefy.sample.ui.components.WisefySampleNoticeDialog
+import com.isupatches.android.wisefy.sample.ui.theme.WisefySampleTheme
+
+@Composable
+internal fun NearbyAccessPointsScreenDialogContent(
+ dialogState: () -> NearbyAccessPointsDialogState,
+ viewModel: NearbyAccessPointsViewModel
+) {
+ WisefySampleTheme {
+ when (val currentDialogState = dialogState()) {
+ is NearbyAccessPointsDialogState.None -> {
+ // No-op, no dialog
+ }
+ is NearbyAccessPointsDialogState.GetNearbyAccessPoints.PermissionsError -> {
+ WisefySampleNoticeDialog(
+ title = R.string.permission_error,
+ body = R.string.permission_error_get_nearby_access_points,
+ onClose = {
+ viewModel.onDialogClosed()
+ }
+ )
+ }
+ is NearbyAccessPointsDialogState.Failure.WisefyAsync -> {
+ WisefySampleNoticeDialog(
+ title = R.string.wisefy_async_error,
+ body = R.string.wisefy_async_error_descriptions_args,
+ currentDialogState.exception.message ?: "",
+ currentDialogState.exception.cause?.message ?: "",
+ onClose = {
+ viewModel.onDialogClosed()
+ }
+ )
+ }
+ }
+ }
+}
+
+@Preview(showBackground = true)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun AddNetworkScreenDialogContentLightPreview(
+ @PreviewParameter(NearbyAccessPointsDialogStatePreviewParameterProvider::class)
+ dialogState: NearbyAccessPointsDialogState
+) {
+ NearbyAccessPointsScreenDialogContent(
+ viewModel = DefaultNearbyAccessPointsViewModel(
+ wisefy = ComposablePreviewWisefy()
+ ),
+ dialogState = { dialogState }
+ )
+}
+
+@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun AddNetworkScreenDialogContentDarkPreview(
+ @PreviewParameter(NearbyAccessPointsDialogStatePreviewParameterProvider::class)
+ dialogState: NearbyAccessPointsDialogState
+) {
+ NearbyAccessPointsScreenDialogContent(
+ viewModel = DefaultNearbyAccessPointsViewModel(
+ wisefy = ComposablePreviewWisefy()
+ ),
+ dialogState = { dialogState }
+ )
+}
+
+private class NearbyAccessPointsDialogStatePreviewParameterProvider :
+ PreviewParameterProvider {
+ override val values: Sequence = sequenceOf(
+ NearbyAccessPointsDialogState.Failure.WisefyAsync(WisefyException("", null)),
+ NearbyAccessPointsDialogState.GetNearbyAccessPoints.PermissionsError
+ )
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/nearbyaccesspoints/NearbyAccessPointsUIState.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/nearbyaccesspoints/NearbyAccessPointsUIState.kt
new file mode 100644
index 00000000..03af0146
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/nearbyaccesspoints/NearbyAccessPointsUIState.kt
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.features.misc.nearbyaccesspoints
+
+import com.isupatches.android.wisefy.core.exceptions.WisefyException
+
+internal data class NearbyAccessPointsUIState(
+ val loadingState: NearbyAccessPointsLoadingState,
+ val dialogState: NearbyAccessPointsDialogState,
+ val accessPointUIData: List
+)
+
+internal data class NearbyAccessPointsLoadingState(
+ val isLoading: Boolean = false
+)
+
+internal sealed class NearbyAccessPointsDialogState {
+ object None : NearbyAccessPointsDialogState()
+
+ sealed class Failure : NearbyAccessPointsDialogState() {
+ data class WisefyAsync(val exception: WisefyException) : Failure()
+ }
+
+ sealed class GetNearbyAccessPoints : NearbyAccessPointsDialogState() {
+ object PermissionsError : GetNearbyAccessPoints()
+ }
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/nearbyaccesspoints/NearbyAccessPointsViewModel.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/nearbyaccesspoints/NearbyAccessPointsViewModel.kt
new file mode 100644
index 00000000..48dc7340
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/nearbyaccesspoints/NearbyAccessPointsViewModel.kt
@@ -0,0 +1,148 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.features.misc.nearbyaccesspoints
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import android.Manifest.permission.ACCESS_WIFI_STATE
+import androidx.annotation.RequiresPermission
+import androidx.compose.runtime.State
+import androidx.compose.runtime.mutableStateOf
+import com.isupatches.android.wisefy.WisefyApi
+import com.isupatches.android.wisefy.accesspoints.entities.AccessPointData
+import com.isupatches.android.wisefy.accesspoints.entities.GetAccessPointsQuery
+import com.isupatches.android.wisefy.accesspoints.entities.GetAccessPointsResult
+import com.isupatches.android.wisefy.accesspoints.entities.SecurityCapability
+import com.isupatches.android.wisefy.accesspoints.entities.containSecurityCapability
+import com.isupatches.android.wisefy.core.exceptions.WisefyException
+import com.isupatches.android.wisefy.ktx.isNetworkSavedAsync
+import com.isupatches.android.wisefy.sample.scaffolding.BaseViewModel
+import com.isupatches.android.wisefy.sample.scaffolding.BaseViewModelFactory
+import com.isupatches.android.wisefy.savednetworks.entities.IsNetworkSavedQuery
+import com.isupatches.android.wisefy.savednetworks.entities.IsNetworkSavedResult
+
+internal abstract class NearbyAccessPointsViewModel : BaseViewModel() {
+ abstract val uiState: State
+
+ abstract fun onDialogClosed()
+
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+ abstract suspend fun getNearbyAccessPoints()
+
+ abstract fun onGetNearbyAccessPointsPermissionError()
+}
+
+internal class DefaultNearbyAccessPointsViewModel(
+ private val wisefy: WisefyApi
+) : NearbyAccessPointsViewModel() {
+
+ private val _uiState = mutableStateOf(
+ NearbyAccessPointsUIState(
+ loadingState = NearbyAccessPointsLoadingState(isLoading = false),
+ dialogState = NearbyAccessPointsDialogState.None,
+ accessPointUIData = emptyList()
+ )
+ )
+
+ override val uiState: State
+ get() = _uiState
+
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+ override suspend fun getNearbyAccessPoints() {
+ _uiState.value = _uiState.value.copy(
+ loadingState = NearbyAccessPointsLoadingState(isLoading = true),
+ dialogState = NearbyAccessPointsDialogState.None
+ )
+ try {
+ when (val result = wisefy.getAccessPoints(GetAccessPointsQuery.All())) {
+ is GetAccessPointsResult.Empty -> {
+ _uiState.value = NearbyAccessPointsUIState(
+ loadingState = NearbyAccessPointsLoadingState(isLoading = false),
+ dialogState = NearbyAccessPointsDialogState.None,
+ accessPointUIData = emptyList()
+ )
+ }
+ is GetAccessPointsResult.AccessPoints -> {
+ val accessPointUIData = result.value.map { accessPoint ->
+ val isSavedBySSIDResult = wisefy.isNetworkSavedAsync(
+ query = IsNetworkSavedQuery.SSID(accessPoint.ssid)
+ )
+ val isSavedBySSID = when (isSavedBySSIDResult) {
+ IsNetworkSavedResult.True -> true
+ IsNetworkSavedResult.False -> false
+ }
+ val isSavedByBSSIDResult = wisefy.isNetworkSavedAsync(
+ query = IsNetworkSavedQuery.BSSID(accessPoint.bssid)
+ )
+ val isSavedByBSSID = when (isSavedByBSSIDResult) {
+ IsNetworkSavedResult.True -> true
+ IsNetworkSavedResult.False -> false
+ }
+ val securityCapabilityMap = mutableMapOf()
+ SecurityCapability.ALL.forEach { securityCapability ->
+ securityCapabilityMap[securityCapability] =
+ accessPoint.containSecurityCapability(securityCapability)
+ }
+ AccessPointUIData(
+ accessPoint = accessPoint,
+ isSavedBySSID = isSavedBySSID,
+ isSavedByBSSID = isSavedByBSSID,
+ securityCapabilities = securityCapabilityMap
+ )
+ }
+ _uiState.value = NearbyAccessPointsUIState(
+ loadingState = NearbyAccessPointsLoadingState(isLoading = false),
+ dialogState = NearbyAccessPointsDialogState.None,
+ accessPointUIData = accessPointUIData
+ )
+ }
+ }
+ } catch (ex: WisefyException) {
+ _uiState.value = NearbyAccessPointsUIState(
+ loadingState = NearbyAccessPointsLoadingState(isLoading = false),
+ dialogState = NearbyAccessPointsDialogState.Failure.WisefyAsync(exception = ex),
+ accessPointUIData = emptyList()
+ )
+ }
+ }
+
+ override fun onGetNearbyAccessPointsPermissionError() {
+ _uiState.value = _uiState.value.copy(
+ loadingState = NearbyAccessPointsLoadingState(isLoading = false),
+ dialogState = NearbyAccessPointsDialogState.GetNearbyAccessPoints.PermissionsError
+ )
+ }
+
+ override fun onDialogClosed() {
+ _uiState.value = _uiState.value.copy(
+ loadingState = NearbyAccessPointsLoadingState(isLoading = false),
+ dialogState = NearbyAccessPointsDialogState.None
+ )
+ }
+}
+
+internal class NearbyAccessPointsViewModelFactory(
+ private val wisefy: WisefyApi
+) : BaseViewModelFactory(
+ supportedClass = NearbyAccessPointsViewModel::class,
+ vmProvider = { DefaultNearbyAccessPointsViewModel(wisefy) }
+)
+
+internal data class AccessPointUIData(
+ val accessPoint: AccessPointData,
+ val isSavedBySSID: Boolean,
+ val isSavedByBSSID: Boolean,
+ val securityCapabilities: Map
+)
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/signal/SignalScreen.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/signal/SignalScreen.kt
new file mode 100644
index 00000000..1b6cce53
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/signal/SignalScreen.kt
@@ -0,0 +1,64 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.features.misc.signal
+
+import android.content.res.Configuration
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.tooling.preview.Preview
+import androidx.lifecycle.viewmodel.compose.viewModel
+import com.isupatches.android.wisefy.WisefyApi
+import com.isupatches.android.wisefy.sample.ui.ComposablePreviewWisefy
+import com.isupatches.android.wisefy.sample.ui.components.WisefySampleLoadingIndicator
+import com.isupatches.android.wisefy.sample.util.DefaultSdkUtil
+import com.isupatches.android.wisefy.sample.util.SdkUtil
+
+@Composable
+internal fun SignalScreen(
+ wisefy: WisefyApi,
+ sdkUtil: SdkUtil,
+ viewModel: SignalViewModel = viewModel(
+ factory = SignalViewModelFactory(
+ context = LocalContext.current.applicationContext,
+ wisefy = wisefy,
+ sdkUtil = sdkUtil
+ )
+ )
+) {
+ WisefySampleLoadingIndicator(isLoading = { viewModel.uiState.value.loadingState.isLoading })
+ SignalScreenDialogContent(dialogState = { viewModel.uiState.value.dialogState }, viewModel = viewModel)
+ SignalScreenContent(viewModel = viewModel)
+}
+
+@Preview(showBackground = true)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun SignalScreenLightPreview() {
+ SignalScreen(
+ wisefy = ComposablePreviewWisefy(),
+ sdkUtil = DefaultSdkUtil()
+ )
+}
+
+@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun SignalScreenDarkPreview() {
+ SignalScreen(
+ wisefy = ComposablePreviewWisefy(),
+ sdkUtil = DefaultSdkUtil()
+ )
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/signal/SignalScreenContent.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/signal/SignalScreenContent.kt
new file mode 100644
index 00000000..24466c71
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/signal/SignalScreenContent.kt
@@ -0,0 +1,168 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.features.misc.signal
+
+import android.content.res.Configuration
+import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.Row
+import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.rememberScrollState
+import androidx.compose.foundation.verticalScroll
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.tooling.preview.Preview
+import com.isupatches.android.wisefy.sample.R
+import com.isupatches.android.wisefy.sample.ui.ComposablePreviewWisefy
+import com.isupatches.android.wisefy.sample.ui.components.WisefyPrimaryButton
+import com.isupatches.android.wisefy.sample.ui.components.WisefySampleEditTextError
+import com.isupatches.android.wisefy.sample.ui.components.WisefySampleNumericalEditText
+import com.isupatches.android.wisefy.sample.ui.primitives.WisefySampleSizes
+import com.isupatches.android.wisefy.sample.ui.theme.WisefySampleTheme
+import com.isupatches.android.wisefy.sample.util.DefaultSdkUtil
+
+@Composable
+internal fun SignalScreenContent(
+ viewModel: SignalViewModel
+) {
+ WisefySampleTheme {
+ Column(
+ modifier = Modifier
+ .verticalScroll(rememberScrollState())
+ .padding(
+ top = WisefySampleSizes.WisefySampleTopMargin,
+ bottom = WisefySampleSizes.WisefySampleBottomMargin,
+ start = WisefySampleSizes.WisefySampleHorizontalMargins,
+ end = WisefySampleSizes.WisefySampleHorizontalMargins
+ )
+ ) {
+ SignalScreenCalculateSignalLevelInputRows(
+ inputState = { viewModel.uiState.value.inputState.calculateSignalLevelInputState },
+ viewModel = viewModel
+ )
+ Row(modifier = Modifier.padding(top = WisefySampleSizes.Large, bottom = WisefySampleSizes.Large)) {
+ WisefyPrimaryButton(stringResId = R.string.calculate_signal_level) {
+ viewModel.calculateSignalLevel()
+ }
+ }
+ SignalScreenCompareSignalLevelInputRows(
+ inputState = { viewModel.uiState.value.inputState.compareSignalLevelInputState },
+ viewModel = viewModel
+ )
+ Row(modifier = Modifier.padding(top = WisefySampleSizes.Large)) {
+ WisefyPrimaryButton(stringResId = R.string.compare_signal_level) {
+ viewModel.compareSignalLevel()
+ }
+ }
+ }
+ }
+}
+
+@Composable
+private fun SignalScreenCalculateSignalLevelInputRows(
+ inputState: () -> CalculateSignalLevelInputState,
+ viewModel: SignalViewModel
+) {
+ val currentInputState = inputState()
+ Row {
+ WisefySampleNumericalEditText(
+ text = currentInputState.rssiLevelInput,
+ onTextChange = { newText ->
+ viewModel.onCalculateSignalLevelInputChanged(newText)
+ },
+ labelResId = R.string.rssi_value,
+ error = when (currentInputState.validityState) {
+ is SignalInputValidityState.CalculateSignalLevel.Invalid.Empty -> {
+ WisefySampleEditTextError(R.string.rssi_input_empty)
+ }
+ is SignalInputValidityState.CalculateSignalLevel.Invalid.NotAnInt -> {
+ WisefySampleEditTextError(R.string.rssi_input_invalid_int)
+ }
+ is SignalInputValidityState.CalculateSignalLevel.Valid -> null
+ }
+ )
+ }
+}
+
+@Composable
+private fun SignalScreenCompareSignalLevelInputRows(
+ inputState: () -> CompareSignalLevelInputState,
+ viewModel: SignalViewModel
+) {
+ val currentInputState = inputState()
+ Row {
+ WisefySampleNumericalEditText(
+ text = currentInputState.rssi1InputState.rssiLevelInput,
+ onTextChange = { newText ->
+ viewModel.onCompareSignalLevelRSSI1InputChanged(newText)
+ },
+ labelResId = R.string.rssi1_value,
+ error = when (currentInputState.rssi1InputState.validityState) {
+ is SignalInputValidityState.CompareSignalLevel.Invalid.Empty -> {
+ WisefySampleEditTextError(R.string.rssi_input_empty)
+ }
+ is SignalInputValidityState.CompareSignalLevel.Invalid.NotAnInt -> {
+ WisefySampleEditTextError(R.string.rssi_input_invalid_int)
+ }
+ is SignalInputValidityState.CompareSignalLevel.Valid -> null
+ }
+ )
+ }
+ Row {
+ WisefySampleNumericalEditText(
+ text = currentInputState.rssi2InputState.rssiLevelInput,
+ onTextChange = { newText ->
+ viewModel.onCompareSignalLevelRSSI2InputChanged(newText)
+ },
+ labelResId = R.string.rssi2_value,
+ error = when (currentInputState.rssi2InputState.validityState) {
+ is SignalInputValidityState.CompareSignalLevel.Invalid.Empty -> {
+ WisefySampleEditTextError(R.string.rssi_input_empty)
+ }
+ is SignalInputValidityState.CompareSignalLevel.Invalid.NotAnInt -> {
+ WisefySampleEditTextError(R.string.rssi_input_invalid_int)
+ }
+ is SignalInputValidityState.CompareSignalLevel.Valid -> null
+ }
+ )
+ }
+}
+
+@Preview(showBackground = true)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun SignalScreenContentLightPreview() {
+ SignalScreenContent(
+ viewModel = DefaultSignalViewModel(
+ context = LocalContext.current,
+ wisefy = ComposablePreviewWisefy(),
+ sdkUtil = DefaultSdkUtil()
+ )
+ )
+}
+
+@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun SignalScreenContentDarkPreview() {
+ SignalScreenContent(
+ viewModel = DefaultSignalViewModel(
+ context = LocalContext.current,
+ wisefy = ComposablePreviewWisefy(),
+ sdkUtil = DefaultSdkUtil()
+ )
+ )
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/signal/SignalScreenDialogContent.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/signal/SignalScreenDialogContent.kt
new file mode 100644
index 00000000..b01b5f93
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/signal/SignalScreenDialogContent.kt
@@ -0,0 +1,154 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.features.misc.signal
+
+import android.content.res.Configuration
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.tooling.preview.Preview
+import androidx.compose.ui.tooling.preview.PreviewParameter
+import androidx.compose.ui.tooling.preview.PreviewParameterProvider
+import com.isupatches.android.wisefy.core.exceptions.WisefyException
+import com.isupatches.android.wisefy.sample.R
+import com.isupatches.android.wisefy.sample.ui.ComposablePreviewWisefy
+import com.isupatches.android.wisefy.sample.ui.components.WisefySampleNoticeDialog
+import com.isupatches.android.wisefy.sample.util.DefaultSdkUtil
+import com.isupatches.android.wisefy.signal.entities.CalculateSignalLevelResult
+import com.isupatches.android.wisefy.signal.entities.CompareSignalLevelResult
+
+@Composable
+internal fun SignalScreenDialogContent(
+ dialogState: () -> SignalDialogState,
+ viewModel: SignalViewModel
+) {
+ when (val currentDialogState = dialogState()) {
+ is SignalDialogState.None -> {
+ // No-op, no dialog
+ }
+ is SignalDialogState.CalculateSignalLevel.Failure -> {
+ WisefySampleNoticeDialog(
+ title = R.string.calculate_signal_level,
+ body = R.string.failure_calculating_signal_level_args,
+ currentDialogState.result,
+ onClose = {
+ viewModel.onDialogClosed()
+ }
+ )
+ }
+ is SignalDialogState.CalculateSignalLevel.Success -> {
+ WisefySampleNoticeDialog(
+ title = R.string.calculate_signal_level,
+ body = R.string.success_calculating_signal_level_args,
+ currentDialogState.result,
+ onClose = {
+ viewModel.onDialogClosed()
+ }
+ )
+ }
+ is SignalDialogState.CompareSignalLevel.Success -> {
+ WisefySampleNoticeDialog(
+ title = R.string.compare_signal_level,
+ body = R.string.success_comparing_signal_level_args,
+ currentDialogState.result,
+ onClose = {
+ viewModel.onDialogClosed()
+ }
+ )
+ }
+ is SignalDialogState.Failure.WisefyAsync -> {
+ WisefySampleNoticeDialog(
+ title = R.string.wisefy_async_error,
+ body = R.string.wisefy_async_error_descriptions_args,
+ currentDialogState.exception.message ?: "",
+ currentDialogState.exception.cause?.message ?: "",
+ onClose = {
+ viewModel.onDialogClosed()
+ }
+ )
+ }
+ is SignalDialogState.InputError.CalculateSignalLevel -> {
+ WisefySampleNoticeDialog(
+ title = R.string.input_error,
+ body = R.string.rssi_input_invalid,
+ onClose = {
+ viewModel.onDialogClosed()
+ }
+ )
+ }
+ is SignalDialogState.InputError.CompareSignalLevel.RSSI1 -> {
+ WisefySampleNoticeDialog(
+ title = R.string.input_error,
+ body = R.string.rssi_input_invalid,
+ onClose = {
+ viewModel.onDialogClosed()
+ }
+ )
+ }
+ is SignalDialogState.InputError.CompareSignalLevel.RSSI2 -> {
+ WisefySampleNoticeDialog(
+ title = R.string.input_error,
+ body = R.string.rssi_input_invalid,
+ onClose = {
+ viewModel.onDialogClosed()
+ }
+ )
+ }
+ }
+}
+
+@Preview(showBackground = true)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun SignalScreenDialogContentLightPreview(
+ @PreviewParameter(SignalScreenDialogStatePreviewParameterProvider::class) dialogState: SignalDialogState
+) {
+ SignalScreenDialogContent(
+ viewModel = DefaultSignalViewModel(
+ context = LocalContext.current,
+ wisefy = ComposablePreviewWisefy(),
+ sdkUtil = DefaultSdkUtil()
+ ),
+ dialogState = { dialogState }
+ )
+}
+
+@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun SignalScreenDialogContentDarkPreview(
+ @PreviewParameter(SignalScreenDialogStatePreviewParameterProvider::class) dialogState: SignalDialogState
+) {
+ SignalScreenDialogContent(
+ viewModel = DefaultSignalViewModel(
+ context = LocalContext.current,
+ wisefy = ComposablePreviewWisefy(),
+ sdkUtil = DefaultSdkUtil()
+ ),
+ dialogState = { dialogState }
+ )
+}
+
+private class SignalScreenDialogStatePreviewParameterProvider : PreviewParameterProvider {
+ override val values: Sequence = sequenceOf(
+ SignalDialogState.Failure.WisefyAsync(WisefyException("", null)),
+ SignalDialogState.CalculateSignalLevel.Success(CalculateSignalLevelResult.Success(0)),
+ SignalDialogState.CalculateSignalLevel.Failure(CalculateSignalLevelResult.Failure.Assertion("")),
+ SignalDialogState.CompareSignalLevel.Success(CompareSignalLevelResult.Success.RSSIValuesAreEqual(0)),
+ SignalDialogState.InputError.CalculateSignalLevel,
+ SignalDialogState.InputError.CompareSignalLevel.RSSI1,
+ SignalDialogState.InputError.CompareSignalLevel.RSSI2
+ )
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/signal/SignalStore.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/signal/SignalStore.kt
new file mode 100644
index 00000000..13224414
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/signal/SignalStore.kt
@@ -0,0 +1,98 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.features.misc.signal
+
+import android.content.Context
+import androidx.datastore.core.DataStore
+import androidx.datastore.preferences.core.Preferences
+import androidx.datastore.preferences.core.edit
+import androidx.datastore.preferences.core.stringPreferencesKey
+import androidx.datastore.preferences.preferencesDataStore
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.map
+
+private const val PREF_CALCULATE_SIGNAL_LEVEL_RSSI = "calculate_signal_level_rssi"
+private const val PREF_COMPARE_SIGNAL_LEVEL_RSSI_1 = "compare_signal_level_rssi_1"
+private const val PREF_COMPARE_SIGNAL_LEVEL_RSSI_2 = "compare_signal_level_rssi_2"
+
+internal interface SignalStore {
+ suspend fun clear()
+
+ fun getCalculateSignalLevelRSSI(): Flow
+
+ fun getCompareSignalLevelRSSI1(): Flow
+ fun getCompareSignalLevelRSSI2(): Flow
+
+ suspend fun setCalculateSignalLevelRSSI(rssiLevel: String)
+
+ suspend fun setCompareSignalLevelRSSI1(rssiLevel: String)
+ suspend fun setCompareSignalLevelRSSI2(rssiLevel: String)
+}
+
+private val Context.signalDataStore: DataStore by preferencesDataStore(
+ name = "signalDataStore"
+)
+
+internal class DefaultSignalStore(
+ private val context: Context
+) : SignalStore {
+
+ private val calculateSignalLevelRSSIKey = stringPreferencesKey(PREF_CALCULATE_SIGNAL_LEVEL_RSSI)
+ private val compareSignalLevelRSSI1Key = stringPreferencesKey(PREF_COMPARE_SIGNAL_LEVEL_RSSI_1)
+ private val compareSignalLevelRSSI2Key = stringPreferencesKey(PREF_COMPARE_SIGNAL_LEVEL_RSSI_2)
+
+ override suspend fun clear() {
+ context.signalDataStore.edit {
+ clear()
+ }
+ }
+
+ override fun getCalculateSignalLevelRSSI(): Flow {
+ return context.signalDataStore.data.map { preferences ->
+ preferences[calculateSignalLevelRSSIKey] ?: ""
+ }
+ }
+
+ override suspend fun setCalculateSignalLevelRSSI(rssiLevel: String) {
+ context.signalDataStore.edit { preferences ->
+ preferences[calculateSignalLevelRSSIKey] = rssiLevel
+ }
+ }
+
+ override fun getCompareSignalLevelRSSI1(): Flow {
+ return context.signalDataStore.data.map { preferences ->
+ preferences[compareSignalLevelRSSI1Key] ?: ""
+ }
+ }
+
+ override suspend fun setCompareSignalLevelRSSI1(rssiLevel: String) {
+ context.signalDataStore.edit { preferences ->
+ preferences[compareSignalLevelRSSI1Key] = rssiLevel
+ }
+ }
+
+ override fun getCompareSignalLevelRSSI2(): Flow {
+ return context.signalDataStore.data.map { preferences ->
+ preferences[compareSignalLevelRSSI2Key] ?: ""
+ }
+ }
+
+ override suspend fun setCompareSignalLevelRSSI2(rssiLevel: String) {
+ context.signalDataStore.edit { preferences ->
+ preferences[compareSignalLevelRSSI2Key] = rssiLevel
+ }
+ }
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/signal/SignalUIState.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/signal/SignalUIState.kt
new file mode 100644
index 00000000..9eb46ff7
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/signal/SignalUIState.kt
@@ -0,0 +1,98 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.features.misc.signal
+
+import com.isupatches.android.wisefy.core.exceptions.WisefyException
+import com.isupatches.android.wisefy.signal.entities.CalculateSignalLevelResult
+import com.isupatches.android.wisefy.signal.entities.CompareSignalLevelResult
+
+internal data class SignalUIState(
+ val loadingState: SignalLoadingState,
+ val dialogState: SignalDialogState,
+ val inputState: SignalInputState
+)
+
+internal data class SignalLoadingState(
+ val isLoading: Boolean = false
+)
+
+internal sealed class SignalDialogState {
+ object None : SignalDialogState()
+
+ sealed class InputError : SignalDialogState() {
+
+ object CalculateSignalLevel : InputError()
+
+ sealed class CompareSignalLevel : InputError() {
+ object RSSI1 : CompareSignalLevel()
+ object RSSI2 : CompareSignalLevel()
+ }
+ }
+
+ sealed class Failure : SignalDialogState() {
+ data class WisefyAsync(val exception: WisefyException) : Failure()
+ }
+
+ sealed class CalculateSignalLevel : SignalDialogState() {
+ data class Success(val result: CalculateSignalLevelResult.Success) : CalculateSignalLevel()
+ data class Failure(val result: CalculateSignalLevelResult.Failure) : CalculateSignalLevel()
+ }
+
+ sealed class CompareSignalLevel : SignalDialogState() {
+ data class Success(val result: CompareSignalLevelResult.Success) : CalculateSignalLevel()
+ }
+}
+
+internal data class SignalInputState(
+ val calculateSignalLevelInputState: CalculateSignalLevelInputState,
+ val compareSignalLevelInputState: CompareSignalLevelInputState
+)
+
+internal data class CalculateSignalLevelInputState(
+ val rssiLevelInput: String,
+ val validityState: SignalInputValidityState.CalculateSignalLevel
+)
+
+internal data class CompareSignalLevelInputState(
+ val rssi1InputState: CompareSignalLevelRSSIInputState,
+ val rssi2InputState: CompareSignalLevelRSSIInputState
+)
+
+internal data class CompareSignalLevelRSSIInputState(
+ val rssiLevelInput: String,
+ val validityState: SignalInputValidityState.CompareSignalLevel
+)
+
+internal sealed class SignalInputValidityState {
+
+ sealed class CalculateSignalLevel : SignalInputValidityState() {
+ object Valid : CalculateSignalLevel()
+
+ sealed class Invalid : CalculateSignalLevel() {
+ object Empty : Invalid()
+ object NotAnInt : Invalid()
+ }
+ }
+
+ sealed class CompareSignalLevel : SignalInputValidityState() {
+ object Valid : CompareSignalLevel()
+
+ sealed class Invalid : CompareSignalLevel() {
+ object Empty : Invalid()
+ object NotAnInt : Invalid()
+ }
+ }
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/signal/SignalViewModel.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/signal/SignalViewModel.kt
new file mode 100644
index 00000000..bd55a32e
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/signal/SignalViewModel.kt
@@ -0,0 +1,306 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.features.misc.signal
+
+import android.content.Context
+import androidx.compose.runtime.State
+import androidx.compose.runtime.mutableStateOf
+import androidx.lifecycle.viewModelScope
+import com.isupatches.android.wisefy.WisefyApi
+import com.isupatches.android.wisefy.core.exceptions.WisefyException
+import com.isupatches.android.wisefy.sample.scaffolding.BaseViewModel
+import com.isupatches.android.wisefy.sample.scaffolding.BaseViewModelFactory
+import com.isupatches.android.wisefy.sample.util.SdkUtil
+import com.isupatches.android.wisefy.signal.entities.CalculateSignalLevelRequest
+import com.isupatches.android.wisefy.signal.entities.CalculateSignalLevelResult
+import com.isupatches.android.wisefy.signal.entities.CompareSignalLevelRequest
+import com.isupatches.android.wisefy.signal.entities.CompareSignalLevelResult
+import kotlinx.coroutines.flow.collectLatest
+import kotlinx.coroutines.launch
+
+internal abstract class SignalViewModel : BaseViewModel() {
+ abstract val uiState: State
+
+ abstract fun calculateSignalLevel()
+
+ abstract fun compareSignalLevel()
+
+ abstract fun onCalculateSignalLevelInputChanged(input: String)
+ abstract fun onCompareSignalLevelRSSI1InputChanged(input: String)
+ abstract fun onCompareSignalLevelRSSI2InputChanged(input: String)
+
+ abstract fun onDialogClosed()
+}
+
+private const val TARGET_NUMBER_OF_SIGNAL_LEVELS = 4
+
+internal class DefaultSignalViewModel(
+ context: Context,
+ private val wisefy: WisefyApi,
+ private val sdkUtil: SdkUtil,
+ private val signalStore: SignalStore = DefaultSignalStore(context = context)
+) : SignalViewModel() {
+
+ private val _uiState = mutableStateOf(
+ SignalUIState(
+ loadingState = SignalLoadingState(isLoading = false),
+ dialogState = SignalDialogState.None,
+ inputState = SignalInputState(
+ calculateSignalLevelInputState = CalculateSignalLevelInputState(
+ rssiLevelInput = "",
+ validityState = SignalInputValidityState.CalculateSignalLevel.Invalid.Empty
+ ),
+ compareSignalLevelInputState = CompareSignalLevelInputState(
+ rssi1InputState = CompareSignalLevelRSSIInputState(
+ rssiLevelInput = "",
+ validityState = SignalInputValidityState.CompareSignalLevel.Invalid.Empty
+ ),
+ rssi2InputState = CompareSignalLevelRSSIInputState(
+ rssiLevelInput = "",
+ validityState = SignalInputValidityState.CompareSignalLevel.Invalid.Empty
+ )
+ )
+ )
+ )
+ )
+ override val uiState: State
+ get() = _uiState
+
+ init {
+ viewModelScope.launch {
+ signalStore.getCalculateSignalLevelRSSI()
+ .collectLatest { rssiLevel ->
+ validateCalculateSignalLevelInputValidity(rssiLevel)
+ }
+ }
+
+ viewModelScope.launch {
+ signalStore.getCompareSignalLevelRSSI1()
+ .collectLatest { rssi1 ->
+ validateCompareSignalLevelRSSI1InputValidity(rssi1)
+ }
+ }
+
+ viewModelScope.launch {
+ signalStore.getCompareSignalLevelRSSI2()
+ .collectLatest { rssi2 ->
+ validateCompareSignalLevelRSSI2InputValidity(rssi2)
+ }
+ }
+ }
+
+ override fun calculateSignalLevel() {
+ _uiState.value = uiState.value.copy(
+ loadingState = SignalLoadingState(isLoading = true),
+ dialogState = SignalDialogState.None
+ )
+
+ if (isCalculateSignalLevelInputInvalid()) {
+ return
+ }
+
+ val rssiLevel = uiState.value.inputState.calculateSignalLevelInputState.rssiLevelInput.toInt()
+ val request = if (sdkUtil.isAtLeastR()) {
+ CalculateSignalLevelRequest.Android30AndAbove(rssiLevel = rssiLevel)
+ } else {
+ CalculateSignalLevelRequest.BelowAndroid30(
+ rssiLevel = rssiLevel,
+ numLevels = TARGET_NUMBER_OF_SIGNAL_LEVELS
+ )
+ }
+ val result = try {
+ wisefy.calculateSignalLevel(request)
+ } catch (ex: WisefyException) {
+ _uiState.value = uiState.value.copy(
+ loadingState = SignalLoadingState(isLoading = false),
+ dialogState = SignalDialogState.Failure.WisefyAsync(exception = ex)
+ )
+ null
+ }
+
+ when (result) {
+ is CalculateSignalLevelResult.Failure -> {
+ _uiState.value = uiState.value.copy(
+ loadingState = SignalLoadingState(isLoading = false),
+ dialogState = SignalDialogState.CalculateSignalLevel.Failure(result)
+ )
+ }
+ is CalculateSignalLevelResult.Success -> {
+ _uiState.value = uiState.value.copy(
+ loadingState = SignalLoadingState(isLoading = false),
+ dialogState = SignalDialogState.CalculateSignalLevel.Success(result)
+ )
+ }
+ null -> {
+ // Case handled above in the catch clause
+ }
+ }
+ }
+
+ override fun compareSignalLevel() {
+ _uiState.value = uiState.value.copy(
+ loadingState = SignalLoadingState(isLoading = true),
+ dialogState = SignalDialogState.None
+ )
+
+ if (isCompareSignalLevelInputInvalid()) {
+ return
+ }
+
+ val rssi1 = uiState.value.inputState.compareSignalLevelInputState.rssi1InputState.rssiLevelInput.toInt()
+ val rssi2 = uiState.value.inputState.compareSignalLevelInputState.rssi2InputState.rssiLevelInput.toInt()
+ val request = CompareSignalLevelRequest(rssi1 = rssi1, rssi2 = rssi2)
+ val result = try {
+ wisefy.compareSignalLevel(request)
+ } catch (ex: WisefyException) {
+ _uiState.value = uiState.value.copy(
+ loadingState = SignalLoadingState(isLoading = false),
+ dialogState = SignalDialogState.Failure.WisefyAsync(exception = ex)
+ )
+ null
+ }
+
+ when (result) {
+ is CompareSignalLevelResult.Success -> {
+ _uiState.value = uiState.value.copy(
+ loadingState = SignalLoadingState(isLoading = false),
+ dialogState = SignalDialogState.CompareSignalLevel.Success(result)
+ )
+ }
+ null -> {
+ // Case handled above in the catch clause
+ }
+ }
+ }
+
+ override fun onCalculateSignalLevelInputChanged(input: String) {
+ viewModelScope.launch {
+ signalStore.setCalculateSignalLevelRSSI(input)
+ }
+ }
+
+ override fun onCompareSignalLevelRSSI1InputChanged(input: String) {
+ viewModelScope.launch {
+ signalStore.setCompareSignalLevelRSSI1(input)
+ }
+ }
+
+ override fun onCompareSignalLevelRSSI2InputChanged(input: String) {
+ viewModelScope.launch {
+ signalStore.setCompareSignalLevelRSSI2(input)
+ }
+ }
+
+ override fun onDialogClosed() {
+ _uiState.value = uiState.value.copy(
+ loadingState = SignalLoadingState(isLoading = false),
+ dialogState = SignalDialogState.None
+ )
+ }
+
+ private fun isCalculateSignalLevelInputInvalid(): Boolean {
+ val currentCalculateSignalInputState = uiState.value.inputState.calculateSignalLevelInputState
+ if (currentCalculateSignalInputState.validityState !is SignalInputValidityState.CalculateSignalLevel.Valid) {
+ _uiState.value = uiState.value.copy(
+ loadingState = SignalLoadingState(isLoading = false),
+ dialogState = SignalDialogState.InputError.CalculateSignalLevel
+ )
+ return true
+ }
+ return false
+ }
+
+ private fun isCompareSignalLevelInputInvalid(): Boolean {
+ val currentRSSI1InputState = uiState.value.inputState.compareSignalLevelInputState.rssi1InputState
+ if (currentRSSI1InputState.validityState !is SignalInputValidityState.CompareSignalLevel.Valid) {
+ _uiState.value = uiState.value.copy(
+ loadingState = SignalLoadingState(isLoading = false),
+ dialogState = SignalDialogState.InputError.CompareSignalLevel.RSSI1
+ )
+ return true
+ }
+ val currentRSSI2InputState = uiState.value.inputState.compareSignalLevelInputState.rssi1InputState
+ if (currentRSSI2InputState.validityState !is SignalInputValidityState.CompareSignalLevel.Valid) {
+ _uiState.value = uiState.value.copy(
+ loadingState = SignalLoadingState(isLoading = false),
+ dialogState = SignalDialogState.InputError.CompareSignalLevel.RSSI2
+ )
+ return true
+ }
+ return false
+ }
+
+ private fun validateCalculateSignalLevelInputValidity(rssiLevel: String) {
+ val validityState = when {
+ rssiLevel.isBlank() -> SignalInputValidityState.CalculateSignalLevel.Invalid.Empty
+ rssiLevel.toIntOrNull() == null -> SignalInputValidityState.CalculateSignalLevel.Invalid.NotAnInt
+ else -> SignalInputValidityState.CalculateSignalLevel.Valid
+ }
+ _uiState.value = uiState.value.copy(
+ inputState = uiState.value.inputState.copy(
+ calculateSignalLevelInputState = CalculateSignalLevelInputState(
+ rssiLevelInput = rssiLevel,
+ validityState = validityState
+ )
+ )
+ )
+ }
+
+ private fun validateCompareSignalLevelRSSI1InputValidity(rssi1: String) {
+ val validityState = when {
+ rssi1.isBlank() -> SignalInputValidityState.CompareSignalLevel.Invalid.Empty
+ rssi1.toIntOrNull() == null -> SignalInputValidityState.CompareSignalLevel.Invalid.NotAnInt
+ else -> SignalInputValidityState.CompareSignalLevel.Valid
+ }
+ _uiState.value = uiState.value.copy(
+ inputState = uiState.value.inputState.copy(
+ compareSignalLevelInputState = uiState.value.inputState.compareSignalLevelInputState.copy(
+ rssi1InputState = CompareSignalLevelRSSIInputState(
+ rssiLevelInput = rssi1,
+ validityState = validityState
+ )
+ )
+ )
+ )
+ }
+
+ private fun validateCompareSignalLevelRSSI2InputValidity(rssi2: String) {
+ val validityState = when {
+ rssi2.isBlank() -> SignalInputValidityState.CompareSignalLevel.Invalid.Empty
+ rssi2.toIntOrNull() == null -> SignalInputValidityState.CompareSignalLevel.Invalid.NotAnInt
+ else -> SignalInputValidityState.CompareSignalLevel.Valid
+ }
+ _uiState.value = uiState.value.copy(
+ inputState = uiState.value.inputState.copy(
+ compareSignalLevelInputState = uiState.value.inputState.compareSignalLevelInputState.copy(
+ rssi2InputState = CompareSignalLevelRSSIInputState(
+ rssiLevelInput = rssi2,
+ validityState = validityState
+ )
+ )
+ )
+ )
+ }
+}
+
+internal class SignalViewModelFactory(
+ context: Context,
+ sdkUtil: SdkUtil,
+ private val wisefy: WisefyApi
+) : BaseViewModelFactory(
+ supportedClass = SignalViewModel::class,
+ vmProvider = { DefaultSignalViewModel(context, wisefy, sdkUtil) }
+)
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/features/remove/RemoveNetworkScreen.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/features/remove/RemoveNetworkScreen.kt
new file mode 100644
index 00000000..bffa8c05
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/features/remove/RemoveNetworkScreen.kt
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.features.remove
+
+import android.content.res.Configuration
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.tooling.preview.Preview
+import androidx.lifecycle.viewmodel.compose.viewModel
+import com.isupatches.android.wisefy.WisefyApi
+import com.isupatches.android.wisefy.sample.ui.ComposablePreviewWisefy
+import com.isupatches.android.wisefy.sample.ui.components.WisefySampleLoadingIndicator
+
+@Composable
+internal fun RemoveNetworkScreen(
+ wisefy: WisefyApi,
+ viewModel: RemoveNetworkViewModel = viewModel(
+ factory = RemoveNetworkViewModelFactory(
+ context = LocalContext.current.applicationContext,
+ wisefy = wisefy
+ )
+ )
+) {
+ WisefySampleLoadingIndicator(isLoading = { viewModel.uiState.value.loadingState.isLoading })
+ RemoveNetworkScreenDialogContent(dialogState = { viewModel.uiState.value.dialogState }, viewModel = viewModel)
+ RemoveNetworkScreenContent(viewModel = viewModel)
+}
+
+@Preview(showBackground = true)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun RemoveNetworkScreenLightPreview() {
+ RemoveNetworkScreen(ComposablePreviewWisefy())
+}
+
+@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun RemoveNetworkScreenDarkPreview() {
+ RemoveNetworkScreen(ComposablePreviewWisefy())
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/features/remove/RemoveNetworkScreenContent.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/features/remove/RemoveNetworkScreenContent.kt
new file mode 100644
index 00000000..dde70212
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/features/remove/RemoveNetworkScreenContent.kt
@@ -0,0 +1,162 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.features.remove
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import android.Manifest.permission.ACCESS_WIFI_STATE
+import android.Manifest.permission.CHANGE_WIFI_STATE
+import android.content.res.Configuration
+import androidx.activity.compose.rememberLauncherForActivityResult
+import androidx.activity.result.contract.ActivityResultContracts
+import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.Row
+import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.rememberScrollState
+import androidx.compose.foundation.verticalScroll
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.rememberCoroutineScope
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.tooling.preview.Preview
+import com.isupatches.android.wisefy.sample.R
+import com.isupatches.android.wisefy.sample.logging.WisefySampleLogger
+import com.isupatches.android.wisefy.sample.ui.ComposablePreviewWisefy
+import com.isupatches.android.wisefy.sample.ui.components.WisefyPrimaryButton
+import com.isupatches.android.wisefy.sample.ui.components.WisefySampleEditText
+import com.isupatches.android.wisefy.sample.ui.components.WisefySampleEditTextError
+import com.isupatches.android.wisefy.sample.ui.components.WisefySampleSSIDTypeSelectionRows
+import com.isupatches.android.wisefy.sample.ui.primitives.WisefySampleSizes
+import com.isupatches.android.wisefy.sample.ui.theme.WisefySampleTheme
+import kotlinx.coroutines.launch
+
+private const val LOG_TAG = "RemoveNetworkScreenContent"
+
+@Composable
+internal fun RemoveNetworkScreenContent(viewModel: RemoveNetworkViewModel) {
+ val scope = rememberCoroutineScope()
+ val removeNetworkPermissionsLauncher =
+ rememberLauncherForActivityResult(ActivityResultContracts.RequestMultiplePermissions()) { result ->
+ if (result.all { it.value }) {
+ scope.launch {
+ viewModel.removeNetwork()
+ }
+ } else {
+ WisefySampleLogger.w(LOG_TAG, "Permissions required to remove a network are denied")
+ viewModel.onRemoveNetworkPermissionsError()
+ }
+ }
+
+ WisefySampleTheme {
+ Column(
+ modifier = Modifier
+ .verticalScroll(rememberScrollState())
+ .padding(
+ top = WisefySampleSizes.WisefySampleTopMargin,
+ bottom = WisefySampleSizes.WisefySampleBottomMargin,
+ start = WisefySampleSizes.WisefySampleHorizontalMargins,
+ end = WisefySampleSizes.WisefySampleHorizontalMargins
+ )
+ ) {
+ RemoveNetworkInputRows(
+ inputState = { viewModel.uiState.value.inputState },
+ viewModel = viewModel
+ )
+ WisefySampleSSIDTypeSelectionRows(
+ ssidType = { viewModel.uiState.value.ssidType },
+ onSSIDTypeChanged = { ssidType -> viewModel.onSSIDTypeChanged(ssidType) }
+ )
+ Row(modifier = Modifier.padding(top = WisefySampleSizes.Large)) {
+ WisefyPrimaryButton(stringResId = R.string.remove_network) {
+ removeNetworkPermissionsLauncher.launch(
+ arrayOf(ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE, CHANGE_WIFI_STATE)
+ )
+ }
+ }
+ }
+ }
+}
+
+@Composable
+private fun RemoveNetworkInputRows(
+ inputState: () -> RemoveNetworkInputState,
+ viewModel: RemoveNetworkViewModel
+) {
+ val currentInputState = inputState()
+ Row {
+ WisefySampleEditText(
+ text = currentInputState.networkInput,
+ onTextChange = { newText ->
+ viewModel.onInputChanged(newText)
+ },
+ labelResId = R.string.regex_for_network,
+ error = when (currentInputState.networkInputValidityState) {
+ is RemoveNetworkInputValidityState.SSID.Invalid.Empty -> {
+ WisefySampleEditTextError(R.string.ssid_input_empty)
+ }
+ is RemoveNetworkInputValidityState.SSID.Invalid.TooShort -> {
+ WisefySampleEditTextError(R.string.ssid_input_too_short)
+ }
+ is RemoveNetworkInputValidityState.SSID.Invalid.TooLong -> {
+ WisefySampleEditTextError(R.string.ssid_input_too_long)
+ }
+ is RemoveNetworkInputValidityState.SSID.Invalid.InvalidCharacters -> {
+ WisefySampleEditTextError(R.string.ssid_input_invalid_characters)
+ }
+ is RemoveNetworkInputValidityState.SSID.Invalid.InvalidStartCharacters -> {
+ WisefySampleEditTextError(R.string.ssid_input_invalid_start_characters)
+ }
+ is RemoveNetworkInputValidityState.SSID.Invalid.LeadingOrTrailingSpaces -> {
+ WisefySampleEditTextError(R.string.ssid_input_leading_or_trailing_spaces)
+ }
+ is RemoveNetworkInputValidityState.SSID.Invalid.InvalidUnicode -> {
+ WisefySampleEditTextError(R.string.ssid_input_not_valid_unicode)
+ }
+ is RemoveNetworkInputValidityState.BSSID.Invalid.Empty -> {
+ WisefySampleEditTextError(R.string.bssid_input_empty)
+ }
+ is RemoveNetworkInputValidityState.BSSID.Invalid.ImproperFormat -> {
+ WisefySampleEditTextError(R.string.bssid_input_improper_format)
+ }
+ is RemoveNetworkInputValidityState.SSID.Valid -> null
+ is RemoveNetworkInputValidityState.BSSID.Valid -> null
+ }
+ )
+ }
+}
+
+@Preview(showBackground = true)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun RemoveNetworkScreenContentLightPreview() {
+ RemoveNetworkScreenContent(
+ viewModel = DefaultRemoveNetworkViewModel(
+ context = LocalContext.current,
+ wisefy = ComposablePreviewWisefy()
+ )
+ )
+}
+
+@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun RemoveNetworkScreenContentDarkPreview() {
+ RemoveNetworkScreenContent(
+ viewModel = DefaultRemoveNetworkViewModel(
+ context = LocalContext.current,
+ wisefy = ComposablePreviewWisefy()
+ )
+ )
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/features/remove/RemoveNetworkScreenDialogContent.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/features/remove/RemoveNetworkScreenDialogContent.kt
new file mode 100644
index 00000000..a4ce9117
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/features/remove/RemoveNetworkScreenDialogContent.kt
@@ -0,0 +1,139 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.features.remove
+
+import android.content.res.Configuration
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.tooling.preview.Preview
+import androidx.compose.ui.tooling.preview.PreviewParameter
+import androidx.compose.ui.tooling.preview.PreviewParameterProvider
+import com.isupatches.android.wisefy.core.exceptions.WisefyException
+import com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkResult
+import com.isupatches.android.wisefy.sample.R
+import com.isupatches.android.wisefy.sample.ui.ComposablePreviewWisefy
+import com.isupatches.android.wisefy.sample.ui.components.WisefySampleNoticeDialog
+
+@Composable
+internal fun RemoveNetworkScreenDialogContent(
+ dialogState: () -> RemoveNetworkDialogState,
+ viewModel: RemoveNetworkViewModel
+) {
+ when (val currentDialogState = dialogState()) {
+ is RemoveNetworkDialogState.None -> {
+ // No-op, no dialog
+ }
+ is RemoveNetworkDialogState.RemoveNetwork.Success -> {
+ WisefySampleNoticeDialog(
+ title = R.string.remove_network,
+ body = R.string.success_removing_network_args,
+ currentDialogState.result,
+ onClose = {
+ viewModel.onDialogClosed()
+ }
+ )
+ }
+ is RemoveNetworkDialogState.RemoveNetwork.PermissionsError -> {
+ WisefySampleNoticeDialog(
+ title = R.string.permission_error,
+ body = R.string.permission_error_remove_network,
+ onClose = {
+ viewModel.onDialogClosed()
+ }
+ )
+ }
+ is RemoveNetworkDialogState.RemoveNetwork.Failure -> {
+ WisefySampleNoticeDialog(
+ title = R.string.remove_network,
+ body = R.string.failure_removing_network_args,
+ currentDialogState.result,
+ onClose = {
+ viewModel.onDialogClosed()
+ }
+ )
+ }
+ is RemoveNetworkDialogState.Failure.WisefyAsync -> {
+ WisefySampleNoticeDialog(
+ title = R.string.wisefy_async_error,
+ body = R.string.wisefy_async_error_descriptions_args,
+ currentDialogState.exception.message ?: "",
+ currentDialogState.exception.cause?.message ?: "",
+ onClose = {
+ viewModel.onDialogClosed()
+ }
+ )
+ }
+ is RemoveNetworkDialogState.InputError.SSID -> {
+ WisefySampleNoticeDialog(
+ title = R.string.input_error,
+ body = R.string.ssid_input_invalid,
+ onClose = {
+ viewModel.onDialogClosed()
+ }
+ )
+ }
+ is RemoveNetworkDialogState.InputError.BSSID -> {
+ WisefySampleNoticeDialog(
+ title = R.string.input_error,
+ body = R.string.bssid_input_invalid,
+ onClose = {
+ viewModel.onDialogClosed()
+ }
+ )
+ }
+ }
+}
+
+@Preview(showBackground = true)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun RemoveNetworkScreenDialogContentLightPreview(
+ @PreviewParameter(RemoveNetworkDialogStatePreviewParameterProvider::class) dialogState: RemoveNetworkDialogState
+) {
+ RemoveNetworkScreenDialogContent(
+ viewModel = DefaultRemoveNetworkViewModel(
+ context = LocalContext.current,
+ wisefy = ComposablePreviewWisefy()
+ ),
+ dialogState = { dialogState }
+ )
+}
+
+@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun RemoveNetworkScreenDialogContentDarkPreview(
+ @PreviewParameter(RemoveNetworkDialogStatePreviewParameterProvider::class) dialogState: RemoveNetworkDialogState
+) {
+ RemoveNetworkScreenDialogContent(
+ viewModel = DefaultRemoveNetworkViewModel(
+ context = LocalContext.current,
+ wisefy = ComposablePreviewWisefy()
+ ),
+ dialogState = { dialogState }
+ )
+}
+
+private class RemoveNetworkDialogStatePreviewParameterProvider : PreviewParameterProvider {
+ override val values: Sequence = sequenceOf(
+ RemoveNetworkDialogState.Failure.WisefyAsync(WisefyException("", null)),
+ RemoveNetworkDialogState.InputError.SSID,
+ RemoveNetworkDialogState.InputError.BSSID,
+ RemoveNetworkDialogState.RemoveNetwork.Failure(RemoveNetworkResult.Failure.False),
+ RemoveNetworkDialogState.RemoveNetwork.PermissionsError,
+ RemoveNetworkDialogState.RemoveNetwork.Success(RemoveNetworkResult.Success.True)
+ )
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/features/remove/RemoveNetworkStore.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/features/remove/RemoveNetworkStore.kt
new file mode 100644
index 00000000..cdc0b7e9
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/features/remove/RemoveNetworkStore.kt
@@ -0,0 +1,90 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.features.remove
+
+import android.content.Context
+import androidx.datastore.core.DataStore
+import androidx.datastore.preferences.core.Preferences
+import androidx.datastore.preferences.core.edit
+import androidx.datastore.preferences.core.intPreferencesKey
+import androidx.datastore.preferences.core.stringPreferencesKey
+import androidx.datastore.preferences.preferencesDataStore
+import com.isupatches.android.wisefy.sample.entities.SSIDType
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.map
+
+private const val PREF_SSID_TYPE = "ssid_type"
+private const val PREF_LAST_USED_NETWORK_INPUT = "last_used_network_input"
+
+internal interface RemoveNetworkStore {
+ suspend fun clear()
+
+ fun getLastUsedNetworkInput(): Flow
+ fun getSSIDType(): Flow
+
+ suspend fun setLastUsedNetworkInput(lastUsedNetworkInput: String)
+ suspend fun setSSIDType(ssidType: SSIDType)
+}
+
+private val Context.removeNetworkDataStore: DataStore by preferencesDataStore(
+ name = "removeNetworkDataStore"
+)
+
+internal class DefaultRemoveNetworkStore(
+ private val context: Context
+) : RemoveNetworkStore {
+
+ private val ssidTypeKey = intPreferencesKey(PREF_SSID_TYPE)
+ private val lastUsedNetworkInputKey = stringPreferencesKey(PREF_LAST_USED_NETWORK_INPUT)
+
+ override suspend fun clear() {
+ context.removeNetworkDataStore.edit {
+ clear()
+ }
+ }
+
+ /*
+ * Last used network input
+ */
+
+ override fun getLastUsedNetworkInput(): Flow {
+ return context.removeNetworkDataStore.data.map { preferences ->
+ preferences[lastUsedNetworkInputKey] ?: ""
+ }
+ }
+
+ override suspend fun setLastUsedNetworkInput(lastUsedNetworkInput: String) {
+ context.removeNetworkDataStore.edit { preferences ->
+ preferences[lastUsedNetworkInputKey] = lastUsedNetworkInput
+ }
+ }
+
+ /*
+ * SSID Type
+ */
+
+ override fun getSSIDType(): Flow {
+ return context.removeNetworkDataStore.data.map { preferences ->
+ SSIDType.of(preferences[ssidTypeKey] ?: SSIDType.SSID.intVal)
+ }
+ }
+
+ override suspend fun setSSIDType(ssidType: SSIDType) {
+ context.removeNetworkDataStore.edit { preferences ->
+ preferences[ssidTypeKey] = ssidType.intVal
+ }
+ }
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/features/remove/RemoveNetworkUIState.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/features/remove/RemoveNetworkUIState.kt
new file mode 100644
index 00000000..584ccaee
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/features/remove/RemoveNetworkUIState.kt
@@ -0,0 +1,81 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.features.remove
+
+import com.isupatches.android.wisefy.core.exceptions.WisefyException
+import com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkResult
+import com.isupatches.android.wisefy.sample.entities.SSIDType
+
+internal data class RemoveNetworkUIState(
+ val loadingState: RemoveNetworkLoadingState,
+ val dialogState: RemoveNetworkDialogState,
+ val inputState: RemoveNetworkInputState,
+ val ssidType: SSIDType
+)
+
+internal data class RemoveNetworkLoadingState(val isLoading: Boolean)
+
+internal sealed class RemoveNetworkDialogState {
+
+ object None : RemoveNetworkDialogState()
+
+ sealed class Failure : RemoveNetworkDialogState() {
+ data class WisefyAsync(val exception: WisefyException) : Failure()
+ }
+
+ sealed class RemoveNetwork : RemoveNetworkDialogState() {
+ data class Failure(val result: RemoveNetworkResult.Failure) : RemoveNetwork()
+ data class Success(val result: RemoveNetworkResult.Success) : RemoveNetwork()
+
+ object PermissionsError : RemoveNetwork()
+ }
+
+ sealed class InputError : RemoveNetworkDialogState() {
+ object SSID : InputError()
+ object BSSID : InputError()
+ }
+}
+
+internal data class RemoveNetworkInputState(
+ val networkInput: String,
+ val networkInputValidityState: RemoveNetworkInputValidityState
+)
+
+internal sealed class RemoveNetworkInputValidityState {
+
+ sealed class SSID : RemoveNetworkInputValidityState() {
+ object Valid : SSID()
+
+ sealed class Invalid : SSID() {
+ object Empty : Invalid()
+ object TooShort : Invalid()
+ object TooLong : Invalid()
+ object InvalidCharacters : Invalid()
+ object InvalidStartCharacters : Invalid()
+ object LeadingOrTrailingSpaces : Invalid()
+ object InvalidUnicode : Invalid()
+ }
+ }
+
+ sealed class BSSID : RemoveNetworkInputValidityState() {
+ object Valid : BSSID()
+
+ sealed class Invalid : BSSID() {
+ object Empty : Invalid()
+ object ImproperFormat : Invalid()
+ }
+ }
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/features/remove/RemoveNetworkViewModel.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/features/remove/RemoveNetworkViewModel.kt
new file mode 100644
index 00000000..b41980cf
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/features/remove/RemoveNetworkViewModel.kt
@@ -0,0 +1,223 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.features.remove
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import android.Manifest.permission.ACCESS_WIFI_STATE
+import android.Manifest.permission.CHANGE_WIFI_STATE
+import android.content.Context
+import androidx.annotation.RequiresPermission
+import androidx.compose.runtime.State
+import androidx.compose.runtime.mutableStateOf
+import androidx.lifecycle.viewModelScope
+import com.isupatches.android.wisefy.WisefyApi
+import com.isupatches.android.wisefy.core.exceptions.WisefyException
+import com.isupatches.android.wisefy.ktx.removeNetworkAsync
+import com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkRequest
+import com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkResult
+import com.isupatches.android.wisefy.sample.entities.SSIDType
+import com.isupatches.android.wisefy.sample.scaffolding.BaseViewModel
+import com.isupatches.android.wisefy.sample.scaffolding.BaseViewModelFactory
+import com.isupatches.android.wisefy.sample.util.BSSIDInputError
+import com.isupatches.android.wisefy.sample.util.SSIDInputError
+import com.isupatches.android.wisefy.sample.util.validateBSSID
+import com.isupatches.android.wisefy.sample.util.validateSSID
+import kotlinx.coroutines.flow.collectLatest
+import kotlinx.coroutines.launch
+
+internal abstract class RemoveNetworkViewModel : BaseViewModel() {
+ abstract val uiState: State
+
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE, CHANGE_WIFI_STATE])
+ abstract suspend fun removeNetwork()
+
+ abstract fun onInputChanged(input: String)
+ abstract fun onSSIDTypeChanged(ssidType: SSIDType)
+
+ abstract fun onRemoveNetworkPermissionsError()
+
+ abstract fun onDialogClosed()
+}
+
+internal class DefaultRemoveNetworkViewModel(
+ context: Context,
+ private val wisefy: WisefyApi,
+ private val removeNetworkStore: RemoveNetworkStore = DefaultRemoveNetworkStore(context = context)
+) : RemoveNetworkViewModel() {
+
+ private val _uiState = mutableStateOf(
+ RemoveNetworkUIState(
+ loadingState = RemoveNetworkLoadingState(isLoading = false),
+ dialogState = RemoveNetworkDialogState.None,
+ inputState = RemoveNetworkInputState(
+ networkInput = "",
+ networkInputValidityState = RemoveNetworkInputValidityState.SSID.Invalid.Empty
+ ),
+ ssidType = SSIDType.SSID
+ )
+ )
+ override val uiState: State
+ get() = _uiState
+
+ init {
+ viewModelScope.launch {
+ removeNetworkStore.getLastUsedNetworkInput()
+ .collectLatest { input ->
+ validateInput(uiState.value.ssidType, input)
+ }
+ }
+
+ viewModelScope.launch {
+ removeNetworkStore.getSSIDType()
+ .collectLatest { ssidType ->
+ _uiState.value = uiState.value.copy(ssidType = ssidType)
+ validateInput(ssidType, uiState.value.inputState.networkInput)
+ }
+ }
+ }
+
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE, CHANGE_WIFI_STATE])
+ override suspend fun removeNetwork() {
+ val currentInputState = uiState.value.inputState
+ when (uiState.value.ssidType) {
+ SSIDType.SSID -> {
+ if (currentInputState.networkInputValidityState != RemoveNetworkInputValidityState.SSID.Valid) {
+ _uiState.value = uiState.value.copy(
+ loadingState = RemoveNetworkLoadingState(isLoading = false),
+ dialogState = RemoveNetworkDialogState.InputError.SSID
+ )
+ return
+ }
+ }
+ SSIDType.BSSID -> {
+ if (currentInputState.networkInputValidityState != RemoveNetworkInputValidityState.BSSID.Valid) {
+ _uiState.value = uiState.value.copy(
+ loadingState = RemoveNetworkLoadingState(isLoading = false),
+ dialogState = RemoveNetworkDialogState.InputError.BSSID
+ )
+ return
+ }
+ }
+ }
+ _uiState.value = uiState.value.copy(
+ loadingState = RemoveNetworkLoadingState(isLoading = true),
+ dialogState = RemoveNetworkDialogState.None
+ )
+ val request = when (uiState.value.ssidType) {
+ SSIDType.SSID -> RemoveNetworkRequest.SSID(ssid = currentInputState.networkInput)
+ SSIDType.BSSID -> RemoveNetworkRequest.BSSID(bssid = currentInputState.networkInput)
+ }
+ val result = try {
+ wisefy.removeNetworkAsync(request = request)
+ } catch (ex: WisefyException) {
+ _uiState.value = uiState.value.copy(
+ loadingState = RemoveNetworkLoadingState(isLoading = false),
+ dialogState = RemoveNetworkDialogState.Failure.WisefyAsync(exception = ex)
+ )
+ null
+ }
+
+ when (result) {
+ is RemoveNetworkResult.Success -> {
+ _uiState.value = uiState.value.copy(
+ loadingState = RemoveNetworkLoadingState(isLoading = false),
+ dialogState = RemoveNetworkDialogState.RemoveNetwork.Success(result)
+ )
+ }
+ is RemoveNetworkResult.Failure -> {
+ _uiState.value = uiState.value.copy(
+ loadingState = RemoveNetworkLoadingState(isLoading = false),
+ dialogState = RemoveNetworkDialogState.RemoveNetwork.Failure(result)
+ )
+ }
+ null -> {
+ // Case handled above in the catch clause
+ }
+ }
+ }
+
+ override fun onInputChanged(input: String) {
+ viewModelScope.launch {
+ removeNetworkStore.setLastUsedNetworkInput(input)
+ }
+ }
+
+ override fun onSSIDTypeChanged(ssidType: SSIDType) {
+ viewModelScope.launch {
+ removeNetworkStore.setSSIDType(ssidType)
+ }
+ }
+
+ override fun onDialogClosed() {
+ _uiState.value = uiState.value.copy(
+ loadingState = RemoveNetworkLoadingState(isLoading = false),
+ dialogState = RemoveNetworkDialogState.None
+ )
+ }
+
+ override fun onRemoveNetworkPermissionsError() {
+ _uiState.value = uiState.value.copy(
+ loadingState = RemoveNetworkLoadingState(isLoading = false),
+ dialogState = RemoveNetworkDialogState.RemoveNetwork.PermissionsError
+ )
+ }
+
+ private fun validateInput(ssidType: SSIDType, input: String) {
+ val validityState = when (ssidType) {
+ SSIDType.SSID -> {
+ when (input.validateSSID()) {
+ SSIDInputError.EMPTY -> RemoveNetworkInputValidityState.SSID.Invalid.Empty
+ SSIDInputError.TOO_SHORT -> RemoveNetworkInputValidityState.SSID.Invalid.TooShort
+ SSIDInputError.TOO_LONG -> RemoveNetworkInputValidityState.SSID.Invalid.TooLong
+ SSIDInputError.INVALID_CHARACTERS -> {
+ RemoveNetworkInputValidityState.SSID.Invalid.InvalidCharacters
+ }
+ SSIDInputError.INVALID_START_CHARACTERS -> {
+ RemoveNetworkInputValidityState.SSID.Invalid.InvalidStartCharacters
+ }
+ SSIDInputError.LEADING_OR_TRAILING_SPACES -> {
+ RemoveNetworkInputValidityState.SSID.Invalid.LeadingOrTrailingSpaces
+ }
+ SSIDInputError.NOT_VALID_UNICODE -> {
+ RemoveNetworkInputValidityState.SSID.Invalid.InvalidUnicode
+ }
+ SSIDInputError.NONE -> RemoveNetworkInputValidityState.SSID.Valid
+ }
+ }
+ SSIDType.BSSID -> {
+ when (input.validateBSSID()) {
+ BSSIDInputError.EMPTY -> RemoveNetworkInputValidityState.BSSID.Invalid.Empty
+ BSSIDInputError.INVALID -> RemoveNetworkInputValidityState.BSSID.Invalid.ImproperFormat
+ BSSIDInputError.NONE -> RemoveNetworkInputValidityState.BSSID.Valid
+ }
+ }
+ }
+ _uiState.value = uiState.value.copy(
+ inputState = RemoveNetworkInputState(
+ networkInput = input,
+ networkInputValidityState = validityState
+ )
+ )
+ }
+}
+
+internal class RemoveNetworkViewModelFactory(
+ private val context: Context,
+ private val wisefy: WisefyApi
+) : BaseViewModelFactory(
+ supportedClass = RemoveNetworkViewModel::class,
+ vmProvider = { DefaultRemoveNetworkViewModel(context, wisefy) }
+)
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/features/search/SearchScreen.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/features/search/SearchScreen.kt
new file mode 100644
index 00000000..c615dfaf
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/features/search/SearchScreen.kt
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.features.search
+
+import android.content.res.Configuration
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.tooling.preview.Preview
+import androidx.lifecycle.viewmodel.compose.viewModel
+import com.isupatches.android.wisefy.WisefyApi
+import com.isupatches.android.wisefy.sample.ui.ComposablePreviewWisefy
+import com.isupatches.android.wisefy.sample.ui.components.WisefySampleLoadingIndicator
+
+@Composable
+internal fun SearchScreen(
+ wisefy: WisefyApi,
+ viewModel: SearchViewModel = viewModel(
+ factory = SearchViewModelFactory(
+ context = LocalContext.current.applicationContext,
+ wisefy = wisefy
+ )
+ )
+) {
+ WisefySampleLoadingIndicator(isLoading = { viewModel.uiState.value.loadingState.isLoading })
+ SearchScreenDialogContent(dialogState = { viewModel.uiState.value.dialogState }, viewModel = viewModel)
+ SearchScreenContent(viewModel = viewModel)
+}
+
+@Preview(showBackground = true)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun SearchScreenLightPreview() {
+ SearchScreen(ComposablePreviewWisefy())
+}
+
+@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun SearchScreenDarkPreview() {
+ SearchScreen(ComposablePreviewWisefy())
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/features/search/SearchScreenContent.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/features/search/SearchScreenContent.kt
new file mode 100644
index 00000000..8be5898a
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/features/search/SearchScreenContent.kt
@@ -0,0 +1,434 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.features.search
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import android.Manifest.permission.ACCESS_WIFI_STATE
+import android.content.res.Configuration
+import androidx.activity.compose.rememberLauncherForActivityResult
+import androidx.activity.result.contract.ActivityResultContracts
+import androidx.compose.foundation.layout.Arrangement
+import androidx.compose.foundation.layout.Box
+import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.Row
+import androidx.compose.foundation.layout.fillMaxWidth
+import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.rememberScrollState
+import androidx.compose.foundation.verticalScroll
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.mutableStateOf
+import androidx.compose.runtime.remember
+import androidx.compose.runtime.rememberCoroutineScope
+import androidx.compose.ui.Alignment
+import androidx.compose.ui.ExperimentalComposeUiApi
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.res.pluralStringResource
+import androidx.compose.ui.tooling.preview.Preview
+import com.isupatches.android.wisefy.sample.R
+import com.isupatches.android.wisefy.sample.entities.SearchType
+import com.isupatches.android.wisefy.sample.logging.WisefySampleLogger
+import com.isupatches.android.wisefy.sample.ui.ComposablePreviewWisefy
+import com.isupatches.android.wisefy.sample.ui.components.WisefyPrimaryButton
+import com.isupatches.android.wisefy.sample.ui.components.WisefySampleBodyLabel
+import com.isupatches.android.wisefy.sample.ui.components.WisefySampleCaptionLabel
+import com.isupatches.android.wisefy.sample.ui.components.WisefySampleEditText
+import com.isupatches.android.wisefy.sample.ui.components.WisefySampleEditTextError
+import com.isupatches.android.wisefy.sample.ui.components.WisefySampleRadioButton
+import com.isupatches.android.wisefy.sample.ui.components.WisefySampleSSIDTypeSelectionRows
+import com.isupatches.android.wisefy.sample.ui.components.WisefySampleSlider
+import com.isupatches.android.wisefy.sample.ui.components.WisefySampleSubHeaderLabel
+import com.isupatches.android.wisefy.sample.ui.primitives.WisefySampleSizes
+import com.isupatches.android.wisefy.sample.ui.theme.WisefySampleTheme
+import kotlinx.coroutines.launch
+import kotlin.math.roundToInt
+
+private const val LOG_TAG = "SearchScreenContent"
+
+private const val MIN_SEARCH_TIMEOUT = 1f
+private const val MAX_SEARCH_TIMEOUT = 60f
+
+@Composable
+internal fun SearchScreenContent(viewModel: SearchViewModel) {
+ val scope = rememberCoroutineScope()
+
+ val searchForAccessPointPermissionsLauncher =
+ rememberLauncherForActivityResult(ActivityResultContracts.RequestPermission()) { isGranted ->
+ if (isGranted) {
+ scope.launch {
+ viewModel.searchForAccessPoint()
+ }
+ } else {
+ WisefySampleLogger.w(LOG_TAG, "Permissions required to search for an access point are denied")
+ viewModel.onSearchForAccessPointPermissionError()
+ }
+ }
+
+ val searchForAccessPointsPermissionsLauncher =
+ rememberLauncherForActivityResult(ActivityResultContracts.RequestPermission()) { isGranted ->
+ if (isGranted) {
+ scope.launch {
+ viewModel.searchForAccessPoints()
+ }
+ } else {
+ WisefySampleLogger.w(LOG_TAG, "Permissions required to search for access points are denied")
+ viewModel.onSearchForAccessPointsPermissionError()
+ }
+ }
+
+ val searchForSavedNetworkPermissionsLauncher =
+ rememberLauncherForActivityResult(ActivityResultContracts.RequestMultiplePermissions()) { result ->
+ if (result.all { it.value }) {
+ scope.launch {
+ viewModel.searchForSavedNetwork()
+ }
+ } else {
+ WisefySampleLogger.w(LOG_TAG, "Permissions required to search for a saved network are denied")
+ viewModel.onSearchForSavedNetworkPermissionError()
+ }
+ }
+
+ val searchForSavedNetworksPermissionsLauncher =
+ rememberLauncherForActivityResult(ActivityResultContracts.RequestMultiplePermissions()) { result ->
+ if (result.all { it.value }) {
+ scope.launch {
+ viewModel.searchForSavedNetworks()
+ }
+ } else {
+ WisefySampleLogger.w(LOG_TAG, "Permissions required to search for saved networks are denied")
+ viewModel.onSearchForSavedNetworksPermissionError()
+ }
+ }
+
+ val searchForSSIDPermissionsLauncher =
+ rememberLauncherForActivityResult(ActivityResultContracts.RequestPermission()) { isGranted ->
+ if (isGranted) {
+ scope.launch {
+ viewModel.searchForSSID()
+ }
+ } else {
+ WisefySampleLogger.w(LOG_TAG, "Permissions required to search for an SSID are denied")
+ viewModel.onSearchForSSIDPermissionError()
+ }
+ }
+
+ val searchForSSIDsPermissionsLauncher =
+ rememberLauncherForActivityResult(ActivityResultContracts.RequestPermission()) { isGranted ->
+ if (isGranted) {
+ scope.launch {
+ viewModel.searchForSSIDs()
+ }
+ } else {
+ WisefySampleLogger.w(LOG_TAG, "Permissions required to search for SSIDs are denied")
+ viewModel.onSearchForSSIDsPermissionError()
+ }
+ }
+
+ WisefySampleTheme {
+ Column(
+ modifier = Modifier
+ .fillMaxWidth()
+ .verticalScroll(rememberScrollState())
+ .padding(
+ top = WisefySampleSizes.WisefySampleTopMargin,
+ bottom = WisefySampleSizes.WisefySampleBottomMargin,
+ start = WisefySampleSizes.WisefySampleHorizontalMargins,
+ end = WisefySampleSizes.WisefySampleHorizontalMargins
+ )
+ ) {
+ SearchScreenNetworkInputRows(
+ inputState = { viewModel.uiState.value.inputState },
+ viewModel = viewModel
+ )
+ Row {
+ Box(Modifier.padding(top = WisefySampleSizes.XLarge)) {
+ WisefyPrimaryButton(stringResId = R.string.search) {
+ when (viewModel.uiState.value.searchType) {
+ SearchType.ACCESS_POINT -> {
+ if (viewModel.uiState.value.returnFullList) {
+ searchForAccessPointsPermissionsLauncher.launch(ACCESS_FINE_LOCATION)
+ } else {
+ searchForAccessPointPermissionsLauncher.launch(ACCESS_FINE_LOCATION)
+ }
+ }
+ SearchType.SAVED_NETWORK -> {
+ if (viewModel.uiState.value.returnFullList) {
+ searchForSavedNetworksPermissionsLauncher.launch(
+ arrayOf(ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE)
+ )
+ } else {
+ searchForSavedNetworkPermissionsLauncher.launch(
+ arrayOf(ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE)
+ )
+ }
+ }
+ SearchType.SSID -> {
+ if (viewModel.uiState.value.returnFullList) {
+ searchForSSIDsPermissionsLauncher.launch(ACCESS_FINE_LOCATION)
+ } else {
+ searchForSSIDPermissionsLauncher.launch(ACCESS_FINE_LOCATION)
+ }
+ }
+ }
+ }
+ }
+ }
+ SearchScreenSearchTypeInputRows(
+ searchType = { viewModel.uiState.value.searchType },
+ viewModel = viewModel
+ )
+ WisefySampleSSIDTypeSelectionRows(
+ ssidType = { viewModel.uiState.value.ssidType },
+ onSSIDTypeChanged = { ssidType -> viewModel.onSSIDTypeChanged(ssidType) }
+ )
+ SearchScreenReturnFullListInputRows(
+ returnFullList = { viewModel.uiState.value.returnFullList },
+ viewModel = viewModel
+ )
+ SearchScreenFilterDuplicatesInputRows(
+ filterDuplicates = { viewModel.uiState.value.filterDuplicates },
+ viewModel = viewModel
+ )
+ if (viewModel.uiState.value.searchType != SearchType.SAVED_NETWORK) {
+ val timeoutInSeconds = viewModel.uiState.value.timeoutInSeconds
+ if (timeoutInSeconds != null) {
+ SearchScreenTimeoutInputRows(
+ timeout = { timeoutInSeconds },
+ viewModel = viewModel
+ )
+ }
+ }
+ }
+ }
+}
+
+@Composable
+private fun SearchScreenNetworkInputRows(
+ inputState: () -> SearchInputState,
+ viewModel: SearchViewModel
+) {
+ val currentInputState = inputState()
+ Row {
+ WisefySampleEditText(
+ text = currentInputState.input,
+ onTextChange = { newText ->
+ viewModel.onSearchNetworkInputChanged(newText)
+ },
+ labelResId = R.string.regex_for_network,
+ error = when (currentInputState.inputValidityState) {
+ is SearchInputValidityState.SSID.Invalid.Empty -> {
+ WisefySampleEditTextError(R.string.ssid_input_empty)
+ }
+ is SearchInputValidityState.SSID.Invalid.TooShort -> {
+ WisefySampleEditTextError(R.string.ssid_input_too_short)
+ }
+ is SearchInputValidityState.SSID.Invalid.TooLong -> {
+ WisefySampleEditTextError(R.string.ssid_input_too_long)
+ }
+ is SearchInputValidityState.SSID.Invalid.InvalidCharacters -> {
+ WisefySampleEditTextError(R.string.ssid_input_invalid_characters)
+ }
+ is SearchInputValidityState.SSID.Invalid.InvalidStartCharacters -> {
+ WisefySampleEditTextError(R.string.ssid_input_invalid_start_characters)
+ }
+ is SearchInputValidityState.SSID.Invalid.LeadingOrTrailingSpaces -> {
+ WisefySampleEditTextError(R.string.ssid_input_leading_or_trailing_spaces)
+ }
+ is SearchInputValidityState.SSID.Invalid.InvalidUnicode -> {
+ WisefySampleEditTextError(R.string.ssid_input_not_valid_unicode)
+ }
+ is SearchInputValidityState.SSID.Valid -> null
+ is SearchInputValidityState.BSSID.Invalid.Empty -> {
+ WisefySampleEditTextError(R.string.bssid_input_empty)
+ }
+ is SearchInputValidityState.BSSID.Invalid.ImproperFormat -> {
+ WisefySampleEditTextError(R.string.bssid_input_improper_format)
+ }
+ is SearchInputValidityState.BSSID.Valid -> null
+ }
+ )
+ }
+}
+
+@Composable
+private fun SearchScreenSearchTypeInputRows(
+ searchType: () -> SearchType,
+ viewModel: SearchViewModel
+) {
+ val currentSearchType = searchType()
+ Row {
+ WisefySampleSubHeaderLabel(
+ stringResId = R.string.search_for,
+ modifier = Modifier.padding(top = WisefySampleSizes.XLarge)
+ )
+ }
+ Row(verticalAlignment = Alignment.CenterVertically) {
+ WisefySampleRadioButton(
+ isSelected = currentSearchType == SearchType.ACCESS_POINT,
+ onClick = { viewModel.onSearchTypeSelected(SearchType.ACCESS_POINT) }
+ )
+ WisefySampleBodyLabel(stringResId = R.string.access_point)
+ }
+ Row(verticalAlignment = Alignment.CenterVertically) {
+ WisefySampleRadioButton(
+ isSelected = currentSearchType == SearchType.SSID,
+ onClick = { viewModel.onSearchTypeSelected(SearchType.SSID) }
+ )
+ WisefySampleBodyLabel(stringResId = R.string.ssid)
+ }
+ Row(verticalAlignment = Alignment.CenterVertically) {
+ WisefySampleRadioButton(
+ isSelected = currentSearchType == SearchType.SAVED_NETWORK,
+ onClick = { viewModel.onSearchTypeSelected(SearchType.SAVED_NETWORK) }
+ )
+ WisefySampleBodyLabel(stringResId = R.string.saved_network)
+ }
+}
+
+@Composable
+private fun SearchScreenReturnFullListInputRows(
+ returnFullList: () -> Boolean,
+ viewModel: SearchViewModel
+) {
+ val currentReturnFullListValue = returnFullList()
+ Row {
+ WisefySampleSubHeaderLabel(
+ modifier = Modifier.padding(top = WisefySampleSizes.Medium),
+ stringResId = R.string.return_full_list_label
+ )
+ }
+ Row {
+ WisefySampleBodyLabel(
+ modifier = Modifier.padding(top = WisefySampleSizes.Large),
+ stringResId = R.string.return_full_list_description
+ )
+ }
+ Row(
+ modifier = Modifier.padding(top = WisefySampleSizes.Medium),
+ verticalAlignment = Alignment.CenterVertically
+ ) {
+ WisefySampleRadioButton(
+ isSelected = currentReturnFullListValue,
+ onClick = {
+ viewModel.onReturnFullListChanged(true)
+ }
+ )
+ WisefySampleBodyLabel(stringResId = R.string.yes)
+ WisefySampleRadioButton(
+ isSelected = !currentReturnFullListValue,
+ onClick = {
+ viewModel.onReturnFullListChanged(false)
+ }
+ )
+ WisefySampleBodyLabel(stringResId = R.string.no)
+ }
+}
+
+@Composable
+private fun SearchScreenFilterDuplicatesInputRows(
+ filterDuplicates: () -> Boolean,
+ viewModel: SearchViewModel
+) {
+ val currentFilterDuplicatesValue = filterDuplicates()
+ Row {
+ WisefySampleSubHeaderLabel(
+ modifier = Modifier.padding(top = WisefySampleSizes.Large),
+ stringResId = R.string.filter_duplicates
+ )
+ }
+ Row(
+ modifier = Modifier.padding(top = WisefySampleSizes.Medium),
+ verticalAlignment = Alignment.CenterVertically
+ ) {
+ WisefySampleRadioButton(
+ isSelected = currentFilterDuplicatesValue,
+ onClick = {
+ viewModel.onFilterDuplicatesChanged(true)
+ }
+ )
+ WisefySampleBodyLabel(stringResId = R.string.yes)
+ WisefySampleRadioButton(
+ isSelected = !currentFilterDuplicatesValue,
+ onClick = {
+ viewModel.onFilterDuplicatesChanged(false)
+ }
+ )
+ WisefySampleBodyLabel(stringResId = R.string.no)
+ }
+}
+
+@Composable
+private fun SearchScreenTimeoutInputRows(
+ timeout: () -> Int,
+ viewModel: SearchViewModel
+) {
+ val searchTimeout = remember { mutableStateOf(timeout()) }
+ Row(modifier = Modifier.padding(top = WisefySampleSizes.Medium)) {
+ WisefySampleSlider(
+ startPosition = { searchTimeout.value.toFloat() },
+ valueRange = object : ClosedFloatingPointRange {
+ override val start: Float = MIN_SEARCH_TIMEOUT
+ override val endInclusive: Float = MAX_SEARCH_TIMEOUT
+
+ override fun lessThanOrEquals(a: Float, b: Float): Boolean {
+ return a <= b
+ }
+ },
+ onValueChange = { timeout ->
+ searchTimeout.value = timeout.roundToInt()
+ },
+ onValueChangeFinished = { timeout ->
+ viewModel.onSearchTimeoutValueChangeFinished(timeout.roundToInt())
+ }
+ )
+ }
+ Row(modifier = Modifier.fillMaxWidth(), horizontalArrangement = Arrangement.Center) {
+ SearchScreenTimeoutLabelRow(timeout = { searchTimeout.value })
+ }
+}
+
+@OptIn(ExperimentalComposeUiApi::class)
+@Composable
+private fun SearchScreenTimeoutLabelRow(timeout: () -> Int) {
+ WisefySampleCaptionLabel(
+ text = pluralStringResource(R.plurals.timeout_after_x_seconds_args_html, timeout(), timeout()),
+ modifier = Modifier
+ )
+}
+
+@Preview(showBackground = true)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun SearchScreenContentLightPreview() {
+ SearchScreenContent(
+ viewModel = DefaultSearchViewModel(
+ context = LocalContext.current,
+ wisefy = ComposablePreviewWisefy()
+ )
+ )
+}
+
+@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun SearchScreenContentDarkPreview() {
+ SearchScreenContent(
+ viewModel = DefaultSearchViewModel(
+ context = LocalContext.current,
+ wisefy = ComposablePreviewWisefy()
+ )
+ )
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/features/search/SearchScreenDialogContent.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/features/search/SearchScreenDialogContent.kt
new file mode 100644
index 00000000..50aa7169
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/features/search/SearchScreenDialogContent.kt
@@ -0,0 +1,269 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.features.search
+
+import android.content.res.Configuration
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.tooling.preview.Preview
+import androidx.compose.ui.tooling.preview.PreviewParameter
+import androidx.compose.ui.tooling.preview.PreviewParameterProvider
+import com.isupatches.android.wisefy.core.exceptions.WisefyException
+import com.isupatches.android.wisefy.sample.R
+import com.isupatches.android.wisefy.sample.ui.ComposablePreviewWisefy
+import com.isupatches.android.wisefy.sample.ui.components.WisefySampleNoticeDialog
+import com.isupatches.android.wisefy.savednetworks.entities.SavedNetworkData
+
+@Composable
+internal fun SearchScreenDialogContent(
+ dialogState: () -> SearchDialogState,
+ viewModel: SearchViewModel
+) {
+ when (val currentDialogState = dialogState()) {
+ is SearchDialogState.None -> {
+ // No-op, no dialog
+ }
+ is SearchDialogState.SearchForAccessPoint.NoAccessPointFound -> {
+ WisefySampleNoticeDialog(
+ title = R.string.search_result,
+ body = R.string.access_point_not_found
+ ) {
+ viewModel.onDialogClosed()
+ }
+ }
+ is SearchDialogState.SearchForAccessPoints.NoAccessPointsFound -> {
+ WisefySampleNoticeDialog(
+ title = R.string.search_result,
+ body = R.string.no_access_points_found
+ ) {
+ viewModel.onDialogClosed()
+ }
+ }
+ is SearchDialogState.SearchForSSID.NoSSIDFound -> {
+ WisefySampleNoticeDialog(
+ title = R.string.search_result,
+ body = R.string.ssid_not_found
+ ) {
+ viewModel.onDialogClosed()
+ }
+ }
+ is SearchDialogState.SearchForSSIDs.NoSSIDsFound -> {
+ WisefySampleNoticeDialog(
+ title = R.string.search_result,
+ body = R.string.no_ssids_found
+ ) {
+ viewModel.onDialogClosed()
+ }
+ }
+ is SearchDialogState.SearchForSavedNetwork.NoSavedNetworkFound -> {
+ WisefySampleNoticeDialog(
+ title = R.string.search_result,
+ body = R.string.saved_network_not_found
+ ) {
+ viewModel.onDialogClosed()
+ }
+ }
+ is SearchDialogState.SearchForSavedNetworks.NoSavedNetworksFound -> {
+ WisefySampleNoticeDialog(
+ title = R.string.search_result,
+ body = R.string.no_saved_networks_found
+ ) {
+ viewModel.onDialogClosed()
+ }
+ }
+ is SearchDialogState.Failure.WisefyAsync -> {
+ WisefySampleNoticeDialog(
+ title = R.string.wisefy_async_error,
+ body = R.string.wisefy_async_error_descriptions_args,
+ currentDialogState.exception.message ?: "",
+ currentDialogState.exception.cause?.message ?: "",
+ onClose = {
+ viewModel.onDialogClosed()
+ }
+ )
+ }
+ is SearchDialogState.InputError.SSID -> {
+ WisefySampleNoticeDialog(title = R.string.input_error, body = R.string.ssid_input_invalid) {
+ viewModel.onDialogClosed()
+ }
+ }
+ is SearchDialogState.InputError.BSSID -> {
+ WisefySampleNoticeDialog(title = R.string.input_error, body = R.string.bssid_input_invalid) {
+ viewModel.onDialogClosed()
+ }
+ }
+ is SearchDialogState.SearchForAccessPoint.PermissionError -> {
+ WisefySampleNoticeDialog(
+ title = R.string.permission_error,
+ body = R.string.permission_error_search_for_access_point
+ ) {
+ viewModel.onDialogClosed()
+ }
+ }
+ is SearchDialogState.SearchForAccessPoints.PermissionError -> {
+ WisefySampleNoticeDialog(
+ title = R.string.permission_error,
+ body = R.string.permission_error_search_for_access_points
+ ) {
+ viewModel.onDialogClosed()
+ }
+ }
+ is SearchDialogState.SearchForSSID.PermissionError -> {
+ WisefySampleNoticeDialog(
+ title = R.string.permission_error,
+ body = R.string.permission_error_search_for_ssid
+ ) {
+ viewModel.onDialogClosed()
+ }
+ }
+ is SearchDialogState.SearchForSSIDs.PermissionError -> {
+ WisefySampleNoticeDialog(
+ title = R.string.permission_error,
+ body = R.string.permission_error_search_for_ssids
+ ) {
+ viewModel.onDialogClosed()
+ }
+ }
+ is SearchDialogState.SearchForSavedNetwork.PermissionError -> {
+ WisefySampleNoticeDialog(
+ title = R.string.permission_error,
+ body = R.string.permission_error_search_for_saved_network
+ ) {
+ viewModel.onDialogClosed()
+ }
+ }
+ is SearchDialogState.SearchForSavedNetworks.PermissionError -> {
+ WisefySampleNoticeDialog(
+ title = R.string.permission_error,
+ body = R.string.permission_error_search_for_saved_networks
+ ) {
+ viewModel.onDialogClosed()
+ }
+ }
+ is SearchDialogState.SearchForAccessPoint.Success -> {
+ WisefySampleNoticeDialog(
+ title = R.string.search_result,
+ body = R.string.access_point_args,
+ currentDialogState.data
+ ) {
+ viewModel.onDialogClosed()
+ }
+ }
+ is SearchDialogState.SearchForAccessPoints.Success -> {
+ WisefySampleNoticeDialog(
+ title = R.string.search_result,
+ body = R.string.access_points_args,
+ currentDialogState.data
+ ) {
+ viewModel.onDialogClosed()
+ }
+ }
+ is SearchDialogState.SearchForSSID.Success -> {
+ WisefySampleNoticeDialog(
+ title = R.string.search_result,
+ body = R.string.ssid_args,
+ currentDialogState.data
+ ) {
+ viewModel.onDialogClosed()
+ }
+ }
+ is SearchDialogState.SearchForSSIDs.Success -> {
+ WisefySampleNoticeDialog(
+ title = R.string.search_result,
+ body = R.string.ssids_args,
+ currentDialogState.data
+ ) {
+ viewModel.onDialogClosed()
+ }
+ }
+ is SearchDialogState.SearchForSavedNetwork.Success -> {
+ WisefySampleNoticeDialog(
+ title = R.string.search_result,
+ body = R.string.saved_network_args,
+ currentDialogState.data
+ ) {
+ viewModel.onDialogClosed()
+ }
+ }
+ is SearchDialogState.SearchForSavedNetworks.Success -> {
+ WisefySampleNoticeDialog(
+ title = R.string.search_result,
+ body = R.string.saved_networks_args,
+ currentDialogState.data
+ ) {
+ viewModel.onDialogClosed()
+ }
+ }
+ }
+}
+
+@Preview(showBackground = true)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun SearchScreenDialogContentLightPreview(
+ @PreviewParameter(SearchScreenDialogStatePreviewParameterProvider::class) dialogState: SearchDialogState
+) {
+ SearchScreenDialogContent(
+ viewModel = DefaultSearchViewModel(
+ context = LocalContext.current,
+ wisefy = ComposablePreviewWisefy()
+ ),
+ dialogState = { dialogState }
+ )
+}
+
+@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun RemoveNetworkScreenDialogContentDarkPreview(
+ @PreviewParameter(SearchScreenDialogStatePreviewParameterProvider::class) dialogState: SearchDialogState
+) {
+ SearchScreenDialogContent(
+ viewModel = DefaultSearchViewModel(
+ context = LocalContext.current,
+ wisefy = ComposablePreviewWisefy()
+ ),
+ dialogState = { dialogState }
+ )
+}
+
+@Suppress("Deprecation")
+private class SearchScreenDialogStatePreviewParameterProvider : PreviewParameterProvider {
+ override val values: Sequence = sequenceOf(
+ SearchDialogState.Failure.WisefyAsync(WisefyException("", null)),
+ SearchDialogState.InputError.SSID,
+ SearchDialogState.InputError.BSSID,
+ SearchDialogState.SearchForSSID.Success(""),
+ SearchDialogState.SearchForSSID.NoSSIDFound,
+ SearchDialogState.SearchForSSID.PermissionError,
+ SearchDialogState.SearchForAccessPoint.NoAccessPointFound,
+ SearchDialogState.SearchForAccessPoint.PermissionError,
+ SearchDialogState.SearchForSavedNetwork.Success(
+ SavedNetworkData.Configuration(android.net.wifi.WifiConfiguration())
+ ),
+ SearchDialogState.SearchForSavedNetwork.NoSavedNetworkFound,
+ SearchDialogState.SearchForSavedNetwork.PermissionError,
+ SearchDialogState.SearchForSSIDs.Success(emptyList()),
+ SearchDialogState.SearchForSSIDs.NoSSIDsFound,
+ SearchDialogState.SearchForSSIDs.PermissionError,
+ SearchDialogState.SearchForAccessPoints.Success(emptyList()),
+ SearchDialogState.SearchForAccessPoints.NoAccessPointsFound,
+ SearchDialogState.SearchForAccessPoints.PermissionError,
+ SearchDialogState.SearchForSavedNetworks.Success(emptyList()),
+ SearchDialogState.SearchForSavedNetworks.NoSavedNetworksFound,
+ SearchDialogState.SearchForSavedNetworks.PermissionError
+ )
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/features/search/SearchScreenUIState.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/features/search/SearchScreenUIState.kt
new file mode 100644
index 00000000..b3509bdc
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/features/search/SearchScreenUIState.kt
@@ -0,0 +1,113 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.features.search
+
+import com.isupatches.android.wisefy.accesspoints.entities.AccessPointData
+import com.isupatches.android.wisefy.sample.entities.SSIDType
+import com.isupatches.android.wisefy.sample.entities.SearchType
+import com.isupatches.android.wisefy.savednetworks.entities.SavedNetworkData
+
+internal data class SearchUIState(
+ val loadingState: SearchLoadingState,
+ val dialogState: SearchDialogState,
+ val inputState: SearchInputState,
+ val searchType: SearchType,
+ val ssidType: SSIDType,
+ val returnFullList: Boolean,
+ val filterDuplicates: Boolean,
+ val timeoutInSeconds: Int?
+)
+
+internal data class SearchLoadingState(val isLoading: Boolean)
+
+internal sealed class SearchDialogState {
+ object None : SearchDialogState()
+
+ sealed class InputError : SearchDialogState() {
+ object SSID : InputError()
+ object BSSID : InputError()
+ }
+
+ sealed class Failure : SearchDialogState() {
+ data class WisefyAsync(val exception: Throwable) : Failure()
+ }
+
+ sealed class SearchForAccessPoint : SearchDialogState() {
+ data class Success(val data: AccessPointData) : SearchForAccessPoint()
+ object NoAccessPointFound : SearchForAccessPoint()
+ object PermissionError : SearchForAccessPoint()
+ }
+
+ sealed class SearchForAccessPoints : SearchDialogState() {
+ data class Success(val data: List) : SearchForAccessPoints()
+ object NoAccessPointsFound : SearchForAccessPoints()
+ object PermissionError : SearchForAccessPoints()
+ }
+
+ sealed class SearchForSSID : SearchDialogState() {
+ data class Success(val data: String) : SearchForSSID()
+ object NoSSIDFound : SearchForSSID()
+ object PermissionError : SearchForSSID()
+ }
+
+ sealed class SearchForSSIDs : SearchDialogState() {
+ data class Success(val data: List) : SearchForSSIDs()
+ object NoSSIDsFound : SearchForSSIDs()
+ object PermissionError : SearchForSSIDs()
+ }
+
+ sealed class SearchForSavedNetwork : SearchDialogState() {
+ data class Success(val data: SavedNetworkData) : SearchForSavedNetwork()
+ object NoSavedNetworkFound : SearchForSavedNetwork()
+ object PermissionError : SearchForSavedNetwork()
+ }
+
+ sealed class SearchForSavedNetworks : SearchDialogState() {
+ data class Success(val data: List) : SearchForSavedNetworks()
+ object NoSavedNetworksFound : SearchForSavedNetworks()
+ object PermissionError : SearchForSavedNetworks()
+ }
+}
+
+internal data class SearchInputState(
+ val input: String,
+ val inputValidityState: SearchInputValidityState
+)
+
+internal sealed class SearchInputValidityState {
+ sealed class SSID : SearchInputValidityState() {
+ object Valid : SearchInputValidityState()
+
+ sealed class Invalid : SearchInputValidityState() {
+ object Empty : Invalid()
+ object TooShort : Invalid()
+ object TooLong : Invalid()
+ object InvalidCharacters : Invalid()
+ object InvalidStartCharacters : Invalid()
+ object LeadingOrTrailingSpaces : Invalid()
+ object InvalidUnicode : Invalid()
+ }
+ }
+
+ sealed class BSSID : SearchInputValidityState() {
+ object Valid : BSSID()
+
+ sealed class Invalid : BSSID() {
+ object Empty : Invalid()
+ object ImproperFormat : Invalid()
+ }
+ }
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/features/search/SearchStore.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/features/search/SearchStore.kt
new file mode 100644
index 00000000..651f52e0
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/features/search/SearchStore.kt
@@ -0,0 +1,169 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.features.search
+
+import android.content.Context
+import androidx.datastore.core.DataStore
+import androidx.datastore.preferences.core.Preferences
+import androidx.datastore.preferences.core.booleanPreferencesKey
+import androidx.datastore.preferences.core.edit
+import androidx.datastore.preferences.core.intPreferencesKey
+import androidx.datastore.preferences.core.stringPreferencesKey
+import androidx.datastore.preferences.preferencesDataStore
+import com.isupatches.android.wisefy.sample.entities.SSIDType
+import com.isupatches.android.wisefy.sample.entities.SearchType
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.map
+
+private const val PREF_LAST_USED_NETWORK_INPUT = "last_used_network_input"
+private const val PREF_SEARCH_TYPE = "search_type"
+private const val PREF_SSID_TYPE = "ssid_type"
+private const val PREF_RETURN_FULL_LIST = "return_full_list"
+private const val PREF_FILTER_DUPLICATES = "filter_duplicates"
+private const val PREF_TIMEOUT = "timeout"
+
+internal interface SearchStore {
+ suspend fun clear()
+
+ fun getLastUsedNetworkInput(): Flow
+ fun getSearchType(): Flow
+ fun getSSIDType(): Flow
+ fun shouldReturnFullList(): Flow
+ fun shouldFilterDuplicates(): Flow
+ fun getTimeout(): Flow
+
+ suspend fun setLastUsedNetworkInput(lastUsedNetworkInput: String)
+ suspend fun setSearchType(searchType: SearchType)
+ suspend fun setSSIDType(ssidType: SSIDType)
+ suspend fun setReturnFullList(returnFullList: Boolean)
+ suspend fun setFilterDuplicates(filterDuplicates: Boolean)
+ suspend fun setTimeout(timeout: Int)
+}
+
+private val Context.searchDataStore: DataStore by preferencesDataStore(name = "searchDataStore")
+
+internal class DefaultSearchStore(
+ private val context: Context
+) : SearchStore {
+
+ private val lastUsedNetworkInputKey = stringPreferencesKey(PREF_LAST_USED_NETWORK_INPUT)
+ private val searchTypeKey = intPreferencesKey(PREF_SEARCH_TYPE)
+ private val ssidTypeKey = intPreferencesKey(PREF_SSID_TYPE)
+ private val returnFullListKey = booleanPreferencesKey(PREF_RETURN_FULL_LIST)
+ private val filterDuplicatesKey = booleanPreferencesKey(PREF_FILTER_DUPLICATES)
+ private val timeoutKey = intPreferencesKey(PREF_TIMEOUT)
+
+ override suspend fun clear() {
+ context.searchDataStore.edit {
+ clear()
+ }
+ }
+
+ /*
+ * Last used network input
+ */
+
+ override fun getLastUsedNetworkInput(): Flow {
+ return context.searchDataStore.data.map { preferences ->
+ preferences[lastUsedNetworkInputKey] ?: ""
+ }
+ }
+
+ override suspend fun setLastUsedNetworkInput(lastUsedNetworkInput: String) {
+ context.searchDataStore.edit { preferences ->
+ preferences[lastUsedNetworkInputKey] = lastUsedNetworkInput
+ }
+ }
+
+ /*
+ * Search type
+ */
+ override fun getSearchType(): Flow {
+ return context.searchDataStore.data.map { preferences ->
+ SearchType.of(preferences[searchTypeKey] ?: SearchType.ACCESS_POINT.intVal)
+ }
+ }
+
+ override suspend fun setSearchType(searchType: SearchType) {
+ context.searchDataStore.edit { preferences ->
+ preferences[searchTypeKey] = searchType.intVal
+ }
+ }
+
+ /*
+ * SSID Type
+ */
+
+ override fun getSSIDType(): Flow {
+ return context.searchDataStore.data.map { preferences ->
+ SSIDType.of(preferences[ssidTypeKey] ?: SSIDType.SSID.intVal)
+ }
+ }
+
+ override suspend fun setSSIDType(ssidType: SSIDType) {
+ context.searchDataStore.edit { preferences ->
+ preferences[ssidTypeKey] = ssidType.intVal
+ }
+ }
+
+ /*
+ * Return full list
+ */
+
+ override fun shouldReturnFullList(): Flow {
+ return context.searchDataStore.data.map { preferences ->
+ preferences[returnFullListKey] ?: true
+ }
+ }
+
+ override suspend fun setReturnFullList(returnFullList: Boolean) {
+ context.searchDataStore.edit { preferences ->
+ preferences[returnFullListKey] = returnFullList
+ }
+ }
+
+ /*
+ * Filter duplicates
+ */
+
+ override fun shouldFilterDuplicates(): Flow {
+ return context.searchDataStore.data.map { preferences ->
+ preferences[filterDuplicatesKey] ?: true
+ }
+ }
+
+ override suspend fun setFilterDuplicates(filterDuplicates: Boolean) {
+ context.searchDataStore.edit { preferences ->
+ preferences[filterDuplicatesKey] = filterDuplicates
+ }
+ }
+
+ /*
+ * Timeout
+ */
+
+ override fun getTimeout(): Flow {
+ return context.searchDataStore.data.map { preferences ->
+ preferences[timeoutKey] ?: 1
+ }
+ }
+
+ override suspend fun setTimeout(timeout: Int) {
+ context.searchDataStore.edit { preferences ->
+ preferences[timeoutKey] = timeout
+ }
+ }
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/features/search/SearchViewModel.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/features/search/SearchViewModel.kt
new file mode 100644
index 00000000..bc61ae0d
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/features/search/SearchViewModel.kt
@@ -0,0 +1,531 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.features.search
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import android.Manifest.permission.ACCESS_WIFI_STATE
+import android.content.Context
+import androidx.annotation.RequiresPermission
+import androidx.compose.runtime.State
+import androidx.compose.runtime.mutableStateOf
+import androidx.lifecycle.viewModelScope
+import com.isupatches.android.wisefy.WisefyApi
+import com.isupatches.android.wisefy.accesspoints.entities.GetAccessPointsQuery
+import com.isupatches.android.wisefy.accesspoints.entities.GetAccessPointsResult
+import com.isupatches.android.wisefy.core.exceptions.WisefyException
+import com.isupatches.android.wisefy.ktx.getAccessPointsAsync
+import com.isupatches.android.wisefy.ktx.getSavedNetworksAsync
+import com.isupatches.android.wisefy.sample.entities.SSIDType
+import com.isupatches.android.wisefy.sample.entities.SearchType
+import com.isupatches.android.wisefy.sample.scaffolding.BaseViewModel
+import com.isupatches.android.wisefy.sample.scaffolding.BaseViewModelFactory
+import com.isupatches.android.wisefy.sample.util.BSSIDInputError
+import com.isupatches.android.wisefy.sample.util.SSIDInputError
+import com.isupatches.android.wisefy.sample.util.validateBSSID
+import com.isupatches.android.wisefy.sample.util.validateSSID
+import com.isupatches.android.wisefy.savednetworks.entities.GetSavedNetworksQuery
+import com.isupatches.android.wisefy.savednetworks.entities.GetSavedNetworksResult
+import kotlinx.coroutines.flow.collectLatest
+import kotlinx.coroutines.launch
+
+private const val SECONDS_TO_MILLIS = 1000
+
+internal abstract class SearchViewModel : BaseViewModel() {
+ abstract val uiState: State
+
+ abstract fun onSearchForAccessPointPermissionError()
+ abstract fun onSearchForAccessPointsPermissionError()
+ abstract fun onSearchForSavedNetworkPermissionError()
+ abstract fun onSearchForSavedNetworksPermissionError()
+ abstract fun onSearchForSSIDPermissionError()
+ abstract fun onSearchForSSIDsPermissionError()
+
+ @RequiresPermission(ACCESS_FINE_LOCATION)
+ abstract suspend fun searchForAccessPoint()
+
+ @RequiresPermission(ACCESS_FINE_LOCATION)
+ abstract suspend fun searchForAccessPoints()
+
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+ abstract suspend fun searchForSavedNetwork()
+
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+ abstract suspend fun searchForSavedNetworks()
+
+ @RequiresPermission(ACCESS_FINE_LOCATION)
+ abstract suspend fun searchForSSID()
+
+ @RequiresPermission(ACCESS_FINE_LOCATION)
+ abstract suspend fun searchForSSIDs()
+
+ abstract fun onSearchNetworkInputChanged(input: String)
+
+ abstract fun onSearchTypeSelected(searchType: SearchType)
+ abstract fun onReturnFullListChanged(enabled: Boolean)
+ abstract fun onFilterDuplicatesChanged(enabled: Boolean)
+ abstract fun onSSIDTypeChanged(ssidType: SSIDType)
+
+ abstract fun onSearchTimeoutValueChangeFinished(timeoutInSeconds: Int)
+
+ abstract fun onDialogClosed()
+}
+
+internal class DefaultSearchViewModel(
+ context: Context,
+ private val wisefy: WisefyApi,
+ private val searchStore: SearchStore = DefaultSearchStore(context = context)
+) : SearchViewModel() {
+
+ private val _uiState = mutableStateOf(
+ SearchUIState(
+ loadingState = SearchLoadingState(isLoading = false),
+ dialogState = SearchDialogState.None,
+ inputState = SearchInputState(
+ input = "",
+ inputValidityState = SearchInputValidityState.SSID.Invalid.Empty
+ ),
+ searchType = SearchType.ACCESS_POINT,
+ ssidType = SSIDType.SSID,
+ returnFullList = true,
+ filterDuplicates = true,
+ timeoutInSeconds = null
+ )
+ )
+ override val uiState: State
+ get() = _uiState
+
+ init {
+ viewModelScope.launch {
+ searchStore.getLastUsedNetworkInput()
+ .collectLatest { input ->
+ validateInput(input, uiState.value.ssidType)
+ }
+ }
+
+ viewModelScope.launch {
+ searchStore.getSearchType()
+ .collectLatest { searchType ->
+ _uiState.value = uiState.value.copy(searchType = searchType)
+ }
+ }
+
+ viewModelScope.launch {
+ searchStore.getSSIDType()
+ .collectLatest { ssidType ->
+ _uiState.value = uiState.value.copy(ssidType = ssidType)
+ validateInput(uiState.value.inputState.input, ssidType)
+ }
+ }
+
+ viewModelScope.launch {
+ searchStore.shouldReturnFullList()
+ .collectLatest { returnFullList ->
+ _uiState.value = uiState.value.copy(returnFullList = returnFullList)
+ }
+ }
+
+ viewModelScope.launch {
+ searchStore.shouldFilterDuplicates()
+ .collectLatest { filterDuplicates ->
+ _uiState.value = uiState.value.copy(filterDuplicates = filterDuplicates)
+ }
+ }
+
+ viewModelScope.launch {
+ searchStore.getTimeout()
+ .collectLatest { timeout ->
+ _uiState.value = uiState.value.copy(timeoutInSeconds = timeout)
+ }
+ }
+ }
+
+ @RequiresPermission(ACCESS_FINE_LOCATION)
+ override suspend fun searchForAccessPoint() {
+ if (isInputInvalid()) {
+ return
+ }
+ showProgress()
+ when (val result = getAccessPoints()) {
+ is GetAccessPointsResult.AccessPoints -> {
+ _uiState.value = uiState.value.copy(
+ loadingState = SearchLoadingState(isLoading = false),
+ dialogState = SearchDialogState.SearchForAccessPoint.Success(result.value.first())
+ )
+ }
+ is GetAccessPointsResult.Empty -> {
+ _uiState.value = uiState.value.copy(
+ loadingState = SearchLoadingState(isLoading = false),
+ dialogState = SearchDialogState.SearchForAccessPoint.NoAccessPointFound
+ )
+ }
+ null -> {
+ // Case handled above in the catch clause
+ }
+ }
+ }
+
+ @RequiresPermission(ACCESS_FINE_LOCATION)
+ override suspend fun searchForAccessPoints() {
+ if (isInputInvalid()) {
+ return
+ }
+ showProgress()
+ when (val result = getAccessPoints()) {
+ is GetAccessPointsResult.AccessPoints -> {
+ _uiState.value = uiState.value.copy(
+ loadingState = SearchLoadingState(isLoading = false),
+ dialogState = SearchDialogState.SearchForAccessPoints.Success(result.value)
+ )
+ }
+ is GetAccessPointsResult.Empty -> {
+ _uiState.value = uiState.value.copy(
+ loadingState = SearchLoadingState(isLoading = false),
+ dialogState = SearchDialogState.SearchForAccessPoints.NoAccessPointsFound
+ )
+ }
+ null -> {
+ // Case handled above in the catch clause
+ }
+ }
+ }
+
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+ override suspend fun searchForSavedNetwork() {
+ if (isInputInvalid()) {
+ return
+ }
+ showProgress()
+ when (val result = getSavedNetworks()) {
+ is GetSavedNetworksResult.Empty -> {
+ _uiState.value = uiState.value.copy(
+ loadingState = SearchLoadingState(isLoading = false),
+ dialogState = SearchDialogState.SearchForSavedNetwork.NoSavedNetworkFound
+ )
+ }
+ is GetSavedNetworksResult.SavedNetworks -> {
+ _uiState.value = uiState.value.copy(
+ loadingState = SearchLoadingState(isLoading = false),
+ dialogState = SearchDialogState.SearchForSavedNetwork.Success(result.value.first())
+ )
+ }
+ null -> {
+ // Case handled above in the catch clause
+ }
+ }
+ }
+
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+ override suspend fun searchForSavedNetworks() {
+ if (isInputInvalid()) {
+ return
+ }
+ showProgress()
+ when (val result = getSavedNetworks()) {
+ is GetSavedNetworksResult.Empty -> {
+ _uiState.value = uiState.value.copy(
+ loadingState = SearchLoadingState(isLoading = false),
+ dialogState = SearchDialogState.SearchForSavedNetworks.NoSavedNetworksFound
+ )
+ }
+ is GetSavedNetworksResult.SavedNetworks -> {
+ _uiState.value = uiState.value.copy(
+ loadingState = SearchLoadingState(isLoading = false),
+ dialogState = SearchDialogState.SearchForSavedNetworks.Success(result.value)
+ )
+ }
+ null -> {
+ // Case handled above in the catch clause
+ }
+ }
+ }
+
+ @RequiresPermission(ACCESS_FINE_LOCATION)
+ override suspend fun searchForSSID() {
+ if (isInputInvalid()) {
+ return
+ }
+ showProgress()
+ when (val result = getAccessPoints()) {
+ is GetAccessPointsResult.AccessPoints -> {
+ val ssid = when (uiState.value.ssidType) {
+ SSIDType.SSID -> result.value.first().ssid
+ SSIDType.BSSID -> result.value.first().bssid
+ }
+ _uiState.value = uiState.value.copy(
+ loadingState = SearchLoadingState(isLoading = false),
+ dialogState = SearchDialogState.SearchForSSID.Success(ssid)
+ )
+ }
+ is GetAccessPointsResult.Empty -> {
+ _uiState.value = uiState.value.copy(
+ loadingState = SearchLoadingState(isLoading = false),
+ dialogState = SearchDialogState.SearchForSSID.NoSSIDFound
+ )
+ }
+ null -> {
+ // Case handled above in the catch clause
+ }
+ }
+ }
+
+ @RequiresPermission(ACCESS_FINE_LOCATION)
+ override suspend fun searchForSSIDs() {
+ if (isInputInvalid()) {
+ return
+ }
+ showProgress()
+ when (val result = getAccessPoints()) {
+ is GetAccessPointsResult.AccessPoints -> {
+ val ssids = when (uiState.value.ssidType) {
+ SSIDType.SSID -> result.value.map { it.ssid }
+ SSIDType.BSSID -> result.value.map { it.bssid }
+ }
+ _uiState.value = uiState.value.copy(
+ loadingState = SearchLoadingState(isLoading = false),
+ dialogState = SearchDialogState.SearchForSSIDs.Success(ssids)
+ )
+ }
+ is GetAccessPointsResult.Empty -> {
+ _uiState.value = uiState.value.copy(
+ loadingState = SearchLoadingState(isLoading = false),
+ dialogState = SearchDialogState.SearchForSSIDs.NoSSIDsFound
+ )
+ }
+ null -> {
+ // Case handled above in the catch clause
+ }
+ }
+ }
+
+ override fun onSearchNetworkInputChanged(input: String) {
+ viewModelScope.launch {
+ searchStore.setLastUsedNetworkInput(input)
+ }
+ }
+
+ override fun onSearchTypeSelected(searchType: SearchType) {
+ viewModelScope.launch {
+ searchStore.setSearchType(searchType)
+ }
+ }
+
+ override fun onSSIDTypeChanged(ssidType: SSIDType) {
+ viewModelScope.launch {
+ searchStore.setSSIDType(ssidType)
+ }
+ }
+
+ override fun onReturnFullListChanged(enabled: Boolean) {
+ viewModelScope.launch {
+ searchStore.setReturnFullList(enabled)
+ }
+ }
+
+ override fun onFilterDuplicatesChanged(enabled: Boolean) {
+ viewModelScope.launch {
+ searchStore.setFilterDuplicates(enabled)
+ }
+ }
+
+ override fun onSearchTimeoutValueChangeFinished(timeoutInSeconds: Int) {
+ viewModelScope.launch {
+ _uiState.value = uiState.value.copy(timeoutInSeconds = timeoutInSeconds)
+ searchStore.setTimeout(timeoutInSeconds)
+ }
+ }
+
+ override fun onSearchForAccessPointPermissionError() {
+ _uiState.value = uiState.value.copy(
+ loadingState = SearchLoadingState(isLoading = false),
+ dialogState = SearchDialogState.SearchForAccessPoint.PermissionError
+ )
+ }
+
+ override fun onSearchForAccessPointsPermissionError() {
+ _uiState.value = uiState.value.copy(
+ loadingState = SearchLoadingState(isLoading = false),
+ dialogState = SearchDialogState.SearchForAccessPoints.PermissionError
+ )
+ }
+
+ override fun onSearchForSavedNetworkPermissionError() {
+ _uiState.value = uiState.value.copy(
+ loadingState = SearchLoadingState(isLoading = false),
+ dialogState = SearchDialogState.SearchForSavedNetwork.PermissionError
+ )
+ }
+
+ override fun onSearchForSavedNetworksPermissionError() {
+ _uiState.value = uiState.value.copy(
+ loadingState = SearchLoadingState(isLoading = false),
+ dialogState = SearchDialogState.SearchForSavedNetworks.PermissionError
+ )
+ }
+
+ override fun onSearchForSSIDPermissionError() {
+ _uiState.value = uiState.value.copy(
+ loadingState = SearchLoadingState(isLoading = false),
+ dialogState = SearchDialogState.SearchForSSID.PermissionError
+ )
+ }
+
+ override fun onSearchForSSIDsPermissionError() {
+ _uiState.value = uiState.value.copy(
+ loadingState = SearchLoadingState(isLoading = false),
+ dialogState = SearchDialogState.SearchForSSIDs.PermissionError
+ )
+ }
+
+ override fun onDialogClosed() {
+ _uiState.value = uiState.value.copy(
+ loadingState = SearchLoadingState(isLoading = false),
+ dialogState = SearchDialogState.None
+ )
+ }
+
+ @RequiresPermission(ACCESS_FINE_LOCATION)
+ private suspend fun getAccessPoints(): GetAccessPointsResult? {
+ return try {
+ wisefy.getAccessPointsAsync(query = getAccessPointsQuery())
+ } catch (ex: WisefyException) {
+ _uiState.value = uiState.value.copy(
+ loadingState = SearchLoadingState(isLoading = false),
+ dialogState = SearchDialogState.Failure.WisefyAsync(exception = ex)
+ )
+ null
+ }
+ }
+
+ private fun getAccessPointsQuery(): GetAccessPointsQuery {
+ val networkInput = uiState.value.inputState
+ val timeoutInSeconds = if (uiState.value.searchType == SearchType.SAVED_NETWORK) {
+ null
+ } else {
+ uiState.value.timeoutInSeconds
+ }
+ return when (uiState.value.ssidType) {
+ SSIDType.SSID -> {
+ GetAccessPointsQuery.BySSID(
+ regex = networkInput.input,
+ timeoutInMillis = timeoutInSeconds?.let { it * SECONDS_TO_MILLIS }
+ )
+ }
+ SSIDType.BSSID -> {
+ GetAccessPointsQuery.ByBSSID(
+ regex = networkInput.input,
+ timeoutInMillis = timeoutInSeconds?.let { it * SECONDS_TO_MILLIS }
+ )
+ }
+ }
+ }
+
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+ private suspend fun getSavedNetworks(): GetSavedNetworksResult? {
+ return try {
+ wisefy.getSavedNetworksAsync(query = getSavedNetworksQuery())
+ } catch (ex: WisefyException) {
+ _uiState.value = uiState.value.copy(
+ loadingState = SearchLoadingState(isLoading = false),
+ dialogState = SearchDialogState.Failure.WisefyAsync(exception = ex)
+ )
+ null
+ }
+ }
+
+ private fun getSavedNetworksQuery(): GetSavedNetworksQuery {
+ val networkInput = uiState.value.inputState
+ return when (uiState.value.ssidType) {
+ SSIDType.SSID -> GetSavedNetworksQuery.BySSID(regex = networkInput.input)
+ SSIDType.BSSID -> GetSavedNetworksQuery.ByBSSID(regex = networkInput.input)
+ }
+ }
+
+ private fun isInputInvalid(): Boolean {
+ val currentInputState = uiState.value.inputState
+ when (uiState.value.ssidType) {
+ SSIDType.SSID -> {
+ if (currentInputState.inputValidityState != SearchInputValidityState.SSID.Valid) {
+ _uiState.value = uiState.value.copy(
+ loadingState = SearchLoadingState(isLoading = false),
+ dialogState = SearchDialogState.InputError.SSID
+ )
+ return true
+ }
+ }
+ SSIDType.BSSID -> {
+ if (currentInputState.inputValidityState != SearchInputValidityState.BSSID.Valid) {
+ _uiState.value = uiState.value.copy(
+ loadingState = SearchLoadingState(isLoading = false),
+ dialogState = SearchDialogState.InputError.BSSID
+ )
+ return true
+ }
+ }
+ }
+ return false
+ }
+
+ private fun showProgress() {
+ _uiState.value = uiState.value.copy(
+ loadingState = SearchLoadingState(isLoading = true),
+ dialogState = SearchDialogState.None
+ )
+ }
+
+ private fun validateInput(input: String, ssidType: SSIDType) {
+ val validityState = when (ssidType) {
+ SSIDType.SSID -> {
+ when (input.validateSSID()) {
+ SSIDInputError.EMPTY -> SearchInputValidityState.SSID.Invalid.Empty
+ SSIDInputError.TOO_SHORT -> SearchInputValidityState.SSID.Invalid.TooShort
+ SSIDInputError.TOO_LONG -> SearchInputValidityState.SSID.Invalid.TooLong
+ SSIDInputError.INVALID_CHARACTERS -> {
+ SearchInputValidityState.SSID.Invalid.InvalidCharacters
+ }
+ SSIDInputError.INVALID_START_CHARACTERS -> {
+ SearchInputValidityState.SSID.Invalid.InvalidStartCharacters
+ }
+ SSIDInputError.LEADING_OR_TRAILING_SPACES -> {
+ SearchInputValidityState.SSID.Invalid.LeadingOrTrailingSpaces
+ }
+ SSIDInputError.NOT_VALID_UNICODE -> SearchInputValidityState.SSID.Invalid.InvalidUnicode
+ SSIDInputError.NONE -> SearchInputValidityState.SSID.Valid
+ }
+ }
+ SSIDType.BSSID -> {
+ when (input.validateBSSID()) {
+ BSSIDInputError.EMPTY -> SearchInputValidityState.BSSID.Invalid.Empty
+ BSSIDInputError.INVALID -> SearchInputValidityState.BSSID.Invalid.ImproperFormat
+ BSSIDInputError.NONE -> SearchInputValidityState.BSSID.Valid
+ }
+ }
+ }
+ _uiState.value = uiState.value.copy(
+ inputState = SearchInputState(
+ input = input,
+ inputValidityState = validityState
+ )
+ )
+ }
+}
+
+internal class SearchViewModelFactory(
+ private val context: Context,
+ private val wisefy: WisefyApi
+) : BaseViewModelFactory(
+ supportedClass = SearchViewModel::class,
+ vmProvider = { DefaultSearchViewModel(context, wisefy) }
+)
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/internal/base/BaseActivity.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/internal/base/BaseActivity.kt
deleted file mode 100644
index a9470c52..00000000
--- a/app/src/main/java/com/isupatches/android/wisefy/sample/internal/base/BaseActivity.kt
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.sample.internal.base
-
-import android.os.Bundle
-import androidx.viewbinding.ViewBinding
-import dagger.android.support.DaggerAppCompatActivity
-
-internal abstract class BaseActivity : DaggerAppCompatActivity() {
-
- protected abstract val binding: ViewBinding
-
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setContentView(binding.root)
- }
-}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/internal/base/BaseDialogFragment.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/internal/base/BaseDialogFragment.kt
deleted file mode 100644
index a5f6f644..00000000
--- a/app/src/main/java/com/isupatches/android/wisefy/sample/internal/base/BaseDialogFragment.kt
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.sample.internal.base
-
-import android.os.Bundle
-import androidx.fragment.app.DialogFragment
-import androidx.fragment.app.FragmentManager
-
-internal abstract class BaseDialogFragment : DialogFragment() {
-
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setStyle(STYLE_NO_TITLE, 0)
- }
-
- fun showNoDuplicates(manager: FragmentManager, tag: String) {
- if (manager.findFragmentByTag(tag) != null) return
- show(manager, tag)
- }
-}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/internal/base/BaseFragment.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/internal/base/BaseFragment.kt
deleted file mode 100644
index 689da0cf..00000000
--- a/app/src/main/java/com/isupatches/android/wisefy/sample/internal/base/BaseFragment.kt
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.sample.internal.base
-
-import android.content.Context
-import androidx.annotation.StringRes
-import com.isupatches.android.wisefy.sample.R
-import com.isupatches.android.wisefy.sample.internal.scaffolding.BaseView
-import com.isupatches.android.wisefy.sample.internal.util.PermissionUtil
-import com.isupatches.android.wisefy.sample.ui.dialogs.FullScreenNoticeDialogFragment
-import com.isupatches.android.wisefy.sample.ui.dialogs.NoticeDialogFragment
-import dagger.android.support.AndroidSupportInjection
-import javax.inject.Inject
-
-internal abstract class BaseFragment : BaseView() {
-
- @Inject lateinit var permissionUtil: PermissionUtil
-
- private fun isActivityInvalid(): Boolean = activity == null || (activity?.isFinishing == true)
-
- override fun onAttach(context: Context) {
- AndroidSupportInjection.inject(this)
- super.onAttach(context)
- }
-
- protected fun displayInfo(@StringRes infoMessageResId: Int, @StringRes infoTitleResId: Int = R.string.info) {
- showDialogNoDuplicates(
- tag = NoticeDialogFragment.TAG,
- dialog = NoticeDialogFragment.newInstance(
- title = getString(infoTitleResId),
- message = getString(infoMessageResId)
- )
- )
- }
-
- protected fun displayInfo(infoMessage: String, @StringRes infoTitleResId: Int) {
- showDialogNoDuplicates(
- tag = NoticeDialogFragment.TAG,
- dialog = NoticeDialogFragment.newInstance(
- title = getString(infoTitleResId),
- message = infoMessage
- )
- )
- }
-
- protected fun displayInfoFullScreen(infoMessage: String, @StringRes infoTitleResId: Int) {
- showDialogNoDuplicates(
- tag = FullScreenNoticeDialogFragment.TAG,
- dialog = FullScreenNoticeDialogFragment.newInstance(
- title = getString(infoTitleResId),
- message = infoMessage
- )
- )
- }
-
- protected fun displayPermissionErrorDialog(@StringRes permissionErrorMessageResId: Int) {
- showDialogNoDuplicates(
- tag = NoticeDialogFragment.TAG,
- dialog = NoticeDialogFragment.newInstance(
- title = getString(R.string.permission_error),
- message = getString(permissionErrorMessageResId)
- )
- )
- }
-
- protected fun displayPermissionErrorDialog(permissionErrorMessage: String) {
- showDialogNoDuplicates(
- tag = NoticeDialogFragment.TAG,
- dialog = NoticeDialogFragment.newInstance(
- title = getString(R.string.permission_error),
- message = permissionErrorMessage
- )
- )
- }
-
- protected fun displayWisefyAsyncErrorDialog(throwable: Throwable) {
- showDialogNoDuplicates(
- tag = NoticeDialogFragment.TAG,
- dialog = NoticeDialogFragment.newInstance(
- title = getString(R.string.wisefy_async_error),
- message = getString(R.string.wisefy_async_error_descriptions_args, throwable.message)
- )
- )
- }
-
- private fun showDialogNoDuplicates(tag: String, dialog: T) {
- if (isActivityInvalid()) return
- dialog.showNoDuplicates(childFragmentManager, tag)
- }
-
- protected fun isPermissionGranted(permission: String, requestCode: Int): Boolean {
- return if (!permissionUtil.isPermissionGranted(requireActivity(), permission)) {
- // Logic may be added here to display rationale if needed
- requestPermissions(arrayOf(permission), requestCode)
- false
- } else {
- true
- }
- }
-}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/internal/di/ScreenBindingsModule.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/internal/di/ScreenBindingsModule.kt
deleted file mode 100644
index f08bd4bb..00000000
--- a/app/src/main/java/com/isupatches/android/wisefy/sample/internal/di/ScreenBindingsModule.kt
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.sample.internal.di
-
-import com.isupatches.android.wisefy.sample.ui.main.MainActivity
-import com.isupatches.android.wisefy.sample.ui.main.MainActivityFragmentBindings
-import com.isupatches.android.wisefy.sample.ui.main.MainActivityModule
-import dagger.Module
-import dagger.android.ContributesAndroidInjector
-
-@Suppress("unused")
-@Module internal interface ScreenBindingsModule {
-
- @ContributesAndroidInjector(
- modules = [
- MainActivityModule::class,
- MainActivityFragmentBindings::class
- ]
- )
- fun mainActivity(): MainActivity
-}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/internal/scaffolding/BaseModel.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/internal/scaffolding/BaseModel.kt
deleted file mode 100644
index b7b62b59..00000000
--- a/app/src/main/java/com/isupatches/android/wisefy/sample/internal/scaffolding/BaseModel.kt
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.sample.internal.scaffolding
-
-private interface Model
-
-internal abstract class BaseModel : Model
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/internal/scaffolding/BasePresenter.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/internal/scaffolding/BasePresenter.kt
deleted file mode 100644
index 7b4cedea..00000000
--- a/app/src/main/java/com/isupatches/android/wisefy/sample/internal/scaffolding/BasePresenter.kt
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.sample.internal.scaffolding
-
-import com.isupatches.android.wisefy.sample.internal.logging.WisefySampleLogger
-import java.lang.RuntimeException
-
-internal interface Presenter {
- fun attachView(view: VIEW)
- fun detachView()
-}
-
-private const val LOG_TAG = "BasePresenter"
-
-internal abstract class BasePresenter : Presenter {
-
- private var view: VIEW? = null
-
- private val isViewAttached: Boolean
- get() = view != null
-
- override fun attachView(view: VIEW) {
- this.view = view
- }
-
- override fun detachView() {
- view = null
- }
-
- protected fun getView(): VIEW = view ?: throw ViewNotAttachedException()
-
- protected fun doSafelyWithView(viewCommand: (view: VIEW) -> Unit) {
- if (isViewAttached) {
-// view?.scheduleDirect {
- if (isViewAttached) {
- val view = view
- requireNotNull(view)
- viewCommand(view)
- } else {
- WisefySampleLogger.w(LOG_TAG, "ViewCommand was scheduled., but view is now detached!")
- }
-// }
- }
- }
-}
-
-private class ViewNotAttachedException : RuntimeException(
- "New view attached. Did you forget to call attachView()?"
-)
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/internal/scaffolding/BaseStore.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/internal/scaffolding/BaseStore.kt
deleted file mode 100644
index 92183a6e..00000000
--- a/app/src/main/java/com/isupatches/android/wisefy/sample/internal/scaffolding/BaseStore.kt
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.sample.internal.scaffolding
-
-import android.content.Context
-import android.content.SharedPreferences
-import androidx.annotation.StringRes
-import androidx.core.content.edit
-
-internal interface Store
-
-private const val PREF_LAST_USED_REGEX = "last used regex"
-
-internal abstract class BaseSharedPreferenceStore : Store {
-
- protected fun getSharedPreferences(context: Context, @StringRes prefKey: Int): SharedPreferences {
- return context.getSharedPreferences(context.getString(prefKey), Context.MODE_PRIVATE)
- }
-
- protected fun SharedPreferences.getLastUsedRegex() = getNonNullString(PREF_LAST_USED_REGEX)
-
- protected fun SharedPreferences.setLastUsedRegex(lastUsedRegex: String) {
- edit {
- putString(PREF_LAST_USED_REGEX, lastUsedRegex)
- }
- }
-
- protected fun SharedPreferences.getNonNullString(key: String) = getString(key, "") ?: ""
-}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/internal/scaffolding/BaseView.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/internal/scaffolding/BaseView.kt
deleted file mode 100644
index 1445c678..00000000
--- a/app/src/main/java/com/isupatches/android/wisefy/sample/internal/scaffolding/BaseView.kt
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.sample.internal.scaffolding
-
-import androidx.fragment.app.Fragment
-
-internal interface View {
- fun displayWisefyAsyncError(throwable: Throwable)
-}
-
-internal abstract class BaseView : Fragment(), View
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/internal/util/BundleUtil.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/internal/util/BundleUtil.kt
deleted file mode 100644
index 9e7eafdd..00000000
--- a/app/src/main/java/com/isupatches/android/wisefy/sample/internal/util/BundleUtil.kt
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.sample.internal.util
-
-import android.os.Bundle
-import androidx.fragment.app.Fragment
-
-internal fun T.applyArguments(block: Bundle.() -> Unit): T {
- arguments = Bundle().apply(block)
- return this
-}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/internal/util/EditTextUtil.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/internal/util/EditTextUtil.kt
deleted file mode 100644
index 368138d8..00000000
--- a/app/src/main/java/com/isupatches/android/wisefy/sample/internal/util/EditTextUtil.kt
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.sample.internal.util
-
-import android.widget.EditText
-
-internal fun EditText.getTrimmedInput(): String = text.toString().trim()
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/internal/util/HtmlUtil.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/internal/util/HtmlUtil.kt
deleted file mode 100644
index 09930bd5..00000000
--- a/app/src/main/java/com/isupatches/android/wisefy/sample/internal/util/HtmlUtil.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.sample.internal.util
-
-import android.os.Build
-import android.text.Html
-import android.text.Spanned
-
-@Suppress("deprecation")
-internal fun String.asHtmlSpanned(): Spanned {
- return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
- Html.fromHtml(this, Html.FROM_HTML_MODE_COMPACT)
- } else {
- Html.fromHtml(this)
- }
-}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/internal/util/KeyboardUtil.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/internal/util/KeyboardUtil.kt
deleted file mode 100644
index 3ca8f3f3..00000000
--- a/app/src/main/java/com/isupatches/android/wisefy/sample/internal/util/KeyboardUtil.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.sample.internal.util
-
-import android.app.Activity
-import android.view.View
-import android.view.inputmethod.InputMethodManager
-import com.isupatches.android.wisefy.sample.internal.base.BaseFragment
-
-internal fun BaseFragment.hideKeyboardFrom(view: View) {
- activity?.let {
- (it.getSystemService(Activity.INPUT_METHOD_SERVICE) as InputMethodManager).also { inputManger ->
- inputManger.hideSoftInputFromWindow(view.windowToken, 0)
- }
- }
-}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/internal/util/PermissionsUtil.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/internal/util/PermissionsUtil.kt
deleted file mode 100644
index aa034689..00000000
--- a/app/src/main/java/com/isupatches/android/wisefy/sample/internal/util/PermissionsUtil.kt
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.sample.internal.util
-
-import android.content.Context
-import android.content.pm.PackageManager
-import androidx.core.content.ContextCompat
-import javax.inject.Inject
-
-internal interface PermissionUtil {
- fun isPermissionGranted(context: Context, permission: String): Boolean
-}
-
-internal class PermissionsUtilImpl @Inject constructor() : PermissionUtil {
-
- override fun isPermissionGranted(context: Context, permission: String): Boolean {
- return ContextCompat.checkSelfPermission(context, permission) == PackageManager.PERMISSION_GRANTED
- }
-}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/internal/util/SdkUtil.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/internal/util/SdkUtil.kt
deleted file mode 100644
index 2e896cff..00000000
--- a/app/src/main/java/com/isupatches/android/wisefy/sample/internal/util/SdkUtil.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.sample.internal.util
-
-import android.os.Build
-import javax.inject.Inject
-
-internal interface SdkUtil {
-
- fun isAtLeastQ(): Boolean
-}
-
-internal class SdkUtilImpl @Inject constructor() : SdkUtil {
-
- override fun isAtLeastQ() = Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q
-}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/internal/util/WiseFyFactory.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/internal/util/WiseFyFactory.kt
deleted file mode 100644
index 7698aaaa..00000000
--- a/app/src/main/java/com/isupatches/android/wisefy/sample/internal/util/WiseFyFactory.kt
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.sample.internal.util
-
-import android.content.Context
-import com.isupatches.android.wisefy.Wisefy
-import com.isupatches.android.wisefy.WisefyApi
-import com.isupatches.android.wisefy.sample.internal.logging.WisefySampleLogger
-
-internal fun createWiseFy(context: Context): WisefyApi {
- return Wisefy.Brains(context, WisefySampleLogger).getSmarts()
-}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/internal/logging/WisefySampleLogger.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/logging/WisefySampleLogger.kt
similarity index 94%
rename from app/src/main/java/com/isupatches/android/wisefy/sample/internal/logging/WisefySampleLogger.kt
rename to app/src/main/java/com/isupatches/android/wisefy/sample/logging/WisefySampleLogger.kt
index d6b66e0c..b74fdf5c 100644
--- a/app/src/main/java/com/isupatches/android/wisefy/sample/internal/logging/WisefySampleLogger.kt
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/logging/WisefySampleLogger.kt
@@ -1,5 +1,5 @@
/*
- * Copyright 2021 Patches Klinefelter
+ * Copyright 2022 Patches Barrett
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,10 +13,10 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package com.isupatches.android.wisefy.sample.internal.logging
+package com.isupatches.android.wisefy.sample.logging
import android.util.Log
-import com.isupatches.android.wisefy.logging.WisefyLogger
+import com.isupatches.android.wisefy.core.logging.WisefyLogger
import com.isupatches.android.wisefy.sample.BuildConfig
import java.util.Locale
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/main/HomeScreen.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/main/HomeScreen.kt
new file mode 100644
index 00000000..35fdf419
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/main/HomeScreen.kt
@@ -0,0 +1,99 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.main
+
+import android.content.res.Configuration
+import androidx.compose.foundation.Image
+import androidx.compose.foundation.layout.Box
+import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.Row
+import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.rememberScrollState
+import androidx.compose.foundation.verticalScroll
+import androidx.compose.material.MaterialTheme
+import androidx.compose.material.Text
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Alignment
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.graphics.ColorFilter
+import androidx.compose.ui.res.painterResource
+import androidx.compose.ui.res.stringResource
+import androidx.compose.ui.text.style.TextAlign
+import androidx.compose.ui.tooling.preview.Preview
+import com.isupatches.android.wisefy.sample.R
+import com.isupatches.android.wisefy.sample.ui.primitives.WisefySampleSizes
+import com.isupatches.android.wisefy.sample.ui.theme.WisefySampleTheme
+
+@Composable
+internal fun HomeScreen() {
+ WisefySampleTheme {
+ Column(
+ horizontalAlignment = Alignment.CenterHorizontally,
+ modifier = Modifier
+ .verticalScroll(rememberScrollState())
+ .padding(
+ top = WisefySampleSizes.WisefySampleTopMargin,
+ bottom = WisefySampleSizes.WisefySampleBottomMargin,
+ start = WisefySampleSizes.WisefySampleHorizontalMargins,
+ end = WisefySampleSizes.WisefySampleHorizontalMargins
+ )
+ ) {
+ Row {
+ Box {
+ Image(
+ painter = painterResource(id = R.drawable.ic_logo),
+ contentDescription = stringResource(R.string.content_description_logo),
+ colorFilter = ColorFilter.tint(MaterialTheme.colors.primary)
+ )
+ }
+ }
+ Row {
+ Box(modifier = Modifier.padding(top = WisefySampleSizes.Medium)) {
+ Text(
+ text = stringResource(R.string.wisefy),
+ style = MaterialTheme.typography.h2,
+ textAlign = TextAlign.Center,
+ color = MaterialTheme.colors.primary
+ )
+ }
+ }
+ Row {
+ Box(modifier = Modifier.padding(top = WisefySampleSizes.XLarge)) {
+ Text(
+ text = stringResource(R.string.wisefy_sample_description),
+ style = MaterialTheme.typography.subtitle1,
+ textAlign = TextAlign.Center,
+ color = MaterialTheme.colors.onBackground
+ )
+ }
+ }
+ }
+ }
+}
+
+@Preview(showBackground = true)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun HomeScreenLayoutLightPreview() {
+ HomeScreen()
+}
+
+@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun HomeScreenLayoutDarkPreview() {
+ HomeScreen()
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/main/MainActivity.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/main/MainActivity.kt
new file mode 100644
index 00000000..01ea1414
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/main/MainActivity.kt
@@ -0,0 +1,93 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.main
+
+import android.os.Bundle
+import androidx.activity.ComponentActivity
+import androidx.activity.compose.setContent
+import androidx.compose.material.MaterialTheme
+import androidx.compose.material.Scaffold
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.getValue
+import androidx.compose.ui.graphics.toArgb
+import androidx.navigation.NavHostController
+import androidx.navigation.compose.currentBackStackEntryAsState
+import androidx.navigation.compose.rememberNavController
+import com.isupatches.android.wisefy.WisefyApi
+import com.isupatches.android.wisefy.sample.ui.components.WisefySampleToolbar
+import com.isupatches.android.wisefy.sample.ui.components.navigation.WisefySampleBottomNavigation
+import com.isupatches.android.wisefy.sample.ui.components.navigation.WisefySampleNavGraph
+import com.isupatches.android.wisefy.sample.ui.components.navigation.WisefySampleNavHost
+import com.isupatches.android.wisefy.sample.ui.theme.WisefySampleTheme
+import com.isupatches.android.wisefy.sample.util.SdkUtil
+import dagger.hilt.android.AndroidEntryPoint
+import javax.inject.Inject
+
+@AndroidEntryPoint
+internal class MainActivity : ComponentActivity() {
+
+ @Inject
+ lateinit var wisefy: WisefyApi
+
+ @Inject
+ lateinit var sdkUtil: SdkUtil
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ wisefy.init()
+ setContent {
+ WisefySampleTheme {
+ window?.statusBarColor = MaterialTheme.colors.primaryVariant.toArgb()
+ MainScreenLayout(wisefy, sdkUtil)
+ }
+ }
+ }
+
+ override fun onDestroy() {
+ wisefy.dump()
+ super.onDestroy()
+ }
+}
+
+@Composable
+internal fun MainScreenLayout(wisefy: WisefyApi, sdkUtil: SdkUtil) {
+ val navController = rememberNavController()
+ Scaffold(
+ topBar = { WisefySampleToolbar() },
+ content = { padding ->
+ WisefySampleNavHost(navController, wisefy, sdkUtil, padding)
+ },
+ bottomBar = {
+ val showBottomNav = when (currentRoute(navController = navController)) {
+ WisefySampleNavGraph.Main.Add.route -> true
+ WisefySampleNavGraph.Main.Remove.route -> true
+ WisefySampleNavGraph.Main.Home.route -> true
+ WisefySampleNavGraph.Main.Misc.route -> true
+ WisefySampleNavGraph.Main.Search.route -> true
+ else -> false
+ }
+ if (showBottomNav) {
+ WisefySampleBottomNavigation(navController = navController)
+ }
+ }
+ )
+}
+
+@Composable
+private fun currentRoute(navController: NavHostController): String? {
+ val navBackStackEntry by navController.currentBackStackEntryAsState()
+ return navBackStackEntry?.destination?.route
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/main/MainActivityModule.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/main/MainActivityModule.kt
new file mode 100644
index 00000000..38961b7f
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/main/MainActivityModule.kt
@@ -0,0 +1,41 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.main
+
+import android.content.Context
+import com.isupatches.android.wisefy.sample.util.DefaultSdkUtil
+import com.isupatches.android.wisefy.sample.util.SdkUtil
+import com.isupatches.android.wisefy.sample.util.createWisefy
+import dagger.Binds
+import dagger.Module
+import dagger.Provides
+import dagger.hilt.InstallIn
+import dagger.hilt.android.components.ActivityComponent
+import dagger.hilt.android.qualifiers.ApplicationContext
+
+@Suppress("unused", "UnnecessaryAbstractClass")
+@Module
+@InstallIn(ActivityComponent::class)
+internal abstract class MainActivityModule {
+
+ @Binds
+ abstract fun bindSdkUtil(impl: DefaultSdkUtil): SdkUtil
+
+ companion object {
+ @Provides
+ fun provideWiseFy(@ApplicationContext app: Context) = createWisefy(app)
+ }
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/scaffolding/BaseActivity.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/scaffolding/BaseActivity.kt
new file mode 100644
index 00000000..73502762
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/scaffolding/BaseActivity.kt
@@ -0,0 +1,21 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.scaffolding
+
+import androidx.activity.ComponentActivity
+
+@Suppress("Registered")
+internal open class BaseActivity : ComponentActivity()
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/scaffolding/BaseViewModel.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/scaffolding/BaseViewModel.kt
new file mode 100644
index 00000000..640416c6
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/scaffolding/BaseViewModel.kt
@@ -0,0 +1,20 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.scaffolding
+
+import androidx.lifecycle.ViewModel
+
+internal open class BaseViewModel : ViewModel()
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/scaffolding/BaseViewModelFactory.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/scaffolding/BaseViewModelFactory.kt
new file mode 100644
index 00000000..af48e6e9
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/scaffolding/BaseViewModelFactory.kt
@@ -0,0 +1,38 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.scaffolding
+
+import androidx.lifecycle.ViewModel
+import androidx.lifecycle.ViewModelProvider
+import kotlin.reflect.KClass
+
+internal abstract class BaseViewModelFactory(
+ private val supportedClass: KClass,
+ private val vmProvider: () -> VIEW_MODEL
+) : ViewModelProvider.Factory {
+
+ override fun create(modelClass: Class): T {
+ if (modelClass.isAssignableFrom(supportedClass.java)) {
+ @Suppress("UNCHECKED_CAST")
+ return vmProvider() as T
+ } else {
+ throw IllegalArgumentException(
+ "${modelClass.simpleName} is an unknown type of view model. " +
+ "Expected: ${supportedClass.java.simpleName}"
+ )
+ }
+ }
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/ComposablePreviewWisefy.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/ComposablePreviewWisefy.kt
new file mode 100644
index 00000000..7a198ed8
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/ComposablePreviewWisefy.kt
@@ -0,0 +1,237 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.ui
+
+import android.os.Build
+import androidx.annotation.RequiresApi
+import com.isupatches.android.wisefy.WisefyApi
+import com.isupatches.android.wisefy.accesspoints.callbacks.GetAccessPointsCallbacks
+import com.isupatches.android.wisefy.accesspoints.entities.GetAccessPointsQuery
+import com.isupatches.android.wisefy.accesspoints.entities.GetAccessPointsResult
+import com.isupatches.android.wisefy.addnetwork.callbacks.AddNetworkCallbacks
+import com.isupatches.android.wisefy.addnetwork.entities.AddNetworkRequest
+import com.isupatches.android.wisefy.addnetwork.entities.AddNetworkResult
+import com.isupatches.android.wisefy.core.constants.DeprecationMessages
+import com.isupatches.android.wisefy.networkconnection.callbacks.ChangeNetworkCallbacks
+import com.isupatches.android.wisefy.networkconnection.callbacks.ConnectToNetworkCallbacks
+import com.isupatches.android.wisefy.networkconnection.callbacks.DisconnectFromCurrentNetworkCallbacks
+import com.isupatches.android.wisefy.networkconnection.entities.ChangeNetworkRequest
+import com.isupatches.android.wisefy.networkconnection.entities.ChangeNetworkResult
+import com.isupatches.android.wisefy.networkconnection.entities.ConnectToNetworkRequest
+import com.isupatches.android.wisefy.networkconnection.entities.ConnectToNetworkResult
+import com.isupatches.android.wisefy.networkconnection.entities.DisconnectFromCurrentNetworkRequest
+import com.isupatches.android.wisefy.networkconnection.entities.DisconnectFromCurrentNetworkResult
+import com.isupatches.android.wisefy.networkinfo.callbacks.GetCurrentNetworkCallbacks
+import com.isupatches.android.wisefy.networkinfo.callbacks.GetNetworkConnectionStatusCallbacks
+import com.isupatches.android.wisefy.networkinfo.entities.GetCurrentNetworkQuery
+import com.isupatches.android.wisefy.networkinfo.entities.GetCurrentNetworkResult
+import com.isupatches.android.wisefy.networkinfo.entities.GetNetworkConnectionStatusQuery
+import com.isupatches.android.wisefy.networkinfo.entities.GetNetworkConnectionStatusResult
+import com.isupatches.android.wisefy.networkinfo.entities.NetworkConnectionStatusData
+import com.isupatches.android.wisefy.networkinfo.entities.NetworkData
+import com.isupatches.android.wisefy.removenetwork.callbacks.RemoveNetworkCallbacks
+import com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkRequest
+import com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkResult
+import com.isupatches.android.wisefy.savednetworks.callbacks.GetSavedNetworksCallbacks
+import com.isupatches.android.wisefy.savednetworks.callbacks.IsNetworkSavedCallbacks
+import com.isupatches.android.wisefy.savednetworks.entities.GetSavedNetworksQuery
+import com.isupatches.android.wisefy.savednetworks.entities.GetSavedNetworksResult
+import com.isupatches.android.wisefy.savednetworks.entities.IsNetworkSavedQuery
+import com.isupatches.android.wisefy.savednetworks.entities.IsNetworkSavedResult
+import com.isupatches.android.wisefy.signal.entities.CalculateSignalLevelRequest
+import com.isupatches.android.wisefy.signal.entities.CalculateSignalLevelResult
+import com.isupatches.android.wisefy.signal.entities.CompareSignalLevelRequest
+import com.isupatches.android.wisefy.signal.entities.CompareSignalLevelResult
+import com.isupatches.android.wisefy.wifi.callbacks.DisableWifiCallbacks
+import com.isupatches.android.wisefy.wifi.callbacks.EnableWifiCallbacks
+import com.isupatches.android.wisefy.wifi.callbacks.IsWifiEnabledCallbacks
+import com.isupatches.android.wisefy.wifi.entities.DisableWifiRequest
+import com.isupatches.android.wisefy.wifi.entities.DisableWifiResult
+import com.isupatches.android.wisefy.wifi.entities.EnableWifiRequest
+import com.isupatches.android.wisefy.wifi.entities.EnableWifiResult
+import com.isupatches.android.wisefy.wifi.entities.IsWifiEnabledQuery
+import com.isupatches.android.wisefy.wifi.entities.IsWifiEnabledResult
+
+internal class ComposablePreviewWisefy : WisefyApi {
+
+ override fun init() {
+ // No-op
+ }
+
+ override fun dump() {
+ // No-op
+ }
+
+ override fun addNetwork(request: AddNetworkRequest): AddNetworkResult {
+ return AddNetworkResult.Success.ResultCode(1)
+ }
+
+ override fun addNetwork(request: AddNetworkRequest, callbacks: AddNetworkCallbacks?) {
+ callbacks?.onSuccessAddingNetwork(AddNetworkResult.Success.ResultCode(1))
+ }
+
+ override fun calculateSignalLevel(request: CalculateSignalLevelRequest): CalculateSignalLevelResult {
+ return CalculateSignalLevelResult.Success(value = 0)
+ }
+
+ override fun compareSignalLevel(request: CompareSignalLevelRequest): CompareSignalLevelResult {
+ return CompareSignalLevelResult.Success.RSSIValuesAreEqual(value = 0)
+ }
+
+ @RequiresApi(Build.VERSION_CODES.Q)
+ override fun changeNetwork(request: ChangeNetworkRequest): ChangeNetworkResult {
+ return ChangeNetworkResult.Success.InternetConnectivityPanelOpened
+ }
+
+ @RequiresApi(Build.VERSION_CODES.Q)
+ override fun changeNetwork(request: ChangeNetworkRequest, callbacks: ChangeNetworkCallbacks?) {
+ callbacks?.onSuccessChangingNetworks(result = ChangeNetworkResult.Success.InternetConnectivityPanelOpened)
+ }
+
+ @Deprecated(DeprecationMessages.NetworkConnection.CONNECT_TO_NETWORK)
+ override fun connectToNetwork(request: ConnectToNetworkRequest): ConnectToNetworkResult {
+ return ConnectToNetworkResult.Success.True
+ }
+
+ @Deprecated(DeprecationMessages.NetworkConnection.CONNECT_TO_NETWORK)
+ override fun connectToNetwork(request: ConnectToNetworkRequest, callbacks: ConnectToNetworkCallbacks?) {
+ callbacks?.onSuccessConnectingToNetwork(result = ConnectToNetworkResult.Success.True)
+ }
+
+ override fun disableWifi(request: DisableWifiRequest): DisableWifiResult {
+ return DisableWifiResult.Success.Disabled
+ }
+
+ override fun disableWifi(request: DisableWifiRequest, callbacks: DisableWifiCallbacks?) {
+ callbacks?.onSuccessDisablingWifi(result = DisableWifiResult.Success.Disabled)
+ }
+
+ @Deprecated(DeprecationMessages.NetworkConnection.DISCONNECT_FROM_CURRENT_NETWORK)
+ override fun disconnectFromCurrentNetwork(
+ request: DisconnectFromCurrentNetworkRequest
+ ): DisconnectFromCurrentNetworkResult {
+ return DisconnectFromCurrentNetworkResult.Success.True
+ }
+
+ @Deprecated(DeprecationMessages.NetworkConnection.DISCONNECT_FROM_CURRENT_NETWORK)
+ override fun disconnectFromCurrentNetwork(
+ request: DisconnectFromCurrentNetworkRequest,
+ callbacks: DisconnectFromCurrentNetworkCallbacks?
+ ) {
+ callbacks?.onSuccessDisconnectingFromCurrentNetwork(result = DisconnectFromCurrentNetworkResult.Success.True)
+ }
+
+ override fun enableWifi(request: EnableWifiRequest): EnableWifiResult {
+ return EnableWifiResult.Success.Enabled
+ }
+
+ override fun enableWifi(request: EnableWifiRequest, callbacks: EnableWifiCallbacks?) {
+ callbacks?.onSuccessEnablingWifi(result = EnableWifiResult.Success.Enabled)
+ }
+
+ override fun getAccessPoints(query: GetAccessPointsQuery): GetAccessPointsResult {
+ return GetAccessPointsResult.Empty
+ }
+
+ override fun getAccessPoints(query: GetAccessPointsQuery, callbacks: GetAccessPointsCallbacks?) {
+ callbacks?.onNoNearbyAccessPoints()
+ }
+
+ override fun getCurrentNetwork(query: GetCurrentNetworkQuery): GetCurrentNetworkResult {
+ return GetCurrentNetworkResult(
+ value = NetworkData(
+ network = null,
+ connectionInfo = null,
+ capabilities = null,
+ linkProperties = null
+ )
+ )
+ }
+
+ override fun getCurrentNetwork(query: GetCurrentNetworkQuery, callbacks: GetCurrentNetworkCallbacks?) {
+ callbacks?.onCurrentNetworkRetrieved(
+ NetworkData(
+ network = null,
+ connectionInfo = null,
+ capabilities = null,
+ linkProperties = null
+ )
+ )
+ }
+
+ override fun getNetworkConnectionStatus(query: GetNetworkConnectionStatusQuery): GetNetworkConnectionStatusResult {
+ return GetNetworkConnectionStatusResult(
+ value = NetworkConnectionStatusData(
+ isConnected = false,
+ isConnectedToMobileNetwork = false,
+ isConnectedToWifiNetwork = false,
+ isRoaming = false,
+ ssidOfNetworkConnectedTo = null,
+ bssidOfNetworkConnectedTo = null,
+ ip = null
+ )
+ )
+ }
+
+ override fun getNetworkConnectionStatus(
+ query: GetNetworkConnectionStatusQuery,
+ callbacks: GetNetworkConnectionStatusCallbacks?
+ ) {
+ callbacks?.onDeviceNetworkConnectionStatusRetrieved(
+ networkConnectionStatus = NetworkConnectionStatusData(
+ isConnected = false,
+ isConnectedToMobileNetwork = false,
+ isConnectedToWifiNetwork = false,
+ isRoaming = false,
+ ssidOfNetworkConnectedTo = null,
+ bssidOfNetworkConnectedTo = null,
+ ip = null
+ )
+ )
+ }
+
+ override fun getSavedNetworks(query: GetSavedNetworksQuery): GetSavedNetworksResult {
+ return GetSavedNetworksResult.Empty
+ }
+
+ override fun getSavedNetworks(query: GetSavedNetworksQuery, callbacks: GetSavedNetworksCallbacks?) {
+ callbacks?.onNoSavedNetworksFound()
+ }
+
+ override fun isNetworkSaved(query: IsNetworkSavedQuery): IsNetworkSavedResult {
+ return IsNetworkSavedResult.False
+ }
+
+ override fun isNetworkSaved(query: IsNetworkSavedQuery, callbacks: IsNetworkSavedCallbacks?) {
+ callbacks?.onNetworkIsNotSaved()
+ }
+
+ override fun isWifiEnabled(query: IsWifiEnabledQuery): IsWifiEnabledResult {
+ return IsWifiEnabledResult.True
+ }
+
+ override fun isWifiEnabled(query: IsWifiEnabledQuery, callbacks: IsWifiEnabledCallbacks?) {
+ callbacks?.onWifiIsEnabled()
+ }
+
+ override fun removeNetwork(request: RemoveNetworkRequest): RemoveNetworkResult {
+ return RemoveNetworkResult.Success.True
+ }
+
+ override fun removeNetwork(request: RemoveNetworkRequest, callbacks: RemoveNetworkCallbacks?) {
+ callbacks?.onSuccessRemovingNetwork(RemoveNetworkResult.Success.True)
+ }
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/add/AddNetworkFragment.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/add/AddNetworkFragment.kt
deleted file mode 100644
index 68c963fe..00000000
--- a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/add/AddNetworkFragment.kt
+++ /dev/null
@@ -1,298 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.sample.ui.add
-
-import android.Manifest.permission.ACCESS_FINE_LOCATION
-import android.Manifest.permission.CHANGE_WIFI_STATE
-import android.app.Activity
-import android.content.Intent
-import android.content.pm.PackageManager
-import android.os.Build
-import android.os.Bundle
-import android.provider.Settings.ADD_WIFI_RESULT_SUCCESS
-import android.provider.Settings.EXTRA_WIFI_NETWORK_RESULT_LIST
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import androidx.activity.result.ActivityResult
-import androidx.activity.result.ActivityResultLauncher
-import androidx.activity.result.contract.ActivityResultContracts
-import androidx.annotation.VisibleForTesting
-import com.isupatches.android.viewglu.paste
-import com.isupatches.android.wisefy.addnetwork.entities.AddNetworkResult
-import com.isupatches.android.wisefy.sample.R
-import com.isupatches.android.wisefy.sample.databinding.FragmentAddNetworkBinding
-import com.isupatches.android.wisefy.sample.internal.base.BaseFragment
-import com.isupatches.android.wisefy.sample.internal.entities.NetworkType
-import com.isupatches.android.wisefy.sample.internal.logging.WisefySampleLogger
-import com.isupatches.android.wisefy.sample.internal.util.SdkUtil
-import com.isupatches.android.wisefy.sample.internal.util.getTrimmedInput
-import com.isupatches.android.wisefy.sample.internal.util.hideKeyboardFrom
-import javax.inject.Inject
-
-@VisibleForTesting internal const val WISEFY_ADD_OPEN_NETWORK_REQUEST_CODE = 1
-@VisibleForTesting internal const val WISEFY_ADD_WPA2_NETWORK_REQUEST_CODE = 2
-@VisibleForTesting internal const val WISEFY_ADD_WPA3_NETWORK_REQUEST_CODE = 3
-
-private const val LOG_TAG = "AddNetworkFragment"
-
-internal interface AddNetworkView {
- fun displayFailureAddingNetwork(result: AddNetworkResult)
- fun displayNetworkAdded(result: AddNetworkResult)
-}
-
-internal class AddNetworkFragment : BaseFragment(), AddNetworkView {
-
- @AddNetworkScope @Inject lateinit var presenter: AddNetworkPresenter
- @AddNetworkScope @Inject lateinit var addNetworkStore: AddNetworkStore
- @AddNetworkScope @Inject lateinit var sdkUtil: SdkUtil
-
- private var binding: FragmentAddNetworkBinding by paste()
- private lateinit var addNetworkResult: ActivityResultLauncher
-
- override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
- binding = FragmentAddNetworkBinding.inflate(inflater, container, false)
- return binding.root
- }
-
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- addNetworkResult = registerForActivityResult(
- ActivityResultContracts.StartActivityForResult()
- ) { result: ActivityResult ->
- when (result.resultCode) {
- Activity.RESULT_OK -> {
- val data = result.data ?: return@registerForActivityResult
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
- val networkResultList = data.getIntegerArrayListExtra(EXTRA_WIFI_NETWORK_RESULT_LIST)
- ?: emptyList()
- for (resultCode in networkResultList) {
- if (resultCode == ADD_WIFI_RESULT_SUCCESS) {
- displayNetworkAdded(AddNetworkResult.ResultCode(resultCode))
- } else {
- displayFailureAddingNetwork(AddNetworkResult.ResultCode(resultCode))
- }
- }
- }
- }
- }
- }
- }
-
- override fun onStart() {
- super.onStart()
- presenter.attachView(this)
- }
-
- override fun onStop() {
- presenter.detachView()
- super.onStop()
- addNetworkStore.setLastUsedNetworkName(binding.networkNameEdt.getTrimmedInput())
- addNetworkStore.setLastUsedNetworkPassword(binding.networkPasswordEdt.getTrimmedInput())
- hideKeyboardFrom(binding.addNetworkBtn)
- }
-
- override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
- super.onViewCreated(view, savedInstanceState)
-
- if (savedInstanceState == null) {
- restoreUI()
- }
-
- binding.addNetworkBtn.setOnClickListener {
- when (binding.addNetworkTypeRdg.checkedRadioButtonId) {
- R.id.openNetworkRdb -> addOpenNetwork()
- R.id.wpa2NetworkRdb -> addWPA2Network()
- R.id.wpa3NetworkRdb -> addWPA3Network()
- }
- }
- binding.addNetworkTypeRdg.setOnCheckedChangeListener { _, checkedId ->
- when (checkedId) {
- R.id.openNetworkRdb -> addNetworkStore.setNetworkType(NetworkType.OPEN)
- R.id.wpa2NetworkRdb -> addNetworkStore.setNetworkType(NetworkType.WPA2)
- R.id.wpa3NetworkRdb -> addNetworkStore.setNetworkType(NetworkType.WPA2)
- }
- updateUI()
- }
- }
-
- /*
- * View helpers
- */
-
- private fun adjustNetworkPasswordVisibility(visibility: Int) {
- binding.networkPasswordTil.visibility = visibility
- binding.networkPasswordEdt.visibility = visibility
- }
-
- private fun restoreUI() {
- // Restore edit text values
- binding.networkNameEdt.setText(addNetworkStore.getLastUsedNetworkName())
- binding.networkPasswordEdt.setText(addNetworkStore.getLastUsedNetworkPassword())
-
- // Restore checked state
- val checkedId = when (addNetworkStore.getNetworkType()) {
- NetworkType.OPEN -> R.id.openNetworkRdb
- NetworkType.WPA2 -> R.id.wpa2NetworkRdb
- NetworkType.WPA3 -> R.id.wpa3NetworkRdb
- }
- binding.addNetworkTypeRdg.check(checkedId)
-
- // Show/hide password edit
- when (addNetworkStore.getNetworkType()) {
- NetworkType.OPEN -> adjustNetworkPasswordVisibility(View.INVISIBLE)
- else -> adjustNetworkPasswordVisibility(View.VISIBLE)
- }
- }
-
- private fun updateUI() {
- when (binding.addNetworkTypeRdg.checkedRadioButtonId) {
- R.id.openNetworkRdb -> adjustNetworkPasswordVisibility(View.INVISIBLE)
- else -> adjustNetworkPasswordVisibility(View.VISIBLE)
- }
- }
-
- /*
- * Presenter callback overrides
- */
-
- override fun displayFailureAddingNetwork(result: AddNetworkResult) {
- displayInfo(getString(R.string.failed_adding_network_args, result), R.string.add_network_result)
- }
-
- override fun displayNetworkAdded(result: AddNetworkResult) {
- displayInfoFullScreen(
- getString(R.string.succeeded_adding_network_args, result),
- R.string.add_network_result
- )
- }
-
- override fun displayWisefyAsyncError(throwable: Throwable) {
- displayWisefyAsyncErrorDialog(throwable)
- }
-
- /*
- * WiseFy helpers
- */
-
- @Throws(SecurityException::class)
- private fun addOpenNetwork() {
- if (checkAddOpenNetworkPermissions()) {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
- presenter.addOpenNetwork(
- ssid = binding.networkNameEdt.getTrimmedInput(),
- activityResultLauncher = addNetworkResult
- )
- } else {
- presenter.addOpenNetwork(ssid = binding.networkNameEdt.getTrimmedInput())
- }
- }
- }
-
- @Throws(SecurityException::class)
- private fun addWPA2Network() {
- if (checkAddWPA2NetworkPermissions()) {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
- presenter.addWPA2Network(
- ssid = binding.networkNameEdt.getTrimmedInput(),
- passphrase = binding.networkPasswordEdt.getTrimmedInput(),
- activityResultLauncher = addNetworkResult
- )
- } else {
- presenter.addWPA2Network(
- ssid = binding.networkNameEdt.getTrimmedInput(),
- passphrase = binding.networkPasswordEdt.getTrimmedInput()
- )
- }
- }
- }
-
- @Throws(SecurityException::class)
- private fun addWPA3Network() {
- if (sdkUtil.isAtLeastQ()) {
- if (checkAddWPA3NetworkPermissions()) {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
- presenter.addWPA3Network(
- ssid = binding.networkNameEdt.getTrimmedInput(),
- passphrase = binding.networkPasswordEdt.getTrimmedInput(),
- activityResultLauncher = addNetworkResult
- )
- } else {
- presenter.addWPA3Network(
- ssid = binding.networkNameEdt.getTrimmedInput(),
- passphrase = binding.networkPasswordEdt.getTrimmedInput()
- )
- }
- }
- } else {
- displayInfo(R.string.add_wpa3_android_q_notice)
- }
- }
-
- /*
- * Permission helpers
- */
-
- private fun checkAddOpenNetworkPermissions(): Boolean {
- return isPermissionGranted(ACCESS_FINE_LOCATION, WISEFY_ADD_OPEN_NETWORK_REQUEST_CODE) &&
- isPermissionGranted(CHANGE_WIFI_STATE, WISEFY_ADD_OPEN_NETWORK_REQUEST_CODE)
- }
-
- private fun checkAddWPA2NetworkPermissions(): Boolean {
- return isPermissionGranted(ACCESS_FINE_LOCATION, WISEFY_ADD_WPA2_NETWORK_REQUEST_CODE) &&
- isPermissionGranted(CHANGE_WIFI_STATE, WISEFY_ADD_WPA2_NETWORK_REQUEST_CODE)
- }
-
- private fun checkAddWPA3NetworkPermissions(): Boolean {
- return isPermissionGranted(ACCESS_FINE_LOCATION, WISEFY_ADD_WPA3_NETWORK_REQUEST_CODE) &&
- isPermissionGranted(CHANGE_WIFI_STATE, WISEFY_ADD_WPA3_NETWORK_REQUEST_CODE)
- }
-
- override fun onRequestPermissionsResult(requestCode: Int, permissions: Array, grantResults: IntArray) {
- when (requestCode) {
- WISEFY_ADD_OPEN_NETWORK_REQUEST_CODE -> {
- if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
- addOpenNetwork()
- } else {
- WisefySampleLogger.w(LOG_TAG, "Permissions for adding an open network are denied")
- displayPermissionErrorDialog(R.string.permission_error_add_open_network)
- }
- }
- WISEFY_ADD_WPA2_NETWORK_REQUEST_CODE -> {
- if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
- addWPA2Network()
- } else {
- WisefySampleLogger.w(LOG_TAG, "Permissions for adding a WPA2 network are denied")
- displayPermissionErrorDialog(R.string.permission_error_add_wpa2_network)
- }
- }
- WISEFY_ADD_WPA3_NETWORK_REQUEST_CODE -> {
- if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
- addWPA3Network()
- } else {
- WisefySampleLogger.w(LOG_TAG, "Permissions for adding a WPA3 network are denied")
- displayPermissionErrorDialog(R.string.permission_error_add_wpa3_network)
- }
- }
- else -> {
- WisefySampleLogger.wtf(LOG_TAG, "Weird permission requested, not handled")
- displayPermissionErrorDialog(
- getString(R.string.permission_error_unhandled_request_code_args, requestCode)
- )
- }
- }
- }
-}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/add/AddNetworkModel.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/add/AddNetworkModel.kt
deleted file mode 100644
index bf1a9c39..00000000
--- a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/add/AddNetworkModel.kt
+++ /dev/null
@@ -1,178 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.sample.ui.add
-
-import android.Manifest.permission.ACCESS_FINE_LOCATION
-import android.Manifest.permission.CHANGE_WIFI_STATE
-import android.content.Intent
-import android.os.Build
-import androidx.activity.result.ActivityResultLauncher
-import androidx.annotation.RequiresApi
-import androidx.annotation.RequiresPermission
-import com.isupatches.android.wisefy.WisefyApi
-import com.isupatches.android.wisefy.addnetwork.entities.AddOpenNetworkRequest
-import com.isupatches.android.wisefy.addnetwork.entities.AddWPA2NetworkRequest
-import com.isupatches.android.wisefy.addnetwork.entities.AddWPA3NetworkRequest
-import com.isupatches.android.wisefy.callbacks.AddNetworkCallbacks
-import com.isupatches.android.wisefy.sample.internal.scaffolding.BaseModel
-import javax.inject.Inject
-
-internal interface AddNetworkModel {
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- fun addOpenNetwork(ssid: String, callbacks: AddNetworkCallbacks?)
-
- @RequiresApi(Build.VERSION_CODES.R)
- @RequiresPermission(ACCESS_FINE_LOCATION)
- fun addOpenNetwork(
- ssid: String,
- activityResultLauncher: ActivityResultLauncher,
- callbacks: AddNetworkCallbacks?
- )
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- fun addWPA2Network(
- ssid: String,
- passphrase: String,
- callbacks: AddNetworkCallbacks?
- )
-
- @RequiresApi(Build.VERSION_CODES.R)
- @RequiresPermission(ACCESS_FINE_LOCATION)
- fun addWPA2Network(
- ssid: String,
- passphrase: String,
- activityResultLauncher: ActivityResultLauncher,
- callbacks: AddNetworkCallbacks?
- )
-
- @RequiresApi(Build.VERSION_CODES.Q)
- @RequiresPermission(ACCESS_FINE_LOCATION)
- fun addWPA3Network(
- ssid: String,
- passphrase: String,
- callbacks: AddNetworkCallbacks?
- )
-
- @RequiresApi(Build.VERSION_CODES.R)
- @RequiresPermission(ACCESS_FINE_LOCATION)
- fun addWPA3Network(
- ssid: String,
- passphrase: String,
- activityResultLauncher: ActivityResultLauncher,
- callbacks: AddNetworkCallbacks?
- )
-}
-
-@AddNetworkScope
-internal class DefaultAddNetworkModel @Inject constructor(
- private val wisefy: WisefyApi
-) : BaseModel(), AddNetworkModel {
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- override fun addOpenNetwork(
- ssid: String,
- callbacks: AddNetworkCallbacks?
- ) {
- wisefy.addOpenNetwork(
- request = AddOpenNetworkRequest.Ssid(ssid = ssid),
- callbacks = callbacks
- )
- }
-
- @RequiresApi(Build.VERSION_CODES.R)
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- override fun addOpenNetwork(
- ssid: String,
- activityResultLauncher: ActivityResultLauncher,
- callbacks: AddNetworkCallbacks?
- ) {
- wisefy.addOpenNetwork(
- request = AddOpenNetworkRequest.SsidAndActivityResultLauncher(
- ssid = ssid,
- activityResultLauncher = activityResultLauncher
- ),
- callbacks = callbacks
- )
- }
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- override fun addWPA2Network(
- ssid: String,
- passphrase: String,
- callbacks: AddNetworkCallbacks?
- ) {
- wisefy.addWPA2Network(
- request = AddWPA2NetworkRequest.SsidAndPassphrase(
- ssid = ssid,
- passphrase = passphrase
- ),
- callbacks = callbacks
- )
- }
-
- @RequiresApi(Build.VERSION_CODES.R)
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- override fun addWPA2Network(
- ssid: String,
- passphrase: String,
- activityResultLauncher: ActivityResultLauncher,
- callbacks: AddNetworkCallbacks?
- ) {
- wisefy.addWPA2Network(
- request = AddWPA2NetworkRequest.SsidPassphraseAndActivityResultLauncher(
- ssid = ssid,
- passphrase = passphrase,
- activityResultLauncher = activityResultLauncher
- ),
- callbacks = callbacks
- )
- }
-
- @RequiresApi(Build.VERSION_CODES.Q)
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- override fun addWPA3Network(
- ssid: String,
- passphrase: String,
- callbacks: AddNetworkCallbacks?
- ) {
- wisefy.addWPA3Network(
- request = AddWPA3NetworkRequest.SsidAndPassphrase(
- ssid = ssid,
- passphrase = passphrase
- ),
- callbacks = callbacks
- )
- }
-
- @RequiresApi(Build.VERSION_CODES.R)
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- override fun addWPA3Network(
- ssid: String,
- passphrase: String,
- activityResultLauncher: ActivityResultLauncher,
- callbacks: AddNetworkCallbacks?
- ) {
- wisefy.addWPA3Network(
- request = AddWPA3NetworkRequest.SsidPassphraseAndActivityResultLauncher(
- ssid = ssid,
- passphrase = passphrase,
- activityResultLauncher = activityResultLauncher
- ),
- callbacks = callbacks
- )
- }
-}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/add/AddNetworkModule.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/add/AddNetworkModule.kt
deleted file mode 100644
index b2b7f8a0..00000000
--- a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/add/AddNetworkModule.kt
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.sample.ui.add
-
-import dagger.Binds
-import dagger.Module
-import javax.inject.Scope
-
-@Scope
-@Retention(AnnotationRetention.RUNTIME)
-internal annotation class AddNetworkScope
-
-@Suppress("unused")
-@Module
-internal interface AddNetworkFragmentModule {
- @Binds
- @AddNetworkScope
- fun bindAddNetworkModel(impl: DefaultAddNetworkModel): AddNetworkModel
-
- @Binds
- @AddNetworkScope
- fun bindAddNetworkPresenter(impl: DefaultAddNetworkPresenter): AddNetworkPresenter
-
- @Binds
- @AddNetworkScope
- fun bindAddNetworkStore(impl: SharedPreferencesAddNetworkStore): AddNetworkStore
-}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/add/AddNetworkPresenter.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/add/AddNetworkPresenter.kt
deleted file mode 100644
index 958b7eec..00000000
--- a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/add/AddNetworkPresenter.kt
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.sample.ui.add
-
-import android.Manifest.permission.ACCESS_FINE_LOCATION
-import android.content.Intent
-import android.os.Build
-import androidx.activity.result.ActivityResultLauncher
-import androidx.annotation.RequiresApi
-import androidx.annotation.RequiresPermission
-import com.isupatches.android.wisefy.addnetwork.entities.AddNetworkResult
-import com.isupatches.android.wisefy.callbacks.AddNetworkCallbacks
-import com.isupatches.android.wisefy.sample.internal.scaffolding.BasePresenter
-import com.isupatches.android.wisefy.sample.internal.scaffolding.Presenter
-import javax.inject.Inject
-
-internal interface AddNetworkPresenter : Presenter {
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- fun addOpenNetwork(ssid: String)
-
- @RequiresApi(Build.VERSION_CODES.R)
- @RequiresPermission(ACCESS_FINE_LOCATION)
- fun addOpenNetwork(
- ssid: String,
- activityResultLauncher: ActivityResultLauncher
- )
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- fun addWPA2Network(ssid: String, passphrase: String)
-
- @RequiresApi(Build.VERSION_CODES.R)
- @RequiresPermission(ACCESS_FINE_LOCATION)
- fun addWPA2Network(
- ssid: String,
- passphrase: String,
- activityResultLauncher: ActivityResultLauncher
- )
-
- @RequiresApi(Build.VERSION_CODES.Q)
- @RequiresPermission(ACCESS_FINE_LOCATION)
- fun addWPA3Network(ssid: String, passphrase: String)
-
- @RequiresApi(Build.VERSION_CODES.R)
- @RequiresPermission(ACCESS_FINE_LOCATION)
- fun addWPA3Network(
- ssid: String,
- passphrase: String,
- activityResultLauncher: ActivityResultLauncher
- )
-}
-
-@AddNetworkScope
-internal class DefaultAddNetworkPresenter @Inject constructor(
- private val model: AddNetworkModel,
-) : BasePresenter(), AddNetworkPresenter {
-
- private val addNetworkCallbacks = object : AddNetworkCallbacks {
- override fun onFailureAddingNetwork(result: AddNetworkResult) {
- doSafelyWithView { view ->
- view.displayFailureAddingNetwork(result)
- }
- }
-
- override fun onNetworkAdded(result: AddNetworkResult) {
- doSafelyWithView { view ->
- view.displayNetworkAdded(result)
- }
- }
-
- override fun onWisefyAsyncFailure(throwable: Throwable) {
- doSafelyWithView { view ->
- view.displayWisefyAsyncError(throwable)
- }
- }
- }
-
- /*
- * Model call-throughs
- */
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun addOpenNetwork(ssid: String) {
- model.addOpenNetwork(
- ssid = ssid,
- callbacks = addNetworkCallbacks
- )
- }
-
- @RequiresApi(Build.VERSION_CODES.R)
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun addOpenNetwork(
- ssid: String,
- activityResultLauncher: ActivityResultLauncher
- ) {
- model.addOpenNetwork(
- ssid = ssid,
- activityResultLauncher = activityResultLauncher,
- callbacks = addNetworkCallbacks
- )
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun addWPA2Network(ssid: String, passphrase: String) {
- model.addWPA2Network(
- ssid = ssid,
- passphrase = passphrase,
- callbacks = addNetworkCallbacks
- )
- }
-
- @RequiresApi(Build.VERSION_CODES.R)
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun addWPA2Network(
- ssid: String,
- passphrase: String,
- activityResultLauncher: ActivityResultLauncher
- ) {
- model.addWPA2Network(
- ssid = ssid,
- passphrase = passphrase,
- activityResultLauncher = activityResultLauncher,
- callbacks = addNetworkCallbacks
- )
- }
-
- @RequiresApi(Build.VERSION_CODES.Q)
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun addWPA3Network(ssid: String, passphrase: String) {
- model.addWPA3Network(
- ssid = ssid,
- passphrase = passphrase,
- callbacks = addNetworkCallbacks
- )
- }
-
- @RequiresApi(Build.VERSION_CODES.R)
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun addWPA3Network(
- ssid: String,
- passphrase: String,
- activityResultLauncher: ActivityResultLauncher
- ) {
- model.addWPA3Network(
- ssid = ssid,
- passphrase = passphrase,
- activityResultLauncher = activityResultLauncher,
- callbacks = addNetworkCallbacks
- )
- }
-}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/add/AddNetworkStore.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/add/AddNetworkStore.kt
deleted file mode 100644
index 3366ddd3..00000000
--- a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/add/AddNetworkStore.kt
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.sample.ui.add
-
-import android.content.Context
-import android.content.SharedPreferences
-import androidx.annotation.VisibleForTesting
-import androidx.core.content.edit
-import com.isupatches.android.wisefy.sample.R
-import com.isupatches.android.wisefy.sample.internal.entities.NetworkType
-import com.isupatches.android.wisefy.sample.internal.scaffolding.BaseSharedPreferenceStore
-import javax.inject.Inject
-
-@VisibleForTesting internal const val PREF_NETWORK_TYPE = "network type"
-@VisibleForTesting internal const val PREF_LAST_USED_NETWORK_NAME = "last used network name"
-@VisibleForTesting internal const val PREF_LAST_USED_NETWORK_PASSWORD = "last used network password"
-
-internal interface AddNetworkStore {
- fun clear()
-
- fun getNetworkType(): NetworkType
- fun getLastUsedNetworkName(): String
- fun getLastUsedNetworkPassword(): String
-
- fun setNetworkType(networkType: NetworkType)
- fun setLastUsedNetworkName(lastUsedNetworkName: String)
- fun setLastUsedNetworkPassword(lastUsedNetworkPassword: String)
-}
-
-@AddNetworkScope
-internal class SharedPreferencesAddNetworkStore @Inject constructor(
- context: Context
-) : BaseSharedPreferenceStore(), AddNetworkStore {
-
- private val sharedPreferences: SharedPreferences = getSharedPreferences(
- context,
- R.string.preferences_add_network_data
- )
-
- override fun clear() {
- sharedPreferences.edit { clear() }
- }
-
- /*
- * Network type
- */
-
- override fun getNetworkType() = NetworkType.of(
- sharedPreferences.getInt(PREF_NETWORK_TYPE, NetworkType.WPA2.intVal)
- )
-
- override fun setNetworkType(networkType: NetworkType) {
- sharedPreferences.edit {
- putInt(PREF_NETWORK_TYPE, networkType.intVal)
- }
- }
-
- /*
- * Last used network name
- */
-
- override fun getLastUsedNetworkName() = sharedPreferences.getNonNullString(
- PREF_LAST_USED_NETWORK_NAME
- )
-
- override fun setLastUsedNetworkName(lastUsedNetworkName: String) {
- sharedPreferences.edit {
- putString(PREF_LAST_USED_NETWORK_NAME, lastUsedNetworkName)
- }
- }
-
- /*
- * Last used network password
- */
-
- override fun getLastUsedNetworkPassword() = sharedPreferences.getNonNullString(
- PREF_LAST_USED_NETWORK_PASSWORD
- )
-
- override fun setLastUsedNetworkPassword(lastUsedNetworkPassword: String) {
- sharedPreferences.edit {
- putString(PREF_LAST_USED_NETWORK_PASSWORD, lastUsedNetworkPassword)
- }
- }
-}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/components/WisefySampleButtons.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/components/WisefySampleButtons.kt
new file mode 100644
index 00000000..681d3ba1
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/components/WisefySampleButtons.kt
@@ -0,0 +1,75 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.ui.components
+
+import android.content.res.Configuration
+import androidx.annotation.StringRes
+import androidx.compose.foundation.layout.fillMaxWidth
+import androidx.compose.foundation.layout.padding
+import androidx.compose.material.Button
+import androidx.compose.material.MaterialTheme
+import androidx.compose.material.Text
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.res.stringResource
+import androidx.compose.ui.tooling.preview.Preview
+import com.isupatches.android.wisefy.sample.R
+import com.isupatches.android.wisefy.sample.ui.primitives.WisefySamplePrimaryButtonColors
+import com.isupatches.android.wisefy.sample.ui.primitives.WisefySampleSizes
+import com.isupatches.android.wisefy.sample.ui.theme.WisefySampleTheme
+
+@Composable
+internal fun WisefyPrimaryButton(
+ @StringRes stringResId: Int,
+ onClick: () -> Unit
+) {
+ WisefySampleTheme {
+ Button(
+ modifier = Modifier.fillMaxWidth(),
+ content = {
+ Text(
+ text = stringResource(stringResId),
+ style = MaterialTheme.typography.subtitle1,
+ modifier = Modifier.padding(
+ top = WisefySampleSizes.Medium,
+ bottom = WisefySampleSizes.Medium,
+ start = WisefySampleSizes.Large,
+ end = WisefySampleSizes.Large
+ ),
+ color = MaterialTheme.colors.onPrimary
+ )
+ },
+ colors = WisefySamplePrimaryButtonColors(),
+ onClick = {
+ onClick()
+ }
+ )
+ }
+}
+
+@Preview(showBackground = true)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun WisefyPrimaryButtonLightPreview() {
+ WisefyPrimaryButton(R.string.wisefy) { }
+}
+
+@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun WisefyPrimaryButtonDarkPreview() {
+ WisefyPrimaryButton(R.string.wisefy) { }
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/components/WisefySampleEditText.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/components/WisefySampleEditText.kt
new file mode 100644
index 00000000..d2558491
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/components/WisefySampleEditText.kt
@@ -0,0 +1,249 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.ui.components
+
+import android.content.res.Configuration
+import androidx.annotation.StringRes
+import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.Row
+import androidx.compose.foundation.layout.fillMaxWidth
+import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.text.KeyboardOptions
+import androidx.compose.material.Icon
+import androidx.compose.material.IconButton
+import androidx.compose.material.MaterialTheme
+import androidx.compose.material.Text
+import androidx.compose.material.TextField
+import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.filled.Visibility
+import androidx.compose.material.icons.filled.VisibilityOff
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.mutableStateOf
+import androidx.compose.runtime.saveable.rememberSaveable
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.res.stringResource
+import androidx.compose.ui.text.input.KeyboardType
+import androidx.compose.ui.text.input.PasswordVisualTransformation
+import androidx.compose.ui.text.input.VisualTransformation
+import androidx.compose.ui.tooling.preview.Preview
+import androidx.compose.ui.tooling.preview.PreviewParameter
+import androidx.compose.ui.tooling.preview.PreviewParameterProvider
+import com.isupatches.android.wisefy.sample.R
+import com.isupatches.android.wisefy.sample.ui.primitives.WisefySampleSizes
+import com.isupatches.android.wisefy.sample.ui.primitives.WisefySampleTextFieldColors
+import com.isupatches.android.wisefy.sample.ui.theme.WisefySampleTheme
+
+@Composable
+internal fun WisefySampleEditText(
+ text: String,
+ onTextChange: (String) -> Unit,
+ @StringRes labelResId: Int,
+ singleLine: Boolean = true,
+ error: WisefySampleEditTextError? = null,
+ isPasswordField: Boolean = false
+) {
+ WisefySampleTheme {
+ val colors = WisefySampleTextFieldColors()
+ val passwordVisible = rememberSaveable { mutableStateOf(false) }
+ Column {
+ Row {
+ TextField(
+ value = text,
+ onValueChange = onTextChange,
+ label = {
+ Text(
+ text = stringResource(labelResId),
+ style = MaterialTheme.typography.body1,
+ color = colors.placeholderColor(enabled = true).value
+ )
+ },
+ singleLine = singleLine,
+ textStyle = MaterialTheme.typography.body1,
+ colors = colors,
+ modifier = Modifier.fillMaxWidth(),
+ isError = error != null,
+ visualTransformation = if (isPasswordField) {
+ if (passwordVisible.value) {
+ VisualTransformation.None
+ } else {
+ PasswordVisualTransformation()
+ }
+ } else {
+ VisualTransformation.None
+ },
+ trailingIcon = {
+ if (isPasswordField) {
+ val image = if (passwordVisible.value) {
+ Icons.Filled.Visibility
+ } else {
+ Icons.Filled.VisibilityOff
+ }
+
+ val description = if (passwordVisible.value) {
+ stringResource(R.string.hide_password)
+ } else {
+ stringResource(R.string.show_password)
+ }
+
+ IconButton(onClick = { passwordVisible.value = !passwordVisible.value }) {
+ Icon(imageVector = image, description)
+ }
+ }
+ }
+ )
+ }
+ WisefySampleEditTextErrorMessage(error)
+ }
+ }
+}
+
+@Composable
+internal fun WisefySampleNumericalEditText(
+ text: String,
+ onTextChange: (String) -> Unit,
+ @StringRes labelResId: Int,
+ error: WisefySampleEditTextError? = null
+) {
+ WisefySampleTheme {
+ val colors = WisefySampleTextFieldColors()
+ Column {
+ Row {
+ TextField(
+ value = text,
+ onValueChange = onTextChange,
+ label = {
+ Text(
+ text = stringResource(labelResId),
+ style = MaterialTheme.typography.body1,
+ color = colors.placeholderColor(enabled = true).value
+ )
+ },
+ singleLine = true,
+ textStyle = MaterialTheme.typography.body1,
+ colors = colors,
+ modifier = Modifier.fillMaxWidth(),
+ visualTransformation = VisualTransformation.None,
+ keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Number)
+ )
+ }
+ WisefySampleEditTextErrorMessage(error)
+ }
+ }
+}
+
+@Composable
+internal fun WisefySampleEditTextErrorMessage(
+ error: WisefySampleEditTextError? = null
+) {
+ error?.let {
+ Row(modifier = Modifier.padding(top = WisefySampleSizes.Medium, bottom = WisefySampleSizes.Medium)) {
+ Text(
+ text = stringResource(it.errorMessageResId),
+ color = MaterialTheme.colors.error,
+ style = MaterialTheme.typography.caption,
+ modifier = Modifier.padding(start = WisefySampleSizes.Large)
+ )
+ }
+ }
+}
+
+internal data class WisefySampleEditTextError(
+ @StringRes val errorMessageResId: Int
+)
+
+@Preview(showBackground = true)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun WisefySampleEditTextLightPreview(
+ @PreviewParameter(WisefySampleEditTextPreviewParameterProvider::class)
+ previewTriple: Triple
+) {
+ WisefySampleEditText(
+ text = "test text",
+ onTextChange = { },
+ labelResId = R.string.wisefy,
+ isPasswordField = previewTriple.first,
+ singleLine = previewTriple.second,
+ error = previewTriple.third
+ )
+}
+
+@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun WisefySampleEditTextDarkPreview(
+ @PreviewParameter(WisefySampleEditTextPreviewParameterProvider::class)
+ previewTriple: Triple
+) {
+ WisefySampleEditText(
+ text = "test text",
+ onTextChange = { },
+ labelResId = R.string.wisefy,
+ isPasswordField = previewTriple.first,
+ singleLine = previewTriple.second,
+ error = previewTriple.third
+ )
+}
+
+@Preview(showBackground = true)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun WisefySampleNumbericalEditTextLightPreview(
+ @PreviewParameter(WisefySampleNumericalEditTextPreviewParameterProvider::class) error: WisefySampleEditTextError?
+) {
+ WisefySampleNumericalEditText(
+ text = "10",
+ onTextChange = { },
+ labelResId = R.string.wisefy,
+ error = error
+ )
+}
+
+@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun WisefySampleEditTextDarkPreview(
+ @PreviewParameter(WisefySampleNumericalEditTextPreviewParameterProvider::class) error: WisefySampleEditTextError?
+) {
+ WisefySampleNumericalEditText(
+ text = "10",
+ onTextChange = { },
+ labelResId = R.string.wisefy,
+ error = error
+ )
+}
+
+private class WisefySampleEditTextPreviewParameterProvider :
+ PreviewParameterProvider> {
+ override val values: Sequence> = sequenceOf(
+ Triple(true, false, null),
+ Triple(true, false, WisefySampleEditTextError(R.string.input_error)),
+ Triple(true, true, null),
+ Triple(true, true, WisefySampleEditTextError(R.string.input_error)),
+ Triple(false, false, null),
+ Triple(false, false, WisefySampleEditTextError(R.string.input_error)),
+ Triple(false, true, null),
+ Triple(false, true, WisefySampleEditTextError(R.string.input_error))
+ )
+}
+
+private class WisefySampleNumericalEditTextPreviewParameterProvider :
+ PreviewParameterProvider {
+ override val values: Sequence = sequenceOf(
+ null,
+ WisefySampleEditTextError(R.string.input_error)
+ )
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/components/WisefySampleLabels.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/components/WisefySampleLabels.kt
new file mode 100644
index 00000000..7ac4f728
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/components/WisefySampleLabels.kt
@@ -0,0 +1,191 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.ui.components
+
+import android.content.res.Configuration
+import androidx.annotation.StringRes
+import androidx.compose.material.MaterialTheme
+import androidx.compose.material.Text
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.res.stringResource
+import androidx.compose.ui.tooling.preview.Preview
+import com.isupatches.android.wisefy.sample.R
+import com.isupatches.android.wisefy.sample.ui.primitives.WisefySampleTypography
+import com.isupatches.android.wisefy.sample.ui.theme.WisefySampleTheme
+
+@Composable
+internal fun WisefySampleDialogTitleLabel(
+ @StringRes stringResId: Int,
+ modifier: Modifier = Modifier
+) {
+ WisefySampleTheme {
+ Text(
+ text = stringResource(stringResId),
+ style = WisefySampleTypography.h5,
+ color = MaterialTheme.colors.primary,
+ modifier = modifier
+ )
+ }
+}
+
+@Composable
+internal fun WisefySampleDialogBodyLabel(
+ @StringRes stringResId: Int,
+ modifier: Modifier = Modifier,
+ vararg formatArgs: Any
+) {
+ WisefySampleTheme {
+ val text = if (formatArgs.any()) {
+ stringResource(stringResId, *formatArgs)
+ } else {
+ stringResource(stringResId)
+ }
+ Text(
+ text = text,
+ style = WisefySampleTypography.body1,
+ color = MaterialTheme.colors.onSurface,
+ modifier = modifier
+ )
+ }
+}
+
+@Composable
+internal fun WisefySampleBodyLabel(
+ @StringRes stringResId: Int,
+ modifier: Modifier = Modifier,
+ vararg formatArgs: Any
+) {
+ WisefySampleTheme {
+ val text = if (formatArgs.any()) {
+ stringResource(stringResId, *formatArgs)
+ } else {
+ stringResource(stringResId)
+ }
+ Text(
+ text = text,
+ style = WisefySampleTypography.body1,
+ color = MaterialTheme.colors.onBackground,
+ modifier = modifier
+ )
+ }
+}
+
+@Composable
+internal fun WisefySampleSubHeaderLabel(
+ @StringRes stringResId: Int,
+ modifier: Modifier = Modifier,
+ vararg formatArgs: Any
+) {
+ WisefySampleTheme {
+ val text = if (formatArgs.any()) {
+ stringResource(stringResId, *formatArgs)
+ } else {
+ stringResource(stringResId)
+ }
+ Text(
+ text = text,
+ style = WisefySampleTypography.h6,
+ color = MaterialTheme.colors.onBackground,
+ modifier = modifier
+ )
+ }
+}
+
+@Composable
+internal fun WisefySampleCaptionLabel(
+ text: String,
+ modifier: Modifier = Modifier
+) {
+ WisefySampleTheme {
+ Text(
+ text = text,
+ style = WisefySampleTypography.caption,
+ color = MaterialTheme.colors.onBackground,
+ modifier = modifier
+ )
+ }
+}
+
+@Preview(showBackground = true)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun WisefySampleDialogTitleLabelLightPreview() {
+ WisefySampleDialogTitleLabel(R.string.wisefy)
+}
+
+@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun WisefySampleDialogTitleLabelDarkPreview() {
+ WisefySampleDialogTitleLabel(R.string.wisefy)
+}
+
+@Preview(showBackground = true)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun WisefySampleDialogBodyLabelLightPreview() {
+ WisefySampleDialogBodyLabel(R.string.wisefy)
+}
+
+@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun WisefySampleDialogBodyLabelDarkPreview() {
+ WisefySampleDialogBodyLabel(R.string.wisefy)
+}
+
+@Preview(showBackground = true)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun WisefySampleSubHeaderLabelLightPreview() {
+ WisefySampleSubHeaderLabel(R.string.wisefy)
+}
+
+@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun WisefySampleSubHeaderLabelDarkPreview() {
+ WisefySampleSubHeaderLabel(R.string.wisefy)
+}
+
+@Preview(showBackground = true)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun WisefySampleBodyLabelLightPreview() {
+ WisefySampleBodyLabel(R.string.wisefy)
+}
+
+@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun WisefySampleBodyLabelDarkPreview() {
+ WisefySampleBodyLabel(R.string.wisefy)
+}
+
+@Preview(showBackground = true)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun WisefySampleCaptionLabelLightPreview() {
+ WisefySampleCaptionLabel(stringResource(id = R.string.wisefy), Modifier)
+}
+
+@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun WisefySampleCaptionLabelDarkPreview() {
+ WisefySampleCaptionLabel(stringResource(id = R.string.wisefy), Modifier)
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/components/WisefySampleLoadingIndicator.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/components/WisefySampleLoadingIndicator.kt
new file mode 100644
index 00000000..69ab43d9
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/components/WisefySampleLoadingIndicator.kt
@@ -0,0 +1,50 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.ui.components
+
+import android.content.res.Configuration
+import androidx.compose.foundation.layout.fillMaxWidth
+import androidx.compose.material.LinearProgressIndicator
+import androidx.compose.material.MaterialTheme
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.tooling.preview.Preview
+import com.isupatches.android.wisefy.sample.ui.theme.WisefySampleTheme
+
+@Composable
+internal fun WisefySampleLoadingIndicator(
+ isLoading: () -> Boolean
+) {
+ WisefySampleTheme {
+ if (isLoading()) {
+ LinearProgressIndicator(color = MaterialTheme.colors.secondary, modifier = Modifier.fillMaxWidth())
+ }
+ }
+}
+
+@Preview(showBackground = true)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun WisefySampleLoadingIndicatorLightPreview() {
+ WisefySampleLoadingIndicator { true }
+}
+
+@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun WisefySampleLoadingIndicatorDarkPreview() {
+ WisefySampleLoadingIndicator { true }
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/components/WisefySampleNoticeDialog.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/components/WisefySampleNoticeDialog.kt
new file mode 100644
index 00000000..d219fee4
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/components/WisefySampleNoticeDialog.kt
@@ -0,0 +1,107 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.ui.components
+
+import android.content.res.Configuration
+import androidx.annotation.StringRes
+import androidx.compose.foundation.layout.Arrangement
+import androidx.compose.foundation.layout.Box
+import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.Row
+import androidx.compose.foundation.layout.fillMaxWidth
+import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.rememberScrollState
+import androidx.compose.foundation.shape.RoundedCornerShape
+import androidx.compose.foundation.verticalScroll
+import androidx.compose.material.MaterialTheme
+import androidx.compose.material.Surface
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.tooling.preview.Preview
+import androidx.compose.ui.window.Dialog
+import com.isupatches.android.wisefy.sample.R
+import com.isupatches.android.wisefy.sample.ui.primitives.WisefySampleCornerRadii
+import com.isupatches.android.wisefy.sample.ui.primitives.WisefySampleSizes
+import com.isupatches.android.wisefy.sample.ui.theme.WisefySampleTheme
+
+@Composable
+internal fun WisefySampleNoticeDialog(
+ @StringRes title: Int,
+ @StringRes body: Int,
+ vararg bodyFormatArgs: Any,
+ onClose: () -> Unit
+) {
+ WisefySampleTheme {
+ Dialog(onDismissRequest = onClose) {
+ Box(modifier = Modifier.padding(top = WisefySampleSizes.XXLarge, bottom = WisefySampleSizes.XXLarge)) {
+ Surface(
+ shape = RoundedCornerShape(WisefySampleCornerRadii.Default),
+ color = MaterialTheme.colors.surface
+ ) {
+ Column(
+ modifier = Modifier.padding(
+ top = WisefySampleSizes.Large,
+ bottom = WisefySampleSizes.XLarge,
+ start = WisefySampleSizes.WisefySampleHorizontalMargins,
+ end = WisefySampleSizes.WisefySampleHorizontalMargins
+ )
+ ) {
+ Row(modifier = Modifier.fillMaxWidth(), horizontalArrangement = Arrangement.Center) {
+ WisefySampleDialogTitleLabel(stringResId = title)
+ }
+ Row(
+ modifier = Modifier
+ .fillMaxWidth()
+ .verticalScroll(state = rememberScrollState())
+ .weight(weight = 1f, fill = false)
+ ) {
+ WisefySampleDialogBodyLabel(
+ stringResId = body,
+ modifier = Modifier.padding(top = WisefySampleSizes.Large),
+ formatArgs = bodyFormatArgs
+ )
+ }
+ Row(modifier = Modifier.fillMaxWidth().padding(top = WisefySampleSizes.XLarge)) {
+ WisefyPrimaryButton(stringResId = R.string.ok, onClick = onClose)
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+@Preview(showBackground = true)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun WisefySampleNoticeDialogLightPreview() {
+ WisefySampleNoticeDialog(
+ R.string.permission_error,
+ R.string.permission_error_add_open_network,
+ onClose = { }
+ )
+}
+
+@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun WisefySampleNoticeDialogDarkPreview() {
+ WisefySampleNoticeDialog(
+ R.string.permission_error,
+ R.string.permission_error_add_open_network,
+ onClose = { }
+ )
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/components/WisefySampleRadioButton.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/components/WisefySampleRadioButton.kt
new file mode 100644
index 00000000..d8adb00a
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/components/WisefySampleRadioButton.kt
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.ui.components
+
+import android.content.res.Configuration
+import androidx.compose.material.RadioButton
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.tooling.preview.Preview
+import com.isupatches.android.wisefy.sample.ui.theme.WisefySampleTheme
+
+@Composable
+internal fun WisefySampleRadioButton(
+ isSelected: Boolean,
+ onClick: () -> Unit
+) {
+ WisefySampleTheme {
+ RadioButton(selected = isSelected, onClick = onClick)
+ }
+}
+
+@Preview(showBackground = true)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun WisefySampleRadioButtonLightPreview() {
+ WisefySampleRadioButton(isSelected = true, onClick = { })
+}
+
+@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun WisefySampleRadioButtonDarkPreview() {
+ WisefySampleRadioButton(isSelected = true, onClick = { })
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/components/WisefySampleSSIDTypeSelectionRows.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/components/WisefySampleSSIDTypeSelectionRows.kt
new file mode 100644
index 00000000..f4bf58cf
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/components/WisefySampleSSIDTypeSelectionRows.kt
@@ -0,0 +1,86 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.ui.components
+
+import android.content.res.Configuration
+import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.Row
+import androidx.compose.foundation.layout.padding
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Alignment
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.tooling.preview.Preview
+import com.isupatches.android.wisefy.sample.R
+import com.isupatches.android.wisefy.sample.entities.SSIDType
+import com.isupatches.android.wisefy.sample.ui.primitives.WisefySampleSizes
+import com.isupatches.android.wisefy.sample.ui.theme.WisefySampleTheme
+
+@Composable
+internal fun WisefySampleSSIDTypeSelectionRows(
+ ssidType: () -> SSIDType,
+ onSSIDTypeChanged: (SSIDType) -> Unit
+) {
+ WisefySampleTheme {
+ Column {
+ val currentSSIDType = ssidType()
+ Row {
+ WisefySampleSubHeaderLabel(
+ modifier = Modifier.padding(top = WisefySampleSizes.Large),
+ stringResId = R.string.ssid_type
+ )
+ }
+ Row(
+ modifier = Modifier.padding(top = WisefySampleSizes.Medium),
+ verticalAlignment = Alignment.CenterVertically
+ ) {
+ WisefySampleRadioButton(
+ isSelected = currentSSIDType == SSIDType.SSID,
+ onClick = {
+ onSSIDTypeChanged(SSIDType.SSID)
+ }
+ )
+ WisefySampleBodyLabel(stringResId = R.string.ssid)
+ WisefySampleRadioButton(
+ isSelected = currentSSIDType == SSIDType.BSSID,
+ onClick = {
+ onSSIDTypeChanged(SSIDType.BSSID)
+ }
+ )
+ WisefySampleBodyLabel(stringResId = R.string.bssid)
+ }
+ }
+ }
+}
+
+@Preview(showBackground = true)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun WisefySampleSSIDTypeSelectionRowsLightPreview() {
+ WisefySampleSSIDTypeSelectionRows(
+ onSSIDTypeChanged = { },
+ ssidType = { SSIDType.SSID }
+ )
+}
+
+@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun WisefySampleSSIDTypeSelectionRowsDarkPreview() {
+ WisefySampleSSIDTypeSelectionRows(
+ onSSIDTypeChanged = { },
+ ssidType = { SSIDType.SSID }
+ )
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/components/WisefySampleSlider.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/components/WisefySampleSlider.kt
new file mode 100644
index 00000000..31cf214a
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/components/WisefySampleSlider.kt
@@ -0,0 +1,92 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.ui.components
+
+import android.content.res.Configuration
+import androidx.compose.material.Slider
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.getValue
+import androidx.compose.runtime.mutableStateOf
+import androidx.compose.runtime.remember
+import androidx.compose.runtime.setValue
+import androidx.compose.ui.tooling.preview.Preview
+import com.isupatches.android.wisefy.sample.ui.primitives.WisefySliderColors
+import com.isupatches.android.wisefy.sample.ui.theme.WisefySampleTheme
+
+@Composable
+internal fun WisefySampleSlider(
+ startPosition: () -> Float?,
+ valueRange: ClosedFloatingPointRange,
+ onValueChange: (Float) -> Unit,
+ onValueChangeFinished: (Float) -> Unit
+) {
+ WisefySampleTheme {
+ var sliderPosition by remember { mutableStateOf(startPosition() ?: 0f) }
+ Slider(
+ value = sliderPosition,
+ valueRange = valueRange,
+ onValueChange = {
+ sliderPosition = it
+ onValueChange(it)
+ },
+ onValueChangeFinished = {
+ onValueChangeFinished(sliderPosition)
+ },
+ colors = WisefySliderColors()
+ )
+ }
+}
+
+private const val PREVIEW_START_VALUE = 0f
+private const val PREVIEW_END_VALUE = 30f
+
+@Preview(showBackground = true)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun WisefySampleSliderLightPreview() {
+ WisefySampleSlider(
+ startPosition = { 0f },
+ valueRange = object : ClosedFloatingPointRange {
+ override val start: Float = PREVIEW_START_VALUE
+ override val endInclusive: Float = PREVIEW_END_VALUE
+
+ override fun lessThanOrEquals(a: Float, b: Float): Boolean {
+ return a <= b
+ }
+ },
+ onValueChange = { },
+ onValueChangeFinished = { }
+ )
+}
+
+@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun WisefySampleSliderDarkPreview() {
+ WisefySampleSlider(
+ startPosition = { 0f },
+ valueRange = object : ClosedFloatingPointRange {
+ override val start: Float = PREVIEW_START_VALUE
+ override val endInclusive: Float = PREVIEW_END_VALUE
+
+ override fun lessThanOrEquals(a: Float, b: Float): Boolean {
+ return a <= b
+ }
+ },
+ onValueChange = { },
+ onValueChangeFinished = { }
+ )
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/components/WisefySampleToolbar.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/components/WisefySampleToolbar.kt
new file mode 100644
index 00000000..5ffe38e2
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/components/WisefySampleToolbar.kt
@@ -0,0 +1,57 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.ui.components
+
+import android.content.res.Configuration
+import androidx.compose.material.MaterialTheme
+import androidx.compose.material.Text
+import androidx.compose.material.TopAppBar
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.res.stringResource
+import androidx.compose.ui.tooling.preview.Preview
+import com.isupatches.android.wisefy.sample.R
+import com.isupatches.android.wisefy.sample.ui.theme.WisefySampleTheme
+
+@Composable
+internal fun WisefySampleToolbar() {
+ WisefySampleTheme {
+ TopAppBar(
+ title = {
+ Text(
+ text = stringResource(R.string.app_name),
+ color = MaterialTheme.colors.onPrimary,
+ style = MaterialTheme.typography.h5
+ )
+ },
+ backgroundColor = MaterialTheme.colors.primary,
+ contentColor = MaterialTheme.colors.onPrimary
+ )
+ }
+}
+
+@Preview(showBackground = true)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun WisefySampleToolbarLightPreview() {
+ WisefySampleToolbar()
+}
+
+@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun WisefySampleToolbarDarkPreview() {
+ WisefySampleToolbar()
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/components/navigation/WisefySampleBottomNavigation.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/components/navigation/WisefySampleBottomNavigation.kt
new file mode 100644
index 00000000..4a791e21
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/components/navigation/WisefySampleBottomNavigation.kt
@@ -0,0 +1,106 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.ui.components.navigation
+
+import android.content.res.Configuration
+import androidx.compose.material.BottomNavigation
+import androidx.compose.material.BottomNavigationItem
+import androidx.compose.material.Icon
+import androidx.compose.material.MaterialTheme
+import androidx.compose.material.Text
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.getValue
+import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.res.painterResource
+import androidx.compose.ui.res.stringResource
+import androidx.compose.ui.tooling.preview.Preview
+import androidx.navigation.NavController
+import androidx.navigation.compose.currentBackStackEntryAsState
+import com.isupatches.android.wisefy.sample.ui.primitives.WisefySampleTypography
+import com.isupatches.android.wisefy.sample.ui.theme.WisefySampleTheme
+
+private const val UNSELECTED_NAVIGATION_ITEM_ALPHA = 0.45f
+
+@Composable
+internal fun WisefySampleBottomNavigation(navController: NavController) {
+ val items = listOf(
+ WisefySampleBottomNavigationItem.Add,
+ WisefySampleBottomNavigationItem.Remove,
+ WisefySampleBottomNavigationItem.Home,
+ WisefySampleBottomNavigationItem.Misc,
+ WisefySampleBottomNavigationItem.Search
+ )
+ BottomNavigation(
+ backgroundColor = MaterialTheme.colors.primary,
+ contentColor = MaterialTheme.colors.onPrimary
+ ) {
+ val navBackStackEntry by navController.currentBackStackEntryAsState()
+ val currentRoute = navBackStackEntry?.destination?.route
+ items.forEach { item ->
+ BottomNavigationItem(
+ icon = {
+ Icon(
+ painter = painterResource(id = item.icon),
+ contentDescription = stringResource(item.stringResId)
+ )
+ },
+ label = {
+ Text(
+ text = stringResource(item.stringResId),
+ style = WisefySampleTypography.caption
+ )
+ },
+ selectedContentColor = MaterialTheme.colors.onPrimary,
+ unselectedContentColor = MaterialTheme.colors.onPrimary.copy(UNSELECTED_NAVIGATION_ITEM_ALPHA),
+ alwaysShowLabel = true,
+ selected = currentRoute == item.route,
+ onClick = {
+ navController.navigate(item.route) {
+ // Pop up to the start destination of the graph to avoid building up a large stack of
+ // destinations on the back stack as users select items
+ navController.graph.startDestinationRoute?.let { route ->
+ popUpTo(route) {
+ saveState = true
+ }
+ }
+ // Avoid multiple copies of the same destination when re-selecting the same item
+ launchSingleTop = true
+ // Restore state when re-selecting a previously selected item
+ restoreState = true
+ }
+ }
+ )
+ }
+ }
+}
+
+@Preview(showBackground = true)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun WisefySampleBottomNavigationLightPreview() {
+ WisefySampleTheme {
+ WisefySampleBottomNavigation(navController = NavController(LocalContext.current))
+ }
+}
+
+@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
+@Composable
+@Suppress("UnusedPrivateMember")
+private fun WisefySampleBottomNavigationDarkPreview() {
+ WisefySampleTheme {
+ WisefySampleBottomNavigation(navController = NavController(LocalContext.current))
+ }
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/components/navigation/WisefySampleBottomNavigationItem.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/components/navigation/WisefySampleBottomNavigationItem.kt
new file mode 100644
index 00000000..f9924f01
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/components/navigation/WisefySampleBottomNavigationItem.kt
@@ -0,0 +1,57 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.ui.components.navigation
+
+import androidx.annotation.DrawableRes
+import androidx.annotation.StringRes
+import com.isupatches.android.wisefy.sample.R
+
+internal sealed class WisefySampleBottomNavigationItem(
+ val route: String,
+ @DrawableRes val icon: Int,
+ @StringRes val stringResId: Int
+) {
+
+ object Add : WisefySampleBottomNavigationItem(
+ route = WisefySampleNavGraph.Main.Add.route,
+ icon = R.drawable.ic_add_circle,
+ stringResId = R.string.add
+ )
+
+ object Remove : WisefySampleBottomNavigationItem(
+ route = WisefySampleNavGraph.Main.Remove.route,
+ icon = R.drawable.ic_remove_circle,
+ stringResId = R.string.remove
+ )
+
+ object Home : WisefySampleBottomNavigationItem(
+ route = WisefySampleNavGraph.Main.Home.route,
+ icon = R.drawable.ic_home,
+ stringResId = R.string.home
+ )
+
+ object Misc : WisefySampleBottomNavigationItem(
+ route = WisefySampleNavGraph.Main.Misc.route,
+ icon = R.drawable.ic_apps,
+ stringResId = R.string.misc
+ )
+
+ object Search : WisefySampleBottomNavigationItem(
+ route = WisefySampleNavGraph.Main.Search.route,
+ icon = R.drawable.ic_search,
+ stringResId = R.string.search
+ )
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/components/navigation/WisefySampleNavGraph.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/components/navigation/WisefySampleNavGraph.kt
new file mode 100644
index 00000000..61219d9a
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/components/navigation/WisefySampleNavGraph.kt
@@ -0,0 +1,32 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.ui.components.navigation
+
+internal sealed class WisefySampleNavGraph(open val route: String) {
+
+ sealed class Main(override val route: String) : WisefySampleNavGraph(route) {
+ object Add : Main(route = "add")
+ object Remove : Main(route = "remove")
+ object Home : Main(route = "home")
+ object Misc : Main(route = "misc")
+ object Search : Main(route = "search")
+ }
+
+ sealed class Misc(override val route: String) : WisefySampleNavGraph(route) {
+ object Signal : Misc(route = "signal")
+ object NearbyAccessPoints : Misc(route = "nearbyAccessPoints")
+ }
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/components/navigation/WisefySampleNavHost.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/components/navigation/WisefySampleNavHost.kt
new file mode 100644
index 00000000..1390c433
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/components/navigation/WisefySampleNavHost.kt
@@ -0,0 +1,69 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.ui.components.navigation
+
+import androidx.compose.foundation.layout.PaddingValues
+import androidx.compose.foundation.layout.padding
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Modifier
+import androidx.navigation.NavHostController
+import androidx.navigation.compose.NavHost
+import androidx.navigation.compose.composable
+import com.isupatches.android.wisefy.WisefyApi
+import com.isupatches.android.wisefy.sample.features.add.AddNetworkScreen
+import com.isupatches.android.wisefy.sample.features.misc.MiscScreen
+import com.isupatches.android.wisefy.sample.features.misc.nearbyaccesspoints.NearbyAccessPointsScreen
+import com.isupatches.android.wisefy.sample.features.misc.signal.SignalScreen
+import com.isupatches.android.wisefy.sample.features.remove.RemoveNetworkScreen
+import com.isupatches.android.wisefy.sample.features.search.SearchScreen
+import com.isupatches.android.wisefy.sample.main.HomeScreen
+import com.isupatches.android.wisefy.sample.util.SdkUtil
+
+@Composable
+internal fun WisefySampleNavHost(
+ navController: NavHostController,
+ wisefy: WisefyApi,
+ sdkUtil: SdkUtil,
+ padding: PaddingValues
+) {
+ NavHost(
+ navController = navController,
+ startDestination = WisefySampleNavGraph.Main.Home.route,
+ modifier = Modifier.padding(paddingValues = padding)
+ ) {
+ composable(WisefySampleNavGraph.Main.Add.route) {
+ AddNetworkScreen(wisefy = wisefy, sdkUtil = sdkUtil)
+ }
+ composable(WisefySampleNavGraph.Main.Remove.route) {
+ RemoveNetworkScreen(wisefy = wisefy)
+ }
+ composable(WisefySampleNavGraph.Main.Home.route) {
+ HomeScreen()
+ }
+ composable(WisefySampleNavGraph.Main.Misc.route) {
+ MiscScreen(wisefy = wisefy, sdkUtil = sdkUtil, navController = navController)
+ }
+ composable(WisefySampleNavGraph.Main.Search.route) {
+ SearchScreen(wisefy = wisefy)
+ }
+ composable(WisefySampleNavGraph.Misc.Signal.route) {
+ SignalScreen(wisefy = wisefy, sdkUtil = sdkUtil)
+ }
+ composable(WisefySampleNavGraph.Misc.NearbyAccessPoints.route) {
+ NearbyAccessPointsScreen(wisefy = wisefy)
+ }
+ }
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/dialogs/BaseNoticeDialogFragment.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/dialogs/BaseNoticeDialogFragment.kt
deleted file mode 100644
index cb96adc4..00000000
--- a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/dialogs/BaseNoticeDialogFragment.kt
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.sample.ui.dialogs
-
-import android.os.Bundle
-import com.isupatches.android.wisefy.sample.internal.base.BaseDialogFragment
-
-internal const val EXTRA_DIALOG_TITLE = "dialog title"
-internal const val EXTRA_DIALOG_MESSAGE = "dialog message"
-
-internal abstract class BaseNoticeDialogFragment : BaseDialogFragment() {
-
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- isCancelable = false
- }
-}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/dialogs/FullScreenNoticeDialogFragment.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/dialogs/FullScreenNoticeDialogFragment.kt
deleted file mode 100644
index ef2160ec..00000000
--- a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/dialogs/FullScreenNoticeDialogFragment.kt
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.sample.ui.dialogs
-
-import android.app.Dialog
-import android.os.Bundle
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import com.isupatches.android.viewglu.paste
-import com.isupatches.android.wisefy.sample.databinding.DialogBaseFullscreenBinding
-import com.isupatches.android.wisefy.sample.internal.util.applyArguments
-
-internal class FullScreenNoticeDialogFragment : BaseNoticeDialogFragment() {
-
- private var binding: DialogBaseFullscreenBinding by paste()
-
- private val dialogTitle: String by lazy {
- arguments?.getString(EXTRA_DIALOG_TITLE) ?: ""
- }
-
- private val dialogMessage: String by lazy {
- arguments?.getString(EXTRA_DIALOG_MESSAGE) ?: ""
- }
-
- override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
- binding = DialogBaseFullscreenBinding.inflate(inflater, container, false)
- return binding.root
- }
-
- override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
- super.onViewCreated(view, savedInstanceState)
- binding.dialogTitleTxt.text = dialogTitle
- binding.dialogMessageTxt.text = dialogMessage
- binding.okBtn.setOnClickListener {
- dismiss()
- }
- }
-
- override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
- dialog?.window?.setLayout(
- ViewGroup.LayoutParams.MATCH_PARENT,
- ViewGroup.LayoutParams.MATCH_PARENT
- )
- return super.onCreateDialog(savedInstanceState)
- }
-
- companion object {
- val TAG: String = FullScreenNoticeDialogFragment::class.java.simpleName
-
- fun newInstance(title: String, message: String): FullScreenNoticeDialogFragment {
- return FullScreenNoticeDialogFragment().applyArguments {
- putString(EXTRA_DIALOG_TITLE, title)
- putString(EXTRA_DIALOG_MESSAGE, message)
- }
- }
- }
-}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/dialogs/NoticeDialogFragment.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/dialogs/NoticeDialogFragment.kt
deleted file mode 100644
index 79a30e0c..00000000
--- a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/dialogs/NoticeDialogFragment.kt
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.sample.ui.dialogs
-
-import android.os.Bundle
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import com.isupatches.android.viewglu.paste
-import com.isupatches.android.wisefy.sample.databinding.DialogBaseBinding
-import com.isupatches.android.wisefy.sample.internal.util.applyArguments
-
-internal class NoticeDialogFragment : BaseNoticeDialogFragment() {
-
- private var binding: DialogBaseBinding by paste()
-
- private val dialogTitle: String by lazy {
- arguments?.getString(EXTRA_DIALOG_TITLE) ?: ""
- }
-
- private val dialogMessage: String by lazy {
- arguments?.getString(EXTRA_DIALOG_MESSAGE) ?: ""
- }
-
- override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
- binding = DialogBaseBinding.inflate(inflater, container, false)
- return binding.root
- }
-
- override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
- super.onViewCreated(view, savedInstanceState)
- binding.dialogTitleTxt.text = dialogTitle
- binding.dialogMessageTxt.text = dialogMessage
- binding.okBtn.setOnClickListener {
- dismiss()
- }
- }
-
- companion object {
- val TAG: String = NoticeDialogFragment::class.java.simpleName
-
- fun newInstance(title: String, message: String): NoticeDialogFragment {
- return NoticeDialogFragment().applyArguments {
- putString(EXTRA_DIALOG_TITLE, title)
- putString(EXTRA_DIALOG_MESSAGE, message)
- }
- }
- }
-}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/main/MainActivity.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/main/MainActivity.kt
deleted file mode 100644
index 54c03544..00000000
--- a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/main/MainActivity.kt
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.sample.ui.main
-
-import android.content.Context
-import android.os.Bundle
-import androidx.navigation.fragment.NavHostFragment
-import androidx.navigation.ui.NavigationUI
-import com.isupatches.android.viewglu.paste
-import com.isupatches.android.wisefy.WisefyApi
-import com.isupatches.android.wisefy.sample.R
-import com.isupatches.android.wisefy.sample.databinding.ActivityMainBinding
-import com.isupatches.android.wisefy.sample.internal.base.BaseActivity
-import com.isupatches.android.wisefy.sample.internal.util.SdkUtil
-import com.isupatches.android.wisefy.sample.internal.util.SdkUtilImpl
-import com.isupatches.android.wisefy.sample.internal.util.createWiseFy
-import com.isupatches.android.wisefy.sample.ui.add.AddNetworkFragment
-import com.isupatches.android.wisefy.sample.ui.add.AddNetworkFragmentModule
-import com.isupatches.android.wisefy.sample.ui.add.AddNetworkScope
-import com.isupatches.android.wisefy.sample.ui.misc.MiscFragment
-import com.isupatches.android.wisefy.sample.ui.misc.MiscFragmentModule
-import com.isupatches.android.wisefy.sample.ui.misc.MiscScope
-import com.isupatches.android.wisefy.sample.ui.remove.RemoveNetworkFragment
-import com.isupatches.android.wisefy.sample.ui.remove.RemoveNetworkFragmentModule
-import com.isupatches.android.wisefy.sample.ui.remove.RemoveNetworkScope
-import com.isupatches.android.wisefy.sample.ui.search.SearchFragment
-import com.isupatches.android.wisefy.sample.ui.search.SearchFragmentModule
-import com.isupatches.android.wisefy.sample.ui.search.SearchScope
-import dagger.Binds
-import dagger.Module
-import dagger.Provides
-import dagger.android.ContributesAndroidInjector
-import javax.inject.Inject
-
-internal class MainActivity : BaseActivity() {
-
- override val binding: ActivityMainBinding by paste(ActivityMainBinding::inflate)
-
- @Inject lateinit var wisefy: WisefyApi
-
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- val navHostFragment = supportFragmentManager.findFragmentById(R.id.main_nav_host) as NavHostFragment
- val navController = navHostFragment.navController
- NavigationUI.setupWithNavController(binding.bottomNavigationView, navController)
-
- wisefy.attachNetworkWatcher()
- }
-
- override fun onDestroy() {
- wisefy.detachNetworkWatcher()
- super.onDestroy()
- }
-}
-
-@Suppress("unused")
-@Module internal interface MainActivityFragmentBindings {
-
- @AddNetworkScope
- @ContributesAndroidInjector(
- modules = [
- AddNetworkFragmentModule::class
- ]
- ) fun addNetworkFragment(): AddNetworkFragment
-
- @RemoveNetworkScope
- @ContributesAndroidInjector(
- modules = [
- RemoveNetworkFragmentModule::class
- ]
- ) fun removeNetworkFragment(): RemoveNetworkFragment
-
- @ContributesAndroidInjector
- fun mainFragment(): MainFragment
-
- @MiscScope
- @ContributesAndroidInjector(
- modules = [
- MiscFragmentModule::class
- ]
- ) fun miscFragment(): MiscFragment
-
- @SearchScope
- @ContributesAndroidInjector(
- modules = [
- SearchFragmentModule::class
- ]
- ) fun searchFragment(): SearchFragment
-}
-
-@Suppress("unused")
-@Module internal abstract class MainActivityModule {
-
- @Binds abstract fun bindSdkUtil(impl: SdkUtilImpl): SdkUtil
-
- companion object {
- @Provides
- fun provideWiseFy(app: Context) = createWiseFy(app)
- }
-}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/main/MainFragment.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/main/MainFragment.kt
deleted file mode 100644
index 55a4f39f..00000000
--- a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/main/MainFragment.kt
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.sample.ui.main
-
-import android.os.Bundle
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import androidx.fragment.app.Fragment
-import com.isupatches.android.viewglu.paste
-import com.isupatches.android.wisefy.sample.databinding.FragmentMainBinding
-
-internal class MainFragment : Fragment() {
-
- private var binding: FragmentMainBinding by paste()
-
- override fun onCreateView(
- inflater: LayoutInflater,
- container: ViewGroup?,
- savedInstanceState: Bundle?
- ): View {
- binding = FragmentMainBinding.inflate(inflater, container, false)
- return binding.root
- }
-}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/misc/MiscFragment.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/misc/MiscFragment.kt
deleted file mode 100644
index a3414bc5..00000000
--- a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/misc/MiscFragment.kt
+++ /dev/null
@@ -1,298 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.sample.ui.misc
-
-import android.Manifest.permission.ACCESS_FINE_LOCATION
-import android.content.pm.PackageManager
-import android.os.Bundle
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import androidx.annotation.VisibleForTesting
-import com.isupatches.android.viewglu.paste
-import com.isupatches.android.wisefy.accesspoints.entities.AccessPointData
-import com.isupatches.android.wisefy.frequency.entities.FrequencyData
-import com.isupatches.android.wisefy.networkinfo.entities.CurrentNetworkData
-import com.isupatches.android.wisefy.networkinfo.entities.CurrentNetworkInfoData
-import com.isupatches.android.wisefy.networkinfo.entities.IPData
-import com.isupatches.android.wisefy.sample.R
-import com.isupatches.android.wisefy.sample.databinding.FragmentMiscBinding
-import com.isupatches.android.wisefy.sample.internal.base.BaseFragment
-import com.isupatches.android.wisefy.sample.internal.logging.WisefySampleLogger
-import com.isupatches.android.wisefy.savednetworks.entities.SavedNetworkData
-import javax.inject.Inject
-
-@VisibleForTesting internal const val WISEFY_GET_FREQUENCY_REQUEST_CODE = 1
-@VisibleForTesting internal const val WISEFY_GET_IP_REQUEST_CODE = 2
-@VisibleForTesting internal const val WISEFY_GET_NEARBY_ACCESS_POINTS_REQUEST_CODE = 3
-@VisibleForTesting internal const val WISEFY_GET_SAVED_NETWORKS_REQUEST_CODE = 4
-
-private const val LOG_TAG = "MiscFragment"
-
-internal interface MiscView {
- fun displayAndroidQWifiMessage()
- fun displayWifiDisabled()
- fun displayFailureDisablingWifi()
- fun displayWifiEnabled()
- fun displayFailureEnablingWifi()
- fun displayCurrentNetwork(currentNetwork: CurrentNetworkData)
- fun displayNoCurrentNetwork()
- fun displayCurrentNetworkInfo(currentNetworkInfo: CurrentNetworkInfoData)
- fun displayNoCurrentNetworkInfo()
- fun displayFrequency(frequency: FrequencyData)
- fun displayFailureRetrievingFrequency()
- fun displayIP(ip: IPData)
- fun displayFailureRetrievingIP()
- fun displayNearbyAccessPoints(accessPoints: List)
- fun displayNoAccessPointsFound()
- fun displayNoSavedNetworksFound()
- fun displaySavedNetworks(savedNetworks: List)
-}
-
-@Suppress("LargeClass")
-internal class MiscFragment : BaseFragment(), MiscView {
-
- @MiscScope @Inject lateinit var presenter: MiscPresenter
-
- private var binding: FragmentMiscBinding by paste()
-
- override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
- binding = FragmentMiscBinding.inflate(inflater, container, false)
- return binding.root
- }
-
- override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
- super.onViewCreated(view, savedInstanceState)
-
- binding.disableWifiBtn.setOnClickListener {
- presenter.disableWifi()
- }
- binding.enableWifiBtn.setOnClickListener {
- presenter.enableWifi()
- }
- binding.getCurrentNetworkBtn.setOnClickListener {
- presenter.getCurrentNetwork()
- }
- binding.getCurrentNetworkInfoBtn.setOnClickListener {
- presenter.getCurrentNetworkInfo()
- }
- binding.getFrequencyBtn.setOnClickListener {
- getFrequency()
- }
- binding.getIPBtn.setOnClickListener {
- getIP()
- }
- binding.getNearbyAccessPointsBtn.setOnClickListener {
- getNearbyAccessPoints()
- }
- binding.getSavedNetworksBtn.setOnClickListener {
- getSavedNetworks()
- }
- }
-
- override fun onStart() {
- super.onStart()
- presenter.attachView(this)
- }
-
- override fun onStop() {
- presenter.detachView()
- super.onStop()
- }
-
- /*
- * Presenter overrides
- */
-
- override fun displayAndroidQWifiMessage() {
- displayInfo(R.string.android_q_wifi_message, R.string.android_q_notice)
- }
-
- override fun displayWifiDisabled() {
- displayInfo(R.string.wifi_disabled, R.string.wisefy_action_result)
- }
-
- override fun displayFailureDisablingWifi() {
- displayInfo(R.string.failure_disabling_wifi, R.string.wisefy_action_result)
- }
-
- override fun displayWifiEnabled() {
- displayInfo(R.string.wifi_enabled, R.string.wisefy_action_result)
- }
-
- override fun displayFailureEnablingWifi() {
- displayInfo(R.string.failure_enabling_wifi, R.string.wisefy_action_result)
- }
-
- override fun displayCurrentNetwork(currentNetwork: CurrentNetworkData) {
- displayInfoFullScreen(
- getString(R.string.current_network_args, currentNetwork),
- R.string.wisefy_action_result
- )
- }
-
- override fun displayNoCurrentNetwork() {
- displayInfo(R.string.no_current_network, R.string.wisefy_action_result)
- }
-
- override fun displayCurrentNetworkInfo(currentNetworkInfo: CurrentNetworkInfoData) {
- displayInfoFullScreen(
- getString(R.string.current_network_info_args, currentNetworkInfo),
- R.string.wisefy_action_result
- )
- }
-
- override fun displayNoCurrentNetworkInfo() {
- displayInfo(R.string.no_current_network_info, R.string.wisefy_action_result)
- }
-
- override fun displayFrequency(frequency: FrequencyData) {
- displayInfo(getString(R.string.frequency_args, frequency.value), R.string.wisefy_action_result)
- }
-
- override fun displayFailureRetrievingFrequency() {
- displayInfo(R.string.failure_retrieving_frequency, R.string.wisefy_action_result)
- }
-
- override fun displayIP(ip: IPData) {
- displayInfo(getString(R.string.ip_args, ip.ip), R.string.wisefy_action_result)
- }
-
- override fun displayFailureRetrievingIP() {
- displayInfo(R.string.failure_retrieving_ip, R.string.wisefy_action_result)
- }
-
- override fun displayNearbyAccessPoints(accessPoints: List) {
- displayInfoFullScreen(
- getString(R.string.access_points_args, accessPoints),
- R.string.wisefy_action_result
- )
- }
-
- override fun displayNoAccessPointsFound() {
- displayInfo(R.string.no_access_points_found, R.string.wisefy_action_result)
- }
-
- override fun displaySavedNetworks(savedNetworks: List) {
- displayInfoFullScreen(
- getString(R.string.saved_networks_args, savedNetworks),
- R.string.wisefy_action_result
- )
- }
-
- override fun displayNoSavedNetworksFound() {
- displayInfo(R.string.no_saved_networks_found, R.string.wisefy_action_result)
- }
-
- override fun displayWisefyAsyncError(throwable: Throwable) {
- displayWisefyAsyncErrorDialog(throwable)
- }
-
- /*
- * WiseFy helpers
- */
-
- @Throws(SecurityException::class)
- private fun getFrequency() {
- if (checkGetFrequencyPermissions()) {
- presenter.getFrequency()
- }
- }
-
- @Throws(SecurityException::class)
- private fun getIP() {
- if (checkGetIPPermissions()) {
- presenter.getIP()
- }
- }
-
- @Throws(SecurityException::class)
- private fun getNearbyAccessPoints() {
- if (checkGetNearbyAccessPointsPermissions()) {
- presenter.getNearbyAccessPoints()
- }
- }
-
- @Throws(SecurityException::class)
- private fun getSavedNetworks() {
- if (checkGetSavedNetworksPermissions()) {
- presenter.getSavedNetworks()
- }
- }
-
- /*
- * Permission helpers
- */
-
- private fun checkGetFrequencyPermissions(): Boolean {
- return isPermissionGranted(ACCESS_FINE_LOCATION, WISEFY_GET_FREQUENCY_REQUEST_CODE)
- }
-
- private fun checkGetIPPermissions(): Boolean {
- return isPermissionGranted(ACCESS_FINE_LOCATION, WISEFY_GET_IP_REQUEST_CODE)
- }
-
- private fun checkGetNearbyAccessPointsPermissions(): Boolean {
- return isPermissionGranted(ACCESS_FINE_LOCATION, WISEFY_GET_NEARBY_ACCESS_POINTS_REQUEST_CODE)
- }
-
- private fun checkGetSavedNetworksPermissions(): Boolean {
- return isPermissionGranted(ACCESS_FINE_LOCATION, WISEFY_GET_SAVED_NETWORKS_REQUEST_CODE)
- }
-
- override fun onRequestPermissionsResult(requestCode: Int, permissions: Array, grantResults: IntArray) {
- when (requestCode) {
- WISEFY_GET_FREQUENCY_REQUEST_CODE -> {
- if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
- getFrequency()
- } else {
- WisefySampleLogger.w(LOG_TAG, "Permissions for getting frequency are denied")
- displayPermissionErrorDialog(R.string.permission_error_get_frequency)
- }
- }
- WISEFY_GET_IP_REQUEST_CODE -> {
- if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
- getIP()
- } else {
- WisefySampleLogger.w(LOG_TAG, "Permissions for getting ip are denied")
- displayPermissionErrorDialog(R.string.permission_error_get_ip)
- }
- }
- WISEFY_GET_NEARBY_ACCESS_POINTS_REQUEST_CODE -> {
- if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
- getNearbyAccessPoints()
- } else {
- WisefySampleLogger.w(LOG_TAG, "Permissions for getting nearby access points are denied")
- displayPermissionErrorDialog(R.string.permission_error_get_nearby_access_points)
- }
- }
- WISEFY_GET_SAVED_NETWORKS_REQUEST_CODE -> {
- if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
- getSavedNetworks()
- } else {
- WisefySampleLogger.w(LOG_TAG, "Permissions for getting saved networks are denied")
- displayPermissionErrorDialog(R.string.permission_error_get_saved_networks)
- }
- }
- else -> {
- WisefySampleLogger.wtf(LOG_TAG, "Weird permission requested, not handled")
- displayPermissionErrorDialog(
- getString(R.string.permission_error_unhandled_request_code_args, requestCode)
- )
- }
- }
- }
-}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/misc/MiscModel.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/misc/MiscModel.kt
deleted file mode 100644
index 48b584b5..00000000
--- a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/misc/MiscModel.kt
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.sample.ui.misc
-
-import android.Manifest.permission.ACCESS_FINE_LOCATION
-import android.Manifest.permission.ACCESS_WIFI_STATE
-import android.os.Build
-import androidx.annotation.RequiresApi
-import androidx.annotation.RequiresPermission
-import com.isupatches.android.wisefy.WisefyApi
-import com.isupatches.android.wisefy.accesspoints.entities.GetNearbyAccessPointsRequest
-import com.isupatches.android.wisefy.callbacks.DisableWifiCallbacks
-import com.isupatches.android.wisefy.callbacks.EnableWifiCallbacks
-import com.isupatches.android.wisefy.callbacks.GetCurrentNetworkCallbacks
-import com.isupatches.android.wisefy.callbacks.GetCurrentNetworkInfoCallbacks
-import com.isupatches.android.wisefy.callbacks.GetFrequencyCallbacks
-import com.isupatches.android.wisefy.callbacks.GetIPCallbacks
-import com.isupatches.android.wisefy.callbacks.GetNearbyAccessPointCallbacks
-import com.isupatches.android.wisefy.callbacks.GetSavedNetworksCallbacks
-import com.isupatches.android.wisefy.sample.internal.scaffolding.BaseModel
-import javax.inject.Inject
-
-internal interface MiscModel {
-
- fun disableWifi(callbacks: DisableWifiCallbacks?)
-
- fun enableWifi(callbacks: EnableWifiCallbacks?)
-
- fun getCurrentNetwork(callbacks: GetCurrentNetworkCallbacks?)
-
- fun getCurrentNetworkInfo(callbacks: GetCurrentNetworkInfoCallbacks?)
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- @RequiresApi(Build.VERSION_CODES.LOLLIPOP)
- fun getFrequency(callbacks: GetFrequencyCallbacks?)
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- fun getIP(callbacks: GetIPCallbacks?)
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- fun getNearbyAccessPoints(callbacks: GetNearbyAccessPointCallbacks?)
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- fun getSavedNetworks(callbacks: GetSavedNetworksCallbacks?)
-}
-
-@MiscScope
-internal class DefaultMiscModel @Inject constructor(
- private val wiseFy: WisefyApi
-) : BaseModel(), MiscModel {
-
- override fun disableWifi(callbacks: DisableWifiCallbacks?) {
- wiseFy.disableWifi(callbacks)
- }
-
- override fun enableWifi(callbacks: EnableWifiCallbacks?) {
- wiseFy.enableWifi(callbacks)
- }
-
- override fun getCurrentNetwork(callbacks: GetCurrentNetworkCallbacks?) {
- wiseFy.getCurrentNetwork(callbacks)
- }
-
- override fun getCurrentNetworkInfo(callbacks: GetCurrentNetworkInfoCallbacks?) {
- wiseFy.getCurrentNetworkInfo(callbacks)
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- @RequiresApi(Build.VERSION_CODES.LOLLIPOP)
- override fun getFrequency(callbacks: GetFrequencyCallbacks?) {
- wiseFy.getFrequency(callbacks)
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun getIP(callbacks: GetIPCallbacks?) {
- wiseFy.getIP(callbacks)
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun getNearbyAccessPoints(callbacks: GetNearbyAccessPointCallbacks?) {
- return wiseFy.getNearbyAccessPoints(
- request = GetNearbyAccessPointsRequest.All(),
- callbacks = callbacks
- )
- }
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
- override fun getSavedNetworks(callbacks: GetSavedNetworksCallbacks?) {
- wiseFy.getSavedNetworks()
- }
-}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/misc/MiscModule.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/misc/MiscModule.kt
deleted file mode 100644
index 1d19bed2..00000000
--- a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/misc/MiscModule.kt
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.sample.ui.misc
-
-import dagger.Binds
-import dagger.Module
-import javax.inject.Scope
-
-@Scope
-@Retention(AnnotationRetention.RUNTIME)
-internal annotation class MiscScope
-
-@Suppress("unused")
-@Module
-internal interface MiscFragmentModule {
- @Binds @MiscScope fun bindMiscModel(impl: DefaultMiscModel): MiscModel
- @Binds @MiscScope fun bindMiscPresenter(impl: DefaultMiscPresenter): MiscPresenter
-}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/misc/MiscPresenter.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/misc/MiscPresenter.kt
deleted file mode 100644
index 2a15f277..00000000
--- a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/misc/MiscPresenter.kt
+++ /dev/null
@@ -1,276 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.sample.ui.misc
-
-import android.Manifest.permission.ACCESS_FINE_LOCATION
-import android.os.Build
-import androidx.annotation.RequiresApi
-import androidx.annotation.RequiresPermission
-import com.isupatches.android.wisefy.accesspoints.entities.AccessPointData
-import com.isupatches.android.wisefy.callbacks.DisableWifiCallbacks
-import com.isupatches.android.wisefy.callbacks.EnableWifiCallbacks
-import com.isupatches.android.wisefy.callbacks.GetCurrentNetworkCallbacks
-import com.isupatches.android.wisefy.callbacks.GetCurrentNetworkInfoCallbacks
-import com.isupatches.android.wisefy.callbacks.GetFrequencyCallbacks
-import com.isupatches.android.wisefy.callbacks.GetIPCallbacks
-import com.isupatches.android.wisefy.callbacks.GetNearbyAccessPointCallbacks
-import com.isupatches.android.wisefy.callbacks.GetSavedNetworksCallbacks
-import com.isupatches.android.wisefy.frequency.entities.FrequencyData
-import com.isupatches.android.wisefy.networkinfo.entities.CurrentNetworkData
-import com.isupatches.android.wisefy.networkinfo.entities.CurrentNetworkInfoData
-import com.isupatches.android.wisefy.networkinfo.entities.IPData
-import com.isupatches.android.wisefy.sample.internal.scaffolding.BasePresenter
-import com.isupatches.android.wisefy.sample.internal.scaffolding.Presenter
-import com.isupatches.android.wisefy.savednetworks.entities.SavedNetworkData
-import javax.inject.Inject
-
-internal interface MiscPresenter : Presenter {
-
- fun disableWifi()
-
- fun enableWifi()
-
- fun getCurrentNetwork()
-
- fun getCurrentNetworkInfo()
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- fun getFrequency()
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- fun getIP()
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- fun getNearbyAccessPoints()
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- fun getSavedNetworks()
-}
-
-@MiscScope
-internal class DefaultMiscPresenter @Inject constructor(
- private val model: MiscModel,
-) : BasePresenter(), MiscPresenter {
-
- /*
- * Model call-throughs
- */
-
- override fun disableWifi() {
- if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {
- model.disableWifi(
- callbacks = object : DisableWifiCallbacks {
- override fun onFailureDisablingWifi() {
- doSafelyWithView { view ->
- view.displayFailureDisablingWifi()
- }
- }
-
- override fun onWifiDisabled() {
- doSafelyWithView { view ->
- view.displayWifiDisabled()
- }
- }
-
- override fun onWisefyAsyncFailure(throwable: Throwable) {
- doSafelyWithView { view ->
- view.displayWisefyAsyncError(throwable)
- }
- }
- }
- )
- } else {
- doSafelyWithView { view -> view.displayAndroidQWifiMessage() }
- }
- }
-
- override fun enableWifi() {
- if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {
- model.enableWifi(
- callbacks = object : EnableWifiCallbacks {
- override fun onFailureEnablingWifi() {
- doSafelyWithView { view ->
- view.displayFailureEnablingWifi()
- }
- }
-
- override fun onWifiEnabled() {
- doSafelyWithView { view ->
- view.displayWifiEnabled()
- }
- }
-
- override fun onWisefyAsyncFailure(throwable: Throwable) {
- doSafelyWithView { view ->
- view.displayWisefyAsyncError(throwable)
- }
- }
- }
- )
- } else {
- doSafelyWithView { view -> view.displayAndroidQWifiMessage() }
- }
- }
-
- override fun getCurrentNetwork() {
- model.getCurrentNetwork(
- callbacks = object : GetCurrentNetworkCallbacks {
- override fun onNoCurrentNetwork() {
- doSafelyWithView { view ->
- view.displayNoCurrentNetwork()
- }
- }
-
- override fun onCurrentNetworkRetrieved(currentNetwork: CurrentNetworkData) {
- doSafelyWithView { view ->
- view.displayCurrentNetwork(currentNetwork)
- }
- }
-
- override fun onWisefyAsyncFailure(throwable: Throwable) {
- doSafelyWithView { view ->
- view.displayWisefyAsyncError(throwable)
- }
- }
- }
- )
- }
-
- override fun getCurrentNetworkInfo() {
- model.getCurrentNetworkInfo(
- callbacks = object : GetCurrentNetworkInfoCallbacks {
- override fun onNoCurrentNetworkInfo() {
- doSafelyWithView { view ->
- view.displayNoCurrentNetworkInfo()
- }
- }
-
- override fun onCurrentNetworkInfoRetrieved(currentNetworkInfo: CurrentNetworkInfoData) {
- doSafelyWithView { view ->
- view.displayCurrentNetworkInfo(currentNetworkInfo)
- }
- }
-
- override fun onWisefyAsyncFailure(throwable: Throwable) {
- doSafelyWithView { view ->
- view.displayWisefyAsyncError(throwable)
- }
- }
- }
- )
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- @RequiresApi(Build.VERSION_CODES.LOLLIPOP)
- override fun getFrequency() {
- model.getFrequency(
- callbacks = object : GetFrequencyCallbacks {
- override fun onFailureRetrievingFrequency() {
- doSafelyWithView { view ->
- view.displayFailureRetrievingFrequency()
- }
- }
-
- override fun onFrequencyRetrieved(frequency: FrequencyData) {
- doSafelyWithView { view ->
- view.displayFrequency(frequency)
- }
- }
-
- override fun onWisefyAsyncFailure(throwable: Throwable) {
- doSafelyWithView { view ->
- view.displayWisefyAsyncError(throwable)
- }
- }
- }
- )
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun getIP() {
- model.getIP(
- callbacks = object : GetIPCallbacks {
- override fun onFailureRetrievingIP() {
- doSafelyWithView { view ->
- view.displayFailureRetrievingIP()
- }
- }
-
- override fun onIPRetrieved(ip: IPData) {
- doSafelyWithView { view ->
- view.displayIP(ip)
- }
- }
-
- override fun onWisefyAsyncFailure(throwable: Throwable) {
- doSafelyWithView { view ->
- view.displayWisefyAsyncError(throwable)
- }
- }
- }
- )
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun getNearbyAccessPoints() {
- model.getNearbyAccessPoints(
- callbacks = object : GetNearbyAccessPointCallbacks {
- override fun onNearbyAccessPointsRetrieved(accessPoints: List) {
- doSafelyWithView { view ->
- view.displayNearbyAccessPoints(accessPoints)
- }
- }
-
- override fun onNoNearbyAccessPoints() {
- doSafelyWithView { view ->
- view.displayNoAccessPointsFound()
- }
- }
-
- override fun onWisefyAsyncFailure(throwable: Throwable) {
- doSafelyWithView { view ->
- view.displayWisefyAsyncError(throwable)
- }
- }
- }
- )
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun getSavedNetworks() {
- model.getSavedNetworks(
- callbacks = object : GetSavedNetworksCallbacks {
- override fun onNoSavedNetworksFound() {
- doSafelyWithView { view ->
- view.displayNoSavedNetworksFound()
- }
- }
-
- override fun onSavedNetworksRetrieved(savedNetworks: List) {
- doSafelyWithView { view ->
- view.displaySavedNetworks(savedNetworks)
- }
- }
-
- override fun onWisefyAsyncFailure(throwable: Throwable) {
- doSafelyWithView { view ->
- view.displayWisefyAsyncError(throwable)
- }
- }
- }
- )
- }
-}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/primitives/WisefySampleColorPalette.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/primitives/WisefySampleColorPalette.kt
new file mode 100644
index 00000000..582c2455
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/primitives/WisefySampleColorPalette.kt
@@ -0,0 +1,166 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.ui.primitives
+
+import androidx.compose.foundation.interaction.InteractionSource
+import androidx.compose.foundation.isSystemInDarkTheme
+import androidx.compose.material.ButtonColors
+import androidx.compose.material.MaterialTheme
+import androidx.compose.material.SliderColors
+import androidx.compose.material.TextFieldColors
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.State
+import androidx.compose.ui.graphics.Color
+
+internal object WisefySampleColorPalette {
+ val Primary = Color(red = 0, green = 188, blue = 212, alpha = 255)
+ val PrimaryDark = Color(red = 0, green = 139, blue = 163, alpha = 255)
+ val Secondary = Color(red = 255, green = 64, blue = 129, alpha = 255)
+ val SecondaryLight = Color(red = 255, green = 100, blue = 152, alpha = 255)
+ val Gray1 = Color(red = 250, green = 250, blue = 250, alpha = 255)
+ val Gray2 = Color(red = 245, green = 245, blue = 245, alpha = 255)
+ val Gray3 = Color(red = 238, green = 238, blue = 238, alpha = 255)
+ val Gray4 = Color(red = 224, green = 224, blue = 224, alpha = 255)
+ val Gray5 = Color(red = 189, green = 189, blue = 189, alpha = 255)
+ val Gray6 = Color(red = 158, green = 158, blue = 158, alpha = 255)
+ val Gray7 = Color(red = 117, green = 117, blue = 117, alpha = 255)
+ val Gray8 = Color(red = 97, green = 97, blue = 97, alpha = 255)
+ val Gray9 = Color(red = 66, green = 66, blue = 66, alpha = 255)
+ val Gray10 = Color(red = 33, green = 33, blue = 33, alpha = 255)
+ val Error = Color(red = 176, green = 0, blue = 32, alpha = 255)
+ val ErrorDarkMode = Color(red = 207, green = 102, blue = 121, alpha = 255)
+ val Success = Color(red = 102, green = 187, blue = 106, alpha = 255)
+}
+
+internal class WisefySamplePrimaryButtonColors : ButtonColors {
+
+ @Composable
+ override fun backgroundColor(enabled: Boolean): State {
+ return object : State {
+ override val value: Color = MaterialTheme.colors.primary
+ }
+ }
+
+ @Composable
+ override fun contentColor(enabled: Boolean): State {
+ return object : State {
+ override val value: Color = MaterialTheme.colors.onPrimary
+ }
+ }
+}
+
+internal class WisefySampleTextFieldColors : TextFieldColors {
+
+ @Composable
+ override fun backgroundColor(enabled: Boolean): State {
+ return object : State {
+ override val value: Color = MaterialTheme.colors.surface
+ }
+ }
+
+ @Composable
+ override fun cursorColor(isError: Boolean): State {
+ return object : State {
+ override val value: Color = if (isError) {
+ MaterialTheme.colors.error
+ } else {
+ MaterialTheme.colors.primary
+ }
+ }
+ }
+
+ @Composable
+ override fun indicatorColor(
+ enabled: Boolean,
+ isError: Boolean,
+ interactionSource: InteractionSource
+ ): State {
+ return object : State {
+ override val value: Color = if (isError) {
+ MaterialTheme.colors.error
+ } else {
+ MaterialTheme.colors.primary
+ }
+ }
+ }
+
+ @Composable
+ override fun labelColor(enabled: Boolean, error: Boolean, interactionSource: InteractionSource): State {
+ return object : State {
+ override val value: Color = MaterialTheme.colors.background
+ }
+ }
+
+ @Composable
+ override fun leadingIconColor(enabled: Boolean, isError: Boolean): State {
+ return object : State {
+ override val value: Color = MaterialTheme.colors.primary
+ }
+ }
+
+ @Composable
+ override fun placeholderColor(enabled: Boolean): State {
+ return object : State {
+ override val value: Color = if (isSystemInDarkTheme()) {
+ WisefySampleColorPalette.Gray7
+ } else {
+ WisefySampleColorPalette.Gray5
+ }
+ }
+ }
+
+ @Composable
+ override fun textColor(enabled: Boolean): State {
+ return object : State {
+ override val value: Color = MaterialTheme.colors.onSurface
+ }
+ }
+
+ @Composable
+ override fun trailingIconColor(enabled: Boolean, isError: Boolean): State {
+ return object : State {
+ override val value: Color = MaterialTheme.colors.primary
+ }
+ }
+}
+
+internal class WisefySliderColors : SliderColors {
+
+ @Composable
+ override fun thumbColor(enabled: Boolean): State {
+ return object : State {
+ override val value: Color = MaterialTheme.colors.primary
+ }
+ }
+
+ @Composable
+ override fun tickColor(enabled: Boolean, active: Boolean): State {
+ return object : State {
+ override val value: Color = MaterialTheme.colors.primaryVariant
+ }
+ }
+
+ @Composable
+ override fun trackColor(enabled: Boolean, active: Boolean): State {
+ return object : State {
+ override val value: Color = if (active) {
+ MaterialTheme.colors.primary
+ } else {
+ WisefySampleColorPalette.Gray4
+ }
+ }
+ }
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/primitives/WisefySampleCornerRadii.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/primitives/WisefySampleCornerRadii.kt
new file mode 100644
index 00000000..9fb8fc8c
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/primitives/WisefySampleCornerRadii.kt
@@ -0,0 +1,22 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.ui.primitives
+
+import androidx.compose.ui.unit.dp
+
+internal object WisefySampleCornerRadii {
+ val Default = 16.dp
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/primitives/WisefySampleSizes.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/primitives/WisefySampleSizes.kt
new file mode 100644
index 00000000..a404203e
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/primitives/WisefySampleSizes.kt
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.ui.primitives
+
+import androidx.compose.ui.unit.dp
+
+internal object WisefySampleSizes {
+ val Small = 4.dp
+ val Medium = 8.dp
+ val Large = 16.dp
+ val XLarge = 24.dp
+ val XXLarge = 32.dp
+ val XXXLarge = 48.dp
+
+ private val BottomNavigationHeight = 56.dp
+
+ val WisefySampleTopMargin = XLarge
+ val WisefySampleBottomMargin = BottomNavigationHeight + Large
+ val WisefySampleHorizontalMargins = Large
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/primitives/WisefySampleTypography.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/primitives/WisefySampleTypography.kt
new file mode 100644
index 00000000..31f63667
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/primitives/WisefySampleTypography.kt
@@ -0,0 +1,102 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.ui.primitives
+
+import androidx.compose.material.Typography
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.font.Font
+import androidx.compose.ui.text.font.FontFamily
+import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.unit.sp
+import com.isupatches.android.wisefy.sample.R
+
+private val WisefySampleFontFamily = FontFamily(
+ Font(R.font.rubik_regular),
+ Font(R.font.rubik_medium, FontWeight.W500),
+ Font(R.font.rubik_bold, FontWeight.Bold)
+)
+
+private const val H1_LETTER_SPACING = -1.5
+private const val H2_LETTER_SPACING = -0.5
+
+internal val WisefySampleTypography = Typography(
+ h1 = TextStyle(
+ fontWeight = FontWeight.Light,
+ fontSize = 96.sp,
+ letterSpacing = H1_LETTER_SPACING.sp
+ ),
+ h2 = TextStyle(
+ fontWeight = FontWeight.Light,
+ fontSize = 60.sp,
+ letterSpacing = H2_LETTER_SPACING.sp
+ ),
+ h3 = TextStyle(
+ fontWeight = FontWeight.Normal,
+ fontSize = 48.sp,
+ letterSpacing = 0.sp
+ ),
+ h4 = TextStyle(
+ fontWeight = FontWeight.Normal,
+ fontSize = 34.sp,
+ letterSpacing = 0.25.sp
+ ),
+ h5 = TextStyle(
+ fontWeight = FontWeight.Normal,
+ fontSize = 24.sp,
+ letterSpacing = 0.sp
+ ),
+ h6 = TextStyle(
+ fontWeight = FontWeight.Medium,
+ fontSize = 20.sp,
+ letterSpacing = 0.15.sp
+ ),
+ subtitle1 = TextStyle(
+ fontWeight = FontWeight.Normal,
+ fontSize = 16.sp,
+ letterSpacing = 0.15.sp
+ ),
+ subtitle2 = TextStyle(
+ fontWeight = FontWeight.Medium,
+ fontSize = 14.sp,
+ letterSpacing = 0.1.sp
+ ),
+ body1 = TextStyle(
+ fontWeight = FontWeight.Normal,
+ fontSize = 16.sp,
+ letterSpacing = 0.5.sp
+ ),
+ body2 = TextStyle(
+ fontWeight = FontWeight.Normal,
+ fontSize = 14.sp,
+ letterSpacing = 0.25.sp
+ ),
+ button = TextStyle(
+ fontWeight = FontWeight.Medium,
+ fontSize = 14.sp,
+ letterSpacing = 1.25.sp
+ ),
+ caption = TextStyle(
+ fontWeight = FontWeight.Normal,
+ fontSize = 12.sp,
+ letterSpacing = 0.4.sp
+ ),
+ overline = TextStyle(
+ fontWeight = FontWeight.Normal,
+ fontSize = 10.sp,
+ letterSpacing = 1.5.sp
+ ),
+ defaultFontFamily = WisefySampleFontFamily
+)
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/remove/RemoveNetworkFragment.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/remove/RemoveNetworkFragment.kt
deleted file mode 100644
index 9790f27b..00000000
--- a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/remove/RemoveNetworkFragment.kt
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.sample.ui.remove
-
-import android.Manifest.permission.ACCESS_FINE_LOCATION
-import android.Manifest.permission.CHANGE_WIFI_STATE
-import android.content.pm.PackageManager
-import android.os.Bundle
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import androidx.annotation.VisibleForTesting
-import com.isupatches.android.viewglu.paste
-import com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkResult
-import com.isupatches.android.wisefy.sample.R
-import com.isupatches.android.wisefy.sample.databinding.FragmentRemoveNetworkBinding
-import com.isupatches.android.wisefy.sample.internal.base.BaseFragment
-import com.isupatches.android.wisefy.sample.internal.logging.WisefySampleLogger
-import com.isupatches.android.wisefy.sample.internal.util.getTrimmedInput
-import com.isupatches.android.wisefy.sample.internal.util.hideKeyboardFrom
-import javax.inject.Inject
-
-@VisibleForTesting internal const val WISEFY_REMOVE_NETWORK_REQUEST_CODE = 1
-
-private const val LOG_TAG = "RemoveNetworkFragment"
-
-internal interface RemoveNetworkView {
- fun displayFailureRemovingNetwork(result: RemoveNetworkResult)
- fun displayNetworkNotFountToRemove()
- fun displayNetworkRemoved(result: RemoveNetworkResult)
-}
-
-internal class RemoveNetworkFragment : BaseFragment(), RemoveNetworkView {
-
- @RemoveNetworkScope @Inject lateinit var presenter: RemoveNetworkPresenter
- @RemoveNetworkScope @Inject lateinit var removeNetworkStore: RemoveNetworkStore
-
- private var binding: FragmentRemoveNetworkBinding by paste()
-
- override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
- binding = FragmentRemoveNetworkBinding.inflate(inflater, container, false)
- return binding.root
- }
-
- override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
- super.onViewCreated(view, savedInstanceState)
-
- if (savedInstanceState == null) {
- restoreUI()
- }
-
- binding.removeNetworkBtn.setOnClickListener {
- hideKeyboardFrom(binding.removeNetworkBtn)
- removeNetwork()
- }
- }
-
- override fun onStart() {
- super.onStart()
- presenter.attachView(this)
- }
-
- override fun onStop() {
- presenter.detachView()
- super.onStop()
- removeNetworkStore.setLastUsedRegex(binding.networkNameEdt.getTrimmedInput())
- hideKeyboardFrom(binding.removeNetworkBtn)
- }
-
- /*
- * View helpers
- */
-
- private fun restoreUI() {
- // Restore edit text value
- binding.networkNameEdt.setText(removeNetworkStore.getLastUsedRegex())
- }
-
- /*
- * Presenter callback overrides
- */
-
- override fun displayNetworkRemoved(result: RemoveNetworkResult) {
- displayInfo(getString(R.string.succeeded_removing_network_args, result), R.string.remove_network_result)
- }
-
- override fun displayNetworkNotFountToRemove() {
- displayInfo(getString(R.string.network_not_fount_to_remove), R.string.remove_network_result)
- }
-
- override fun displayFailureRemovingNetwork(result: RemoveNetworkResult) {
- displayInfo(getString(R.string.failed_removing_network_args, result), R.string.remove_network_result)
- }
-
- override fun displayWisefyAsyncError(throwable: Throwable) {
- displayWisefyAsyncErrorDialog(throwable)
- }
-
- /*
- * WiseFy helpers
- */
-
- @Throws(SecurityException::class)
- private fun removeNetwork() {
- if (checkRemoveNetworkPermissions()) {
- presenter.removeNetwork(binding.networkNameEdt.getTrimmedInput())
- }
- }
-
- /*
- * Permission helpers
- */
-
- private fun checkRemoveNetworkPermissions(): Boolean {
- return isPermissionGranted(ACCESS_FINE_LOCATION, WISEFY_REMOVE_NETWORK_REQUEST_CODE) &&
- isPermissionGranted(CHANGE_WIFI_STATE, WISEFY_REMOVE_NETWORK_REQUEST_CODE)
- }
-
- override fun onRequestPermissionsResult(requestCode: Int, permissions: Array, grantResults: IntArray) {
- when (requestCode) {
- WISEFY_REMOVE_NETWORK_REQUEST_CODE -> {
- if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
- removeNetwork()
- } else {
- WisefySampleLogger.w(LOG_TAG, "Permissions for remove saved network are denied")
- displayPermissionErrorDialog(R.string.permission_error_remove_network)
- }
- }
- else -> {
- WisefySampleLogger.wtf(LOG_TAG, "Weird permission requested, not handled")
- displayPermissionErrorDialog(
- getString(R.string.permission_error_unhandled_request_code_args, requestCode)
- )
- }
- }
- }
-}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/remove/RemoveNetworkModel.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/remove/RemoveNetworkModel.kt
deleted file mode 100644
index c57bb9ef..00000000
--- a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/remove/RemoveNetworkModel.kt
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.sample.ui.remove
-
-import android.Manifest.permission.ACCESS_FINE_LOCATION
-import android.Manifest.permission.CHANGE_WIFI_STATE
-import androidx.annotation.RequiresPermission
-import com.isupatches.android.wisefy.WisefyApi
-import com.isupatches.android.wisefy.callbacks.RemoveNetworkCallbacks
-import com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkRequest
-import com.isupatches.android.wisefy.sample.internal.scaffolding.BaseModel
-import javax.inject.Inject
-
-internal interface RemoveNetworkModel {
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- fun removeNetwork(
- networkName: String,
- callbacks: RemoveNetworkCallbacks?
- )
-}
-
-@RemoveNetworkScope
-internal class DefaultRemoveNetworkModel @Inject constructor(
- private val wiseFy: WisefyApi
-) : BaseModel(), RemoveNetworkModel {
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- override fun removeNetwork(networkName: String, callbacks: RemoveNetworkCallbacks?) {
- wiseFy.removeNetwork(RemoveNetworkRequest.SSID(networkName))
- }
-}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/remove/RemoveNetworkModule.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/remove/RemoveNetworkModule.kt
deleted file mode 100644
index aaf4e6fc..00000000
--- a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/remove/RemoveNetworkModule.kt
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.sample.ui.remove
-
-import dagger.Binds
-import dagger.Module
-import javax.inject.Scope
-
-@Scope
-@Retention(AnnotationRetention.RUNTIME)
-internal annotation class RemoveNetworkScope
-
-@Suppress("unused")
-@Module
-internal interface RemoveNetworkFragmentModule {
-
- @Binds
- @RemoveNetworkScope
- fun bindRemoveNetworkModel(impl: DefaultRemoveNetworkModel): RemoveNetworkModel
-
- @Binds
- @RemoveNetworkScope
- fun bindRemoveNetworkPresenter(impl: DefaultRemoveNetworkPresenter): RemoveNetworkPresenter
-
- @Binds
- @RemoveNetworkScope
- fun bindRemoveNetworkStore(impl: SharedPreferencesRemoveNetworkStore): RemoveNetworkStore
-}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/remove/RemoveNetworkPresenter.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/remove/RemoveNetworkPresenter.kt
deleted file mode 100644
index 28593ed2..00000000
--- a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/remove/RemoveNetworkPresenter.kt
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.sample.ui.remove
-
-import android.Manifest.permission.ACCESS_FINE_LOCATION
-import android.Manifest.permission.CHANGE_WIFI_STATE
-import androidx.annotation.RequiresPermission
-import com.isupatches.android.wisefy.callbacks.RemoveNetworkCallbacks
-import com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkResult
-import com.isupatches.android.wisefy.sample.internal.scaffolding.BasePresenter
-import com.isupatches.android.wisefy.sample.internal.scaffolding.Presenter
-import javax.inject.Inject
-
-internal interface RemoveNetworkPresenter : Presenter {
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- fun removeNetwork(networkName: String)
-}
-
-@RemoveNetworkScope
-internal class DefaultRemoveNetworkPresenter @Inject constructor(
- private val model: RemoveNetworkModel,
-) : BasePresenter(), RemoveNetworkPresenter {
-
- /*
- * Model call-throughs
- */
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- override fun removeNetwork(networkName: String) {
- model.removeNetwork(
- networkName = networkName,
- callbacks = object : RemoveNetworkCallbacks {
- override fun onFailureRemovingNetwork(result: RemoveNetworkResult) {
- doSafelyWithView { view ->
- view.displayFailureRemovingNetwork(result)
- }
- }
-
- override fun onNetworkNotFoundToRemove() {
- doSafelyWithView { view ->
- view.displayNetworkNotFountToRemove()
- }
- }
-
- override fun onNetworkRemoved(result: RemoveNetworkResult) {
- doSafelyWithView { view ->
- view.displayNetworkRemoved(result)
- }
- }
-
- override fun onWisefyAsyncFailure(throwable: Throwable) {
- doSafelyWithView { view ->
- view.displayWisefyAsyncError(throwable)
- }
- }
- }
- )
- }
-}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/remove/RemoveNetworkStore.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/remove/RemoveNetworkStore.kt
deleted file mode 100644
index 32bf3ae5..00000000
--- a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/remove/RemoveNetworkStore.kt
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.sample.ui.remove
-
-import android.content.Context
-import androidx.core.content.edit
-import com.isupatches.android.wisefy.sample.R
-import com.isupatches.android.wisefy.sample.internal.scaffolding.BaseSharedPreferenceStore
-import javax.inject.Inject
-
-internal interface RemoveNetworkStore {
- fun clear()
-
- fun getLastUsedRegex(): String
-
- fun setLastUsedRegex(lastUsedRegex: String)
-}
-
-@RemoveNetworkScope
-internal class SharedPreferencesRemoveNetworkStore @Inject constructor(
- context: Context
-) : BaseSharedPreferenceStore(), RemoveNetworkStore {
-
- private val sharedPreferences = getSharedPreferences(
- context,
- R.string.preferences_remove_network_data
- )
-
- override fun clear() {
- sharedPreferences.edit { clear() }
- }
-
- /*
- * Last used Regex
- */
-
- override fun getLastUsedRegex() = sharedPreferences.getLastUsedRegex()
-
- override fun setLastUsedRegex(lastUsedRegex: String) {
- sharedPreferences.setLastUsedRegex(lastUsedRegex)
- }
-}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/search/SearchFragment.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/search/SearchFragment.kt
deleted file mode 100644
index 5286e367..00000000
--- a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/search/SearchFragment.kt
+++ /dev/null
@@ -1,465 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.sample.ui.search
-
-import android.Manifest.permission.ACCESS_FINE_LOCATION
-import android.Manifest.permission.ACCESS_WIFI_STATE
-import android.content.pm.PackageManager
-import android.os.Bundle
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import android.widget.SeekBar
-import androidx.annotation.VisibleForTesting
-import com.isupatches.android.viewglu.paste
-import com.isupatches.android.wisefy.accesspoints.entities.AccessPointData
-import com.isupatches.android.wisefy.accesspoints.entities.SSIDData
-import com.isupatches.android.wisefy.sample.R
-import com.isupatches.android.wisefy.sample.databinding.FragmentSearchBinding
-import com.isupatches.android.wisefy.sample.internal.base.BaseFragment
-import com.isupatches.android.wisefy.sample.internal.entities.SearchType
-import com.isupatches.android.wisefy.sample.internal.logging.WisefySampleLogger
-import com.isupatches.android.wisefy.sample.internal.util.asHtmlSpanned
-import com.isupatches.android.wisefy.sample.internal.util.getTrimmedInput
-import com.isupatches.android.wisefy.sample.internal.util.hideKeyboardFrom
-import com.isupatches.android.wisefy.savednetworks.entities.SavedNetworkData
-import javax.inject.Inject
-import kotlin.math.max
-
-@VisibleForTesting internal const val WISEFY_SEARCH_FOR_SAVED_NETWORK_REQUEST_CODE = 1
-@VisibleForTesting internal const val WISEFY_SEARCH_FOR_SAVED_NETWORKS_REQUEST_CODE = 2
-@VisibleForTesting internal const val WISEFY_SEARCH_FOR_ACCESS_POINT_REQUEST_CODE = 3
-@VisibleForTesting internal const val WISEFY_SEARCH_FOR_ACCESS_POINTS_REQUEST_CODE = 4
-@VisibleForTesting internal const val WISEFY_SEARCH_FOR_SSID_REQUEST_CODE = 5
-@VisibleForTesting internal const val WISEFY_SEARCH_FOR_SSIDS_REQUEST_CODE = 6
-
-private const val TIMEOUT_MIN = 1
-private const val TIMEOUT_MAX = 60
-
-private const val SEEK_MILLI_OFFSET = 1000
-
-private const val LOG_TAG = "SearchFragment"
-
-internal interface SearchView {
- fun displaySavedNetwork(savedNetwork: SavedNetworkData?)
- fun displaySavedNetworkNotFound()
- fun displaySavedNetworks(savedNetworks: List)
- fun displayNoSavedNetworksFound()
- fun displayAccessPoint(accessPoint: AccessPointData?)
- fun displayAccessPointNotFound()
- fun displayAccessPoints(accessPoints: List)
- fun displayNoAccessPointsFound()
- fun displaySSID(ssid: SSIDData?)
- fun displaySSIDNotFound()
- fun displaySSIDs(ssids: List)
- fun displayNoSSIDsFound()
-}
-
-@Suppress("LargeClass")
-internal class SearchFragment : BaseFragment(), SearchView {
-
- @SearchScope @Inject lateinit var presenter: SearchPresenter
- @SearchScope @Inject lateinit var searchStore: SearchStore
-
- private var binding: FragmentSearchBinding by paste()
-
- override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
- binding = FragmentSearchBinding.inflate(inflater, container, false)
- return binding.root
- }
-
- override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
- super.onViewCreated(view, savedInstanceState)
-
- if (savedInstanceState == null) {
- restoreUI()
- }
-
- binding.searchTypeRdg.setOnCheckedChangeListener { _, checkedId ->
- when (checkedId) {
- R.id.accessPointRdb -> searchStore.setSearchType(SearchType.ACCESS_POINT)
- R.id.ssidRdb -> searchStore.setSearchType(SearchType.SSID)
- R.id.savedNetworkRdb -> searchStore.setSearchType(SearchType.SAVED_NETWORK)
- }
- updateUI()
- }
- binding.filterDupesRdg.setOnCheckedChangeListener { _, checkedId ->
- when (checkedId) {
- R.id.yesFilterDupesRdb -> searchStore.setFilterDuplicates(true)
- else -> searchStore.setFilterDuplicates(false)
- }
- }
- binding.returnFullListRdg.setOnCheckedChangeListener { _, checkedId ->
- when (checkedId) {
- R.id.yesFullListRdb -> searchStore.setReturnFullList(true)
- else -> searchStore.setReturnFullList(false)
- }
- updateUI()
- }
- binding.searchBtn.setOnClickListener { search() }
-
- with(binding.timeoutSeek) {
- max = TIMEOUT_MAX
- setOnSeekBarChangeListener(object : SeekBar.OnSeekBarChangeListener {
- override fun onProgressChanged(seekBar: SeekBar?, progress: Int, fromUser: Boolean) {
- val timeout = max(TIMEOUT_MIN, progress)
- searchStore.setTimeout(timeout)
- @Suppress("SyntheticAccessor")
- binding.timeoutTxt.text = getString(
- R.string.timeout_after_x_seconds_args_html,
- timeout
- ).asHtmlSpanned()
- }
-
- override fun onStartTrackingTouch(seekBar: SeekBar?) {
- // No-op
- }
-
- override fun onStopTrackingTouch(seekBar: SeekBar?) {
- // No-op
- }
- })
- }
- }
-
- override fun onStart() {
- super.onStart()
- presenter.attachView(this)
- }
-
- override fun onStop() {
- presenter.detachView()
- super.onStop()
- searchStore.setLastUsedRegex(binding.searchRegexEdt.getTrimmedInput())
- hideKeyboardFrom(binding.searchBtn)
- }
-
- /*
- * View helpers
- */
-
- private fun adjustFilterDupesVisibility(visibility: Int) {
- binding.filterDupesTxt.visibility = visibility
- binding.filterDupesRdg.visibility = visibility
- }
-
- private fun adjustTimeoutVisibility(visibility: Int) {
- binding.timeoutSeek.visibility = visibility
- binding.timeoutTxt.visibility = visibility
- }
-
- private fun getFilterDuplicates(): Boolean {
- return binding.filterDupesRdg.checkedRadioButtonId == R.id.yesFilterDupesRdb
- }
-
- private fun getSelectedTimeout(): Int = binding.timeoutSeek.progress * SEEK_MILLI_OFFSET
-
- private fun restoreUI() {
- // Restore edit text value
- binding.searchRegexEdt.setText(searchStore.getLastUsedRegex())
-
- // Restore checked state
- val checkedId = when (searchStore.getSearchType()) {
- SearchType.ACCESS_POINT -> {
- showAccessPointUI()
- R.id.accessPointRdb
- }
- SearchType.SSID -> {
- showSSIDUI()
- R.id.ssidRdb
- }
- SearchType.SAVED_NETWORK -> {
- showSavedNetworkUI()
- R.id.savedNetworkRdb
- }
- }
- binding.searchTypeRdg.check(checkedId)
-
- // Restore return full list
- val fullListCheckedId = if (searchStore.shouldReturnFullList()) {
- R.id.yesFullListRdb
- } else {
- R.id.noFullListRdb
- }
- binding.returnFullListRdg.check(fullListCheckedId)
-
- // Restore filter duplicates
- val filterDupesCheckedId = if (searchStore.shouldFilterDuplicates()) {
- R.id.yesFilterDupesRdb
- } else {
- R.id.noFilterDupesRdb
- }
- binding.filterDupesRdg.check(filterDupesCheckedId)
-
- // Restore timeout
- val timeout = searchStore.getTimeout()
- binding.timeoutSeek.progress = timeout
- binding.timeoutTxt.text = getString(R.string.timeout_after_x_seconds_args_html, timeout).asHtmlSpanned()
- when (searchStore.getSearchType()) {
- SearchType.SAVED_NETWORK -> adjustTimeoutVisibility(View.INVISIBLE)
- else -> toggleSeekVisibility()
- }
- }
-
- private fun search() {
- when (binding.searchTypeRdg.checkedRadioButtonId) {
- R.id.accessPointRdb -> {
- when (binding.returnFullListRdg.checkedRadioButtonId) {
- R.id.yesFullListRdb -> searchForAccessPoints()
- R.id.noFullListRdb -> searchForAccessPoint()
- }
- }
- R.id.savedNetworkRdb -> {
- when (binding.returnFullListRdg.checkedRadioButtonId) {
- R.id.yesFullListRdb -> searchForSavedNetworks()
- R.id.noFullListRdb -> searchForSavedNetwork()
- }
- }
- R.id.ssidRdb -> {
- when (binding.returnFullListRdg.checkedRadioButtonId) {
- R.id.yesFullListRdb -> searchForSSIDs()
- R.id.noFullListRdb -> searchForSSID()
- }
- }
- }
- }
-
- private fun showAccessPointUI() {
- adjustFilterDupesVisibility(View.VISIBLE)
- toggleSeekVisibility()
- }
-
- private fun showSavedNetworkUI() {
- adjustFilterDupesVisibility(View.INVISIBLE)
- adjustTimeoutVisibility(View.INVISIBLE)
- }
-
- private fun showSSIDUI() {
- adjustFilterDupesVisibility(View.INVISIBLE)
- toggleSeekVisibility()
- }
-
- private fun toggleSeekVisibility() {
- when (binding.returnFullListRdg.checkedRadioButtonId) {
- R.id.yesFullListRdb -> adjustTimeoutVisibility(View.INVISIBLE)
- R.id.noFullListRdb -> adjustTimeoutVisibility(View.VISIBLE)
- }
- }
-
- private fun updateUI() {
- when (binding.searchTypeRdg.checkedRadioButtonId) {
- R.id.accessPointRdb -> showAccessPointUI()
- R.id.ssidRdb -> showSSIDUI()
- R.id.savedNetworkRdb -> showSavedNetworkUI()
- }
- }
-
- /*
- * WiseFy helpers
- */
-
- @Throws(SecurityException::class)
- private fun searchForAccessPoint() {
- if (checkSearchForAccessPointPermissions()) {
- presenter.searchForAccessPoint(
- binding.searchRegexEdt.getTrimmedInput(),
- getSelectedTimeout(),
- getFilterDuplicates()
- )
- }
- }
-
- @Throws(SecurityException::class)
- private fun searchForAccessPoints() {
- if (checkSearchForAccessPointsPermissions()) {
- presenter.searchForAccessPoints(binding.searchRegexEdt.getTrimmedInput(), getFilterDuplicates())
- }
- }
-
- @Throws(SecurityException::class)
- private fun searchForSavedNetwork() {
- if (checkSearchForSavedNetworkPermissions()) {
- presenter.searchForSavedNetwork(binding.searchRegexEdt.getTrimmedInput())
- }
- }
-
- @Throws(SecurityException::class)
- private fun searchForSavedNetworks() {
- if (checkSearchForSavedNetworksPermissions()) {
- presenter.searchForSavedNetworks(binding.searchRegexEdt.getTrimmedInput())
- }
- }
-
- @Throws(SecurityException::class)
- private fun searchForSSID() {
- if (checkSearchForSSIDPermissions()) {
- presenter.searchForSSID(binding.searchRegexEdt.getTrimmedInput(), getSelectedTimeout())
- }
- }
-
- @Throws(SecurityException::class)
- private fun searchForSSIDs() {
- if (checkSearchForSSIDsPermissions()) {
- presenter.searchForSSIDs(binding.searchRegexEdt.getTrimmedInput())
- }
- }
-
- /*
- * Presenter callback overrides
- */
-
- override fun displaySavedNetwork(savedNetwork: SavedNetworkData?) {
- displayInfoFullScreen(getString(R.string.saved_network_args, savedNetwork), R.string.search_result)
- }
-
- override fun displaySavedNetworkNotFound() {
- displayInfo(R.string.saved_network_not_found, R.string.search_result)
- }
-
- override fun displaySavedNetworks(savedNetworks: List) {
- displayInfoFullScreen(getString(R.string.saved_networks_args, savedNetworks), R.string.search_result)
- }
-
- override fun displayNoSavedNetworksFound() {
- displayInfo(R.string.no_saved_networks_found, R.string.search_result)
- }
-
- override fun displayAccessPoint(accessPoint: AccessPointData?) {
- displayInfoFullScreen(getString(R.string.access_point_args, accessPoint), R.string.search_result)
- }
-
- override fun displayAccessPointNotFound() {
- displayInfo(R.string.access_point_not_found, R.string.search_result)
- }
-
- override fun displayAccessPoints(accessPoints: List) {
- displayInfoFullScreen(getString(R.string.access_points_args, accessPoints), R.string.search_result)
- }
-
- override fun displayNoAccessPointsFound() {
- displayInfo(R.string.no_access_points_found, R.string.search_result)
- }
-
- override fun displaySSID(ssid: SSIDData?) {
- displayInfoFullScreen(getString(R.string.ssid_args, ssid), R.string.search_result)
- }
-
- override fun displaySSIDNotFound() {
- displayInfo(R.string.ssid_not_found, R.string.search_result)
- }
-
- override fun displaySSIDs(ssids: List) {
- displayInfoFullScreen(getString(R.string.ssids_args, ssids), R.string.search_result)
- }
-
- override fun displayNoSSIDsFound() {
- displayInfo(R.string.no_ssids_found, R.string.search_result)
- }
-
- override fun displayWisefyAsyncError(throwable: Throwable) {
- displayWisefyAsyncErrorDialog(throwable)
- }
-
- /*
- * Permission helpers
- */
-
- private fun checkSearchForAccessPointPermissions(): Boolean {
- return isPermissionGranted(ACCESS_FINE_LOCATION, WISEFY_SEARCH_FOR_ACCESS_POINT_REQUEST_CODE)
- }
-
- private fun checkSearchForAccessPointsPermissions(): Boolean {
- return isPermissionGranted(ACCESS_FINE_LOCATION, WISEFY_SEARCH_FOR_ACCESS_POINTS_REQUEST_CODE)
- }
-
- private fun checkSearchForSavedNetworkPermissions(): Boolean {
- return isPermissionGranted(ACCESS_FINE_LOCATION, WISEFY_SEARCH_FOR_SAVED_NETWORK_REQUEST_CODE) &&
- isPermissionGranted(ACCESS_WIFI_STATE, WISEFY_SEARCH_FOR_SAVED_NETWORKS_REQUEST_CODE)
- }
-
- private fun checkSearchForSavedNetworksPermissions(): Boolean {
- return isPermissionGranted(ACCESS_FINE_LOCATION, WISEFY_SEARCH_FOR_SAVED_NETWORKS_REQUEST_CODE) &&
- isPermissionGranted(ACCESS_WIFI_STATE, WISEFY_SEARCH_FOR_SAVED_NETWORKS_REQUEST_CODE)
- }
-
- private fun checkSearchForSSIDPermissions(): Boolean {
- return isPermissionGranted(ACCESS_FINE_LOCATION, WISEFY_SEARCH_FOR_SSID_REQUEST_CODE)
- }
-
- private fun checkSearchForSSIDsPermissions(): Boolean {
- return isPermissionGranted(ACCESS_FINE_LOCATION, WISEFY_SEARCH_FOR_SSIDS_REQUEST_CODE)
- }
-
- @Suppress("LongMethod", "ComplexMethod")
- override fun onRequestPermissionsResult(requestCode: Int, permissions: Array, grantResults: IntArray) {
- when (requestCode) {
- WISEFY_SEARCH_FOR_SAVED_NETWORK_REQUEST_CODE -> {
- if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
- searchForSavedNetwork()
- } else {
- WisefySampleLogger.w(LOG_TAG, "Permissions for getting a saved network are denied")
- displayPermissionErrorDialog(R.string.permission_error_search_for_saved_network)
- }
- }
- WISEFY_SEARCH_FOR_SAVED_NETWORKS_REQUEST_CODE -> {
- if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
- searchForSavedNetworks()
- } else {
- WisefySampleLogger.w(LOG_TAG, "Permissions for getting saved networks are denied")
- displayPermissionErrorDialog(R.string.permission_error_search_for_saved_networks)
- }
- }
- WISEFY_SEARCH_FOR_ACCESS_POINT_REQUEST_CODE -> {
- if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
- searchForAccessPoint()
- } else {
- WisefySampleLogger.w(LOG_TAG, "Permissions for searching for an access point are denied")
- displayPermissionErrorDialog(R.string.permission_error_search_for_access_point)
- }
- }
- WISEFY_SEARCH_FOR_ACCESS_POINTS_REQUEST_CODE -> {
- if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
- searchForAccessPoints()
- } else {
- WisefySampleLogger.w(LOG_TAG, "Permissions for searching for access points are denied")
- displayPermissionErrorDialog(R.string.permission_error_search_for_access_points)
- }
- }
- WISEFY_SEARCH_FOR_SSID_REQUEST_CODE -> {
- if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
- searchForSSID()
- } else {
- WisefySampleLogger.w(LOG_TAG, "Permissions for searching for an SSID are denied")
- displayPermissionErrorDialog(R.string.permission_error_search_for_ssid)
- }
- }
- WISEFY_SEARCH_FOR_SSIDS_REQUEST_CODE -> {
- if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
- searchForSSIDs()
- } else {
- WisefySampleLogger.w(LOG_TAG, "Permissions for searching for SSIDs are denied")
- displayPermissionErrorDialog(R.string.permission_error_search_for_ssids)
- }
- }
- else -> {
- WisefySampleLogger.wtf(LOG_TAG, "Weird permission requested, not handled")
- displayPermissionErrorDialog(
- getString(R.string.permission_error_unhandled_request_code_args, requestCode)
- )
- }
- }
- }
-}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/search/SearchModel.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/search/SearchModel.kt
deleted file mode 100644
index 36998c07..00000000
--- a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/search/SearchModel.kt
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.sample.ui.search
-
-import android.Manifest.permission.ACCESS_FINE_LOCATION
-import android.Manifest.permission.ACCESS_WIFI_STATE
-import androidx.annotation.RequiresPermission
-import com.isupatches.android.wisefy.WisefyApi
-import com.isupatches.android.wisefy.accesspoints.entities.SearchForMultipleAccessPointsRequest
-import com.isupatches.android.wisefy.accesspoints.entities.SearchForMultipleSSIDsRequest
-import com.isupatches.android.wisefy.accesspoints.entities.SearchForSingleAccessPointRequest
-import com.isupatches.android.wisefy.accesspoints.entities.SearchForSingleSSIDRequest
-import com.isupatches.android.wisefy.callbacks.SearchForAccessPointCallbacks
-import com.isupatches.android.wisefy.callbacks.SearchForAccessPointsCallbacks
-import com.isupatches.android.wisefy.callbacks.SearchForSSIDCallbacks
-import com.isupatches.android.wisefy.callbacks.SearchForSSIDsCallbacks
-import com.isupatches.android.wisefy.callbacks.SearchForSavedNetworkCallbacks
-import com.isupatches.android.wisefy.callbacks.SearchForSavedNetworksCallbacks
-import com.isupatches.android.wisefy.sample.internal.scaffolding.BaseModel
-import com.isupatches.android.wisefy.savednetworks.entities.SearchForSavedNetworkRequest
-import javax.inject.Inject
-
-internal interface SearchModel {
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- fun searchForAccessPoint(
- regexForSSID: String,
- timeoutInMillis: Int,
- filterDuplicates: Boolean,
- callbacks: SearchForAccessPointCallbacks?
- )
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- fun searchForAccessPoints(
- regexForSSID: String,
- filterDuplicates: Boolean,
- callbacks: SearchForAccessPointsCallbacks?
- )
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
- fun searchForSavedNetwork(
- regexForSSID: String,
- callbacks: SearchForSavedNetworkCallbacks?
- )
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
- fun searchForSavedNetworks(
- regexForSSID: String,
- callbacks: SearchForSavedNetworksCallbacks?
- )
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- fun searchForSSID(
- regexForSSID: String,
- timeoutInMillis: Int,
- callbacks: SearchForSSIDCallbacks?
- )
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- fun searchForSSIDs(
- regexForSSID: String,
- callbacks: SearchForSSIDsCallbacks?
- )
-}
-
-@SearchScope
-internal class DefaultSearchModel @Inject constructor(
- private val wisefy: WisefyApi
-) : BaseModel(), SearchModel {
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun searchForAccessPoint(
- regexForSSID: String,
- timeoutInMillis: Int,
- filterDuplicates: Boolean,
- callbacks: SearchForAccessPointCallbacks?
- ) {
- wisefy.searchForAccessPoint(
- request = SearchForSingleAccessPointRequest.SSID(
- regexForSSID = regexForSSID,
- timeoutInMillis = timeoutInMillis,
- filterDuplicates = filterDuplicates
- ),
- callbacks = callbacks
- )
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun searchForAccessPoints(
- regexForSSID: String,
- filterDuplicates: Boolean,
- callbacks: SearchForAccessPointsCallbacks?
- ) {
- wisefy.searchForAccessPoints(
- request = SearchForMultipleAccessPointsRequest.SSID(
- regexForSSID = regexForSSID,
- filterDuplicates = filterDuplicates
- ),
- callbacks = callbacks
- )
- }
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
- override fun searchForSavedNetwork(
- regexForSSID: String,
- callbacks: SearchForSavedNetworkCallbacks?
- ) {
- wisefy.searchForSavedNetwork(
- request = SearchForSavedNetworkRequest.SSID(regexForSSID = regexForSSID),
- callbacks = callbacks
- )
- }
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
- override fun searchForSavedNetworks(
- regexForSSID: String,
- callbacks: SearchForSavedNetworksCallbacks?
- ) {
- wisefy.searchForSavedNetworks(
- request = SearchForSavedNetworkRequest.SSID(regexForSSID = regexForSSID),
- callbacks = callbacks
- )
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun searchForSSID(
- regexForSSID: String,
- timeoutInMillis: Int,
- callbacks: SearchForSSIDCallbacks?
- ) {
- wisefy.searchForSSID(
- request = SearchForSingleSSIDRequest.SSID(
- regexForSSID = regexForSSID,
- timeoutInMillis = timeoutInMillis
- ),
- callbacks = callbacks
- )
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun searchForSSIDs(
- regexForSSID: String,
- callbacks: SearchForSSIDsCallbacks?
- ) {
- wisefy.searchForSSIDs(
- request = SearchForMultipleSSIDsRequest.SSID(regexForSSID = regexForSSID),
- callbacks = callbacks
- )
- }
-}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/search/SearchModule.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/search/SearchModule.kt
deleted file mode 100644
index aa9eeba6..00000000
--- a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/search/SearchModule.kt
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.sample.ui.search
-
-import dagger.Binds
-import dagger.Module
-import javax.inject.Scope
-
-@Scope
-@Retention(AnnotationRetention.RUNTIME)
-internal annotation class SearchScope
-
-@Suppress("unused")
-@Module
-internal interface SearchFragmentModule {
- @Binds
- @SearchScope
- fun bindSearchModel(impl: DefaultSearchModel): SearchModel
-
- @Binds
- @SearchScope
- fun bindSearchPresenter(impl: DefaultSearchPresenter): SearchPresenter
-
- @Binds
- @SearchScope
- fun bindSearchStore(impl: SharedPreferencesSearchStore): SearchStore
-}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/search/SearchPresenter.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/search/SearchPresenter.kt
deleted file mode 100644
index 62473d46..00000000
--- a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/search/SearchPresenter.kt
+++ /dev/null
@@ -1,226 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.sample.ui.search
-
-import android.Manifest.permission.ACCESS_FINE_LOCATION
-import android.Manifest.permission.ACCESS_WIFI_STATE
-import androidx.annotation.RequiresPermission
-import com.isupatches.android.wisefy.accesspoints.entities.AccessPointData
-import com.isupatches.android.wisefy.accesspoints.entities.SSIDData
-import com.isupatches.android.wisefy.callbacks.SearchForAccessPointCallbacks
-import com.isupatches.android.wisefy.callbacks.SearchForAccessPointsCallbacks
-import com.isupatches.android.wisefy.callbacks.SearchForSSIDCallbacks
-import com.isupatches.android.wisefy.callbacks.SearchForSSIDsCallbacks
-import com.isupatches.android.wisefy.callbacks.SearchForSavedNetworkCallbacks
-import com.isupatches.android.wisefy.callbacks.SearchForSavedNetworksCallbacks
-import com.isupatches.android.wisefy.sample.internal.scaffolding.BasePresenter
-import com.isupatches.android.wisefy.sample.internal.scaffolding.Presenter
-import com.isupatches.android.wisefy.savednetworks.entities.SavedNetworkData
-import javax.inject.Inject
-
-internal interface SearchPresenter : Presenter {
- @RequiresPermission(ACCESS_FINE_LOCATION)
- fun searchForAccessPoint(regexForSSID: String, timeoutInMillis: Int, filterDuplicates: Boolean)
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- fun searchForAccessPoints(regexForSSID: String, filterDuplicates: Boolean)
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
- fun searchForSavedNetwork(regexForSSID: String)
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
- fun searchForSavedNetworks(regexForSSID: String)
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- fun searchForSSID(regexForSSID: String, timeoutInMillis: Int)
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- fun searchForSSIDs(regexForSSID: String)
-}
-
-@SearchScope
-internal class DefaultSearchPresenter @Inject constructor(
- private val model: SearchModel
-) : BasePresenter(), SearchPresenter {
-
- /*
- * Model call-throughs
- */
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun searchForAccessPoint(
- regexForSSID: String,
- timeoutInMillis: Int,
- filterDuplicates: Boolean
- ) {
- model.searchForAccessPoint(
- regexForSSID = regexForSSID,
- timeoutInMillis = timeoutInMillis,
- filterDuplicates = filterDuplicates,
- callbacks = object : SearchForAccessPointCallbacks {
- override fun onAccessPointFound(accessPoint: AccessPointData) {
- doSafelyWithView { view ->
- view.displayAccessPoint(accessPoint)
- }
- }
-
- override fun onNoAccessPointFound() {
- doSafelyWithView { view ->
- view.displayAccessPointNotFound()
- }
- }
-
- override fun onWisefyAsyncFailure(throwable: Throwable) {
- doSafelyWithView { view ->
- view.displayWisefyAsyncError(throwable)
- }
- }
- }
- )
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun searchForAccessPoints(regexForSSID: String, filterDuplicates: Boolean) {
- model.searchForAccessPoints(
- regexForSSID = regexForSSID,
- filterDuplicates = filterDuplicates,
- callbacks = object : SearchForAccessPointsCallbacks {
- override fun onAccessPointsFound(accessPoints: List) {
- doSafelyWithView { view ->
- view.displayAccessPoints(accessPoints)
- }
- }
-
- override fun onNoAccessPointsFound() {
- doSafelyWithView { view ->
- view.displayNoAccessPointsFound()
- }
- }
-
- override fun onWisefyAsyncFailure(throwable: Throwable) {
- doSafelyWithView { view ->
- view.displayWisefyAsyncError(throwable)
- }
- }
- }
- )
- }
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
- override fun searchForSavedNetwork(regexForSSID: String) {
- model.searchForSavedNetwork(
- regexForSSID = regexForSSID,
- callbacks = object : SearchForSavedNetworkCallbacks {
- override fun onSavedNetworkNotFound() {
- doSafelyWithView { view ->
- view.displaySavedNetworkNotFound()
- }
- }
-
- override fun onSavedNetworkRetrieved(savedNetwork: SavedNetworkData) {
- doSafelyWithView { view ->
- view.displaySavedNetwork(savedNetwork)
- }
- }
-
- override fun onWisefyAsyncFailure(throwable: Throwable) {
- doSafelyWithView { view ->
- view.displayWisefyAsyncError(throwable)
- }
- }
- }
- )
- }
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
- override fun searchForSavedNetworks(regexForSSID: String) {
- model.searchForSavedNetworks(
- regexForSSID = regexForSSID,
- callbacks = object : SearchForSavedNetworksCallbacks {
- override fun onNoSavedNetworksFound() {
- doSafelyWithView { view ->
- view.displayNoSavedNetworksFound()
- }
- }
-
- override fun onSavedNetworksRetrieved(savedNetworks: List) {
- doSafelyWithView { view ->
- view.displaySavedNetworks(savedNetworks)
- }
- }
-
- override fun onWisefyAsyncFailure(throwable: Throwable) {
- doSafelyWithView { view ->
- view.displayWisefyAsyncError(throwable)
- }
- }
- }
- )
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun searchForSSID(regexForSSID: String, timeoutInMillis: Int) {
- model.searchForSSID(
- regexForSSID = regexForSSID,
- timeoutInMillis = timeoutInMillis,
- callbacks = object : SearchForSSIDCallbacks {
- override fun onSSIDFound(ssid: SSIDData) {
- doSafelyWithView { view ->
- view.displaySSID(ssid)
- }
- }
-
- override fun onSSIDNotFound() {
- doSafelyWithView { view ->
- view.displaySSIDNotFound()
- }
- }
-
- override fun onWisefyAsyncFailure(throwable: Throwable) {
- doSafelyWithView { view ->
- view.displayWisefyAsyncError(throwable)
- }
- }
- }
- )
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun searchForSSIDs(regexForSSID: String) {
- model.searchForSSIDs(
- regexForSSID = regexForSSID,
- callbacks = object : SearchForSSIDsCallbacks {
- override fun onSSIDsFound(ssids: List) {
- doSafelyWithView { view ->
- view.displaySSIDs(ssids)
- }
- }
-
- override fun onNoSSIDsFound() {
- doSafelyWithView { view ->
- view.displayNoSSIDsFound()
- }
- }
-
- override fun onWisefyAsyncFailure(throwable: Throwable) {
- doSafelyWithView { view ->
- view.displayWisefyAsyncError(throwable)
- }
- }
- }
- )
- }
-}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/search/SearchStore.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/search/SearchStore.kt
deleted file mode 100644
index 1e013074..00000000
--- a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/search/SearchStore.kt
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.sample.ui.search
-
-import android.content.Context
-import androidx.annotation.VisibleForTesting
-import androidx.core.content.edit
-import com.isupatches.android.wisefy.sample.R
-import com.isupatches.android.wisefy.sample.internal.entities.SearchType
-import com.isupatches.android.wisefy.sample.internal.scaffolding.BaseSharedPreferenceStore
-import javax.inject.Inject
-
-@VisibleForTesting internal const val PREF_SEARCH_TYPE = "search type"
-@VisibleForTesting internal const val PREF_RETURN_FULL_LIST = "return full list"
-@VisibleForTesting internal const val PREF_FILTER_DUPLICATES = "filter duplicates"
-@VisibleForTesting internal const val PREF_TIMEOUT = "timeout"
-
-internal interface SearchStore {
- fun clear()
-
- fun getLastUsedRegex(): String
- fun getSearchType(): SearchType
- fun shouldReturnFullList(): Boolean
- fun shouldFilterDuplicates(): Boolean
- fun getTimeout(): Int
-
- fun setLastUsedRegex(lastUsedRegex: String)
- fun setSearchType(searchType: SearchType)
- fun setReturnFullList(returnFullList: Boolean)
- fun setFilterDuplicates(filterDuplicates: Boolean)
- fun setTimeout(timeout: Int)
-}
-
-@SearchScope
-internal class SharedPreferencesSearchStore @Inject constructor(
- context: Context
-) : BaseSharedPreferenceStore(), SearchStore {
-
- private val sharedPreferences = getSharedPreferences(
- context,
- R.string.preferences_search_data
- )
-
- override fun clear() {
- sharedPreferences.edit { clear() }
- }
-
- /*
- * Last used Regex
- */
-
- override fun getLastUsedRegex() = sharedPreferences.getLastUsedRegex()
-
- override fun setLastUsedRegex(lastUsedRegex: String) {
- sharedPreferences.setLastUsedRegex(lastUsedRegex)
- }
-
- /*
- * Search type
- */
-
- override fun getSearchType(): SearchType = SearchType.of(
- sharedPreferences.getInt(PREF_SEARCH_TYPE, SearchType.ACCESS_POINT.intVal)
- )
-
- override fun setSearchType(searchType: SearchType) {
- sharedPreferences.edit {
- putInt(PREF_SEARCH_TYPE, searchType.intVal)
- }
- }
-
- /*
- * Return full list
- */
-
- override fun shouldReturnFullList() = sharedPreferences.getBoolean(
- PREF_RETURN_FULL_LIST,
- true
- )
-
- override fun setReturnFullList(returnFullList: Boolean) {
- sharedPreferences.edit {
- putBoolean(PREF_RETURN_FULL_LIST, returnFullList)
- }
- }
-
- /*
- * Filter duplicates
- */
-
- override fun shouldFilterDuplicates() = sharedPreferences.getBoolean(
- PREF_FILTER_DUPLICATES,
- true
- )
-
- override fun setFilterDuplicates(filterDuplicates: Boolean) {
- sharedPreferences.edit {
- putBoolean(PREF_FILTER_DUPLICATES, filterDuplicates)
- }
- }
-
- /*
- * Timeout
- */
-
- override fun getTimeout() = sharedPreferences.getInt(PREF_TIMEOUT, 1)
-
- override fun setTimeout(timeout: Int) {
- sharedPreferences.edit {
- putInt(PREF_TIMEOUT, timeout)
- }
- }
-}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/ui/theme/WisefySampleTheme.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/theme/WisefySampleTheme.kt
new file mode 100644
index 00000000..407f53a7
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/ui/theme/WisefySampleTheme.kt
@@ -0,0 +1,65 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.ui.theme
+
+import androidx.compose.foundation.isSystemInDarkTheme
+import androidx.compose.material.MaterialTheme
+import androidx.compose.material.darkColors
+import androidx.compose.material.lightColors
+import androidx.compose.runtime.Composable
+import com.isupatches.android.wisefy.sample.ui.primitives.WisefySampleColorPalette
+import com.isupatches.android.wisefy.sample.ui.primitives.WisefySampleTypography
+
+private val WisefySampleDarkColors = darkColors(
+ primary = WisefySampleColorPalette.Primary,
+ primaryVariant = WisefySampleColorPalette.PrimaryDark,
+ onPrimary = WisefySampleColorPalette.Gray1,
+ secondary = WisefySampleColorPalette.Secondary,
+ secondaryVariant = WisefySampleColorPalette.SecondaryLight,
+ onSecondary = WisefySampleColorPalette.Gray10,
+ background = WisefySampleColorPalette.Gray10,
+ onBackground = WisefySampleColorPalette.Gray1,
+ surface = WisefySampleColorPalette.Gray9,
+ onSurface = WisefySampleColorPalette.Gray2,
+ error = WisefySampleColorPalette.ErrorDarkMode,
+ onError = WisefySampleColorPalette.Gray1
+)
+private val WisefySampleLightColors = lightColors(
+ primary = WisefySampleColorPalette.Primary,
+ primaryVariant = WisefySampleColorPalette.PrimaryDark,
+ onPrimary = WisefySampleColorPalette.Gray1,
+ secondary = WisefySampleColorPalette.Secondary,
+ secondaryVariant = WisefySampleColorPalette.SecondaryLight,
+ onSecondary = WisefySampleColorPalette.Gray10,
+ background = WisefySampleColorPalette.Gray1,
+ onBackground = WisefySampleColorPalette.Gray10,
+ surface = WisefySampleColorPalette.Gray3,
+ onSurface = WisefySampleColorPalette.Gray9,
+ error = WisefySampleColorPalette.Error,
+ onError = WisefySampleColorPalette.Gray1
+)
+
+@Composable
+internal fun WisefySampleTheme(
+ darkTheme: Boolean = isSystemInDarkTheme(),
+ content: @Composable () -> Unit
+) {
+ MaterialTheme(
+ colors = if (darkTheme) WisefySampleDarkColors else WisefySampleLightColors,
+ content = content,
+ typography = WisefySampleTypography
+ )
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/util/ErrorMessages.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/util/ErrorMessages.kt
new file mode 100644
index 00000000..154fd0ef
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/util/ErrorMessages.kt
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.util
+
+internal object ErrorMessages {
+
+ object AddNetwork {
+ const val WPA3_NETWORK_ADD_ON_PRE_ANDROID_Q_DEVICE = "Adding a WPA3 network is not supported until Android Q" +
+ " / SDK 29"
+ }
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/util/SdkUtil.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/util/SdkUtil.kt
new file mode 100644
index 00000000..f824364f
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/util/SdkUtil.kt
@@ -0,0 +1,38 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.util
+
+import android.os.Build
+import androidx.annotation.ChecksSdkIntAtLeast
+import javax.inject.Inject
+
+internal interface SdkUtil {
+
+ @ChecksSdkIntAtLeast(api = Build.VERSION_CODES.Q)
+ fun isAtLeastQ(): Boolean
+
+ @ChecksSdkIntAtLeast(api = Build.VERSION_CODES.R)
+ fun isAtLeastR(): Boolean
+}
+
+internal class DefaultSdkUtil @Inject constructor() : SdkUtil {
+
+ @ChecksSdkIntAtLeast(api = Build.VERSION_CODES.Q)
+ override fun isAtLeastQ() = Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q
+
+ @ChecksSdkIntAtLeast(api = Build.VERSION_CODES.R)
+ override fun isAtLeastR() = Build.VERSION.SDK_INT >= Build.VERSION_CODES.R
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/util/VerificationUtil.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/util/VerificationUtil.kt
new file mode 100644
index 00000000..a3fd8c0d
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/util/VerificationUtil.kt
@@ -0,0 +1,95 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.util
+
+import java.nio.charset.Charset
+import java.nio.charset.StandardCharsets
+
+private const val MIN_SSID_LENGTH = 2
+private const val MAX_SSID_LENGTH = 32
+
+private const val MIN_PASSPHRASE_LENGTH = 8
+private const val MAX_PASSPHRASE_LENGTH = 63
+
+internal fun String.validateSSID(): SSIDInputError {
+ val unicodeEncoder = StandardCharsets.UTF_8.newEncoder()
+ return when {
+ isBlank() -> SSIDInputError.EMPTY
+ length < MIN_SSID_LENGTH -> SSIDInputError.TOO_SHORT
+ length > MAX_SSID_LENGTH -> SSIDInputError.TOO_LONG
+ contains("?") ||
+ contains("\"") ||
+ contains("$") ||
+ contains("[") ||
+ contains("\\") ||
+ contains("]") ||
+ contains("+") -> {
+ SSIDInputError.INVALID_CHARACTERS
+ }
+ startsWith("!") ||
+ startsWith("#") ||
+ startsWith(";") -> {
+ SSIDInputError.INVALID_START_CHARACTERS
+ }
+ trimStart() != this ||
+ trimEnd() != this -> {
+ SSIDInputError.LEADING_OR_TRAILING_SPACES
+ }
+ !unicodeEncoder.canEncode(this) -> SSIDInputError.NOT_VALID_UNICODE
+ else -> SSIDInputError.NONE
+ }
+}
+
+internal fun String.validatePassphrase(): PassphraseInputError {
+ return when {
+ length < MIN_PASSPHRASE_LENGTH -> PassphraseInputError.TOO_SHORT
+ length > MAX_PASSPHRASE_LENGTH -> PassphraseInputError.TOO_LONG
+ !Charset.forName("US-ASCII").newEncoder().canEncode(this) -> PassphraseInputError.NOT_VALID_ASCII
+ else -> PassphraseInputError.NONE
+ }
+}
+
+internal fun String.validateBSSID(): BSSIDInputError {
+ return when {
+ isBlank() -> BSSIDInputError.EMPTY
+ !matches(Regex("^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$")) -> BSSIDInputError.INVALID
+ else -> BSSIDInputError.NONE
+ }
+}
+
+internal enum class SSIDInputError {
+ NONE,
+ EMPTY,
+ TOO_SHORT,
+ TOO_LONG,
+ INVALID_CHARACTERS,
+ INVALID_START_CHARACTERS,
+ LEADING_OR_TRAILING_SPACES,
+ NOT_VALID_UNICODE
+}
+
+internal enum class PassphraseInputError {
+ NONE,
+ TOO_SHORT,
+ TOO_LONG,
+ NOT_VALID_ASCII
+}
+
+internal enum class BSSIDInputError {
+ NONE,
+ EMPTY,
+ INVALID
+}
diff --git a/app/src/main/java/com/isupatches/android/wisefy/sample/util/WisefyFactory.kt b/app/src/main/java/com/isupatches/android/wisefy/sample/util/WisefyFactory.kt
new file mode 100644
index 00000000..acfb9679
--- /dev/null
+++ b/app/src/main/java/com/isupatches/android/wisefy/sample/util/WisefyFactory.kt
@@ -0,0 +1,30 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.sample.util
+
+import android.content.Context
+import com.isupatches.android.wisefy.BuildConfig
+import com.isupatches.android.wisefy.Wisefy
+import com.isupatches.android.wisefy.WisefyApi
+import com.isupatches.android.wisefy.sample.logging.WisefySampleLogger
+
+internal fun createWisefy(context: Context): WisefyApi {
+ return Wisefy.Brains(
+ context = context,
+ throwOnAssertions = BuildConfig.DEBUG,
+ logger = WisefySampleLogger
+ ).getSmarts()
+}
diff --git a/app/src/main/res/drawable/button_pressed.xml b/app/src/main/res/drawable/button_pressed.xml
deleted file mode 100644
index b294c566..00000000
--- a/app/src/main/res/drawable/button_pressed.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/drawable/button_selector.xml b/app/src/main/res/drawable/button_selector.xml
deleted file mode 100644
index 5e142055..00000000
--- a/app/src/main/res/drawable/button_selector.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/drawable/button_unpressed.xml b/app/src/main/res/drawable/button_unpressed.xml
deleted file mode 100644
index 48a60bf6..00000000
--- a/app/src/main/res/drawable/button_unpressed.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml
index 7c1db8e7..ba8c5ce9 100644
--- a/app/src/main/res/drawable/ic_launcher_background.xml
+++ b/app/src/main/res/drawable/ic_launcher_background.xml
@@ -1,3 +1,4 @@
+
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/app/src/main/res/layout/dialog_base.xml b/app/src/main/res/layout/dialog_base.xml
deleted file mode 100644
index e923f0c0..00000000
--- a/app/src/main/res/layout/dialog_base.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_base_fullscreen.xml b/app/src/main/res/layout/dialog_base_fullscreen.xml
deleted file mode 100644
index 5f93587c..00000000
--- a/app/src/main/res/layout/dialog_base_fullscreen.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_add_network.xml b/app/src/main/res/layout/fragment_add_network.xml
deleted file mode 100644
index e7c965fa..00000000
--- a/app/src/main/res/layout/fragment_add_network.xml
+++ /dev/null
@@ -1,124 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_main.xml b/app/src/main/res/layout/fragment_main.xml
deleted file mode 100644
index 485e9fe0..00000000
--- a/app/src/main/res/layout/fragment_main.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/app/src/main/res/layout/fragment_misc.xml b/app/src/main/res/layout/fragment_misc.xml
deleted file mode 100644
index 0a09ebfb..00000000
--- a/app/src/main/res/layout/fragment_misc.xml
+++ /dev/null
@@ -1,134 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_remove_network.xml b/app/src/main/res/layout/fragment_remove_network.xml
deleted file mode 100644
index 365931e6..00000000
--- a/app/src/main/res/layout/fragment_remove_network.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_search.xml b/app/src/main/res/layout/fragment_search.xml
deleted file mode 100644
index 4f43854a..00000000
--- a/app/src/main/res/layout/fragment_search.xml
+++ /dev/null
@@ -1,245 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/menu/menu_main.xml b/app/src/main/res/menu/menu_main.xml
deleted file mode 100644
index c5bd49a0..00000000
--- a/app/src/main/res/menu/menu_main.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-
-
diff --git a/app/src/main/res/navigation/main_nav_graph.xml b/app/src/main/res/navigation/main_nav_graph.xml
deleted file mode 100644
index b7513827..00000000
--- a/app/src/main/res/navigation/main_nav_graph.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/app/src/main/res/values/add_network.xml b/app/src/main/res/values/add_network.xml
index c4525b1c..b698e742 100644
--- a/app/src/main/res/values/add_network.xml
+++ b/app/src/main/res/values/add_network.xml
@@ -10,14 +10,14 @@
WPA3
- Add Network Result
+ Input Error
- Succeeded adding network. Result: %s
- Failure adding network. Result: %s
+ Success adding network. Result: %s
+ Failure adding network. Result: %s
Permissions for adding an open network are denied
Permissions for adding a WPA2 network are denied
Permissions for adding a WPA3 network are denied
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
deleted file mode 100644
index f891c0e2..00000000
--- a/app/src/main/res/values/colors.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
- #00BCD4
- #0097A7
- #FF4081
-
- #fff
-
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
deleted file mode 100644
index f02c8576..00000000
--- a/app/src/main/res/values/dimens.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
- 4dp
- 8dp
- 16dp
-
-
- 4dp
- 8dp
- 16dp
-
-
- 32sp
- 18sp
- 16sp
- 14sp
-
-
- 300dp
-
-
\ No newline at end of file
diff --git a/app/src/main/res/values/ids.xml b/app/src/main/res/values/ids.xml
new file mode 100644
index 00000000..4a48a7b4
--- /dev/null
+++ b/app/src/main/res/values/ids.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/misc.xml b/app/src/main/res/values/misc.xml
index b842a87f..ceed3ddd 100644
--- a/app/src/main/res/values/misc.xml
+++ b/app/src/main/res/values/misc.xml
@@ -2,46 +2,51 @@
+ Change Network
Disable Wifi
Enabled Wifi
Get Current Network
- Get Current Network Info
- Get Frequency
- Get IP
Get Nearby Access Points
+ Get Network Connection Status
Get Saved Networks
+ Is Wifi Enabled
+ Signal Functions
- WPA3 networks are not supported until Android Q
+ Success changing network. Result: %s
+ Failure changing network. Result: %s
- WiseFy Action Result
+ Success disabling wifi. Result: %s
+ Failure disabling wifi. Result: %s
- Wifi disabled!
- Failure disabling wifi
-
- Wifi enabled!
- Failure enabling wifi
+ Success enabling wifi. Result: %s
+ Failure enabling wifi. Result: %s
Current network: %s
No current network
- Current network info: %s
- No current network info
-
- Frequency: %d
- Failure retrieving frequency
+ Wifi is enabled
+ Wifi is disabled
- IP: %s
- Failure retrieving IP
+ %1$s / %2$s
+ %s
+ Saved by SSID: %b
+ Saved by BSSID: %b
+ Security capabilities: %s
-
- Permissions for getting the frequency of the device\'s current network are denied
-
- Permissions for getting the device\'s IP are denied
+ Permissions for disabling wifi are denied
+ Permissions for enabling wifi are denied
+ Permissions for getting the current network are denied
Permissions for getting nearby access points are denied
+
+ Permissions for getting network connection status are denied
+
Permissions for getting saved networks are denied
+ Permissions for checking if wifi is enabled are denied
+
+ Change network cannot be called on pre-Android Q devices
\ No newline at end of file
diff --git a/app/src/main/res/values/preferences.xml b/app/src/main/res/values/preferences.xml
deleted file mode 100644
index 9756d194..00000000
--- a/app/src/main/res/values/preferences.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
- com.isupatches.android.wisefysample.app.add_network_data
-
-
- com.isupatches.android.wisefysample.app.remove_network_data
-
-
- com.isupatches.android.wisefysample.app.search_data
-
-
\ No newline at end of file
diff --git a/app/src/main/res/values/remove_network.xml b/app/src/main/res/values/remove_network.xml
index 0724e563..cbff9587 100644
--- a/app/src/main/res/values/remove_network.xml
+++ b/app/src/main/res/values/remove_network.xml
@@ -5,11 +5,8 @@
Remove Network
- Remove Network Result
-
- Network not found to remove
- Succeeded removing network. Result: %s
- Failed removing network. Result: %s
+ Success removing network. Result: %s
+ Failure removing network. Result: %s
Permissions for removing network are denied
diff --git a/app/src/main/res/values/search.xml b/app/src/main/res/values/search.xml
index 1441c224..10e6e2d1 100644
--- a/app/src/main/res/values/search.xml
+++ b/app/src/main/res/values/search.xml
@@ -6,7 +6,6 @@
Search for…
Access Point
- SSID
Saved Network
Return full list of results?
@@ -15,8 +14,12 @@
Filter Duplicates
+ SSID Type
- Timeout after %d]]> seconds
+
+ - Timeout after %d second
+ - Timeout after %d seconds
+
Search Result
@@ -33,6 +36,8 @@
Saved network: %s
Saved network not found
+ Network connection status: %s
+
Permissions for searching for a saved network are denied
diff --git a/app/src/main/res/values/signal.xml b/app/src/main/res/values/signal.xml
new file mode 100644
index 00000000..e9e82fa1
--- /dev/null
+++ b/app/src/main/res/values/signal.xml
@@ -0,0 +1,20 @@
+
+
+
+ Calculate Signal Level
+ Compare Signal Level
+
+
+ RSSI Value
+ RSSI 1 Value
+ RSSI 2 Value
+
+
+ Failure calculating signal level. Result: %s
+ Success calculating signal level. Result: %s
+ Success comparing signal level. Result: %s
+
+
+ Invalid RSSI input (not an Int)
+ Please enter in an RSSI
+
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index a05c41ae..37db10ff 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -5,20 +5,25 @@
Wisefy
- Explore the various uses for Wisefy by poking around this sample app based on MVP architecture.
+ Explore the various uses for Wisefy by poking around this sample app powered by HILT, Jetpack Compose,
+ and the Jetpack Navigation component.
- Network Password
+ Network Passphrase
Network Name
No
Yes
OK
- Info
+
+ SSID
+ BSSID
Wisefy Async Error
- An async error occurred with Wisefy. Exception message: %s
+
+ An async error occurred with Wisefy.\n\nMessage: %1$s\n\nCause: %2$s
+
Access points: %s
No access points found
@@ -28,10 +33,31 @@
Permission Error
-
- Unhandled permission requested. Request code: %d
+
+
+ Please enter in an SSID
+ Input for SSID was not valid unicode
+ Input for SSID must be at least 2 characters
+ Input for SSID must be 32 characters or under
+ Input for SSID must not contain ? \" $ [ \\ ] or +
+ Input for SSID must not start with ! # or ;
+
+ Input for SSID must not contain leading or trailing spaces
- Starting with Android Q, applications are not allowed to enable or disable Wi-Fi
- Android Q Notice
+ Invalid SSID input
+
+ Please enter in a passphrase
+ Input for passphrase was not valid ASCII
+ Input for passphrase must be at least 8 characters
+ Input for passphrase must be 63 characters or under
+ Invalid passphrase input
+
+ Invalid BSSID input
+ Please enter in a BSSID
+ Input for bssid was not in a valid MAC address format
+
+ Hide password
+ Show password
+ Invalid RSSI input
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index f588ab8b..e24aba36 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -1,15 +1,5 @@
-
-
-
+
diff --git a/build.gradle.kts b/build.gradle.kts
index 855bcd49..824a9053 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -1,11 +1,11 @@
import org.gradle.api.tasks.testing.logging.TestExceptionFormat
import org.gradle.api.tasks.testing.logging.TestLogEvent
-import org.jetbrains.dokka.gradle.DokkaTask
import org.jetbrains.dokka.Platform.jvm
+import org.jetbrains.dokka.gradle.DokkaMultiModuleTask
+import org.jetbrains.dokka.gradle.DokkaTask
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
buildscript {
-
repositories {
google()
mavenCentral()
@@ -16,6 +16,7 @@ buildscript {
val versions = com.isupatches.android.wisefy.build.Versions
classpath("com.android.tools.build:gradle:${versions.AGP}")
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:${versions.KOTLIN}")
+ classpath("com.google.dagger:hilt-android-gradle-plugin:${versions.DAGGER}")
/**
* Ideally this would be migrated out of the project level build.gradle.kts to the [DocumentationPlugin],
@@ -27,9 +28,10 @@ buildscript {
allprojects {
repositories {
+ mavenLocal()
google()
mavenCentral()
- maven("https://oss.sonatype.org/content/repositories/snapshots")
+ maven(url = "https://oss.sonatype.org/content/repositories/snapshots")
}
tasks.withType(Test::class).configureEach {
@@ -57,7 +59,12 @@ allprojects {
tasks {
withType {
- kotlinOptions.jvmTarget = "11"
+ kotlinOptions {
+ jvmTarget = "11"
+ allWarningsAsErrors = true
+ // https://issuetracker.google.com/issues/217593040
+ freeCompilerArgs = freeCompilerArgs + "-Xjvm-default=all"
+ }
}
withType {
@@ -82,7 +89,7 @@ subprojects {
* but currently the buildSrc directory cannot see [DokkaTask] or [jvm] and unsure why.
*/
tasks.withType().configureEach {
- outputDirectory.set(rootProject.projectDir.resolve("documentation"))
+ outputDirectory.set(project.projectDir.resolve("dokka"))
moduleName.set(project.name)
suppressObviousFunctions.set(false)
dokkaSourceSets {
@@ -93,7 +100,7 @@ subprojects {
reportUndocumented.set(true)
skipEmptyPackages.set(false)
platform.set(jvm)
- jdkVersion.set(8)
+ jdkVersion.set(11)
noStdlibLink.set(false)
noJdkLink.set(false)
noAndroidSdkLink.set(false)
@@ -101,6 +108,12 @@ subprojects {
}
}
+ tasks.withType().configureEach {
+ outputDirectory.set(rootProject.projectDir.resolve("dokka"))
+ moduleName.set(project.name)
+ suppressObviousFunctions.set(false)
+ }
+
configurations.all {
// Check for updates every build
resolutionStrategy.cacheChangingModulesFor(0, "seconds")
diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts
index d87b74e5..261a1df6 100644
--- a/buildSrc/build.gradle.kts
+++ b/buildSrc/build.gradle.kts
@@ -1,8 +1,5 @@
-import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
-
plugins {
`kotlin-dsl`
- kotlin("jvm") version "1.5.21"
}
repositories {
@@ -11,5 +8,11 @@ repositories {
}
dependencies {
- implementation("com.android.tools.build:gradle:7.0.4")
+ implementation("com.android.tools.build:gradle:7.3.0")
+
+ // https://github.com/google/dagger/issues/3068
+ implementation("com.squareup:javapoet:1.13.0")
+
+ // https://issuetracker.google.com/issues/195342732?pli=1
+ implementation(kotlin("gradle-plugin","1.7.10"))
}
diff --git a/buildSrc/src/main/java/com/isupatches/android/wisefy/build/BuildVersions.kt b/buildSrc/src/main/java/com/isupatches/android/wisefy/build/BuildVersions.kt
index d8e7aed0..e23521d4 100644
--- a/buildSrc/src/main/java/com/isupatches/android/wisefy/build/BuildVersions.kt
+++ b/buildSrc/src/main/java/com/isupatches/android/wisefy/build/BuildVersions.kt
@@ -1,5 +1,5 @@
/*
- * Copyright 2021 Patches Klinefelter
+ * Copyright 2022 Patches Barrett
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,12 +16,12 @@
package com.isupatches.android.wisefy.build
object BuildVersions {
- const val BUILD_TOOLS: String = "30.0.3"
+ const val BUILD_TOOLS: String = "33.0.0-rc4"
- const val COMPILE_SDK: Int = 31
- const val TARGET_SDK: Int = 31
+ const val COMPILE_SDK: Int = 33
+ const val TARGET_SDK: Int = 33
const val MIN_SDK: Int = 23
const val MODULE_VERSION_CODE: Int = 18
- const val MODULE_VERSION_NAME: String = "5.0.0-RC3"
+ const val MODULE_VERSION_NAME: String = "5.0.0"
}
diff --git a/buildSrc/src/main/java/com/isupatches/android/wisefy/build/Dependencies.kt b/buildSrc/src/main/java/com/isupatches/android/wisefy/build/Dependencies.kt
index 43e4faa1..f1dcbb4e 100644
--- a/buildSrc/src/main/java/com/isupatches/android/wisefy/build/Dependencies.kt
+++ b/buildSrc/src/main/java/com/isupatches/android/wisefy/build/Dependencies.kt
@@ -1,5 +1,5 @@
/*
- * Copyright 2021 Patches Klinefelter
+ * Copyright 2022 Patches Barrett
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -20,18 +20,33 @@ object Dependencies {
object AndroidX {
const val ANNOTATION: String = "androidx.annotation:annotation:${Versions.ANDROIDX_ANNOTATION}"
const val APPCOMPAT: String = "androidx.appcompat:appcompat:${Versions.ANDROIDX_APPCOMPAT}"
- const val CONSTRAINT_LAYOUT: String = "androidx.constraintlayout:constraintlayout:" +
- Versions.ANDROIDX_CONSTRAINT_LAYOUT
+
+ object Activity {
+ const val COMPOSE: String = "androidx.activity:activity-compose:${Versions.ANDROIDX_ACTIVITY}"
+ }
+
+ object Compose {
+ const val ANIMATION: String = "androidx.compose.animation:animation:${Versions.ANDROIDX_COMPOSE}"
+ const val MATERIAL: String = "androidx.compose.material:material:${Versions.ANDROIDX_COMPOSE}"
+ const val MATERIAL_ICONS_EXTENDED: String = "androidx.compose.material:material-icons-extended:${Versions.ANDROIDX_COMPOSE}"
+ const val UI: String = "androidx.compose.ui:ui:${Versions.ANDROIDX_COMPOSE}"
+ const val UI_TOOLING: String = "androidx.compose.ui:ui-tooling:${Versions.ANDROIDX_COMPOSE}"
+ const val UI_TOOLING_PREVIEW: String = "androidx.compose.ui:ui-tooling-preview:${Versions.ANDROIDX_COMPOSE}"
+ }
+
const val CORE_KTX: String = "androidx.core:core-ktx:${Versions.ANDROIDX_CORE_KTX}"
+ const val DATA_STORE: String = "androidx.datastore:datastore-preferences:${Versions.ANDROIDX_DATA_STORE}"
+
object Lifecycle {
- const val RUNTIME: String = "androidx.lifecycle:lifecycle-runtime:${Versions.ANDROIDX_LIFECYCLE}"
- const val COMPILER: String = "androidx.lifecycle:lifecycle-compiler:${Versions.ANDROIDX_LIFECYCLE}"
+ val VIEW_MODEL_COMPOSE: String = "androidx.lifecycle:lifecycle-viewmodel-compose:" +
+ "${Versions.ANDROIDX_LIFECYCLE}"
}
object Navigation {
- const val FRAGMENT = "androidx.navigation:navigation-fragment:${Versions.ANDROIDX_NAVIGATION}"
- const val UI ="androidx.navigation:navigation-ui:${Versions.ANDROIDX_NAVIGATION}"
+ const val COMPOSE: String = "androidx.navigation:navigation-compose:${Versions.ANDROIDX_NAVIGATION}"
+ const val FRAGMENT: String = "androidx.navigation:navigation-fragment:${Versions.ANDROIDX_NAVIGATION}"
+ const val UI: String = "androidx.navigation:navigation-ui:${Versions.ANDROIDX_NAVIGATION}"
}
}
@@ -40,16 +55,10 @@ object Dependencies {
const val COROUTINES: String = "org.jetbrains.kotlinx:kotlinx-coroutines-android:${Versions.COROUTINES}"
}
- object Google {
- const val MATERIAL: String = "com.google.android.material:material:${Versions.GOOGLE_MATERIAL}"
- }
-
object Dagger {
- const val CORE = "com.google.dagger:dagger:${Versions.DAGGER}"
- const val COMPILER = "com.google.dagger:dagger-compiler:${Versions.DAGGER}"
- const val ANDROID_SUPPORT = "com.google.dagger:dagger-android-support:${Versions.DAGGER}"
- const val ANDROID_PROCESSOR = "com.google.dagger:dagger-android-processor:${Versions.DAGGER}"
+ const val CORE: String = "com.google.dagger:dagger:${Versions.DAGGER}"
+ const val COMPILER: String = "com.google.dagger:dagger-compiler:${Versions.DAGGER}"
+ const val HILT_ANDROID: String = "com.google.dagger:hilt-android:${Versions.DAGGER}"
+ const val HILT_COMPILER: String = "com.google.dagger:hilt-compiler:${Versions.DAGGER}"
}
-
- const val VIEWGLU = "com.isupatches.android:viewglu:${Versions.VIEWGLU_VERSION}"
}
diff --git a/buildSrc/src/main/java/com/isupatches/android/wisefy/build/DependencyConstants.kt b/buildSrc/src/main/java/com/isupatches/android/wisefy/build/DependencyConstants.kt
index 655f136c..59e4538e 100644
--- a/buildSrc/src/main/java/com/isupatches/android/wisefy/build/DependencyConstants.kt
+++ b/buildSrc/src/main/java/com/isupatches/android/wisefy/build/DependencyConstants.kt
@@ -1,5 +1,5 @@
/*
- * Copyright 2021 Patches Klinefelter
+ * Copyright 2022 Patches Barrett
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,6 +16,7 @@
package com.isupatches.android.wisefy.build
object DependencyConstants {
+ const val DEBUG_IMPLEMENTATION: String = "debugImplementation"
const val IMPLEMENTATION: String = "implementation"
const val KAPT: String = "kapt"
}
diff --git a/buildSrc/src/main/java/com/isupatches/android/wisefy/build/Groupings.kt b/buildSrc/src/main/java/com/isupatches/android/wisefy/build/Groupings.kt
index 4187c371..a72204a9 100644
--- a/buildSrc/src/main/java/com/isupatches/android/wisefy/build/Groupings.kt
+++ b/buildSrc/src/main/java/com/isupatches/android/wisefy/build/Groupings.kt
@@ -1,5 +1,5 @@
/*
- * Copyright 2021 Patches Klinefelter
+ * Copyright 2022 Patches Barrett
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -17,16 +17,25 @@ package com.isupatches.android.wisefy.build
import org.gradle.api.artifacts.dsl.DependencyHandler
+fun DependencyHandler.compose() {
+ add(DependencyConstants.IMPLEMENTATION, Dependencies.AndroidX.Compose.ANIMATION)
+ add(DependencyConstants.IMPLEMENTATION, Dependencies.AndroidX.Compose.MATERIAL)
+ add(DependencyConstants.IMPLEMENTATION, Dependencies.AndroidX.Compose.MATERIAL_ICONS_EXTENDED)
+ add(DependencyConstants.IMPLEMENTATION, Dependencies.AndroidX.Compose.UI)
+ add(DependencyConstants.IMPLEMENTATION, Dependencies.AndroidX.Compose.UI_TOOLING_PREVIEW)
+
+ add(DependencyConstants.DEBUG_IMPLEMENTATION, Dependencies.AndroidX.Compose.UI_TOOLING)
+
+ add(DependencyConstants.IMPLEMENTATION, Dependencies.AndroidX.Activity.COMPOSE)
+ add(DependencyConstants.IMPLEMENTATION, Dependencies.AndroidX.Lifecycle.VIEW_MODEL_COMPOSE)
+ add(DependencyConstants.IMPLEMENTATION, Dependencies.AndroidX.Navigation.COMPOSE)
+}
+
fun DependencyHandler.dagger() {
add(DependencyConstants.IMPLEMENTATION, Dependencies.Dagger.CORE)
add(DependencyConstants.KAPT, Dependencies.Dagger.COMPILER)
- add(DependencyConstants.IMPLEMENTATION, Dependencies.Dagger.ANDROID_SUPPORT)
- add(DependencyConstants.KAPT, Dependencies.Dagger.ANDROID_PROCESSOR)
-}
-
-fun DependencyHandler.lifecycle() {
- add(DependencyConstants.IMPLEMENTATION, Dependencies.AndroidX.Lifecycle.RUNTIME)
- add(DependencyConstants.KAPT, Dependencies.AndroidX.Lifecycle.COMPILER)
+ add(DependencyConstants.IMPLEMENTATION, Dependencies.Dagger.HILT_ANDROID)
+ add(DependencyConstants.KAPT, Dependencies.Dagger.HILT_COMPILER)
}
fun DependencyHandler.navigation() {
diff --git a/buildSrc/src/main/java/com/isupatches/android/wisefy/build/PublishingConstants.kt b/buildSrc/src/main/java/com/isupatches/android/wisefy/build/PublishingConstants.kt
index f3c40977..eba6cc43 100644
--- a/buildSrc/src/main/java/com/isupatches/android/wisefy/build/PublishingConstants.kt
+++ b/buildSrc/src/main/java/com/isupatches/android/wisefy/build/PublishingConstants.kt
@@ -1,5 +1,5 @@
/*
- * Copyright 2021 Patches Klinefelter
+ * Copyright 2022 Patches Barrett
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,5 +16,5 @@
package com.isupatches.android.wisefy.build
object PublishingConstants {
- const val GROUP_ID = "com.isupatches.android"
+ const val GROUP_ID: String = "com.isupatches.android.wisefy"
}
diff --git a/buildSrc/src/main/java/com/isupatches/android/wisefy/build/Versions.kt b/buildSrc/src/main/java/com/isupatches/android/wisefy/build/Versions.kt
index b839eaca..a9717f4b 100644
--- a/buildSrc/src/main/java/com/isupatches/android/wisefy/build/Versions.kt
+++ b/buildSrc/src/main/java/com/isupatches/android/wisefy/build/Versions.kt
@@ -1,5 +1,5 @@
/*
- * Copyright 2021 Patches Klinefelter
+ * Copyright 2022 Patches Barrett
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -15,40 +15,34 @@
*/
package com.isupatches.android.wisefy.build
-@Suppress("StringLiteralDuplication")
object Versions {
// Core tooling
- const val AGP: String = "7.0.4"
- const val KOTLIN: String = "1.5.21"
- const val COROUTINES: String = "1.5.1"
+ const val AGP: String = "7.3.0"
+ const val KOTLIN: String = "1.7.10"
+ const val COROUTINES: String = "1.6.4"
// AndroidX
- const val ANDROIDX_ANNOTATION: String = "1.2.0"
- const val ANDROIDX_APPCOMPAT: String = "1.3.0"
- const val ANDROIDX_CONSTRAINT_LAYOUT: String = "2.0.4"
- const val ANDROIDX_CORE_KTX = "1.6.0"
- const val ANDROIDX_LIFECYCLE: String = "2.3.1"
- const val ANDROIDX_NAVIGATION: String = "2.3.5"
-
- // Google
- const val GOOGLE_MATERIAL: String = "1.4.0"
+ const val ANDROIDX_ACTIVITY: String = "1.6.1"
+ const val ANDROIDX_ANNOTATION: String = "1.5.0"
+ const val ANDROIDX_APPCOMPAT: String = "1.5.1"
+ const val ANDROIDX_COMPOSE: String = "1.3.0"
+ const val ANDROIDX_CORE_KTX: String = "1.9.0"
+ const val ANDROIDX_DATA_STORE: String = "1.0.0"
+ const val ANDROIDX_LIFECYCLE: String = "2.5.1"
+ const val ANDROIDX_NAVIGATION: String = "2.5.3"
// Dependency Injection
- const val DAGGER = "2.38.1"
-
- // isuPatches
- const val VIEWGLU_VERSION = "1.1.0"
+ const val DAGGER: String = "2.44.1"
// Static Analysis
- const val CPD: String = "3.2"
- const val DETEKT: String = "1.17.1"
- const val DEXCOUNT: String = "2.1.0-RC01"
- const val KTLINT_PLUGIN: String = "10.1.0"
- const val KTLINT: String = "0.41.0"
+ const val CPD: String = "3.3"
+ const val DETEKT: String = "1.21.0"
+ const val DEXCOUNT: String = "3.1.0"
+ const val KOTLINTER_PLUGIN: String = "3.12.0"
// Documentation
- const val DOKKA: String = "1.5.0"
+ const val DOKKA: String = "1.7.10"
// Code Coverage
- const val JACOCO: String = "0.8.3"
+ const val JACOCO: String = "0.8.8"
}
diff --git a/buildSrc/src/main/java/com/isupatches/android/wisefy/build/plugins/BaseGraldleModulePlugin.kt b/buildSrc/src/main/java/com/isupatches/android/wisefy/build/plugins/BaseGraldleModulePlugin.kt
index 62e2d5a4..f00e70ab 100644
--- a/buildSrc/src/main/java/com/isupatches/android/wisefy/build/plugins/BaseGraldleModulePlugin.kt
+++ b/buildSrc/src/main/java/com/isupatches/android/wisefy/build/plugins/BaseGraldleModulePlugin.kt
@@ -1,5 +1,5 @@
/*
- * Copyright 2021 Patches Klinefelter
+ * Copyright 2022 Patches Barrett
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -20,16 +20,17 @@ import com.isupatches.android.wisefy.build.BuildVersions
import com.isupatches.android.wisefy.build.Dependencies
import com.isupatches.android.wisefy.build.DependencyConstants.IMPLEMENTATION
import com.isupatches.android.wisefy.build.Versions
+import java.io.File
+import java.io.FileInputStream
+import java.util.Locale
+import java.util.Properties
import org.gradle.api.JavaVersion
import org.gradle.api.Plugin
import org.gradle.api.Project
+import org.gradle.api.artifacts.dsl.LockMode
import org.gradle.kotlin.dsl.apply
import org.gradle.kotlin.dsl.configure
import org.gradle.kotlin.dsl.dependencies
-import java.io.File
-import java.io.FileInputStream
-import java.util.Locale
-import java.util.Properties
class BaseGradleModulePlugin : Plugin {
@@ -80,19 +81,27 @@ class BaseGradleModulePlugin : Plugin {
buildTypes {
debug {
// Test coverage needs to be disabled to release -SNAPSHOT builds
- isTestCoverageEnabled = true
+ enableUnitTestCoverage = true
+ enableAndroidTestCoverage = true
isMinifyEnabled = false
- proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro")
- testProguardFile("proguard-rules-test.pro")
- consumerProguardFile("consumer-rules.pro")
+ proguardFiles(
+ getDefaultProguardFile("proguard-android-optimize.txt"),
+ "${target.rootDir}/proguard/r8-lib-debug.pro"
+ )
+ testProguardFile("${target.rootDir}/proguard/r8-lib-test.pro")
+ consumerProguardFile("${target.rootDir}/proguard/r8-lib-consumer.pro")
signingConfig = signingConfigs.getByName("debug${target.name.capitalize(Locale.ROOT)}")
}
release {
- isTestCoverageEnabled = false
- isMinifyEnabled = true
- proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro")
- consumerProguardFile("consumer-rules.pro")
+ enableUnitTestCoverage = false
+ enableAndroidTestCoverage = false
+ isMinifyEnabled = false
+ proguardFiles(
+ getDefaultProguardFile("proguard-android-optimize.txt"),
+ "${target.rootDir}/proguard/r8-lib-release.pro"
+ )
+ consumerProguardFile("${target.rootDir}/proguard/r8-lib-consumer.pro")
signingConfig = signingConfigs.getByName("release${target.name.capitalize(Locale.ROOT)}")
}
}
@@ -102,12 +111,12 @@ class BaseGradleModulePlugin : Plugin {
}
lint {
- isCheckAllWarnings = true
- isShowAll = true
- isExplainIssues = true
- isAbortOnError = true
- isWarningsAsErrors = true
- disable("UnusedIds")
+ checkAllWarnings = true
+ showAll = true
+ explainIssues = true
+ abortOnError = true
+ warningsAsErrors = true
+ disable += "UnusedIds"
}
testOptions {
@@ -117,10 +126,29 @@ class BaseGradleModulePlugin : Plugin {
testCoverage {
jacocoVersion = Versions.JACOCO
}
+
+ compileOptions {
+ sourceCompatibility = JavaVersion.VERSION_11
+ targetCompatibility = JavaVersion.VERSION_11
+ }
+ }
+
+ target.afterEvaluate {
+ configurations.getByName("releaseRuntimeClasspath") {
+ resolutionStrategy.activateDependencyLocking()
+ }
+ configurations.getByName("debugRuntimeClasspath") {
+ resolutionStrategy.activateDependencyLocking()
+ }
+ }
+
+ target.dependencyLocking {
+ lockMode.set(LockMode.STRICT)
}
target.dependencies {
add(IMPLEMENTATION, Dependencies.AndroidX.ANNOTATION)
+ add(IMPLEMENTATION, Dependencies.AndroidX.APPCOMPAT)
add(IMPLEMENTATION, Dependencies.Kotlin.STD_LIB)
}
}
diff --git a/buildSrc/src/main/java/com/isupatches/android/wisefy/build/plugins/DocumentationPlugin.kt b/buildSrc/src/main/java/com/isupatches/android/wisefy/build/plugins/DocumentationPlugin.kt
index e04f105b..f73e4cdd 100644
--- a/buildSrc/src/main/java/com/isupatches/android/wisefy/build/plugins/DocumentationPlugin.kt
+++ b/buildSrc/src/main/java/com/isupatches/android/wisefy/build/plugins/DocumentationPlugin.kt
@@ -1,5 +1,5 @@
/*
- * Copyright 2021 Patches Klinefelter
+ * Copyright 2022 Patches Barrett
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/buildSrc/src/main/java/com/isupatches/android/wisefy/build/plugins/PublishingPlugin.kt b/buildSrc/src/main/java/com/isupatches/android/wisefy/build/plugins/PublishingPlugin.kt
index d2f83ac0..c1cc84fa 100644
--- a/buildSrc/src/main/java/com/isupatches/android/wisefy/build/plugins/PublishingPlugin.kt
+++ b/buildSrc/src/main/java/com/isupatches/android/wisefy/build/plugins/PublishingPlugin.kt
@@ -1,5 +1,5 @@
/*
- * Copyright 2021 Patches Klinefelter
+ * Copyright 2022 Patches Barrett
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,6 +16,9 @@
package com.isupatches.android.wisefy.build.plugins
import com.android.build.gradle.LibraryExtension
+import java.io.File
+import java.net.URI
+import java.util.Properties
import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.api.plugins.JavaBasePlugin
@@ -27,12 +30,9 @@ import org.gradle.kotlin.dsl.configure
import org.gradle.kotlin.dsl.create
import org.gradle.kotlin.dsl.get
import org.gradle.plugins.signing.SigningExtension
-import java.io.File
-import java.net.URI
-import java.util.Properties
private const val DEVELOPER_ID = "isuPatches"
-private const val DEVELOPER_NAME = "Patches Klinefelter"
+private const val DEVELOPER_NAME = "Patches Barrett"
private const val DEVELOPER_EMAIL = "isuPatches@yahoo.com"
private const val LIBRARY_CONNECTION = "https://github.com/isuPatches/android-wisefy.git"
@@ -58,10 +58,10 @@ class PublishingPlugin : Plugin {
target.configure {
- target.tasks.create("kdocJar") {
+ target.tasks.create("javadocJar") {
group = JavaBasePlugin.DOCUMENTATION_GROUP
description = "Assembles Kotlin docs with Dokka"
- archiveClassifier.set("kdoc")
+ archiveClassifier.set("javadoc")
from(target.tasks.getByName("dokkaGfm"))
dependsOn(target.tasks.getByName("dokkaGfm"))
}
@@ -70,6 +70,18 @@ class PublishingPlugin : Plugin {
archiveClassifier.set("sources")
from(sourceSets.getByName("main").java.srcDirs)
}
+
+ publishing {
+ singleVariant("debug") {
+ withSourcesJar()
+ withJavadocJar()
+ }
+
+ singleVariant("release") {
+ withSourcesJar()
+ withJavadocJar()
+ }
+ }
}
target.afterEvaluate {
@@ -82,9 +94,6 @@ class PublishingPlugin : Plugin {
from(project.components["debug"])
- artifact(tasks["sourcesJar"])
- artifact(tasks["kdocJar"])
-
pom {
name.set(LIBRARY_NAME)
description.set(LIBRARY_DESCRIPTION)
@@ -117,9 +126,6 @@ class PublishingPlugin : Plugin {
from(project.components["release"])
- artifact(tasks["sourcesJar"])
- artifact(tasks["kdocJar"])
-
pom {
name.set(LIBRARY_NAME)
description.set(LIBRARY_DESCRIPTION)
@@ -174,7 +180,6 @@ class PublishingPlugin : Plugin {
)
sign(publications)
}
-
}
}
}
diff --git a/changes/whatsnew/4.x.md b/changes/whatsnew/4.x.md
new file mode 100644
index 00000000..36d4bb61
--- /dev/null
+++ b/changes/whatsnew/4.x.md
@@ -0,0 +1,33 @@
+## What's New in 4.x
+
+- Android P Support
+ - New isDeviceRoaming logic
+- New logic for SDK 23 and above
+ - WiseFySearch rewritten to remove deprecated APIs from Android OS
+ - WiseFyConnection rewritten to remove deprecated APIs from Android OS
+ - Ability to use legacy search logic
+ - Ability to use legacy connection logic
+- Update to Android X
+- Improved annotations for required permissions
+- Update to gradle 5.x
+- Static analysis tools updated
+- WEP is now deprecated due to security and other issues with this network type and will be phased out
+- Better naming for some saved network functions
+ - GetSavedNetworkCallbacks renamed SearchForSavedNetworkCallbacks
+ - Added SearchForSavedNetworksCallbacks
+ - getSavedNetwork(regex: String?): List? refactored to searchForSavedNetwork(regexForSSID: String?): WifiConfiguration?
+ - getSavedNetwork(regexForSSID: String?, callbacks: GetSavedNetworkCallbacks?) refactored to searchForSavedNetwork(regexForSSID: String?, callbacks: SearchForSavedNetworkCallbacks?)
+ - getSavedNetworks(regexForSSID: String?, callbacks: GetSavedNetworksCallbacks?) refactored to searchForSavedNetworks(regexForSSID: String?, callbacks: SearchForSavedNetworksCallbacks?)
+- Moved from TravisCI to CircleCI
+- Instrumentation tests are now run on Google's Firebase TestLab
+- Removal of Checkstyle and FindBugs since project is no longer Java
+- Removal of GCM support due to GCM being sunset
+- New [sample app](/wisefysample) included as part of the repo
+ - This replaces the previous permissions example
+- Crash fixes for:
+ - Async api with null current network
+ - Async api with null current network info
+ - Async api with null nearby access points
+- Fix for searching when empty list returned from OS
+- More tests
+- Removal of some generic variable names from documentation for clarity
diff --git a/config/detekt.yml b/config/detekt.yml
index e50483ba..859042b8 100644
--- a/config/detekt.yml
+++ b/config/detekt.yml
@@ -36,8 +36,9 @@ console-reports:
- 'ProjectStatisticsReport'
- 'ComplexityReport'
- 'NotificationReport'
- # - 'FindingsReport'
+ - 'FindingsReport'
- 'FileBasedFindingsReport'
+ # - 'LiteFindingsReport'
output-reports:
active: true
@@ -45,33 +46,44 @@ output-reports:
# - 'TxtOutputReport'
# - 'XmlOutputReport'
# - 'HtmlOutputReport'
+ # - 'MdOutputReport'
comments:
active: true
- excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
AbsentOrWrongFileLicense:
active: false
licenseTemplateFile: 'license.template'
licenseTemplateIsRegex: false
CommentOverPrivateFunction:
- active: false
+ active: true
CommentOverPrivateProperty:
- active: false
+ active: true
DeprecatedBlockTag:
- active: false
+ active: true
EndOfSentenceFormat:
- active: false
+ active: true
endOfSentenceFormat: '([.?!][ \t\n\r\f<])|([.?!:]$)'
+ KDocReferencesNonPublicProperty:
+ active: true
+ excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
+ OutdatedDocumentation:
+ active: true
+ matchTypeParameters: true
+ matchDeclarationsOrder: true
+ allowParamOnConstructorProperties: false
UndocumentedPublicClass:
- active: false
+ active: true
+ excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
searchInNestedClass: true
searchInInnerClass: true
searchInInnerObject: true
searchInInnerInterface: true
UndocumentedPublicFunction:
- active: false
+ active: true
+ excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
UndocumentedPublicProperty:
- active: false
+ active: true
+ excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
complexity:
active: true
@@ -79,46 +91,65 @@ complexity:
active: true
threshold: 4
ComplexInterface:
- active: false
- threshold: 10
+ active: true
+ threshold: 15
includeStaticDeclarations: false
includePrivateDeclarations: false
ComplexMethod:
active: true
- threshold: 15
+ threshold: 30
ignoreSingleWhenExpression: false
ignoreSimpleWhenEntries: false
ignoreNestingFunctions: false
- nestingFunctions: ['run', 'let', 'apply', 'with', 'also', 'use', 'forEach', 'isNotNull', 'ifNull']
+ nestingFunctions:
+ - 'also'
+ - 'apply'
+ - 'forEach'
+ - 'isNotNull'
+ - 'ifNull'
+ - 'let'
+ - 'run'
+ - 'use'
+ - 'with'
LabeledExpression:
- active: false
+ active: true
ignoredLabels: []
LargeClass:
active: true
threshold: 600
LongMethod:
active: true
- threshold: 60
+ threshold: 250
LongParameterList:
active: true
- functionThreshold: 6
+ functionThreshold: 10
constructorThreshold: 15
ignoreDefaultParameters: false
ignoreDataClasses: true
- ignoreAnnotated: []
+ ignoreAnnotatedParameter: []
MethodOverloading:
- active: false
+ active: true
threshold: 6
NamedArguments:
- active: false
+ active: true
threshold: 3
+ ignoreArgumentsMatchingNames: false
NestedBlockDepth:
active: true
- threshold: 6 # Non-default
+ threshold: 4
+ NestedScopeFunctions:
+ active: true
+ threshold: 1
+ functions:
+ - 'kotlin.apply'
+ - 'kotlin.run'
+ - 'kotlin.with'
+ - 'kotlin.let'
+ - 'kotlin.also'
ReplaceSafeCallChainWithRun:
- active: false
+ active: true
StringLiteralDuplication:
- active: false
+ active: true
excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
threshold: 3
ignoreAnnotation: true
@@ -127,11 +158,11 @@ complexity:
TooManyFunctions:
active: true
excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
- thresholdInFiles: 75 # Non-default
- thresholdInClasses: 75 # Non-default
- thresholdInInterfaces: 25 # Non-default
- thresholdInObjects: 25 # Non-default
- thresholdInEnums: 25 # Non-default
+ thresholdInFiles: 35
+ thresholdInClasses: 35
+ thresholdInInterfaces: 35
+ thresholdInObjects: 35
+ thresholdInEnums: 35
ignoreDeprecated: false
ignorePrivate: false
ignoreOverridden: false
@@ -139,13 +170,21 @@ complexity:
coroutines:
active: true
GlobalCoroutineUsage:
- active: false
+ active: true
+ InjectDispatcher:
+ active: true
+ dispatcherNames:
+ - 'IO'
+ - 'Default'
+ - 'Unconfined'
RedundantSuspendModifier:
- active: false
+ active: true
SleepInsteadOfDelay:
- active: false
+ active: true
+ SuspendFunWithCoroutineScopeReceiver:
+ active: true
SuspendFunWithFlowReturnType:
- active: false
+ active: true
empty-blocks:
active: true
@@ -186,14 +225,18 @@ exceptions:
active: true
ExceptionRaisedInUnexpectedLocation:
active: true
- methodNames: [toString, hashCode, equals, finalize]
+ methodNames:
+ - 'equals'
+ - 'finalize'
+ - 'hashCode'
+ - 'toString'
InstanceOfCheckForException:
- active: false
+ active: true
excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
NotImplementedDeclaration:
- active: false
+ active: true
ObjectExtendsThrowable:
- active: false
+ active: true
PrintStackTrace:
active: true
RethrowCaughtException:
@@ -204,226 +247,96 @@ exceptions:
SwallowedException:
active: true
ignoredExceptionTypes:
- - InterruptedException
- - NumberFormatException
- - ParseException
- - MalformedURLException
+ - 'InterruptedException'
+ - 'MalformedURLException'
+ - 'NumberFormatException'
+ - 'ParseException'
allowedExceptionNameRegex: '_|(ignore|expected).*'
ThrowingExceptionFromFinally:
active: true
ThrowingExceptionInMain:
- active: false
+ active: true
ThrowingExceptionsWithoutMessageOrCause:
active: true
excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
exceptions:
- - IllegalArgumentException
- - IllegalStateException
- - IOException
+ - 'ArrayIndexOutOfBoundsException'
+ - 'Exception'
+ - 'IllegalArgumentException'
+ - 'IllegalMonitorStateException'
+ - 'IllegalStateException'
+ - 'IndexOutOfBoundsException'
+ - 'NullPointerException'
+ - 'RuntimeException'
+ - 'Throwable'
ThrowingNewInstanceOfSameException:
active: true
TooGenericExceptionCaught:
active: true
excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
exceptionNames:
- - ArrayIndexOutOfBoundsException
- - Error
- - Exception
- - IllegalMonitorStateException
- - NullPointerException
- - IndexOutOfBoundsException
- - RuntimeException
- - Throwable
+ - 'ArrayIndexOutOfBoundsException'
+ - 'Error'
+ - 'Exception'
+ - 'IllegalMonitorStateException'
+ - 'IndexOutOfBoundsException'
+ - 'NullPointerException'
+ - 'RuntimeException'
+ - 'Throwable'
allowedExceptionNameRegex: '_|(ignore|expected).*'
TooGenericExceptionThrown:
active: true
exceptionNames:
- - Error
- - Exception
- - Throwable
- - RuntimeException
-
-formatting:
- active: true
- android: false
- autoCorrect: true
- AnnotationOnSeparateLine:
- active: false
- autoCorrect: true
- AnnotationSpacing:
- active: false
- autoCorrect: true
- ArgumentListWrapping:
- active: false
- autoCorrect: true
- indentSize: 4
- maxLineLength: 120
- ChainWrapping:
- active: true
- autoCorrect: true
- CommentSpacing:
- active: true
- autoCorrect: true
- EnumEntryNameCase:
- active: false
- autoCorrect: true
- Filename:
- active: true
- FinalNewline:
- active: true
- autoCorrect: true
- insertFinalNewLine: true
- ImportOrdering:
- active: false
- autoCorrect: true
- layout: '*,java.**,javax.**,kotlin.**,^'
- Indentation:
- active: false
- autoCorrect: true
- indentSize: 4
- continuationIndentSize: 4
- MaximumLineLength:
- active: true
- maxLineLength: 120
- ignoreBackTickedIdentifier: false
- ModifierOrdering:
- active: true
- autoCorrect: true
- MultiLineIfElse:
- active: true
- autoCorrect: true
- NoBlankLineBeforeRbrace:
- active: true
- autoCorrect: true
- NoConsecutiveBlankLines:
- active: true
- autoCorrect: true
- NoEmptyClassBody:
- active: true
- autoCorrect: true
- NoEmptyFirstLineInMethodBlock:
- active: false
- autoCorrect: true
- NoLineBreakAfterElse:
- active: true
- autoCorrect: true
- NoLineBreakBeforeAssignment:
- active: true
- autoCorrect: true
- NoMultipleSpaces:
- active: true
- autoCorrect: true
- NoSemicolons:
- active: true
- autoCorrect: true
- NoTrailingSpaces:
- active: true
- autoCorrect: true
- NoUnitReturn:
- active: true
- autoCorrect: true
- NoUnusedImports:
- active: true
- autoCorrect: true
- NoWildcardImports:
- active: true
- PackageName:
- active: true
- autoCorrect: true
- ParameterListWrapping:
- active: true
- autoCorrect: true
- indentSize: 4
- maxLineLength: 120
- SpacingAroundAngleBrackets:
- active: false
- autoCorrect: true
- SpacingAroundColon:
- active: true
- autoCorrect: true
- SpacingAroundComma:
- active: true
- autoCorrect: true
- SpacingAroundCurly:
- active: true
- autoCorrect: true
- SpacingAroundDot:
- active: true
- autoCorrect: true
- SpacingAroundDoubleColon:
- active: false
- autoCorrect: true
- SpacingAroundKeyword:
- active: true
- autoCorrect: true
- SpacingAroundOperators:
- active: true
- autoCorrect: true
- SpacingAroundParens:
- active: true
- autoCorrect: true
- SpacingAroundRangeOperator:
- active: true
- autoCorrect: true
- SpacingAroundUnaryOperator:
- active: false
- autoCorrect: true
- SpacingBetweenDeclarationsWithAnnotations:
- active: false
- autoCorrect: true
- SpacingBetweenDeclarationsWithComments:
- active: false
- autoCorrect: true
- StringTemplate:
- active: true
- autoCorrect: true
+ - 'Error'
+ - 'Exception'
+ - 'RuntimeException'
+ - 'Throwable'
naming:
active: true
+ BooleanPropertyNaming:
+ active: true
+ allowedPattern: '^(is|has|are)'
+ ignoreOverridden: true
ClassNaming:
active: true
- excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
classPattern: '[A-Z][a-zA-Z0-9]*'
ConstructorParameterNaming:
active: true
- excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
parameterPattern: '[a-z][A-Za-z0-9]*'
privateParameterPattern: '[a-z][A-Za-z0-9]*'
excludeClassPattern: '$^'
ignoreOverridden: true
EnumNaming:
active: true
- excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
enumEntryPattern: '[A-Z][_a-zA-Z0-9]*'
ForbiddenClassName:
- active: false
- excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
+ active: true
forbiddenName: []
FunctionMaxLength:
- active: false
- excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
- maximumFunctionNameLength: 30
+ active: true
+ maximumFunctionNameLength: 50
FunctionMinLength:
- active: false
- excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
- minimumFunctionNameLength: 3
+ active: true
+ minimumFunctionNameLength: 1
FunctionNaming:
active: true
excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
- functionPattern: '([a-z][a-zA-Z0-9]*)|(`.*`)'
+ functionPattern: '[a-zA-Z][a-zA-Z0-9]*' # Non-default for Jetpack Compose
excludeClassPattern: '$^'
ignoreOverridden: true
- ignoreAnnotated: ['Composable']
FunctionParameterNaming:
active: true
- excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
parameterPattern: '[a-z][A-Za-z0-9]*'
excludeClassPattern: '$^'
ignoreOverridden: true
InvalidPackageDeclaration:
- active: false
- excludes: ['*.kts']
+ active: true
rootPackage: ''
+ requireRootInDeclaration: false
+ LambdaParameterNaming:
+ active: true
+ parameterPattern: '[a-z][A-Za-z0-9]*|_'
MatchingDeclarationName:
active: true
mustBeFirst: true
@@ -431,37 +344,30 @@ naming:
active: true
ignoreOverridden: true
NoNameShadowing:
- active: false
+ active: true
NonBooleanPropertyPrefixedWithIs:
- active: false
- excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
+ active: true
ObjectPropertyNaming:
active: true
- excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
constantPattern: '[A-Za-z][_A-Za-z0-9]*'
propertyPattern: '[A-Za-z][_A-Za-z0-9]*'
privatePropertyPattern: '(_)?[A-Za-z][_A-Za-z0-9]*'
PackageNaming:
active: true
- excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
packagePattern: '[a-z]+(\.[a-z][A-Za-z0-9]*)*'
TopLevelPropertyNaming:
active: true
- excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
constantPattern: '[A-Z][_A-Z0-9]*'
propertyPattern: '[A-Za-z][_A-Za-z0-9]*'
privatePropertyPattern: '_?[A-Za-z][_A-Za-z0-9]*'
VariableMaxLength:
- active: false
- excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
+ active: true
maximumVariableNameLength: 64
VariableMinLength:
- active: false
- excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
+ active: true
minimumVariableNameLength: 1
VariableNaming:
active: true
- excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
variablePattern: '[a-z][A-Za-z0-9]*'
privateVariablePattern: '(_)?[a-z][A-Za-z0-9]*'
excludeClassPattern: '$^'
@@ -471,6 +377,9 @@ performance:
active: true
ArrayPrimitive:
active: true
+ CouldBeSequence:
+ active: true
+ threshold: 3
ForEachOnRange:
active: true
excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
@@ -482,34 +391,54 @@ performance:
potential-bugs:
active: true
+ AvoidReferentialEquality:
+ active: true
+ forbiddenTypePatterns:
+ - 'kotlin.String'
CastToNullableType:
- active: false
+ active: true
Deprecation:
- active: false
+ active: true
DontDowncastCollectionTypes:
- active: false
+ active: true
DoubleMutabilityForCollection:
- active: false
+ active: true
+ mutableTypes:
+ - 'kotlin.collections.MutableList'
+ - 'kotlin.collections.MutableMap'
+ - 'kotlin.collections.MutableSet'
+ - 'java.util.ArrayList'
+ - 'java.util.LinkedHashSet'
+ - 'java.util.HashSet'
+ - 'java.util.LinkedHashMap'
+ - 'java.util.HashMap'
DuplicateCaseInWhenExpression:
active: true
+ ElseCaseInsteadOfExhaustiveWhen:
+ active: true
EqualsAlwaysReturnsTrueOrFalse:
active: true
EqualsWithHashCodeExist:
active: true
ExitOutsideMain:
- active: false
+ active: true
ExplicitGarbageCollectionCall:
active: true
HasPlatformType:
- active: false
+ active: true
IgnoredReturnValue:
- active: false
+ active: true
restrictToAnnotatedMethods: true
- returnValueAnnotations: ['*.CheckReturnValue', '*.CheckResult']
+ returnValueAnnotations:
+ - '*.CheckResult'
+ - '*.CheckReturnValue'
+ ignoreReturnValueAnnotations:
+ - '*.CanIgnoreReturnValue'
+ ignoreFunctionCall: []
ImplicitDefaultLocale:
active: true
ImplicitUnitReturnType:
- active: false
+ active: true
allowExplicitReturnType: true
InvalidRange:
active: true
@@ -518,90 +447,110 @@ potential-bugs:
IteratorNotThrowingNoSuchElementException:
active: true
LateinitUsage:
- active: false
+ active: false # Disabled for Dagger
excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
- excludeAnnotatedProperties: []
ignoreOnClassesPattern: ''
MapGetWithNotNullAssertionOperator:
- active: false
+ active: true
+ MissingPackageDeclaration:
+ active: true
+ excludes: ['**/*.kts']
MissingWhenCase:
active: true
allowElseExpression: true
+ NullCheckOnMutableProperty:
+ active: true
NullableToStringCall:
- active: false
+ active: true
RedundantElseInWhen:
active: true
UnconditionalJumpStatementInLoop:
- active: false
+ active: true
UnnecessaryNotNullOperator:
active: true
UnnecessarySafeCall:
active: true
UnreachableCatchBlock:
- active: false
+ active: true
UnreachableCode:
active: true
UnsafeCallOnNullableType:
active: true
+ excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
UnsafeCast:
active: true
UnusedUnaryOperator:
- active: false
+ active: true
UselessPostfixExpression:
- active: false
+ active: true
WrongEqualsTypeParameter:
active: true
style:
active: true
+ CanBeNonNullable:
+ active: true
+ CascadingCallWrapping:
+ active: true
+ includeElvis: true
ClassOrdering:
- active: false
+ active: true
CollapsibleIfStatements:
- active: false
+ active: true
DataClassContainsFunctions:
- active: false
+ active: true
conversionFunctionPrefix: 'to'
DataClassShouldBeImmutable:
- active: false
+ active: true
DestructuringDeclarationWithTooManyEntries:
- active: false
+ active: true
maxDestructuringEntries: 3
EqualsNullCall:
active: true
EqualsOnSignatureLine:
- active: false
+ active: true
ExplicitCollectionElementAccessMethod:
- active: false
+ active: true
ExplicitItLambdaParameter:
- active: false
+ active: true
ExpressionBodySyntax:
- active: false
+ active: false # Disabled because I personally feel explicitness and braces helps readability
includeLineWrapping: false
ForbiddenComment:
active: true
- values: ['TODO:', 'FIXME:', 'STOPSHIP:']
+ values:
+ - 'FIXME:'
+ - 'STOPSHIP:'
+ - 'TODO:'
allowedPatterns: ''
+ customMessage: ''
ForbiddenImport:
- active: false
+ active: true
imports: []
forbiddenPatterns: ''
ForbiddenMethodCall:
- active: false
- methods: ['kotlin.io.println', 'kotlin.io.print']
+ active: true
+ methods:
+ - 'kotlin.io.print'
+ - 'kotlin.io.println'
ForbiddenPublicDataClass:
active: true
excludes: ['**']
- ignorePackages: ['*.internal', '*.internal.*']
+ ignorePackages:
+ - '*.internal'
+ - '*.internal.*'
+ ForbiddenSuppress:
+ active: true
+ rules: []
ForbiddenVoid:
- active: false
+ active: true
ignoreOverridden: false
ignoreUsageInGenerics: false
FunctionOnlyReturningConstant:
active: true
ignoreOverridableFunction: true
ignoreActualFunction: true
- excludedFunctions: 'describeContents'
- excludeAnnotatedFunction: ['dagger.Provides']
+ excludedFunctions: ''
LibraryCodeMustSpecifyReturnType:
active: true
excludes: ['**']
@@ -610,11 +559,15 @@ style:
excludes: ['**']
LoopWithTooManyJumpStatements:
active: true
- maxJumpCount: 2 # Non-default
+ maxJumpCount: 1
MagicNumber:
active: true
- excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
- ignoreNumbers: ['-1', '0', '1', '2']
+ excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**', '**/*.kts']
+ ignoreNumbers:
+ - '-1'
+ - '0'
+ - '1'
+ - '2'
ignoreHashCodeFunction: true
ignorePropertyDeclaration: false
ignoreLocalVariableDeclaration: false
@@ -626,9 +579,12 @@ style:
ignoreRanges: false
ignoreExtensionFunctions: true
MandatoryBracesIfStatements:
- active: false
+ active: true
MandatoryBracesLoops:
- active: false
+ active: true
+ MaxChainedCallsOnSameLine:
+ active: true
+ maxChainedCalls: 5
MaxLineLength:
active: true
maxLineLength: 120
@@ -640,34 +596,36 @@ style:
ModifierOrder:
active: true
MultilineLambdaItParameter:
- active: false
+ active: true
NestedClassesVisibility:
active: true
NewLineAtEndOfFile:
active: true
NoTabs:
- active: false
+ active: true
+ NullableBooleanCheck:
+ active: true
ObjectLiteralToLambda:
- active: false
+ active: true
OptionalAbstractKeyword:
active: true
OptionalUnit:
- active: false
+ active: true
OptionalWhenBraces:
- active: false
+ active: false # Disabled because I personally feel braces helps readability
PreferToOverPairSyntax:
- active: false
+ active: true
ProtectedMemberInFinalClass:
active: true
RedundantExplicitType:
- active: false
+ active: true
RedundantHigherOrderMapUsage:
- active: false
+ active: true
RedundantVisibilityModifierRule:
- active: false
+ active: true
ReturnCount:
active: true
- max: 4 # Non-default
+ max: 3
excludedFunctions: 'equals'
excludeLabeled: false
excludeReturnFromLambda: true
@@ -677,70 +635,78 @@ style:
SerialVersionUIDInSerializableClass:
active: true
SpacingBetweenPackageAndImports:
- active: false
+ active: true
ThrowsCount:
active: true
max: 2
+ excludeGuardClauses: false
TrailingWhitespace:
- active: false
+ active: true
UnderscoresInNumericLiterals:
- active: false
- acceptableDecimalLength: 5
+ active: true
+ acceptableLength: 4
+ allowNonStandardGrouping: false
UnnecessaryAbstractClass:
active: true
- excludeAnnotatedClasses: ['dagger.Module']
UnnecessaryAnnotationUseSiteTarget:
- active: false
+ active: true
UnnecessaryApply:
active: true
+ UnnecessaryBackticks:
+ active: true
UnnecessaryFilter:
- active: false
+ active: true
UnnecessaryInheritance:
active: true
+ UnnecessaryInnerClass:
+ active: true
UnnecessaryLet:
- active: false
+ active: true
UnnecessaryParentheses:
- active: false
+ active: true
UntilInsteadOfRangeTo:
- active: false
+ active: true
UnusedImports:
- active: false
+ active: true
UnusedPrivateClass:
active: true
UnusedPrivateMember:
active: true
allowedNames: '(_|ignored|expected|serialVersionUID)'
+ UseAnyOrNoneInsteadOfFind:
+ active: true
UseArrayLiteralsInAnnotations:
- active: false
+ active: true
UseCheckNotNull:
- active: false
+ active: true
UseCheckOrError:
- active: false
+ active: true
UseDataClass:
- active: false
- excludeAnnotatedClasses: []
+ active: true
allowVars: false
UseEmptyCounterpart:
- active: false
+ active: true
UseIfEmptyOrIfBlank:
- active: false
+ active: true
UseIfInsteadOfWhen:
- active: false
+ active: true
UseIsNullOrEmpty:
- active: false
+ active: true
UseOrEmpty:
- active: false
+ active: true
UseRequire:
- active: false
+ active: true
UseRequireNotNull:
- active: false
+ active: true
UselessCallOnNotNull:
active: true
UtilityClassWithPublicConstructor:
active: true
VarCouldBeVal:
active: true
+ ignoreLateinitVar: false
WildcardImport:
active: true
- excludes: [] # Non-default
- excludeImports: [] # Non-default
+ excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
+ excludeImports:
+ - 'java.util.*'
diff --git a/documentation/FAQ.md b/documentation/FAQ.md
new file mode 100644
index 00000000..d5c2330f
--- /dev/null
+++ b/documentation/FAQ.md
@@ -0,0 +1,3 @@
+## Frequently Asked Questions
+
+> Stay tuned! There are currently no frequently asked questions, but they will be posted here.
diff --git a/documentation/index.md b/documentation/index.md
index 773e51d7..165b8389 100644
--- a/documentation/index.md
+++ b/documentation/index.md
@@ -1,45 +1,262 @@
-//[wisefy](index.md)
-
-# wisefy
-
-## Packages
-
-| Name |
-|---|
-| [com.isupatches.android.wisefy](wisefy/com.isupatches.android.wisefy/index.md) |
-| [com.isupatches.android.wisefy.accesspoints](wisefy/com.isupatches.android.wisefy.accesspoints/index.md) |
-| [com.isupatches.android.wisefy.accesspoints.delegates](wisefy/com.isupatches.android.wisefy.accesspoints.delegates/index.md) |
-| [com.isupatches.android.wisefy.accesspoints.entities](wisefy/com.isupatches.android.wisefy.accesspoints.entities/index.md) |
-| [com.isupatches.android.wisefy.addnetwork](wisefy/com.isupatches.android.wisefy.addnetwork/index.md) |
-| [com.isupatches.android.wisefy.addnetwork.delegates](wisefy/com.isupatches.android.wisefy.addnetwork.delegates/index.md) |
-| [com.isupatches.android.wisefy.addnetwork.entities](wisefy/com.isupatches.android.wisefy.addnetwork.entities/index.md) |
-| [com.isupatches.android.wisefy.callbacks](wisefy/com.isupatches.android.wisefy.callbacks/index.md) |
-| [com.isupatches.android.wisefy.constants](wisefy/com.isupatches.android.wisefy.constants/index.md) |
-| [com.isupatches.android.wisefy.frequency](wisefy/com.isupatches.android.wisefy.frequency/index.md) |
-| [com.isupatches.android.wisefy.frequency.delegates](wisefy/com.isupatches.android.wisefy.frequency.delegates/index.md) |
-| [com.isupatches.android.wisefy.logging](wisefy/com.isupatches.android.wisefy.logging/index.md) |
-| [com.isupatches.android.wisefy.networkconnection](wisefy/com.isupatches.android.wisefy.networkconnection/index.md) |
-| [com.isupatches.android.wisefy.networkconnection.delegates](wisefy/com.isupatches.android.wisefy.networkconnection.delegates/index.md) |
-| [com.isupatches.android.wisefy.networkconnection.entities](wisefy/com.isupatches.android.wisefy.networkconnection.entities/index.md) |
-| [com.isupatches.android.wisefy.networkconnectionstatus](wisefy/com.isupatches.android.wisefy.networkconnectionstatus/index.md) |
-| [com.isupatches.android.wisefy.networkconnectionstatus.delegates](wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/index.md) |
-| [com.isupatches.android.wisefy.networkconnectionstatus.entities](wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/index.md) |
-| [com.isupatches.android.wisefy.networkinfo](wisefy/com.isupatches.android.wisefy.networkinfo/index.md) |
-| [com.isupatches.android.wisefy.networkinfo.delegates](wisefy/com.isupatches.android.wisefy.networkinfo.delegates/index.md) |
-| [com.isupatches.android.wisefy.networkinfo.entities](wisefy/com.isupatches.android.wisefy.networkinfo.entities/index.md) |
-| [com.isupatches.android.wisefy.removenetwork](wisefy/com.isupatches.android.wisefy.removenetwork/index.md) |
-| [com.isupatches.android.wisefy.removenetwork.delegates](wisefy/com.isupatches.android.wisefy.removenetwork.delegates/index.md) |
-| [com.isupatches.android.wisefy.removenetwork.entities](wisefy/com.isupatches.android.wisefy.removenetwork.entities/index.md) |
-| [com.isupatches.android.wisefy.savednetworks](wisefy/com.isupatches.android.wisefy.savednetworks/index.md) |
-| [com.isupatches.android.wisefy.savednetworks.delegates](wisefy/com.isupatches.android.wisefy.savednetworks.delegates/index.md) |
-| [com.isupatches.android.wisefy.savednetworks.entities](wisefy/com.isupatches.android.wisefy.savednetworks.entities/index.md) |
-| [com.isupatches.android.wisefy.security](wisefy/com.isupatches.android.wisefy.security/index.md) |
-| [com.isupatches.android.wisefy.security.delegates](wisefy/com.isupatches.android.wisefy.security.delegates/index.md) |
-| [com.isupatches.android.wisefy.security.entities](wisefy/com.isupatches.android.wisefy.security.entities/index.md) |
-| [com.isupatches.android.wisefy.signal](wisefy/com.isupatches.android.wisefy.signal/index.md) |
-| [com.isupatches.android.wisefy.signal.delegates](wisefy/com.isupatches.android.wisefy.signal.delegates/index.md) |
-| [com.isupatches.android.wisefy.util](wisefy/com.isupatches.android.wisefy.util/index.md) |
-| [com.isupatches.android.wisefy.util.coroutines](wisefy/com.isupatches.android.wisefy.util.coroutines/index.md) |
-| [com.isupatches.android.wisefy.util.legacy](wisefy/com.isupatches.android.wisefy.util.legacy/index.md) |
-| [com.isupatches.android.wisefy.wifi](wisefy/com.isupatches.android.wisefy.wifi/index.md) |
-| [com.isupatches.android.wisefy.wifi.delegates](wisefy/com.isupatches.android.wisefy.wifi.delegates/index.md) |
+## Wisefy Documentation
+
+- [:accesspoints package](#accesspoints-package)
+ - [getAccessPoints](#getaccesspoints)
+- [:addnetwork package](#addnetwork-package)
+ - [addNetwork](#addnetwork)
+- [:networkconnection package](#networkconnection-package)
+ - [changeNetwork](#changenetwork)
+ - [connectToNetwork](#connecttonetwork)
+ - [disconnectFromCurrentNetwork](#disconnectfromcurrentnetwork)
+- [:networkinfo package](#networkinfo-package)
+ - [getCurrentNetwork](#getcurrentnetwork)
+ - [getNetworkConnectionStatus](#getnetworkconnectionstatus)
+- [:removenetwork package](#removenetwork-package)
+ - [removeNetwork](#removenetwork)
+- [:savednetworks package](#savednetworks-package)
+ - [getSavedNetworks](#getsavednetworks)
+- [:signal package](#sginal-package)
+ - [calculateSignalLevel](#calculatesignallevel)
+ - [compareSignalLevel](#comparesignallevel)
+- [:wifi package](#wifi-package)
+ - [disableWifi](#disablewifi)
+ - [enabledWifi](#enablewifi)
+ - [isWifiEnabled](#iswifienabled)
+- [Mutex Locks](#mutex-locks)
+
+### `:accesspoints` package
+
+#### getAccessPoints()
+
+Queries for nearby access points.
+
+- Usage example: [MiscViewModel::getNearbyAccessPoints](/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/MiscViewModel.kt#L211)
+- Request class: [GetAccessPointsQuery](/wisefy/accesspoints/src/main/java/com/isupatches/android/wisefy/accesspoints/entities/GetAccessPointsQuery.kt)
+- Result class: [GetAccessPointsResult](/wisefy/accesspoints/src/main/java/com/isupatches/android/wisefy/accesspoints/entities/GetAccessPointsResult.kt)
+- Callbacks: [GetAccessPointsCallbacks](/wisefy/accesspoints/src/main/java/com/isupatches/android/wisefy/accesspoints/callbacks/GetAccessPointsCallbacks.kt)
+- 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](/app/src/main/java/com/isupatches/android/wisefy/sample/features/add/AddNetworkViewModel.kt#L357)
+- Request class: [AddNetworkRequest](/wisefy/addnetwork/src/main/java/com/isupatches/android/wisefy/addnetwork/entities/AddNetworkRequest.kt)
+- Result class: [AddNetworkResult](/wisefy/addnetwork/src/main/java/com/isupatches/android/wisefy/addnetwork/entities/AddNetworkResult.kt)
+- Callbacks: [AddNetworkCallbacks](/wisefy/addnetwork/src/main/java/com/isupatches/android/wisefy/addnetwork/callbacks/AddNetworkCallbacks.kt)
+- 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](/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/MiscViewModel.kt#L97)
+- Request class: [ChangeNetworkRequest](/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/entities/ChangeNetworkRequest.kt)
+- Result class: [ChangeNetworkResult](/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/entities/ChangeNetworkResult.kt)
+- Callbacks: [ChangeNetworkCallbacks](/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/callbacks/ChangeNetworkCallbacks.kt)
+- 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](/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/entities/ConnectToNetworkRequest.kt)
+- Result class: [ConnectToNetworkResult](/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/entities/ConnectToNetworkResult.kt)
+- Callbacks: [ConnectToNetworkCallbacks](/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/callbacks/ConnectToNetworkCallbacks.kt)
+- 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.
+
+- Usage example: None
+- Request class: [DisconnectFromCurrentNetworkRequest](/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/entities/DisconnectFromCurrentNetworkRequest.kt)
+- Result class: [DisconnectFromCurrentNetworkResult](/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/entities/DisconnectFromCurrentNetworkResult.kt)
+- Callbacks: [DisconnectFromCurrentNetworkCallbacks](/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/callbacks/DisconnectFromCurrentNetworkCallbacks.kt)
+- API options:
+ - *Synchronous*: `fun disconnectFromCurrentNetwork(request: DisconnectFromCurrentNetworkRequest): DisconnectFromCurrentNetworkResult`
+ - *Async*: `fun disconnectFromCurrentNetwork(request: DisconnectFromCurrentNetworkRequest, callbacks: DisconnectFromCurrentNetworkCallbacks?)`
+- Permissions: None
+
+### `:networkinfo` package
+
+#### getCurrentNetwork()
+
+Queries the device's current network.
+
+- Usage example: [MiscViewModel::getCurrentNetwork](/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/MiscViewModel.kt#L182)
+- Request class: [GetCurrentNetworkQuery](/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/entities/GetCurrentNetworkQuery.kt)
+- Result class: [GetCurrentNetworkResult](/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/entities/GetCurrentNetworkResult.kt)
+- Callbacks: [GetCurrentNetworkCallbacks](/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/callbacks/GetCurrentNetworkCallbacks.kt)
+- API options:
+ - *Synchronous*: `fun getCurrentNetwork(query: GetCurrentNetworkQuery): GetCurrentNetworkResult`
+ - *Async*: `fun getCurrentNetwork(query: GetCurrentNetworkQuery, callbacks: GetCurrentNetworkCallbacks?)`
+ - *Coroutine*: `suspend fun WisefyApi.getCurrentNetworkAsync(query: GetCurrentNetworkQuery): GetCurrentNetworkResult`
+- Permissions: ACCESS_NETWORK_STATE
+
+#### getNetworkConnectionStatus()
+
+Queries the device's network connection status.
+
+- Usage example: [MiscViewModel::getNetworkConnectionStatus](/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/MiscViewModel.kt#L245)
+- Request class: [GetNetworkConnectionStatusQuery](/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/entities/GetNetworkConnectionStatusQuery.kt)
+- Result class: [GetNetworkConnectionStatusResult](/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/entities/GetNetworkConnectionStatusResult.kt)
+- Callbacks: [GetNetworkConnectionStatusCallbacks](/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/callbacks/GetNetworkConnectionStatusCallbacks.kt)
+- API options:
+ - *Synchronous*: `fun getNetworkConnectionStatus(query: GetNetworkConnectionStatusQuery): GetNetworkConnectionStatusResult`
+ - *Async*: `fun getNetworkConnectionStatus(query: GetNetworkConnectionStatusQuery, callbacks: GetNetworkConnectionStatusCallbacks?)`
+ - *Coroutine*: `suspend fun WisefyApi.getNetworkConnectionStatusAsync(query: GetNetworkConnectionStatusQuery): GetNetworkConnectionStatusResult`
+- Permissions: ACCESS_NETWORK_STATE
+
+#### `:removenetwork` package
+
+#### removeNetwork()
+
+Removes a network from the saved suggestions / configurations.
+
+- Usage example: [RemoveNetworkViewModel::removeNetwork](/app/src/main/java/com/isupatches/android/wisefy/sample/features/remove/RemoveNetworkViewModel.kt#L92)
+- Request class: [RemoveNetworkRequest](/wisefy/removenetwork/src/main/java/com/isupatches/android/wisefy/removenetwork/entities/RemoveNetworkRequest.kt)
+- Result class: [RemoveNetworkResult](/wisefy/removenetwork/src/main/java/com/isupatches/android/wisefy/removenetwork/entities/RemoveNetworkResult.kt)
+- Callbacks: [RemoveNetworkCallbacks](/wisefy/removenetwork/src/main/java/com/isupatches/android/wisefy/removenetwork/callbacks/RemoveNetworkCallbacks.kt)
+- 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](/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/MiscViewModel.kt#L275)
+- Request class: [GetSavedNetworksQuery](/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/entities/GetSavedNetworksQuery.kt)
+- Result class: [GetSavedNetworksResult](/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/entities/GetSavedNetworksResult.kt)
+- Callbacks: [GetSavedNetworksCallbacks](/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/callbacks/GetSavedNetworksCallbacks.kt)
+- 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](/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/entities/IsNetworkSavedQuery.kt)
+- Result class: [IsNetworkSavedResult](/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/entities/IsNetworkSavedResult.kt)
+- Callbacks: [IsNetworkSavedCallbacks](/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/callbacks/IsNetworkSavedCallbacks.kt)
+- 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.
+
+- Usage example: [SignalViewModel::calculateSignalLevel](/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/signal/SignalViewModel.kt#L105)
+- Request class: [CalculateSignalLevelRequest](/wisefy/signal/src/main/java/com/isupatches/android/wisefy/signal/entities/CalculateSignalLevelRequest.kt)
+- Result class: [CalculateSignalLevelResult](/wisefy/signal/src/main/java/com/isupatches/android/wisefy/signal/entities/CalculateSignalLevelResult.kt)
+- API options:
+ - *Synchronous*: `fun calculateSignalLevel(request: CalculateSignalLevelRequest): CalculateSignalLevelResult`
+- Permissions: None
+
+#### compareSignalLevel()
+
+Compares the strength of two networks by their respective RSSI levels.
+
+- Usage example: [SignalViewModel::compareSignalLevel](/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/signal/SignalViewModel.kt#L153)
+- Request class: [CompareSignalLevelRequest](/wisefy/signal/src/main/java/com/isupatches/android/wisefy/signal/entities/CompareSignalLevelRequest.kt)
+- Result class: [CompareSignalLevelResult](/wisefy/signal/src/main/java/com/isupatches/android/wisefy/signal/entities/CompareSignalLevelResult.kt)
+- API options:
+ - *Synchronous*: `fun compareSignalLevel(request: CompareSignalLevelRequest): CompareSignalLevelResult`
+- Permissions: None
+
+### `:wifi` package
+
+#### disableWifi()
+
+Disables Wifi.
+
+- Usage example: [MiscViewModel::disableWifi](/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/MiscViewModel.kt#L378)
+- Request class: [DisableWifiRequest](/wisefy/wifi/src/main/java/com/isupatches/android/wisefy/wifi/entities/DisableWifiRequest.kt)
+- Result class: [DisableWifiResult](/wisefy/wifi/src/main/java/com/isupatches/android/wisefy/wifi/entities/DisableWifiResult.kt)
+- Callbacks: [DisableWifiCallbacks](/wisefy/wifi/src/main/java/com/isupatches/android/wisefy/wifi/callbacks/DisableWifiCallbacks.kt)
+- 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](/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/MiscViewModel.kt#L413)
+- Request class: [EnableWifiRequest](/wisefy/wifi/src/main/java/com/isupatches/android/wisefy/wifi/entities/EnableWifiRequest.kt)
+- Result class: [EnableWifiResult](/wisefy/wifi/src/main/java/com/isupatches/android/wisefy/wifi/entities/EnableWifiResult.kt)
+- Callbacks: [DisableWifiCallbacks](/wisefy/wifi/src/main/java/com/isupatches/android/wisefy/wifi/callbacks/EnableWifiCallbacks.kt)
+- 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](/app/src/main/java/com/isupatches/android/wisefy/sample/features/misc/MiscViewModel.kt#L309)
+- Query class: [IsWifiEnabledQuery](/wisefy/wifi/src/main/java/com/isupatches/android/wisefy/wifi/entities/IsWifiEnabledQuery.kt)
+- Result class: [IsWifiEnabledResult](/wisefy/wifi/src/main/java/com/isupatches/android/wisefy/wifi/entities/IsWifiEnabledResult.kt)
+- Callbacks: [IsWifiEnabledCallbacks](/wisefy/wifi/src/main/java/com/isupatches/android/wisefy/wifi/callbacks/IsWifiEnabledCallbacks.kt)
+- 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`
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-l-o-g_-t-a-g.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-l-o-g_-t-a-g.md
deleted file mode 100644
index 94cf3360..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-l-o-g_-t-a-g.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.accesspoints.delegates](index.md)/[LOG_TAG](-l-o-g_-t-a-g.md)
-
-# LOG_TAG
-
-[androidJvm]\
-private const val [LOG_TAG](-l-o-g_-t-a-g.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/-legacy-access-points-api-impl.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/-legacy-access-points-api-impl.md
deleted file mode 100644
index 5f56bda2..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/-legacy-access-points-api-impl.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.delegates](../index.md)/[LegacyAccessPointsApiImpl](index.md)/[LegacyAccessPointsApiImpl](-legacy-access-points-api-impl.md)
-
-# LegacyAccessPointsApiImpl
-
-[androidJvm]\
-fun [LegacyAccessPointsApiImpl](-legacy-access-points-api-impl.md)(wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), logger: [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/access-point-matches-regex.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/access-point-matches-regex.md
deleted file mode 100644
index f8516089..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/access-point-matches-regex.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.delegates](../index.md)/[LegacyAccessPointsApiImpl](index.md)/[accessPointMatchesRegex](access-point-matches-regex.md)
-
-# accessPointMatchesRegex
-
-[androidJvm]\
-private fun [accessPointMatchesRegex](access-point-matches-regex.md)(accessPoint: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)?, regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/get-nearby-access-points.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/get-nearby-access-points.md
deleted file mode 100644
index 688a3430..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/get-nearby-access-points.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.delegates](../index.md)/[LegacyAccessPointsApiImpl](index.md)/[getNearbyAccessPoints](get-nearby-access-points.md)
-
-# getNearbyAccessPoints
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [getNearbyAccessPoints](get-nearby-access-points.md)(filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)>
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/get-r-s-s-i.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/get-r-s-s-i.md
deleted file mode 100644
index 61c67306..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/get-r-s-s-i.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.delegates](../index.md)/[LegacyAccessPointsApiImpl](index.md)/[getRSSI](get-r-s-s-i.md)
-
-# getRSSI
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [getRSSI](get-r-s-s-i.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), takeHighest: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)?
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/has-highest-signal-strength.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/has-highest-signal-strength.md
deleted file mode 100644
index 0d0ac079..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/has-highest-signal-strength.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.delegates](../index.md)/[LegacyAccessPointsApiImpl](index.md)/[hasHighestSignalStrength](has-highest-signal-strength.md)
-
-# hasHighestSignalStrength
-
-[androidJvm]\
-private fun [hasHighestSignalStrength](has-highest-signal-strength.md)(accessPoints: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)>, currentAccessPoint: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/index.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/index.md
deleted file mode 100644
index b99bbcf6..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/index.md
+++ /dev/null
@@ -1,31 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.delegates](../index.md)/[LegacyAccessPointsApiImpl](index.md)
-
-# LegacyAccessPointsApiImpl
-
-[androidJvm]\
-internal class [LegacyAccessPointsApiImpl](index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), **logger**: [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?) : [LegacyAccessPointsApi](../-legacy-access-points-api/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [accessPointMatchesRegex](access-point-matches-regex.md) | [androidJvm]
private fun [accessPointMatchesRegex](access-point-matches-regex.md)(accessPoint: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)?, regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [getNearbyAccessPoints](get-nearby-access-points.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [getNearbyAccessPoints](get-nearby-access-points.md)(filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)> |
-| [getRSSI](get-r-s-s-i.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [getRSSI](get-r-s-s-i.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), takeHighest: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)? |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [hasHighestSignalStrength](has-highest-signal-strength.md) | [androidJvm]
private fun [hasHighestSignalStrength](has-highest-signal-strength.md)(accessPoints: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)>, currentAccessPoint: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [removeEntriesWithLowerSignalStrength](remove-entries-with-lower-signal-strength.md) | [androidJvm]
private fun [removeEntriesWithLowerSignalStrength](remove-entries-with-lower-signal-strength.md)(accessPoints: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)>): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)> |
-| [searchForAccessPoint](search-for-access-point.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [searchForAccessPoint](search-for-access-point.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)? |
-| [searchForAccessPoints](search-for-access-points.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [searchForAccessPoints](search-for-access-points.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)> |
-| [searchForSSID](search-for-s-s-i-d.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [searchForSSID](search-for-s-s-i-d.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)? |
-| [searchForSSIDs](search-for-s-s-i-ds.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [searchForSSIDs](search-for-s-s-i-ds.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)> |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [logger](logger.md) | [androidJvm]
private val [logger](logger.md): [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)? |
-| [scanResultsProvider](scan-results-provider.md) | [androidJvm]
private val [scanResultsProvider](scan-results-provider.md): () -> [MutableList](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-list/index.html)<[ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)> |
-| [wifiManager](wifi-manager.md) | [androidJvm]
private val [wifiManager](wifi-manager.md): [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/logger.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/logger.md
deleted file mode 100644
index 40bbb496..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/logger.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.delegates](../index.md)/[LegacyAccessPointsApiImpl](index.md)/[logger](logger.md)
-
-# logger
-
-[androidJvm]\
-private val [logger](logger.md): [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/remove-entries-with-lower-signal-strength.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/remove-entries-with-lower-signal-strength.md
deleted file mode 100644
index d9b2ee10..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/remove-entries-with-lower-signal-strength.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.delegates](../index.md)/[LegacyAccessPointsApiImpl](index.md)/[removeEntriesWithLowerSignalStrength](remove-entries-with-lower-signal-strength.md)
-
-# removeEntriesWithLowerSignalStrength
-
-[androidJvm]\
-private fun [removeEntriesWithLowerSignalStrength](remove-entries-with-lower-signal-strength.md)(accessPoints: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)>): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)>
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/scan-results-provider.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/scan-results-provider.md
deleted file mode 100644
index bdb37dc3..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/scan-results-provider.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.delegates](../index.md)/[LegacyAccessPointsApiImpl](index.md)/[scanResultsProvider](scan-results-provider.md)
-
-# scanResultsProvider
-
-[androidJvm]\
-private val [scanResultsProvider](scan-results-provider.md): () -> [MutableList](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-list/index.html)<[ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)>
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/search-for-access-point.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/search-for-access-point.md
deleted file mode 100644
index 54b8722a..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/search-for-access-point.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.delegates](../index.md)/[LegacyAccessPointsApiImpl](index.md)/[searchForAccessPoint](search-for-access-point.md)
-
-# searchForAccessPoint
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [searchForAccessPoint](search-for-access-point.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)?
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/search-for-access-points.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/search-for-access-points.md
deleted file mode 100644
index beb9f691..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/search-for-access-points.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.delegates](../index.md)/[LegacyAccessPointsApiImpl](index.md)/[searchForAccessPoints](search-for-access-points.md)
-
-# searchForAccessPoints
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [searchForAccessPoints](search-for-access-points.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)>
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/search-for-s-s-i-d.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/search-for-s-s-i-d.md
deleted file mode 100644
index 3310ba5c..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/search-for-s-s-i-d.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.delegates](../index.md)/[LegacyAccessPointsApiImpl](index.md)/[searchForSSID](search-for-s-s-i-d.md)
-
-# searchForSSID
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [searchForSSID](search-for-s-s-i-d.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/search-for-s-s-i-ds.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/search-for-s-s-i-ds.md
deleted file mode 100644
index 22f0bb8a..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/search-for-s-s-i-ds.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.delegates](../index.md)/[LegacyAccessPointsApiImpl](index.md)/[searchForSSIDs](search-for-s-s-i-ds.md)
-
-# searchForSSIDs
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [searchForSSIDs](search-for-s-s-i-ds.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)>
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/wifi-manager.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/wifi-manager.md
deleted file mode 100644
index 045723ea..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/wifi-manager.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.delegates](../index.md)/[LegacyAccessPointsApiImpl](index.md)/[wifiManager](wifi-manager.md)
-
-# wifiManager
-
-[androidJvm]\
-private val [wifiManager](wifi-manager.md): [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api/get-nearby-access-points.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api/get-nearby-access-points.md
deleted file mode 100644
index b0f23c8a..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api/get-nearby-access-points.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.delegates](../index.md)/[LegacyAccessPointsApi](index.md)/[getNearbyAccessPoints](get-nearby-access-points.md)
-
-# getNearbyAccessPoints
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-abstract fun [getNearbyAccessPoints](get-nearby-access-points.md)(filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)>
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api/get-r-s-s-i.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api/get-r-s-s-i.md
deleted file mode 100644
index db3e1770..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api/get-r-s-s-i.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.delegates](../index.md)/[LegacyAccessPointsApi](index.md)/[getRSSI](get-r-s-s-i.md)
-
-# getRSSI
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-abstract fun [getRSSI](get-r-s-s-i.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), takeHighest: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)?
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api/index.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api/index.md
deleted file mode 100644
index a009c1f7..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api/index.md
+++ /dev/null
@@ -1,26 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.delegates](../index.md)/[LegacyAccessPointsApi](index.md)
-
-# LegacyAccessPointsApi
-
-[androidJvm]\
-internal interface [LegacyAccessPointsApi](index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [getNearbyAccessPoints](get-nearby-access-points.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
abstract fun [getNearbyAccessPoints](get-nearby-access-points.md)(filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)> |
-| [getRSSI](get-r-s-s-i.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
abstract fun [getRSSI](get-r-s-s-i.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), takeHighest: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)? |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [searchForAccessPoint](search-for-access-point.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
abstract fun [searchForAccessPoint](search-for-access-point.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)? |
-| [searchForAccessPoints](search-for-access-points.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
abstract fun [searchForAccessPoints](search-for-access-points.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)> |
-| [searchForSSID](search-for-s-s-i-d.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
abstract fun [searchForSSID](search-for-s-s-i-d.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)? |
-| [searchForSSIDs](search-for-s-s-i-ds.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
abstract fun [searchForSSIDs](search-for-s-s-i-ds.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)> |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [LegacyAccessPointsApiImpl](../-legacy-access-points-api-impl/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api/search-for-access-point.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api/search-for-access-point.md
deleted file mode 100644
index deae216d..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api/search-for-access-point.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.delegates](../index.md)/[LegacyAccessPointsApi](index.md)/[searchForAccessPoint](search-for-access-point.md)
-
-# searchForAccessPoint
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-abstract fun [searchForAccessPoint](search-for-access-point.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)?
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api/search-for-access-points.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api/search-for-access-points.md
deleted file mode 100644
index ec126324..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api/search-for-access-points.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.delegates](../index.md)/[LegacyAccessPointsApi](index.md)/[searchForAccessPoints](search-for-access-points.md)
-
-# searchForAccessPoints
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-abstract fun [searchForAccessPoints](search-for-access-points.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)>
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api/search-for-s-s-i-d.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api/search-for-s-s-i-d.md
deleted file mode 100644
index 501b8467..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api/search-for-s-s-i-d.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.delegates](../index.md)/[LegacyAccessPointsApi](index.md)/[searchForSSID](search-for-s-s-i-d.md)
-
-# searchForSSID
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-abstract fun [searchForSSID](search-for-s-s-i-d.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api/search-for-s-s-i-ds.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api/search-for-s-s-i-ds.md
deleted file mode 100644
index a9346de2..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api/search-for-s-s-i-ds.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.delegates](../index.md)/[LegacyAccessPointsApi](index.md)/[searchForSSIDs](search-for-s-s-i-ds.md)
-
-# searchForSSIDs
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-abstract fun [searchForSSIDs](search-for-s-s-i-ds.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)>
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-delegate/-legacy-access-points-delegate.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-delegate/-legacy-access-points-delegate.md
deleted file mode 100644
index cc8dbe3c..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-delegate/-legacy-access-points-delegate.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.delegates](../index.md)/[LegacyAccessPointsDelegate](index.md)/[LegacyAccessPointsDelegate](-legacy-access-points-delegate.md)
-
-# LegacyAccessPointsDelegate
-
-[androidJvm]\
-fun [LegacyAccessPointsDelegate](-legacy-access-points-delegate.md)(wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), logger: [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?, impl: [LegacyAccessPointsApi](../-legacy-access-points-api/index.md) = LegacyAccessPointsApiImpl(wifiManager, logger))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-delegate/get-nearby-access-points.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-delegate/get-nearby-access-points.md
deleted file mode 100644
index 717793c5..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-delegate/get-nearby-access-points.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.delegates](../index.md)/[LegacyAccessPointsDelegate](index.md)/[getNearbyAccessPoints](get-nearby-access-points.md)
-
-# getNearbyAccessPoints
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [getNearbyAccessPoints](get-nearby-access-points.md)(filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)>
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-delegate/get-r-s-s-i.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-delegate/get-r-s-s-i.md
deleted file mode 100644
index 7f250bc6..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-delegate/get-r-s-s-i.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.delegates](../index.md)/[LegacyAccessPointsDelegate](index.md)/[getRSSI](get-r-s-s-i.md)
-
-# getRSSI
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [getRSSI](get-r-s-s-i.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), takeHighest: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)?
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-delegate/impl.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-delegate/impl.md
deleted file mode 100644
index a3930e9b..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-delegate/impl.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.delegates](../index.md)/[LegacyAccessPointsDelegate](index.md)/[impl](impl.md)
-
-# impl
-
-[androidJvm]\
-private val [impl](impl.md): [LegacyAccessPointsApi](../-legacy-access-points-api/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-delegate/index.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-delegate/index.md
deleted file mode 100644
index 0aaec784..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-delegate/index.md
+++ /dev/null
@@ -1,26 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.delegates](../index.md)/[LegacyAccessPointsDelegate](index.md)
-
-# LegacyAccessPointsDelegate
-
-[androidJvm]\
-internal class [LegacyAccessPointsDelegate](index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), **logger**: [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?, **impl**: [LegacyAccessPointsApi](../-legacy-access-points-api/index.md)) : [AccessPointsApi](../../com.isupatches.android.wisefy.accesspoints/-access-points-api/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [getNearbyAccessPoints](get-nearby-access-points.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [getNearbyAccessPoints](get-nearby-access-points.md)(filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)> |
-| [getRSSI](get-r-s-s-i.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [getRSSI](get-r-s-s-i.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), takeHighest: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)? |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [searchForAccessPoint](search-for-access-point.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [searchForAccessPoint](search-for-access-point.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)? |
-| [searchForAccessPoints](search-for-access-points.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [searchForAccessPoints](search-for-access-points.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)> |
-| [searchForSSID](search-for-s-s-i-d.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [searchForSSID](search-for-s-s-i-d.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)? |
-| [searchForSSIDs](search-for-s-s-i-ds.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [searchForSSIDs](search-for-s-s-i-ds.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)> |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [impl](impl.md) | [androidJvm]
private val [impl](impl.md): [LegacyAccessPointsApi](../-legacy-access-points-api/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-delegate/search-for-access-point.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-delegate/search-for-access-point.md
deleted file mode 100644
index c170907b..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-delegate/search-for-access-point.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.delegates](../index.md)/[LegacyAccessPointsDelegate](index.md)/[searchForAccessPoint](search-for-access-point.md)
-
-# searchForAccessPoint
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [searchForAccessPoint](search-for-access-point.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)?
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-delegate/search-for-access-points.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-delegate/search-for-access-points.md
deleted file mode 100644
index bd3d0138..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-delegate/search-for-access-points.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.delegates](../index.md)/[LegacyAccessPointsDelegate](index.md)/[searchForAccessPoints](search-for-access-points.md)
-
-# searchForAccessPoints
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [searchForAccessPoints](search-for-access-points.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)>
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-delegate/search-for-s-s-i-d.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-delegate/search-for-s-s-i-d.md
deleted file mode 100644
index d592a150..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-delegate/search-for-s-s-i-d.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.delegates](../index.md)/[LegacyAccessPointsDelegate](index.md)/[searchForSSID](search-for-s-s-i-d.md)
-
-# searchForSSID
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [searchForSSID](search-for-s-s-i-d.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-delegate/search-for-s-s-i-ds.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-delegate/search-for-s-s-i-ds.md
deleted file mode 100644
index 122d739a..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-delegate/search-for-s-s-i-ds.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.delegates](../index.md)/[LegacyAccessPointsDelegate](index.md)/[searchForSSIDs](search-for-s-s-i-ds.md)
-
-# searchForSSIDs
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [searchForSSIDs](search-for-s-s-i-ds.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)>
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/index.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/index.md
deleted file mode 100644
index c3574495..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/index.md
+++ /dev/null
@@ -1,17 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.accesspoints.delegates](index.md)
-
-# Package com.isupatches.android.wisefy.accesspoints.delegates
-
-## Types
-
-| Name | Summary |
-|---|---|
-| [LegacyAccessPointsApi](-legacy-access-points-api/index.md) | [androidJvm]
internal interface [LegacyAccessPointsApi](-legacy-access-points-api/index.md) |
-| [LegacyAccessPointsApiImpl](-legacy-access-points-api-impl/index.md) | [androidJvm]
internal class [LegacyAccessPointsApiImpl](-legacy-access-points-api-impl/index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), **logger**: [WisefyLogger](../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?) : [LegacyAccessPointsApi](-legacy-access-points-api/index.md) |
-| [LegacyAccessPointsDelegate](-legacy-access-points-delegate/index.md) | [androidJvm]
internal class [LegacyAccessPointsDelegate](-legacy-access-points-delegate/index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), **logger**: [WisefyLogger](../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?, **impl**: [LegacyAccessPointsApi](-legacy-access-points-api/index.md)) : [AccessPointsApi](../com.isupatches.android.wisefy.accesspoints/-access-points-api/index.md) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [LOG_TAG](-l-o-g_-t-a-g.md) | [androidJvm]
private const val [LOG_TAG](-l-o-g_-t-a-g.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/-access-point-data.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/-access-point-data.md
deleted file mode 100644
index 9fb459b0..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/-access-point-data.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](../index.md)/[AccessPointData](index.md)/[AccessPointData](-access-point-data.md)
-
-# AccessPointData
-
-[androidJvm]\
-protected fun [AccessPointData](-access-point-data.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/-scan-data/-scan-data.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/-scan-data/-scan-data.md
deleted file mode 100644
index 88e8262c..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/-scan-data/-scan-data.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](../../index.md)/[AccessPointData](../index.md)/[ScanData](index.md)/[ScanData](-scan-data.md)
-
-# ScanData
-
-[androidJvm]\
-fun [ScanData](-scan-data.md)(data: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/-scan-data/component1.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/-scan-data/component1.md
deleted file mode 100644
index 093b5d89..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/-scan-data/component1.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](../../index.md)/[AccessPointData](../index.md)/[ScanData](index.md)/[component1](component1.md)
-
-# component1
-
-[androidJvm]\
-operator fun [component1](component1.md)(): [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/-scan-data/copy.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/-scan-data/copy.md
deleted file mode 100644
index 1750f6a3..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/-scan-data/copy.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](../../index.md)/[AccessPointData](../index.md)/[ScanData](index.md)/[copy](copy.md)
-
-# copy
-
-[androidJvm]\
-fun [copy](copy.md)(data: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [AccessPointData.ScanData](index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/-scan-data/data.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/-scan-data/data.md
deleted file mode 100644
index 19fb959d..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/-scan-data/data.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](../../index.md)/[AccessPointData](../index.md)/[ScanData](index.md)/[data](data.md)
-
-# data
-
-[androidJvm]\
-val [data](data.md): [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/-scan-data/index.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/-scan-data/index.md
deleted file mode 100644
index 0cfcd517..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/-scan-data/index.md
+++ /dev/null
@@ -1,22 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](../../index.md)/[AccessPointData](../index.md)/[ScanData](index.md)
-
-# ScanData
-
-[androidJvm]\
-data class [ScanData](index.md)(**data**: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)) : [AccessPointData](../index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [component1](component1.md) | [androidJvm]
operator fun [component1](component1.md)(): [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html) |
-| [copy](copy.md) | [androidJvm]
fun [copy](copy.md)(data: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [AccessPointData.ScanData](index.md) |
-| [equals](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator override fun [equals](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open override fun [hashCode](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open override fun [toString](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [data](data.md) | [androidJvm]
val [data](data.md): [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md
deleted file mode 100644
index bee42525..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md
+++ /dev/null
@@ -1,26 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](../index.md)/[AccessPointData](index.md)
-
-# AccessPointData
-
-[androidJvm]\
-sealed class [AccessPointData](index.md)
-
-## Types
-
-| Name | Summary |
-|---|---|
-| [ScanData](-scan-data/index.md) | [androidJvm]
data class [ScanData](-scan-data/index.md)(**data**: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)) : [AccessPointData](index.md) |
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [AccessPointData](-scan-data/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.entities/index.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.entities/index.md
deleted file mode 100644
index 9eb0969d..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints.entities/index.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](index.md)
-
-# Package com.isupatches.android.wisefy.accesspoints.entities
-
-## Types
-
-| Name | Summary |
-|---|---|
-| [AccessPointData](-access-point-data/index.md) | [androidJvm]
sealed class [AccessPointData](-access-point-data/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api-async/get-nearby-access-points.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api-async/get-nearby-access-points.md
deleted file mode 100644
index 2d542e78..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api-async/get-nearby-access-points.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints](../index.md)/[AccessPointsApiAsync](index.md)/[getNearbyAccessPoints](get-nearby-access-points.md)
-
-# getNearbyAccessPoints
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-abstract fun [getNearbyAccessPoints](get-nearby-access-points.md)(filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), callbacks: [GetNearbyAccessPointCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-nearby-access-point-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api-async/get-r-s-s-i.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api-async/get-r-s-s-i.md
deleted file mode 100644
index b8b8afb3..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api-async/get-r-s-s-i.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints](../index.md)/[AccessPointsApiAsync](index.md)/[getRSSI](get-r-s-s-i.md)
-
-# getRSSI
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-abstract fun [getRSSI](get-r-s-s-i.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), takeHighest: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), callbacks: [GetRSSICallbacks](../../com.isupatches.android.wisefy.callbacks/-get-r-s-s-i-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api-async/index.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api-async/index.md
deleted file mode 100644
index 8bf2230b..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api-async/index.md
+++ /dev/null
@@ -1,27 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints](../index.md)/[AccessPointsApiAsync](index.md)
-
-# AccessPointsApiAsync
-
-[androidJvm]\
-interface [AccessPointsApiAsync](index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [getNearbyAccessPoints](get-nearby-access-points.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
abstract fun [getNearbyAccessPoints](get-nearby-access-points.md)(filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), callbacks: [GetNearbyAccessPointCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-nearby-access-point-callbacks/index.md)?) |
-| [getRSSI](get-r-s-s-i.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
abstract fun [getRSSI](get-r-s-s-i.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), takeHighest: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), callbacks: [GetRSSICallbacks](../../com.isupatches.android.wisefy.callbacks/-get-r-s-s-i-callbacks/index.md)?) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [searchForAccessPoint](search-for-access-point.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
abstract fun [searchForAccessPoint](search-for-access-point.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), callbacks: [SearchForAccessPointCallbacks](../../com.isupatches.android.wisefy.callbacks/-search-for-access-point-callbacks/index.md)?) |
-| [searchForAccessPoints](search-for-access-points.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
abstract fun [searchForAccessPoints](search-for-access-points.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), callbacks: [SearchForAccessPointsCallbacks](../../com.isupatches.android.wisefy.callbacks/-search-for-access-points-callbacks/index.md)?) |
-| [searchForSSID](search-for-s-s-i-d.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
abstract fun [searchForSSID](search-for-s-s-i-d.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), callbacks: [SearchForSSIDCallbacks](../../com.isupatches.android.wisefy.callbacks/-search-for-s-s-i-d-callbacks/index.md)?) |
-| [searchForSSIDs](search-for-s-s-i-ds.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
abstract fun [searchForSSIDs](search-for-s-s-i-ds.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), callbacks: [SearchForSSIDsCallbacks](../../com.isupatches.android.wisefy.callbacks/-search-for-s-s-i-ds-callbacks/index.md)?) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [WisefyApi](../../com.isupatches.android.wisefy/-wisefy-api/index.md) |
-| [AccessPointsUtil](../-access-points-util/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api-async/search-for-access-point.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api-async/search-for-access-point.md
deleted file mode 100644
index bf38a58c..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api-async/search-for-access-point.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints](../index.md)/[AccessPointsApiAsync](index.md)/[searchForAccessPoint](search-for-access-point.md)
-
-# searchForAccessPoint
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-abstract fun [searchForAccessPoint](search-for-access-point.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), callbacks: [SearchForAccessPointCallbacks](../../com.isupatches.android.wisefy.callbacks/-search-for-access-point-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api-async/search-for-access-points.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api-async/search-for-access-points.md
deleted file mode 100644
index b467bac6..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api-async/search-for-access-points.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints](../index.md)/[AccessPointsApiAsync](index.md)/[searchForAccessPoints](search-for-access-points.md)
-
-# searchForAccessPoints
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-abstract fun [searchForAccessPoints](search-for-access-points.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), callbacks: [SearchForAccessPointsCallbacks](../../com.isupatches.android.wisefy.callbacks/-search-for-access-points-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api-async/search-for-s-s-i-d.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api-async/search-for-s-s-i-d.md
deleted file mode 100644
index 229aea4b..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api-async/search-for-s-s-i-d.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints](../index.md)/[AccessPointsApiAsync](index.md)/[searchForSSID](search-for-s-s-i-d.md)
-
-# searchForSSID
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-abstract fun [searchForSSID](search-for-s-s-i-d.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), callbacks: [SearchForSSIDCallbacks](../../com.isupatches.android.wisefy.callbacks/-search-for-s-s-i-d-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api-async/search-for-s-s-i-ds.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api-async/search-for-s-s-i-ds.md
deleted file mode 100644
index 58b8f918..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api-async/search-for-s-s-i-ds.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints](../index.md)/[AccessPointsApiAsync](index.md)/[searchForSSIDs](search-for-s-s-i-ds.md)
-
-# searchForSSIDs
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-abstract fun [searchForSSIDs](search-for-s-s-i-ds.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), callbacks: [SearchForSSIDsCallbacks](../../com.isupatches.android.wisefy.callbacks/-search-for-s-s-i-ds-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api/get-nearby-access-points.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api/get-nearby-access-points.md
deleted file mode 100644
index 32538d45..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api/get-nearby-access-points.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints](../index.md)/[AccessPointsApi](index.md)/[getNearbyAccessPoints](get-nearby-access-points.md)
-
-# getNearbyAccessPoints
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-abstract fun [getNearbyAccessPoints](get-nearby-access-points.md)(filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)>
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api/get-r-s-s-i.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api/get-r-s-s-i.md
deleted file mode 100644
index 05324228..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api/get-r-s-s-i.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints](../index.md)/[AccessPointsApi](index.md)/[getRSSI](get-r-s-s-i.md)
-
-# getRSSI
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-abstract fun [getRSSI](get-r-s-s-i.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), takeHighest: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)?
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api/index.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api/index.md
deleted file mode 100644
index d10f5509..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api/index.md
+++ /dev/null
@@ -1,28 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints](../index.md)/[AccessPointsApi](index.md)
-
-# AccessPointsApi
-
-[androidJvm]\
-interface [AccessPointsApi](index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [getNearbyAccessPoints](get-nearby-access-points.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
abstract fun [getNearbyAccessPoints](get-nearby-access-points.md)(filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)> |
-| [getRSSI](get-r-s-s-i.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
abstract fun [getRSSI](get-r-s-s-i.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), takeHighest: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)? |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [searchForAccessPoint](search-for-access-point.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
abstract fun [searchForAccessPoint](search-for-access-point.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)? |
-| [searchForAccessPoints](search-for-access-points.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
abstract fun [searchForAccessPoints](search-for-access-points.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)> |
-| [searchForSSID](search-for-s-s-i-d.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
abstract fun [searchForSSID](search-for-s-s-i-d.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)? |
-| [searchForSSIDs](search-for-s-s-i-ds.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
abstract fun [searchForSSIDs](search-for-s-s-i-ds.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)> |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [WisefyApi](../../com.isupatches.android.wisefy/-wisefy-api/index.md) |
-| [AccessPointsUtil](../-access-points-util/index.md) |
-| [LegacyAccessPointsDelegate](../../com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-delegate/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api/search-for-access-point.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api/search-for-access-point.md
deleted file mode 100644
index f0e30e6d..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api/search-for-access-point.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints](../index.md)/[AccessPointsApi](index.md)/[searchForAccessPoint](search-for-access-point.md)
-
-# searchForAccessPoint
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-abstract fun [searchForAccessPoint](search-for-access-point.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)?
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api/search-for-access-points.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api/search-for-access-points.md
deleted file mode 100644
index 0e1bf72b..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api/search-for-access-points.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints](../index.md)/[AccessPointsApi](index.md)/[searchForAccessPoints](search-for-access-points.md)
-
-# searchForAccessPoints
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-abstract fun [searchForAccessPoints](search-for-access-points.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)>
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api/search-for-s-s-i-d.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api/search-for-s-s-i-d.md
deleted file mode 100644
index 1400b2da..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api/search-for-s-s-i-d.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints](../index.md)/[AccessPointsApi](index.md)/[searchForSSID](search-for-s-s-i-d.md)
-
-# searchForSSID
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-abstract fun [searchForSSID](search-for-s-s-i-d.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api/search-for-s-s-i-ds.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api/search-for-s-s-i-ds.md
deleted file mode 100644
index f6e57bf3..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api/search-for-s-s-i-ds.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints](../index.md)/[AccessPointsApi](index.md)/[searchForSSIDs](search-for-s-s-i-ds.md)
-
-# searchForSSIDs
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-abstract fun [searchForSSIDs](search-for-s-s-i-ds.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)>
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-util/index.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-util/index.md
deleted file mode 100644
index 6716807a..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-util/index.md
+++ /dev/null
@@ -1,26 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints](../index.md)/[AccessPointsUtil](index.md)
-
-# AccessPointsUtil
-
-[androidJvm]\
-internal interface [AccessPointsUtil](index.md) : [AccessPointsApi](../-access-points-api/index.md), [AccessPointsApiAsync](../-access-points-api-async/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [getNearbyAccessPoints](../-access-points-api/get-nearby-access-points.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
abstract fun [getNearbyAccessPoints](../-access-points-api/get-nearby-access-points.md)(filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)>
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
abstract fun [getNearbyAccessPoints](../-access-points-api-async/get-nearby-access-points.md)(filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), callbacks: [GetNearbyAccessPointCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-nearby-access-point-callbacks/index.md)?) |
-| [getRSSI](../-access-points-api/get-r-s-s-i.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
abstract fun [getRSSI](../-access-points-api/get-r-s-s-i.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), takeHighest: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)?
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
abstract fun [getRSSI](../-access-points-api-async/get-r-s-s-i.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), takeHighest: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), callbacks: [GetRSSICallbacks](../../com.isupatches.android.wisefy.callbacks/-get-r-s-s-i-callbacks/index.md)?) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [searchForAccessPoint](../-access-points-api/search-for-access-point.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
abstract fun [searchForAccessPoint](../-access-points-api/search-for-access-point.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)?
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
abstract fun [searchForAccessPoint](../-access-points-api-async/search-for-access-point.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), callbacks: [SearchForAccessPointCallbacks](../../com.isupatches.android.wisefy.callbacks/-search-for-access-point-callbacks/index.md)?) |
-| [searchForAccessPoints](../-access-points-api/search-for-access-points.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
abstract fun [searchForAccessPoints](../-access-points-api/search-for-access-points.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)>
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
abstract fun [searchForAccessPoints](../-access-points-api-async/search-for-access-points.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), callbacks: [SearchForAccessPointsCallbacks](../../com.isupatches.android.wisefy.callbacks/-search-for-access-points-callbacks/index.md)?) |
-| [searchForSSID](../-access-points-api/search-for-s-s-i-d.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
abstract fun [searchForSSID](../-access-points-api/search-for-s-s-i-d.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
abstract fun [searchForSSID](../-access-points-api-async/search-for-s-s-i-d.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), callbacks: [SearchForSSIDCallbacks](../../com.isupatches.android.wisefy.callbacks/-search-for-s-s-i-d-callbacks/index.md)?) |
-| [searchForSSIDs](../-access-points-api/search-for-s-s-i-ds.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
abstract fun [searchForSSIDs](../-access-points-api/search-for-s-s-i-ds.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)>
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
abstract fun [searchForSSIDs](../-access-points-api-async/search-for-s-s-i-ds.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), callbacks: [SearchForSSIDsCallbacks](../../com.isupatches.android.wisefy.callbacks/-search-for-s-s-i-ds-callbacks/index.md)?) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [WisefyAccessPointsUtil](../-wisefy-access-points-util/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-l-o-g_-t-a-g.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-l-o-g_-t-a-g.md
deleted file mode 100644
index 054884e1..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-l-o-g_-t-a-g.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.accesspoints](index.md)/[LOG_TAG](-l-o-g_-t-a-g.md)
-
-# LOG_TAG
-
-[androidJvm]\
-private const val [LOG_TAG](-l-o-g_-t-a-g.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/-wisefy-access-points-util.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/-wisefy-access-points-util.md
deleted file mode 100644
index 3d0284b4..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/-wisefy-access-points-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints](../index.md)/[WisefyAccessPointsUtil](index.md)/[WisefyAccessPointsUtil](-wisefy-access-points-util.md)
-
-# WisefyAccessPointsUtil
-
-[androidJvm]\
-fun [WisefyAccessPointsUtil](-wisefy-access-points-util.md)(coroutineDispatcherProvider: [CoroutineDispatcherProvider](../../com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/index.md), logger: [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?, wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/access-point-scope.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/access-point-scope.md
deleted file mode 100644
index 7c97b90a..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/access-point-scope.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints](../index.md)/[WisefyAccessPointsUtil](index.md)/[accessPointScope](access-point-scope.md)
-
-# accessPointScope
-
-[androidJvm]\
-private val [accessPointScope](access-point-scope.md): CoroutineScope
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/coroutine-dispatcher-provider.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/coroutine-dispatcher-provider.md
deleted file mode 100644
index fc574557..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/coroutine-dispatcher-provider.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints](../index.md)/[WisefyAccessPointsUtil](index.md)/[coroutineDispatcherProvider](coroutine-dispatcher-provider.md)
-
-# coroutineDispatcherProvider
-
-[androidJvm]\
-private val [coroutineDispatcherProvider](coroutine-dispatcher-provider.md): [CoroutineDispatcherProvider](../../com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/delegate.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/delegate.md
deleted file mode 100644
index 3a8e8f9a..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/delegate.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints](../index.md)/[WisefyAccessPointsUtil](index.md)/[delegate](delegate.md)
-
-# delegate
-
-[androidJvm]\
-private val [delegate](delegate.md): [LegacyAccessPointsDelegate](../../com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-delegate/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/get-nearby-access-points.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/get-nearby-access-points.md
deleted file mode 100644
index d76de774..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/get-nearby-access-points.md
+++ /dev/null
@@ -1,13 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints](../index.md)/[WisefyAccessPointsUtil](index.md)/[getNearbyAccessPoints](get-nearby-access-points.md)
-
-# getNearbyAccessPoints
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [getNearbyAccessPoints](get-nearby-access-points.md)(filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)>
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [getNearbyAccessPoints](get-nearby-access-points.md)(filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), callbacks: [GetNearbyAccessPointCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-nearby-access-point-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/get-r-s-s-i.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/get-r-s-s-i.md
deleted file mode 100644
index 255767f6..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/get-r-s-s-i.md
+++ /dev/null
@@ -1,13 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints](../index.md)/[WisefyAccessPointsUtil](index.md)/[getRSSI](get-r-s-s-i.md)
-
-# getRSSI
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [getRSSI](get-r-s-s-i.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), takeHighest: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)?
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [getRSSI](get-r-s-s-i.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), takeHighest: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), callbacks: [GetRSSICallbacks](../../com.isupatches.android.wisefy.callbacks/-get-r-s-s-i-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/index.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/index.md
deleted file mode 100644
index 3a582dce..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/index.md
+++ /dev/null
@@ -1,28 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints](../index.md)/[WisefyAccessPointsUtil](index.md)
-
-# WisefyAccessPointsUtil
-
-[androidJvm]\
-internal class [WisefyAccessPointsUtil](index.md)(**coroutineDispatcherProvider**: [CoroutineDispatcherProvider](../../com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/index.md), **logger**: [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?, **wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)) : [AccessPointsUtil](../-access-points-util/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [getNearbyAccessPoints](get-nearby-access-points.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [getNearbyAccessPoints](get-nearby-access-points.md)(filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)>
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [getNearbyAccessPoints](get-nearby-access-points.md)(filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), callbacks: [GetNearbyAccessPointCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-nearby-access-point-callbacks/index.md)?) |
-| [getRSSI](get-r-s-s-i.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [getRSSI](get-r-s-s-i.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), takeHighest: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)?
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [getRSSI](get-r-s-s-i.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), takeHighest: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), callbacks: [GetRSSICallbacks](../../com.isupatches.android.wisefy.callbacks/-get-r-s-s-i-callbacks/index.md)?) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [searchForAccessPoint](search-for-access-point.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [searchForAccessPoint](search-for-access-point.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)?
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [searchForAccessPoint](search-for-access-point.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), callbacks: [SearchForAccessPointCallbacks](../../com.isupatches.android.wisefy.callbacks/-search-for-access-point-callbacks/index.md)?) |
-| [searchForAccessPoints](search-for-access-points.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [searchForAccessPoints](search-for-access-points.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)>
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [searchForAccessPoints](search-for-access-points.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), callbacks: [SearchForAccessPointsCallbacks](../../com.isupatches.android.wisefy.callbacks/-search-for-access-points-callbacks/index.md)?) |
-| [searchForSSID](search-for-s-s-i-d.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [searchForSSID](search-for-s-s-i-d.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [searchForSSID](search-for-s-s-i-d.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), callbacks: [SearchForSSIDCallbacks](../../com.isupatches.android.wisefy.callbacks/-search-for-s-s-i-d-callbacks/index.md)?) |
-| [searchForSSIDs](search-for-s-s-i-ds.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [searchForSSIDs](search-for-s-s-i-ds.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)>
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [searchForSSIDs](search-for-s-s-i-ds.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), callbacks: [SearchForSSIDsCallbacks](../../com.isupatches.android.wisefy.callbacks/-search-for-s-s-i-ds-callbacks/index.md)?) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [accessPointScope](access-point-scope.md) | [androidJvm]
private val [accessPointScope](access-point-scope.md): CoroutineScope |
-| [coroutineDispatcherProvider](coroutine-dispatcher-provider.md) | [androidJvm]
private val [coroutineDispatcherProvider](coroutine-dispatcher-provider.md): [CoroutineDispatcherProvider](../../com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/index.md) |
-| [delegate](delegate.md) | [androidJvm]
private val [delegate](delegate.md): [LegacyAccessPointsDelegate](../../com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-delegate/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/search-for-access-point.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/search-for-access-point.md
deleted file mode 100644
index cc3dc780..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/search-for-access-point.md
+++ /dev/null
@@ -1,13 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints](../index.md)/[WisefyAccessPointsUtil](index.md)/[searchForAccessPoint](search-for-access-point.md)
-
-# searchForAccessPoint
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [searchForAccessPoint](search-for-access-point.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)?
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [searchForAccessPoint](search-for-access-point.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), callbacks: [SearchForAccessPointCallbacks](../../com.isupatches.android.wisefy.callbacks/-search-for-access-point-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/search-for-access-points.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/search-for-access-points.md
deleted file mode 100644
index ee2e52cc..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/search-for-access-points.md
+++ /dev/null
@@ -1,13 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints](../index.md)/[WisefyAccessPointsUtil](index.md)/[searchForAccessPoints](search-for-access-points.md)
-
-# searchForAccessPoints
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [searchForAccessPoints](search-for-access-points.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)>
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [searchForAccessPoints](search-for-access-points.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), callbacks: [SearchForAccessPointsCallbacks](../../com.isupatches.android.wisefy.callbacks/-search-for-access-points-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/search-for-s-s-i-d.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/search-for-s-s-i-d.md
deleted file mode 100644
index 30cfb753..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/search-for-s-s-i-d.md
+++ /dev/null
@@ -1,13 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints](../index.md)/[WisefyAccessPointsUtil](index.md)/[searchForSSID](search-for-s-s-i-d.md)
-
-# searchForSSID
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [searchForSSID](search-for-s-s-i-d.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [searchForSSID](search-for-s-s-i-d.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), callbacks: [SearchForSSIDCallbacks](../../com.isupatches.android.wisefy.callbacks/-search-for-s-s-i-d-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/search-for-s-s-i-ds.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/search-for-s-s-i-ds.md
deleted file mode 100644
index 137fa8ac..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/search-for-s-s-i-ds.md
+++ /dev/null
@@ -1,13 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.accesspoints](../index.md)/[WisefyAccessPointsUtil](index.md)/[searchForSSIDs](search-for-s-s-i-ds.md)
-
-# searchForSSIDs
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [searchForSSIDs](search-for-s-s-i-ds.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)>
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [searchForSSIDs](search-for-s-s-i-ds.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), callbacks: [SearchForSSIDsCallbacks](../../com.isupatches.android.wisefy.callbacks/-search-for-s-s-i-ds-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/index.md b/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/index.md
deleted file mode 100644
index f4ee53aa..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.accesspoints/index.md
+++ /dev/null
@@ -1,18 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.accesspoints](index.md)
-
-# Package com.isupatches.android.wisefy.accesspoints
-
-## Types
-
-| Name | Summary |
-|---|---|
-| [AccessPointsApi](-access-points-api/index.md) | [androidJvm]
interface [AccessPointsApi](-access-points-api/index.md) |
-| [AccessPointsApiAsync](-access-points-api-async/index.md) | [androidJvm]
interface [AccessPointsApiAsync](-access-points-api-async/index.md) |
-| [AccessPointsUtil](-access-points-util/index.md) | [androidJvm]
internal interface [AccessPointsUtil](-access-points-util/index.md) : [AccessPointsApi](-access-points-api/index.md), [AccessPointsApiAsync](-access-points-api-async/index.md) |
-| [WisefyAccessPointsUtil](-wisefy-access-points-util/index.md) | [androidJvm]
internal class [WisefyAccessPointsUtil](-wisefy-access-points-util/index.md)(**coroutineDispatcherProvider**: [CoroutineDispatcherProvider](../com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/index.md), **logger**: [WisefyLogger](../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?, **wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)) : [AccessPointsUtil](-access-points-util/index.md) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [LOG_TAG](-l-o-g_-t-a-g.md) | [androidJvm]
private const val [LOG_TAG](-l-o-g_-t-a-g.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-a-n-d-r-o-i-d_-q_-s-a-v-e_-n-e-t-w-o-r-k_-w-a-r-n-i-n-g.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-a-n-d-r-o-i-d_-q_-s-a-v-e_-n-e-t-w-o-r-k_-w-a-r-n-i-n-g.md
deleted file mode 100644
index 62a71b89..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-a-n-d-r-o-i-d_-q_-s-a-v-e_-n-e-t-w-o-r-k_-w-a-r-n-i-n-g.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](index.md)/[ANDROID_Q_SAVE_NETWORK_WARNING](-a-n-d-r-o-i-d_-q_-s-a-v-e_-n-e-t-w-o-r-k_-w-a-r-n-i-n-g.md)
-
-# ANDROID_Q_SAVE_NETWORK_WARNING
-
-[androidJvm]\
-private const val [ANDROID_Q_SAVE_NETWORK_WARNING](-a-n-d-r-o-i-d_-q_-s-a-v-e_-n-e-t-w-o-r-k_-w-a-r-n-i-n-g.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-api-impl/-android29-add-network-api-impl.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-api-impl/-android29-add-network-api-impl.md
deleted file mode 100644
index e37b03dd..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-api-impl/-android29-add-network-api-impl.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](../index.md)/[Android29AddNetworkApiImpl](index.md)/[Android29AddNetworkApiImpl](-android29-add-network-api-impl.md)
-
-# Android29AddNetworkApiImpl
-
-[androidJvm]\
-fun [Android29AddNetworkApiImpl](-android29-add-network-api-impl.md)(wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), logger: [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-api-impl/add-open-network.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-api-impl/add-open-network.md
deleted file mode 100644
index 015aba1d..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-api-impl/add-open-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](../index.md)/[Android29AddNetworkApiImpl](index.md)/[addOpenNetwork](add-open-network.md)
-
-# addOpenNetwork
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
-
-open override fun [addOpenNetwork](add-open-network.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-api-impl/add-w-p-a2-network.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-api-impl/add-w-p-a2-network.md
deleted file mode 100644
index 8594ac9f..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-api-impl/add-w-p-a2-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](../index.md)/[Android29AddNetworkApiImpl](index.md)/[addWPA2Network](add-w-p-a2-network.md)
-
-# addWPA2Network
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
-
-open override fun [addWPA2Network](add-w-p-a2-network.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-api-impl/add-w-p-a3-network.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-api-impl/add-w-p-a3-network.md
deleted file mode 100644
index f0ace018..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-api-impl/add-w-p-a3-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](../index.md)/[Android29AddNetworkApiImpl](index.md)/[addWPA3Network](add-w-p-a3-network.md)
-
-# addWPA3Network
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
-
-open override fun [addWPA3Network](add-w-p-a3-network.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-api-impl/index.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-api-impl/index.md
deleted file mode 100644
index 1c2876bb..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-api-impl/index.md
+++ /dev/null
@@ -1,26 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](../index.md)/[Android29AddNetworkApiImpl](index.md)
-
-# Android29AddNetworkApiImpl
-
-[androidJvm]\
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
-
-internal class [Android29AddNetworkApiImpl](index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), **logger**: [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?) : [Android29AddNetworkApi](../-android29-add-network-api/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [addOpenNetwork](add-open-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
open override fun [addOpenNetwork](add-open-network.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md) |
-| [addWPA2Network](add-w-p-a2-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
open override fun [addWPA2Network](add-w-p-a2-network.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md) |
-| [addWPA3Network](add-w-p-a3-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
open override fun [addWPA3Network](add-w-p-a3-network.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md) |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [logger](logger.md) | [androidJvm]
private val [logger](logger.md): [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)? |
-| [wifiManager](wifi-manager.md) | [androidJvm]
private val [wifiManager](wifi-manager.md): [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-api-impl/logger.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-api-impl/logger.md
deleted file mode 100644
index b3c1668b..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-api-impl/logger.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](../index.md)/[Android29AddNetworkApiImpl](index.md)/[logger](logger.md)
-
-# logger
-
-[androidJvm]\
-private val [logger](logger.md): [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-api-impl/wifi-manager.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-api-impl/wifi-manager.md
deleted file mode 100644
index a167d736..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-api-impl/wifi-manager.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](../index.md)/[Android29AddNetworkApiImpl](index.md)/[wifiManager](wifi-manager.md)
-
-# wifiManager
-
-[androidJvm]\
-private val [wifiManager](wifi-manager.md): [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-api/add-open-network.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-api/add-open-network.md
deleted file mode 100644
index 0b50af23..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-api/add-open-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](../index.md)/[Android29AddNetworkApi](index.md)/[addOpenNetwork](add-open-network.md)
-
-# addOpenNetwork
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
-
-abstract fun [addOpenNetwork](add-open-network.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-api/add-w-p-a2-network.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-api/add-w-p-a2-network.md
deleted file mode 100644
index bebf47cc..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-api/add-w-p-a2-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](../index.md)/[Android29AddNetworkApi](index.md)/[addWPA2Network](add-w-p-a2-network.md)
-
-# addWPA2Network
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
-
-abstract fun [addWPA2Network](add-w-p-a2-network.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-api/add-w-p-a3-network.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-api/add-w-p-a3-network.md
deleted file mode 100644
index f815c53c..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-api/add-w-p-a3-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](../index.md)/[Android29AddNetworkApi](index.md)/[addWPA3Network](add-w-p-a3-network.md)
-
-# addWPA3Network
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
-
-abstract fun [addWPA3Network](add-w-p-a3-network.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-api/index.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-api/index.md
deleted file mode 100644
index 870d775b..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-api/index.md
+++ /dev/null
@@ -1,25 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](../index.md)/[Android29AddNetworkApi](index.md)
-
-# Android29AddNetworkApi
-
-[androidJvm]\
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
-
-internal interface [Android29AddNetworkApi](index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [addOpenNetwork](add-open-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
abstract fun [addOpenNetwork](add-open-network.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md) |
-| [addWPA2Network](add-w-p-a2-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
abstract fun [addWPA2Network](add-w-p-a2-network.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md) |
-| [addWPA3Network](add-w-p-a3-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
abstract fun [addWPA3Network](add-w-p-a3-network.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md) |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [Android29AddNetworkApiImpl](../-android29-add-network-api-impl/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-delegate/-android29-add-network-delegate.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-delegate/-android29-add-network-delegate.md
deleted file mode 100644
index db6d453a..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-delegate/-android29-add-network-delegate.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](../index.md)/[Android29AddNetworkDelegate](index.md)/[Android29AddNetworkDelegate](-android29-add-network-delegate.md)
-
-# Android29AddNetworkDelegate
-
-[androidJvm]\
-fun [Android29AddNetworkDelegate](-android29-add-network-delegate.md)(wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), logger: [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?, impl: [Android29AddNetworkApi](../-android29-add-network-api/index.md) = Android29AddNetworkApiImpl(wifiManager, logger))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-delegate/add-open-network.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-delegate/add-open-network.md
deleted file mode 100644
index 27964b95..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-delegate/add-open-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](../index.md)/[Android29AddNetworkDelegate](index.md)/[addOpenNetwork](add-open-network.md)
-
-# addOpenNetwork
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
-
-open override fun [addOpenNetwork](add-open-network.md)(data: [OpenNetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/index.md)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-delegate/add-w-p-a2-network.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-delegate/add-w-p-a2-network.md
deleted file mode 100644
index b9a98a1a..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-delegate/add-w-p-a2-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](../index.md)/[Android29AddNetworkDelegate](index.md)/[addWPA2Network](add-w-p-a2-network.md)
-
-# addWPA2Network
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
-
-open override fun [addWPA2Network](add-w-p-a2-network.md)(data: [WPA2NetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/index.md)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-delegate/add-w-p-a3-network.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-delegate/add-w-p-a3-network.md
deleted file mode 100644
index 34a4a488..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-delegate/add-w-p-a3-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](../index.md)/[Android29AddNetworkDelegate](index.md)/[addWPA3Network](add-w-p-a3-network.md)
-
-# addWPA3Network
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
-
-open override fun [addWPA3Network](add-w-p-a3-network.md)(data: [WPA3NetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/index.md)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-delegate/impl.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-delegate/impl.md
deleted file mode 100644
index 53217506..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-delegate/impl.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](../index.md)/[Android29AddNetworkDelegate](index.md)/[impl](impl.md)
-
-# impl
-
-[androidJvm]\
-private val [impl](impl.md): [Android29AddNetworkApi](../-android29-add-network-api/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-delegate/index.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-delegate/index.md
deleted file mode 100644
index f6d65e05..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-delegate/index.md
+++ /dev/null
@@ -1,25 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](../index.md)/[Android29AddNetworkDelegate](index.md)
-
-# Android29AddNetworkDelegate
-
-[androidJvm]\
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
-
-internal class [Android29AddNetworkDelegate](index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), **logger**: [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?, **impl**: [Android29AddNetworkApi](../-android29-add-network-api/index.md)) : [AddNetworkApi](../../com.isupatches.android.wisefy.addnetwork/-add-network-api/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [addOpenNetwork](add-open-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
open override fun [addOpenNetwork](add-open-network.md)(data: [OpenNetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/index.md)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md) |
-| [addWPA2Network](add-w-p-a2-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
open override fun [addWPA2Network](add-w-p-a2-network.md)(data: [WPA2NetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/index.md)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md) |
-| [addWPA3Network](add-w-p-a3-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
open override fun [addWPA3Network](add-w-p-a3-network.md)(data: [WPA3NetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/index.md)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md) |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [impl](impl.md) | [androidJvm]
private val [impl](impl.md): [Android29AddNetworkApi](../-android29-add-network-api/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-api-impl/-android30-add-network-api-impl.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-api-impl/-android30-add-network-api-impl.md
deleted file mode 100644
index e88c949a..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-api-impl/-android30-add-network-api-impl.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](../index.md)/[Android30AddNetworkApiImpl](index.md)/[Android30AddNetworkApiImpl](-android30-add-network-api-impl.md)
-
-# Android30AddNetworkApiImpl
-
-[androidJvm]\
-fun [Android30AddNetworkApiImpl](-android30-add-network-api-impl.md)(wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-api-impl/add-open-network.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-api-impl/add-open-network.md
deleted file mode 100644
index ad6895d3..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-api-impl/add-open-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](../index.md)/[Android30AddNetworkApiImpl](index.md)/[addOpenNetwork](add-open-network.md)
-
-# addOpenNetwork
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
-
-open override fun [addOpenNetwork](add-open-network.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), activityResultLauncher: [ActivityResultLauncher](https://developer.android.com/reference/kotlin/androidx/activity/result/ActivityResultLauncher.html)<[Intent](https://developer.android.com/reference/kotlin/android/content/Intent.html)>): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-api-impl/add-w-p-a2-network.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-api-impl/add-w-p-a2-network.md
deleted file mode 100644
index ca1fcf18..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-api-impl/add-w-p-a2-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](../index.md)/[Android30AddNetworkApiImpl](index.md)/[addWPA2Network](add-w-p-a2-network.md)
-
-# addWPA2Network
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
-
-open override fun [addWPA2Network](add-w-p-a2-network.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), activityResultLauncher: [ActivityResultLauncher](https://developer.android.com/reference/kotlin/androidx/activity/result/ActivityResultLauncher.html)<[Intent](https://developer.android.com/reference/kotlin/android/content/Intent.html)>): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-api-impl/add-w-p-a3-network.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-api-impl/add-w-p-a3-network.md
deleted file mode 100644
index 52f9ef9c..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-api-impl/add-w-p-a3-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](../index.md)/[Android30AddNetworkApiImpl](index.md)/[addWPA3Network](add-w-p-a3-network.md)
-
-# addWPA3Network
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
-
-open override fun [addWPA3Network](add-w-p-a3-network.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), activityResultLauncher: [ActivityResultLauncher](https://developer.android.com/reference/kotlin/androidx/activity/result/ActivityResultLauncher.html)<[Intent](https://developer.android.com/reference/kotlin/android/content/Intent.html)>): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-api-impl/index.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-api-impl/index.md
deleted file mode 100644
index c9476457..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-api-impl/index.md
+++ /dev/null
@@ -1,26 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](../index.md)/[Android30AddNetworkApiImpl](index.md)
-
-# Android30AddNetworkApiImpl
-
-[androidJvm]\
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
-
-internal class [Android30AddNetworkApiImpl](index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)) : [Android30AddNetworkApi](../-android30-add-network-api/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [addOpenNetwork](add-open-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
open override fun [addOpenNetwork](add-open-network.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), activityResultLauncher: [ActivityResultLauncher](https://developer.android.com/reference/kotlin/androidx/activity/result/ActivityResultLauncher.html)<[Intent](https://developer.android.com/reference/kotlin/android/content/Intent.html)>): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md) |
-| [addWPA2Network](add-w-p-a2-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
open override fun [addWPA2Network](add-w-p-a2-network.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), activityResultLauncher: [ActivityResultLauncher](https://developer.android.com/reference/kotlin/androidx/activity/result/ActivityResultLauncher.html)<[Intent](https://developer.android.com/reference/kotlin/android/content/Intent.html)>): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md) |
-| [addWPA3Network](add-w-p-a3-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
open override fun [addWPA3Network](add-w-p-a3-network.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), activityResultLauncher: [ActivityResultLauncher](https://developer.android.com/reference/kotlin/androidx/activity/result/ActivityResultLauncher.html)<[Intent](https://developer.android.com/reference/kotlin/android/content/Intent.html)>): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md) |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [launchIntent](launch-intent.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.CHANGE_WIFI_STATE)
private fun [launchIntent](launch-intent.md)(suggestion: [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html), activityResultLauncher: [ActivityResultLauncher](https://developer.android.com/reference/kotlin/androidx/activity/result/ActivityResultLauncher.html)<[Intent](https://developer.android.com/reference/kotlin/android/content/Intent.html)>): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [wifiManager](wifi-manager.md) | [androidJvm]
private val [wifiManager](wifi-manager.md): [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-api-impl/launch-intent.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-api-impl/launch-intent.md
deleted file mode 100644
index 56b065b1..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-api-impl/launch-intent.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](../index.md)/[Android30AddNetworkApiImpl](index.md)/[launchIntent](launch-intent.md)
-
-# launchIntent
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.CHANGE_WIFI_STATE)
-
-private fun [launchIntent](launch-intent.md)(suggestion: [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html), activityResultLauncher: [ActivityResultLauncher](https://developer.android.com/reference/kotlin/androidx/activity/result/ActivityResultLauncher.html)<[Intent](https://developer.android.com/reference/kotlin/android/content/Intent.html)>): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-api-impl/wifi-manager.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-api-impl/wifi-manager.md
deleted file mode 100644
index caa25d6a..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-api-impl/wifi-manager.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](../index.md)/[Android30AddNetworkApiImpl](index.md)/[wifiManager](wifi-manager.md)
-
-# wifiManager
-
-[androidJvm]\
-private val [wifiManager](wifi-manager.md): [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-api/add-open-network.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-api/add-open-network.md
deleted file mode 100644
index ace5e5b6..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-api/add-open-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](../index.md)/[Android30AddNetworkApi](index.md)/[addOpenNetwork](add-open-network.md)
-
-# addOpenNetwork
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
-
-abstract fun [addOpenNetwork](add-open-network.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), activityResultLauncher: [ActivityResultLauncher](https://developer.android.com/reference/kotlin/androidx/activity/result/ActivityResultLauncher.html)<[Intent](https://developer.android.com/reference/kotlin/android/content/Intent.html)>): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-api/add-w-p-a2-network.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-api/add-w-p-a2-network.md
deleted file mode 100644
index 2ab7cde3..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-api/add-w-p-a2-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](../index.md)/[Android30AddNetworkApi](index.md)/[addWPA2Network](add-w-p-a2-network.md)
-
-# addWPA2Network
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
-
-abstract fun [addWPA2Network](add-w-p-a2-network.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), activityResultLauncher: [ActivityResultLauncher](https://developer.android.com/reference/kotlin/androidx/activity/result/ActivityResultLauncher.html)<[Intent](https://developer.android.com/reference/kotlin/android/content/Intent.html)>): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-api/add-w-p-a3-network.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-api/add-w-p-a3-network.md
deleted file mode 100644
index 2cc5e778..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-api/add-w-p-a3-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](../index.md)/[Android30AddNetworkApi](index.md)/[addWPA3Network](add-w-p-a3-network.md)
-
-# addWPA3Network
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
-
-abstract fun [addWPA3Network](add-w-p-a3-network.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), activityResultLauncher: [ActivityResultLauncher](https://developer.android.com/reference/kotlin/androidx/activity/result/ActivityResultLauncher.html)<[Intent](https://developer.android.com/reference/kotlin/android/content/Intent.html)>): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-api/index.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-api/index.md
deleted file mode 100644
index 52562952..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-api/index.md
+++ /dev/null
@@ -1,23 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](../index.md)/[Android30AddNetworkApi](index.md)
-
-# Android30AddNetworkApi
-
-[androidJvm]\
-internal interface [Android30AddNetworkApi](index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [addOpenNetwork](add-open-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
abstract fun [addOpenNetwork](add-open-network.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), activityResultLauncher: [ActivityResultLauncher](https://developer.android.com/reference/kotlin/androidx/activity/result/ActivityResultLauncher.html)<[Intent](https://developer.android.com/reference/kotlin/android/content/Intent.html)>): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md) |
-| [addWPA2Network](add-w-p-a2-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
abstract fun [addWPA2Network](add-w-p-a2-network.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), activityResultLauncher: [ActivityResultLauncher](https://developer.android.com/reference/kotlin/androidx/activity/result/ActivityResultLauncher.html)<[Intent](https://developer.android.com/reference/kotlin/android/content/Intent.html)>): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md) |
-| [addWPA3Network](add-w-p-a3-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
abstract fun [addWPA3Network](add-w-p-a3-network.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), activityResultLauncher: [ActivityResultLauncher](https://developer.android.com/reference/kotlin/androidx/activity/result/ActivityResultLauncher.html)<[Intent](https://developer.android.com/reference/kotlin/android/content/Intent.html)>): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md) |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [Android30AddNetworkApiImpl](../-android30-add-network-api-impl/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-delegate/-android30-add-network-delegate.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-delegate/-android30-add-network-delegate.md
deleted file mode 100644
index a9769d82..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-delegate/-android30-add-network-delegate.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](../index.md)/[Android30AddNetworkDelegate](index.md)/[Android30AddNetworkDelegate](-android30-add-network-delegate.md)
-
-# Android30AddNetworkDelegate
-
-[androidJvm]\
-fun [Android30AddNetworkDelegate](-android30-add-network-delegate.md)(wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), impl: [Android30AddNetworkApi](../-android30-add-network-api/index.md) = Android30AddNetworkApiImpl(wifiManager))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-delegate/add-open-network.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-delegate/add-open-network.md
deleted file mode 100644
index 708e62c1..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-delegate/add-open-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](../index.md)/[Android30AddNetworkDelegate](index.md)/[addOpenNetwork](add-open-network.md)
-
-# addOpenNetwork
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
-
-open override fun [addOpenNetwork](add-open-network.md)(data: [OpenNetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/index.md)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-delegate/add-w-p-a2-network.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-delegate/add-w-p-a2-network.md
deleted file mode 100644
index c45020eb..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-delegate/add-w-p-a2-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](../index.md)/[Android30AddNetworkDelegate](index.md)/[addWPA2Network](add-w-p-a2-network.md)
-
-# addWPA2Network
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
-
-open override fun [addWPA2Network](add-w-p-a2-network.md)(data: [WPA2NetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/index.md)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-delegate/add-w-p-a3-network.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-delegate/add-w-p-a3-network.md
deleted file mode 100644
index dbe13aee..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-delegate/add-w-p-a3-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](../index.md)/[Android30AddNetworkDelegate](index.md)/[addWPA3Network](add-w-p-a3-network.md)
-
-# addWPA3Network
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
-
-open override fun [addWPA3Network](add-w-p-a3-network.md)(data: [WPA3NetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/index.md)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-delegate/impl.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-delegate/impl.md
deleted file mode 100644
index 34c4fc59..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-delegate/impl.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](../index.md)/[Android30AddNetworkDelegate](index.md)/[impl](impl.md)
-
-# impl
-
-[androidJvm]\
-private val [impl](impl.md): [Android30AddNetworkApi](../-android30-add-network-api/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-delegate/index.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-delegate/index.md
deleted file mode 100644
index 44d73036..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-delegate/index.md
+++ /dev/null
@@ -1,25 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](../index.md)/[Android30AddNetworkDelegate](index.md)
-
-# Android30AddNetworkDelegate
-
-[androidJvm]\
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
-
-internal class [Android30AddNetworkDelegate](index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), **impl**: [Android30AddNetworkApi](../-android30-add-network-api/index.md)) : [AddNetworkApi](../../com.isupatches.android.wisefy.addnetwork/-add-network-api/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [addOpenNetwork](add-open-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
open override fun [addOpenNetwork](add-open-network.md)(data: [OpenNetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/index.md)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md) |
-| [addWPA2Network](add-w-p-a2-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
open override fun [addWPA2Network](add-w-p-a2-network.md)(data: [WPA2NetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/index.md)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md) |
-| [addWPA3Network](add-w-p-a3-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
open override fun [addWPA3Network](add-w-p-a3-network.md)(data: [WPA3NetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/index.md)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md) |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [impl](impl.md) | [androidJvm]
private val [impl](impl.md): [Android30AddNetworkApi](../-android30-add-network-api/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-l-o-g_-t-a-g.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-l-o-g_-t-a-g.md
deleted file mode 100644
index 0c223126..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-l-o-g_-t-a-g.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](index.md)/[LOG_TAG](-l-o-g_-t-a-g.md)
-
-# LOG_TAG
-
-[androidJvm]\
-private const val [LOG_TAG](-l-o-g_-t-a-g.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-api-impl/-legacy-add-network-api-impl.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-api-impl/-legacy-add-network-api-impl.md
deleted file mode 100644
index 8f2870a7..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-api-impl/-legacy-add-network-api-impl.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](../index.md)/[LegacyAddNetworkApiImpl](index.md)/[LegacyAddNetworkApiImpl](-legacy-add-network-api-impl.md)
-
-# LegacyAddNetworkApiImpl
-
-[androidJvm]\
-fun [LegacyAddNetworkApiImpl](-legacy-add-network-api-impl.md)(wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-api-impl/add-open-network.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-api-impl/add-open-network.md
deleted file mode 100644
index b663c80f..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-api-impl/add-open-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](../index.md)/[LegacyAddNetworkApiImpl](index.md)/[addOpenNetwork](add-open-network.md)
-
-# addOpenNetwork
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [addOpenNetwork](add-open-network.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-api-impl/add-w-p-a2-network.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-api-impl/add-w-p-a2-network.md
deleted file mode 100644
index a6e19051..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-api-impl/add-w-p-a2-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](../index.md)/[LegacyAddNetworkApiImpl](index.md)/[addWPA2Network](add-w-p-a2-network.md)
-
-# addWPA2Network
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [addWPA2Network](add-w-p-a2-network.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-api-impl/index.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-api-impl/index.md
deleted file mode 100644
index ecfee39f..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-api-impl/index.md
+++ /dev/null
@@ -1,22 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](../index.md)/[LegacyAddNetworkApiImpl](index.md)
-
-# LegacyAddNetworkApiImpl
-
-[androidJvm]\
-internal class [LegacyAddNetworkApiImpl](index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)) : [LegacyAddNetworkApi](../-legacy-add-network-api/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [addOpenNetwork](add-open-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [addOpenNetwork](add-open-network.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md) |
-| [addWPA2Network](add-w-p-a2-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [addWPA2Network](add-w-p-a2-network.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md) |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [wifiManager](wifi-manager.md) | [androidJvm]
private val [wifiManager](wifi-manager.md): [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-api-impl/wifi-manager.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-api-impl/wifi-manager.md
deleted file mode 100644
index 1d43c54a..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-api-impl/wifi-manager.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](../index.md)/[LegacyAddNetworkApiImpl](index.md)/[wifiManager](wifi-manager.md)
-
-# wifiManager
-
-[androidJvm]\
-private val [wifiManager](wifi-manager.md): [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-api/add-open-network.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-api/add-open-network.md
deleted file mode 100644
index 6a0f9e50..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-api/add-open-network.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](../index.md)/[LegacyAddNetworkApi](index.md)/[addOpenNetwork](add-open-network.md)
-
-# addOpenNetwork
-
-[androidJvm]\
-abstract fun [addOpenNetwork](add-open-network.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-api/add-w-p-a2-network.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-api/add-w-p-a2-network.md
deleted file mode 100644
index 44d299f4..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-api/add-w-p-a2-network.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](../index.md)/[LegacyAddNetworkApi](index.md)/[addWPA2Network](add-w-p-a2-network.md)
-
-# addWPA2Network
-
-[androidJvm]\
-abstract fun [addWPA2Network](add-w-p-a2-network.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-api/index.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-api/index.md
deleted file mode 100644
index 1741af36..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-api/index.md
+++ /dev/null
@@ -1,22 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](../index.md)/[LegacyAddNetworkApi](index.md)
-
-# LegacyAddNetworkApi
-
-[androidJvm]\
-internal interface [LegacyAddNetworkApi](index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [addOpenNetwork](add-open-network.md) | [androidJvm]
abstract fun [addOpenNetwork](add-open-network.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md) |
-| [addWPA2Network](add-w-p-a2-network.md) | [androidJvm]
abstract fun [addWPA2Network](add-w-p-a2-network.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md) |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [LegacyAddNetworkApiImpl](../-legacy-add-network-api-impl/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-delegate/-legacy-add-network-delegate.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-delegate/-legacy-add-network-delegate.md
deleted file mode 100644
index 01cbf341..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-delegate/-legacy-add-network-delegate.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](../index.md)/[LegacyAddNetworkDelegate](index.md)/[LegacyAddNetworkDelegate](-legacy-add-network-delegate.md)
-
-# LegacyAddNetworkDelegate
-
-[androidJvm]\
-fun [LegacyAddNetworkDelegate](-legacy-add-network-delegate.md)(wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), impl: [LegacyAddNetworkApi](../-legacy-add-network-api/index.md) = LegacyAddNetworkApiImpl(wifiManager))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-delegate/add-open-network.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-delegate/add-open-network.md
deleted file mode 100644
index ff8ab406..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-delegate/add-open-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](../index.md)/[LegacyAddNetworkDelegate](index.md)/[addOpenNetwork](add-open-network.md)
-
-# addOpenNetwork
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [addOpenNetwork](add-open-network.md)(data: [OpenNetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/index.md)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-delegate/add-w-p-a2-network.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-delegate/add-w-p-a2-network.md
deleted file mode 100644
index c5db101f..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-delegate/add-w-p-a2-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](../index.md)/[LegacyAddNetworkDelegate](index.md)/[addWPA2Network](add-w-p-a2-network.md)
-
-# addWPA2Network
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [addWPA2Network](add-w-p-a2-network.md)(data: [WPA2NetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/index.md)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-delegate/add-w-p-a3-network.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-delegate/add-w-p-a3-network.md
deleted file mode 100644
index 0301ddae..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-delegate/add-w-p-a3-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](../index.md)/[LegacyAddNetworkDelegate](index.md)/[addWPA3Network](add-w-p-a3-network.md)
-
-# addWPA3Network
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [addWPA3Network](add-w-p-a3-network.md)(data: [WPA3NetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/index.md)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-delegate/impl.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-delegate/impl.md
deleted file mode 100644
index b1079fe6..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-delegate/impl.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](../index.md)/[LegacyAddNetworkDelegate](index.md)/[impl](impl.md)
-
-# impl
-
-[androidJvm]\
-private val [impl](impl.md): [LegacyAddNetworkApi](../-legacy-add-network-api/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-delegate/index.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-delegate/index.md
deleted file mode 100644
index b673564b..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-delegate/index.md
+++ /dev/null
@@ -1,23 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](../index.md)/[LegacyAddNetworkDelegate](index.md)
-
-# LegacyAddNetworkDelegate
-
-[androidJvm]\
-internal class [LegacyAddNetworkDelegate](index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), **impl**: [LegacyAddNetworkApi](../-legacy-add-network-api/index.md)) : [AddNetworkApi](../../com.isupatches.android.wisefy.addnetwork/-add-network-api/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [addOpenNetwork](add-open-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [addOpenNetwork](add-open-network.md)(data: [OpenNetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/index.md)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md) |
-| [addWPA2Network](add-w-p-a2-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [addWPA2Network](add-w-p-a2-network.md)(data: [WPA2NetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/index.md)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md) |
-| [addWPA3Network](add-w-p-a3-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [addWPA3Network](add-w-p-a3-network.md)(data: [WPA3NetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/index.md)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md) |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [impl](impl.md) | [androidJvm]
private val [impl](impl.md): [LegacyAddNetworkApi](../-legacy-add-network-api/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/index.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/index.md
deleted file mode 100644
index 4df9615f..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/index.md
+++ /dev/null
@@ -1,24 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.addnetwork.delegates](index.md)
-
-# Package com.isupatches.android.wisefy.addnetwork.delegates
-
-## Types
-
-| Name | Summary |
-|---|---|
-| [Android29AddNetworkApi](-android29-add-network-api/index.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
internal interface [Android29AddNetworkApi](-android29-add-network-api/index.md) |
-| [Android29AddNetworkApiImpl](-android29-add-network-api-impl/index.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
internal class [Android29AddNetworkApiImpl](-android29-add-network-api-impl/index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), **logger**: [WisefyLogger](../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?) : [Android29AddNetworkApi](-android29-add-network-api/index.md) |
-| [Android29AddNetworkDelegate](-android29-add-network-delegate/index.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
internal class [Android29AddNetworkDelegate](-android29-add-network-delegate/index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), **logger**: [WisefyLogger](../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?, **impl**: [Android29AddNetworkApi](-android29-add-network-api/index.md)) : [AddNetworkApi](../com.isupatches.android.wisefy.addnetwork/-add-network-api/index.md) |
-| [Android30AddNetworkApi](-android30-add-network-api/index.md) | [androidJvm]
internal interface [Android30AddNetworkApi](-android30-add-network-api/index.md) |
-| [Android30AddNetworkApiImpl](-android30-add-network-api-impl/index.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
internal class [Android30AddNetworkApiImpl](-android30-add-network-api-impl/index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)) : [Android30AddNetworkApi](-android30-add-network-api/index.md) |
-| [Android30AddNetworkDelegate](-android30-add-network-delegate/index.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
internal class [Android30AddNetworkDelegate](-android30-add-network-delegate/index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), **impl**: [Android30AddNetworkApi](-android30-add-network-api/index.md)) : [AddNetworkApi](../com.isupatches.android.wisefy.addnetwork/-add-network-api/index.md) |
-| [LegacyAddNetworkApi](-legacy-add-network-api/index.md) | [androidJvm]
internal interface [LegacyAddNetworkApi](-legacy-add-network-api/index.md) |
-| [LegacyAddNetworkApiImpl](-legacy-add-network-api-impl/index.md) | [androidJvm]
internal class [LegacyAddNetworkApiImpl](-legacy-add-network-api-impl/index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)) : [LegacyAddNetworkApi](-legacy-add-network-api/index.md) |
-| [LegacyAddNetworkDelegate](-legacy-add-network-delegate/index.md) | [androidJvm]
internal class [LegacyAddNetworkDelegate](-legacy-add-network-delegate/index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), **impl**: [LegacyAddNetworkApi](-legacy-add-network-api/index.md)) : [AddNetworkApi](../com.isupatches.android.wisefy.addnetwork/-add-network-api/index.md) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [ANDROID_Q_SAVE_NETWORK_WARNING](-a-n-d-r-o-i-d_-q_-s-a-v-e_-n-e-t-w-o-r-k_-w-a-r-n-i-n-g.md) | [androidJvm]
private const val [ANDROID_Q_SAVE_NETWORK_WARNING](-a-n-d-r-o-i-d_-q_-s-a-v-e_-n-e-t-w-o-r-k_-w-a-r-n-i-n-g.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-| [LOG_TAG](-l-o-g_-t-a-g.md) | [androidJvm]
private const val [LOG_TAG](-l-o-g_-t-a-g.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-add-network-result.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-add-network-result.md
deleted file mode 100644
index 755e5436..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-add-network-result.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../index.md)/[AddNetworkResult](index.md)/[AddNetworkResult](-add-network-result.md)
-
-# AddNetworkResult
-
-[androidJvm]\
-protected fun [AddNetworkResult](-add-network-result.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-intent-launched/index.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-intent-launched/index.md
deleted file mode 100644
index 292899fb..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-intent-launched/index.md
+++ /dev/null
@@ -1,14 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[AddNetworkResult](../index.md)/[IntentLaunched](index.md)
-
-# IntentLaunched
-
-[androidJvm]\
-object [IntentLaunched](index.md) : [AddNetworkResult](../index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-result-code/-result-code.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-result-code/-result-code.md
deleted file mode 100644
index 9ee9b518..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-result-code/-result-code.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[AddNetworkResult](../index.md)/[ResultCode](index.md)/[ResultCode](-result-code.md)
-
-# ResultCode
-
-[androidJvm]\
-fun [ResultCode](-result-code.md)(data: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-result-code/component1.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-result-code/component1.md
deleted file mode 100644
index fdf5028c..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-result-code/component1.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[AddNetworkResult](../index.md)/[ResultCode](index.md)/[component1](component1.md)
-
-# component1
-
-[androidJvm]\
-operator fun [component1](component1.md)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-result-code/copy.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-result-code/copy.md
deleted file mode 100644
index 4364a41d..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-result-code/copy.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[AddNetworkResult](../index.md)/[ResultCode](index.md)/[copy](copy.md)
-
-# copy
-
-[androidJvm]\
-fun [copy](copy.md)(data: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [AddNetworkResult.ResultCode](index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-result-code/data.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-result-code/data.md
deleted file mode 100644
index 3012698f..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-result-code/data.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[AddNetworkResult](../index.md)/[ResultCode](index.md)/[data](data.md)
-
-# data
-
-[androidJvm]\
-val [data](data.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-result-code/index.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-result-code/index.md
deleted file mode 100644
index db70a16b..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-result-code/index.md
+++ /dev/null
@@ -1,22 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[AddNetworkResult](../index.md)/[ResultCode](index.md)
-
-# ResultCode
-
-[androidJvm]\
-data class [ResultCode](index.md)(**data**: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)) : [AddNetworkResult](../index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [component1](component1.md) | [androidJvm]
operator fun [component1](component1.md)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [copy](copy.md) | [androidJvm]
fun [copy](copy.md)(data: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [AddNetworkResult.ResultCode](index.md) |
-| [equals](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator override fun [equals](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open override fun [hashCode](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open override fun [toString](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [data](data.md) | [androidJvm]
val [data](data.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-wrong-s-d-k-level-error/-wrong-s-d-k-level-error.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-wrong-s-d-k-level-error/-wrong-s-d-k-level-error.md
deleted file mode 100644
index 25f8bef9..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-wrong-s-d-k-level-error/-wrong-s-d-k-level-error.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[AddNetworkResult](../index.md)/[WrongSDKLevelError](index.md)/[WrongSDKLevelError](-wrong-s-d-k-level-error.md)
-
-# WrongSDKLevelError
-
-[androidJvm]\
-fun [WrongSDKLevelError](-wrong-s-d-k-level-error.md)(message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-wrong-s-d-k-level-error/component1.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-wrong-s-d-k-level-error/component1.md
deleted file mode 100644
index d43c4fd1..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-wrong-s-d-k-level-error/component1.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[AddNetworkResult](../index.md)/[WrongSDKLevelError](index.md)/[component1](component1.md)
-
-# component1
-
-[androidJvm]\
-operator fun [component1](component1.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-wrong-s-d-k-level-error/copy.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-wrong-s-d-k-level-error/copy.md
deleted file mode 100644
index ebac5244..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-wrong-s-d-k-level-error/copy.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[AddNetworkResult](../index.md)/[WrongSDKLevelError](index.md)/[copy](copy.md)
-
-# copy
-
-[androidJvm]\
-fun [copy](copy.md)(message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [AddNetworkResult.WrongSDKLevelError](index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-wrong-s-d-k-level-error/index.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-wrong-s-d-k-level-error/index.md
deleted file mode 100644
index 35274261..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-wrong-s-d-k-level-error/index.md
+++ /dev/null
@@ -1,22 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[AddNetworkResult](../index.md)/[WrongSDKLevelError](index.md)
-
-# WrongSDKLevelError
-
-[androidJvm]\
-data class [WrongSDKLevelError](index.md)(**message**: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) : [AddNetworkResult](../index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [component1](component1.md) | [androidJvm]
operator fun [component1](component1.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-| [copy](copy.md) | [androidJvm]
fun [copy](copy.md)(message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [AddNetworkResult.WrongSDKLevelError](index.md) |
-| [equals](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator override fun [equals](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open override fun [hashCode](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open override fun [toString](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [message](message.md) | [androidJvm]
val [message](message.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-wrong-s-d-k-level-error/message.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-wrong-s-d-k-level-error/message.md
deleted file mode 100644
index 1b348db4..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-wrong-s-d-k-level-error/message.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[AddNetworkResult](../index.md)/[WrongSDKLevelError](index.md)/[message](message.md)
-
-# message
-
-[androidJvm]\
-val [message](message.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md
deleted file mode 100644
index e7528b18..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md
+++ /dev/null
@@ -1,30 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../index.md)/[AddNetworkResult](index.md)
-
-# AddNetworkResult
-
-[androidJvm]\
-sealed class [AddNetworkResult](index.md)
-
-## Types
-
-| Name | Summary |
-|---|---|
-| [IntentLaunched](-intent-launched/index.md) | [androidJvm]
object [IntentLaunched](-intent-launched/index.md) : [AddNetworkResult](index.md) |
-| [ResultCode](-result-code/index.md) | [androidJvm]
data class [ResultCode](-result-code/index.md)(**data**: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)) : [AddNetworkResult](index.md) |
-| [WrongSDKLevelError](-wrong-s-d-k-level-error/index.md) | [androidJvm]
data class [WrongSDKLevelError](-wrong-s-d-k-level-error/index.md)(**message**: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) : [AddNetworkResult](index.md) |
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [AddNetworkResult](-result-code/index.md) |
-| [AddNetworkResult](-intent-launched/index.md) |
-| [AddNetworkResult](-wrong-s-d-k-level-error/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-open-network-data.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-open-network-data.md
deleted file mode 100644
index 69cbf171..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-open-network-data.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../index.md)/[OpenNetworkData](index.md)/[OpenNetworkData](-open-network-data.md)
-
-# OpenNetworkData
-
-[androidJvm]\
-protected fun [OpenNetworkData](-open-network-data.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-ssid-and-activity-result-launcher/-ssid-and-activity-result-launcher.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-ssid-and-activity-result-launcher/-ssid-and-activity-result-launcher.md
deleted file mode 100644
index a4b4f38d..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-ssid-and-activity-result-launcher/-ssid-and-activity-result-launcher.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[OpenNetworkData](../index.md)/[SsidAndActivityResultLauncher](index.md)/[SsidAndActivityResultLauncher](-ssid-and-activity-result-launcher.md)
-
-# SsidAndActivityResultLauncher
-
-[androidJvm]\
-fun [SsidAndActivityResultLauncher](-ssid-and-activity-result-launcher.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), activityResultLauncher: [ActivityResultLauncher](https://developer.android.com/reference/kotlin/androidx/activity/result/ActivityResultLauncher.html)<[Intent](https://developer.android.com/reference/kotlin/android/content/Intent.html)>)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-ssid-and-activity-result-launcher/activity-result-launcher.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-ssid-and-activity-result-launcher/activity-result-launcher.md
deleted file mode 100644
index 0be7ed6b..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-ssid-and-activity-result-launcher/activity-result-launcher.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[OpenNetworkData](../index.md)/[SsidAndActivityResultLauncher](index.md)/[activityResultLauncher](activity-result-launcher.md)
-
-# activityResultLauncher
-
-[androidJvm]\
-val [activityResultLauncher](activity-result-launcher.md): [ActivityResultLauncher](https://developer.android.com/reference/kotlin/androidx/activity/result/ActivityResultLauncher.html)<[Intent](https://developer.android.com/reference/kotlin/android/content/Intent.html)>
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-ssid-and-activity-result-launcher/component1.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-ssid-and-activity-result-launcher/component1.md
deleted file mode 100644
index 055ec8ef..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-ssid-and-activity-result-launcher/component1.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[OpenNetworkData](../index.md)/[SsidAndActivityResultLauncher](index.md)/[component1](component1.md)
-
-# component1
-
-[androidJvm]\
-operator fun [component1](component1.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-ssid-and-activity-result-launcher/component2.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-ssid-and-activity-result-launcher/component2.md
deleted file mode 100644
index 0bd94e75..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-ssid-and-activity-result-launcher/component2.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[OpenNetworkData](../index.md)/[SsidAndActivityResultLauncher](index.md)/[component2](component2.md)
-
-# component2
-
-[androidJvm]\
-operator fun [component2](component2.md)(): [ActivityResultLauncher](https://developer.android.com/reference/kotlin/androidx/activity/result/ActivityResultLauncher.html)<[Intent](https://developer.android.com/reference/kotlin/android/content/Intent.html)>
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-ssid-and-activity-result-launcher/copy.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-ssid-and-activity-result-launcher/copy.md
deleted file mode 100644
index 4b018a4b..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-ssid-and-activity-result-launcher/copy.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[OpenNetworkData](../index.md)/[SsidAndActivityResultLauncher](index.md)/[copy](copy.md)
-
-# copy
-
-[androidJvm]\
-fun [copy](copy.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), activityResultLauncher: [ActivityResultLauncher](https://developer.android.com/reference/kotlin/androidx/activity/result/ActivityResultLauncher.html)<[Intent](https://developer.android.com/reference/kotlin/android/content/Intent.html)>): [OpenNetworkData.SsidAndActivityResultLauncher](index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-ssid-and-activity-result-launcher/index.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-ssid-and-activity-result-launcher/index.md
deleted file mode 100644
index d8a1b539..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-ssid-and-activity-result-launcher/index.md
+++ /dev/null
@@ -1,26 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[OpenNetworkData](../index.md)/[SsidAndActivityResultLauncher](index.md)
-
-# SsidAndActivityResultLauncher
-
-[androidJvm]\
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
-
-data class [SsidAndActivityResultLauncher](index.md)(**ssid**: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), **activityResultLauncher**: [ActivityResultLauncher](https://developer.android.com/reference/kotlin/androidx/activity/result/ActivityResultLauncher.html)<[Intent](https://developer.android.com/reference/kotlin/android/content/Intent.html)>) : [OpenNetworkData](../index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [component1](component1.md) | [androidJvm]
operator fun [component1](component1.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-| [component2](component2.md) | [androidJvm]
operator fun [component2](component2.md)(): [ActivityResultLauncher](https://developer.android.com/reference/kotlin/androidx/activity/result/ActivityResultLauncher.html)<[Intent](https://developer.android.com/reference/kotlin/android/content/Intent.html)> |
-| [copy](copy.md) | [androidJvm]
fun [copy](copy.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), activityResultLauncher: [ActivityResultLauncher](https://developer.android.com/reference/kotlin/androidx/activity/result/ActivityResultLauncher.html)<[Intent](https://developer.android.com/reference/kotlin/android/content/Intent.html)>): [OpenNetworkData.SsidAndActivityResultLauncher](index.md) |
-| [equals](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator override fun [equals](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open override fun [hashCode](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open override fun [toString](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [activityResultLauncher](activity-result-launcher.md) | [androidJvm]
val [activityResultLauncher](activity-result-launcher.md): [ActivityResultLauncher](https://developer.android.com/reference/kotlin/androidx/activity/result/ActivityResultLauncher.html)<[Intent](https://developer.android.com/reference/kotlin/android/content/Intent.html)> |
-| [ssid](ssid.md) | [androidJvm]
val [ssid](ssid.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-ssid-and-activity-result-launcher/ssid.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-ssid-and-activity-result-launcher/ssid.md
deleted file mode 100644
index 7d305083..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-ssid-and-activity-result-launcher/ssid.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[OpenNetworkData](../index.md)/[SsidAndActivityResultLauncher](index.md)/[ssid](ssid.md)
-
-# ssid
-
-[androidJvm]\
-val [ssid](ssid.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-ssid/-ssid.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-ssid/-ssid.md
deleted file mode 100644
index 5ff585d1..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-ssid/-ssid.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[OpenNetworkData](../index.md)/[Ssid](index.md)/[Ssid](-ssid.md)
-
-# Ssid
-
-[androidJvm]\
-fun [Ssid](-ssid.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-ssid/component1.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-ssid/component1.md
deleted file mode 100644
index 01597d20..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-ssid/component1.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[OpenNetworkData](../index.md)/[Ssid](index.md)/[component1](component1.md)
-
-# component1
-
-[androidJvm]\
-operator fun [component1](component1.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-ssid/copy.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-ssid/copy.md
deleted file mode 100644
index 72259b0d..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-ssid/copy.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[OpenNetworkData](../index.md)/[Ssid](index.md)/[copy](copy.md)
-
-# copy
-
-[androidJvm]\
-fun [copy](copy.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [OpenNetworkData.Ssid](index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-ssid/index.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-ssid/index.md
deleted file mode 100644
index 4f0eab18..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-ssid/index.md
+++ /dev/null
@@ -1,22 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[OpenNetworkData](../index.md)/[Ssid](index.md)
-
-# Ssid
-
-[androidJvm]\
-data class [Ssid](index.md)(**ssid**: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) : [OpenNetworkData](../index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [component1](component1.md) | [androidJvm]
operator fun [component1](component1.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-| [copy](copy.md) | [androidJvm]
fun [copy](copy.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [OpenNetworkData.Ssid](index.md) |
-| [equals](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator override fun [equals](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open override fun [hashCode](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open override fun [toString](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [ssid](ssid.md) | [androidJvm]
val [ssid](ssid.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-ssid/ssid.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-ssid/ssid.md
deleted file mode 100644
index cb514d5a..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-ssid/ssid.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[OpenNetworkData](../index.md)/[Ssid](index.md)/[ssid](ssid.md)
-
-# ssid
-
-[androidJvm]\
-val [ssid](ssid.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/index.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/index.md
deleted file mode 100644
index 5bb9392e..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/index.md
+++ /dev/null
@@ -1,28 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../index.md)/[OpenNetworkData](index.md)
-
-# OpenNetworkData
-
-[androidJvm]\
-sealed class [OpenNetworkData](index.md)
-
-## Types
-
-| Name | Summary |
-|---|---|
-| [Ssid](-ssid/index.md) | [androidJvm]
data class [Ssid](-ssid/index.md)(**ssid**: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) : [OpenNetworkData](index.md) |
-| [SsidAndActivityResultLauncher](-ssid-and-activity-result-launcher/index.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
data class [SsidAndActivityResultLauncher](-ssid-and-activity-result-launcher/index.md)(**ssid**: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), **activityResultLauncher**: [ActivityResultLauncher](https://developer.android.com/reference/kotlin/androidx/activity/result/ActivityResultLauncher.html)<[Intent](https://developer.android.com/reference/kotlin/android/content/Intent.html)>) : [OpenNetworkData](index.md) |
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [OpenNetworkData](-ssid/index.md) |
-| [OpenNetworkData](-ssid-and-activity-result-launcher/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-and-passphrase/-ssid-and-passphrase.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-and-passphrase/-ssid-and-passphrase.md
deleted file mode 100644
index dd100ef7..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-and-passphrase/-ssid-and-passphrase.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[WPA2NetworkData](../index.md)/[SsidAndPassphrase](index.md)/[SsidAndPassphrase](-ssid-and-passphrase.md)
-
-# SsidAndPassphrase
-
-[androidJvm]\
-fun [SsidAndPassphrase](-ssid-and-passphrase.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-and-passphrase/component1.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-and-passphrase/component1.md
deleted file mode 100644
index 626c9ebf..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-and-passphrase/component1.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[WPA2NetworkData](../index.md)/[SsidAndPassphrase](index.md)/[component1](component1.md)
-
-# component1
-
-[androidJvm]\
-operator fun [component1](component1.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-and-passphrase/component2.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-and-passphrase/component2.md
deleted file mode 100644
index 157841ef..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-and-passphrase/component2.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[WPA2NetworkData](../index.md)/[SsidAndPassphrase](index.md)/[component2](component2.md)
-
-# component2
-
-[androidJvm]\
-operator fun [component2](component2.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-and-passphrase/copy.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-and-passphrase/copy.md
deleted file mode 100644
index 2628cd3c..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-and-passphrase/copy.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[WPA2NetworkData](../index.md)/[SsidAndPassphrase](index.md)/[copy](copy.md)
-
-# copy
-
-[androidJvm]\
-fun [copy](copy.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [WPA2NetworkData.SsidAndPassphrase](index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-and-passphrase/index.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-and-passphrase/index.md
deleted file mode 100644
index a5026f7e..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-and-passphrase/index.md
+++ /dev/null
@@ -1,24 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[WPA2NetworkData](../index.md)/[SsidAndPassphrase](index.md)
-
-# SsidAndPassphrase
-
-[androidJvm]\
-data class [SsidAndPassphrase](index.md)(**ssid**: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), **passphrase**: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) : [WPA2NetworkData](../index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [component1](component1.md) | [androidJvm]
operator fun [component1](component1.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-| [component2](component2.md) | [androidJvm]
operator fun [component2](component2.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-| [copy](copy.md) | [androidJvm]
fun [copy](copy.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [WPA2NetworkData.SsidAndPassphrase](index.md) |
-| [equals](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator override fun [equals](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open override fun [hashCode](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open override fun [toString](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [passphrase](passphrase.md) | [androidJvm]
val [passphrase](passphrase.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-| [ssid](ssid.md) | [androidJvm]
val [ssid](ssid.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-and-passphrase/passphrase.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-and-passphrase/passphrase.md
deleted file mode 100644
index 859d574a..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-and-passphrase/passphrase.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[WPA2NetworkData](../index.md)/[SsidAndPassphrase](index.md)/[passphrase](passphrase.md)
-
-# passphrase
-
-[androidJvm]\
-val [passphrase](passphrase.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-and-passphrase/ssid.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-and-passphrase/ssid.md
deleted file mode 100644
index c3e8c036..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-and-passphrase/ssid.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[WPA2NetworkData](../index.md)/[SsidAndPassphrase](index.md)/[ssid](ssid.md)
-
-# ssid
-
-[androidJvm]\
-val [ssid](ssid.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-passphrase-and-activity-result-launcher/-ssid-passphrase-and-activity-result-launcher.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-passphrase-and-activity-result-launcher/-ssid-passphrase-and-activity-result-launcher.md
deleted file mode 100644
index b58e95dd..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-passphrase-and-activity-result-launcher/-ssid-passphrase-and-activity-result-launcher.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[WPA2NetworkData](../index.md)/[SsidPassphraseAndActivityResultLauncher](index.md)/[SsidPassphraseAndActivityResultLauncher](-ssid-passphrase-and-activity-result-launcher.md)
-
-# SsidPassphraseAndActivityResultLauncher
-
-[androidJvm]\
-fun [SsidPassphraseAndActivityResultLauncher](-ssid-passphrase-and-activity-result-launcher.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), activityResultLauncher: [ActivityResultLauncher](https://developer.android.com/reference/kotlin/androidx/activity/result/ActivityResultLauncher.html)<[Intent](https://developer.android.com/reference/kotlin/android/content/Intent.html)>)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-passphrase-and-activity-result-launcher/activity-result-launcher.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-passphrase-and-activity-result-launcher/activity-result-launcher.md
deleted file mode 100644
index d49717d9..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-passphrase-and-activity-result-launcher/activity-result-launcher.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[WPA2NetworkData](../index.md)/[SsidPassphraseAndActivityResultLauncher](index.md)/[activityResultLauncher](activity-result-launcher.md)
-
-# activityResultLauncher
-
-[androidJvm]\
-val [activityResultLauncher](activity-result-launcher.md): [ActivityResultLauncher](https://developer.android.com/reference/kotlin/androidx/activity/result/ActivityResultLauncher.html)<[Intent](https://developer.android.com/reference/kotlin/android/content/Intent.html)>
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-passphrase-and-activity-result-launcher/component1.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-passphrase-and-activity-result-launcher/component1.md
deleted file mode 100644
index 6d8c33b5..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-passphrase-and-activity-result-launcher/component1.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[WPA2NetworkData](../index.md)/[SsidPassphraseAndActivityResultLauncher](index.md)/[component1](component1.md)
-
-# component1
-
-[androidJvm]\
-operator fun [component1](component1.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-passphrase-and-activity-result-launcher/component2.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-passphrase-and-activity-result-launcher/component2.md
deleted file mode 100644
index 414e3e4a..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-passphrase-and-activity-result-launcher/component2.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[WPA2NetworkData](../index.md)/[SsidPassphraseAndActivityResultLauncher](index.md)/[component2](component2.md)
-
-# component2
-
-[androidJvm]\
-operator fun [component2](component2.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-passphrase-and-activity-result-launcher/component3.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-passphrase-and-activity-result-launcher/component3.md
deleted file mode 100644
index 376b6db0..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-passphrase-and-activity-result-launcher/component3.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[WPA2NetworkData](../index.md)/[SsidPassphraseAndActivityResultLauncher](index.md)/[component3](component3.md)
-
-# component3
-
-[androidJvm]\
-operator fun [component3](component3.md)(): [ActivityResultLauncher](https://developer.android.com/reference/kotlin/androidx/activity/result/ActivityResultLauncher.html)<[Intent](https://developer.android.com/reference/kotlin/android/content/Intent.html)>
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-passphrase-and-activity-result-launcher/copy.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-passphrase-and-activity-result-launcher/copy.md
deleted file mode 100644
index 019527c5..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-passphrase-and-activity-result-launcher/copy.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[WPA2NetworkData](../index.md)/[SsidPassphraseAndActivityResultLauncher](index.md)/[copy](copy.md)
-
-# copy
-
-[androidJvm]\
-fun [copy](copy.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), activityResultLauncher: [ActivityResultLauncher](https://developer.android.com/reference/kotlin/androidx/activity/result/ActivityResultLauncher.html)<[Intent](https://developer.android.com/reference/kotlin/android/content/Intent.html)>): [WPA2NetworkData.SsidPassphraseAndActivityResultLauncher](index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-passphrase-and-activity-result-launcher/index.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-passphrase-and-activity-result-launcher/index.md
deleted file mode 100644
index c012db7c..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-passphrase-and-activity-result-launcher/index.md
+++ /dev/null
@@ -1,28 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[WPA2NetworkData](../index.md)/[SsidPassphraseAndActivityResultLauncher](index.md)
-
-# SsidPassphraseAndActivityResultLauncher
-
-[androidJvm]\
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
-
-data class [SsidPassphraseAndActivityResultLauncher](index.md)(**ssid**: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), **passphrase**: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), **activityResultLauncher**: [ActivityResultLauncher](https://developer.android.com/reference/kotlin/androidx/activity/result/ActivityResultLauncher.html)<[Intent](https://developer.android.com/reference/kotlin/android/content/Intent.html)>) : [WPA2NetworkData](../index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [component1](component1.md) | [androidJvm]
operator fun [component1](component1.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-| [component2](component2.md) | [androidJvm]
operator fun [component2](component2.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-| [component3](component3.md) | [androidJvm]
operator fun [component3](component3.md)(): [ActivityResultLauncher](https://developer.android.com/reference/kotlin/androidx/activity/result/ActivityResultLauncher.html)<[Intent](https://developer.android.com/reference/kotlin/android/content/Intent.html)> |
-| [copy](copy.md) | [androidJvm]
fun [copy](copy.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), activityResultLauncher: [ActivityResultLauncher](https://developer.android.com/reference/kotlin/androidx/activity/result/ActivityResultLauncher.html)<[Intent](https://developer.android.com/reference/kotlin/android/content/Intent.html)>): [WPA2NetworkData.SsidPassphraseAndActivityResultLauncher](index.md) |
-| [equals](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator override fun [equals](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open override fun [hashCode](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open override fun [toString](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [activityResultLauncher](activity-result-launcher.md) | [androidJvm]
val [activityResultLauncher](activity-result-launcher.md): [ActivityResultLauncher](https://developer.android.com/reference/kotlin/androidx/activity/result/ActivityResultLauncher.html)<[Intent](https://developer.android.com/reference/kotlin/android/content/Intent.html)> |
-| [passphrase](passphrase.md) | [androidJvm]
val [passphrase](passphrase.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-| [ssid](ssid.md) | [androidJvm]
val [ssid](ssid.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-passphrase-and-activity-result-launcher/passphrase.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-passphrase-and-activity-result-launcher/passphrase.md
deleted file mode 100644
index 782d77b6..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-passphrase-and-activity-result-launcher/passphrase.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[WPA2NetworkData](../index.md)/[SsidPassphraseAndActivityResultLauncher](index.md)/[passphrase](passphrase.md)
-
-# passphrase
-
-[androidJvm]\
-val [passphrase](passphrase.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-passphrase-and-activity-result-launcher/ssid.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-passphrase-and-activity-result-launcher/ssid.md
deleted file mode 100644
index 21aab0e6..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-passphrase-and-activity-result-launcher/ssid.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[WPA2NetworkData](../index.md)/[SsidPassphraseAndActivityResultLauncher](index.md)/[ssid](ssid.md)
-
-# ssid
-
-[androidJvm]\
-val [ssid](ssid.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-w-p-a2-network-data.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-w-p-a2-network-data.md
deleted file mode 100644
index 72ca7784..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-w-p-a2-network-data.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../index.md)/[WPA2NetworkData](index.md)/[WPA2NetworkData](-w-p-a2-network-data.md)
-
-# WPA2NetworkData
-
-[androidJvm]\
-protected fun [WPA2NetworkData](-w-p-a2-network-data.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/index.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/index.md
deleted file mode 100644
index 9e3de556..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/index.md
+++ /dev/null
@@ -1,28 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../index.md)/[WPA2NetworkData](index.md)
-
-# WPA2NetworkData
-
-[androidJvm]\
-sealed class [WPA2NetworkData](index.md)
-
-## Types
-
-| Name | Summary |
-|---|---|
-| [SsidAndPassphrase](-ssid-and-passphrase/index.md) | [androidJvm]
data class [SsidAndPassphrase](-ssid-and-passphrase/index.md)(**ssid**: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), **passphrase**: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) : [WPA2NetworkData](index.md) |
-| [SsidPassphraseAndActivityResultLauncher](-ssid-passphrase-and-activity-result-launcher/index.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
data class [SsidPassphraseAndActivityResultLauncher](-ssid-passphrase-and-activity-result-launcher/index.md)(**ssid**: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), **passphrase**: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), **activityResultLauncher**: [ActivityResultLauncher](https://developer.android.com/reference/kotlin/androidx/activity/result/ActivityResultLauncher.html)<[Intent](https://developer.android.com/reference/kotlin/android/content/Intent.html)>) : [WPA2NetworkData](index.md) |
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [WPA2NetworkData](-ssid-and-passphrase/index.md) |
-| [WPA2NetworkData](-ssid-passphrase-and-activity-result-launcher/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-and-passphrase/-ssid-and-passphrase.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-and-passphrase/-ssid-and-passphrase.md
deleted file mode 100644
index 912244e5..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-and-passphrase/-ssid-and-passphrase.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[WPA3NetworkData](../index.md)/[SsidAndPassphrase](index.md)/[SsidAndPassphrase](-ssid-and-passphrase.md)
-
-# SsidAndPassphrase
-
-[androidJvm]\
-fun [SsidAndPassphrase](-ssid-and-passphrase.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-and-passphrase/component1.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-and-passphrase/component1.md
deleted file mode 100644
index e7233b03..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-and-passphrase/component1.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[WPA3NetworkData](../index.md)/[SsidAndPassphrase](index.md)/[component1](component1.md)
-
-# component1
-
-[androidJvm]\
-operator fun [component1](component1.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-and-passphrase/component2.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-and-passphrase/component2.md
deleted file mode 100644
index 95dcb3f2..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-and-passphrase/component2.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[WPA3NetworkData](../index.md)/[SsidAndPassphrase](index.md)/[component2](component2.md)
-
-# component2
-
-[androidJvm]\
-operator fun [component2](component2.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-and-passphrase/copy.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-and-passphrase/copy.md
deleted file mode 100644
index 933dd8be..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-and-passphrase/copy.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[WPA3NetworkData](../index.md)/[SsidAndPassphrase](index.md)/[copy](copy.md)
-
-# copy
-
-[androidJvm]\
-fun [copy](copy.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [WPA3NetworkData.SsidAndPassphrase](index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-and-passphrase/index.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-and-passphrase/index.md
deleted file mode 100644
index f9adc305..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-and-passphrase/index.md
+++ /dev/null
@@ -1,26 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[WPA3NetworkData](../index.md)/[SsidAndPassphrase](index.md)
-
-# SsidAndPassphrase
-
-[androidJvm]\
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
-
-data class [SsidAndPassphrase](index.md)(**ssid**: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), **passphrase**: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) : [WPA3NetworkData](../index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [component1](component1.md) | [androidJvm]
operator fun [component1](component1.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-| [component2](component2.md) | [androidJvm]
operator fun [component2](component2.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-| [copy](copy.md) | [androidJvm]
fun [copy](copy.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [WPA3NetworkData.SsidAndPassphrase](index.md) |
-| [equals](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator override fun [equals](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open override fun [hashCode](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open override fun [toString](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [passphrase](passphrase.md) | [androidJvm]
val [passphrase](passphrase.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-| [ssid](ssid.md) | [androidJvm]
val [ssid](ssid.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-and-passphrase/passphrase.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-and-passphrase/passphrase.md
deleted file mode 100644
index 76512e1e..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-and-passphrase/passphrase.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[WPA3NetworkData](../index.md)/[SsidAndPassphrase](index.md)/[passphrase](passphrase.md)
-
-# passphrase
-
-[androidJvm]\
-val [passphrase](passphrase.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-and-passphrase/ssid.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-and-passphrase/ssid.md
deleted file mode 100644
index 835a3a76..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-and-passphrase/ssid.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[WPA3NetworkData](../index.md)/[SsidAndPassphrase](index.md)/[ssid](ssid.md)
-
-# ssid
-
-[androidJvm]\
-val [ssid](ssid.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-passphrase-and-activity-result-launcher/-ssid-passphrase-and-activity-result-launcher.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-passphrase-and-activity-result-launcher/-ssid-passphrase-and-activity-result-launcher.md
deleted file mode 100644
index 252f91c4..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-passphrase-and-activity-result-launcher/-ssid-passphrase-and-activity-result-launcher.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[WPA3NetworkData](../index.md)/[SsidPassphraseAndActivityResultLauncher](index.md)/[SsidPassphraseAndActivityResultLauncher](-ssid-passphrase-and-activity-result-launcher.md)
-
-# SsidPassphraseAndActivityResultLauncher
-
-[androidJvm]\
-fun [SsidPassphraseAndActivityResultLauncher](-ssid-passphrase-and-activity-result-launcher.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), activityResultLauncher: [ActivityResultLauncher](https://developer.android.com/reference/kotlin/androidx/activity/result/ActivityResultLauncher.html)<[Intent](https://developer.android.com/reference/kotlin/android/content/Intent.html)>)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-passphrase-and-activity-result-launcher/activity-result-launcher.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-passphrase-and-activity-result-launcher/activity-result-launcher.md
deleted file mode 100644
index be8afbf6..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-passphrase-and-activity-result-launcher/activity-result-launcher.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[WPA3NetworkData](../index.md)/[SsidPassphraseAndActivityResultLauncher](index.md)/[activityResultLauncher](activity-result-launcher.md)
-
-# activityResultLauncher
-
-[androidJvm]\
-val [activityResultLauncher](activity-result-launcher.md): [ActivityResultLauncher](https://developer.android.com/reference/kotlin/androidx/activity/result/ActivityResultLauncher.html)<[Intent](https://developer.android.com/reference/kotlin/android/content/Intent.html)>
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-passphrase-and-activity-result-launcher/component1.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-passphrase-and-activity-result-launcher/component1.md
deleted file mode 100644
index 5cc47afe..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-passphrase-and-activity-result-launcher/component1.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[WPA3NetworkData](../index.md)/[SsidPassphraseAndActivityResultLauncher](index.md)/[component1](component1.md)
-
-# component1
-
-[androidJvm]\
-operator fun [component1](component1.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-passphrase-and-activity-result-launcher/component2.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-passphrase-and-activity-result-launcher/component2.md
deleted file mode 100644
index 4f170389..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-passphrase-and-activity-result-launcher/component2.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[WPA3NetworkData](../index.md)/[SsidPassphraseAndActivityResultLauncher](index.md)/[component2](component2.md)
-
-# component2
-
-[androidJvm]\
-operator fun [component2](component2.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-passphrase-and-activity-result-launcher/component3.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-passphrase-and-activity-result-launcher/component3.md
deleted file mode 100644
index ce944c2a..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-passphrase-and-activity-result-launcher/component3.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[WPA3NetworkData](../index.md)/[SsidPassphraseAndActivityResultLauncher](index.md)/[component3](component3.md)
-
-# component3
-
-[androidJvm]\
-operator fun [component3](component3.md)(): [ActivityResultLauncher](https://developer.android.com/reference/kotlin/androidx/activity/result/ActivityResultLauncher.html)<[Intent](https://developer.android.com/reference/kotlin/android/content/Intent.html)>
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-passphrase-and-activity-result-launcher/copy.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-passphrase-and-activity-result-launcher/copy.md
deleted file mode 100644
index 7e614d71..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-passphrase-and-activity-result-launcher/copy.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[WPA3NetworkData](../index.md)/[SsidPassphraseAndActivityResultLauncher](index.md)/[copy](copy.md)
-
-# copy
-
-[androidJvm]\
-fun [copy](copy.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), activityResultLauncher: [ActivityResultLauncher](https://developer.android.com/reference/kotlin/androidx/activity/result/ActivityResultLauncher.html)<[Intent](https://developer.android.com/reference/kotlin/android/content/Intent.html)>): [WPA3NetworkData.SsidPassphraseAndActivityResultLauncher](index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-passphrase-and-activity-result-launcher/index.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-passphrase-and-activity-result-launcher/index.md
deleted file mode 100644
index d739fe8c..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-passphrase-and-activity-result-launcher/index.md
+++ /dev/null
@@ -1,28 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[WPA3NetworkData](../index.md)/[SsidPassphraseAndActivityResultLauncher](index.md)
-
-# SsidPassphraseAndActivityResultLauncher
-
-[androidJvm]\
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
-
-data class [SsidPassphraseAndActivityResultLauncher](index.md)(**ssid**: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), **passphrase**: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), **activityResultLauncher**: [ActivityResultLauncher](https://developer.android.com/reference/kotlin/androidx/activity/result/ActivityResultLauncher.html)<[Intent](https://developer.android.com/reference/kotlin/android/content/Intent.html)>) : [WPA3NetworkData](../index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [component1](component1.md) | [androidJvm]
operator fun [component1](component1.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-| [component2](component2.md) | [androidJvm]
operator fun [component2](component2.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-| [component3](component3.md) | [androidJvm]
operator fun [component3](component3.md)(): [ActivityResultLauncher](https://developer.android.com/reference/kotlin/androidx/activity/result/ActivityResultLauncher.html)<[Intent](https://developer.android.com/reference/kotlin/android/content/Intent.html)> |
-| [copy](copy.md) | [androidJvm]
fun [copy](copy.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), activityResultLauncher: [ActivityResultLauncher](https://developer.android.com/reference/kotlin/androidx/activity/result/ActivityResultLauncher.html)<[Intent](https://developer.android.com/reference/kotlin/android/content/Intent.html)>): [WPA3NetworkData.SsidPassphraseAndActivityResultLauncher](index.md) |
-| [equals](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator override fun [equals](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open override fun [hashCode](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open override fun [toString](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [activityResultLauncher](activity-result-launcher.md) | [androidJvm]
val [activityResultLauncher](activity-result-launcher.md): [ActivityResultLauncher](https://developer.android.com/reference/kotlin/androidx/activity/result/ActivityResultLauncher.html)<[Intent](https://developer.android.com/reference/kotlin/android/content/Intent.html)> |
-| [passphrase](passphrase.md) | [androidJvm]
val [passphrase](passphrase.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-| [ssid](ssid.md) | [androidJvm]
val [ssid](ssid.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-passphrase-and-activity-result-launcher/passphrase.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-passphrase-and-activity-result-launcher/passphrase.md
deleted file mode 100644
index 78c4fd4d..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-passphrase-and-activity-result-launcher/passphrase.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[WPA3NetworkData](../index.md)/[SsidPassphraseAndActivityResultLauncher](index.md)/[passphrase](passphrase.md)
-
-# passphrase
-
-[androidJvm]\
-val [passphrase](passphrase.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-passphrase-and-activity-result-launcher/ssid.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-passphrase-and-activity-result-launcher/ssid.md
deleted file mode 100644
index fba1d815..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-passphrase-and-activity-result-launcher/ssid.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[WPA3NetworkData](../index.md)/[SsidPassphraseAndActivityResultLauncher](index.md)/[ssid](ssid.md)
-
-# ssid
-
-[androidJvm]\
-val [ssid](ssid.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-w-p-a3-network-data.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-w-p-a3-network-data.md
deleted file mode 100644
index bb1fbc79..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-w-p-a3-network-data.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../index.md)/[WPA3NetworkData](index.md)/[WPA3NetworkData](-w-p-a3-network-data.md)
-
-# WPA3NetworkData
-
-[androidJvm]\
-protected fun [WPA3NetworkData](-w-p-a3-network-data.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/index.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/index.md
deleted file mode 100644
index 56b21ae3..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/index.md
+++ /dev/null
@@ -1,30 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../index.md)/[WPA3NetworkData](index.md)
-
-# WPA3NetworkData
-
-[androidJvm]\
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
-
-sealed class [WPA3NetworkData](index.md)
-
-## Types
-
-| Name | Summary |
-|---|---|
-| [SsidAndPassphrase](-ssid-and-passphrase/index.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
data class [SsidAndPassphrase](-ssid-and-passphrase/index.md)(**ssid**: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), **passphrase**: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) : [WPA3NetworkData](index.md) |
-| [SsidPassphraseAndActivityResultLauncher](-ssid-passphrase-and-activity-result-launcher/index.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
data class [SsidPassphraseAndActivityResultLauncher](-ssid-passphrase-and-activity-result-launcher/index.md)(**ssid**: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), **passphrase**: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), **activityResultLauncher**: [ActivityResultLauncher](https://developer.android.com/reference/kotlin/androidx/activity/result/ActivityResultLauncher.html)<[Intent](https://developer.android.com/reference/kotlin/android/content/Intent.html)>) : [WPA3NetworkData](index.md) |
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [WPA3NetworkData](-ssid-and-passphrase/index.md) |
-| [WPA3NetworkData](-ssid-passphrase-and-activity-result-launcher/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/index.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/index.md
deleted file mode 100644
index 628ad65a..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork.entities/index.md
+++ /dev/null
@@ -1,12 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](index.md)
-
-# Package com.isupatches.android.wisefy.addnetwork.entities
-
-## Types
-
-| Name | Summary |
-|---|---|
-| [AddNetworkResult](-add-network-result/index.md) | [androidJvm]
sealed class [AddNetworkResult](-add-network-result/index.md) |
-| [OpenNetworkData](-open-network-data/index.md) | [androidJvm]
sealed class [OpenNetworkData](-open-network-data/index.md) |
-| [WPA2NetworkData](-w-p-a2-network-data/index.md) | [androidJvm]
sealed class [WPA2NetworkData](-w-p-a2-network-data/index.md) |
-| [WPA3NetworkData](-w-p-a3-network-data/index.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
sealed class [WPA3NetworkData](-w-p-a3-network-data/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-add-network-api-async/add-open-network.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-add-network-api-async/add-open-network.md
deleted file mode 100644
index 547a8710..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-add-network-api-async/add-open-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork](../index.md)/[AddNetworkApiAsync](index.md)/[addOpenNetwork](add-open-network.md)
-
-# addOpenNetwork
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
-
-abstract fun [addOpenNetwork](add-open-network.md)(data: [OpenNetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/index.md), callbacks: [AddNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-add-network-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-add-network-api-async/add-w-p-a2-network.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-add-network-api-async/add-w-p-a2-network.md
deleted file mode 100644
index b4e459ce..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-add-network-api-async/add-w-p-a2-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork](../index.md)/[AddNetworkApiAsync](index.md)/[addWPA2Network](add-w-p-a2-network.md)
-
-# addWPA2Network
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
-
-abstract fun [addWPA2Network](add-w-p-a2-network.md)(data: [WPA2NetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/index.md), callbacks: [AddNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-add-network-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-add-network-api-async/add-w-p-a3-network.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-add-network-api-async/add-w-p-a3-network.md
deleted file mode 100644
index 8fa6ce7e..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-add-network-api-async/add-w-p-a3-network.md
+++ /dev/null
@@ -1,11 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork](../index.md)/[AddNetworkApiAsync](index.md)/[addWPA3Network](add-w-p-a3-network.md)
-
-# addWPA3Network
-
-[androidJvm]\
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
-
-abstract fun [addWPA3Network](add-w-p-a3-network.md)(data: [WPA3NetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/index.md), callbacks: [AddNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-add-network-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-add-network-api-async/index.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-add-network-api-async/index.md
deleted file mode 100644
index 9a28defa..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-add-network-api-async/index.md
+++ /dev/null
@@ -1,24 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork](../index.md)/[AddNetworkApiAsync](index.md)
-
-# AddNetworkApiAsync
-
-[androidJvm]\
-interface [AddNetworkApiAsync](index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [addOpenNetwork](add-open-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
abstract fun [addOpenNetwork](add-open-network.md)(data: [OpenNetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/index.md), callbacks: [AddNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-add-network-callbacks/index.md)?) |
-| [addWPA2Network](add-w-p-a2-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
abstract fun [addWPA2Network](add-w-p-a2-network.md)(data: [WPA2NetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/index.md), callbacks: [AddNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-add-network-callbacks/index.md)?) |
-| [addWPA3Network](add-w-p-a3-network.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
abstract fun [addWPA3Network](add-w-p-a3-network.md)(data: [WPA3NetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/index.md), callbacks: [AddNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-add-network-callbacks/index.md)?) |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [WisefyApi](../../com.isupatches.android.wisefy/-wisefy-api/index.md) |
-| [AddNetworkUtil](../-add-network-util/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-add-network-api/add-open-network.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-add-network-api/add-open-network.md
deleted file mode 100644
index 60006f80..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-add-network-api/add-open-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork](../index.md)/[AddNetworkApi](index.md)/[addOpenNetwork](add-open-network.md)
-
-# addOpenNetwork
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
-
-abstract fun [addOpenNetwork](add-open-network.md)(data: [OpenNetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/index.md)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-add-network-api/add-w-p-a2-network.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-add-network-api/add-w-p-a2-network.md
deleted file mode 100644
index 6d4eab21..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-add-network-api/add-w-p-a2-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork](../index.md)/[AddNetworkApi](index.md)/[addWPA2Network](add-w-p-a2-network.md)
-
-# addWPA2Network
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
-
-abstract fun [addWPA2Network](add-w-p-a2-network.md)(data: [WPA2NetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/index.md)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-add-network-api/add-w-p-a3-network.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-add-network-api/add-w-p-a3-network.md
deleted file mode 100644
index c7547768..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-add-network-api/add-w-p-a3-network.md
+++ /dev/null
@@ -1,11 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork](../index.md)/[AddNetworkApi](index.md)/[addWPA3Network](add-w-p-a3-network.md)
-
-# addWPA3Network
-
-[androidJvm]\
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
-
-abstract fun [addWPA3Network](add-w-p-a3-network.md)(data: [WPA3NetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/index.md)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-add-network-api/index.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-add-network-api/index.md
deleted file mode 100644
index 5d4258fc..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-add-network-api/index.md
+++ /dev/null
@@ -1,27 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork](../index.md)/[AddNetworkApi](index.md)
-
-# AddNetworkApi
-
-[androidJvm]\
-interface [AddNetworkApi](index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [addOpenNetwork](add-open-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
abstract fun [addOpenNetwork](add-open-network.md)(data: [OpenNetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/index.md)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md) |
-| [addWPA2Network](add-w-p-a2-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
abstract fun [addWPA2Network](add-w-p-a2-network.md)(data: [WPA2NetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/index.md)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md) |
-| [addWPA3Network](add-w-p-a3-network.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
abstract fun [addWPA3Network](add-w-p-a3-network.md)(data: [WPA3NetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/index.md)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md) |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [WisefyApi](../../com.isupatches.android.wisefy/-wisefy-api/index.md) |
-| [AddNetworkUtil](../-add-network-util/index.md) |
-| [Android29AddNetworkDelegate](../../com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-delegate/index.md) |
-| [Android30AddNetworkDelegate](../../com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-delegate/index.md) |
-| [LegacyAddNetworkDelegate](../../com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-delegate/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-add-network-util/index.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-add-network-util/index.md
deleted file mode 100644
index 722706d3..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-add-network-util/index.md
+++ /dev/null
@@ -1,23 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork](../index.md)/[AddNetworkUtil](index.md)
-
-# AddNetworkUtil
-
-[androidJvm]\
-internal interface [AddNetworkUtil](index.md) : [AddNetworkApi](../-add-network-api/index.md), [AddNetworkApiAsync](../-add-network-api-async/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [addOpenNetwork](../-add-network-api/add-open-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
abstract fun [addOpenNetwork](../-add-network-api/add-open-network.md)(data: [OpenNetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/index.md)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
abstract fun [addOpenNetwork](../-add-network-api-async/add-open-network.md)(data: [OpenNetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/index.md), callbacks: [AddNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-add-network-callbacks/index.md)?) |
-| [addWPA2Network](../-add-network-api/add-w-p-a2-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
abstract fun [addWPA2Network](../-add-network-api/add-w-p-a2-network.md)(data: [WPA2NetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/index.md)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
abstract fun [addWPA2Network](../-add-network-api-async/add-w-p-a2-network.md)(data: [WPA2NetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/index.md), callbacks: [AddNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-add-network-callbacks/index.md)?) |
-| [addWPA3Network](../-add-network-api/add-w-p-a3-network.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
abstract fun [addWPA3Network](../-add-network-api/add-w-p-a3-network.md)(data: [WPA3NetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/index.md)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
abstract fun [addWPA3Network](../-add-network-api-async/add-w-p-a3-network.md)(data: [WPA3NetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/index.md), callbacks: [AddNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-add-network-callbacks/index.md)?) |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [WisefyAddNetworkUtil](../-wisefy-add-network-util/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-l-o-g_-t-a-g.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-l-o-g_-t-a-g.md
deleted file mode 100644
index c130119b..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-l-o-g_-t-a-g.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.addnetwork](index.md)/[LOG_TAG](-l-o-g_-t-a-g.md)
-
-# LOG_TAG
-
-[androidJvm]\
-private const val [LOG_TAG](-l-o-g_-t-a-g.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-util/-wisefy-add-network-util.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-util/-wisefy-add-network-util.md
deleted file mode 100644
index 401d8cb8..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-util/-wisefy-add-network-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork](../index.md)/[WisefyAddNetworkUtil](index.md)/[WisefyAddNetworkUtil](-wisefy-add-network-util.md)
-
-# WisefyAddNetworkUtil
-
-[androidJvm]\
-fun [WisefyAddNetworkUtil](-wisefy-add-network-util.md)(coroutineDispatcherProvider: [CoroutineDispatcherProvider](../../com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/index.md), logger: [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?, sdkUtil: [SdkUtil](../../com.isupatches.android.wisefy.util/-sdk-util/index.md), wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-util/add-network-scope.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-util/add-network-scope.md
deleted file mode 100644
index d7f78cf9..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-util/add-network-scope.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork](../index.md)/[WisefyAddNetworkUtil](index.md)/[addNetworkScope](add-network-scope.md)
-
-# addNetworkScope
-
-[androidJvm]\
-private val [addNetworkScope](add-network-scope.md): CoroutineScope
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-util/add-open-network.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-util/add-open-network.md
deleted file mode 100644
index f93a855b..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-util/add-open-network.md
+++ /dev/null
@@ -1,13 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork](../index.md)/[WisefyAddNetworkUtil](index.md)/[addOpenNetwork](add-open-network.md)
-
-# addOpenNetwork
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
-
-open override fun [addOpenNetwork](add-open-network.md)(data: [OpenNetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/index.md)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
-
-open override fun [addOpenNetwork](add-open-network.md)(data: [OpenNetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/index.md), callbacks: [AddNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-add-network-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-util/add-w-p-a2-network.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-util/add-w-p-a2-network.md
deleted file mode 100644
index 2aa30f17..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-util/add-w-p-a2-network.md
+++ /dev/null
@@ -1,13 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork](../index.md)/[WisefyAddNetworkUtil](index.md)/[addWPA2Network](add-w-p-a2-network.md)
-
-# addWPA2Network
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
-
-open override fun [addWPA2Network](add-w-p-a2-network.md)(data: [WPA2NetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/index.md)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
-
-open override fun [addWPA2Network](add-w-p-a2-network.md)(data: [WPA2NetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/index.md), callbacks: [AddNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-add-network-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-util/add-w-p-a3-network.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-util/add-w-p-a3-network.md
deleted file mode 100644
index 718e7c3f..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-util/add-w-p-a3-network.md
+++ /dev/null
@@ -1,17 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork](../index.md)/[WisefyAddNetworkUtil](index.md)/[addWPA3Network](add-w-p-a3-network.md)
-
-# addWPA3Network
-
-[androidJvm]\
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
-
-open override fun [addWPA3Network](add-w-p-a3-network.md)(data: [WPA3NetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/index.md)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
-
-open override fun [addWPA3Network](add-w-p-a3-network.md)(data: [WPA3NetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/index.md), callbacks: [AddNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-add-network-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-util/coroutine-dispatcher-provider.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-util/coroutine-dispatcher-provider.md
deleted file mode 100644
index 1cf61168..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-util/coroutine-dispatcher-provider.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork](../index.md)/[WisefyAddNetworkUtil](index.md)/[coroutineDispatcherProvider](coroutine-dispatcher-provider.md)
-
-# coroutineDispatcherProvider
-
-[androidJvm]\
-private val [coroutineDispatcherProvider](coroutine-dispatcher-provider.md): [CoroutineDispatcherProvider](../../com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-util/delegate.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-util/delegate.md
deleted file mode 100644
index ece8a232..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-util/delegate.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork](../index.md)/[WisefyAddNetworkUtil](index.md)/[delegate](delegate.md)
-
-# delegate
-
-[androidJvm]\
-private val [delegate](delegate.md): [AddNetworkApi](../-add-network-api/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-util/index.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-util/index.md
deleted file mode 100644
index 68bcb87b..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-util/index.md
+++ /dev/null
@@ -1,25 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.addnetwork](../index.md)/[WisefyAddNetworkUtil](index.md)
-
-# WisefyAddNetworkUtil
-
-[androidJvm]\
-internal class [WisefyAddNetworkUtil](index.md)(**coroutineDispatcherProvider**: [CoroutineDispatcherProvider](../../com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/index.md), **logger**: [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?, **sdkUtil**: [SdkUtil](../../com.isupatches.android.wisefy.util/-sdk-util/index.md), **wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)) : [AddNetworkUtil](../-add-network-util/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [addOpenNetwork](add-open-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
open override fun [addOpenNetwork](add-open-network.md)(data: [OpenNetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/index.md)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
open override fun [addOpenNetwork](add-open-network.md)(data: [OpenNetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/index.md), callbacks: [AddNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-add-network-callbacks/index.md)?) |
-| [addWPA2Network](add-w-p-a2-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
open override fun [addWPA2Network](add-w-p-a2-network.md)(data: [WPA2NetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/index.md)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
open override fun [addWPA2Network](add-w-p-a2-network.md)(data: [WPA2NetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/index.md), callbacks: [AddNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-add-network-callbacks/index.md)?) |
-| [addWPA3Network](add-w-p-a3-network.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
open override fun [addWPA3Network](add-w-p-a3-network.md)(data: [WPA3NetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/index.md)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
open override fun [addWPA3Network](add-w-p-a3-network.md)(data: [WPA3NetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/index.md), callbacks: [AddNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-add-network-callbacks/index.md)?) |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [addNetworkScope](add-network-scope.md) | [androidJvm]
private val [addNetworkScope](add-network-scope.md): CoroutineScope |
-| [coroutineDispatcherProvider](coroutine-dispatcher-provider.md) | [androidJvm]
private val [coroutineDispatcherProvider](coroutine-dispatcher-provider.md): [CoroutineDispatcherProvider](../../com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/index.md) |
-| [delegate](delegate.md) | [androidJvm]
private val [delegate](delegate.md): [AddNetworkApi](../-add-network-api/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/index.md b/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/index.md
deleted file mode 100644
index 654748c9..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.addnetwork/index.md
+++ /dev/null
@@ -1,18 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.addnetwork](index.md)
-
-# Package com.isupatches.android.wisefy.addnetwork
-
-## Types
-
-| Name | Summary |
-|---|---|
-| [AddNetworkApi](-add-network-api/index.md) | [androidJvm]
interface [AddNetworkApi](-add-network-api/index.md) |
-| [AddNetworkApiAsync](-add-network-api-async/index.md) | [androidJvm]
interface [AddNetworkApiAsync](-add-network-api-async/index.md) |
-| [AddNetworkUtil](-add-network-util/index.md) | [androidJvm]
internal interface [AddNetworkUtil](-add-network-util/index.md) : [AddNetworkApi](-add-network-api/index.md), [AddNetworkApiAsync](-add-network-api-async/index.md) |
-| [WisefyAddNetworkUtil](-wisefy-add-network-util/index.md) | [androidJvm]
internal class [WisefyAddNetworkUtil](-wisefy-add-network-util/index.md)(**coroutineDispatcherProvider**: [CoroutineDispatcherProvider](../com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/index.md), **logger**: [WisefyLogger](../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?, **sdkUtil**: [SdkUtil](../com.isupatches.android.wisefy.util/-sdk-util/index.md), **wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)) : [AddNetworkUtil](-add-network-util/index.md) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [LOG_TAG](-l-o-g_-t-a-g.md) | [androidJvm]
private const val [LOG_TAG](-l-o-g_-t-a-g.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-add-network-callbacks/index.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-add-network-callbacks/index.md
deleted file mode 100644
index ec979c1f..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-add-network-callbacks/index.md
+++ /dev/null
@@ -1,17 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[AddNetworkCallbacks](index.md)
-
-# AddNetworkCallbacks
-
-[androidJvm]\
-interface [AddNetworkCallbacks](index.md) : [BaseWisefyCallbacks](../-base-wisefy-callbacks/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [onFailureAddingNetwork](on-failure-adding-network.md) | [androidJvm]
abstract fun [onFailureAddingNetwork](on-failure-adding-network.md)(result: [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)) |
-| [onNetworkAdded](on-network-added.md) | [androidJvm]
abstract fun [onNetworkAdded](on-network-added.md)(result: [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)) |
-| [onWisefyAsyncFailure](../-base-wisefy-callbacks/on-wisefy-async-failure.md) | [androidJvm]
abstract fun [onWisefyAsyncFailure](../-base-wisefy-callbacks/on-wisefy-async-failure.md)(throwable: [Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html)) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-add-network-callbacks/on-failure-adding-network.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-add-network-callbacks/on-failure-adding-network.md
deleted file mode 100644
index a7f2fd1f..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-add-network-callbacks/on-failure-adding-network.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[AddNetworkCallbacks](index.md)/[onFailureAddingNetwork](on-failure-adding-network.md)
-
-# onFailureAddingNetwork
-
-[androidJvm]\
-abstract fun [onFailureAddingNetwork](on-failure-adding-network.md)(result: [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-add-network-callbacks/on-network-added.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-add-network-callbacks/on-network-added.md
deleted file mode 100644
index 46470caf..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-add-network-callbacks/on-network-added.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[AddNetworkCallbacks](index.md)/[onNetworkAdded](on-network-added.md)
-
-# onNetworkAdded
-
-[androidJvm]\
-abstract fun [onNetworkAdded](on-network-added.md)(result: [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-base-wisefy-callbacks/index.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-base-wisefy-callbacks/index.md
deleted file mode 100644
index 485517bb..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-base-wisefy-callbacks/index.md
+++ /dev/null
@@ -1,39 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[BaseWisefyCallbacks](index.md)
-
-# BaseWisefyCallbacks
-
-[androidJvm]\
-interface [BaseWisefyCallbacks](index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [onWisefyAsyncFailure](on-wisefy-async-failure.md) | [androidJvm]
abstract fun [onWisefyAsyncFailure](on-wisefy-async-failure.md)(throwable: [Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html)) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [GetNearbyAccessPointCallbacks](../-get-nearby-access-point-callbacks/index.md) |
-| [GetRSSICallbacks](../-get-r-s-s-i-callbacks/index.md) |
-| [SearchForAccessPointCallbacks](../-search-for-access-point-callbacks/index.md) |
-| [SearchForAccessPointsCallbacks](../-search-for-access-points-callbacks/index.md) |
-| [SearchForSSIDCallbacks](../-search-for-s-s-i-d-callbacks/index.md) |
-| [SearchForSSIDsCallbacks](../-search-for-s-s-i-ds-callbacks/index.md) |
-| [AddNetworkCallbacks](../-add-network-callbacks/index.md) |
-| [GetFrequencyCallbacks](../-get-frequency-callbacks/index.md) |
-| [GetIPCallbacks](../-get-i-p-callbacks/index.md) |
-| [ConnectToNetworkCallbacks](../-connect-to-network-callbacks/index.md) |
-| [DisconnectFromCurrentNetworkCallbacks](../-disconnect-from-current-network-callbacks/index.md) |
-| [GetCurrentNetworkCallbacks](../-get-current-network-callbacks/index.md) |
-| [GetCurrentNetworkInfoCallbacks](../-get-current-network-info-callbacks/index.md) |
-| [RemoveNetworkCallbacks](../-remove-network-callbacks/index.md) |
-| [GetSavedNetworksCallbacks](../-get-saved-networks-callbacks/index.md) |
-| [SearchForSavedNetworkCallbacks](../-search-for-saved-network-callbacks/index.md) |
-| [SearchForSavedNetworksCallbacks](../-search-for-saved-networks-callbacks/index.md) |
-| [EnableWifiCallbacks](../-enable-wifi-callbacks/index.md) |
-| [DisableWifiCallbacks](../-disable-wifi-callbacks/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-base-wisefy-callbacks/on-wisefy-async-failure.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-base-wisefy-callbacks/on-wisefy-async-failure.md
deleted file mode 100644
index 6a863185..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-base-wisefy-callbacks/on-wisefy-async-failure.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[BaseWisefyCallbacks](index.md)/[onWisefyAsyncFailure](on-wisefy-async-failure.md)
-
-# onWisefyAsyncFailure
-
-[androidJvm]\
-abstract fun [onWisefyAsyncFailure](on-wisefy-async-failure.md)(throwable: [Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-connect-to-network-callbacks/index.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-connect-to-network-callbacks/index.md
deleted file mode 100644
index 463a2b2a..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-connect-to-network-callbacks/index.md
+++ /dev/null
@@ -1,19 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[ConnectToNetworkCallbacks](index.md)
-
-# ConnectToNetworkCallbacks
-
-[androidJvm]\
-interface [ConnectToNetworkCallbacks](index.md) : [BaseWisefyCallbacks](../-base-wisefy-callbacks/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [onConnectedToNetwork](on-connected-to-network.md) | [androidJvm]
abstract fun [onConnectedToNetwork](on-connected-to-network.md)() |
-| [onConnectionRequestPlaced](on-connection-request-placed.md) | [androidJvm]
abstract fun [onConnectionRequestPlaced](on-connection-request-placed.md)() |
-| [onFailureConnectingToNetwork](on-failure-connecting-to-network.md) | [androidJvm]
abstract fun [onFailureConnectingToNetwork](on-failure-connecting-to-network.md)() |
-| [onNetworkNotFoundToConnectTo](on-network-not-found-to-connect-to.md) | [androidJvm]
abstract fun [onNetworkNotFoundToConnectTo](on-network-not-found-to-connect-to.md)() |
-| [onWisefyAsyncFailure](../-base-wisefy-callbacks/on-wisefy-async-failure.md) | [androidJvm]
abstract fun [onWisefyAsyncFailure](../-base-wisefy-callbacks/on-wisefy-async-failure.md)(throwable: [Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html)) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-connect-to-network-callbacks/on-connected-to-network.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-connect-to-network-callbacks/on-connected-to-network.md
deleted file mode 100644
index b902d93e..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-connect-to-network-callbacks/on-connected-to-network.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[ConnectToNetworkCallbacks](index.md)/[onConnectedToNetwork](on-connected-to-network.md)
-
-# onConnectedToNetwork
-
-[androidJvm]\
-abstract fun [onConnectedToNetwork](on-connected-to-network.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-connect-to-network-callbacks/on-connection-request-placed.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-connect-to-network-callbacks/on-connection-request-placed.md
deleted file mode 100644
index 8d17f2ca..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-connect-to-network-callbacks/on-connection-request-placed.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[ConnectToNetworkCallbacks](index.md)/[onConnectionRequestPlaced](on-connection-request-placed.md)
-
-# onConnectionRequestPlaced
-
-[androidJvm]\
-abstract fun [onConnectionRequestPlaced](on-connection-request-placed.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-connect-to-network-callbacks/on-failure-connecting-to-network.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-connect-to-network-callbacks/on-failure-connecting-to-network.md
deleted file mode 100644
index 44cfc687..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-connect-to-network-callbacks/on-failure-connecting-to-network.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[ConnectToNetworkCallbacks](index.md)/[onFailureConnectingToNetwork](on-failure-connecting-to-network.md)
-
-# onFailureConnectingToNetwork
-
-[androidJvm]\
-abstract fun [onFailureConnectingToNetwork](on-failure-connecting-to-network.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-connect-to-network-callbacks/on-network-not-found-to-connect-to.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-connect-to-network-callbacks/on-network-not-found-to-connect-to.md
deleted file mode 100644
index c9d4c544..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-connect-to-network-callbacks/on-network-not-found-to-connect-to.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[ConnectToNetworkCallbacks](index.md)/[onNetworkNotFoundToConnectTo](on-network-not-found-to-connect-to.md)
-
-# onNetworkNotFoundToConnectTo
-
-[androidJvm]\
-abstract fun [onNetworkNotFoundToConnectTo](on-network-not-found-to-connect-to.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-disable-wifi-callbacks/index.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-disable-wifi-callbacks/index.md
deleted file mode 100644
index 36ef962f..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-disable-wifi-callbacks/index.md
+++ /dev/null
@@ -1,17 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[DisableWifiCallbacks](index.md)
-
-# DisableWifiCallbacks
-
-[androidJvm]\
-interface [DisableWifiCallbacks](index.md) : [BaseWisefyCallbacks](../-base-wisefy-callbacks/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [onFailureDisablingWifi](on-failure-disabling-wifi.md) | [androidJvm]
abstract fun [onFailureDisablingWifi](on-failure-disabling-wifi.md)() |
-| [onWifiDisabled](on-wifi-disabled.md) | [androidJvm]
abstract fun [onWifiDisabled](on-wifi-disabled.md)() |
-| [onWisefyAsyncFailure](../-base-wisefy-callbacks/on-wisefy-async-failure.md) | [androidJvm]
abstract fun [onWisefyAsyncFailure](../-base-wisefy-callbacks/on-wisefy-async-failure.md)(throwable: [Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html)) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-disable-wifi-callbacks/on-failure-disabling-wifi.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-disable-wifi-callbacks/on-failure-disabling-wifi.md
deleted file mode 100644
index fc3f6d5f..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-disable-wifi-callbacks/on-failure-disabling-wifi.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[DisableWifiCallbacks](index.md)/[onFailureDisablingWifi](on-failure-disabling-wifi.md)
-
-# onFailureDisablingWifi
-
-[androidJvm]\
-abstract fun [onFailureDisablingWifi](on-failure-disabling-wifi.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-disable-wifi-callbacks/on-wifi-disabled.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-disable-wifi-callbacks/on-wifi-disabled.md
deleted file mode 100644
index 6ddab1a0..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-disable-wifi-callbacks/on-wifi-disabled.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[DisableWifiCallbacks](index.md)/[onWifiDisabled](on-wifi-disabled.md)
-
-# onWifiDisabled
-
-[androidJvm]\
-abstract fun [onWifiDisabled](on-wifi-disabled.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-disconnect-from-current-network-callbacks/index.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-disconnect-from-current-network-callbacks/index.md
deleted file mode 100644
index 3909c360..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-disconnect-from-current-network-callbacks/index.md
+++ /dev/null
@@ -1,17 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[DisconnectFromCurrentNetworkCallbacks](index.md)
-
-# DisconnectFromCurrentNetworkCallbacks
-
-[androidJvm]\
-interface [DisconnectFromCurrentNetworkCallbacks](index.md) : [BaseWisefyCallbacks](../-base-wisefy-callbacks/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [onDisconnectedFromCurrentNetwork](on-disconnected-from-current-network.md) | [androidJvm]
abstract fun [onDisconnectedFromCurrentNetwork](on-disconnected-from-current-network.md)() |
-| [onFailureDisconnectingFromCurrentNetwork](on-failure-disconnecting-from-current-network.md) | [androidJvm]
abstract fun [onFailureDisconnectingFromCurrentNetwork](on-failure-disconnecting-from-current-network.md)() |
-| [onWisefyAsyncFailure](../-base-wisefy-callbacks/on-wisefy-async-failure.md) | [androidJvm]
abstract fun [onWisefyAsyncFailure](../-base-wisefy-callbacks/on-wisefy-async-failure.md)(throwable: [Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html)) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-disconnect-from-current-network-callbacks/on-disconnected-from-current-network.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-disconnect-from-current-network-callbacks/on-disconnected-from-current-network.md
deleted file mode 100644
index 1e416114..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-disconnect-from-current-network-callbacks/on-disconnected-from-current-network.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[DisconnectFromCurrentNetworkCallbacks](index.md)/[onDisconnectedFromCurrentNetwork](on-disconnected-from-current-network.md)
-
-# onDisconnectedFromCurrentNetwork
-
-[androidJvm]\
-abstract fun [onDisconnectedFromCurrentNetwork](on-disconnected-from-current-network.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-disconnect-from-current-network-callbacks/on-failure-disconnecting-from-current-network.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-disconnect-from-current-network-callbacks/on-failure-disconnecting-from-current-network.md
deleted file mode 100644
index 65d79fe0..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-disconnect-from-current-network-callbacks/on-failure-disconnecting-from-current-network.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[DisconnectFromCurrentNetworkCallbacks](index.md)/[onFailureDisconnectingFromCurrentNetwork](on-failure-disconnecting-from-current-network.md)
-
-# onFailureDisconnectingFromCurrentNetwork
-
-[androidJvm]\
-abstract fun [onFailureDisconnectingFromCurrentNetwork](on-failure-disconnecting-from-current-network.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-enable-wifi-callbacks/index.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-enable-wifi-callbacks/index.md
deleted file mode 100644
index 2427a29b..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-enable-wifi-callbacks/index.md
+++ /dev/null
@@ -1,17 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[EnableWifiCallbacks](index.md)
-
-# EnableWifiCallbacks
-
-[androidJvm]\
-interface [EnableWifiCallbacks](index.md) : [BaseWisefyCallbacks](../-base-wisefy-callbacks/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [onFailureEnablingWifi](on-failure-enabling-wifi.md) | [androidJvm]
abstract fun [onFailureEnablingWifi](on-failure-enabling-wifi.md)() |
-| [onWifiEnabled](on-wifi-enabled.md) | [androidJvm]
abstract fun [onWifiEnabled](on-wifi-enabled.md)() |
-| [onWisefyAsyncFailure](../-base-wisefy-callbacks/on-wisefy-async-failure.md) | [androidJvm]
abstract fun [onWisefyAsyncFailure](../-base-wisefy-callbacks/on-wisefy-async-failure.md)(throwable: [Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html)) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-enable-wifi-callbacks/on-failure-enabling-wifi.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-enable-wifi-callbacks/on-failure-enabling-wifi.md
deleted file mode 100644
index ca09c753..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-enable-wifi-callbacks/on-failure-enabling-wifi.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[EnableWifiCallbacks](index.md)/[onFailureEnablingWifi](on-failure-enabling-wifi.md)
-
-# onFailureEnablingWifi
-
-[androidJvm]\
-abstract fun [onFailureEnablingWifi](on-failure-enabling-wifi.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-enable-wifi-callbacks/on-wifi-enabled.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-enable-wifi-callbacks/on-wifi-enabled.md
deleted file mode 100644
index 2864e417..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-enable-wifi-callbacks/on-wifi-enabled.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[EnableWifiCallbacks](index.md)/[onWifiEnabled](on-wifi-enabled.md)
-
-# onWifiEnabled
-
-[androidJvm]\
-abstract fun [onWifiEnabled](on-wifi-enabled.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-current-network-callbacks/index.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-current-network-callbacks/index.md
deleted file mode 100644
index f31bf4a5..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-current-network-callbacks/index.md
+++ /dev/null
@@ -1,17 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[GetCurrentNetworkCallbacks](index.md)
-
-# GetCurrentNetworkCallbacks
-
-[androidJvm]\
-interface [GetCurrentNetworkCallbacks](index.md) : [BaseWisefyCallbacks](../-base-wisefy-callbacks/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [onCurrentNetworkRetrieved](on-current-network-retrieved.md) | [androidJvm]
abstract fun [onCurrentNetworkRetrieved](on-current-network-retrieved.md)(currentNetwork: [CurrentNetworkData](../../com.isupatches.android.wisefy.networkinfo.entities/-current-network-data/index.md)) |
-| [onNoCurrentNetwork](on-no-current-network.md) | [androidJvm]
abstract fun [onNoCurrentNetwork](on-no-current-network.md)() |
-| [onWisefyAsyncFailure](../-base-wisefy-callbacks/on-wisefy-async-failure.md) | [androidJvm]
abstract fun [onWisefyAsyncFailure](../-base-wisefy-callbacks/on-wisefy-async-failure.md)(throwable: [Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html)) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-current-network-callbacks/on-current-network-retrieved.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-current-network-callbacks/on-current-network-retrieved.md
deleted file mode 100644
index 3dd8a088..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-current-network-callbacks/on-current-network-retrieved.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[GetCurrentNetworkCallbacks](index.md)/[onCurrentNetworkRetrieved](on-current-network-retrieved.md)
-
-# onCurrentNetworkRetrieved
-
-[androidJvm]\
-abstract fun [onCurrentNetworkRetrieved](on-current-network-retrieved.md)(currentNetwork: [CurrentNetworkData](../../com.isupatches.android.wisefy.networkinfo.entities/-current-network-data/index.md))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-current-network-callbacks/on-no-current-network.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-current-network-callbacks/on-no-current-network.md
deleted file mode 100644
index 78ccd770..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-current-network-callbacks/on-no-current-network.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[GetCurrentNetworkCallbacks](index.md)/[onNoCurrentNetwork](on-no-current-network.md)
-
-# onNoCurrentNetwork
-
-[androidJvm]\
-abstract fun [onNoCurrentNetwork](on-no-current-network.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-current-network-info-callbacks/index.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-current-network-info-callbacks/index.md
deleted file mode 100644
index 57d26dea..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-current-network-info-callbacks/index.md
+++ /dev/null
@@ -1,17 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[GetCurrentNetworkInfoCallbacks](index.md)
-
-# GetCurrentNetworkInfoCallbacks
-
-[androidJvm]\
-interface [GetCurrentNetworkInfoCallbacks](index.md) : [BaseWisefyCallbacks](../-base-wisefy-callbacks/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [onCurrentNetworkInfoRetrieved](on-current-network-info-retrieved.md) | [androidJvm]
abstract fun [onCurrentNetworkInfoRetrieved](on-current-network-info-retrieved.md)(currentNetworkInfo: [CurrentNetworkInfoData](../../com.isupatches.android.wisefy.networkinfo.entities/-current-network-info-data/index.md)) |
-| [onNoCurrentNetworkInfo](on-no-current-network-info.md) | [androidJvm]
abstract fun [onNoCurrentNetworkInfo](on-no-current-network-info.md)() |
-| [onWisefyAsyncFailure](../-base-wisefy-callbacks/on-wisefy-async-failure.md) | [androidJvm]
abstract fun [onWisefyAsyncFailure](../-base-wisefy-callbacks/on-wisefy-async-failure.md)(throwable: [Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html)) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-current-network-info-callbacks/on-current-network-info-retrieved.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-current-network-info-callbacks/on-current-network-info-retrieved.md
deleted file mode 100644
index ed1f8394..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-current-network-info-callbacks/on-current-network-info-retrieved.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[GetCurrentNetworkInfoCallbacks](index.md)/[onCurrentNetworkInfoRetrieved](on-current-network-info-retrieved.md)
-
-# onCurrentNetworkInfoRetrieved
-
-[androidJvm]\
-abstract fun [onCurrentNetworkInfoRetrieved](on-current-network-info-retrieved.md)(currentNetworkInfo: [CurrentNetworkInfoData](../../com.isupatches.android.wisefy.networkinfo.entities/-current-network-info-data/index.md))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-current-network-info-callbacks/on-no-current-network-info.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-current-network-info-callbacks/on-no-current-network-info.md
deleted file mode 100644
index 48775768..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-current-network-info-callbacks/on-no-current-network-info.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[GetCurrentNetworkInfoCallbacks](index.md)/[onNoCurrentNetworkInfo](on-no-current-network-info.md)
-
-# onNoCurrentNetworkInfo
-
-[androidJvm]\
-abstract fun [onNoCurrentNetworkInfo](on-no-current-network-info.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-frequency-callbacks/index.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-frequency-callbacks/index.md
deleted file mode 100644
index 344a032f..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-frequency-callbacks/index.md
+++ /dev/null
@@ -1,17 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[GetFrequencyCallbacks](index.md)
-
-# GetFrequencyCallbacks
-
-[androidJvm]\
-interface [GetFrequencyCallbacks](index.md) : [BaseWisefyCallbacks](../-base-wisefy-callbacks/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [onFailureRetrievingFrequency](on-failure-retrieving-frequency.md) | [androidJvm]
abstract fun [onFailureRetrievingFrequency](on-failure-retrieving-frequency.md)() |
-| [onFrequencyRetrieved](on-frequency-retrieved.md) | [androidJvm]
abstract fun [onFrequencyRetrieved](on-frequency-retrieved.md)(frequency: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)) |
-| [onWisefyAsyncFailure](../-base-wisefy-callbacks/on-wisefy-async-failure.md) | [androidJvm]
abstract fun [onWisefyAsyncFailure](../-base-wisefy-callbacks/on-wisefy-async-failure.md)(throwable: [Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html)) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-frequency-callbacks/on-failure-retrieving-frequency.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-frequency-callbacks/on-failure-retrieving-frequency.md
deleted file mode 100644
index aeb185bb..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-frequency-callbacks/on-failure-retrieving-frequency.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[GetFrequencyCallbacks](index.md)/[onFailureRetrievingFrequency](on-failure-retrieving-frequency.md)
-
-# onFailureRetrievingFrequency
-
-[androidJvm]\
-abstract fun [onFailureRetrievingFrequency](on-failure-retrieving-frequency.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-frequency-callbacks/on-frequency-retrieved.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-frequency-callbacks/on-frequency-retrieved.md
deleted file mode 100644
index 36fd39b6..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-frequency-callbacks/on-frequency-retrieved.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[GetFrequencyCallbacks](index.md)/[onFrequencyRetrieved](on-frequency-retrieved.md)
-
-# onFrequencyRetrieved
-
-[androidJvm]\
-abstract fun [onFrequencyRetrieved](on-frequency-retrieved.md)(frequency: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-i-p-callbacks/index.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-i-p-callbacks/index.md
deleted file mode 100644
index 4c68b795..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-i-p-callbacks/index.md
+++ /dev/null
@@ -1,17 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[GetIPCallbacks](index.md)
-
-# GetIPCallbacks
-
-[androidJvm]\
-interface [GetIPCallbacks](index.md) : [BaseWisefyCallbacks](../-base-wisefy-callbacks/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [onFailureRetrievingIP](on-failure-retrieving-i-p.md) | [androidJvm]
abstract fun [onFailureRetrievingIP](on-failure-retrieving-i-p.md)() |
-| [onIPRetrieved](on-i-p-retrieved.md) | [androidJvm]
abstract fun [onIPRetrieved](on-i-p-retrieved.md)(ip: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) |
-| [onWisefyAsyncFailure](../-base-wisefy-callbacks/on-wisefy-async-failure.md) | [androidJvm]
abstract fun [onWisefyAsyncFailure](../-base-wisefy-callbacks/on-wisefy-async-failure.md)(throwable: [Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html)) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-i-p-callbacks/on-failure-retrieving-i-p.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-i-p-callbacks/on-failure-retrieving-i-p.md
deleted file mode 100644
index 6fd6aa65..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-i-p-callbacks/on-failure-retrieving-i-p.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[GetIPCallbacks](index.md)/[onFailureRetrievingIP](on-failure-retrieving-i-p.md)
-
-# onFailureRetrievingIP
-
-[androidJvm]\
-abstract fun [onFailureRetrievingIP](on-failure-retrieving-i-p.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-i-p-callbacks/on-i-p-retrieved.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-i-p-callbacks/on-i-p-retrieved.md
deleted file mode 100644
index 71d02f25..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-i-p-callbacks/on-i-p-retrieved.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[GetIPCallbacks](index.md)/[onIPRetrieved](on-i-p-retrieved.md)
-
-# onIPRetrieved
-
-[androidJvm]\
-abstract fun [onIPRetrieved](on-i-p-retrieved.md)(ip: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-nearby-access-point-callbacks/index.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-nearby-access-point-callbacks/index.md
deleted file mode 100644
index 56f22084..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-nearby-access-point-callbacks/index.md
+++ /dev/null
@@ -1,17 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[GetNearbyAccessPointCallbacks](index.md)
-
-# GetNearbyAccessPointCallbacks
-
-[androidJvm]\
-interface [GetNearbyAccessPointCallbacks](index.md) : [BaseWisefyCallbacks](../-base-wisefy-callbacks/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [onNearbyAccessPointsRetrieved](on-nearby-access-points-retrieved.md) | [androidJvm]
abstract fun [onNearbyAccessPointsRetrieved](on-nearby-access-points-retrieved.md)(accessPoints: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)>) |
-| [onNoNearbyAccessPoints](on-no-nearby-access-points.md) | [androidJvm]
abstract fun [onNoNearbyAccessPoints](on-no-nearby-access-points.md)() |
-| [onWisefyAsyncFailure](../-base-wisefy-callbacks/on-wisefy-async-failure.md) | [androidJvm]
abstract fun [onWisefyAsyncFailure](../-base-wisefy-callbacks/on-wisefy-async-failure.md)(throwable: [Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html)) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-nearby-access-point-callbacks/on-nearby-access-points-retrieved.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-nearby-access-point-callbacks/on-nearby-access-points-retrieved.md
deleted file mode 100644
index 81f080b1..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-nearby-access-point-callbacks/on-nearby-access-points-retrieved.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[GetNearbyAccessPointCallbacks](index.md)/[onNearbyAccessPointsRetrieved](on-nearby-access-points-retrieved.md)
-
-# onNearbyAccessPointsRetrieved
-
-[androidJvm]\
-abstract fun [onNearbyAccessPointsRetrieved](on-nearby-access-points-retrieved.md)(accessPoints: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)>)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-nearby-access-point-callbacks/on-no-nearby-access-points.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-nearby-access-point-callbacks/on-no-nearby-access-points.md
deleted file mode 100644
index 44cfdc32..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-nearby-access-point-callbacks/on-no-nearby-access-points.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[GetNearbyAccessPointCallbacks](index.md)/[onNoNearbyAccessPoints](on-no-nearby-access-points.md)
-
-# onNoNearbyAccessPoints
-
-[androidJvm]\
-abstract fun [onNoNearbyAccessPoints](on-no-nearby-access-points.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-r-s-s-i-callbacks/index.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-r-s-s-i-callbacks/index.md
deleted file mode 100644
index 210d56e5..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-r-s-s-i-callbacks/index.md
+++ /dev/null
@@ -1,17 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[GetRSSICallbacks](index.md)
-
-# GetRSSICallbacks
-
-[androidJvm]\
-interface [GetRSSICallbacks](index.md) : [BaseWisefyCallbacks](../-base-wisefy-callbacks/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [onNoNetworkToRetrieveRSSI](on-no-network-to-retrieve-r-s-s-i.md) | [androidJvm]
abstract fun [onNoNetworkToRetrieveRSSI](on-no-network-to-retrieve-r-s-s-i.md)() |
-| [onRSSIRetrieved](on-r-s-s-i-retrieved.md) | [androidJvm]
abstract fun [onRSSIRetrieved](on-r-s-s-i-retrieved.md)(rssi: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)) |
-| [onWisefyAsyncFailure](../-base-wisefy-callbacks/on-wisefy-async-failure.md) | [androidJvm]
abstract fun [onWisefyAsyncFailure](../-base-wisefy-callbacks/on-wisefy-async-failure.md)(throwable: [Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html)) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-r-s-s-i-callbacks/on-no-network-to-retrieve-r-s-s-i.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-r-s-s-i-callbacks/on-no-network-to-retrieve-r-s-s-i.md
deleted file mode 100644
index 723d7375..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-r-s-s-i-callbacks/on-no-network-to-retrieve-r-s-s-i.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[GetRSSICallbacks](index.md)/[onNoNetworkToRetrieveRSSI](on-no-network-to-retrieve-r-s-s-i.md)
-
-# onNoNetworkToRetrieveRSSI
-
-[androidJvm]\
-abstract fun [onNoNetworkToRetrieveRSSI](on-no-network-to-retrieve-r-s-s-i.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-r-s-s-i-callbacks/on-r-s-s-i-retrieved.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-r-s-s-i-callbacks/on-r-s-s-i-retrieved.md
deleted file mode 100644
index 64ccbf2e..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-r-s-s-i-callbacks/on-r-s-s-i-retrieved.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[GetRSSICallbacks](index.md)/[onRSSIRetrieved](on-r-s-s-i-retrieved.md)
-
-# onRSSIRetrieved
-
-[androidJvm]\
-abstract fun [onRSSIRetrieved](on-r-s-s-i-retrieved.md)(rssi: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-saved-networks-callbacks/index.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-saved-networks-callbacks/index.md
deleted file mode 100644
index 4d67ebfb..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-saved-networks-callbacks/index.md
+++ /dev/null
@@ -1,17 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[GetSavedNetworksCallbacks](index.md)
-
-# GetSavedNetworksCallbacks
-
-[androidJvm]\
-interface [GetSavedNetworksCallbacks](index.md) : [BaseWisefyCallbacks](../-base-wisefy-callbacks/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [onNoSavedNetworksFound](on-no-saved-networks-found.md) | [androidJvm]
abstract fun [onNoSavedNetworksFound](on-no-saved-networks-found.md)() |
-| [onSavedNetworksRetrieved](on-saved-networks-retrieved.md) | [androidJvm]
abstract fun [onSavedNetworksRetrieved](on-saved-networks-retrieved.md)(savedNetworks: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)>) |
-| [onWisefyAsyncFailure](../-base-wisefy-callbacks/on-wisefy-async-failure.md) | [androidJvm]
abstract fun [onWisefyAsyncFailure](../-base-wisefy-callbacks/on-wisefy-async-failure.md)(throwable: [Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html)) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-saved-networks-callbacks/on-no-saved-networks-found.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-saved-networks-callbacks/on-no-saved-networks-found.md
deleted file mode 100644
index ffbdadf8..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-saved-networks-callbacks/on-no-saved-networks-found.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[GetSavedNetworksCallbacks](index.md)/[onNoSavedNetworksFound](on-no-saved-networks-found.md)
-
-# onNoSavedNetworksFound
-
-[androidJvm]\
-abstract fun [onNoSavedNetworksFound](on-no-saved-networks-found.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-saved-networks-callbacks/on-saved-networks-retrieved.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-saved-networks-callbacks/on-saved-networks-retrieved.md
deleted file mode 100644
index 5a9a3a55..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-get-saved-networks-callbacks/on-saved-networks-retrieved.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[GetSavedNetworksCallbacks](index.md)/[onSavedNetworksRetrieved](on-saved-networks-retrieved.md)
-
-# onSavedNetworksRetrieved
-
-[androidJvm]\
-abstract fun [onSavedNetworksRetrieved](on-saved-networks-retrieved.md)(savedNetworks: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)>)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-remove-network-callbacks/index.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-remove-network-callbacks/index.md
deleted file mode 100644
index 41996d07..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-remove-network-callbacks/index.md
+++ /dev/null
@@ -1,18 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[RemoveNetworkCallbacks](index.md)
-
-# RemoveNetworkCallbacks
-
-[androidJvm]\
-interface [RemoveNetworkCallbacks](index.md) : [BaseWisefyCallbacks](../-base-wisefy-callbacks/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [onFailureRemovingNetwork](on-failure-removing-network.md) | [androidJvm]
abstract fun [onFailureRemovingNetwork](on-failure-removing-network.md)(result: [RemoveNetworkResult](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/index.md)) |
-| [onNetworkNotFoundToRemove](on-network-not-found-to-remove.md) | [androidJvm]
abstract fun [onNetworkNotFoundToRemove](on-network-not-found-to-remove.md)() |
-| [onNetworkRemoved](on-network-removed.md) | [androidJvm]
abstract fun [onNetworkRemoved](on-network-removed.md)(result: [RemoveNetworkResult](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/index.md)) |
-| [onWisefyAsyncFailure](../-base-wisefy-callbacks/on-wisefy-async-failure.md) | [androidJvm]
abstract fun [onWisefyAsyncFailure](../-base-wisefy-callbacks/on-wisefy-async-failure.md)(throwable: [Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html)) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-remove-network-callbacks/on-failure-removing-network.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-remove-network-callbacks/on-failure-removing-network.md
deleted file mode 100644
index e7679509..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-remove-network-callbacks/on-failure-removing-network.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[RemoveNetworkCallbacks](index.md)/[onFailureRemovingNetwork](on-failure-removing-network.md)
-
-# onFailureRemovingNetwork
-
-[androidJvm]\
-abstract fun [onFailureRemovingNetwork](on-failure-removing-network.md)(result: [RemoveNetworkResult](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/index.md))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-remove-network-callbacks/on-network-not-found-to-remove.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-remove-network-callbacks/on-network-not-found-to-remove.md
deleted file mode 100644
index 212b0258..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-remove-network-callbacks/on-network-not-found-to-remove.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[RemoveNetworkCallbacks](index.md)/[onNetworkNotFoundToRemove](on-network-not-found-to-remove.md)
-
-# onNetworkNotFoundToRemove
-
-[androidJvm]\
-abstract fun [onNetworkNotFoundToRemove](on-network-not-found-to-remove.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-remove-network-callbacks/on-network-removed.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-remove-network-callbacks/on-network-removed.md
deleted file mode 100644
index f8c0397e..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-remove-network-callbacks/on-network-removed.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[RemoveNetworkCallbacks](index.md)/[onNetworkRemoved](on-network-removed.md)
-
-# onNetworkRemoved
-
-[androidJvm]\
-abstract fun [onNetworkRemoved](on-network-removed.md)(result: [RemoveNetworkResult](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/index.md))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-access-point-callbacks/index.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-access-point-callbacks/index.md
deleted file mode 100644
index 316a971e..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-access-point-callbacks/index.md
+++ /dev/null
@@ -1,17 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[SearchForAccessPointCallbacks](index.md)
-
-# SearchForAccessPointCallbacks
-
-[androidJvm]\
-interface [SearchForAccessPointCallbacks](index.md) : [BaseWisefyCallbacks](../-base-wisefy-callbacks/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [onAccessPointFound](on-access-point-found.md) | [androidJvm]
abstract fun [onAccessPointFound](on-access-point-found.md)(accessPoint: [AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)) |
-| [onNoAccessPointFound](on-no-access-point-found.md) | [androidJvm]
abstract fun [onNoAccessPointFound](on-no-access-point-found.md)() |
-| [onWisefyAsyncFailure](../-base-wisefy-callbacks/on-wisefy-async-failure.md) | [androidJvm]
abstract fun [onWisefyAsyncFailure](../-base-wisefy-callbacks/on-wisefy-async-failure.md)(throwable: [Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html)) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-access-point-callbacks/on-access-point-found.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-access-point-callbacks/on-access-point-found.md
deleted file mode 100644
index 2c295451..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-access-point-callbacks/on-access-point-found.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[SearchForAccessPointCallbacks](index.md)/[onAccessPointFound](on-access-point-found.md)
-
-# onAccessPointFound
-
-[androidJvm]\
-abstract fun [onAccessPointFound](on-access-point-found.md)(accessPoint: [AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-access-point-callbacks/on-no-access-point-found.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-access-point-callbacks/on-no-access-point-found.md
deleted file mode 100644
index 88f02bbd..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-access-point-callbacks/on-no-access-point-found.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[SearchForAccessPointCallbacks](index.md)/[onNoAccessPointFound](on-no-access-point-found.md)
-
-# onNoAccessPointFound
-
-[androidJvm]\
-abstract fun [onNoAccessPointFound](on-no-access-point-found.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-access-points-callbacks/index.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-access-points-callbacks/index.md
deleted file mode 100644
index eed9e1ad..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-access-points-callbacks/index.md
+++ /dev/null
@@ -1,17 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[SearchForAccessPointsCallbacks](index.md)
-
-# SearchForAccessPointsCallbacks
-
-[androidJvm]\
-interface [SearchForAccessPointsCallbacks](index.md) : [BaseWisefyCallbacks](../-base-wisefy-callbacks/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [onAccessPointsFound](on-access-points-found.md) | [androidJvm]
abstract fun [onAccessPointsFound](on-access-points-found.md)(accessPoints: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)>) |
-| [onNoAccessPointsFound](on-no-access-points-found.md) | [androidJvm]
abstract fun [onNoAccessPointsFound](on-no-access-points-found.md)() |
-| [onWisefyAsyncFailure](../-base-wisefy-callbacks/on-wisefy-async-failure.md) | [androidJvm]
abstract fun [onWisefyAsyncFailure](../-base-wisefy-callbacks/on-wisefy-async-failure.md)(throwable: [Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html)) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-access-points-callbacks/on-access-points-found.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-access-points-callbacks/on-access-points-found.md
deleted file mode 100644
index 7b481e7f..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-access-points-callbacks/on-access-points-found.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[SearchForAccessPointsCallbacks](index.md)/[onAccessPointsFound](on-access-points-found.md)
-
-# onAccessPointsFound
-
-[androidJvm]\
-abstract fun [onAccessPointsFound](on-access-points-found.md)(accessPoints: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)>)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-access-points-callbacks/on-no-access-points-found.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-access-points-callbacks/on-no-access-points-found.md
deleted file mode 100644
index 8977e1e5..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-access-points-callbacks/on-no-access-points-found.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[SearchForAccessPointsCallbacks](index.md)/[onNoAccessPointsFound](on-no-access-points-found.md)
-
-# onNoAccessPointsFound
-
-[androidJvm]\
-abstract fun [onNoAccessPointsFound](on-no-access-points-found.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-s-s-i-d-callbacks/index.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-s-s-i-d-callbacks/index.md
deleted file mode 100644
index f24596d0..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-s-s-i-d-callbacks/index.md
+++ /dev/null
@@ -1,17 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[SearchForSSIDCallbacks](index.md)
-
-# SearchForSSIDCallbacks
-
-[androidJvm]\
-interface [SearchForSSIDCallbacks](index.md) : [BaseWisefyCallbacks](../-base-wisefy-callbacks/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [onSSIDFound](on-s-s-i-d-found.md) | [androidJvm]
abstract fun [onSSIDFound](on-s-s-i-d-found.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) |
-| [onSSIDNotFound](on-s-s-i-d-not-found.md) | [androidJvm]
abstract fun [onSSIDNotFound](on-s-s-i-d-not-found.md)() |
-| [onWisefyAsyncFailure](../-base-wisefy-callbacks/on-wisefy-async-failure.md) | [androidJvm]
abstract fun [onWisefyAsyncFailure](../-base-wisefy-callbacks/on-wisefy-async-failure.md)(throwable: [Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html)) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-s-s-i-d-callbacks/on-s-s-i-d-found.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-s-s-i-d-callbacks/on-s-s-i-d-found.md
deleted file mode 100644
index cb9e9025..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-s-s-i-d-callbacks/on-s-s-i-d-found.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[SearchForSSIDCallbacks](index.md)/[onSSIDFound](on-s-s-i-d-found.md)
-
-# onSSIDFound
-
-[androidJvm]\
-abstract fun [onSSIDFound](on-s-s-i-d-found.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-s-s-i-d-callbacks/on-s-s-i-d-not-found.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-s-s-i-d-callbacks/on-s-s-i-d-not-found.md
deleted file mode 100644
index ac1d7cbe..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-s-s-i-d-callbacks/on-s-s-i-d-not-found.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[SearchForSSIDCallbacks](index.md)/[onSSIDNotFound](on-s-s-i-d-not-found.md)
-
-# onSSIDNotFound
-
-[androidJvm]\
-abstract fun [onSSIDNotFound](on-s-s-i-d-not-found.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-s-s-i-ds-callbacks/index.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-s-s-i-ds-callbacks/index.md
deleted file mode 100644
index b1fb7905..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-s-s-i-ds-callbacks/index.md
+++ /dev/null
@@ -1,17 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[SearchForSSIDsCallbacks](index.md)
-
-# SearchForSSIDsCallbacks
-
-[androidJvm]\
-interface [SearchForSSIDsCallbacks](index.md) : [BaseWisefyCallbacks](../-base-wisefy-callbacks/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [onNoSSIDsFound](on-no-s-s-i-ds-found.md) | [androidJvm]
abstract fun [onNoSSIDsFound](on-no-s-s-i-ds-found.md)() |
-| [onSSIDsFound](on-s-s-i-ds-found.md) | [androidJvm]
abstract fun [onSSIDsFound](on-s-s-i-ds-found.md)(ssids: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)>) |
-| [onWisefyAsyncFailure](../-base-wisefy-callbacks/on-wisefy-async-failure.md) | [androidJvm]
abstract fun [onWisefyAsyncFailure](../-base-wisefy-callbacks/on-wisefy-async-failure.md)(throwable: [Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html)) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-s-s-i-ds-callbacks/on-no-s-s-i-ds-found.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-s-s-i-ds-callbacks/on-no-s-s-i-ds-found.md
deleted file mode 100644
index b74dd45a..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-s-s-i-ds-callbacks/on-no-s-s-i-ds-found.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[SearchForSSIDsCallbacks](index.md)/[onNoSSIDsFound](on-no-s-s-i-ds-found.md)
-
-# onNoSSIDsFound
-
-[androidJvm]\
-abstract fun [onNoSSIDsFound](on-no-s-s-i-ds-found.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-s-s-i-ds-callbacks/on-s-s-i-ds-found.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-s-s-i-ds-callbacks/on-s-s-i-ds-found.md
deleted file mode 100644
index b5f29b96..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-s-s-i-ds-callbacks/on-s-s-i-ds-found.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[SearchForSSIDsCallbacks](index.md)/[onSSIDsFound](on-s-s-i-ds-found.md)
-
-# onSSIDsFound
-
-[androidJvm]\
-abstract fun [onSSIDsFound](on-s-s-i-ds-found.md)(ssids: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)>)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-saved-network-callbacks/index.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-saved-network-callbacks/index.md
deleted file mode 100644
index a0e9e0a1..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-saved-network-callbacks/index.md
+++ /dev/null
@@ -1,17 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[SearchForSavedNetworkCallbacks](index.md)
-
-# SearchForSavedNetworkCallbacks
-
-[androidJvm]\
-interface [SearchForSavedNetworkCallbacks](index.md) : [BaseWisefyCallbacks](../-base-wisefy-callbacks/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [onSavedNetworkNotFound](on-saved-network-not-found.md) | [androidJvm]
abstract fun [onSavedNetworkNotFound](on-saved-network-not-found.md)() |
-| [onSavedNetworkRetrieved](on-saved-network-retrieved.md) | [androidJvm]
abstract fun [onSavedNetworkRetrieved](on-saved-network-retrieved.md)(savedNetwork: [SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)) |
-| [onWisefyAsyncFailure](../-base-wisefy-callbacks/on-wisefy-async-failure.md) | [androidJvm]
abstract fun [onWisefyAsyncFailure](../-base-wisefy-callbacks/on-wisefy-async-failure.md)(throwable: [Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html)) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-saved-network-callbacks/on-saved-network-not-found.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-saved-network-callbacks/on-saved-network-not-found.md
deleted file mode 100644
index b10eace3..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-saved-network-callbacks/on-saved-network-not-found.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[SearchForSavedNetworkCallbacks](index.md)/[onSavedNetworkNotFound](on-saved-network-not-found.md)
-
-# onSavedNetworkNotFound
-
-[androidJvm]\
-abstract fun [onSavedNetworkNotFound](on-saved-network-not-found.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-saved-network-callbacks/on-saved-network-retrieved.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-saved-network-callbacks/on-saved-network-retrieved.md
deleted file mode 100644
index a9af4f1d..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-saved-network-callbacks/on-saved-network-retrieved.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[SearchForSavedNetworkCallbacks](index.md)/[onSavedNetworkRetrieved](on-saved-network-retrieved.md)
-
-# onSavedNetworkRetrieved
-
-[androidJvm]\
-abstract fun [onSavedNetworkRetrieved](on-saved-network-retrieved.md)(savedNetwork: [SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-saved-networks-callbacks/index.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-saved-networks-callbacks/index.md
deleted file mode 100644
index f93839db..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-saved-networks-callbacks/index.md
+++ /dev/null
@@ -1,17 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[SearchForSavedNetworksCallbacks](index.md)
-
-# SearchForSavedNetworksCallbacks
-
-[androidJvm]\
-interface [SearchForSavedNetworksCallbacks](index.md) : [BaseWisefyCallbacks](../-base-wisefy-callbacks/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [onNoSavedNetworksFound](on-no-saved-networks-found.md) | [androidJvm]
abstract fun [onNoSavedNetworksFound](on-no-saved-networks-found.md)() |
-| [onSavedNetworksRetrieved](on-saved-networks-retrieved.md) | [androidJvm]
abstract fun [onSavedNetworksRetrieved](on-saved-networks-retrieved.md)(savedNetworks: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)>) |
-| [onWisefyAsyncFailure](../-base-wisefy-callbacks/on-wisefy-async-failure.md) | [androidJvm]
abstract fun [onWisefyAsyncFailure](../-base-wisefy-callbacks/on-wisefy-async-failure.md)(throwable: [Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html)) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-saved-networks-callbacks/on-no-saved-networks-found.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-saved-networks-callbacks/on-no-saved-networks-found.md
deleted file mode 100644
index c6c38f63..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-saved-networks-callbacks/on-no-saved-networks-found.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[SearchForSavedNetworksCallbacks](index.md)/[onNoSavedNetworksFound](on-no-saved-networks-found.md)
-
-# onNoSavedNetworksFound
-
-[androidJvm]\
-abstract fun [onNoSavedNetworksFound](on-no-saved-networks-found.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-saved-networks-callbacks/on-saved-networks-retrieved.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-saved-networks-callbacks/on-saved-networks-retrieved.md
deleted file mode 100644
index 777fca04..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-saved-networks-callbacks/on-saved-networks-retrieved.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.callbacks](../index.md)/[SearchForSavedNetworksCallbacks](index.md)/[onSavedNetworksRetrieved](on-saved-networks-retrieved.md)
-
-# onSavedNetworksRetrieved
-
-[androidJvm]\
-abstract fun [onSavedNetworksRetrieved](on-saved-networks-retrieved.md)(savedNetworks: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)>)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/index.md b/documentation/wisefy/com.isupatches.android.wisefy.callbacks/index.md
deleted file mode 100644
index a28103b3..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.callbacks/index.md
+++ /dev/null
@@ -1,28 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.callbacks](index.md)
-
-# Package com.isupatches.android.wisefy.callbacks
-
-## Types
-
-| Name | Summary |
-|---|---|
-| [AddNetworkCallbacks](-add-network-callbacks/index.md) | [androidJvm]
interface [AddNetworkCallbacks](-add-network-callbacks/index.md) : [BaseWisefyCallbacks](-base-wisefy-callbacks/index.md) |
-| [BaseWisefyCallbacks](-base-wisefy-callbacks/index.md) | [androidJvm]
interface [BaseWisefyCallbacks](-base-wisefy-callbacks/index.md) |
-| [ConnectToNetworkCallbacks](-connect-to-network-callbacks/index.md) | [androidJvm]
interface [ConnectToNetworkCallbacks](-connect-to-network-callbacks/index.md) : [BaseWisefyCallbacks](-base-wisefy-callbacks/index.md) |
-| [DisableWifiCallbacks](-disable-wifi-callbacks/index.md) | [androidJvm]
interface [DisableWifiCallbacks](-disable-wifi-callbacks/index.md) : [BaseWisefyCallbacks](-base-wisefy-callbacks/index.md) |
-| [DisconnectFromCurrentNetworkCallbacks](-disconnect-from-current-network-callbacks/index.md) | [androidJvm]
interface [DisconnectFromCurrentNetworkCallbacks](-disconnect-from-current-network-callbacks/index.md) : [BaseWisefyCallbacks](-base-wisefy-callbacks/index.md) |
-| [EnableWifiCallbacks](-enable-wifi-callbacks/index.md) | [androidJvm]
interface [EnableWifiCallbacks](-enable-wifi-callbacks/index.md) : [BaseWisefyCallbacks](-base-wisefy-callbacks/index.md) |
-| [GetCurrentNetworkCallbacks](-get-current-network-callbacks/index.md) | [androidJvm]
interface [GetCurrentNetworkCallbacks](-get-current-network-callbacks/index.md) : [BaseWisefyCallbacks](-base-wisefy-callbacks/index.md) |
-| [GetCurrentNetworkInfoCallbacks](-get-current-network-info-callbacks/index.md) | [androidJvm]
interface [GetCurrentNetworkInfoCallbacks](-get-current-network-info-callbacks/index.md) : [BaseWisefyCallbacks](-base-wisefy-callbacks/index.md) |
-| [GetFrequencyCallbacks](-get-frequency-callbacks/index.md) | [androidJvm]
interface [GetFrequencyCallbacks](-get-frequency-callbacks/index.md) : [BaseWisefyCallbacks](-base-wisefy-callbacks/index.md) |
-| [GetIPCallbacks](-get-i-p-callbacks/index.md) | [androidJvm]
interface [GetIPCallbacks](-get-i-p-callbacks/index.md) : [BaseWisefyCallbacks](-base-wisefy-callbacks/index.md) |
-| [GetNearbyAccessPointCallbacks](-get-nearby-access-point-callbacks/index.md) | [androidJvm]
interface [GetNearbyAccessPointCallbacks](-get-nearby-access-point-callbacks/index.md) : [BaseWisefyCallbacks](-base-wisefy-callbacks/index.md) |
-| [GetRSSICallbacks](-get-r-s-s-i-callbacks/index.md) | [androidJvm]
interface [GetRSSICallbacks](-get-r-s-s-i-callbacks/index.md) : [BaseWisefyCallbacks](-base-wisefy-callbacks/index.md) |
-| [GetSavedNetworksCallbacks](-get-saved-networks-callbacks/index.md) | [androidJvm]
interface [GetSavedNetworksCallbacks](-get-saved-networks-callbacks/index.md) : [BaseWisefyCallbacks](-base-wisefy-callbacks/index.md) |
-| [RemoveNetworkCallbacks](-remove-network-callbacks/index.md) | [androidJvm]
interface [RemoveNetworkCallbacks](-remove-network-callbacks/index.md) : [BaseWisefyCallbacks](-base-wisefy-callbacks/index.md) |
-| [SearchForAccessPointCallbacks](-search-for-access-point-callbacks/index.md) | [androidJvm]
interface [SearchForAccessPointCallbacks](-search-for-access-point-callbacks/index.md) : [BaseWisefyCallbacks](-base-wisefy-callbacks/index.md) |
-| [SearchForAccessPointsCallbacks](-search-for-access-points-callbacks/index.md) | [androidJvm]
interface [SearchForAccessPointsCallbacks](-search-for-access-points-callbacks/index.md) : [BaseWisefyCallbacks](-base-wisefy-callbacks/index.md) |
-| [SearchForSavedNetworkCallbacks](-search-for-saved-network-callbacks/index.md) | [androidJvm]
interface [SearchForSavedNetworkCallbacks](-search-for-saved-network-callbacks/index.md) : [BaseWisefyCallbacks](-base-wisefy-callbacks/index.md) |
-| [SearchForSavedNetworksCallbacks](-search-for-saved-networks-callbacks/index.md) | [androidJvm]
interface [SearchForSavedNetworksCallbacks](-search-for-saved-networks-callbacks/index.md) : [BaseWisefyCallbacks](-base-wisefy-callbacks/index.md) |
-| [SearchForSSIDCallbacks](-search-for-s-s-i-d-callbacks/index.md) | [androidJvm]
interface [SearchForSSIDCallbacks](-search-for-s-s-i-d-callbacks/index.md) : [BaseWisefyCallbacks](-base-wisefy-callbacks/index.md) |
-| [SearchForSSIDsCallbacks](-search-for-s-s-i-ds-callbacks/index.md) | [androidJvm]
interface [SearchForSSIDsCallbacks](-search-for-s-s-i-ds-callbacks/index.md) : [BaseWisefyCallbacks](-base-wisefy-callbacks/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.constants/-deprecation-messages/-c-a-l-c-u-l-a-t-e_-b-a-r-s.md b/documentation/wisefy/com.isupatches.android.wisefy.constants/-deprecation-messages/-c-a-l-c-u-l-a-t-e_-b-a-r-s.md
deleted file mode 100644
index 5db8ceaa..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.constants/-deprecation-messages/-c-a-l-c-u-l-a-t-e_-b-a-r-s.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.constants](../index.md)/[DeprecationMessages](index.md)/[CALCULATE_BARS](-c-a-l-c-u-l-a-t-e_-b-a-r-s.md)
-
-# CALCULATE_BARS
-
-[androidJvm]\
-const val [CALCULATE_BARS](-c-a-l-c-u-l-a-t-e_-b-a-r-s.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.constants/-deprecation-messages/-d-i-s-a-b-l-e_-w-i-f-i.md b/documentation/wisefy/com.isupatches.android.wisefy.constants/-deprecation-messages/-d-i-s-a-b-l-e_-w-i-f-i.md
deleted file mode 100644
index 3770652b..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.constants/-deprecation-messages/-d-i-s-a-b-l-e_-w-i-f-i.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.constants](../index.md)/[DeprecationMessages](index.md)/[DISABLE_WIFI](-d-i-s-a-b-l-e_-w-i-f-i.md)
-
-# DISABLE_WIFI
-
-[androidJvm]\
-const val [DISABLE_WIFI](-d-i-s-a-b-l-e_-w-i-f-i.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.constants/-deprecation-messages/-e-n-a-b-l-e_-w-i-f-i.md b/documentation/wisefy/com.isupatches.android.wisefy.constants/-deprecation-messages/-e-n-a-b-l-e_-w-i-f-i.md
deleted file mode 100644
index fd84cfe0..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.constants/-deprecation-messages/-e-n-a-b-l-e_-w-i-f-i.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.constants](../index.md)/[DeprecationMessages](index.md)/[ENABLE_WIFI](-e-n-a-b-l-e_-w-i-f-i.md)
-
-# ENABLE_WIFI
-
-[androidJvm]\
-const val [ENABLE_WIFI](-e-n-a-b-l-e_-w-i-f-i.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.constants/-deprecation-messages/index.md b/documentation/wisefy/com.isupatches.android.wisefy.constants/-deprecation-messages/index.md
deleted file mode 100644
index 04761506..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.constants/-deprecation-messages/index.md
+++ /dev/null
@@ -1,22 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.constants](../index.md)/[DeprecationMessages](index.md)
-
-# DeprecationMessages
-
-[androidJvm]\
-internal object [DeprecationMessages](index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [CALCULATE_BARS](-c-a-l-c-u-l-a-t-e_-b-a-r-s.md) | [androidJvm]
const val [CALCULATE_BARS](-c-a-l-c-u-l-a-t-e_-b-a-r-s.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-| [DISABLE_WIFI](-d-i-s-a-b-l-e_-w-i-f-i.md) | [androidJvm]
const val [DISABLE_WIFI](-d-i-s-a-b-l-e_-w-i-f-i.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-| [ENABLE_WIFI](-e-n-a-b-l-e_-w-i-f-i.md) | [androidJvm]
const val [ENABLE_WIFI](-e-n-a-b-l-e_-w-i-f-i.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.constants/-error-messages/-add-network/-activity-result-launcher/-n-o-t_-u-s-e-d_-a-n-d-r-o-i-d_30.md b/documentation/wisefy/com.isupatches.android.wisefy.constants/-error-messages/-add-network/-activity-result-launcher/-n-o-t_-u-s-e-d_-a-n-d-r-o-i-d_30.md
deleted file mode 100644
index da7fbef2..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.constants/-error-messages/-add-network/-activity-result-launcher/-n-o-t_-u-s-e-d_-a-n-d-r-o-i-d_30.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../../index.md)/[com.isupatches.android.wisefy.constants](../../../index.md)/[ErrorMessages](../../index.md)/[AddNetwork](../index.md)/[ActivityResultLauncher](index.md)/[NOT_USED_ANDROID_30](-n-o-t_-u-s-e-d_-a-n-d-r-o-i-d_30.md)
-
-# NOT_USED_ANDROID_30
-
-[androidJvm]\
-const val [NOT_USED_ANDROID_30](-n-o-t_-u-s-e-d_-a-n-d-r-o-i-d_30.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.constants/-error-messages/-add-network/-activity-result-launcher/-u-s-e-d_-p-r-e_-a-n-d-r-o-i-d_30.md b/documentation/wisefy/com.isupatches.android.wisefy.constants/-error-messages/-add-network/-activity-result-launcher/-u-s-e-d_-p-r-e_-a-n-d-r-o-i-d_30.md
deleted file mode 100644
index aa44f670..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.constants/-error-messages/-add-network/-activity-result-launcher/-u-s-e-d_-p-r-e_-a-n-d-r-o-i-d_30.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../../index.md)/[com.isupatches.android.wisefy.constants](../../../index.md)/[ErrorMessages](../../index.md)/[AddNetwork](../index.md)/[ActivityResultLauncher](index.md)/[USED_PRE_ANDROID_30](-u-s-e-d_-p-r-e_-a-n-d-r-o-i-d_30.md)
-
-# USED_PRE_ANDROID_30
-
-[androidJvm]\
-const val [USED_PRE_ANDROID_30](-u-s-e-d_-p-r-e_-a-n-d-r-o-i-d_30.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.constants/-error-messages/-add-network/-activity-result-launcher/index.md b/documentation/wisefy/com.isupatches.android.wisefy.constants/-error-messages/-add-network/-activity-result-launcher/index.md
deleted file mode 100644
index d3728e32..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.constants/-error-messages/-add-network/-activity-result-launcher/index.md
+++ /dev/null
@@ -1,21 +0,0 @@
-//[wisefy](../../../../../index.md)/[com.isupatches.android.wisefy.constants](../../../index.md)/[ErrorMessages](../../index.md)/[AddNetwork](../index.md)/[ActivityResultLauncher](index.md)
-
-# ActivityResultLauncher
-
-[androidJvm]\
-object [ActivityResultLauncher](index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [NOT_USED_ANDROID_30](-n-o-t_-u-s-e-d_-a-n-d-r-o-i-d_30.md) | [androidJvm]
const val [NOT_USED_ANDROID_30](-n-o-t_-u-s-e-d_-a-n-d-r-o-i-d_30.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-| [USED_PRE_ANDROID_30](-u-s-e-d_-p-r-e_-a-n-d-r-o-i-d_30.md) | [androidJvm]
const val [USED_PRE_ANDROID_30](-u-s-e-d_-p-r-e_-a-n-d-r-o-i-d_30.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.constants/-error-messages/-add-network/-w-p-a3-network/-p-r-e_-a-n-d-r-o-i-d_29.md b/documentation/wisefy/com.isupatches.android.wisefy.constants/-error-messages/-add-network/-w-p-a3-network/-p-r-e_-a-n-d-r-o-i-d_29.md
deleted file mode 100644
index c3405d48..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.constants/-error-messages/-add-network/-w-p-a3-network/-p-r-e_-a-n-d-r-o-i-d_29.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../../index.md)/[com.isupatches.android.wisefy.constants](../../../index.md)/[ErrorMessages](../../index.md)/[AddNetwork](../index.md)/[WPA3Network](index.md)/[PRE_ANDROID_29](-p-r-e_-a-n-d-r-o-i-d_29.md)
-
-# PRE_ANDROID_29
-
-[androidJvm]\
-const val [PRE_ANDROID_29](-p-r-e_-a-n-d-r-o-i-d_29.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.constants/-error-messages/-add-network/-w-p-a3-network/index.md b/documentation/wisefy/com.isupatches.android.wisefy.constants/-error-messages/-add-network/-w-p-a3-network/index.md
deleted file mode 100644
index c76a35cb..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.constants/-error-messages/-add-network/-w-p-a3-network/index.md
+++ /dev/null
@@ -1,20 +0,0 @@
-//[wisefy](../../../../../index.md)/[com.isupatches.android.wisefy.constants](../../../index.md)/[ErrorMessages](../../index.md)/[AddNetwork](../index.md)/[WPA3Network](index.md)
-
-# WPA3Network
-
-[androidJvm]\
-object [WPA3Network](index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [PRE_ANDROID_29](-p-r-e_-a-n-d-r-o-i-d_29.md) | [androidJvm]
const val [PRE_ANDROID_29](-p-r-e_-a-n-d-r-o-i-d_29.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.constants/-error-messages/-add-network/index.md b/documentation/wisefy/com.isupatches.android.wisefy.constants/-error-messages/-add-network/index.md
deleted file mode 100644
index 68ce4a9c..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.constants/-error-messages/-add-network/index.md
+++ /dev/null
@@ -1,21 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.constants](../../index.md)/[ErrorMessages](../index.md)/[AddNetwork](index.md)
-
-# AddNetwork
-
-[androidJvm]\
-object [AddNetwork](index.md)
-
-## Types
-
-| Name | Summary |
-|---|---|
-| [ActivityResultLauncher](-activity-result-launcher/index.md) | [androidJvm]
object [ActivityResultLauncher](-activity-result-launcher/index.md) |
-| [WPA3Network](-w-p-a3-network/index.md) | [androidJvm]
object [WPA3Network](-w-p-a3-network/index.md) |
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.constants/-error-messages/-c-a-l-c-u-l-a-t-e_-b-a-r-s_-a-n-d-r-o-i-d_30.md b/documentation/wisefy/com.isupatches.android.wisefy.constants/-error-messages/-c-a-l-c-u-l-a-t-e_-b-a-r-s_-a-n-d-r-o-i-d_30.md
deleted file mode 100644
index 655e7073..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.constants/-error-messages/-c-a-l-c-u-l-a-t-e_-b-a-r-s_-a-n-d-r-o-i-d_30.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.constants](../index.md)/[ErrorMessages](index.md)/[CALCULATE_BARS_ANDROID_30](-c-a-l-c-u-l-a-t-e_-b-a-r-s_-a-n-d-r-o-i-d_30.md)
-
-# CALCULATE_BARS_ANDROID_30
-
-[androidJvm]\
-const val [CALCULATE_BARS_ANDROID_30](-c-a-l-c-u-l-a-t-e_-b-a-r-s_-a-n-d-r-o-i-d_30.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.constants/-error-messages/-c-a-l-c-u-l-a-t-e_-b-a-r-s_-l-e-g-a-c-y.md b/documentation/wisefy/com.isupatches.android.wisefy.constants/-error-messages/-c-a-l-c-u-l-a-t-e_-b-a-r-s_-l-e-g-a-c-y.md
deleted file mode 100644
index 3fb39425..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.constants/-error-messages/-c-a-l-c-u-l-a-t-e_-b-a-r-s_-l-e-g-a-c-y.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.constants](../index.md)/[ErrorMessages](index.md)/[CALCULATE_BARS_LEGACY](-c-a-l-c-u-l-a-t-e_-b-a-r-s_-l-e-g-a-c-y.md)
-
-# CALCULATE_BARS_LEGACY
-
-[androidJvm]\
-const val [CALCULATE_BARS_LEGACY](-c-a-l-c-u-l-a-t-e_-b-a-r-s_-l-e-g-a-c-y.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.constants/-error-messages/index.md b/documentation/wisefy/com.isupatches.android.wisefy.constants/-error-messages/index.md
deleted file mode 100644
index 4ce45e81..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.constants/-error-messages/index.md
+++ /dev/null
@@ -1,27 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.constants](../index.md)/[ErrorMessages](index.md)
-
-# ErrorMessages
-
-[androidJvm]\
-internal object [ErrorMessages](index.md)
-
-## Types
-
-| Name | Summary |
-|---|---|
-| [AddNetwork](-add-network/index.md) | [androidJvm]
object [AddNetwork](-add-network/index.md) |
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [CALCULATE_BARS_ANDROID_30](-c-a-l-c-u-l-a-t-e_-b-a-r-s_-a-n-d-r-o-i-d_30.md) | [androidJvm]
const val [CALCULATE_BARS_ANDROID_30](-c-a-l-c-u-l-a-t-e_-b-a-r-s_-a-n-d-r-o-i-d_30.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-| [CALCULATE_BARS_LEGACY](-c-a-l-c-u-l-a-t-e_-b-a-r-s_-l-e-g-a-c-y.md) | [androidJvm]
const val [CALCULATE_BARS_LEGACY](-c-a-l-c-u-l-a-t-e_-b-a-r-s_-l-e-g-a-c-y.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.constants/-q-u-o-t-e.md b/documentation/wisefy/com.isupatches.android.wisefy.constants/-q-u-o-t-e.md
deleted file mode 100644
index a73140b0..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.constants/-q-u-o-t-e.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.constants](index.md)/[QUOTE](-q-u-o-t-e.md)
-
-# QUOTE
-
-[androidJvm]\
-internal const val [QUOTE](-q-u-o-t-e.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.constants/index.md b/documentation/wisefy/com.isupatches.android.wisefy.constants/index.md
deleted file mode 100644
index c0fa24c7..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.constants/index.md
+++ /dev/null
@@ -1,16 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.constants](index.md)
-
-# Package com.isupatches.android.wisefy.constants
-
-## Types
-
-| Name | Summary |
-|---|---|
-| [DeprecationMessages](-deprecation-messages/index.md) | [androidJvm]
internal object [DeprecationMessages](-deprecation-messages/index.md) |
-| [ErrorMessages](-error-messages/index.md) | [androidJvm]
internal object [ErrorMessages](-error-messages/index.md) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [QUOTE](-q-u-o-t-e.md) | [androidJvm]
internal const val [QUOTE](-q-u-o-t-e.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-api-impl/-legacy-frequency-api-impl.md b/documentation/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-api-impl/-legacy-frequency-api-impl.md
deleted file mode 100644
index d7c68cb7..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-api-impl/-legacy-frequency-api-impl.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.frequency.delegates](../index.md)/[LegacyFrequencyApiImpl](index.md)/[LegacyFrequencyApiImpl](-legacy-frequency-api-impl.md)
-
-# LegacyFrequencyApiImpl
-
-[androidJvm]\
-fun [LegacyFrequencyApiImpl](-legacy-frequency-api-impl.md)(wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-api-impl/get-frequency.md b/documentation/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-api-impl/get-frequency.md
deleted file mode 100644
index c08fc84e..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-api-impl/get-frequency.md
+++ /dev/null
@@ -1,15 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.frequency.delegates](../index.md)/[LegacyFrequencyApiImpl](index.md)/[getFrequency](get-frequency.md)
-
-# getFrequency
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
-
-open override fun [getFrequency](get-frequency.md)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)?
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
-
-open override fun [getFrequency](get-frequency.md)(network: [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-api-impl/index.md b/documentation/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-api-impl/index.md
deleted file mode 100644
index 153a914e..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-api-impl/index.md
+++ /dev/null
@@ -1,22 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.frequency.delegates](../index.md)/[LegacyFrequencyApiImpl](index.md)
-
-# LegacyFrequencyApiImpl
-
-[androidJvm]\
-internal class [LegacyFrequencyApiImpl](index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)) : [LegacyFrequencyApi](../-legacy-frequency-api/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [getFrequency](get-frequency.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
open override fun [getFrequency](get-frequency.md)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)?
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
open override fun [getFrequency](get-frequency.md)(network: [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [isNetwork5gHz](is-network5g-hz.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
open override fun [isNetwork5gHz](is-network5g-hz.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
open override fun [isNetwork5gHz](is-network5g-hz.md)(network: [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [wifiManager](wifi-manager.md) | [androidJvm]
private val [wifiManager](wifi-manager.md): [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-api-impl/is-network5g-hz.md b/documentation/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-api-impl/is-network5g-hz.md
deleted file mode 100644
index 1195e48f..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-api-impl/is-network5g-hz.md
+++ /dev/null
@@ -1,15 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.frequency.delegates](../index.md)/[LegacyFrequencyApiImpl](index.md)/[isNetwork5gHz](is-network5g-hz.md)
-
-# isNetwork5gHz
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
-
-open override fun [isNetwork5gHz](is-network5g-hz.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
-
-open override fun [isNetwork5gHz](is-network5g-hz.md)(network: [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-api-impl/wifi-manager.md b/documentation/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-api-impl/wifi-manager.md
deleted file mode 100644
index 9001c2d3..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-api-impl/wifi-manager.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.frequency.delegates](../index.md)/[LegacyFrequencyApiImpl](index.md)/[wifiManager](wifi-manager.md)
-
-# wifiManager
-
-[androidJvm]\
-private val [wifiManager](wifi-manager.md): [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-api/get-frequency.md b/documentation/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-api/get-frequency.md
deleted file mode 100644
index 38bc1103..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-api/get-frequency.md
+++ /dev/null
@@ -1,13 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.frequency.delegates](../index.md)/[LegacyFrequencyApi](index.md)/[getFrequency](get-frequency.md)
-
-# getFrequency
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
-
-abstract fun [getFrequency](get-frequency.md)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)?
-
-abstract fun [getFrequency](get-frequency.md)(network: [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-api/index.md b/documentation/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-api/index.md
deleted file mode 100644
index 1924e272..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-api/index.md
+++ /dev/null
@@ -1,22 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.frequency.delegates](../index.md)/[LegacyFrequencyApi](index.md)
-
-# LegacyFrequencyApi
-
-[androidJvm]\
-internal interface [LegacyFrequencyApi](index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [getFrequency](get-frequency.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
abstract fun [getFrequency](get-frequency.md)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)?
abstract fun [getFrequency](get-frequency.md)(network: [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [isNetwork5gHz](is-network5g-hz.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
abstract fun [isNetwork5gHz](is-network5g-hz.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
abstract fun [isNetwork5gHz](is-network5g-hz.md)(network: [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [LegacyFrequencyApiImpl](../-legacy-frequency-api-impl/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-api/is-network5g-hz.md b/documentation/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-api/is-network5g-hz.md
deleted file mode 100644
index 7edcdc22..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-api/is-network5g-hz.md
+++ /dev/null
@@ -1,11 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.frequency.delegates](../index.md)/[LegacyFrequencyApi](index.md)/[isNetwork5gHz](is-network5g-hz.md)
-
-# isNetwork5gHz
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-abstract fun [isNetwork5gHz](is-network5g-hz.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
-
-abstract fun [isNetwork5gHz](is-network5g-hz.md)(network: [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-delegate/-legacy-frequency-delegate.md b/documentation/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-delegate/-legacy-frequency-delegate.md
deleted file mode 100644
index 60b351c1..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-delegate/-legacy-frequency-delegate.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.frequency.delegates](../index.md)/[LegacyFrequencyDelegate](index.md)/[LegacyFrequencyDelegate](-legacy-frequency-delegate.md)
-
-# LegacyFrequencyDelegate
-
-[androidJvm]\
-fun [LegacyFrequencyDelegate](-legacy-frequency-delegate.md)(wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), impl: [LegacyFrequencyApi](../-legacy-frequency-api/index.md) = LegacyFrequencyApiImpl(wifiManager))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-delegate/get-frequency.md b/documentation/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-delegate/get-frequency.md
deleted file mode 100644
index 314021d1..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-delegate/get-frequency.md
+++ /dev/null
@@ -1,15 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.frequency.delegates](../index.md)/[LegacyFrequencyDelegate](index.md)/[getFrequency](get-frequency.md)
-
-# getFrequency
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
-
-open override fun [getFrequency](get-frequency.md)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)?
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
-
-open override fun [getFrequency](get-frequency.md)(network: [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-delegate/impl.md b/documentation/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-delegate/impl.md
deleted file mode 100644
index a72cf1cd..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-delegate/impl.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.frequency.delegates](../index.md)/[LegacyFrequencyDelegate](index.md)/[impl](impl.md)
-
-# impl
-
-[androidJvm]\
-private val [impl](impl.md): [LegacyFrequencyApi](../-legacy-frequency-api/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-delegate/index.md b/documentation/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-delegate/index.md
deleted file mode 100644
index e5591e93..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-delegate/index.md
+++ /dev/null
@@ -1,22 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.frequency.delegates](../index.md)/[LegacyFrequencyDelegate](index.md)
-
-# LegacyFrequencyDelegate
-
-[androidJvm]\
-internal class [LegacyFrequencyDelegate](index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), **impl**: [LegacyFrequencyApi](../-legacy-frequency-api/index.md)) : [FrequencyApi](../../com.isupatches.android.wisefy.frequency/-frequency-api/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [getFrequency](get-frequency.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
open override fun [getFrequency](get-frequency.md)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)?
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
open override fun [getFrequency](get-frequency.md)(network: [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [isNetwork5gHz](is-network5g-hz.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
open override fun [isNetwork5gHz](is-network5g-hz.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
open override fun [isNetwork5gHz](is-network5g-hz.md)(network: [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [impl](impl.md) | [androidJvm]
private val [impl](impl.md): [LegacyFrequencyApi](../-legacy-frequency-api/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-delegate/is-network5g-hz.md b/documentation/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-delegate/is-network5g-hz.md
deleted file mode 100644
index fb75598d..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-delegate/is-network5g-hz.md
+++ /dev/null
@@ -1,15 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.frequency.delegates](../index.md)/[LegacyFrequencyDelegate](index.md)/[isNetwork5gHz](is-network5g-hz.md)
-
-# isNetwork5gHz
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
-
-open override fun [isNetwork5gHz](is-network5g-hz.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
-
-open override fun [isNetwork5gHz](is-network5g-hz.md)(network: [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.frequency.delegates/index.md b/documentation/wisefy/com.isupatches.android.wisefy.frequency.delegates/index.md
deleted file mode 100644
index 65c77ed1..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.frequency.delegates/index.md
+++ /dev/null
@@ -1,11 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.frequency.delegates](index.md)
-
-# Package com.isupatches.android.wisefy.frequency.delegates
-
-## Types
-
-| Name | Summary |
-|---|---|
-| [LegacyFrequencyApi](-legacy-frequency-api/index.md) | [androidJvm]
internal interface [LegacyFrequencyApi](-legacy-frequency-api/index.md) |
-| [LegacyFrequencyApiImpl](-legacy-frequency-api-impl/index.md) | [androidJvm]
internal class [LegacyFrequencyApiImpl](-legacy-frequency-api-impl/index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)) : [LegacyFrequencyApi](-legacy-frequency-api/index.md) |
-| [LegacyFrequencyDelegate](-legacy-frequency-delegate/index.md) | [androidJvm]
internal class [LegacyFrequencyDelegate](-legacy-frequency-delegate/index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), **impl**: [LegacyFrequencyApi](-legacy-frequency-api/index.md)) : [FrequencyApi](../com.isupatches.android.wisefy.frequency/-frequency-api/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.frequency/-frequency-api-async/get-frequency.md b/documentation/wisefy/com.isupatches.android.wisefy.frequency/-frequency-api-async/get-frequency.md
deleted file mode 100644
index e30b721e..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.frequency/-frequency-api-async/get-frequency.md
+++ /dev/null
@@ -1,11 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.frequency](../index.md)/[FrequencyApiAsync](index.md)/[getFrequency](get-frequency.md)
-
-# getFrequency
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
-
-abstract fun [getFrequency](get-frequency.md)(callbacks: [GetFrequencyCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-frequency-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.frequency/-frequency-api-async/index.md b/documentation/wisefy/com.isupatches.android.wisefy.frequency/-frequency-api-async/index.md
deleted file mode 100644
index 35c340fa..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.frequency/-frequency-api-async/index.md
+++ /dev/null
@@ -1,21 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.frequency](../index.md)/[FrequencyApiAsync](index.md)
-
-# FrequencyApiAsync
-
-[androidJvm]\
-interface [FrequencyApiAsync](index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [getFrequency](get-frequency.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
abstract fun [getFrequency](get-frequency.md)(callbacks: [GetFrequencyCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-frequency-callbacks/index.md)?) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [WisefyApi](../../com.isupatches.android.wisefy/-wisefy-api/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.frequency/-frequency-api/get-frequency.md b/documentation/wisefy/com.isupatches.android.wisefy.frequency/-frequency-api/get-frequency.md
deleted file mode 100644
index 2d0ccf58..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.frequency/-frequency-api/get-frequency.md
+++ /dev/null
@@ -1,15 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.frequency](../index.md)/[FrequencyApi](index.md)/[getFrequency](get-frequency.md)
-
-# getFrequency
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
-
-abstract fun [getFrequency](get-frequency.md)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)?
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
-
-abstract fun [getFrequency](get-frequency.md)(network: [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.frequency/-frequency-api/index.md b/documentation/wisefy/com.isupatches.android.wisefy.frequency/-frequency-api/index.md
deleted file mode 100644
index efa37bef..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.frequency/-frequency-api/index.md
+++ /dev/null
@@ -1,24 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.frequency](../index.md)/[FrequencyApi](index.md)
-
-# FrequencyApi
-
-[androidJvm]\
-interface [FrequencyApi](index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [getFrequency](get-frequency.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
abstract fun [getFrequency](get-frequency.md)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)?
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
abstract fun [getFrequency](get-frequency.md)(network: [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [isNetwork5gHz](is-network5g-hz.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
abstract fun [isNetwork5gHz](is-network5g-hz.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
abstract fun [isNetwork5gHz](is-network5g-hz.md)(network: [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [WisefyApi](../../com.isupatches.android.wisefy/-wisefy-api/index.md) |
-| [FrequencyUtil](../-frequency-util/index.md) |
-| [LegacyFrequencyDelegate](../../com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-delegate/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.frequency/-frequency-api/is-network5g-hz.md b/documentation/wisefy/com.isupatches.android.wisefy.frequency/-frequency-api/is-network5g-hz.md
deleted file mode 100644
index 4f05546d..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.frequency/-frequency-api/is-network5g-hz.md
+++ /dev/null
@@ -1,15 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.frequency](../index.md)/[FrequencyApi](index.md)/[isNetwork5gHz](is-network5g-hz.md)
-
-# isNetwork5gHz
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
-
-abstract fun [isNetwork5gHz](is-network5g-hz.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
-
-abstract fun [isNetwork5gHz](is-network5g-hz.md)(network: [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.frequency/-frequency-util/get-frequency.md b/documentation/wisefy/com.isupatches.android.wisefy.frequency/-frequency-util/get-frequency.md
deleted file mode 100644
index e2cfcc9b..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.frequency/-frequency-util/get-frequency.md
+++ /dev/null
@@ -1,11 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.frequency](../index.md)/[FrequencyUtil](index.md)/[getFrequency](get-frequency.md)
-
-# getFrequency
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
-
-abstract fun [getFrequency](get-frequency.md)(callbacks: [GetFrequencyCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-frequency-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.frequency/-frequency-util/index.md b/documentation/wisefy/com.isupatches.android.wisefy.frequency/-frequency-util/index.md
deleted file mode 100644
index 2ddb640c..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.frequency/-frequency-util/index.md
+++ /dev/null
@@ -1,22 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.frequency](../index.md)/[FrequencyUtil](index.md)
-
-# FrequencyUtil
-
-[androidJvm]\
-internal interface [FrequencyUtil](index.md) : [FrequencyApi](../-frequency-api/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [getFrequency](../-frequency-api/get-frequency.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
abstract fun [getFrequency](../-frequency-api/get-frequency.md)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)?
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
abstract fun [getFrequency](../-frequency-api/get-frequency.md)(network: [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
abstract fun [getFrequency](get-frequency.md)(callbacks: [GetFrequencyCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-frequency-callbacks/index.md)?) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [isNetwork5gHz](../-frequency-api/is-network5g-hz.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
abstract fun [isNetwork5gHz](../-frequency-api/is-network5g-hz.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
abstract fun [isNetwork5gHz](../-frequency-api/is-network5g-hz.md)(network: [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [WisefyFrequencyUtil](../-wisefy-frequency-util/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.frequency/-l-o-g_-t-a-g.md b/documentation/wisefy/com.isupatches.android.wisefy.frequency/-l-o-g_-t-a-g.md
deleted file mode 100644
index a5cf6275..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.frequency/-l-o-g_-t-a-g.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.frequency](index.md)/[LOG_TAG](-l-o-g_-t-a-g.md)
-
-# LOG_TAG
-
-[androidJvm]\
-private const val [LOG_TAG](-l-o-g_-t-a-g.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.frequency/-m-a-x_-f-r-e-q-u-e-n-c-y_5-g-h-z.md b/documentation/wisefy/com.isupatches.android.wisefy.frequency/-m-a-x_-f-r-e-q-u-e-n-c-y_5-g-h-z.md
deleted file mode 100644
index 2f6b5d9d..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.frequency/-m-a-x_-f-r-e-q-u-e-n-c-y_5-g-h-z.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.frequency](index.md)/[MAX_FREQUENCY_5GHZ](-m-a-x_-f-r-e-q-u-e-n-c-y_5-g-h-z.md)
-
-# MAX_FREQUENCY_5GHZ
-
-[androidJvm]\
-const val [MAX_FREQUENCY_5GHZ](-m-a-x_-f-r-e-q-u-e-n-c-y_5-g-h-z.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) = 5900
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.frequency/-m-i-n_-f-r-e-q-u-e-n-c-y_5-g-h-z.md b/documentation/wisefy/com.isupatches.android.wisefy.frequency/-m-i-n_-f-r-e-q-u-e-n-c-y_5-g-h-z.md
deleted file mode 100644
index 932838fe..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.frequency/-m-i-n_-f-r-e-q-u-e-n-c-y_5-g-h-z.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.frequency](index.md)/[MIN_FREQUENCY_5GHZ](-m-i-n_-f-r-e-q-u-e-n-c-y_5-g-h-z.md)
-
-# MIN_FREQUENCY_5GHZ
-
-[androidJvm]\
-const val [MIN_FREQUENCY_5GHZ](-m-i-n_-f-r-e-q-u-e-n-c-y_5-g-h-z.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) = 4900
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.frequency/-wisefy-frequency-util/-wisefy-frequency-util.md b/documentation/wisefy/com.isupatches.android.wisefy.frequency/-wisefy-frequency-util/-wisefy-frequency-util.md
deleted file mode 100644
index 5870619e..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.frequency/-wisefy-frequency-util/-wisefy-frequency-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.frequency](../index.md)/[WisefyFrequencyUtil](index.md)/[WisefyFrequencyUtil](-wisefy-frequency-util.md)
-
-# WisefyFrequencyUtil
-
-[androidJvm]\
-fun [WisefyFrequencyUtil](-wisefy-frequency-util.md)(coroutineDispatcherProvider: [CoroutineDispatcherProvider](../../com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/index.md), logger: [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?, wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.frequency/-wisefy-frequency-util/coroutine-dispatcher-provider.md b/documentation/wisefy/com.isupatches.android.wisefy.frequency/-wisefy-frequency-util/coroutine-dispatcher-provider.md
deleted file mode 100644
index 662ee5ce..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.frequency/-wisefy-frequency-util/coroutine-dispatcher-provider.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.frequency](../index.md)/[WisefyFrequencyUtil](index.md)/[coroutineDispatcherProvider](coroutine-dispatcher-provider.md)
-
-# coroutineDispatcherProvider
-
-[androidJvm]\
-private val [coroutineDispatcherProvider](coroutine-dispatcher-provider.md): [CoroutineDispatcherProvider](../../com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.frequency/-wisefy-frequency-util/delegate.md b/documentation/wisefy/com.isupatches.android.wisefy.frequency/-wisefy-frequency-util/delegate.md
deleted file mode 100644
index fbc86493..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.frequency/-wisefy-frequency-util/delegate.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.frequency](../index.md)/[WisefyFrequencyUtil](index.md)/[delegate](delegate.md)
-
-# delegate
-
-[androidJvm]\
-private val [delegate](delegate.md): [LegacyFrequencyDelegate](../../com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-delegate/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.frequency/-wisefy-frequency-util/frequency-scope.md b/documentation/wisefy/com.isupatches.android.wisefy.frequency/-wisefy-frequency-util/frequency-scope.md
deleted file mode 100644
index e2e01d6a..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.frequency/-wisefy-frequency-util/frequency-scope.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.frequency](../index.md)/[WisefyFrequencyUtil](index.md)/[frequencyScope](frequency-scope.md)
-
-# frequencyScope
-
-[androidJvm]\
-private val [frequencyScope](frequency-scope.md): CoroutineScope
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.frequency/-wisefy-frequency-util/get-frequency.md b/documentation/wisefy/com.isupatches.android.wisefy.frequency/-wisefy-frequency-util/get-frequency.md
deleted file mode 100644
index 2a64d6ec..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.frequency/-wisefy-frequency-util/get-frequency.md
+++ /dev/null
@@ -1,21 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.frequency](../index.md)/[WisefyFrequencyUtil](index.md)/[getFrequency](get-frequency.md)
-
-# getFrequency
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
-
-open override fun [getFrequency](get-frequency.md)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)?
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
-
-open override fun [getFrequency](get-frequency.md)(callbacks: [GetFrequencyCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-frequency-callbacks/index.md)?)
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
-
-open override fun [getFrequency](get-frequency.md)(network: [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.frequency/-wisefy-frequency-util/index.md b/documentation/wisefy/com.isupatches.android.wisefy.frequency/-wisefy-frequency-util/index.md
deleted file mode 100644
index 5ac7104c..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.frequency/-wisefy-frequency-util/index.md
+++ /dev/null
@@ -1,24 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.frequency](../index.md)/[WisefyFrequencyUtil](index.md)
-
-# WisefyFrequencyUtil
-
-[androidJvm]\
-internal class [WisefyFrequencyUtil](index.md)(**coroutineDispatcherProvider**: [CoroutineDispatcherProvider](../../com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/index.md), **logger**: [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?, **wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)) : [FrequencyUtil](../-frequency-util/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [getFrequency](get-frequency.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
open override fun [getFrequency](get-frequency.md)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)?
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
open override fun [getFrequency](get-frequency.md)(network: [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
open override fun [getFrequency](get-frequency.md)(callbacks: [GetFrequencyCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-frequency-callbacks/index.md)?) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [isNetwork5gHz](is-network5g-hz.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
open override fun [isNetwork5gHz](is-network5g-hz.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
open override fun [isNetwork5gHz](is-network5g-hz.md)(network: [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [coroutineDispatcherProvider](coroutine-dispatcher-provider.md) | [androidJvm]
private val [coroutineDispatcherProvider](coroutine-dispatcher-provider.md): [CoroutineDispatcherProvider](../../com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/index.md) |
-| [delegate](delegate.md) | [androidJvm]
private val [delegate](delegate.md): [LegacyFrequencyDelegate](../../com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-delegate/index.md) |
-| [frequencyScope](frequency-scope.md) | [androidJvm]
private val [frequencyScope](frequency-scope.md): CoroutineScope |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.frequency/-wisefy-frequency-util/is-network5g-hz.md b/documentation/wisefy/com.isupatches.android.wisefy.frequency/-wisefy-frequency-util/is-network5g-hz.md
deleted file mode 100644
index d9b796d1..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.frequency/-wisefy-frequency-util/is-network5g-hz.md
+++ /dev/null
@@ -1,15 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.frequency](../index.md)/[WisefyFrequencyUtil](index.md)/[isNetwork5gHz](is-network5g-hz.md)
-
-# isNetwork5gHz
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
-
-open override fun [isNetwork5gHz](is-network5g-hz.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
-
-open override fun [isNetwork5gHz](is-network5g-hz.md)(network: [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.frequency/index.md b/documentation/wisefy/com.isupatches.android.wisefy.frequency/index.md
deleted file mode 100644
index 729cdd21..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.frequency/index.md
+++ /dev/null
@@ -1,20 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.frequency](index.md)
-
-# Package com.isupatches.android.wisefy.frequency
-
-## Types
-
-| Name | Summary |
-|---|---|
-| [FrequencyApi](-frequency-api/index.md) | [androidJvm]
interface [FrequencyApi](-frequency-api/index.md) |
-| [FrequencyApiAsync](-frequency-api-async/index.md) | [androidJvm]
interface [FrequencyApiAsync](-frequency-api-async/index.md) |
-| [FrequencyUtil](-frequency-util/index.md) | [androidJvm]
internal interface [FrequencyUtil](-frequency-util/index.md) : [FrequencyApi](-frequency-api/index.md) |
-| [WisefyFrequencyUtil](-wisefy-frequency-util/index.md) | [androidJvm]
internal class [WisefyFrequencyUtil](-wisefy-frequency-util/index.md)(**coroutineDispatcherProvider**: [CoroutineDispatcherProvider](../com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/index.md), **logger**: [WisefyLogger](../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?, **wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)) : [FrequencyUtil](-frequency-util/index.md) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [LOG_TAG](-l-o-g_-t-a-g.md) | [androidJvm]
private const val [LOG_TAG](-l-o-g_-t-a-g.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-| [MAX_FREQUENCY_5GHZ](-m-a-x_-f-r-e-q-u-e-n-c-y_5-g-h-z.md) | [androidJvm]
const val [MAX_FREQUENCY_5GHZ](-m-a-x_-f-r-e-q-u-e-n-c-y_5-g-h-z.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) = 5900 |
-| [MIN_FREQUENCY_5GHZ](-m-i-n_-f-r-e-q-u-e-n-c-y_5-g-h-z.md) | [androidJvm]
const val [MIN_FREQUENCY_5GHZ](-m-i-n_-f-r-e-q-u-e-n-c-y_5-g-h-z.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) = 4900 |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.logging/-wisefy-logger/d.md b/documentation/wisefy/com.isupatches.android.wisefy.logging/-wisefy-logger/d.md
deleted file mode 100644
index 685c7169..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.logging/-wisefy-logger/d.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.logging](../index.md)/[WisefyLogger](index.md)/[d](d.md)
-
-# d
-
-[androidJvm]\
-abstract fun [d](d.md)(tag: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), vararg args: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.logging/-wisefy-logger/e.md b/documentation/wisefy/com.isupatches.android.wisefy.logging/-wisefy-logger/e.md
deleted file mode 100644
index 149da28e..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.logging/-wisefy-logger/e.md
+++ /dev/null
@@ -1,8 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.logging](../index.md)/[WisefyLogger](index.md)/[e](e.md)
-
-# e
-
-[androidJvm]\
-abstract fun [e](e.md)(tag: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), vararg args: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
-
-abstract fun [e](e.md)(tag: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), throwable: [Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), vararg args: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.logging/-wisefy-logger/i.md b/documentation/wisefy/com.isupatches.android.wisefy.logging/-wisefy-logger/i.md
deleted file mode 100644
index 1a6ac1ea..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.logging/-wisefy-logger/i.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.logging](../index.md)/[WisefyLogger](index.md)/[i](i.md)
-
-# i
-
-[androidJvm]\
-abstract fun [i](i.md)(tag: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), vararg args: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.logging/-wisefy-logger/index.md b/documentation/wisefy/com.isupatches.android.wisefy.logging/-wisefy-logger/index.md
deleted file mode 100644
index a2076dc2..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.logging/-wisefy-logger/index.md
+++ /dev/null
@@ -1,20 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.logging](../index.md)/[WisefyLogger](index.md)
-
-# WisefyLogger
-
-[androidJvm]\
-interface [WisefyLogger](index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [d](d.md) | [androidJvm]
abstract fun [d](d.md)(tag: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), vararg args: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [e](e.md) | [androidJvm]
abstract fun [e](e.md)(tag: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), vararg args: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
abstract fun [e](e.md)(tag: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), throwable: [Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), vararg args: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [i](i.md) | [androidJvm]
abstract fun [i](i.md)(tag: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), vararg args: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-| [v](v.md) | [androidJvm]
abstract fun [v](v.md)(tag: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), vararg args: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [w](w.md) | [androidJvm]
abstract fun [w](w.md)(tag: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), vararg args: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [wtf](wtf.md) | [androidJvm]
abstract fun [wtf](wtf.md)(tag: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), vararg args: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
abstract fun [wtf](wtf.md)(tag: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), throwable: [Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), vararg args: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.logging/-wisefy-logger/v.md b/documentation/wisefy/com.isupatches.android.wisefy.logging/-wisefy-logger/v.md
deleted file mode 100644
index 59bc4408..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.logging/-wisefy-logger/v.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.logging](../index.md)/[WisefyLogger](index.md)/[v](v.md)
-
-# v
-
-[androidJvm]\
-abstract fun [v](v.md)(tag: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), vararg args: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.logging/-wisefy-logger/w.md b/documentation/wisefy/com.isupatches.android.wisefy.logging/-wisefy-logger/w.md
deleted file mode 100644
index 47a08f06..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.logging/-wisefy-logger/w.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.logging](../index.md)/[WisefyLogger](index.md)/[w](w.md)
-
-# w
-
-[androidJvm]\
-abstract fun [w](w.md)(tag: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), vararg args: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.logging/-wisefy-logger/wtf.md b/documentation/wisefy/com.isupatches.android.wisefy.logging/-wisefy-logger/wtf.md
deleted file mode 100644
index 5ee3bb61..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.logging/-wisefy-logger/wtf.md
+++ /dev/null
@@ -1,8 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.logging](../index.md)/[WisefyLogger](index.md)/[wtf](wtf.md)
-
-# wtf
-
-[androidJvm]\
-abstract fun [wtf](wtf.md)(tag: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), vararg args: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
-
-abstract fun [wtf](wtf.md)(tag: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), throwable: [Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), vararg args: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.logging/index.md b/documentation/wisefy/com.isupatches.android.wisefy.logging/index.md
deleted file mode 100644
index 67a8fa87..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.logging/index.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.logging](index.md)
-
-# Package com.isupatches.android.wisefy.logging
-
-## Types
-
-| Name | Summary |
-|---|---|
-| [WisefyLogger](-wisefy-logger/index.md) | [androidJvm]
interface [WisefyLogger](-wisefy-logger/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-api-impl/-android29-network-connection-api-impl.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-api-impl/-android29-network-connection-api-impl.md
deleted file mode 100644
index 856c9fa1..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-api-impl/-android29-network-connection-api-impl.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.delegates](../index.md)/[Android29NetworkConnectionApiImpl](index.md)/[Android29NetworkConnectionApiImpl](-android29-network-connection-api-impl.md)
-
-# Android29NetworkConnectionApiImpl
-
-[androidJvm]\
-fun [Android29NetworkConnectionApiImpl](-android29-network-connection-api-impl.md)(connectionManager: [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html), logger: [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-api-impl/connect-to-network.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-api-impl/connect-to-network.md
deleted file mode 100644
index 34f06205..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-api-impl/connect-to-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.delegates](../index.md)/[Android29NetworkConnectionApiImpl](index.md)/[connectToNetwork](connect-to-network.md)
-
-# connectToNetwork
-
-[androidJvm]\
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
-
-open override fun [connectToNetwork](connect-to-network.md)(ssidToConnectTo: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [NetworkConnectionResult](../../com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-api-impl/connection-manager.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-api-impl/connection-manager.md
deleted file mode 100644
index e96573b5..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-api-impl/connection-manager.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.delegates](../index.md)/[Android29NetworkConnectionApiImpl](index.md)/[connectionManager](connection-manager.md)
-
-# connectionManager
-
-[androidJvm]\
-private val [connectionManager](connection-manager.md): [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-api-impl/disconnect-from-current-network.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-api-impl/disconnect-from-current-network.md
deleted file mode 100644
index e923de68..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-api-impl/disconnect-from-current-network.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.delegates](../index.md)/[Android29NetworkConnectionApiImpl](index.md)/[disconnectFromCurrentNetwork](disconnect-from-current-network.md)
-
-# disconnectFromCurrentNetwork
-
-[androidJvm]\
-open override fun [disconnectFromCurrentNetwork](disconnect-from-current-network.md)(): [NetworkConnectionResult](../../com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-api-impl/index.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-api-impl/index.md
deleted file mode 100644
index 4ee79cd4..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-api-impl/index.md
+++ /dev/null
@@ -1,31 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.delegates](../index.md)/[Android29NetworkConnectionApiImpl](index.md)
-
-# Android29NetworkConnectionApiImpl
-
-[androidJvm]\
-internal class [Android29NetworkConnectionApiImpl](index.md)(**connectionManager**: [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html), **logger**: [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?) : [ConnectivityManager.NetworkCallback](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.NetworkCallback.html), [Android29NetworkConnectionApi](../-android29-network-connection-api/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [connectToNetwork](connect-to-network.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
open override fun [connectToNetwork](connect-to-network.md)(ssidToConnectTo: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [NetworkConnectionResult](../../com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/index.md) |
-| [disconnectFromCurrentNetwork](disconnect-from-current-network.md) | [androidJvm]
open override fun [disconnectFromCurrentNetwork](disconnect-from-current-network.md)(): [NetworkConnectionResult](../../com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/index.md) |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [onAvailable](../-legacy-network-connection-api-impl/index.md#2110788460%2FFunctions%2F1622544596) | [androidJvm]
open fun [onAvailable](../-legacy-network-connection-api-impl/index.md#2110788460%2FFunctions%2F1622544596)(p0: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html)) |
-| [onBlockedStatusChanged](../../com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/index.md#1004516195%2FFunctions%2F1622544596) | [androidJvm]
open fun [onBlockedStatusChanged](../../com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/index.md#1004516195%2FFunctions%2F1622544596)(p0: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html), p1: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)) |
-| [onCapabilitiesChanged](../-legacy-network-connection-api-impl/index.md#5611792%2FFunctions%2F1622544596) | [androidJvm]
open fun [onCapabilitiesChanged](../-legacy-network-connection-api-impl/index.md#5611792%2FFunctions%2F1622544596)(p0: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html), p1: [NetworkCapabilities](https://developer.android.com/reference/kotlin/android/net/NetworkCapabilities.html)) |
-| [onLinkPropertiesChanged](../-legacy-network-connection-api-impl/index.md#973932568%2FFunctions%2F1622544596) | [androidJvm]
open fun [onLinkPropertiesChanged](../-legacy-network-connection-api-impl/index.md#973932568%2FFunctions%2F1622544596)(p0: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html), p1: [LinkProperties](https://developer.android.com/reference/kotlin/android/net/LinkProperties.html)) |
-| [onLosing](../-legacy-network-connection-api-impl/index.md#-1693799552%2FFunctions%2F1622544596) | [androidJvm]
open fun [onLosing](../-legacy-network-connection-api-impl/index.md#-1693799552%2FFunctions%2F1622544596)(p0: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html), p1: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)) |
-| [onLost](../-legacy-network-connection-api-impl/index.md#1243548751%2FFunctions%2F1622544596) | [androidJvm]
open fun [onLost](../-legacy-network-connection-api-impl/index.md#1243548751%2FFunctions%2F1622544596)(p0: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html)) |
-| [onUnavailable](../-legacy-network-connection-api-impl/index.md#-381201103%2FFunctions%2F1622544596) | [androidJvm]
open fun [onUnavailable](../-legacy-network-connection-api-impl/index.md#-381201103%2FFunctions%2F1622544596)() |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [connectionManager](connection-manager.md) | [androidJvm]
private val [connectionManager](connection-manager.md): [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html) |
-| [logger](logger.md) | [androidJvm]
private val [logger](logger.md): [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)? |
-| [networkCallback](network-callback.md) | [androidJvm]
private val [networkCallback](network-callback.md): Android29NetworkConnectionApiImpl. |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-api-impl/logger.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-api-impl/logger.md
deleted file mode 100644
index b1398f52..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-api-impl/logger.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.delegates](../index.md)/[Android29NetworkConnectionApiImpl](index.md)/[logger](logger.md)
-
-# logger
-
-[androidJvm]\
-private val [logger](logger.md): [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-api-impl/network-callback.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-api-impl/network-callback.md
deleted file mode 100644
index 25f4aa78..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-api-impl/network-callback.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.delegates](../index.md)/[Android29NetworkConnectionApiImpl](index.md)/[networkCallback](network-callback.md)
-
-# networkCallback
-
-[androidJvm]\
-private val [networkCallback](network-callback.md): Android29NetworkConnectionApiImpl.
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-api/connect-to-network.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-api/connect-to-network.md
deleted file mode 100644
index 6199cf13..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-api/connect-to-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.delegates](../index.md)/[Android29NetworkConnectionApi](index.md)/[connectToNetwork](connect-to-network.md)
-
-# connectToNetwork
-
-[androidJvm]\
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
-
-abstract fun [connectToNetwork](connect-to-network.md)(ssidToConnectTo: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) = 0): [NetworkConnectionResult](../../com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-api/disconnect-from-current-network.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-api/disconnect-from-current-network.md
deleted file mode 100644
index f1feed99..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-api/disconnect-from-current-network.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.delegates](../index.md)/[Android29NetworkConnectionApi](index.md)/[disconnectFromCurrentNetwork](disconnect-from-current-network.md)
-
-# disconnectFromCurrentNetwork
-
-[androidJvm]\
-abstract fun [disconnectFromCurrentNetwork](disconnect-from-current-network.md)(): [NetworkConnectionResult](../../com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-api/index.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-api/index.md
deleted file mode 100644
index 6131536a..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-api/index.md
+++ /dev/null
@@ -1,22 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.delegates](../index.md)/[Android29NetworkConnectionApi](index.md)
-
-# Android29NetworkConnectionApi
-
-[androidJvm]\
-internal interface [Android29NetworkConnectionApi](index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [connectToNetwork](connect-to-network.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
abstract fun [connectToNetwork](connect-to-network.md)(ssidToConnectTo: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) = 0): [NetworkConnectionResult](../../com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/index.md) |
-| [disconnectFromCurrentNetwork](disconnect-from-current-network.md) | [androidJvm]
abstract fun [disconnectFromCurrentNetwork](disconnect-from-current-network.md)(): [NetworkConnectionResult](../../com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/index.md) |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [Android29NetworkConnectionApiImpl](../-android29-network-connection-api-impl/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-delegate/-android29-network-connection-delegate.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-delegate/-android29-network-connection-delegate.md
deleted file mode 100644
index 23683bbf..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-delegate/-android29-network-connection-delegate.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.delegates](../index.md)/[Android29NetworkConnectionDelegate](index.md)/[Android29NetworkConnectionDelegate](-android29-network-connection-delegate.md)
-
-# Android29NetworkConnectionDelegate
-
-[androidJvm]\
-fun [Android29NetworkConnectionDelegate](-android29-network-connection-delegate.md)(connectivityManager: [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html), logger: [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?, impl: [Android29NetworkConnectionApi](../-android29-network-connection-api/index.md) = Android29NetworkConnectionApiImpl(connectivityManager, logger))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-delegate/connect-to-network.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-delegate/connect-to-network.md
deleted file mode 100644
index aa5e2c02..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-delegate/connect-to-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.delegates](../index.md)/[Android29NetworkConnectionDelegate](index.md)/[connectToNetwork](connect-to-network.md)
-
-# connectToNetwork
-
-[androidJvm]\
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
-
-open override fun [connectToNetwork](connect-to-network.md)(ssidToConnectTo: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [NetworkConnectionResult](../../com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-delegate/disconnect-from-current-network.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-delegate/disconnect-from-current-network.md
deleted file mode 100644
index b3345ba0..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-delegate/disconnect-from-current-network.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.delegates](../index.md)/[Android29NetworkConnectionDelegate](index.md)/[disconnectFromCurrentNetwork](disconnect-from-current-network.md)
-
-# disconnectFromCurrentNetwork
-
-[androidJvm]\
-open override fun [disconnectFromCurrentNetwork](disconnect-from-current-network.md)(): [NetworkConnectionResult](../../com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-delegate/impl.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-delegate/impl.md
deleted file mode 100644
index c893e2a3..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-delegate/impl.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.delegates](../index.md)/[Android29NetworkConnectionDelegate](index.md)/[impl](impl.md)
-
-# impl
-
-[androidJvm]\
-private val [impl](impl.md): [Android29NetworkConnectionApi](../-android29-network-connection-api/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-delegate/index.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-delegate/index.md
deleted file mode 100644
index 25e74460..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-delegate/index.md
+++ /dev/null
@@ -1,22 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.delegates](../index.md)/[Android29NetworkConnectionDelegate](index.md)
-
-# Android29NetworkConnectionDelegate
-
-[androidJvm]\
-internal class [Android29NetworkConnectionDelegate](index.md)(**connectivityManager**: [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html), **logger**: [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?, **impl**: [Android29NetworkConnectionApi](../-android29-network-connection-api/index.md)) : [NetworkConnectionApi](../../com.isupatches.android.wisefy.networkconnection/-network-connection-api/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [connectToNetwork](connect-to-network.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
open override fun [connectToNetwork](connect-to-network.md)(ssidToConnectTo: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [NetworkConnectionResult](../../com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/index.md) |
-| [disconnectFromCurrentNetwork](disconnect-from-current-network.md) | [androidJvm]
open override fun [disconnectFromCurrentNetwork](disconnect-from-current-network.md)(): [NetworkConnectionResult](../../com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/index.md) |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [impl](impl.md) | [androidJvm]
private val [impl](impl.md): [Android29NetworkConnectionApi](../-android29-network-connection-api/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-l-o-g_-t-a-g.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-l-o-g_-t-a-g.md
deleted file mode 100644
index 57e44021..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-l-o-g_-t-a-g.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.networkconnection.delegates](index.md)/[LOG_TAG](-l-o-g_-t-a-g.md)
-
-# LOG_TAG
-
-[androidJvm]\
-private const val [LOG_TAG](-l-o-g_-t-a-g.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api-impl/-legacy-network-connection-api-impl.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api-impl/-legacy-network-connection-api-impl.md
deleted file mode 100644
index 2a50ec38..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api-impl/-legacy-network-connection-api-impl.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.delegates](../index.md)/[LegacyNetworkConnectionApiImpl](index.md)/[LegacyNetworkConnectionApiImpl](-legacy-network-connection-api-impl.md)
-
-# LegacyNetworkConnectionApiImpl
-
-[androidJvm]\
-fun [LegacyNetworkConnectionApiImpl](-legacy-network-connection-api-impl.md)(wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), networkConnectionStatusUtil: [NetworkConnectionStatusUtil](../../com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-util/index.md), savedNetworkUtil: [SavedNetworkUtil](../../com.isupatches.android.wisefy.savednetworks/-saved-network-util/index.md), logger: [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api-impl/connect-to-network.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api-impl/connect-to-network.md
deleted file mode 100644
index 0ee222e7..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api-impl/connect-to-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.delegates](../index.md)/[LegacyNetworkConnectionApiImpl](index.md)/[connectToNetwork](connect-to-network.md)
-
-# connectToNetwork
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
-
-open override fun [connectToNetwork](connect-to-network.md)(ssidToConnectTo: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [NetworkConnectionResult](../../com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api-impl/disconnect-from-current-network.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api-impl/disconnect-from-current-network.md
deleted file mode 100644
index 3eda8fc8..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api-impl/disconnect-from-current-network.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.delegates](../index.md)/[LegacyNetworkConnectionApiImpl](index.md)/[disconnectFromCurrentNetwork](disconnect-from-current-network.md)
-
-# disconnectFromCurrentNetwork
-
-[androidJvm]\
-open override fun [disconnectFromCurrentNetwork](disconnect-from-current-network.md)(): [NetworkConnectionResult](../../com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api-impl/index.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api-impl/index.md
deleted file mode 100644
index a5926a17..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api-impl/index.md
+++ /dev/null
@@ -1,34 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.delegates](../index.md)/[LegacyNetworkConnectionApiImpl](index.md)
-
-# LegacyNetworkConnectionApiImpl
-
-[androidJvm]\
-internal class [LegacyNetworkConnectionApiImpl](index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), **networkConnectionStatusUtil**: [NetworkConnectionStatusUtil](../../com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-util/index.md), **savedNetworkUtil**: [SavedNetworkUtil](../../com.isupatches.android.wisefy.savednetworks/-saved-network-util/index.md), **logger**: [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?) : [ConnectivityManager.NetworkCallback](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.NetworkCallback.html), [LegacyNetworkConnectionApi](../-legacy-network-connection-api/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [connectToNetwork](connect-to-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
open override fun [connectToNetwork](connect-to-network.md)(ssidToConnectTo: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [NetworkConnectionResult](../../com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/index.md) |
-| [disconnectFromCurrentNetwork](disconnect-from-current-network.md) | [androidJvm]
open override fun [disconnectFromCurrentNetwork](disconnect-from-current-network.md)(): [NetworkConnectionResult](../../com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/index.md) |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [isCurrentNetworkConnectedToSSID](is-current-network-connected-to-s-s-i-d.md) | [androidJvm]
private fun [isCurrentNetworkConnectedToSSID](is-current-network-connected-to-s-s-i-d.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [onAvailable](index.md#2110788460%2FFunctions%2F1622544596) | [androidJvm]
open fun [onAvailable](index.md#2110788460%2FFunctions%2F1622544596)(p0: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html)) |
-| [onBlockedStatusChanged](../../com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/index.md#1004516195%2FFunctions%2F1622544596) | [androidJvm]
open fun [onBlockedStatusChanged](../../com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/index.md#1004516195%2FFunctions%2F1622544596)(p0: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html), p1: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)) |
-| [onCapabilitiesChanged](index.md#5611792%2FFunctions%2F1622544596) | [androidJvm]
open fun [onCapabilitiesChanged](index.md#5611792%2FFunctions%2F1622544596)(p0: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html), p1: [NetworkCapabilities](https://developer.android.com/reference/kotlin/android/net/NetworkCapabilities.html)) |
-| [onLinkPropertiesChanged](index.md#973932568%2FFunctions%2F1622544596) | [androidJvm]
open fun [onLinkPropertiesChanged](index.md#973932568%2FFunctions%2F1622544596)(p0: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html), p1: [LinkProperties](https://developer.android.com/reference/kotlin/android/net/LinkProperties.html)) |
-| [onLosing](index.md#-1693799552%2FFunctions%2F1622544596) | [androidJvm]
open fun [onLosing](index.md#-1693799552%2FFunctions%2F1622544596)(p0: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html), p1: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)) |
-| [onLost](index.md#1243548751%2FFunctions%2F1622544596) | [androidJvm]
open fun [onLost](index.md#1243548751%2FFunctions%2F1622544596)(p0: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html)) |
-| [onUnavailable](index.md#-381201103%2FFunctions%2F1622544596) | [androidJvm]
open fun [onUnavailable](index.md#-381201103%2FFunctions%2F1622544596)() |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-| [waitToConnectToSSID](wait-to-connect-to-s-s-i-d.md) | [androidJvm]
private fun [waitToConnectToSSID](wait-to-connect-to-s-s-i-d.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?, timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [logger](logger.md) | [androidJvm]
private val [logger](logger.md): [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)? |
-| [networkConnectionStatusUtil](network-connection-status-util.md) | [androidJvm]
private val [networkConnectionStatusUtil](network-connection-status-util.md): [NetworkConnectionStatusUtil](../../com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-util/index.md) |
-| [savedNetworkUtil](saved-network-util.md) | [androidJvm]
private val [savedNetworkUtil](saved-network-util.md): [SavedNetworkUtil](../../com.isupatches.android.wisefy.savednetworks/-saved-network-util/index.md) |
-| [wifiManager](wifi-manager.md) | [androidJvm]
private val [wifiManager](wifi-manager.md): [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api-impl/is-current-network-connected-to-s-s-i-d.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api-impl/is-current-network-connected-to-s-s-i-d.md
deleted file mode 100644
index 3606a667..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api-impl/is-current-network-connected-to-s-s-i-d.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.delegates](../index.md)/[LegacyNetworkConnectionApiImpl](index.md)/[isCurrentNetworkConnectedToSSID](is-current-network-connected-to-s-s-i-d.md)
-
-# isCurrentNetworkConnectedToSSID
-
-[androidJvm]\
-private fun [isCurrentNetworkConnectedToSSID](is-current-network-connected-to-s-s-i-d.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api-impl/logger.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api-impl/logger.md
deleted file mode 100644
index f1eb8b59..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api-impl/logger.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.delegates](../index.md)/[LegacyNetworkConnectionApiImpl](index.md)/[logger](logger.md)
-
-# logger
-
-[androidJvm]\
-private val [logger](logger.md): [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api-impl/network-connection-status-util.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api-impl/network-connection-status-util.md
deleted file mode 100644
index c9efaf76..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api-impl/network-connection-status-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.delegates](../index.md)/[LegacyNetworkConnectionApiImpl](index.md)/[networkConnectionStatusUtil](network-connection-status-util.md)
-
-# networkConnectionStatusUtil
-
-[androidJvm]\
-private val [networkConnectionStatusUtil](network-connection-status-util.md): [NetworkConnectionStatusUtil](../../com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-util/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api-impl/saved-network-util.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api-impl/saved-network-util.md
deleted file mode 100644
index dd0a9eda..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api-impl/saved-network-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.delegates](../index.md)/[LegacyNetworkConnectionApiImpl](index.md)/[savedNetworkUtil](saved-network-util.md)
-
-# savedNetworkUtil
-
-[androidJvm]\
-private val [savedNetworkUtil](saved-network-util.md): [SavedNetworkUtil](../../com.isupatches.android.wisefy.savednetworks/-saved-network-util/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api-impl/wait-to-connect-to-s-s-i-d.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api-impl/wait-to-connect-to-s-s-i-d.md
deleted file mode 100644
index f3b4c4a3..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api-impl/wait-to-connect-to-s-s-i-d.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.delegates](../index.md)/[LegacyNetworkConnectionApiImpl](index.md)/[waitToConnectToSSID](wait-to-connect-to-s-s-i-d.md)
-
-# waitToConnectToSSID
-
-[androidJvm]\
-private fun [waitToConnectToSSID](wait-to-connect-to-s-s-i-d.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?, timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api-impl/wifi-manager.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api-impl/wifi-manager.md
deleted file mode 100644
index 41e75377..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api-impl/wifi-manager.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.delegates](../index.md)/[LegacyNetworkConnectionApiImpl](index.md)/[wifiManager](wifi-manager.md)
-
-# wifiManager
-
-[androidJvm]\
-private val [wifiManager](wifi-manager.md): [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api/connect-to-network.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api/connect-to-network.md
deleted file mode 100644
index 3a144f25..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api/connect-to-network.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.delegates](../index.md)/[LegacyNetworkConnectionApi](index.md)/[connectToNetwork](connect-to-network.md)
-
-# connectToNetwork
-
-[androidJvm]\
-abstract fun [connectToNetwork](connect-to-network.md)(ssidToConnectTo: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) = 0): [NetworkConnectionResult](../../com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api/disconnect-from-current-network.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api/disconnect-from-current-network.md
deleted file mode 100644
index 9c75bcca..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api/disconnect-from-current-network.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.delegates](../index.md)/[LegacyNetworkConnectionApi](index.md)/[disconnectFromCurrentNetwork](disconnect-from-current-network.md)
-
-# disconnectFromCurrentNetwork
-
-[androidJvm]\
-abstract fun [disconnectFromCurrentNetwork](disconnect-from-current-network.md)(): [NetworkConnectionResult](../../com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api/index.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api/index.md
deleted file mode 100644
index b0627384..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api/index.md
+++ /dev/null
@@ -1,22 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.delegates](../index.md)/[LegacyNetworkConnectionApi](index.md)
-
-# LegacyNetworkConnectionApi
-
-[androidJvm]\
-internal interface [LegacyNetworkConnectionApi](index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [connectToNetwork](connect-to-network.md) | [androidJvm]
abstract fun [connectToNetwork](connect-to-network.md)(ssidToConnectTo: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) = 0): [NetworkConnectionResult](../../com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/index.md) |
-| [disconnectFromCurrentNetwork](disconnect-from-current-network.md) | [androidJvm]
abstract fun [disconnectFromCurrentNetwork](disconnect-from-current-network.md)(): [NetworkConnectionResult](../../com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/index.md) |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [LegacyNetworkConnectionApiImpl](../-legacy-network-connection-api-impl/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-delegate/-legacy-network-connection-delegate.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-delegate/-legacy-network-connection-delegate.md
deleted file mode 100644
index 751d418c..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-delegate/-legacy-network-connection-delegate.md
+++ /dev/null
@@ -1,11 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.delegates](../index.md)/[LegacyNetworkConnectionDelegate](index.md)/[LegacyNetworkConnectionDelegate](-legacy-network-connection-delegate.md)
-
-# LegacyNetworkConnectionDelegate
-
-[androidJvm]\
-fun [LegacyNetworkConnectionDelegate](-legacy-network-connection-delegate.md)(wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), networkConnectionStatusUtil: [NetworkConnectionStatusUtil](../../com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-util/index.md), savedNetworkUtil: [SavedNetworkUtil](../../com.isupatches.android.wisefy.savednetworks/-saved-network-util/index.md), logger: [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?, impl: [LegacyNetworkConnectionApi](../-legacy-network-connection-api/index.md) = LegacyNetworkConnectionApiImpl(
- wifiManager,
- networkConnectionStatusUtil,
- savedNetworkUtil,
- logger
- ))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-delegate/connect-to-network.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-delegate/connect-to-network.md
deleted file mode 100644
index c42e99a6..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-delegate/connect-to-network.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.delegates](../index.md)/[LegacyNetworkConnectionDelegate](index.md)/[connectToNetwork](connect-to-network.md)
-
-# connectToNetwork
-
-[androidJvm]\
-open override fun [connectToNetwork](connect-to-network.md)(ssidToConnectTo: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [NetworkConnectionResult](../../com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-delegate/disconnect-from-current-network.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-delegate/disconnect-from-current-network.md
deleted file mode 100644
index 9d2d450c..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-delegate/disconnect-from-current-network.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.delegates](../index.md)/[LegacyNetworkConnectionDelegate](index.md)/[disconnectFromCurrentNetwork](disconnect-from-current-network.md)
-
-# disconnectFromCurrentNetwork
-
-[androidJvm]\
-open override fun [disconnectFromCurrentNetwork](disconnect-from-current-network.md)(): [NetworkConnectionResult](../../com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-delegate/impl.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-delegate/impl.md
deleted file mode 100644
index d0d2462c..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-delegate/impl.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.delegates](../index.md)/[LegacyNetworkConnectionDelegate](index.md)/[impl](impl.md)
-
-# impl
-
-[androidJvm]\
-private val [impl](impl.md): [LegacyNetworkConnectionApi](../-legacy-network-connection-api/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-delegate/index.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-delegate/index.md
deleted file mode 100644
index fd5f5e0b..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-delegate/index.md
+++ /dev/null
@@ -1,22 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.delegates](../index.md)/[LegacyNetworkConnectionDelegate](index.md)
-
-# LegacyNetworkConnectionDelegate
-
-[androidJvm]\
-internal class [LegacyNetworkConnectionDelegate](index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), **networkConnectionStatusUtil**: [NetworkConnectionStatusUtil](../../com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-util/index.md), **savedNetworkUtil**: [SavedNetworkUtil](../../com.isupatches.android.wisefy.savednetworks/-saved-network-util/index.md), **logger**: [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?, **impl**: [LegacyNetworkConnectionApi](../-legacy-network-connection-api/index.md)) : [NetworkConnectionApi](../../com.isupatches.android.wisefy.networkconnection/-network-connection-api/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [connectToNetwork](connect-to-network.md) | [androidJvm]
open override fun [connectToNetwork](connect-to-network.md)(ssidToConnectTo: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [NetworkConnectionResult](../../com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/index.md) |
-| [disconnectFromCurrentNetwork](disconnect-from-current-network.md) | [androidJvm]
open override fun [disconnectFromCurrentNetwork](disconnect-from-current-network.md)(): [NetworkConnectionResult](../../com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/index.md) |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [impl](impl.md) | [androidJvm]
private val [impl](impl.md): [LegacyNetworkConnectionApi](../-legacy-network-connection-api/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/index.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/index.md
deleted file mode 100644
index 9b13afc7..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/index.md
+++ /dev/null
@@ -1,21 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.networkconnection.delegates](index.md)
-
-# Package com.isupatches.android.wisefy.networkconnection.delegates
-
-## Types
-
-| Name | Summary |
-|---|---|
-| [Android29NetworkConnectionApi](-android29-network-connection-api/index.md) | [androidJvm]
internal interface [Android29NetworkConnectionApi](-android29-network-connection-api/index.md) |
-| [Android29NetworkConnectionApiImpl](-android29-network-connection-api-impl/index.md) | [androidJvm]
internal class [Android29NetworkConnectionApiImpl](-android29-network-connection-api-impl/index.md)(**connectionManager**: [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html), **logger**: [WisefyLogger](../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?) : [ConnectivityManager.NetworkCallback](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.NetworkCallback.html), [Android29NetworkConnectionApi](-android29-network-connection-api/index.md) |
-| [Android29NetworkConnectionDelegate](-android29-network-connection-delegate/index.md) | [androidJvm]
internal class [Android29NetworkConnectionDelegate](-android29-network-connection-delegate/index.md)(**connectivityManager**: [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html), **logger**: [WisefyLogger](../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?, **impl**: [Android29NetworkConnectionApi](-android29-network-connection-api/index.md)) : [NetworkConnectionApi](../com.isupatches.android.wisefy.networkconnection/-network-connection-api/index.md) |
-| [LegacyNetworkConnectionApi](-legacy-network-connection-api/index.md) | [androidJvm]
internal interface [LegacyNetworkConnectionApi](-legacy-network-connection-api/index.md) |
-| [LegacyNetworkConnectionApiImpl](-legacy-network-connection-api-impl/index.md) | [androidJvm]
internal class [LegacyNetworkConnectionApiImpl](-legacy-network-connection-api-impl/index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), **networkConnectionStatusUtil**: [NetworkConnectionStatusUtil](../com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-util/index.md), **savedNetworkUtil**: [SavedNetworkUtil](../com.isupatches.android.wisefy.savednetworks/-saved-network-util/index.md), **logger**: [WisefyLogger](../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?) : [ConnectivityManager.NetworkCallback](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.NetworkCallback.html), [LegacyNetworkConnectionApi](-legacy-network-connection-api/index.md) |
-| [LegacyNetworkConnectionDelegate](-legacy-network-connection-delegate/index.md) | [androidJvm]
internal class [LegacyNetworkConnectionDelegate](-legacy-network-connection-delegate/index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), **networkConnectionStatusUtil**: [NetworkConnectionStatusUtil](../com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-util/index.md), **savedNetworkUtil**: [SavedNetworkUtil](../com.isupatches.android.wisefy.savednetworks/-saved-network-util/index.md), **logger**: [WisefyLogger](../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?, **impl**: [LegacyNetworkConnectionApi](-legacy-network-connection-api/index.md)) : [NetworkConnectionApi](../com.isupatches.android.wisefy.networkconnection/-network-connection-api/index.md) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [LOG_TAG](-l-o-g_-t-a-g.md) | [androidJvm]
private const val [LOG_TAG](-l-o-g_-t-a-g.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-| [LOG_TAG](-l-o-g_-t-a-g.md) | [androidJvm]
private const val [LOG_TAG](-l-o-g_-t-a-g.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/-connection-request-placed/index.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/-connection-request-placed/index.md
deleted file mode 100644
index f1c9c600..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/-connection-request-placed/index.md
+++ /dev/null
@@ -1,14 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../../index.md)/[NetworkConnectionResult](../index.md)/[ConnectionRequestPlaced](index.md)
-
-# ConnectionRequestPlaced
-
-[androidJvm]\
-object [ConnectionRequestPlaced](index.md) : [NetworkConnectionResult](../index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/-network-connection-result.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/-network-connection-result.md
deleted file mode 100644
index 937a96a9..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/-network-connection-result.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../index.md)/[NetworkConnectionResult](index.md)/[NetworkConnectionResult](-network-connection-result.md)
-
-# NetworkConnectionResult
-
-[androidJvm]\
-protected fun [NetworkConnectionResult](-network-connection-result.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/-network-not-found/index.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/-network-not-found/index.md
deleted file mode 100644
index 3b136f0b..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/-network-not-found/index.md
+++ /dev/null
@@ -1,14 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../../index.md)/[NetworkConnectionResult](../index.md)/[NetworkNotFound](index.md)
-
-# NetworkNotFound
-
-[androidJvm]\
-object [NetworkNotFound](index.md) : [NetworkConnectionResult](../index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/-succeeded/-succeeded.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/-succeeded/-succeeded.md
deleted file mode 100644
index a9159d2a..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/-succeeded/-succeeded.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../../index.md)/[NetworkConnectionResult](../index.md)/[Succeeded](index.md)/[Succeeded](-succeeded.md)
-
-# Succeeded
-
-[androidJvm]\
-fun [Succeeded](-succeeded.md)(data: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/-succeeded/component1.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/-succeeded/component1.md
deleted file mode 100644
index 0ccf357e..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/-succeeded/component1.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../../index.md)/[NetworkConnectionResult](../index.md)/[Succeeded](index.md)/[component1](component1.md)
-
-# component1
-
-[androidJvm]\
-operator fun [component1](component1.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/-succeeded/copy.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/-succeeded/copy.md
deleted file mode 100644
index 39b7e72c..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/-succeeded/copy.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../../index.md)/[NetworkConnectionResult](../index.md)/[Succeeded](index.md)/[copy](copy.md)
-
-# copy
-
-[androidJvm]\
-fun [copy](copy.md)(data: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [NetworkConnectionResult.Succeeded](index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/-succeeded/data.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/-succeeded/data.md
deleted file mode 100644
index 69b98173..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/-succeeded/data.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../../index.md)/[NetworkConnectionResult](../index.md)/[Succeeded](index.md)/[data](data.md)
-
-# data
-
-[androidJvm]\
-val [data](data.md): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/-succeeded/index.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/-succeeded/index.md
deleted file mode 100644
index e6884b64..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/-succeeded/index.md
+++ /dev/null
@@ -1,22 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../../index.md)/[NetworkConnectionResult](../index.md)/[Succeeded](index.md)
-
-# Succeeded
-
-[androidJvm]\
-data class [Succeeded](index.md)(**data**: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)) : [NetworkConnectionResult](../index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [component1](component1.md) | [androidJvm]
operator fun [component1](component1.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [copy](copy.md) | [androidJvm]
fun [copy](copy.md)(data: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [NetworkConnectionResult.Succeeded](index.md) |
-| [equals](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator override fun [equals](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open override fun [hashCode](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open override fun [toString](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [data](data.md) | [androidJvm]
val [data](data.md): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/-unregister-request-sent/index.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/-unregister-request-sent/index.md
deleted file mode 100644
index 3ac76504..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/-unregister-request-sent/index.md
+++ /dev/null
@@ -1,14 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../../index.md)/[NetworkConnectionResult](../index.md)/[UnregisterRequestSent](index.md)
-
-# UnregisterRequestSent
-
-[androidJvm]\
-object [UnregisterRequestSent](index.md) : [NetworkConnectionResult](../index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/index.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/index.md
deleted file mode 100644
index 70256497..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/index.md
+++ /dev/null
@@ -1,32 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../index.md)/[NetworkConnectionResult](index.md)
-
-# NetworkConnectionResult
-
-[androidJvm]\
-sealed class [NetworkConnectionResult](index.md)
-
-## Types
-
-| Name | Summary |
-|---|---|
-| [ConnectionRequestPlaced](-connection-request-placed/index.md) | [androidJvm]
object [ConnectionRequestPlaced](-connection-request-placed/index.md) : [NetworkConnectionResult](index.md) |
-| [NetworkNotFound](-network-not-found/index.md) | [androidJvm]
object [NetworkNotFound](-network-not-found/index.md) : [NetworkConnectionResult](index.md) |
-| [Succeeded](-succeeded/index.md) | [androidJvm]
data class [Succeeded](-succeeded/index.md)(**data**: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)) : [NetworkConnectionResult](index.md) |
-| [UnregisterRequestSent](-unregister-request-sent/index.md) | [androidJvm]
object [UnregisterRequestSent](-unregister-request-sent/index.md) : [NetworkConnectionResult](index.md) |
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [NetworkConnectionResult](-succeeded/index.md) |
-| [NetworkConnectionResult](-connection-request-placed/index.md) |
-| [NetworkConnectionResult](-network-not-found/index.md) |
-| [NetworkConnectionResult](-unregister-request-sent/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.entities/index.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.entities/index.md
deleted file mode 100644
index 0eddc940..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection.entities/index.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](index.md)
-
-# Package com.isupatches.android.wisefy.networkconnection.entities
-
-## Types
-
-| Name | Summary |
-|---|---|
-| [NetworkConnectionResult](-network-connection-result/index.md) | [androidJvm]
sealed class [NetworkConnectionResult](-network-connection-result/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection/-l-o-g_-t-a-g.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection/-l-o-g_-t-a-g.md
deleted file mode 100644
index 340fda0c..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection/-l-o-g_-t-a-g.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.networkconnection](index.md)/[LOG_TAG](-l-o-g_-t-a-g.md)
-
-# LOG_TAG
-
-[androidJvm]\
-private const val [LOG_TAG](-l-o-g_-t-a-g.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection/-network-connection-api-async/connect-to-network.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection/-network-connection-api-async/connect-to-network.md
deleted file mode 100644
index 0ddaa92c..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection/-network-connection-api-async/connect-to-network.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection](../index.md)/[NetworkConnectionApiAsync](index.md)/[connectToNetwork](connect-to-network.md)
-
-# connectToNetwork
-
-[androidJvm]\
-abstract fun [connectToNetwork](connect-to-network.md)(ssidToConnectTo: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), callbacks: [ConnectToNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-connect-to-network-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection/-network-connection-api-async/disconnect-from-current-network.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection/-network-connection-api-async/disconnect-from-current-network.md
deleted file mode 100644
index 099f10db..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection/-network-connection-api-async/disconnect-from-current-network.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection](../index.md)/[NetworkConnectionApiAsync](index.md)/[disconnectFromCurrentNetwork](disconnect-from-current-network.md)
-
-# disconnectFromCurrentNetwork
-
-[androidJvm]\
-abstract fun [disconnectFromCurrentNetwork](disconnect-from-current-network.md)(callbacks: [DisconnectFromCurrentNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-disconnect-from-current-network-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection/-network-connection-api-async/index.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection/-network-connection-api-async/index.md
deleted file mode 100644
index 2d9659e9..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection/-network-connection-api-async/index.md
+++ /dev/null
@@ -1,23 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection](../index.md)/[NetworkConnectionApiAsync](index.md)
-
-# NetworkConnectionApiAsync
-
-[androidJvm]\
-interface [NetworkConnectionApiAsync](index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [connectToNetwork](connect-to-network.md) | [androidJvm]
abstract fun [connectToNetwork](connect-to-network.md)(ssidToConnectTo: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), callbacks: [ConnectToNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-connect-to-network-callbacks/index.md)?) |
-| [disconnectFromCurrentNetwork](disconnect-from-current-network.md) | [androidJvm]
abstract fun [disconnectFromCurrentNetwork](disconnect-from-current-network.md)(callbacks: [DisconnectFromCurrentNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-disconnect-from-current-network-callbacks/index.md)?) |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [WisefyApi](../../com.isupatches.android.wisefy/-wisefy-api/index.md) |
-| [NetworkConnectionUtil](../-network-connection-util/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection/-network-connection-api/connect-to-network.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection/-network-connection-api/connect-to-network.md
deleted file mode 100644
index 6719ca54..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection/-network-connection-api/connect-to-network.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection](../index.md)/[NetworkConnectionApi](index.md)/[connectToNetwork](connect-to-network.md)
-
-# connectToNetwork
-
-[androidJvm]\
-abstract fun [connectToNetwork](connect-to-network.md)(ssidToConnectTo: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [NetworkConnectionResult](../../com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection/-network-connection-api/disconnect-from-current-network.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection/-network-connection-api/disconnect-from-current-network.md
deleted file mode 100644
index ea8c8808..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection/-network-connection-api/disconnect-from-current-network.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection](../index.md)/[NetworkConnectionApi](index.md)/[disconnectFromCurrentNetwork](disconnect-from-current-network.md)
-
-# disconnectFromCurrentNetwork
-
-[androidJvm]\
-abstract fun [disconnectFromCurrentNetwork](disconnect-from-current-network.md)(): [NetworkConnectionResult](../../com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection/-network-connection-api/index.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection/-network-connection-api/index.md
deleted file mode 100644
index ad9109ff..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection/-network-connection-api/index.md
+++ /dev/null
@@ -1,25 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection](../index.md)/[NetworkConnectionApi](index.md)
-
-# NetworkConnectionApi
-
-[androidJvm]\
-interface [NetworkConnectionApi](index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [connectToNetwork](connect-to-network.md) | [androidJvm]
abstract fun [connectToNetwork](connect-to-network.md)(ssidToConnectTo: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [NetworkConnectionResult](../../com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/index.md) |
-| [disconnectFromCurrentNetwork](disconnect-from-current-network.md) | [androidJvm]
abstract fun [disconnectFromCurrentNetwork](disconnect-from-current-network.md)(): [NetworkConnectionResult](../../com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/index.md) |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [WisefyApi](../../com.isupatches.android.wisefy/-wisefy-api/index.md) |
-| [NetworkConnectionUtil](../-network-connection-util/index.md) |
-| [Android29NetworkConnectionDelegate](../../com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-delegate/index.md) |
-| [LegacyNetworkConnectionDelegate](../../com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-delegate/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection/-network-connection-util/index.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection/-network-connection-util/index.md
deleted file mode 100644
index 616ed92e..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection/-network-connection-util/index.md
+++ /dev/null
@@ -1,22 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection](../index.md)/[NetworkConnectionUtil](index.md)
-
-# NetworkConnectionUtil
-
-[androidJvm]\
-internal interface [NetworkConnectionUtil](index.md) : [NetworkConnectionApi](../-network-connection-api/index.md), [NetworkConnectionApiAsync](../-network-connection-api-async/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [connectToNetwork](../-network-connection-api/connect-to-network.md) | [androidJvm]
abstract fun [connectToNetwork](../-network-connection-api/connect-to-network.md)(ssidToConnectTo: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [NetworkConnectionResult](../../com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/index.md)
abstract fun [connectToNetwork](../-network-connection-api-async/connect-to-network.md)(ssidToConnectTo: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), callbacks: [ConnectToNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-connect-to-network-callbacks/index.md)?) |
-| [disconnectFromCurrentNetwork](../-network-connection-api/disconnect-from-current-network.md) | [androidJvm]
abstract fun [disconnectFromCurrentNetwork](../-network-connection-api/disconnect-from-current-network.md)(): [NetworkConnectionResult](../../com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/index.md)
abstract fun [disconnectFromCurrentNetwork](../-network-connection-api-async/disconnect-from-current-network.md)(callbacks: [DisconnectFromCurrentNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-disconnect-from-current-network-callbacks/index.md)?) |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [WisefyNetworkConnectionUtil](../-wisefy-network-connection-util/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-util/-wisefy-network-connection-util.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-util/-wisefy-network-connection-util.md
deleted file mode 100644
index 31479725..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-util/-wisefy-network-connection-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection](../index.md)/[WisefyNetworkConnectionUtil](index.md)/[WisefyNetworkConnectionUtil](-wisefy-network-connection-util.md)
-
-# WisefyNetworkConnectionUtil
-
-[androidJvm]\
-fun [WisefyNetworkConnectionUtil](-wisefy-network-connection-util.md)(coroutineDispatcherProvider: [CoroutineDispatcherProvider](../../com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/index.md), connectivityManager: [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html), logger: [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?, networkConnectionStatusUtil: [NetworkConnectionStatusUtil](../../com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-util/index.md), savedNetworkUtil: [SavedNetworkUtil](../../com.isupatches.android.wisefy.savednetworks/-saved-network-util/index.md), sdkUtil: [SdkUtil](../../com.isupatches.android.wisefy.util/-sdk-util/index.md), wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-util/connect-to-network.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-util/connect-to-network.md
deleted file mode 100644
index 73d0b555..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-util/connect-to-network.md
+++ /dev/null
@@ -1,8 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection](../index.md)/[WisefyNetworkConnectionUtil](index.md)/[connectToNetwork](connect-to-network.md)
-
-# connectToNetwork
-
-[androidJvm]\
-open override fun [connectToNetwork](connect-to-network.md)(ssidToConnectTo: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [NetworkConnectionResult](../../com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/index.md)
-
-open override fun [connectToNetwork](connect-to-network.md)(ssidToConnectTo: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), callbacks: [ConnectToNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-connect-to-network-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-util/coroutine-dispatcher-provider.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-util/coroutine-dispatcher-provider.md
deleted file mode 100644
index 7e600f8f..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-util/coroutine-dispatcher-provider.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection](../index.md)/[WisefyNetworkConnectionUtil](index.md)/[coroutineDispatcherProvider](coroutine-dispatcher-provider.md)
-
-# coroutineDispatcherProvider
-
-[androidJvm]\
-private val [coroutineDispatcherProvider](coroutine-dispatcher-provider.md): [CoroutineDispatcherProvider](../../com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-util/delegate.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-util/delegate.md
deleted file mode 100644
index 3d64251c..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-util/delegate.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection](../index.md)/[WisefyNetworkConnectionUtil](index.md)/[delegate](delegate.md)
-
-# delegate
-
-[androidJvm]\
-private val [delegate](delegate.md): [NetworkConnectionApi](../-network-connection-api/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-util/disconnect-from-current-network.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-util/disconnect-from-current-network.md
deleted file mode 100644
index c468c2c9..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-util/disconnect-from-current-network.md
+++ /dev/null
@@ -1,8 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection](../index.md)/[WisefyNetworkConnectionUtil](index.md)/[disconnectFromCurrentNetwork](disconnect-from-current-network.md)
-
-# disconnectFromCurrentNetwork
-
-[androidJvm]\
-open override fun [disconnectFromCurrentNetwork](disconnect-from-current-network.md)(): [NetworkConnectionResult](../../com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/index.md)
-
-open override fun [disconnectFromCurrentNetwork](disconnect-from-current-network.md)(callbacks: [DisconnectFromCurrentNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-disconnect-from-current-network-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-util/index.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-util/index.md
deleted file mode 100644
index a20fe181..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-util/index.md
+++ /dev/null
@@ -1,24 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection](../index.md)/[WisefyNetworkConnectionUtil](index.md)
-
-# WisefyNetworkConnectionUtil
-
-[androidJvm]\
-internal class [WisefyNetworkConnectionUtil](index.md)(**coroutineDispatcherProvider**: [CoroutineDispatcherProvider](../../com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/index.md), **connectivityManager**: [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html), **logger**: [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?, **networkConnectionStatusUtil**: [NetworkConnectionStatusUtil](../../com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-util/index.md), **savedNetworkUtil**: [SavedNetworkUtil](../../com.isupatches.android.wisefy.savednetworks/-saved-network-util/index.md), **sdkUtil**: [SdkUtil](../../com.isupatches.android.wisefy.util/-sdk-util/index.md), **wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)) : [NetworkConnectionUtil](../-network-connection-util/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [connectToNetwork](connect-to-network.md) | [androidJvm]
open override fun [connectToNetwork](connect-to-network.md)(ssidToConnectTo: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [NetworkConnectionResult](../../com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/index.md)
open override fun [connectToNetwork](connect-to-network.md)(ssidToConnectTo: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), callbacks: [ConnectToNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-connect-to-network-callbacks/index.md)?) |
-| [disconnectFromCurrentNetwork](disconnect-from-current-network.md) | [androidJvm]
open override fun [disconnectFromCurrentNetwork](disconnect-from-current-network.md)(): [NetworkConnectionResult](../../com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/index.md)
open override fun [disconnectFromCurrentNetwork](disconnect-from-current-network.md)(callbacks: [DisconnectFromCurrentNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-disconnect-from-current-network-callbacks/index.md)?) |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [coroutineDispatcherProvider](coroutine-dispatcher-provider.md) | [androidJvm]
private val [coroutineDispatcherProvider](coroutine-dispatcher-provider.md): [CoroutineDispatcherProvider](../../com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/index.md) |
-| [delegate](delegate.md) | [androidJvm]
private val [delegate](delegate.md): [NetworkConnectionApi](../-network-connection-api/index.md) |
-| [networkConnectionScope](network-connection-scope.md) | [androidJvm]
private val [networkConnectionScope](network-connection-scope.md): CoroutineScope |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-util/network-connection-scope.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-util/network-connection-scope.md
deleted file mode 100644
index 40ffc366..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-util/network-connection-scope.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnection](../index.md)/[WisefyNetworkConnectionUtil](index.md)/[networkConnectionScope](network-connection-scope.md)
-
-# networkConnectionScope
-
-[androidJvm]\
-private val [networkConnectionScope](network-connection-scope.md): CoroutineScope
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection/index.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnection/index.md
deleted file mode 100644
index 83bf3d8c..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnection/index.md
+++ /dev/null
@@ -1,18 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.networkconnection](index.md)
-
-# Package com.isupatches.android.wisefy.networkconnection
-
-## Types
-
-| Name | Summary |
-|---|---|
-| [NetworkConnectionApi](-network-connection-api/index.md) | [androidJvm]
interface [NetworkConnectionApi](-network-connection-api/index.md) |
-| [NetworkConnectionApiAsync](-network-connection-api-async/index.md) | [androidJvm]
interface [NetworkConnectionApiAsync](-network-connection-api-async/index.md) |
-| [NetworkConnectionUtil](-network-connection-util/index.md) | [androidJvm]
internal interface [NetworkConnectionUtil](-network-connection-util/index.md) : [NetworkConnectionApi](-network-connection-api/index.md), [NetworkConnectionApiAsync](-network-connection-api-async/index.md) |
-| [WisefyNetworkConnectionUtil](-wisefy-network-connection-util/index.md) | [androidJvm]
internal class [WisefyNetworkConnectionUtil](-wisefy-network-connection-util/index.md)(**coroutineDispatcherProvider**: [CoroutineDispatcherProvider](../com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/index.md), **connectivityManager**: [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html), **logger**: [WisefyLogger](../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?, **networkConnectionStatusUtil**: [NetworkConnectionStatusUtil](../com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-util/index.md), **savedNetworkUtil**: [SavedNetworkUtil](../com.isupatches.android.wisefy.savednetworks/-saved-network-util/index.md), **sdkUtil**: [SdkUtil](../com.isupatches.android.wisefy.util/-sdk-util/index.md), **wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)) : [NetworkConnectionUtil](-network-connection-util/index.md) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [LOG_TAG](-l-o-g_-t-a-g.md) | [androidJvm]
private const val [LOG_TAG](-l-o-g_-t-a-g.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-l-o-g_-t-a-g.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-l-o-g_-t-a-g.md
deleted file mode 100644
index 2b154bd7..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-l-o-g_-t-a-g.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.delegates](index.md)/[LOG_TAG](-l-o-g_-t-a-g.md)
-
-# LOG_TAG
-
-[androidJvm]\
-private const val [LOG_TAG](-l-o-g_-t-a-g.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/-legacy-network-connection-status-api-impl.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/-legacy-network-connection-status-api-impl.md
deleted file mode 100644
index f94c7f20..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/-legacy-network-connection-status-api-impl.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.delegates](../index.md)/[LegacyNetworkConnectionStatusApiImpl](index.md)/[LegacyNetworkConnectionStatusApiImpl](-legacy-network-connection-status-api-impl.md)
-
-# LegacyNetworkConnectionStatusApiImpl
-
-[androidJvm]\
-fun [LegacyNetworkConnectionStatusApiImpl](-legacy-network-connection-status-api-impl.md)(wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), connectivityManager: [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html), sdkUtil: [SdkUtil](../../com.isupatches.android.wisefy.util/-sdk-util/index.md), logger: [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/attach-network-watcher.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/attach-network-watcher.md
deleted file mode 100644
index d36a2065..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/attach-network-watcher.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.delegates](../index.md)/[LegacyNetworkConnectionStatusApiImpl](index.md)/[attachNetworkWatcher](attach-network-watcher.md)
-
-# attachNetworkWatcher
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
-
-open override fun [attachNetworkWatcher](attach-network-watcher.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/connection-status.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/connection-status.md
deleted file mode 100644
index f6533a5f..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/connection-status.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.delegates](../index.md)/[LegacyNetworkConnectionStatusApiImpl](index.md)/[connectionStatus](connection-status.md)
-
-# connectionStatus
-
-[androidJvm]\
-private var [connectionStatus](connection-status.md): [NetworkConnectionStatus](../../com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/index.md)? = null
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/connectivity-manager.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/connectivity-manager.md
deleted file mode 100644
index 19c254b2..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/connectivity-manager.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.delegates](../index.md)/[LegacyNetworkConnectionStatusApiImpl](index.md)/[connectivityManager](connectivity-manager.md)
-
-# connectivityManager
-
-[androidJvm]\
-private val [connectivityManager](connectivity-manager.md): [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/detach-network-watcher.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/detach-network-watcher.md
deleted file mode 100644
index 3366d8f4..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/detach-network-watcher.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.delegates](../index.md)/[LegacyNetworkConnectionStatusApiImpl](index.md)/[detachNetworkWatcher](detach-network-watcher.md)
-
-# detachNetworkWatcher
-
-[androidJvm]\
-open override fun [detachNetworkWatcher](detach-network-watcher.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/does-network-have-capability.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/does-network-have-capability.md
deleted file mode 100644
index b8d2e19c..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/does-network-have-capability.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.delegates](../index.md)/[LegacyNetworkConnectionStatusApiImpl](index.md)/[doesNetworkHaveCapability](does-network-have-capability.md)
-
-# doesNetworkHaveCapability
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
-
-private fun [doesNetworkHaveCapability](does-network-have-capability.md)(capability: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/does-network-have-transport-type-and-internet-capability.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/does-network-have-transport-type-and-internet-capability.md
deleted file mode 100644
index facbb8e0..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/does-network-have-transport-type-and-internet-capability.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.delegates](../index.md)/[LegacyNetworkConnectionStatusApiImpl](index.md)/[doesNetworkHaveTransportTypeAndInternetCapability](does-network-have-transport-type-and-internet-capability.md)
-
-# doesNetworkHaveTransportTypeAndInternetCapability
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
-
-private fun [doesNetworkHaveTransportTypeAndInternetCapability](does-network-have-transport-type-and-internet-capability.md)(transportType: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/get-active-network-capabilities.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/get-active-network-capabilities.md
deleted file mode 100644
index e19efe87..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/get-active-network-capabilities.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.delegates](../index.md)/[LegacyNetworkConnectionStatusApiImpl](index.md)/[getActiveNetworkCapabilities](get-active-network-capabilities.md)
-
-# getActiveNetworkCapabilities
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
-
-private fun [getActiveNetworkCapabilities](get-active-network-capabilities.md)(): [NetworkCapabilities](https://developer.android.com/reference/kotlin/android/net/NetworkCapabilities.html)?
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/index.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/index.md
deleted file mode 100644
index 8289d47b..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/index.md
+++ /dev/null
@@ -1,44 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.delegates](../index.md)/[LegacyNetworkConnectionStatusApiImpl](index.md)
-
-# LegacyNetworkConnectionStatusApiImpl
-
-[androidJvm]\
-internal class [LegacyNetworkConnectionStatusApiImpl](index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), **connectivityManager**: [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html), **sdkUtil**: [SdkUtil](../../com.isupatches.android.wisefy.util/-sdk-util/index.md), **logger**: [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?) : [ConnectivityManager.NetworkCallback](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.NetworkCallback.html), [LegacyNetworkConnectionStatusApi](../-legacy-network-connection-status-api/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [attachNetworkWatcher](attach-network-watcher.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
open override fun [attachNetworkWatcher](attach-network-watcher.md)() |
-| [detachNetworkWatcher](detach-network-watcher.md) | [androidJvm]
open override fun [detachNetworkWatcher](detach-network-watcher.md)() |
-| [doesNetworkHaveCapability](does-network-have-capability.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
private fun [doesNetworkHaveCapability](does-network-have-capability.md)(capability: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [doesNetworkHaveTransportTypeAndInternetCapability](does-network-have-transport-type-and-internet-capability.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
private fun [doesNetworkHaveTransportTypeAndInternetCapability](does-network-have-transport-type-and-internet-capability.md)(transportType: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [getActiveNetworkCapabilities](get-active-network-capabilities.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
private fun [getActiveNetworkCapabilities](get-active-network-capabilities.md)(): [NetworkCapabilities](https://developer.android.com/reference/kotlin/android/net/NetworkCapabilities.html)? |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [isDeviceConnectedToMobileNetwork](is-device-connected-to-mobile-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
open override fun [isDeviceConnectedToMobileNetwork](is-device-connected-to-mobile-network.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isDeviceConnectedToMobileOrWifiNetwork](is-device-connected-to-mobile-or-wifi-network.md) | [androidJvm]
open override fun [isDeviceConnectedToMobileOrWifiNetwork](is-device-connected-to-mobile-or-wifi-network.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isDeviceConnectedToSSID](is-device-connected-to-s-s-i-d.md) | [androidJvm]
open override fun [isDeviceConnectedToSSID](is-device-connected-to-s-s-i-d.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isDeviceConnectedToWifiNetwork](is-device-connected-to-wifi-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
open override fun [isDeviceConnectedToWifiNetwork](is-device-connected-to-wifi-network.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isDeviceRoaming](is-device-roaming.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
open override fun [isDeviceRoaming](is-device-roaming.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkConnected](is-network-connected.md) | [androidJvm]
private fun [isNetworkConnected](is-network-connected.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [onAvailable](on-available.md) | [androidJvm]
open override fun [onAvailable](on-available.md)(network: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html)) |
-| [onBlockedStatusChanged](index.md#1004516195%2FFunctions%2F1622544596) | [androidJvm]
open fun [onBlockedStatusChanged](index.md#1004516195%2FFunctions%2F1622544596)(p0: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html), p1: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)) |
-| [onCapabilitiesChanged](on-capabilities-changed.md) | [androidJvm]
open override fun [onCapabilitiesChanged](on-capabilities-changed.md)(network: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html), networkCapabilities: [NetworkCapabilities](https://developer.android.com/reference/kotlin/android/net/NetworkCapabilities.html)) |
-| [onLinkPropertiesChanged](on-link-properties-changed.md) | [androidJvm]
open override fun [onLinkPropertiesChanged](on-link-properties-changed.md)(network: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html), linkProperties: [LinkProperties](https://developer.android.com/reference/kotlin/android/net/LinkProperties.html)) |
-| [onLosing](on-losing.md) | [androidJvm]
open override fun [onLosing](on-losing.md)(network: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html), maxMsToLive: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)) |
-| [onLost](on-lost.md) | [androidJvm]
open override fun [onLost](on-lost.md)(network: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html)) |
-| [onUnavailable](on-unavailable.md) | [androidJvm]
open override fun [onUnavailable](on-unavailable.md)() |
-| [startListeningForNetworkChanges](start-listening-for-network-changes.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
private fun [startListeningForNetworkChanges](start-listening-for-network-changes.md)(connectivityManager: [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html)) |
-| [stopListeningForNetworkChanges](stop-listening-for-network-changes.md) | [androidJvm]
private fun [stopListeningForNetworkChanges](stop-listening-for-network-changes.md)(connectivityManager: [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html)) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [connectionStatus](connection-status.md) | [androidJvm]
private var [connectionStatus](connection-status.md): [NetworkConnectionStatus](../../com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/index.md)? = null |
-| [connectivityManager](connectivity-manager.md) | [androidJvm]
private val [connectivityManager](connectivity-manager.md): [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html) |
-| [logger](logger.md) | [androidJvm]
private val [logger](logger.md): [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)? |
-| [sdkUtil](sdk-util.md) | [androidJvm]
private val [sdkUtil](sdk-util.md): [SdkUtil](../../com.isupatches.android.wisefy.util/-sdk-util/index.md) |
-| [wifiManager](wifi-manager.md) | [androidJvm]
private val [wifiManager](wifi-manager.md): [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/is-device-connected-to-mobile-network.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/is-device-connected-to-mobile-network.md
deleted file mode 100644
index 8facfc0f..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/is-device-connected-to-mobile-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.delegates](../index.md)/[LegacyNetworkConnectionStatusApiImpl](index.md)/[isDeviceConnectedToMobileNetwork](is-device-connected-to-mobile-network.md)
-
-# isDeviceConnectedToMobileNetwork
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
-
-open override fun [isDeviceConnectedToMobileNetwork](is-device-connected-to-mobile-network.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/is-device-connected-to-mobile-or-wifi-network.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/is-device-connected-to-mobile-or-wifi-network.md
deleted file mode 100644
index eec1ea24..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/is-device-connected-to-mobile-or-wifi-network.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.delegates](../index.md)/[LegacyNetworkConnectionStatusApiImpl](index.md)/[isDeviceConnectedToMobileOrWifiNetwork](is-device-connected-to-mobile-or-wifi-network.md)
-
-# isDeviceConnectedToMobileOrWifiNetwork
-
-[androidJvm]\
-open override fun [isDeviceConnectedToMobileOrWifiNetwork](is-device-connected-to-mobile-or-wifi-network.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/is-device-connected-to-s-s-i-d.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/is-device-connected-to-s-s-i-d.md
deleted file mode 100644
index 674a26bd..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/is-device-connected-to-s-s-i-d.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.delegates](../index.md)/[LegacyNetworkConnectionStatusApiImpl](index.md)/[isDeviceConnectedToSSID](is-device-connected-to-s-s-i-d.md)
-
-# isDeviceConnectedToSSID
-
-[androidJvm]\
-open override fun [isDeviceConnectedToSSID](is-device-connected-to-s-s-i-d.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/is-device-connected-to-wifi-network.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/is-device-connected-to-wifi-network.md
deleted file mode 100644
index 0b25af7f..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/is-device-connected-to-wifi-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.delegates](../index.md)/[LegacyNetworkConnectionStatusApiImpl](index.md)/[isDeviceConnectedToWifiNetwork](is-device-connected-to-wifi-network.md)
-
-# isDeviceConnectedToWifiNetwork
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
-
-open override fun [isDeviceConnectedToWifiNetwork](is-device-connected-to-wifi-network.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/is-device-roaming.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/is-device-roaming.md
deleted file mode 100644
index d8f782ea..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/is-device-roaming.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.delegates](../index.md)/[LegacyNetworkConnectionStatusApiImpl](index.md)/[isDeviceRoaming](is-device-roaming.md)
-
-# isDeviceRoaming
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
-
-open override fun [isDeviceRoaming](is-device-roaming.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/is-network-connected.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/is-network-connected.md
deleted file mode 100644
index 2885d07b..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/is-network-connected.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.delegates](../index.md)/[LegacyNetworkConnectionStatusApiImpl](index.md)/[isNetworkConnected](is-network-connected.md)
-
-# isNetworkConnected
-
-[androidJvm]\
-private fun [isNetworkConnected](is-network-connected.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/logger.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/logger.md
deleted file mode 100644
index fbb4d11b..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/logger.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.delegates](../index.md)/[LegacyNetworkConnectionStatusApiImpl](index.md)/[logger](logger.md)
-
-# logger
-
-[androidJvm]\
-private val [logger](logger.md): [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/on-available.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/on-available.md
deleted file mode 100644
index 272912b9..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/on-available.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.delegates](../index.md)/[LegacyNetworkConnectionStatusApiImpl](index.md)/[onAvailable](on-available.md)
-
-# onAvailable
-
-[androidJvm]\
-open override fun [onAvailable](on-available.md)(network: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/on-capabilities-changed.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/on-capabilities-changed.md
deleted file mode 100644
index 18b870f5..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/on-capabilities-changed.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.delegates](../index.md)/[LegacyNetworkConnectionStatusApiImpl](index.md)/[onCapabilitiesChanged](on-capabilities-changed.md)
-
-# onCapabilitiesChanged
-
-[androidJvm]\
-open override fun [onCapabilitiesChanged](on-capabilities-changed.md)(network: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html), networkCapabilities: [NetworkCapabilities](https://developer.android.com/reference/kotlin/android/net/NetworkCapabilities.html))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/on-link-properties-changed.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/on-link-properties-changed.md
deleted file mode 100644
index 2043a8cd..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/on-link-properties-changed.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.delegates](../index.md)/[LegacyNetworkConnectionStatusApiImpl](index.md)/[onLinkPropertiesChanged](on-link-properties-changed.md)
-
-# onLinkPropertiesChanged
-
-[androidJvm]\
-open override fun [onLinkPropertiesChanged](on-link-properties-changed.md)(network: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html), linkProperties: [LinkProperties](https://developer.android.com/reference/kotlin/android/net/LinkProperties.html))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/on-losing.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/on-losing.md
deleted file mode 100644
index 6d8c2c22..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/on-losing.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.delegates](../index.md)/[LegacyNetworkConnectionStatusApiImpl](index.md)/[onLosing](on-losing.md)
-
-# onLosing
-
-[androidJvm]\
-open override fun [onLosing](on-losing.md)(network: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html), maxMsToLive: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/on-lost.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/on-lost.md
deleted file mode 100644
index 9ae7a9d9..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/on-lost.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.delegates](../index.md)/[LegacyNetworkConnectionStatusApiImpl](index.md)/[onLost](on-lost.md)
-
-# onLost
-
-[androidJvm]\
-open override fun [onLost](on-lost.md)(network: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/on-unavailable.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/on-unavailable.md
deleted file mode 100644
index 7ec64712..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/on-unavailable.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.delegates](../index.md)/[LegacyNetworkConnectionStatusApiImpl](index.md)/[onUnavailable](on-unavailable.md)
-
-# onUnavailable
-
-[androidJvm]\
-open override fun [onUnavailable](on-unavailable.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/sdk-util.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/sdk-util.md
deleted file mode 100644
index 5e94a31a..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/sdk-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.delegates](../index.md)/[LegacyNetworkConnectionStatusApiImpl](index.md)/[sdkUtil](sdk-util.md)
-
-# sdkUtil
-
-[androidJvm]\
-private val [sdkUtil](sdk-util.md): [SdkUtil](../../com.isupatches.android.wisefy.util/-sdk-util/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/start-listening-for-network-changes.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/start-listening-for-network-changes.md
deleted file mode 100644
index c3aea5b1..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/start-listening-for-network-changes.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.delegates](../index.md)/[LegacyNetworkConnectionStatusApiImpl](index.md)/[startListeningForNetworkChanges](start-listening-for-network-changes.md)
-
-# startListeningForNetworkChanges
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
-
-private fun [startListeningForNetworkChanges](start-listening-for-network-changes.md)(connectivityManager: [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/stop-listening-for-network-changes.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/stop-listening-for-network-changes.md
deleted file mode 100644
index 3b434af9..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/stop-listening-for-network-changes.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.delegates](../index.md)/[LegacyNetworkConnectionStatusApiImpl](index.md)/[stopListeningForNetworkChanges](stop-listening-for-network-changes.md)
-
-# stopListeningForNetworkChanges
-
-[androidJvm]\
-private fun [stopListeningForNetworkChanges](stop-listening-for-network-changes.md)(connectivityManager: [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/wifi-manager.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/wifi-manager.md
deleted file mode 100644
index 7f715168..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/wifi-manager.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.delegates](../index.md)/[LegacyNetworkConnectionStatusApiImpl](index.md)/[wifiManager](wifi-manager.md)
-
-# wifiManager
-
-[androidJvm]\
-private val [wifiManager](wifi-manager.md): [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api/attach-network-watcher.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api/attach-network-watcher.md
deleted file mode 100644
index 194abc4d..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api/attach-network-watcher.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.delegates](../index.md)/[LegacyNetworkConnectionStatusApi](index.md)/[attachNetworkWatcher](attach-network-watcher.md)
-
-# attachNetworkWatcher
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
-
-abstract fun [attachNetworkWatcher](attach-network-watcher.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api/detach-network-watcher.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api/detach-network-watcher.md
deleted file mode 100644
index 8c8355b7..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api/detach-network-watcher.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.delegates](../index.md)/[LegacyNetworkConnectionStatusApi](index.md)/[detachNetworkWatcher](detach-network-watcher.md)
-
-# detachNetworkWatcher
-
-[androidJvm]\
-abstract fun [detachNetworkWatcher](detach-network-watcher.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api/index.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api/index.md
deleted file mode 100644
index b98c1e27..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api/index.md
+++ /dev/null
@@ -1,27 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.delegates](../index.md)/[LegacyNetworkConnectionStatusApi](index.md)
-
-# LegacyNetworkConnectionStatusApi
-
-[androidJvm]\
-internal interface [LegacyNetworkConnectionStatusApi](index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [attachNetworkWatcher](attach-network-watcher.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
abstract fun [attachNetworkWatcher](attach-network-watcher.md)() |
-| [detachNetworkWatcher](detach-network-watcher.md) | [androidJvm]
abstract fun [detachNetworkWatcher](detach-network-watcher.md)() |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [isDeviceConnectedToMobileNetwork](is-device-connected-to-mobile-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
abstract fun [isDeviceConnectedToMobileNetwork](is-device-connected-to-mobile-network.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isDeviceConnectedToMobileOrWifiNetwork](is-device-connected-to-mobile-or-wifi-network.md) | [androidJvm]
abstract fun [isDeviceConnectedToMobileOrWifiNetwork](is-device-connected-to-mobile-or-wifi-network.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isDeviceConnectedToSSID](is-device-connected-to-s-s-i-d.md) | [androidJvm]
abstract fun [isDeviceConnectedToSSID](is-device-connected-to-s-s-i-d.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isDeviceConnectedToWifiNetwork](is-device-connected-to-wifi-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
abstract fun [isDeviceConnectedToWifiNetwork](is-device-connected-to-wifi-network.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isDeviceRoaming](is-device-roaming.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
abstract fun [isDeviceRoaming](is-device-roaming.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [LegacyNetworkConnectionStatusApiImpl](../-legacy-network-connection-status-api-impl/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api/is-device-connected-to-mobile-network.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api/is-device-connected-to-mobile-network.md
deleted file mode 100644
index df601381..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api/is-device-connected-to-mobile-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.delegates](../index.md)/[LegacyNetworkConnectionStatusApi](index.md)/[isDeviceConnectedToMobileNetwork](is-device-connected-to-mobile-network.md)
-
-# isDeviceConnectedToMobileNetwork
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
-
-abstract fun [isDeviceConnectedToMobileNetwork](is-device-connected-to-mobile-network.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api/is-device-connected-to-mobile-or-wifi-network.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api/is-device-connected-to-mobile-or-wifi-network.md
deleted file mode 100644
index e14437e5..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api/is-device-connected-to-mobile-or-wifi-network.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.delegates](../index.md)/[LegacyNetworkConnectionStatusApi](index.md)/[isDeviceConnectedToMobileOrWifiNetwork](is-device-connected-to-mobile-or-wifi-network.md)
-
-# isDeviceConnectedToMobileOrWifiNetwork
-
-[androidJvm]\
-abstract fun [isDeviceConnectedToMobileOrWifiNetwork](is-device-connected-to-mobile-or-wifi-network.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api/is-device-connected-to-s-s-i-d.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api/is-device-connected-to-s-s-i-d.md
deleted file mode 100644
index 61bcb077..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api/is-device-connected-to-s-s-i-d.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.delegates](../index.md)/[LegacyNetworkConnectionStatusApi](index.md)/[isDeviceConnectedToSSID](is-device-connected-to-s-s-i-d.md)
-
-# isDeviceConnectedToSSID
-
-[androidJvm]\
-abstract fun [isDeviceConnectedToSSID](is-device-connected-to-s-s-i-d.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api/is-device-connected-to-wifi-network.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api/is-device-connected-to-wifi-network.md
deleted file mode 100644
index afb78128..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api/is-device-connected-to-wifi-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.delegates](../index.md)/[LegacyNetworkConnectionStatusApi](index.md)/[isDeviceConnectedToWifiNetwork](is-device-connected-to-wifi-network.md)
-
-# isDeviceConnectedToWifiNetwork
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
-
-abstract fun [isDeviceConnectedToWifiNetwork](is-device-connected-to-wifi-network.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api/is-device-roaming.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api/is-device-roaming.md
deleted file mode 100644
index 552ed8f5..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api/is-device-roaming.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.delegates](../index.md)/[LegacyNetworkConnectionStatusApi](index.md)/[isDeviceRoaming](is-device-roaming.md)
-
-# isDeviceRoaming
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
-
-abstract fun [isDeviceRoaming](is-device-roaming.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-delegate/-legacy-network-connection-status-delegate.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-delegate/-legacy-network-connection-status-delegate.md
deleted file mode 100644
index cd5da054..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-delegate/-legacy-network-connection-status-delegate.md
+++ /dev/null
@@ -1,11 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.delegates](../index.md)/[LegacyNetworkConnectionStatusDelegate](index.md)/[LegacyNetworkConnectionStatusDelegate](-legacy-network-connection-status-delegate.md)
-
-# LegacyNetworkConnectionStatusDelegate
-
-[androidJvm]\
-fun [LegacyNetworkConnectionStatusDelegate](-legacy-network-connection-status-delegate.md)(connectivityManager: [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html), wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), sdkUtil: [SdkUtil](../../com.isupatches.android.wisefy.util/-sdk-util/index.md), logger: [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?, impl: [LegacyNetworkConnectionStatusApi](../-legacy-network-connection-status-api/index.md) = LegacyNetworkConnectionStatusApiImpl(
- wifiManager,
- connectivityManager,
- sdkUtil,
- logger
- ))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-delegate/attach-network-watcher.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-delegate/attach-network-watcher.md
deleted file mode 100644
index 0d934e1f..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-delegate/attach-network-watcher.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.delegates](../index.md)/[LegacyNetworkConnectionStatusDelegate](index.md)/[attachNetworkWatcher](attach-network-watcher.md)
-
-# attachNetworkWatcher
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
-
-open override fun [attachNetworkWatcher](attach-network-watcher.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-delegate/detach-network-watcher.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-delegate/detach-network-watcher.md
deleted file mode 100644
index b5a435f3..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-delegate/detach-network-watcher.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.delegates](../index.md)/[LegacyNetworkConnectionStatusDelegate](index.md)/[detachNetworkWatcher](detach-network-watcher.md)
-
-# detachNetworkWatcher
-
-[androidJvm]\
-open override fun [detachNetworkWatcher](detach-network-watcher.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-delegate/impl.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-delegate/impl.md
deleted file mode 100644
index 5af41ca0..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-delegate/impl.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.delegates](../index.md)/[LegacyNetworkConnectionStatusDelegate](index.md)/[impl](impl.md)
-
-# impl
-
-[androidJvm]\
-private val [impl](impl.md): [LegacyNetworkConnectionStatusApi](../-legacy-network-connection-status-api/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-delegate/index.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-delegate/index.md
deleted file mode 100644
index 0c40dd1a..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-delegate/index.md
+++ /dev/null
@@ -1,27 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.delegates](../index.md)/[LegacyNetworkConnectionStatusDelegate](index.md)
-
-# LegacyNetworkConnectionStatusDelegate
-
-[androidJvm]\
-internal class [LegacyNetworkConnectionStatusDelegate](index.md)(**connectivityManager**: [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html), **wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), **sdkUtil**: [SdkUtil](../../com.isupatches.android.wisefy.util/-sdk-util/index.md), **logger**: [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?, **impl**: [LegacyNetworkConnectionStatusApi](../-legacy-network-connection-status-api/index.md)) : [NetworkConnectionStatusApi](../../com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [attachNetworkWatcher](attach-network-watcher.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
open override fun [attachNetworkWatcher](attach-network-watcher.md)() |
-| [detachNetworkWatcher](detach-network-watcher.md) | [androidJvm]
open override fun [detachNetworkWatcher](detach-network-watcher.md)() |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [isDeviceConnectedToMobileNetwork](is-device-connected-to-mobile-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
open override fun [isDeviceConnectedToMobileNetwork](is-device-connected-to-mobile-network.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isDeviceConnectedToMobileOrWifiNetwork](is-device-connected-to-mobile-or-wifi-network.md) | [androidJvm]
open override fun [isDeviceConnectedToMobileOrWifiNetwork](is-device-connected-to-mobile-or-wifi-network.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isDeviceConnectedToSSID](is-device-connected-to-s-s-i-d.md) | [androidJvm]
open override fun [isDeviceConnectedToSSID](is-device-connected-to-s-s-i-d.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isDeviceConnectedToWifiNetwork](is-device-connected-to-wifi-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
open override fun [isDeviceConnectedToWifiNetwork](is-device-connected-to-wifi-network.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isDeviceRoaming](is-device-roaming.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
open override fun [isDeviceRoaming](is-device-roaming.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [impl](impl.md) | [androidJvm]
private val [impl](impl.md): [LegacyNetworkConnectionStatusApi](../-legacy-network-connection-status-api/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-delegate/is-device-connected-to-mobile-network.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-delegate/is-device-connected-to-mobile-network.md
deleted file mode 100644
index 1f97393b..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-delegate/is-device-connected-to-mobile-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.delegates](../index.md)/[LegacyNetworkConnectionStatusDelegate](index.md)/[isDeviceConnectedToMobileNetwork](is-device-connected-to-mobile-network.md)
-
-# isDeviceConnectedToMobileNetwork
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
-
-open override fun [isDeviceConnectedToMobileNetwork](is-device-connected-to-mobile-network.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-delegate/is-device-connected-to-mobile-or-wifi-network.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-delegate/is-device-connected-to-mobile-or-wifi-network.md
deleted file mode 100644
index a973f635..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-delegate/is-device-connected-to-mobile-or-wifi-network.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.delegates](../index.md)/[LegacyNetworkConnectionStatusDelegate](index.md)/[isDeviceConnectedToMobileOrWifiNetwork](is-device-connected-to-mobile-or-wifi-network.md)
-
-# isDeviceConnectedToMobileOrWifiNetwork
-
-[androidJvm]\
-open override fun [isDeviceConnectedToMobileOrWifiNetwork](is-device-connected-to-mobile-or-wifi-network.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-delegate/is-device-connected-to-s-s-i-d.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-delegate/is-device-connected-to-s-s-i-d.md
deleted file mode 100644
index 1f61282e..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-delegate/is-device-connected-to-s-s-i-d.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.delegates](../index.md)/[LegacyNetworkConnectionStatusDelegate](index.md)/[isDeviceConnectedToSSID](is-device-connected-to-s-s-i-d.md)
-
-# isDeviceConnectedToSSID
-
-[androidJvm]\
-open override fun [isDeviceConnectedToSSID](is-device-connected-to-s-s-i-d.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-delegate/is-device-connected-to-wifi-network.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-delegate/is-device-connected-to-wifi-network.md
deleted file mode 100644
index 495e5d7d..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-delegate/is-device-connected-to-wifi-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.delegates](../index.md)/[LegacyNetworkConnectionStatusDelegate](index.md)/[isDeviceConnectedToWifiNetwork](is-device-connected-to-wifi-network.md)
-
-# isDeviceConnectedToWifiNetwork
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
-
-open override fun [isDeviceConnectedToWifiNetwork](is-device-connected-to-wifi-network.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-delegate/is-device-roaming.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-delegate/is-device-roaming.md
deleted file mode 100644
index 2f0bb1cc..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-delegate/is-device-roaming.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.delegates](../index.md)/[LegacyNetworkConnectionStatusDelegate](index.md)/[isDeviceRoaming](is-device-roaming.md)
-
-# isDeviceRoaming
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
-
-open override fun [isDeviceRoaming](is-device-roaming.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/index.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/index.md
deleted file mode 100644
index 79ef42ab..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/index.md
+++ /dev/null
@@ -1,17 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.delegates](index.md)
-
-# Package com.isupatches.android.wisefy.networkconnectionstatus.delegates
-
-## Types
-
-| Name | Summary |
-|---|---|
-| [LegacyNetworkConnectionStatusApi](-legacy-network-connection-status-api/index.md) | [androidJvm]
internal interface [LegacyNetworkConnectionStatusApi](-legacy-network-connection-status-api/index.md) |
-| [LegacyNetworkConnectionStatusApiImpl](-legacy-network-connection-status-api-impl/index.md) | [androidJvm]
internal class [LegacyNetworkConnectionStatusApiImpl](-legacy-network-connection-status-api-impl/index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), **connectivityManager**: [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html), **sdkUtil**: [SdkUtil](../com.isupatches.android.wisefy.util/-sdk-util/index.md), **logger**: [WisefyLogger](../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?) : [ConnectivityManager.NetworkCallback](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.NetworkCallback.html), [LegacyNetworkConnectionStatusApi](-legacy-network-connection-status-api/index.md) |
-| [LegacyNetworkConnectionStatusDelegate](-legacy-network-connection-status-delegate/index.md) | [androidJvm]
internal class [LegacyNetworkConnectionStatusDelegate](-legacy-network-connection-status-delegate/index.md)(**connectivityManager**: [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html), **wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), **sdkUtil**: [SdkUtil](../com.isupatches.android.wisefy.util/-sdk-util/index.md), **logger**: [WisefyLogger](../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?, **impl**: [LegacyNetworkConnectionStatusApi](-legacy-network-connection-status-api/index.md)) : [NetworkConnectionStatusApi](../com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/index.md) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [LOG_TAG](-l-o-g_-t-a-g.md) | [androidJvm]
private const val [LOG_TAG](-l-o-g_-t-a-g.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-a-v-a-i-l-a-b-l-e/index.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-a-v-a-i-l-a-b-l-e/index.md
deleted file mode 100644
index 751796ef..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-a-v-a-i-l-a-b-l-e/index.md
+++ /dev/null
@@ -1,25 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.entities](../../index.md)/[NetworkConnectionStatus](../index.md)/[AVAILABLE](index.md)
-
-# AVAILABLE
-
-[androidJvm]\
-[AVAILABLE](index.md)()
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [clone](../-u-n-a-v-a-i-l-a-b-l-e/index.md#919483808%2FFunctions%2F1622544596) | [androidJvm]
protected fun [clone](../-u-n-a-v-a-i-l-a-b-l-e/index.md#919483808%2FFunctions%2F1622544596)(): [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html) |
-| [compareTo](../-u-n-a-v-a-i-l-a-b-l-e/index.md#695287834%2FFunctions%2F1622544596) | [androidJvm]
operator override fun [compareTo](../-u-n-a-v-a-i-l-a-b-l-e/index.md#695287834%2FFunctions%2F1622544596)(other: [NetworkConnectionStatus](../index.md)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [equals](../-u-n-a-v-a-i-l-a-b-l-e/index.md#-1009559292%2FFunctions%2F1622544596) | [androidJvm]
operator override fun [equals](../-u-n-a-v-a-i-l-a-b-l-e/index.md#-1009559292%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [finalize](../-u-n-a-v-a-i-l-a-b-l-e/index.md#-653876033%2FFunctions%2F1622544596) | [androidJvm]
fun [finalize](../-u-n-a-v-a-i-l-a-b-l-e/index.md#-653876033%2FFunctions%2F1622544596)() |
-| [getDeclaringClass](../-u-n-a-v-a-i-l-a-b-l-e/index.md#-131535050%2FFunctions%2F1622544596) | [androidJvm]
fun [getDeclaringClass](../-u-n-a-v-a-i-l-a-b-l-e/index.md#-131535050%2FFunctions%2F1622544596)(): [Class](https://developer.android.com/reference/kotlin/java/lang/Class.html)<[NetworkConnectionStatus](../index.md)> |
-| [hashCode](../-u-n-a-v-a-i-l-a-b-l-e/index.md#446421858%2FFunctions%2F1622544596) | [androidJvm]
override fun [hashCode](../-u-n-a-v-a-i-l-a-b-l-e/index.md#446421858%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../-u-n-a-v-a-i-l-a-b-l-e/index.md#268255793%2FFunctions%2F1622544596) | [androidJvm]
open override fun [toString](../-u-n-a-v-a-i-l-a-b-l-e/index.md#268255793%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [name](name.md) | [androidJvm]
val [name](name.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-| [ordinal](ordinal.md) | [androidJvm]
val [ordinal](ordinal.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-a-v-a-i-l-a-b-l-e/name.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-a-v-a-i-l-a-b-l-e/name.md
deleted file mode 100644
index 4b7ac1c0..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-a-v-a-i-l-a-b-l-e/name.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.entities](../../index.md)/[NetworkConnectionStatus](../index.md)/[AVAILABLE](index.md)/[name](name.md)
-
-# name
-
-[androidJvm]\
-val [name](name.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-a-v-a-i-l-a-b-l-e/ordinal.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-a-v-a-i-l-a-b-l-e/ordinal.md
deleted file mode 100644
index 9f988110..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-a-v-a-i-l-a-b-l-e/ordinal.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.entities](../../index.md)/[NetworkConnectionStatus](../index.md)/[AVAILABLE](index.md)/[ordinal](ordinal.md)
-
-# ordinal
-
-[androidJvm]\
-val [ordinal](ordinal.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-l-o-s-i-n-g/index.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-l-o-s-i-n-g/index.md
deleted file mode 100644
index 7b723a55..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-l-o-s-i-n-g/index.md
+++ /dev/null
@@ -1,25 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.entities](../../index.md)/[NetworkConnectionStatus](../index.md)/[LOSING](index.md)
-
-# LOSING
-
-[androidJvm]\
-[LOSING](index.md)()
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [clone](../-u-n-a-v-a-i-l-a-b-l-e/index.md#919483808%2FFunctions%2F1622544596) | [androidJvm]
protected fun [clone](../-u-n-a-v-a-i-l-a-b-l-e/index.md#919483808%2FFunctions%2F1622544596)(): [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html) |
-| [compareTo](../-u-n-a-v-a-i-l-a-b-l-e/index.md#695287834%2FFunctions%2F1622544596) | [androidJvm]
operator override fun [compareTo](../-u-n-a-v-a-i-l-a-b-l-e/index.md#695287834%2FFunctions%2F1622544596)(other: [NetworkConnectionStatus](../index.md)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [equals](../-u-n-a-v-a-i-l-a-b-l-e/index.md#-1009559292%2FFunctions%2F1622544596) | [androidJvm]
operator override fun [equals](../-u-n-a-v-a-i-l-a-b-l-e/index.md#-1009559292%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [finalize](../-u-n-a-v-a-i-l-a-b-l-e/index.md#-653876033%2FFunctions%2F1622544596) | [androidJvm]
fun [finalize](../-u-n-a-v-a-i-l-a-b-l-e/index.md#-653876033%2FFunctions%2F1622544596)() |
-| [getDeclaringClass](../-u-n-a-v-a-i-l-a-b-l-e/index.md#-131535050%2FFunctions%2F1622544596) | [androidJvm]
fun [getDeclaringClass](../-u-n-a-v-a-i-l-a-b-l-e/index.md#-131535050%2FFunctions%2F1622544596)(): [Class](https://developer.android.com/reference/kotlin/java/lang/Class.html)<[NetworkConnectionStatus](../index.md)> |
-| [hashCode](../-u-n-a-v-a-i-l-a-b-l-e/index.md#446421858%2FFunctions%2F1622544596) | [androidJvm]
override fun [hashCode](../-u-n-a-v-a-i-l-a-b-l-e/index.md#446421858%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../-u-n-a-v-a-i-l-a-b-l-e/index.md#268255793%2FFunctions%2F1622544596) | [androidJvm]
open override fun [toString](../-u-n-a-v-a-i-l-a-b-l-e/index.md#268255793%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [name](name.md) | [androidJvm]
val [name](name.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-| [ordinal](ordinal.md) | [androidJvm]
val [ordinal](ordinal.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-l-o-s-i-n-g/name.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-l-o-s-i-n-g/name.md
deleted file mode 100644
index f11edf8e..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-l-o-s-i-n-g/name.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.entities](../../index.md)/[NetworkConnectionStatus](../index.md)/[LOSING](index.md)/[name](name.md)
-
-# name
-
-[androidJvm]\
-val [name](name.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-l-o-s-i-n-g/ordinal.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-l-o-s-i-n-g/ordinal.md
deleted file mode 100644
index 47e2bd7d..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-l-o-s-i-n-g/ordinal.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.entities](../../index.md)/[NetworkConnectionStatus](../index.md)/[LOSING](index.md)/[ordinal](ordinal.md)
-
-# ordinal
-
-[androidJvm]\
-val [ordinal](ordinal.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-l-o-s-t/index.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-l-o-s-t/index.md
deleted file mode 100644
index 157a64a5..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-l-o-s-t/index.md
+++ /dev/null
@@ -1,25 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.entities](../../index.md)/[NetworkConnectionStatus](../index.md)/[LOST](index.md)
-
-# LOST
-
-[androidJvm]\
-[LOST](index.md)()
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [clone](../-u-n-a-v-a-i-l-a-b-l-e/index.md#919483808%2FFunctions%2F1622544596) | [androidJvm]
protected fun [clone](../-u-n-a-v-a-i-l-a-b-l-e/index.md#919483808%2FFunctions%2F1622544596)(): [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html) |
-| [compareTo](../-u-n-a-v-a-i-l-a-b-l-e/index.md#695287834%2FFunctions%2F1622544596) | [androidJvm]
operator override fun [compareTo](../-u-n-a-v-a-i-l-a-b-l-e/index.md#695287834%2FFunctions%2F1622544596)(other: [NetworkConnectionStatus](../index.md)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [equals](../-u-n-a-v-a-i-l-a-b-l-e/index.md#-1009559292%2FFunctions%2F1622544596) | [androidJvm]
operator override fun [equals](../-u-n-a-v-a-i-l-a-b-l-e/index.md#-1009559292%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [finalize](../-u-n-a-v-a-i-l-a-b-l-e/index.md#-653876033%2FFunctions%2F1622544596) | [androidJvm]
fun [finalize](../-u-n-a-v-a-i-l-a-b-l-e/index.md#-653876033%2FFunctions%2F1622544596)() |
-| [getDeclaringClass](../-u-n-a-v-a-i-l-a-b-l-e/index.md#-131535050%2FFunctions%2F1622544596) | [androidJvm]
fun [getDeclaringClass](../-u-n-a-v-a-i-l-a-b-l-e/index.md#-131535050%2FFunctions%2F1622544596)(): [Class](https://developer.android.com/reference/kotlin/java/lang/Class.html)<[NetworkConnectionStatus](../index.md)> |
-| [hashCode](../-u-n-a-v-a-i-l-a-b-l-e/index.md#446421858%2FFunctions%2F1622544596) | [androidJvm]
override fun [hashCode](../-u-n-a-v-a-i-l-a-b-l-e/index.md#446421858%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../-u-n-a-v-a-i-l-a-b-l-e/index.md#268255793%2FFunctions%2F1622544596) | [androidJvm]
open override fun [toString](../-u-n-a-v-a-i-l-a-b-l-e/index.md#268255793%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [name](name.md) | [androidJvm]
val [name](name.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-| [ordinal](ordinal.md) | [androidJvm]
val [ordinal](ordinal.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-l-o-s-t/name.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-l-o-s-t/name.md
deleted file mode 100644
index e2f32151..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-l-o-s-t/name.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.entities](../../index.md)/[NetworkConnectionStatus](../index.md)/[LOST](index.md)/[name](name.md)
-
-# name
-
-[androidJvm]\
-val [name](name.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-l-o-s-t/ordinal.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-l-o-s-t/ordinal.md
deleted file mode 100644
index b840cff7..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-l-o-s-t/ordinal.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.entities](../../index.md)/[NetworkConnectionStatus](../index.md)/[LOST](index.md)/[ordinal](ordinal.md)
-
-# ordinal
-
-[androidJvm]\
-val [ordinal](ordinal.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-network-connection-status.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-network-connection-status.md
deleted file mode 100644
index 87526c34..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-network-connection-status.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.entities](../index.md)/[NetworkConnectionStatus](index.md)/[NetworkConnectionStatus](-network-connection-status.md)
-
-# NetworkConnectionStatus
-
-[androidJvm]\
-private fun [NetworkConnectionStatus](-network-connection-status.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-u-n-a-v-a-i-l-a-b-l-e/index.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-u-n-a-v-a-i-l-a-b-l-e/index.md
deleted file mode 100644
index 51e4492b..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-u-n-a-v-a-i-l-a-b-l-e/index.md
+++ /dev/null
@@ -1,25 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.entities](../../index.md)/[NetworkConnectionStatus](../index.md)/[UNAVAILABLE](index.md)
-
-# UNAVAILABLE
-
-[androidJvm]\
-[UNAVAILABLE](index.md)()
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [clone](index.md#919483808%2FFunctions%2F1622544596) | [androidJvm]
protected fun [clone](index.md#919483808%2FFunctions%2F1622544596)(): [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html) |
-| [compareTo](index.md#695287834%2FFunctions%2F1622544596) | [androidJvm]
operator override fun [compareTo](index.md#695287834%2FFunctions%2F1622544596)(other: [NetworkConnectionStatus](../index.md)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [equals](index.md#-1009559292%2FFunctions%2F1622544596) | [androidJvm]
operator override fun [equals](index.md#-1009559292%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [finalize](index.md#-653876033%2FFunctions%2F1622544596) | [androidJvm]
fun [finalize](index.md#-653876033%2FFunctions%2F1622544596)() |
-| [getDeclaringClass](index.md#-131535050%2FFunctions%2F1622544596) | [androidJvm]
fun [getDeclaringClass](index.md#-131535050%2FFunctions%2F1622544596)(): [Class](https://developer.android.com/reference/kotlin/java/lang/Class.html)<[NetworkConnectionStatus](../index.md)> |
-| [hashCode](index.md#446421858%2FFunctions%2F1622544596) | [androidJvm]
override fun [hashCode](index.md#446421858%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](index.md#268255793%2FFunctions%2F1622544596) | [androidJvm]
open override fun [toString](index.md#268255793%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [name](name.md) | [androidJvm]
val [name](name.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-| [ordinal](ordinal.md) | [androidJvm]
val [ordinal](ordinal.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-u-n-a-v-a-i-l-a-b-l-e/name.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-u-n-a-v-a-i-l-a-b-l-e/name.md
deleted file mode 100644
index 6b15318f..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-u-n-a-v-a-i-l-a-b-l-e/name.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.entities](../../index.md)/[NetworkConnectionStatus](../index.md)/[UNAVAILABLE](index.md)/[name](name.md)
-
-# name
-
-[androidJvm]\
-val [name](name.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-u-n-a-v-a-i-l-a-b-l-e/ordinal.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-u-n-a-v-a-i-l-a-b-l-e/ordinal.md
deleted file mode 100644
index 087315c7..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-u-n-a-v-a-i-l-a-b-l-e/ordinal.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.entities](../../index.md)/[NetworkConnectionStatus](../index.md)/[UNAVAILABLE](index.md)/[ordinal](ordinal.md)
-
-# ordinal
-
-[androidJvm]\
-val [ordinal](ordinal.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/index.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/index.md
deleted file mode 100644
index 1157d218..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/index.md
+++ /dev/null
@@ -1,34 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.entities](../index.md)/[NetworkConnectionStatus](index.md)
-
-# NetworkConnectionStatus
-
-[androidJvm]\
-internal enum [NetworkConnectionStatus](index.md) : [Enum](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-enum/index.html)<[NetworkConnectionStatus](index.md)>
-
-## Entries
-
-| | |
-|---|---|
-| [AVAILABLE](-a-v-a-i-l-a-b-l-e/index.md) | [androidJvm]
[AVAILABLE](-a-v-a-i-l-a-b-l-e/index.md)() |
-| [LOSING](-l-o-s-i-n-g/index.md) | [androidJvm]
[LOSING](-l-o-s-i-n-g/index.md)() |
-| [LOST](-l-o-s-t/index.md) | [androidJvm]
[LOST](-l-o-s-t/index.md)() |
-| [UNAVAILABLE](-u-n-a-v-a-i-l-a-b-l-e/index.md) | [androidJvm]
[UNAVAILABLE](-u-n-a-v-a-i-l-a-b-l-e/index.md)() |
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [clone](-u-n-a-v-a-i-l-a-b-l-e/index.md#919483808%2FFunctions%2F1622544596) | [androidJvm]
protected fun [clone](-u-n-a-v-a-i-l-a-b-l-e/index.md#919483808%2FFunctions%2F1622544596)(): [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html) |
-| [compareTo](-u-n-a-v-a-i-l-a-b-l-e/index.md#695287834%2FFunctions%2F1622544596) | [androidJvm]
operator override fun [compareTo](-u-n-a-v-a-i-l-a-b-l-e/index.md#695287834%2FFunctions%2F1622544596)(other: [NetworkConnectionStatus](index.md)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [equals](-u-n-a-v-a-i-l-a-b-l-e/index.md#-1009559292%2FFunctions%2F1622544596) | [androidJvm]
operator override fun [equals](-u-n-a-v-a-i-l-a-b-l-e/index.md#-1009559292%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [finalize](-u-n-a-v-a-i-l-a-b-l-e/index.md#-653876033%2FFunctions%2F1622544596) | [androidJvm]
fun [finalize](-u-n-a-v-a-i-l-a-b-l-e/index.md#-653876033%2FFunctions%2F1622544596)() |
-| [getDeclaringClass](-u-n-a-v-a-i-l-a-b-l-e/index.md#-131535050%2FFunctions%2F1622544596) | [androidJvm]
fun [getDeclaringClass](-u-n-a-v-a-i-l-a-b-l-e/index.md#-131535050%2FFunctions%2F1622544596)(): [Class](https://developer.android.com/reference/kotlin/java/lang/Class.html)<[NetworkConnectionStatus](index.md)> |
-| [hashCode](-u-n-a-v-a-i-l-a-b-l-e/index.md#446421858%2FFunctions%2F1622544596) | [androidJvm]
override fun [hashCode](-u-n-a-v-a-i-l-a-b-l-e/index.md#446421858%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](-u-n-a-v-a-i-l-a-b-l-e/index.md#268255793%2FFunctions%2F1622544596) | [androidJvm]
open override fun [toString](-u-n-a-v-a-i-l-a-b-l-e/index.md#268255793%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [name](index.md#-80475451%2FProperties%2F1622544596) | [androidJvm]
val [name](index.md#-80475451%2FProperties%2F1622544596): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-| [ordinal](index.md#-1378080167%2FProperties%2F1622544596) | [androidJvm]
val [ordinal](index.md#-1378080167%2FProperties%2F1622544596): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/index.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/index.md
deleted file mode 100644
index 670401d7..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/index.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus.entities](index.md)
-
-# Package com.isupatches.android.wisefy.networkconnectionstatus.entities
-
-## Types
-
-| Name | Summary |
-|---|---|
-| [NetworkConnectionStatus](-network-connection-status/index.md) | [androidJvm]
internal enum [NetworkConnectionStatus](-network-connection-status/index.md) : [Enum](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-enum/index.html)<[NetworkConnectionStatus](-network-connection-status/index.md)> |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-l-o-g_-t-a-g.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-l-o-g_-t-a-g.md
deleted file mode 100644
index b281fad3..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-l-o-g_-t-a-g.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus](index.md)/[LOG_TAG](-l-o-g_-t-a-g.md)
-
-# LOG_TAG
-
-[androidJvm]\
-private const val [LOG_TAG](-l-o-g_-t-a-g.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/attach-network-watcher.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/attach-network-watcher.md
deleted file mode 100644
index a941c45c..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/attach-network-watcher.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus](../index.md)/[NetworkConnectionStatusApi](index.md)/[attachNetworkWatcher](attach-network-watcher.md)
-
-# attachNetworkWatcher
-
-[androidJvm]\
-abstract fun [attachNetworkWatcher](attach-network-watcher.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/detach-network-watcher.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/detach-network-watcher.md
deleted file mode 100644
index 21883501..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/detach-network-watcher.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus](../index.md)/[NetworkConnectionStatusApi](index.md)/[detachNetworkWatcher](detach-network-watcher.md)
-
-# detachNetworkWatcher
-
-[androidJvm]\
-abstract fun [detachNetworkWatcher](detach-network-watcher.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/index.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/index.md
deleted file mode 100644
index df652e17..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/index.md
+++ /dev/null
@@ -1,29 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus](../index.md)/[NetworkConnectionStatusApi](index.md)
-
-# NetworkConnectionStatusApi
-
-[androidJvm]\
-interface [NetworkConnectionStatusApi](index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [attachNetworkWatcher](attach-network-watcher.md) | [androidJvm]
abstract fun [attachNetworkWatcher](attach-network-watcher.md)() |
-| [detachNetworkWatcher](detach-network-watcher.md) | [androidJvm]
abstract fun [detachNetworkWatcher](detach-network-watcher.md)() |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [isDeviceConnectedToMobileNetwork](is-device-connected-to-mobile-network.md) | [androidJvm]
abstract fun [isDeviceConnectedToMobileNetwork](is-device-connected-to-mobile-network.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isDeviceConnectedToMobileOrWifiNetwork](is-device-connected-to-mobile-or-wifi-network.md) | [androidJvm]
abstract fun [isDeviceConnectedToMobileOrWifiNetwork](is-device-connected-to-mobile-or-wifi-network.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isDeviceConnectedToSSID](is-device-connected-to-s-s-i-d.md) | [androidJvm]
abstract fun [isDeviceConnectedToSSID](is-device-connected-to-s-s-i-d.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isDeviceConnectedToWifiNetwork](is-device-connected-to-wifi-network.md) | [androidJvm]
abstract fun [isDeviceConnectedToWifiNetwork](is-device-connected-to-wifi-network.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isDeviceRoaming](is-device-roaming.md) | [androidJvm]
abstract fun [isDeviceRoaming](is-device-roaming.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [WisefyApi](../../com.isupatches.android.wisefy/-wisefy-api/index.md) |
-| [NetworkConnectionStatusUtil](../-network-connection-status-util/index.md) |
-| [LegacyNetworkConnectionStatusDelegate](../../com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-delegate/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/is-device-connected-to-mobile-network.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/is-device-connected-to-mobile-network.md
deleted file mode 100644
index a15d4704..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/is-device-connected-to-mobile-network.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus](../index.md)/[NetworkConnectionStatusApi](index.md)/[isDeviceConnectedToMobileNetwork](is-device-connected-to-mobile-network.md)
-
-# isDeviceConnectedToMobileNetwork
-
-[androidJvm]\
-abstract fun [isDeviceConnectedToMobileNetwork](is-device-connected-to-mobile-network.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/is-device-connected-to-mobile-or-wifi-network.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/is-device-connected-to-mobile-or-wifi-network.md
deleted file mode 100644
index 5b4dc336..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/is-device-connected-to-mobile-or-wifi-network.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus](../index.md)/[NetworkConnectionStatusApi](index.md)/[isDeviceConnectedToMobileOrWifiNetwork](is-device-connected-to-mobile-or-wifi-network.md)
-
-# isDeviceConnectedToMobileOrWifiNetwork
-
-[androidJvm]\
-abstract fun [isDeviceConnectedToMobileOrWifiNetwork](is-device-connected-to-mobile-or-wifi-network.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/is-device-connected-to-s-s-i-d.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/is-device-connected-to-s-s-i-d.md
deleted file mode 100644
index 271d14e9..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/is-device-connected-to-s-s-i-d.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus](../index.md)/[NetworkConnectionStatusApi](index.md)/[isDeviceConnectedToSSID](is-device-connected-to-s-s-i-d.md)
-
-# isDeviceConnectedToSSID
-
-[androidJvm]\
-abstract fun [isDeviceConnectedToSSID](is-device-connected-to-s-s-i-d.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/is-device-connected-to-wifi-network.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/is-device-connected-to-wifi-network.md
deleted file mode 100644
index 639811cc..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/is-device-connected-to-wifi-network.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus](../index.md)/[NetworkConnectionStatusApi](index.md)/[isDeviceConnectedToWifiNetwork](is-device-connected-to-wifi-network.md)
-
-# isDeviceConnectedToWifiNetwork
-
-[androidJvm]\
-abstract fun [isDeviceConnectedToWifiNetwork](is-device-connected-to-wifi-network.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/is-device-roaming.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/is-device-roaming.md
deleted file mode 100644
index 8966186f..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/is-device-roaming.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus](../index.md)/[NetworkConnectionStatusApi](index.md)/[isDeviceRoaming](is-device-roaming.md)
-
-# isDeviceRoaming
-
-[androidJvm]\
-abstract fun [isDeviceRoaming](is-device-roaming.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-util/index.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-util/index.md
deleted file mode 100644
index 120f1e8a..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-util/index.md
+++ /dev/null
@@ -1,27 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus](../index.md)/[NetworkConnectionStatusUtil](index.md)
-
-# NetworkConnectionStatusUtil
-
-[androidJvm]\
-internal interface [NetworkConnectionStatusUtil](index.md) : [NetworkConnectionStatusApi](../-network-connection-status-api/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [attachNetworkWatcher](../-network-connection-status-api/attach-network-watcher.md) | [androidJvm]
abstract fun [attachNetworkWatcher](../-network-connection-status-api/attach-network-watcher.md)() |
-| [detachNetworkWatcher](../-network-connection-status-api/detach-network-watcher.md) | [androidJvm]
abstract fun [detachNetworkWatcher](../-network-connection-status-api/detach-network-watcher.md)() |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [isDeviceConnectedToMobileNetwork](../-network-connection-status-api/is-device-connected-to-mobile-network.md) | [androidJvm]
abstract fun [isDeviceConnectedToMobileNetwork](../-network-connection-status-api/is-device-connected-to-mobile-network.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isDeviceConnectedToMobileOrWifiNetwork](../-network-connection-status-api/is-device-connected-to-mobile-or-wifi-network.md) | [androidJvm]
abstract fun [isDeviceConnectedToMobileOrWifiNetwork](../-network-connection-status-api/is-device-connected-to-mobile-or-wifi-network.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isDeviceConnectedToSSID](../-network-connection-status-api/is-device-connected-to-s-s-i-d.md) | [androidJvm]
abstract fun [isDeviceConnectedToSSID](../-network-connection-status-api/is-device-connected-to-s-s-i-d.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isDeviceConnectedToWifiNetwork](../-network-connection-status-api/is-device-connected-to-wifi-network.md) | [androidJvm]
abstract fun [isDeviceConnectedToWifiNetwork](../-network-connection-status-api/is-device-connected-to-wifi-network.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isDeviceRoaming](../-network-connection-status-api/is-device-roaming.md) | [androidJvm]
abstract fun [isDeviceRoaming](../-network-connection-status-api/is-device-roaming.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [WisefyNetworkConnectionStatusUtil](../-wisefy-network-connection-status-util/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-wisefy-network-connection-status-util/-wisefy-network-connection-status-util.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-wisefy-network-connection-status-util/-wisefy-network-connection-status-util.md
deleted file mode 100644
index ab49b457..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-wisefy-network-connection-status-util/-wisefy-network-connection-status-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus](../index.md)/[WisefyNetworkConnectionStatusUtil](index.md)/[WisefyNetworkConnectionStatusUtil](-wisefy-network-connection-status-util.md)
-
-# WisefyNetworkConnectionStatusUtil
-
-[androidJvm]\
-fun [WisefyNetworkConnectionStatusUtil](-wisefy-network-connection-status-util.md)(connectivityManager: [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html), logger: [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?, sdkUtil: [SdkUtil](../../com.isupatches.android.wisefy.util/-sdk-util/index.md), wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-wisefy-network-connection-status-util/attach-network-watcher.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-wisefy-network-connection-status-util/attach-network-watcher.md
deleted file mode 100644
index 1d854403..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-wisefy-network-connection-status-util/attach-network-watcher.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus](../index.md)/[WisefyNetworkConnectionStatusUtil](index.md)/[attachNetworkWatcher](attach-network-watcher.md)
-
-# attachNetworkWatcher
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
-
-open override fun [attachNetworkWatcher](attach-network-watcher.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-wisefy-network-connection-status-util/delegate.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-wisefy-network-connection-status-util/delegate.md
deleted file mode 100644
index 6e0009e2..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-wisefy-network-connection-status-util/delegate.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus](../index.md)/[WisefyNetworkConnectionStatusUtil](index.md)/[delegate](delegate.md)
-
-# delegate
-
-[androidJvm]\
-private val [delegate](delegate.md): [LegacyNetworkConnectionStatusDelegate](../../com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-delegate/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-wisefy-network-connection-status-util/detach-network-watcher.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-wisefy-network-connection-status-util/detach-network-watcher.md
deleted file mode 100644
index 158c8e6b..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-wisefy-network-connection-status-util/detach-network-watcher.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus](../index.md)/[WisefyNetworkConnectionStatusUtil](index.md)/[detachNetworkWatcher](detach-network-watcher.md)
-
-# detachNetworkWatcher
-
-[androidJvm]\
-open override fun [detachNetworkWatcher](detach-network-watcher.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-wisefy-network-connection-status-util/index.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-wisefy-network-connection-status-util/index.md
deleted file mode 100644
index 6a8ba3af..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-wisefy-network-connection-status-util/index.md
+++ /dev/null
@@ -1,27 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus](../index.md)/[WisefyNetworkConnectionStatusUtil](index.md)
-
-# WisefyNetworkConnectionStatusUtil
-
-[androidJvm]\
-internal class [WisefyNetworkConnectionStatusUtil](index.md)(**connectivityManager**: [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html), **logger**: [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?, **sdkUtil**: [SdkUtil](../../com.isupatches.android.wisefy.util/-sdk-util/index.md), **wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)) : [NetworkConnectionStatusUtil](../-network-connection-status-util/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [attachNetworkWatcher](attach-network-watcher.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
open override fun [attachNetworkWatcher](attach-network-watcher.md)() |
-| [detachNetworkWatcher](detach-network-watcher.md) | [androidJvm]
open override fun [detachNetworkWatcher](detach-network-watcher.md)() |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [isDeviceConnectedToMobileNetwork](is-device-connected-to-mobile-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
open override fun [isDeviceConnectedToMobileNetwork](is-device-connected-to-mobile-network.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isDeviceConnectedToMobileOrWifiNetwork](is-device-connected-to-mobile-or-wifi-network.md) | [androidJvm]
open override fun [isDeviceConnectedToMobileOrWifiNetwork](is-device-connected-to-mobile-or-wifi-network.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isDeviceConnectedToSSID](is-device-connected-to-s-s-i-d.md) | [androidJvm]
open override fun [isDeviceConnectedToSSID](is-device-connected-to-s-s-i-d.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isDeviceConnectedToWifiNetwork](is-device-connected-to-wifi-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
open override fun [isDeviceConnectedToWifiNetwork](is-device-connected-to-wifi-network.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isDeviceRoaming](is-device-roaming.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
open override fun [isDeviceRoaming](is-device-roaming.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [delegate](delegate.md) | [androidJvm]
private val [delegate](delegate.md): [LegacyNetworkConnectionStatusDelegate](../../com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-delegate/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-wisefy-network-connection-status-util/is-device-connected-to-mobile-network.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-wisefy-network-connection-status-util/is-device-connected-to-mobile-network.md
deleted file mode 100644
index f99ad121..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-wisefy-network-connection-status-util/is-device-connected-to-mobile-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus](../index.md)/[WisefyNetworkConnectionStatusUtil](index.md)/[isDeviceConnectedToMobileNetwork](is-device-connected-to-mobile-network.md)
-
-# isDeviceConnectedToMobileNetwork
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
-
-open override fun [isDeviceConnectedToMobileNetwork](is-device-connected-to-mobile-network.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-wisefy-network-connection-status-util/is-device-connected-to-mobile-or-wifi-network.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-wisefy-network-connection-status-util/is-device-connected-to-mobile-or-wifi-network.md
deleted file mode 100644
index fb25cc22..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-wisefy-network-connection-status-util/is-device-connected-to-mobile-or-wifi-network.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus](../index.md)/[WisefyNetworkConnectionStatusUtil](index.md)/[isDeviceConnectedToMobileOrWifiNetwork](is-device-connected-to-mobile-or-wifi-network.md)
-
-# isDeviceConnectedToMobileOrWifiNetwork
-
-[androidJvm]\
-open override fun [isDeviceConnectedToMobileOrWifiNetwork](is-device-connected-to-mobile-or-wifi-network.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-wisefy-network-connection-status-util/is-device-connected-to-s-s-i-d.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-wisefy-network-connection-status-util/is-device-connected-to-s-s-i-d.md
deleted file mode 100644
index 850956ac..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-wisefy-network-connection-status-util/is-device-connected-to-s-s-i-d.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus](../index.md)/[WisefyNetworkConnectionStatusUtil](index.md)/[isDeviceConnectedToSSID](is-device-connected-to-s-s-i-d.md)
-
-# isDeviceConnectedToSSID
-
-[androidJvm]\
-open override fun [isDeviceConnectedToSSID](is-device-connected-to-s-s-i-d.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-wisefy-network-connection-status-util/is-device-connected-to-wifi-network.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-wisefy-network-connection-status-util/is-device-connected-to-wifi-network.md
deleted file mode 100644
index 2d7f4dd9..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-wisefy-network-connection-status-util/is-device-connected-to-wifi-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus](../index.md)/[WisefyNetworkConnectionStatusUtil](index.md)/[isDeviceConnectedToWifiNetwork](is-device-connected-to-wifi-network.md)
-
-# isDeviceConnectedToWifiNetwork
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
-
-open override fun [isDeviceConnectedToWifiNetwork](is-device-connected-to-wifi-network.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-wisefy-network-connection-status-util/is-device-roaming.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-wisefy-network-connection-status-util/is-device-roaming.md
deleted file mode 100644
index fb895b05..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-wisefy-network-connection-status-util/is-device-roaming.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus](../index.md)/[WisefyNetworkConnectionStatusUtil](index.md)/[isDeviceRoaming](is-device-roaming.md)
-
-# isDeviceRoaming
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
-
-open override fun [isDeviceRoaming](is-device-roaming.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/index.md b/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/index.md
deleted file mode 100644
index e20aee51..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/index.md
+++ /dev/null
@@ -1,17 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.networkconnectionstatus](index.md)
-
-# Package com.isupatches.android.wisefy.networkconnectionstatus
-
-## Types
-
-| Name | Summary |
-|---|---|
-| [NetworkConnectionStatusApi](-network-connection-status-api/index.md) | [androidJvm]
interface [NetworkConnectionStatusApi](-network-connection-status-api/index.md) |
-| [NetworkConnectionStatusUtil](-network-connection-status-util/index.md) | [androidJvm]
internal interface [NetworkConnectionStatusUtil](-network-connection-status-util/index.md) : [NetworkConnectionStatusApi](-network-connection-status-api/index.md) |
-| [WisefyNetworkConnectionStatusUtil](-wisefy-network-connection-status-util/index.md) | [androidJvm]
internal class [WisefyNetworkConnectionStatusUtil](-wisefy-network-connection-status-util/index.md)(**connectivityManager**: [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html), **logger**: [WisefyLogger](../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?, **sdkUtil**: [SdkUtil](../com.isupatches.android.wisefy.util/-sdk-util/index.md), **wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)) : [NetworkConnectionStatusUtil](-network-connection-status-util/index.md) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [LOG_TAG](-l-o-g_-t-a-g.md) | [androidJvm]
private const val [LOG_TAG](-l-o-g_-t-a-g.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-l-o-g_-t-a-g.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-l-o-g_-t-a-g.md
deleted file mode 100644
index 72bd5eac..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-l-o-g_-t-a-g.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.networkinfo.delegates](index.md)/[LOG_TAG](-l-o-g_-t-a-g.md)
-
-# LOG_TAG
-
-[androidJvm]\
-private const val [LOG_TAG](-l-o-g_-t-a-g.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-api-impl/-legacy-network-info-api-impl.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-api-impl/-legacy-network-info-api-impl.md
deleted file mode 100644
index cca24ce0..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-api-impl/-legacy-network-info-api-impl.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.delegates](../index.md)/[LegacyNetworkInfoApiImpl](index.md)/[LegacyNetworkInfoApiImpl](-legacy-network-info-api-impl.md)
-
-# LegacyNetworkInfoApiImpl
-
-[androidJvm]\
-fun [LegacyNetworkInfoApiImpl](-legacy-network-info-api-impl.md)(wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), connectivityManager: [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html), logger: [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-api-impl/connectivity-manager.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-api-impl/connectivity-manager.md
deleted file mode 100644
index 8a359dc1..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-api-impl/connectivity-manager.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.delegates](../index.md)/[LegacyNetworkInfoApiImpl](index.md)/[connectivityManager](connectivity-manager.md)
-
-# connectivityManager
-
-[androidJvm]\
-private val [connectivityManager](connectivity-manager.md): [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-api-impl/get-current-network-info.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-api-impl/get-current-network-info.md
deleted file mode 100644
index f1863c2f..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-api-impl/get-current-network-info.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.delegates](../index.md)/[LegacyNetworkInfoApiImpl](index.md)/[getCurrentNetworkInfo](get-current-network-info.md)
-
-# getCurrentNetworkInfo
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
-
-open override fun [getCurrentNetworkInfo](get-current-network-info.md)(network: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html)?): [CurrentNetworkInfoData](../../com.isupatches.android.wisefy.networkinfo.entities/-current-network-info-data/index.md)?
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-api-impl/get-current-network.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-api-impl/get-current-network.md
deleted file mode 100644
index 872ac3fe..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-api-impl/get-current-network.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.delegates](../index.md)/[LegacyNetworkInfoApiImpl](index.md)/[getCurrentNetwork](get-current-network.md)
-
-# getCurrentNetwork
-
-[androidJvm]\
-open override fun [getCurrentNetwork](get-current-network.md)(): [CurrentNetworkData](../../com.isupatches.android.wisefy.networkinfo.entities/-current-network-data/index.md)?
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-api-impl/get-i-p.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-api-impl/get-i-p.md
deleted file mode 100644
index 2bc6694e..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-api-impl/get-i-p.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.delegates](../index.md)/[LegacyNetworkInfoApiImpl](index.md)/[getIP](get-i-p.md)
-
-# getIP
-
-[androidJvm]\
-open override fun [getIP](get-i-p.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-api-impl/index.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-api-impl/index.md
deleted file mode 100644
index 95ca1c90..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-api-impl/index.md
+++ /dev/null
@@ -1,25 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.delegates](../index.md)/[LegacyNetworkInfoApiImpl](index.md)
-
-# LegacyNetworkInfoApiImpl
-
-[androidJvm]\
-internal class [LegacyNetworkInfoApiImpl](index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), **connectivityManager**: [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html), **logger**: [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?) : [LegacyNetworkInfoApi](../-legacy-network-info-api/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [getCurrentNetwork](get-current-network.md) | [androidJvm]
open override fun [getCurrentNetwork](get-current-network.md)(): [CurrentNetworkData](../../com.isupatches.android.wisefy.networkinfo.entities/-current-network-data/index.md)? |
-| [getCurrentNetworkInfo](get-current-network-info.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
open override fun [getCurrentNetworkInfo](get-current-network-info.md)(network: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html)?): [CurrentNetworkInfoData](../../com.isupatches.android.wisefy.networkinfo.entities/-current-network-info-data/index.md)? |
-| [getIP](get-i-p.md) | [androidJvm]
open override fun [getIP](get-i-p.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)? |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [connectivityManager](connectivity-manager.md) | [androidJvm]
private val [connectivityManager](connectivity-manager.md): [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html) |
-| [logger](logger.md) | [androidJvm]
private val [logger](logger.md): [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)? |
-| [wifiManager](wifi-manager.md) | [androidJvm]
private val [wifiManager](wifi-manager.md): [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-api-impl/logger.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-api-impl/logger.md
deleted file mode 100644
index 2db57c7d..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-api-impl/logger.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.delegates](../index.md)/[LegacyNetworkInfoApiImpl](index.md)/[logger](logger.md)
-
-# logger
-
-[androidJvm]\
-private val [logger](logger.md): [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-api-impl/wifi-manager.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-api-impl/wifi-manager.md
deleted file mode 100644
index 0689efd5..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-api-impl/wifi-manager.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.delegates](../index.md)/[LegacyNetworkInfoApiImpl](index.md)/[wifiManager](wifi-manager.md)
-
-# wifiManager
-
-[androidJvm]\
-private val [wifiManager](wifi-manager.md): [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-api/get-current-network-info.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-api/get-current-network-info.md
deleted file mode 100644
index 41d7a4da..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-api/get-current-network-info.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.delegates](../index.md)/[LegacyNetworkInfoApi](index.md)/[getCurrentNetworkInfo](get-current-network-info.md)
-
-# getCurrentNetworkInfo
-
-[androidJvm]\
-abstract fun [getCurrentNetworkInfo](get-current-network-info.md)(network: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html)?): [CurrentNetworkInfoData](../../com.isupatches.android.wisefy.networkinfo.entities/-current-network-info-data/index.md)?
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-api/get-current-network.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-api/get-current-network.md
deleted file mode 100644
index dd6703e5..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-api/get-current-network.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.delegates](../index.md)/[LegacyNetworkInfoApi](index.md)/[getCurrentNetwork](get-current-network.md)
-
-# getCurrentNetwork
-
-[androidJvm]\
-abstract fun [getCurrentNetwork](get-current-network.md)(): [CurrentNetworkData](../../com.isupatches.android.wisefy.networkinfo.entities/-current-network-data/index.md)?
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-api/get-i-p.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-api/get-i-p.md
deleted file mode 100644
index 0bdf4e81..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-api/get-i-p.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.delegates](../index.md)/[LegacyNetworkInfoApi](index.md)/[getIP](get-i-p.md)
-
-# getIP
-
-[androidJvm]\
-abstract fun [getIP](get-i-p.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-api/index.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-api/index.md
deleted file mode 100644
index f3454790..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-api/index.md
+++ /dev/null
@@ -1,23 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.delegates](../index.md)/[LegacyNetworkInfoApi](index.md)
-
-# LegacyNetworkInfoApi
-
-[androidJvm]\
-internal interface [LegacyNetworkInfoApi](index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [getCurrentNetwork](get-current-network.md) | [androidJvm]
abstract fun [getCurrentNetwork](get-current-network.md)(): [CurrentNetworkData](../../com.isupatches.android.wisefy.networkinfo.entities/-current-network-data/index.md)? |
-| [getCurrentNetworkInfo](get-current-network-info.md) | [androidJvm]
abstract fun [getCurrentNetworkInfo](get-current-network-info.md)(network: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html)?): [CurrentNetworkInfoData](../../com.isupatches.android.wisefy.networkinfo.entities/-current-network-info-data/index.md)? |
-| [getIP](get-i-p.md) | [androidJvm]
abstract fun [getIP](get-i-p.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)? |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [LegacyNetworkInfoApiImpl](../-legacy-network-info-api-impl/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-delegate/-legacy-network-info-delegate.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-delegate/-legacy-network-info-delegate.md
deleted file mode 100644
index b48df5dd..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-delegate/-legacy-network-info-delegate.md
+++ /dev/null
@@ -1,10 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.delegates](../index.md)/[LegacyNetworkInfoDelegate](index.md)/[LegacyNetworkInfoDelegate](-legacy-network-info-delegate.md)
-
-# LegacyNetworkInfoDelegate
-
-[androidJvm]\
-fun [LegacyNetworkInfoDelegate](-legacy-network-info-delegate.md)(wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), connectivityManager: [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html), logger: [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?, impl: [LegacyNetworkInfoApi](../-legacy-network-info-api/index.md) = LegacyNetworkInfoApiImpl(
- wifiManager,
- connectivityManager,
- logger
- ))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-delegate/get-current-network-info.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-delegate/get-current-network-info.md
deleted file mode 100644
index 141ffba8..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-delegate/get-current-network-info.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.delegates](../index.md)/[LegacyNetworkInfoDelegate](index.md)/[getCurrentNetworkInfo](get-current-network-info.md)
-
-# getCurrentNetworkInfo
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
-
-open override fun [getCurrentNetworkInfo](get-current-network-info.md)(network: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html)?): [CurrentNetworkInfoData](../../com.isupatches.android.wisefy.networkinfo.entities/-current-network-info-data/index.md)?
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-delegate/get-current-network.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-delegate/get-current-network.md
deleted file mode 100644
index 67aaf298..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-delegate/get-current-network.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.delegates](../index.md)/[LegacyNetworkInfoDelegate](index.md)/[getCurrentNetwork](get-current-network.md)
-
-# getCurrentNetwork
-
-[androidJvm]\
-open override fun [getCurrentNetwork](get-current-network.md)(): [CurrentNetworkData](../../com.isupatches.android.wisefy.networkinfo.entities/-current-network-data/index.md)?
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-delegate/get-i-p.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-delegate/get-i-p.md
deleted file mode 100644
index b53cf8de..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-delegate/get-i-p.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.delegates](../index.md)/[LegacyNetworkInfoDelegate](index.md)/[getIP](get-i-p.md)
-
-# getIP
-
-[androidJvm]\
-open override fun [getIP](get-i-p.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-delegate/impl.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-delegate/impl.md
deleted file mode 100644
index d5a1ce44..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-delegate/impl.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.delegates](../index.md)/[LegacyNetworkInfoDelegate](index.md)/[impl](impl.md)
-
-# impl
-
-[androidJvm]\
-private val [impl](impl.md): [LegacyNetworkInfoApi](../-legacy-network-info-api/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-delegate/index.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-delegate/index.md
deleted file mode 100644
index 2fb596bb..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-delegate/index.md
+++ /dev/null
@@ -1,23 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.delegates](../index.md)/[LegacyNetworkInfoDelegate](index.md)
-
-# LegacyNetworkInfoDelegate
-
-[androidJvm]\
-internal class [LegacyNetworkInfoDelegate](index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), **connectivityManager**: [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html), **logger**: [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?, **impl**: [LegacyNetworkInfoApi](../-legacy-network-info-api/index.md)) : [NetworkInfoApi](../../com.isupatches.android.wisefy.networkinfo/-network-info-api/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [getCurrentNetwork](get-current-network.md) | [androidJvm]
open override fun [getCurrentNetwork](get-current-network.md)(): [CurrentNetworkData](../../com.isupatches.android.wisefy.networkinfo.entities/-current-network-data/index.md)? |
-| [getCurrentNetworkInfo](get-current-network-info.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
open override fun [getCurrentNetworkInfo](get-current-network-info.md)(network: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html)?): [CurrentNetworkInfoData](../../com.isupatches.android.wisefy.networkinfo.entities/-current-network-info-data/index.md)? |
-| [getIP](get-i-p.md) | [androidJvm]
open override fun [getIP](get-i-p.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)? |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [impl](impl.md) | [androidJvm]
private val [impl](impl.md): [LegacyNetworkInfoApi](../-legacy-network-info-api/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/index.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/index.md
deleted file mode 100644
index 3fe2cb20..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/index.md
+++ /dev/null
@@ -1,17 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.networkinfo.delegates](index.md)
-
-# Package com.isupatches.android.wisefy.networkinfo.delegates
-
-## Types
-
-| Name | Summary |
-|---|---|
-| [LegacyNetworkInfoApi](-legacy-network-info-api/index.md) | [androidJvm]
internal interface [LegacyNetworkInfoApi](-legacy-network-info-api/index.md) |
-| [LegacyNetworkInfoApiImpl](-legacy-network-info-api-impl/index.md) | [androidJvm]
internal class [LegacyNetworkInfoApiImpl](-legacy-network-info-api-impl/index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), **connectivityManager**: [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html), **logger**: [WisefyLogger](../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?) : [LegacyNetworkInfoApi](-legacy-network-info-api/index.md) |
-| [LegacyNetworkInfoDelegate](-legacy-network-info-delegate/index.md) | [androidJvm]
internal class [LegacyNetworkInfoDelegate](-legacy-network-info-delegate/index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), **connectivityManager**: [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html), **logger**: [WisefyLogger](../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?, **impl**: [LegacyNetworkInfoApi](-legacy-network-info-api/index.md)) : [NetworkInfoApi](../com.isupatches.android.wisefy.networkinfo/-network-info-api/index.md) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [LOG_TAG](-l-o-g_-t-a-g.md) | [androidJvm]
private const val [LOG_TAG](-l-o-g_-t-a-g.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.entities/-current-network-data/-current-network-data.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.entities/-current-network-data/-current-network-data.md
deleted file mode 100644
index d4cba1cf..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.entities/-current-network-data/-current-network-data.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.entities](../index.md)/[CurrentNetworkData](index.md)/[CurrentNetworkData](-current-network-data.md)
-
-# CurrentNetworkData
-
-[androidJvm]\
-fun [CurrentNetworkData](-current-network-data.md)(data: [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.entities/-current-network-data/component1.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.entities/-current-network-data/component1.md
deleted file mode 100644
index ec4f1485..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.entities/-current-network-data/component1.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.entities](../index.md)/[CurrentNetworkData](index.md)/[component1](component1.md)
-
-# component1
-
-[androidJvm]\
-operator fun [component1](component1.md)(): [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.entities/-current-network-data/copy.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.entities/-current-network-data/copy.md
deleted file mode 100644
index 766c7cff..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.entities/-current-network-data/copy.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.entities](../index.md)/[CurrentNetworkData](index.md)/[copy](copy.md)
-
-# copy
-
-[androidJvm]\
-fun [copy](copy.md)(data: [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html)): [CurrentNetworkData](index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.entities/-current-network-data/data.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.entities/-current-network-data/data.md
deleted file mode 100644
index c103af36..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.entities/-current-network-data/data.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.entities](../index.md)/[CurrentNetworkData](index.md)/[data](data.md)
-
-# data
-
-[androidJvm]\
-val [data](data.md): [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.entities/-current-network-data/index.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.entities/-current-network-data/index.md
deleted file mode 100644
index 6764a6e4..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.entities/-current-network-data/index.md
+++ /dev/null
@@ -1,22 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.entities](../index.md)/[CurrentNetworkData](index.md)
-
-# CurrentNetworkData
-
-[androidJvm]\
-data class [CurrentNetworkData](index.md)(**data**: [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html))
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [component1](component1.md) | [androidJvm]
operator fun [component1](component1.md)(): [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html) |
-| [copy](copy.md) | [androidJvm]
fun [copy](copy.md)(data: [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html)): [CurrentNetworkData](index.md) |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator override fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open override fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open override fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [data](data.md) | [androidJvm]
val [data](data.md): [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.entities/-current-network-info-data/-current-network-info-data.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.entities/-current-network-info-data/-current-network-info-data.md
deleted file mode 100644
index 959a55a4..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.entities/-current-network-info-data/-current-network-info-data.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.entities](../index.md)/[CurrentNetworkInfoData](index.md)/[CurrentNetworkInfoData](-current-network-info-data.md)
-
-# CurrentNetworkInfoData
-
-[androidJvm]\
-fun [CurrentNetworkInfoData](-current-network-info-data.md)(capabilities: [NetworkCapabilities](https://developer.android.com/reference/kotlin/android/net/NetworkCapabilities.html)?, linkProperties: [LinkProperties](https://developer.android.com/reference/kotlin/android/net/LinkProperties.html)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.entities/-current-network-info-data/capabilities.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.entities/-current-network-info-data/capabilities.md
deleted file mode 100644
index b14cc0de..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.entities/-current-network-info-data/capabilities.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.entities](../index.md)/[CurrentNetworkInfoData](index.md)/[capabilities](capabilities.md)
-
-# capabilities
-
-[androidJvm]\
-val [capabilities](capabilities.md): [NetworkCapabilities](https://developer.android.com/reference/kotlin/android/net/NetworkCapabilities.html)?
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.entities/-current-network-info-data/component1.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.entities/-current-network-info-data/component1.md
deleted file mode 100644
index 19ffd9f5..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.entities/-current-network-info-data/component1.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.entities](../index.md)/[CurrentNetworkInfoData](index.md)/[component1](component1.md)
-
-# component1
-
-[androidJvm]\
-operator fun [component1](component1.md)(): [NetworkCapabilities](https://developer.android.com/reference/kotlin/android/net/NetworkCapabilities.html)?
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.entities/-current-network-info-data/component2.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.entities/-current-network-info-data/component2.md
deleted file mode 100644
index 1c07a707..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.entities/-current-network-info-data/component2.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.entities](../index.md)/[CurrentNetworkInfoData](index.md)/[component2](component2.md)
-
-# component2
-
-[androidJvm]\
-operator fun [component2](component2.md)(): [LinkProperties](https://developer.android.com/reference/kotlin/android/net/LinkProperties.html)?
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.entities/-current-network-info-data/copy.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.entities/-current-network-info-data/copy.md
deleted file mode 100644
index fd528663..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.entities/-current-network-info-data/copy.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.entities](../index.md)/[CurrentNetworkInfoData](index.md)/[copy](copy.md)
-
-# copy
-
-[androidJvm]\
-fun [copy](copy.md)(capabilities: [NetworkCapabilities](https://developer.android.com/reference/kotlin/android/net/NetworkCapabilities.html)?, linkProperties: [LinkProperties](https://developer.android.com/reference/kotlin/android/net/LinkProperties.html)?): [CurrentNetworkInfoData](index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.entities/-current-network-info-data/index.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.entities/-current-network-info-data/index.md
deleted file mode 100644
index 7b1ed6d8..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.entities/-current-network-info-data/index.md
+++ /dev/null
@@ -1,24 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.entities](../index.md)/[CurrentNetworkInfoData](index.md)
-
-# CurrentNetworkInfoData
-
-[androidJvm]\
-data class [CurrentNetworkInfoData](index.md)(**capabilities**: [NetworkCapabilities](https://developer.android.com/reference/kotlin/android/net/NetworkCapabilities.html)?, **linkProperties**: [LinkProperties](https://developer.android.com/reference/kotlin/android/net/LinkProperties.html)?)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [component1](component1.md) | [androidJvm]
operator fun [component1](component1.md)(): [NetworkCapabilities](https://developer.android.com/reference/kotlin/android/net/NetworkCapabilities.html)? |
-| [component2](component2.md) | [androidJvm]
operator fun [component2](component2.md)(): [LinkProperties](https://developer.android.com/reference/kotlin/android/net/LinkProperties.html)? |
-| [copy](copy.md) | [androidJvm]
fun [copy](copy.md)(capabilities: [NetworkCapabilities](https://developer.android.com/reference/kotlin/android/net/NetworkCapabilities.html)?, linkProperties: [LinkProperties](https://developer.android.com/reference/kotlin/android/net/LinkProperties.html)?): [CurrentNetworkInfoData](index.md) |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator override fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open override fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open override fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [capabilities](capabilities.md) | [androidJvm]
val [capabilities](capabilities.md): [NetworkCapabilities](https://developer.android.com/reference/kotlin/android/net/NetworkCapabilities.html)? |
-| [linkProperties](link-properties.md) | [androidJvm]
val [linkProperties](link-properties.md): [LinkProperties](https://developer.android.com/reference/kotlin/android/net/LinkProperties.html)? |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.entities/-current-network-info-data/link-properties.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.entities/-current-network-info-data/link-properties.md
deleted file mode 100644
index f09f8097..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.entities/-current-network-info-data/link-properties.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.entities](../index.md)/[CurrentNetworkInfoData](index.md)/[linkProperties](link-properties.md)
-
-# linkProperties
-
-[androidJvm]\
-val [linkProperties](link-properties.md): [LinkProperties](https://developer.android.com/reference/kotlin/android/net/LinkProperties.html)?
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.entities/index.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.entities/index.md
deleted file mode 100644
index a9f8838a..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo.entities/index.md
+++ /dev/null
@@ -1,10 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.networkinfo.entities](index.md)
-
-# Package com.isupatches.android.wisefy.networkinfo.entities
-
-## Types
-
-| Name | Summary |
-|---|---|
-| [CurrentNetworkData](-current-network-data/index.md) | [androidJvm]
data class [CurrentNetworkData](-current-network-data/index.md)(**data**: [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html)) |
-| [CurrentNetworkInfoData](-current-network-info-data/index.md) | [androidJvm]
data class [CurrentNetworkInfoData](-current-network-info-data/index.md)(**capabilities**: [NetworkCapabilities](https://developer.android.com/reference/kotlin/android/net/NetworkCapabilities.html)?, **linkProperties**: [LinkProperties](https://developer.android.com/reference/kotlin/android/net/LinkProperties.html)?) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-l-o-g_-t-a-g.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-l-o-g_-t-a-g.md
deleted file mode 100644
index 311a780f..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-l-o-g_-t-a-g.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.networkinfo](index.md)/[LOG_TAG](-l-o-g_-t-a-g.md)
-
-# LOG_TAG
-
-[androidJvm]\
-private const val [LOG_TAG](-l-o-g_-t-a-g.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-network-info-api-async/get-current-network-info.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-network-info-api-async/get-current-network-info.md
deleted file mode 100644
index d683f3e4..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-network-info-api-async/get-current-network-info.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkinfo](../index.md)/[NetworkInfoApiAsync](index.md)/[getCurrentNetworkInfo](get-current-network-info.md)
-
-# getCurrentNetworkInfo
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
-
-abstract fun [getCurrentNetworkInfo](get-current-network-info.md)(callbacks: [GetCurrentNetworkInfoCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-current-network-info-callbacks/index.md)?, network: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html)? = null)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-network-info-api-async/get-current-network.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-network-info-api-async/get-current-network.md
deleted file mode 100644
index 287835fc..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-network-info-api-async/get-current-network.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkinfo](../index.md)/[NetworkInfoApiAsync](index.md)/[getCurrentNetwork](get-current-network.md)
-
-# getCurrentNetwork
-
-[androidJvm]\
-abstract fun [getCurrentNetwork](get-current-network.md)(callbacks: [GetCurrentNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-current-network-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-network-info-api-async/get-i-p.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-network-info-api-async/get-i-p.md
deleted file mode 100644
index 8a3b5ff0..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-network-info-api-async/get-i-p.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkinfo](../index.md)/[NetworkInfoApiAsync](index.md)/[getIP](get-i-p.md)
-
-# getIP
-
-[androidJvm]\
-abstract fun [getIP](get-i-p.md)(callbacks: [GetIPCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-i-p-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-network-info-api-async/index.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-network-info-api-async/index.md
deleted file mode 100644
index 891a16be..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-network-info-api-async/index.md
+++ /dev/null
@@ -1,24 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkinfo](../index.md)/[NetworkInfoApiAsync](index.md)
-
-# NetworkInfoApiAsync
-
-[androidJvm]\
-interface [NetworkInfoApiAsync](index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [getCurrentNetwork](get-current-network.md) | [androidJvm]
abstract fun [getCurrentNetwork](get-current-network.md)(callbacks: [GetCurrentNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-current-network-callbacks/index.md)?) |
-| [getCurrentNetworkInfo](get-current-network-info.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
abstract fun [getCurrentNetworkInfo](get-current-network-info.md)(callbacks: [GetCurrentNetworkInfoCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-current-network-info-callbacks/index.md)?, network: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html)? = null) |
-| [getIP](get-i-p.md) | [androidJvm]
abstract fun [getIP](get-i-p.md)(callbacks: [GetIPCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-i-p-callbacks/index.md)?) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [WisefyApi](../../com.isupatches.android.wisefy/-wisefy-api/index.md) |
-| [NetworkInfoUtil](../-network-info-util/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-network-info-api/get-current-network-info.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-network-info-api/get-current-network-info.md
deleted file mode 100644
index ae9ab364..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-network-info-api/get-current-network-info.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkinfo](../index.md)/[NetworkInfoApi](index.md)/[getCurrentNetworkInfo](get-current-network-info.md)
-
-# getCurrentNetworkInfo
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
-
-abstract fun [getCurrentNetworkInfo](get-current-network-info.md)(network: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html)? = null): [CurrentNetworkInfoData](../../com.isupatches.android.wisefy.networkinfo.entities/-current-network-info-data/index.md)?
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-network-info-api/get-current-network.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-network-info-api/get-current-network.md
deleted file mode 100644
index 3118e902..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-network-info-api/get-current-network.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkinfo](../index.md)/[NetworkInfoApi](index.md)/[getCurrentNetwork](get-current-network.md)
-
-# getCurrentNetwork
-
-[androidJvm]\
-abstract fun [getCurrentNetwork](get-current-network.md)(): [CurrentNetworkData](../../com.isupatches.android.wisefy.networkinfo.entities/-current-network-data/index.md)?
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-network-info-api/get-i-p.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-network-info-api/get-i-p.md
deleted file mode 100644
index c5b5882e..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-network-info-api/get-i-p.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkinfo](../index.md)/[NetworkInfoApi](index.md)/[getIP](get-i-p.md)
-
-# getIP
-
-[androidJvm]\
-abstract fun [getIP](get-i-p.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-network-info-api/index.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-network-info-api/index.md
deleted file mode 100644
index 7d371d27..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-network-info-api/index.md
+++ /dev/null
@@ -1,25 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkinfo](../index.md)/[NetworkInfoApi](index.md)
-
-# NetworkInfoApi
-
-[androidJvm]\
-interface [NetworkInfoApi](index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [getCurrentNetwork](get-current-network.md) | [androidJvm]
abstract fun [getCurrentNetwork](get-current-network.md)(): [CurrentNetworkData](../../com.isupatches.android.wisefy.networkinfo.entities/-current-network-data/index.md)? |
-| [getCurrentNetworkInfo](get-current-network-info.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
abstract fun [getCurrentNetworkInfo](get-current-network-info.md)(network: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html)? = null): [CurrentNetworkInfoData](../../com.isupatches.android.wisefy.networkinfo.entities/-current-network-info-data/index.md)? |
-| [getIP](get-i-p.md) | [androidJvm]
abstract fun [getIP](get-i-p.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)? |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [WisefyApi](../../com.isupatches.android.wisefy/-wisefy-api/index.md) |
-| [NetworkInfoUtil](../-network-info-util/index.md) |
-| [LegacyNetworkInfoDelegate](../../com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-delegate/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-network-info-util/index.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-network-info-util/index.md
deleted file mode 100644
index 647b76f1..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-network-info-util/index.md
+++ /dev/null
@@ -1,23 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkinfo](../index.md)/[NetworkInfoUtil](index.md)
-
-# NetworkInfoUtil
-
-[androidJvm]\
-internal interface [NetworkInfoUtil](index.md) : [NetworkInfoApi](../-network-info-api/index.md), [NetworkInfoApiAsync](../-network-info-api-async/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [getCurrentNetwork](../-network-info-api/get-current-network.md) | [androidJvm]
abstract fun [getCurrentNetwork](../-network-info-api/get-current-network.md)(): [CurrentNetworkData](../../com.isupatches.android.wisefy.networkinfo.entities/-current-network-data/index.md)?
abstract fun [getCurrentNetwork](../-network-info-api-async/get-current-network.md)(callbacks: [GetCurrentNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-current-network-callbacks/index.md)?) |
-| [getCurrentNetworkInfo](../-network-info-api/get-current-network-info.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
abstract fun [getCurrentNetworkInfo](../-network-info-api/get-current-network-info.md)(network: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html)? = null): [CurrentNetworkInfoData](../../com.isupatches.android.wisefy.networkinfo.entities/-current-network-info-data/index.md)?
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
abstract fun [getCurrentNetworkInfo](../-network-info-api-async/get-current-network-info.md)(callbacks: [GetCurrentNetworkInfoCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-current-network-info-callbacks/index.md)?, network: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html)? = null) |
-| [getIP](../-network-info-api/get-i-p.md) | [androidJvm]
abstract fun [getIP](../-network-info-api/get-i-p.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?
abstract fun [getIP](../-network-info-api-async/get-i-p.md)(callbacks: [GetIPCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-i-p-callbacks/index.md)?) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [WisefyNetworkInfoUtil](../-wisefy-network-info-util/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-util/-wisefy-network-info-util.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-util/-wisefy-network-info-util.md
deleted file mode 100644
index 817ed3d6..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-util/-wisefy-network-info-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkinfo](../index.md)/[WisefyNetworkInfoUtil](index.md)/[WisefyNetworkInfoUtil](-wisefy-network-info-util.md)
-
-# WisefyNetworkInfoUtil
-
-[androidJvm]\
-fun [WisefyNetworkInfoUtil](-wisefy-network-info-util.md)(coroutineDispatcherProvider: [CoroutineDispatcherProvider](../../com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/index.md), connectivityManager: [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html), logger: [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?, wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-util/coroutine-dispatcher-provider.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-util/coroutine-dispatcher-provider.md
deleted file mode 100644
index b1663ff1..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-util/coroutine-dispatcher-provider.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkinfo](../index.md)/[WisefyNetworkInfoUtil](index.md)/[coroutineDispatcherProvider](coroutine-dispatcher-provider.md)
-
-# coroutineDispatcherProvider
-
-[androidJvm]\
-private val [coroutineDispatcherProvider](coroutine-dispatcher-provider.md): [CoroutineDispatcherProvider](../../com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-util/delegate.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-util/delegate.md
deleted file mode 100644
index 17c41744..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-util/delegate.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkinfo](../index.md)/[WisefyNetworkInfoUtil](index.md)/[delegate](delegate.md)
-
-# delegate
-
-[androidJvm]\
-private val [delegate](delegate.md): [LegacyNetworkInfoDelegate](../../com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-delegate/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-util/get-current-network-info.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-util/get-current-network-info.md
deleted file mode 100644
index 62ed203b..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-util/get-current-network-info.md
+++ /dev/null
@@ -1,13 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkinfo](../index.md)/[WisefyNetworkInfoUtil](index.md)/[getCurrentNetworkInfo](get-current-network-info.md)
-
-# getCurrentNetworkInfo
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
-
-open override fun [getCurrentNetworkInfo](get-current-network-info.md)(network: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html)?): [CurrentNetworkInfoData](../../com.isupatches.android.wisefy.networkinfo.entities/-current-network-info-data/index.md)?
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
-
-open override fun [getCurrentNetworkInfo](get-current-network-info.md)(callbacks: [GetCurrentNetworkInfoCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-current-network-info-callbacks/index.md)?, network: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-util/get-current-network.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-util/get-current-network.md
deleted file mode 100644
index 42243838..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-util/get-current-network.md
+++ /dev/null
@@ -1,8 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkinfo](../index.md)/[WisefyNetworkInfoUtil](index.md)/[getCurrentNetwork](get-current-network.md)
-
-# getCurrentNetwork
-
-[androidJvm]\
-open override fun [getCurrentNetwork](get-current-network.md)(): [CurrentNetworkData](../../com.isupatches.android.wisefy.networkinfo.entities/-current-network-data/index.md)?
-
-open override fun [getCurrentNetwork](get-current-network.md)(callbacks: [GetCurrentNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-current-network-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-util/get-i-p.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-util/get-i-p.md
deleted file mode 100644
index 513e3835..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-util/get-i-p.md
+++ /dev/null
@@ -1,8 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkinfo](../index.md)/[WisefyNetworkInfoUtil](index.md)/[getIP](get-i-p.md)
-
-# getIP
-
-[androidJvm]\
-open override fun [getIP](get-i-p.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?
-
-open override fun [getIP](get-i-p.md)(callbacks: [GetIPCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-i-p-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-util/index.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-util/index.md
deleted file mode 100644
index dc4dfd91..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-util/index.md
+++ /dev/null
@@ -1,25 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkinfo](../index.md)/[WisefyNetworkInfoUtil](index.md)
-
-# WisefyNetworkInfoUtil
-
-[androidJvm]\
-internal class [WisefyNetworkInfoUtil](index.md)(**coroutineDispatcherProvider**: [CoroutineDispatcherProvider](../../com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/index.md), **connectivityManager**: [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html), **logger**: [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?, **wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)) : [NetworkInfoUtil](../-network-info-util/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [getCurrentNetwork](get-current-network.md) | [androidJvm]
open override fun [getCurrentNetwork](get-current-network.md)(): [CurrentNetworkData](../../com.isupatches.android.wisefy.networkinfo.entities/-current-network-data/index.md)?
open override fun [getCurrentNetwork](get-current-network.md)(callbacks: [GetCurrentNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-current-network-callbacks/index.md)?) |
-| [getCurrentNetworkInfo](get-current-network-info.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
open override fun [getCurrentNetworkInfo](get-current-network-info.md)(network: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html)?): [CurrentNetworkInfoData](../../com.isupatches.android.wisefy.networkinfo.entities/-current-network-info-data/index.md)?
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
open override fun [getCurrentNetworkInfo](get-current-network-info.md)(callbacks: [GetCurrentNetworkInfoCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-current-network-info-callbacks/index.md)?, network: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html)?) |
-| [getIP](get-i-p.md) | [androidJvm]
open override fun [getIP](get-i-p.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?
open override fun [getIP](get-i-p.md)(callbacks: [GetIPCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-i-p-callbacks/index.md)?) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [coroutineDispatcherProvider](coroutine-dispatcher-provider.md) | [androidJvm]
private val [coroutineDispatcherProvider](coroutine-dispatcher-provider.md): [CoroutineDispatcherProvider](../../com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/index.md) |
-| [delegate](delegate.md) | [androidJvm]
private val [delegate](delegate.md): [LegacyNetworkInfoDelegate](../../com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-delegate/index.md) |
-| [networkInfoScope](network-info-scope.md) | [androidJvm]
private val [networkInfoScope](network-info-scope.md): CoroutineScope |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-util/network-info-scope.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-util/network-info-scope.md
deleted file mode 100644
index 5f026f72..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-util/network-info-scope.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.networkinfo](../index.md)/[WisefyNetworkInfoUtil](index.md)/[networkInfoScope](network-info-scope.md)
-
-# networkInfoScope
-
-[androidJvm]\
-private val [networkInfoScope](network-info-scope.md): CoroutineScope
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/index.md b/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/index.md
deleted file mode 100644
index 8db9d0f6..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.networkinfo/index.md
+++ /dev/null
@@ -1,18 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.networkinfo](index.md)
-
-# Package com.isupatches.android.wisefy.networkinfo
-
-## Types
-
-| Name | Summary |
-|---|---|
-| [NetworkInfoApi](-network-info-api/index.md) | [androidJvm]
interface [NetworkInfoApi](-network-info-api/index.md) |
-| [NetworkInfoApiAsync](-network-info-api-async/index.md) | [androidJvm]
interface [NetworkInfoApiAsync](-network-info-api-async/index.md) |
-| [NetworkInfoUtil](-network-info-util/index.md) | [androidJvm]
internal interface [NetworkInfoUtil](-network-info-util/index.md) : [NetworkInfoApi](-network-info-api/index.md), [NetworkInfoApiAsync](-network-info-api-async/index.md) |
-| [WisefyNetworkInfoUtil](-wisefy-network-info-util/index.md) | [androidJvm]
internal class [WisefyNetworkInfoUtil](-wisefy-network-info-util/index.md)(**coroutineDispatcherProvider**: [CoroutineDispatcherProvider](../com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/index.md), **connectivityManager**: [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html), **logger**: [WisefyLogger](../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?, **wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)) : [NetworkInfoUtil](-network-info-util/index.md) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [LOG_TAG](-l-o-g_-t-a-g.md) | [androidJvm]
private const val [LOG_TAG](-l-o-g_-t-a-g.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-android29-remove-network-api-impl/-android29-remove-network-api-impl.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-android29-remove-network-api-impl/-android29-remove-network-api-impl.md
deleted file mode 100644
index 4814dfc5..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-android29-remove-network-api-impl/-android29-remove-network-api-impl.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.removenetwork.delegates](../index.md)/[Android29RemoveNetworkApiImpl](index.md)/[Android29RemoveNetworkApiImpl](-android29-remove-network-api-impl.md)
-
-# Android29RemoveNetworkApiImpl
-
-[androidJvm]\
-fun [Android29RemoveNetworkApiImpl](-android29-remove-network-api-impl.md)(wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-android29-remove-network-api-impl/index.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-android29-remove-network-api-impl/index.md
deleted file mode 100644
index bfe044ed..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-android29-remove-network-api-impl/index.md
+++ /dev/null
@@ -1,21 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.removenetwork.delegates](../index.md)/[Android29RemoveNetworkApiImpl](index.md)
-
-# Android29RemoveNetworkApiImpl
-
-[androidJvm]\
-internal class [Android29RemoveNetworkApiImpl](index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)) : [Android29RemoveNetworkApi](../-android29-remove-network-api/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [removeNetwork](remove-network.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
open override fun [removeNetwork](remove-network.md)(ssidToRemove: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [RemoveNetworkResult](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/index.md) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [wifiManager](wifi-manager.md) | [androidJvm]
private val [wifiManager](wifi-manager.md): [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-android29-remove-network-api-impl/remove-network.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-android29-remove-network-api-impl/remove-network.md
deleted file mode 100644
index 09458e7a..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-android29-remove-network-api-impl/remove-network.md
+++ /dev/null
@@ -1,11 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.removenetwork.delegates](../index.md)/[Android29RemoveNetworkApiImpl](index.md)/[removeNetwork](remove-network.md)
-
-# removeNetwork
-
-[androidJvm]\
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
-
-open override fun [removeNetwork](remove-network.md)(ssidToRemove: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [RemoveNetworkResult](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-android29-remove-network-api-impl/wifi-manager.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-android29-remove-network-api-impl/wifi-manager.md
deleted file mode 100644
index 96fa1db8..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-android29-remove-network-api-impl/wifi-manager.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.removenetwork.delegates](../index.md)/[Android29RemoveNetworkApiImpl](index.md)/[wifiManager](wifi-manager.md)
-
-# wifiManager
-
-[androidJvm]\
-private val [wifiManager](wifi-manager.md): [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-android29-remove-network-api/index.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-android29-remove-network-api/index.md
deleted file mode 100644
index d11e3ca3..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-android29-remove-network-api/index.md
+++ /dev/null
@@ -1,21 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.removenetwork.delegates](../index.md)/[Android29RemoveNetworkApi](index.md)
-
-# Android29RemoveNetworkApi
-
-[androidJvm]\
-internal interface [Android29RemoveNetworkApi](index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [removeNetwork](remove-network.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
abstract fun [removeNetwork](remove-network.md)(ssidToRemove: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [RemoveNetworkResult](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/index.md) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [Android29RemoveNetworkApiImpl](../-android29-remove-network-api-impl/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-android29-remove-network-api/remove-network.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-android29-remove-network-api/remove-network.md
deleted file mode 100644
index 2b50b767..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-android29-remove-network-api/remove-network.md
+++ /dev/null
@@ -1,11 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.removenetwork.delegates](../index.md)/[Android29RemoveNetworkApi](index.md)/[removeNetwork](remove-network.md)
-
-# removeNetwork
-
-[androidJvm]\
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
-
-abstract fun [removeNetwork](remove-network.md)(ssidToRemove: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [RemoveNetworkResult](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-android29-remove-network-delegate/-android29-remove-network-delegate.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-android29-remove-network-delegate/-android29-remove-network-delegate.md
deleted file mode 100644
index 51b255ae..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-android29-remove-network-delegate/-android29-remove-network-delegate.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.removenetwork.delegates](../index.md)/[Android29RemoveNetworkDelegate](index.md)/[Android29RemoveNetworkDelegate](-android29-remove-network-delegate.md)
-
-# Android29RemoveNetworkDelegate
-
-[androidJvm]\
-fun [Android29RemoveNetworkDelegate](-android29-remove-network-delegate.md)(wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), impl: [Android29RemoveNetworkApi](../-android29-remove-network-api/index.md) = Android29RemoveNetworkApiImpl(wifiManager))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-android29-remove-network-delegate/impl.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-android29-remove-network-delegate/impl.md
deleted file mode 100644
index bde271a2..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-android29-remove-network-delegate/impl.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.removenetwork.delegates](../index.md)/[Android29RemoveNetworkDelegate](index.md)/[impl](impl.md)
-
-# impl
-
-[androidJvm]\
-private val [impl](impl.md): [Android29RemoveNetworkApi](../-android29-remove-network-api/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-android29-remove-network-delegate/index.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-android29-remove-network-delegate/index.md
deleted file mode 100644
index 0b1cfacf..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-android29-remove-network-delegate/index.md
+++ /dev/null
@@ -1,22 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.removenetwork.delegates](../index.md)/[Android29RemoveNetworkDelegate](index.md)
-
-# Android29RemoveNetworkDelegate
-
-[androidJvm]\
-internal class [Android29RemoveNetworkDelegate](index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), **impl**: [Android29RemoveNetworkApi](../-android29-remove-network-api/index.md)) : [RemoveNetworkApi](../../com.isupatches.android.wisefy.removenetwork/-remove-network-api/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [removeNetwork](remove-network.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
open override fun [removeNetwork](remove-network.md)(ssidToRemove: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [RemoveNetworkResult](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/index.md) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [impl](impl.md) | [androidJvm]
private val [impl](impl.md): [Android29RemoveNetworkApi](../-android29-remove-network-api/index.md) |
-| [wifiManager](wifi-manager.md) | [androidJvm]
private val [wifiManager](wifi-manager.md): [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-android29-remove-network-delegate/remove-network.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-android29-remove-network-delegate/remove-network.md
deleted file mode 100644
index 288603b8..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-android29-remove-network-delegate/remove-network.md
+++ /dev/null
@@ -1,11 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.removenetwork.delegates](../index.md)/[Android29RemoveNetworkDelegate](index.md)/[removeNetwork](remove-network.md)
-
-# removeNetwork
-
-[androidJvm]\
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
-
-open override fun [removeNetwork](remove-network.md)(ssidToRemove: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [RemoveNetworkResult](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-android29-remove-network-delegate/wifi-manager.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-android29-remove-network-delegate/wifi-manager.md
deleted file mode 100644
index e0dd9559..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-android29-remove-network-delegate/wifi-manager.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.removenetwork.delegates](../index.md)/[Android29RemoveNetworkDelegate](index.md)/[wifiManager](wifi-manager.md)
-
-# wifiManager
-
-[androidJvm]\
-private val [wifiManager](wifi-manager.md): [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-api-impl/-legacy-remove-network-api-impl.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-api-impl/-legacy-remove-network-api-impl.md
deleted file mode 100644
index bc2995cd..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-api-impl/-legacy-remove-network-api-impl.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.removenetwork.delegates](../index.md)/[LegacyRemoveNetworkApiImpl](index.md)/[LegacyRemoveNetworkApiImpl](-legacy-remove-network-api-impl.md)
-
-# LegacyRemoveNetworkApiImpl
-
-[androidJvm]\
-fun [LegacyRemoveNetworkApiImpl](-legacy-remove-network-api-impl.md)(wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), savedNetworkUtil: [SavedNetworkUtil](../../com.isupatches.android.wisefy.savednetworks/-saved-network-util/index.md))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-api-impl/index.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-api-impl/index.md
deleted file mode 100644
index 2cfe9f77..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-api-impl/index.md
+++ /dev/null
@@ -1,22 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.removenetwork.delegates](../index.md)/[LegacyRemoveNetworkApiImpl](index.md)
-
-# LegacyRemoveNetworkApiImpl
-
-[androidJvm]\
-internal class [LegacyRemoveNetworkApiImpl](index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), **savedNetworkUtil**: [SavedNetworkUtil](../../com.isupatches.android.wisefy.savednetworks/-saved-network-util/index.md)) : [LegacyRemoveNetworkApi](../-legacy-remove-network-api/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [removeNetwork](remove-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
open override fun [removeNetwork](remove-network.md)(ssidToRemove: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [RemoveNetworkResult](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/index.md) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [savedNetworkUtil](saved-network-util.md) | [androidJvm]
private val [savedNetworkUtil](saved-network-util.md): [SavedNetworkUtil](../../com.isupatches.android.wisefy.savednetworks/-saved-network-util/index.md) |
-| [wifiManager](wifi-manager.md) | [androidJvm]
private val [wifiManager](wifi-manager.md): [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-api-impl/remove-network.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-api-impl/remove-network.md
deleted file mode 100644
index 40369e6e..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-api-impl/remove-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.removenetwork.delegates](../index.md)/[LegacyRemoveNetworkApiImpl](index.md)/[removeNetwork](remove-network.md)
-
-# removeNetwork
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
-
-open override fun [removeNetwork](remove-network.md)(ssidToRemove: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [RemoveNetworkResult](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-api-impl/saved-network-util.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-api-impl/saved-network-util.md
deleted file mode 100644
index ea862e63..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-api-impl/saved-network-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.removenetwork.delegates](../index.md)/[LegacyRemoveNetworkApiImpl](index.md)/[savedNetworkUtil](saved-network-util.md)
-
-# savedNetworkUtil
-
-[androidJvm]\
-private val [savedNetworkUtil](saved-network-util.md): [SavedNetworkUtil](../../com.isupatches.android.wisefy.savednetworks/-saved-network-util/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-api-impl/wifi-manager.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-api-impl/wifi-manager.md
deleted file mode 100644
index 61e682aa..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-api-impl/wifi-manager.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.removenetwork.delegates](../index.md)/[LegacyRemoveNetworkApiImpl](index.md)/[wifiManager](wifi-manager.md)
-
-# wifiManager
-
-[androidJvm]\
-private val [wifiManager](wifi-manager.md): [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-api/index.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-api/index.md
deleted file mode 100644
index 3f621afd..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-api/index.md
+++ /dev/null
@@ -1,21 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.removenetwork.delegates](../index.md)/[LegacyRemoveNetworkApi](index.md)
-
-# LegacyRemoveNetworkApi
-
-[androidJvm]\
-internal interface [LegacyRemoveNetworkApi](index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [removeNetwork](remove-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
abstract fun [removeNetwork](remove-network.md)(ssidToRemove: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [RemoveNetworkResult](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/index.md) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [LegacyRemoveNetworkApiImpl](../-legacy-remove-network-api-impl/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-api/remove-network.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-api/remove-network.md
deleted file mode 100644
index 935e8a0f..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-api/remove-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.removenetwork.delegates](../index.md)/[LegacyRemoveNetworkApi](index.md)/[removeNetwork](remove-network.md)
-
-# removeNetwork
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
-
-abstract fun [removeNetwork](remove-network.md)(ssidToRemove: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [RemoveNetworkResult](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-delegate/-legacy-remove-network-delegate.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-delegate/-legacy-remove-network-delegate.md
deleted file mode 100644
index ddd20bef..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-delegate/-legacy-remove-network-delegate.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.removenetwork.delegates](../index.md)/[LegacyRemoveNetworkDelegate](index.md)/[LegacyRemoveNetworkDelegate](-legacy-remove-network-delegate.md)
-
-# LegacyRemoveNetworkDelegate
-
-[androidJvm]\
-fun [LegacyRemoveNetworkDelegate](-legacy-remove-network-delegate.md)(wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), savedNetworkUtil: [SavedNetworkUtil](../../com.isupatches.android.wisefy.savednetworks/-saved-network-util/index.md), impl: [LegacyRemoveNetworkApi](../-legacy-remove-network-api/index.md) = LegacyRemoveNetworkApiImpl(
- wifiManager,
- savedNetworkUtil
- ))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-delegate/impl.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-delegate/impl.md
deleted file mode 100644
index a11e4cd2..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-delegate/impl.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.removenetwork.delegates](../index.md)/[LegacyRemoveNetworkDelegate](index.md)/[impl](impl.md)
-
-# impl
-
-[androidJvm]\
-private val [impl](impl.md): [LegacyRemoveNetworkApi](../-legacy-remove-network-api/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-delegate/index.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-delegate/index.md
deleted file mode 100644
index 41c25f03..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-delegate/index.md
+++ /dev/null
@@ -1,23 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.removenetwork.delegates](../index.md)/[LegacyRemoveNetworkDelegate](index.md)
-
-# LegacyRemoveNetworkDelegate
-
-[androidJvm]\
-internal class [LegacyRemoveNetworkDelegate](index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), **savedNetworkUtil**: [SavedNetworkUtil](../../com.isupatches.android.wisefy.savednetworks/-saved-network-util/index.md), **impl**: [LegacyRemoveNetworkApi](../-legacy-remove-network-api/index.md)) : [RemoveNetworkApi](../../com.isupatches.android.wisefy.removenetwork/-remove-network-api/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [removeNetwork](remove-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
open override fun [removeNetwork](remove-network.md)(ssidToRemove: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [RemoveNetworkResult](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/index.md) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [impl](impl.md) | [androidJvm]
private val [impl](impl.md): [LegacyRemoveNetworkApi](../-legacy-remove-network-api/index.md) |
-| [savedNetworkUtil](saved-network-util.md) | [androidJvm]
private val [savedNetworkUtil](saved-network-util.md): [SavedNetworkUtil](../../com.isupatches.android.wisefy.savednetworks/-saved-network-util/index.md) |
-| [wifiManager](wifi-manager.md) | [androidJvm]
private val [wifiManager](wifi-manager.md): [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-delegate/remove-network.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-delegate/remove-network.md
deleted file mode 100644
index 340714d2..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-delegate/remove-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.removenetwork.delegates](../index.md)/[LegacyRemoveNetworkDelegate](index.md)/[removeNetwork](remove-network.md)
-
-# removeNetwork
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
-
-open override fun [removeNetwork](remove-network.md)(ssidToRemove: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [RemoveNetworkResult](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-delegate/saved-network-util.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-delegate/saved-network-util.md
deleted file mode 100644
index 7ecefe32..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-delegate/saved-network-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.removenetwork.delegates](../index.md)/[LegacyRemoveNetworkDelegate](index.md)/[savedNetworkUtil](saved-network-util.md)
-
-# savedNetworkUtil
-
-[androidJvm]\
-private val [savedNetworkUtil](saved-network-util.md): [SavedNetworkUtil](../../com.isupatches.android.wisefy.savednetworks/-saved-network-util/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-delegate/wifi-manager.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-delegate/wifi-manager.md
deleted file mode 100644
index 8b606acd..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-delegate/wifi-manager.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.removenetwork.delegates](../index.md)/[LegacyRemoveNetworkDelegate](index.md)/[wifiManager](wifi-manager.md)
-
-# wifiManager
-
-[androidJvm]\
-private val [wifiManager](wifi-manager.md): [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/index.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/index.md
deleted file mode 100644
index 10448618..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/index.md
+++ /dev/null
@@ -1,14 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.removenetwork.delegates](index.md)
-
-# Package com.isupatches.android.wisefy.removenetwork.delegates
-
-## Types
-
-| Name | Summary |
-|---|---|
-| [Android29RemoveNetworkApi](-android29-remove-network-api/index.md) | [androidJvm]
internal interface [Android29RemoveNetworkApi](-android29-remove-network-api/index.md) |
-| [Android29RemoveNetworkApiImpl](-android29-remove-network-api-impl/index.md) | [androidJvm]
internal class [Android29RemoveNetworkApiImpl](-android29-remove-network-api-impl/index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)) : [Android29RemoveNetworkApi](-android29-remove-network-api/index.md) |
-| [Android29RemoveNetworkDelegate](-android29-remove-network-delegate/index.md) | [androidJvm]
internal class [Android29RemoveNetworkDelegate](-android29-remove-network-delegate/index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), **impl**: [Android29RemoveNetworkApi](-android29-remove-network-api/index.md)) : [RemoveNetworkApi](../com.isupatches.android.wisefy.removenetwork/-remove-network-api/index.md) |
-| [LegacyRemoveNetworkApi](-legacy-remove-network-api/index.md) | [androidJvm]
internal interface [LegacyRemoveNetworkApi](-legacy-remove-network-api/index.md) |
-| [LegacyRemoveNetworkApiImpl](-legacy-remove-network-api-impl/index.md) | [androidJvm]
internal class [LegacyRemoveNetworkApiImpl](-legacy-remove-network-api-impl/index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), **savedNetworkUtil**: [SavedNetworkUtil](../com.isupatches.android.wisefy.savednetworks/-saved-network-util/index.md)) : [LegacyRemoveNetworkApi](-legacy-remove-network-api/index.md) |
-| [LegacyRemoveNetworkDelegate](-legacy-remove-network-delegate/index.md) | [androidJvm]
internal class [LegacyRemoveNetworkDelegate](-legacy-remove-network-delegate/index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), **savedNetworkUtil**: [SavedNetworkUtil](../com.isupatches.android.wisefy.savednetworks/-saved-network-util/index.md), **impl**: [LegacyRemoveNetworkApi](-legacy-remove-network-api/index.md)) : [RemoveNetworkApi](../com.isupatches.android.wisefy.removenetwork/-remove-network-api/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-network-not-found/index.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-network-not-found/index.md
deleted file mode 100644
index 491941b0..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-network-not-found/index.md
+++ /dev/null
@@ -1,14 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.removenetwork.entities](../../index.md)/[RemoveNetworkResult](../index.md)/[NetworkNotFound](index.md)
-
-# NetworkNotFound
-
-[androidJvm]\
-object [NetworkNotFound](index.md) : [RemoveNetworkResult](../index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-remove-network-result.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-remove-network-result.md
deleted file mode 100644
index d0e2a107..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-remove-network-result.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.removenetwork.entities](../index.md)/[RemoveNetworkResult](index.md)/[RemoveNetworkResult](-remove-network-result.md)
-
-# RemoveNetworkResult
-
-[androidJvm]\
-protected fun [RemoveNetworkResult](-remove-network-result.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-result-code/-result-code.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-result-code/-result-code.md
deleted file mode 100644
index e8ea7632..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-result-code/-result-code.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.removenetwork.entities](../../index.md)/[RemoveNetworkResult](../index.md)/[ResultCode](index.md)/[ResultCode](-result-code.md)
-
-# ResultCode
-
-[androidJvm]\
-fun [ResultCode](-result-code.md)(data: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-result-code/component1.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-result-code/component1.md
deleted file mode 100644
index 3b2b10b1..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-result-code/component1.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.removenetwork.entities](../../index.md)/[RemoveNetworkResult](../index.md)/[ResultCode](index.md)/[component1](component1.md)
-
-# component1
-
-[androidJvm]\
-operator fun [component1](component1.md)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-result-code/copy.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-result-code/copy.md
deleted file mode 100644
index 9b931c13..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-result-code/copy.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.removenetwork.entities](../../index.md)/[RemoveNetworkResult](../index.md)/[ResultCode](index.md)/[copy](copy.md)
-
-# copy
-
-[androidJvm]\
-fun [copy](copy.md)(data: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [RemoveNetworkResult.ResultCode](index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-result-code/data.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-result-code/data.md
deleted file mode 100644
index 2c115320..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-result-code/data.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.removenetwork.entities](../../index.md)/[RemoveNetworkResult](../index.md)/[ResultCode](index.md)/[data](data.md)
-
-# data
-
-[androidJvm]\
-val [data](data.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-result-code/index.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-result-code/index.md
deleted file mode 100644
index 6202fa9e..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-result-code/index.md
+++ /dev/null
@@ -1,22 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.removenetwork.entities](../../index.md)/[RemoveNetworkResult](../index.md)/[ResultCode](index.md)
-
-# ResultCode
-
-[androidJvm]\
-data class [ResultCode](index.md)(**data**: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)) : [RemoveNetworkResult](../index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [component1](component1.md) | [androidJvm]
operator fun [component1](component1.md)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [copy](copy.md) | [androidJvm]
fun [copy](copy.md)(data: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [RemoveNetworkResult.ResultCode](index.md) |
-| [equals](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator override fun [equals](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open override fun [hashCode](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open override fun [toString](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [data](data.md) | [androidJvm]
val [data](data.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-succeeded/-succeeded.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-succeeded/-succeeded.md
deleted file mode 100644
index cc4410ce..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-succeeded/-succeeded.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.removenetwork.entities](../../index.md)/[RemoveNetworkResult](../index.md)/[Succeeded](index.md)/[Succeeded](-succeeded.md)
-
-# Succeeded
-
-[androidJvm]\
-fun [Succeeded](-succeeded.md)(data: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-succeeded/component1.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-succeeded/component1.md
deleted file mode 100644
index a0c05227..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-succeeded/component1.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.removenetwork.entities](../../index.md)/[RemoveNetworkResult](../index.md)/[Succeeded](index.md)/[component1](component1.md)
-
-# component1
-
-[androidJvm]\
-operator fun [component1](component1.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-succeeded/copy.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-succeeded/copy.md
deleted file mode 100644
index 3873b0e3..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-succeeded/copy.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.removenetwork.entities](../../index.md)/[RemoveNetworkResult](../index.md)/[Succeeded](index.md)/[copy](copy.md)
-
-# copy
-
-[androidJvm]\
-fun [copy](copy.md)(data: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [RemoveNetworkResult.Succeeded](index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-succeeded/data.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-succeeded/data.md
deleted file mode 100644
index df5386e2..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-succeeded/data.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.removenetwork.entities](../../index.md)/[RemoveNetworkResult](../index.md)/[Succeeded](index.md)/[data](data.md)
-
-# data
-
-[androidJvm]\
-val [data](data.md): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-succeeded/index.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-succeeded/index.md
deleted file mode 100644
index 948df608..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-succeeded/index.md
+++ /dev/null
@@ -1,22 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.removenetwork.entities](../../index.md)/[RemoveNetworkResult](../index.md)/[Succeeded](index.md)
-
-# Succeeded
-
-[androidJvm]\
-data class [Succeeded](index.md)(**data**: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)) : [RemoveNetworkResult](../index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [component1](component1.md) | [androidJvm]
operator fun [component1](component1.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [copy](copy.md) | [androidJvm]
fun [copy](copy.md)(data: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [RemoveNetworkResult.Succeeded](index.md) |
-| [equals](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator override fun [equals](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open override fun [hashCode](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open override fun [toString](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [data](data.md) | [androidJvm]
val [data](data.md): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/index.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/index.md
deleted file mode 100644
index bc742b5e..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/index.md
+++ /dev/null
@@ -1,30 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.removenetwork.entities](../index.md)/[RemoveNetworkResult](index.md)
-
-# RemoveNetworkResult
-
-[androidJvm]\
-sealed class [RemoveNetworkResult](index.md)
-
-## Types
-
-| Name | Summary |
-|---|---|
-| [NetworkNotFound](-network-not-found/index.md) | [androidJvm]
object [NetworkNotFound](-network-not-found/index.md) : [RemoveNetworkResult](index.md) |
-| [ResultCode](-result-code/index.md) | [androidJvm]
data class [ResultCode](-result-code/index.md)(**data**: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)) : [RemoveNetworkResult](index.md) |
-| [Succeeded](-succeeded/index.md) | [androidJvm]
data class [Succeeded](-succeeded/index.md)(**data**: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)) : [RemoveNetworkResult](index.md) |
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [RemoveNetworkResult](-result-code/index.md) |
-| [RemoveNetworkResult](-succeeded/index.md) |
-| [RemoveNetworkResult](-network-not-found/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.entities/index.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.entities/index.md
deleted file mode 100644
index efa364f3..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork.entities/index.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.removenetwork.entities](index.md)
-
-# Package com.isupatches.android.wisefy.removenetwork.entities
-
-## Types
-
-| Name | Summary |
-|---|---|
-| [RemoveNetworkResult](-remove-network-result/index.md) | [androidJvm]
sealed class [RemoveNetworkResult](-remove-network-result/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork/-l-o-g_-t-a-g.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork/-l-o-g_-t-a-g.md
deleted file mode 100644
index 46491bf8..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork/-l-o-g_-t-a-g.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.removenetwork](index.md)/[LOG_TAG](-l-o-g_-t-a-g.md)
-
-# LOG_TAG
-
-[androidJvm]\
-private const val [LOG_TAG](-l-o-g_-t-a-g.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork/-remove-network-api-async/index.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork/-remove-network-api-async/index.md
deleted file mode 100644
index a1b615b9..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork/-remove-network-api-async/index.md
+++ /dev/null
@@ -1,22 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.removenetwork](../index.md)/[RemoveNetworkApiAsync](index.md)
-
-# RemoveNetworkApiAsync
-
-[androidJvm]\
-interface [RemoveNetworkApiAsync](index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [removeNetwork](remove-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
abstract fun [removeNetwork](remove-network.md)(ssidToRemove: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), callbacks: [RemoveNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-remove-network-callbacks/index.md)?) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [WisefyApi](../../com.isupatches.android.wisefy/-wisefy-api/index.md) |
-| [RemoveNetworkUtil](../-remove-network-util/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork/-remove-network-api-async/remove-network.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork/-remove-network-api-async/remove-network.md
deleted file mode 100644
index 268057b2..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork/-remove-network-api-async/remove-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.removenetwork](../index.md)/[RemoveNetworkApiAsync](index.md)/[removeNetwork](remove-network.md)
-
-# removeNetwork
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
-
-abstract fun [removeNetwork](remove-network.md)(ssidToRemove: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), callbacks: [RemoveNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-remove-network-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork/-remove-network-api/index.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork/-remove-network-api/index.md
deleted file mode 100644
index 127d614b..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork/-remove-network-api/index.md
+++ /dev/null
@@ -1,24 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.removenetwork](../index.md)/[RemoveNetworkApi](index.md)
-
-# RemoveNetworkApi
-
-[androidJvm]\
-interface [RemoveNetworkApi](index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [removeNetwork](remove-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
abstract fun [removeNetwork](remove-network.md)(ssidToRemove: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [RemoveNetworkResult](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/index.md) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [WisefyApi](../../com.isupatches.android.wisefy/-wisefy-api/index.md) |
-| [RemoveNetworkUtil](../-remove-network-util/index.md) |
-| [Android29RemoveNetworkDelegate](../../com.isupatches.android.wisefy.removenetwork.delegates/-android29-remove-network-delegate/index.md) |
-| [LegacyRemoveNetworkDelegate](../../com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-delegate/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork/-remove-network-api/remove-network.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork/-remove-network-api/remove-network.md
deleted file mode 100644
index 1ea639da..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork/-remove-network-api/remove-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.removenetwork](../index.md)/[RemoveNetworkApi](index.md)/[removeNetwork](remove-network.md)
-
-# removeNetwork
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
-
-abstract fun [removeNetwork](remove-network.md)(ssidToRemove: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [RemoveNetworkResult](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork/-remove-network-util/index.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork/-remove-network-util/index.md
deleted file mode 100644
index e1f298c5..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork/-remove-network-util/index.md
+++ /dev/null
@@ -1,21 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.removenetwork](../index.md)/[RemoveNetworkUtil](index.md)
-
-# RemoveNetworkUtil
-
-[androidJvm]\
-internal interface [RemoveNetworkUtil](index.md) : [RemoveNetworkApi](../-remove-network-api/index.md), [RemoveNetworkApiAsync](../-remove-network-api-async/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [removeNetwork](../-remove-network-api/remove-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
abstract fun [removeNetwork](../-remove-network-api/remove-network.md)(ssidToRemove: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [RemoveNetworkResult](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/index.md)
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
abstract fun [removeNetwork](../-remove-network-api-async/remove-network.md)(ssidToRemove: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), callbacks: [RemoveNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-remove-network-callbacks/index.md)?) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [WisefyRemoveNetworkUtil](../-wisefy-remove-network-util/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork/-wisefy-remove-network-util/-wisefy-remove-network-util.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork/-wisefy-remove-network-util/-wisefy-remove-network-util.md
deleted file mode 100644
index 86239b00..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork/-wisefy-remove-network-util/-wisefy-remove-network-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.removenetwork](../index.md)/[WisefyRemoveNetworkUtil](index.md)/[WisefyRemoveNetworkUtil](-wisefy-remove-network-util.md)
-
-# WisefyRemoveNetworkUtil
-
-[androidJvm]\
-fun [WisefyRemoveNetworkUtil](-wisefy-remove-network-util.md)(coroutineDispatcherProvider: [CoroutineDispatcherProvider](../../com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/index.md), logger: [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?, savedNetworkUtil: [SavedNetworkUtil](../../com.isupatches.android.wisefy.savednetworks/-saved-network-util/index.md), sdkUtil: [SdkUtil](../../com.isupatches.android.wisefy.util/-sdk-util/index.md), wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork/-wisefy-remove-network-util/coroutine-dispatcher-provider.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork/-wisefy-remove-network-util/coroutine-dispatcher-provider.md
deleted file mode 100644
index b2babe64..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork/-wisefy-remove-network-util/coroutine-dispatcher-provider.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.removenetwork](../index.md)/[WisefyRemoveNetworkUtil](index.md)/[coroutineDispatcherProvider](coroutine-dispatcher-provider.md)
-
-# coroutineDispatcherProvider
-
-[androidJvm]\
-private val [coroutineDispatcherProvider](coroutine-dispatcher-provider.md): [CoroutineDispatcherProvider](../../com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork/-wisefy-remove-network-util/delegate.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork/-wisefy-remove-network-util/delegate.md
deleted file mode 100644
index c138b7a5..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork/-wisefy-remove-network-util/delegate.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.removenetwork](../index.md)/[WisefyRemoveNetworkUtil](index.md)/[delegate](delegate.md)
-
-# delegate
-
-[androidJvm]\
-private val [delegate](delegate.md): [RemoveNetworkApi](../-remove-network-api/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork/-wisefy-remove-network-util/index.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork/-wisefy-remove-network-util/index.md
deleted file mode 100644
index 0e1b3a7c..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork/-wisefy-remove-network-util/index.md
+++ /dev/null
@@ -1,23 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.removenetwork](../index.md)/[WisefyRemoveNetworkUtil](index.md)
-
-# WisefyRemoveNetworkUtil
-
-[androidJvm]\
-internal class [WisefyRemoveNetworkUtil](index.md)(**coroutineDispatcherProvider**: [CoroutineDispatcherProvider](../../com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/index.md), **logger**: [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?, **savedNetworkUtil**: [SavedNetworkUtil](../../com.isupatches.android.wisefy.savednetworks/-saved-network-util/index.md), **sdkUtil**: [SdkUtil](../../com.isupatches.android.wisefy.util/-sdk-util/index.md), **wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)) : [RemoveNetworkUtil](../-remove-network-util/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [removeNetwork](remove-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
open override fun [removeNetwork](remove-network.md)(ssidToRemove: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [RemoveNetworkResult](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/index.md)
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
open override fun [removeNetwork](remove-network.md)(ssidToRemove: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), callbacks: [RemoveNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-remove-network-callbacks/index.md)?) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [coroutineDispatcherProvider](coroutine-dispatcher-provider.md) | [androidJvm]
private val [coroutineDispatcherProvider](coroutine-dispatcher-provider.md): [CoroutineDispatcherProvider](../../com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/index.md) |
-| [delegate](delegate.md) | [androidJvm]
private val [delegate](delegate.md): [RemoveNetworkApi](../-remove-network-api/index.md) |
-| [removeNetworkScope](remove-network-scope.md) | [androidJvm]
private val [removeNetworkScope](remove-network-scope.md): CoroutineScope |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork/-wisefy-remove-network-util/remove-network-scope.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork/-wisefy-remove-network-util/remove-network-scope.md
deleted file mode 100644
index e98121bd..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork/-wisefy-remove-network-util/remove-network-scope.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.removenetwork](../index.md)/[WisefyRemoveNetworkUtil](index.md)/[removeNetworkScope](remove-network-scope.md)
-
-# removeNetworkScope
-
-[androidJvm]\
-private val [removeNetworkScope](remove-network-scope.md): CoroutineScope
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork/-wisefy-remove-network-util/remove-network.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork/-wisefy-remove-network-util/remove-network.md
deleted file mode 100644
index 05452690..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork/-wisefy-remove-network-util/remove-network.md
+++ /dev/null
@@ -1,13 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.removenetwork](../index.md)/[WisefyRemoveNetworkUtil](index.md)/[removeNetwork](remove-network.md)
-
-# removeNetwork
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
-
-open override fun [removeNetwork](remove-network.md)(ssidToRemove: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [RemoveNetworkResult](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/index.md)
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
-
-open override fun [removeNetwork](remove-network.md)(ssidToRemove: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), callbacks: [RemoveNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-remove-network-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork/index.md b/documentation/wisefy/com.isupatches.android.wisefy.removenetwork/index.md
deleted file mode 100644
index db715fbd..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.removenetwork/index.md
+++ /dev/null
@@ -1,18 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.removenetwork](index.md)
-
-# Package com.isupatches.android.wisefy.removenetwork
-
-## Types
-
-| Name | Summary |
-|---|---|
-| [RemoveNetworkApi](-remove-network-api/index.md) | [androidJvm]
interface [RemoveNetworkApi](-remove-network-api/index.md) |
-| [RemoveNetworkApiAsync](-remove-network-api-async/index.md) | [androidJvm]
interface [RemoveNetworkApiAsync](-remove-network-api-async/index.md) |
-| [RemoveNetworkUtil](-remove-network-util/index.md) | [androidJvm]
internal interface [RemoveNetworkUtil](-remove-network-util/index.md) : [RemoveNetworkApi](-remove-network-api/index.md), [RemoveNetworkApiAsync](-remove-network-api-async/index.md) |
-| [WisefyRemoveNetworkUtil](-wisefy-remove-network-util/index.md) | [androidJvm]
internal class [WisefyRemoveNetworkUtil](-wisefy-remove-network-util/index.md)(**coroutineDispatcherProvider**: [CoroutineDispatcherProvider](../com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/index.md), **logger**: [WisefyLogger](../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?, **savedNetworkUtil**: [SavedNetworkUtil](../com.isupatches.android.wisefy.savednetworks/-saved-network-util/index.md), **sdkUtil**: [SdkUtil](../com.isupatches.android.wisefy.util/-sdk-util/index.md), **wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)) : [RemoveNetworkUtil](-remove-network-util/index.md) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [LOG_TAG](-l-o-g_-t-a-g.md) | [androidJvm]
private const val [LOG_TAG](-l-o-g_-t-a-g.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-a-n-d-r-o-i-d_-q_-s-a-v-e-d_-n-e-t-w-o-r-k_-w-a-r-n-i-n-g.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-a-n-d-r-o-i-d_-q_-s-a-v-e-d_-n-e-t-w-o-r-k_-w-a-r-n-i-n-g.md
deleted file mode 100644
index faaf4547..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-a-n-d-r-o-i-d_-q_-s-a-v-e-d_-n-e-t-w-o-r-k_-w-a-r-n-i-n-g.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](index.md)/[ANDROID_Q_SAVED_NETWORK_WARNING](-a-n-d-r-o-i-d_-q_-s-a-v-e-d_-n-e-t-w-o-r-k_-w-a-r-n-i-n-g.md)
-
-# ANDROID_Q_SAVED_NETWORK_WARNING
-
-[androidJvm]\
-private const val [ANDROID_Q_SAVED_NETWORK_WARNING](-a-n-d-r-o-i-d_-q_-s-a-v-e-d_-n-e-t-w-o-r-k_-w-a-r-n-i-n-g.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-api-impl/-android29-saved-network-api-impl.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-api-impl/-android29-saved-network-api-impl.md
deleted file mode 100644
index 4c349b63..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-api-impl/-android29-saved-network-api-impl.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[Android29SavedNetworkApiImpl](index.md)/[Android29SavedNetworkApiImpl](-android29-saved-network-api-impl.md)
-
-# Android29SavedNetworkApiImpl
-
-[androidJvm]\
-fun [Android29SavedNetworkApiImpl](-android29-saved-network-api-impl.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-api-impl/get-saved-networks.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-api-impl/get-saved-networks.md
deleted file mode 100644
index 6d650368..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-api-impl/get-saved-networks.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[Android29SavedNetworkApiImpl](index.md)/[getSavedNetworks](get-saved-networks.md)
-
-# getSavedNetworks
-
-[androidJvm]\
-open override fun [getSavedNetworks](get-saved-networks.md)(): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)>
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-api-impl/index.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-api-impl/index.md
deleted file mode 100644
index 7ed3b510..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-api-impl/index.md
+++ /dev/null
@@ -1,18 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[Android29SavedNetworkApiImpl](index.md)
-
-# Android29SavedNetworkApiImpl
-
-[androidJvm]\
-internal class [Android29SavedNetworkApiImpl](index.md) : [Android29SavedNetworkApi](../-android29-saved-network-api/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [getSavedNetworks](get-saved-networks.md) | [androidJvm]
open override fun [getSavedNetworks](get-saved-networks.md)(): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)> |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [isNetworkSaved](is-network-saved.md) | [androidJvm]
open override fun [isNetworkSaved](is-network-saved.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [searchForSavedNetwork](search-for-saved-network.md) | [androidJvm]
open override fun [searchForSavedNetwork](search-for-saved-network.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)? |
-| [searchForSavedNetworks](search-for-saved-networks.md) | [androidJvm]
open override fun [searchForSavedNetworks](search-for-saved-networks.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)> |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-api-impl/is-network-saved.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-api-impl/is-network-saved.md
deleted file mode 100644
index fc30bee8..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-api-impl/is-network-saved.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[Android29SavedNetworkApiImpl](index.md)/[isNetworkSaved](is-network-saved.md)
-
-# isNetworkSaved
-
-[androidJvm]\
-open override fun [isNetworkSaved](is-network-saved.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-api-impl/search-for-saved-network.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-api-impl/search-for-saved-network.md
deleted file mode 100644
index 603812c5..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-api-impl/search-for-saved-network.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[Android29SavedNetworkApiImpl](index.md)/[searchForSavedNetwork](search-for-saved-network.md)
-
-# searchForSavedNetwork
-
-[androidJvm]\
-open override fun [searchForSavedNetwork](search-for-saved-network.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)?
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-api-impl/search-for-saved-networks.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-api-impl/search-for-saved-networks.md
deleted file mode 100644
index ef0e1f8d..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-api-impl/search-for-saved-networks.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[Android29SavedNetworkApiImpl](index.md)/[searchForSavedNetworks](search-for-saved-networks.md)
-
-# searchForSavedNetworks
-
-[androidJvm]\
-open override fun [searchForSavedNetworks](search-for-saved-networks.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)>
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-api/get-saved-networks.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-api/get-saved-networks.md
deleted file mode 100644
index 247d2138..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-api/get-saved-networks.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[Android29SavedNetworkApi](index.md)/[getSavedNetworks](get-saved-networks.md)
-
-# getSavedNetworks
-
-[androidJvm]\
-abstract fun [getSavedNetworks](get-saved-networks.md)(): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)>
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-api/index.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-api/index.md
deleted file mode 100644
index 0fa88166..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-api/index.md
+++ /dev/null
@@ -1,24 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[Android29SavedNetworkApi](index.md)
-
-# Android29SavedNetworkApi
-
-[androidJvm]\
-internal interface [Android29SavedNetworkApi](index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [getSavedNetworks](get-saved-networks.md) | [androidJvm]
abstract fun [getSavedNetworks](get-saved-networks.md)(): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)> |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [isNetworkSaved](is-network-saved.md) | [androidJvm]
abstract fun [isNetworkSaved](is-network-saved.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [searchForSavedNetwork](search-for-saved-network.md) | [androidJvm]
abstract fun [searchForSavedNetwork](search-for-saved-network.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)? |
-| [searchForSavedNetworks](search-for-saved-networks.md) | [androidJvm]
abstract fun [searchForSavedNetworks](search-for-saved-networks.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)> |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [Android29SavedNetworkApiImpl](../-android29-saved-network-api-impl/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-api/is-network-saved.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-api/is-network-saved.md
deleted file mode 100644
index 17d20c88..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-api/is-network-saved.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[Android29SavedNetworkApi](index.md)/[isNetworkSaved](is-network-saved.md)
-
-# isNetworkSaved
-
-[androidJvm]\
-abstract fun [isNetworkSaved](is-network-saved.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-api/search-for-saved-network.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-api/search-for-saved-network.md
deleted file mode 100644
index 42cc52d0..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-api/search-for-saved-network.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[Android29SavedNetworkApi](index.md)/[searchForSavedNetwork](search-for-saved-network.md)
-
-# searchForSavedNetwork
-
-[androidJvm]\
-abstract fun [searchForSavedNetwork](search-for-saved-network.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)?
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-api/search-for-saved-networks.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-api/search-for-saved-networks.md
deleted file mode 100644
index e9a13b54..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-api/search-for-saved-networks.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[Android29SavedNetworkApi](index.md)/[searchForSavedNetworks](search-for-saved-networks.md)
-
-# searchForSavedNetworks
-
-[androidJvm]\
-abstract fun [searchForSavedNetworks](search-for-saved-networks.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)>
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-delegate/-android29-saved-network-delegate.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-delegate/-android29-saved-network-delegate.md
deleted file mode 100644
index f64673ed..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-delegate/-android29-saved-network-delegate.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[Android29SavedNetworkDelegate](index.md)/[Android29SavedNetworkDelegate](-android29-saved-network-delegate.md)
-
-# Android29SavedNetworkDelegate
-
-[androidJvm]\
-fun [Android29SavedNetworkDelegate](-android29-saved-network-delegate.md)(impl: [Android29SavedNetworkApiImpl](../-android29-saved-network-api-impl/index.md) = Android29SavedNetworkApiImpl())
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-delegate/get-saved-networks.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-delegate/get-saved-networks.md
deleted file mode 100644
index bae7306a..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-delegate/get-saved-networks.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[Android29SavedNetworkDelegate](index.md)/[getSavedNetworks](get-saved-networks.md)
-
-# getSavedNetworks
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [getSavedNetworks](get-saved-networks.md)(): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)>
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-delegate/impl.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-delegate/impl.md
deleted file mode 100644
index 2e7557b0..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-delegate/impl.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[Android29SavedNetworkDelegate](index.md)/[impl](impl.md)
-
-# impl
-
-[androidJvm]\
-private val [impl](impl.md): [Android29SavedNetworkApiImpl](../-android29-saved-network-api-impl/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-delegate/index.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-delegate/index.md
deleted file mode 100644
index 45c3a8e1..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-delegate/index.md
+++ /dev/null
@@ -1,24 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[Android29SavedNetworkDelegate](index.md)
-
-# Android29SavedNetworkDelegate
-
-[androidJvm]\
-internal class [Android29SavedNetworkDelegate](index.md)(**impl**: [Android29SavedNetworkApiImpl](../-android29-saved-network-api-impl/index.md)) : [SavedNetworkApi](../../com.isupatches.android.wisefy.savednetworks/-saved-network-api/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [getSavedNetworks](get-saved-networks.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [getSavedNetworks](get-saved-networks.md)(): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)> |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [isNetworkSaved](is-network-saved.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [isNetworkSaved](is-network-saved.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [searchForSavedNetwork](search-for-saved-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [searchForSavedNetwork](search-for-saved-network.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)? |
-| [searchForSavedNetworks](search-for-saved-networks.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [searchForSavedNetworks](search-for-saved-networks.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)> |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [impl](impl.md) | [androidJvm]
private val [impl](impl.md): [Android29SavedNetworkApiImpl](../-android29-saved-network-api-impl/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-delegate/is-network-saved.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-delegate/is-network-saved.md
deleted file mode 100644
index ea21d518..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-delegate/is-network-saved.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[Android29SavedNetworkDelegate](index.md)/[isNetworkSaved](is-network-saved.md)
-
-# isNetworkSaved
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [isNetworkSaved](is-network-saved.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-delegate/search-for-saved-network.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-delegate/search-for-saved-network.md
deleted file mode 100644
index a32ff98c..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-delegate/search-for-saved-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[Android29SavedNetworkDelegate](index.md)/[searchForSavedNetwork](search-for-saved-network.md)
-
-# searchForSavedNetwork
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [searchForSavedNetwork](search-for-saved-network.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)?
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-delegate/search-for-saved-networks.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-delegate/search-for-saved-networks.md
deleted file mode 100644
index 324487db..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-delegate/search-for-saved-networks.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[Android29SavedNetworkDelegate](index.md)/[searchForSavedNetworks](search-for-saved-networks.md)
-
-# searchForSavedNetworks
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [searchForSavedNetworks](search-for-saved-networks.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)>
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api-impl/-android30-saved-network-api-impl.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api-impl/-android30-saved-network-api-impl.md
deleted file mode 100644
index f6c295ba..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api-impl/-android30-saved-network-api-impl.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[Android30SavedNetworkApiImpl](index.md)/[Android30SavedNetworkApiImpl](-android30-saved-network-api-impl.md)
-
-# Android30SavedNetworkApiImpl
-
-[androidJvm]\
-fun [Android30SavedNetworkApiImpl](-android30-saved-network-api-impl.md)(wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api-impl/get-saved-networks.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api-impl/get-saved-networks.md
deleted file mode 100644
index 9a543ea5..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api-impl/get-saved-networks.md
+++ /dev/null
@@ -1,11 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[Android30SavedNetworkApiImpl](index.md)/[getSavedNetworks](get-saved-networks.md)
-
-# getSavedNetworks
-
-[androidJvm]\
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_WIFI_STATE])
-
-open override fun [getSavedNetworks](get-saved-networks.md)(): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)>
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api-impl/index.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api-impl/index.md
deleted file mode 100644
index 81a03a43..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api-impl/index.md
+++ /dev/null
@@ -1,25 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[Android30SavedNetworkApiImpl](index.md)
-
-# Android30SavedNetworkApiImpl
-
-[androidJvm]\
-internal class [Android30SavedNetworkApiImpl](index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)) : [Android30SavedNetworkApi](../-android30-saved-network-api/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [getSavedNetworks](get-saved-networks.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_WIFI_STATE])
open override fun [getSavedNetworks](get-saved-networks.md)(): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)> |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [isNetworkSaved](is-network-saved.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_WIFI_STATE])
open override fun [isNetworkSaved](is-network-saved.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [matchesRegexForSSID](matches-regex-for-s-s-i-d.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
private fun [matchesRegexForSSID](matches-regex-for-s-s-i-d.md)(suggestion: [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html), regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [searchForSavedNetwork](search-for-saved-network.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_WIFI_STATE])
open override fun [searchForSavedNetwork](search-for-saved-network.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)? |
-| [searchForSavedNetworks](search-for-saved-networks.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_WIFI_STATE])
open override fun [searchForSavedNetworks](search-for-saved-networks.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)> |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [wifiManager](wifi-manager.md) | [androidJvm]
private val [wifiManager](wifi-manager.md): [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api-impl/is-network-saved.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api-impl/is-network-saved.md
deleted file mode 100644
index 0f308728..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api-impl/is-network-saved.md
+++ /dev/null
@@ -1,11 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[Android30SavedNetworkApiImpl](index.md)/[isNetworkSaved](is-network-saved.md)
-
-# isNetworkSaved
-
-[androidJvm]\
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_WIFI_STATE])
-
-open override fun [isNetworkSaved](is-network-saved.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api-impl/matches-regex-for-s-s-i-d.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api-impl/matches-regex-for-s-s-i-d.md
deleted file mode 100644
index 1e1167ba..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api-impl/matches-regex-for-s-s-i-d.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[Android30SavedNetworkApiImpl](index.md)/[matchesRegexForSSID](matches-regex-for-s-s-i-d.md)
-
-# matchesRegexForSSID
-
-[androidJvm]\
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
-
-private fun [matchesRegexForSSID](matches-regex-for-s-s-i-d.md)(suggestion: [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html), regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api-impl/search-for-saved-network.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api-impl/search-for-saved-network.md
deleted file mode 100644
index 9ccf0d98..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api-impl/search-for-saved-network.md
+++ /dev/null
@@ -1,11 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[Android30SavedNetworkApiImpl](index.md)/[searchForSavedNetwork](search-for-saved-network.md)
-
-# searchForSavedNetwork
-
-[androidJvm]\
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_WIFI_STATE])
-
-open override fun [searchForSavedNetwork](search-for-saved-network.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)?
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api-impl/search-for-saved-networks.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api-impl/search-for-saved-networks.md
deleted file mode 100644
index 8ab101bf..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api-impl/search-for-saved-networks.md
+++ /dev/null
@@ -1,11 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[Android30SavedNetworkApiImpl](index.md)/[searchForSavedNetworks](search-for-saved-networks.md)
-
-# searchForSavedNetworks
-
-[androidJvm]\
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_WIFI_STATE])
-
-open override fun [searchForSavedNetworks](search-for-saved-networks.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)>
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api-impl/wifi-manager.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api-impl/wifi-manager.md
deleted file mode 100644
index 97dad731..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api-impl/wifi-manager.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[Android30SavedNetworkApiImpl](index.md)/[wifiManager](wifi-manager.md)
-
-# wifiManager
-
-[androidJvm]\
-private val [wifiManager](wifi-manager.md): [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api/get-saved-networks.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api/get-saved-networks.md
deleted file mode 100644
index 75847a9d..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api/get-saved-networks.md
+++ /dev/null
@@ -1,11 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[Android30SavedNetworkApi](index.md)/[getSavedNetworks](get-saved-networks.md)
-
-# getSavedNetworks
-
-[androidJvm]\
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_WIFI_STATE)
-
-abstract fun [getSavedNetworks](get-saved-networks.md)(): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)>
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api/index.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api/index.md
deleted file mode 100644
index 4b33f3a5..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api/index.md
+++ /dev/null
@@ -1,24 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[Android30SavedNetworkApi](index.md)
-
-# Android30SavedNetworkApi
-
-[androidJvm]\
-internal interface [Android30SavedNetworkApi](index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [getSavedNetworks](get-saved-networks.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_WIFI_STATE)
abstract fun [getSavedNetworks](get-saved-networks.md)(): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)> |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [isNetworkSaved](is-network-saved.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_WIFI_STATE)
abstract fun [isNetworkSaved](is-network-saved.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [searchForSavedNetwork](search-for-saved-network.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_WIFI_STATE)
abstract fun [searchForSavedNetwork](search-for-saved-network.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)? |
-| [searchForSavedNetworks](search-for-saved-networks.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_WIFI_STATE)
abstract fun [searchForSavedNetworks](search-for-saved-networks.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)> |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [Android30SavedNetworkApiImpl](../-android30-saved-network-api-impl/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api/is-network-saved.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api/is-network-saved.md
deleted file mode 100644
index dcdf7ffe..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api/is-network-saved.md
+++ /dev/null
@@ -1,11 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[Android30SavedNetworkApi](index.md)/[isNetworkSaved](is-network-saved.md)
-
-# isNetworkSaved
-
-[androidJvm]\
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_WIFI_STATE)
-
-abstract fun [isNetworkSaved](is-network-saved.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api/search-for-saved-network.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api/search-for-saved-network.md
deleted file mode 100644
index 48556dec..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api/search-for-saved-network.md
+++ /dev/null
@@ -1,11 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[Android30SavedNetworkApi](index.md)/[searchForSavedNetwork](search-for-saved-network.md)
-
-# searchForSavedNetwork
-
-[androidJvm]\
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_WIFI_STATE)
-
-abstract fun [searchForSavedNetwork](search-for-saved-network.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)?
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api/search-for-saved-networks.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api/search-for-saved-networks.md
deleted file mode 100644
index c625837b..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api/search-for-saved-networks.md
+++ /dev/null
@@ -1,11 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[Android30SavedNetworkApi](index.md)/[searchForSavedNetworks](search-for-saved-networks.md)
-
-# searchForSavedNetworks
-
-[androidJvm]\
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_WIFI_STATE)
-
-abstract fun [searchForSavedNetworks](search-for-saved-networks.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)>
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-delegate/-android30-saved-network-delegate.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-delegate/-android30-saved-network-delegate.md
deleted file mode 100644
index b7dcac2a..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-delegate/-android30-saved-network-delegate.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[Android30SavedNetworkDelegate](index.md)/[Android30SavedNetworkDelegate](-android30-saved-network-delegate.md)
-
-# Android30SavedNetworkDelegate
-
-[androidJvm]\
-fun [Android30SavedNetworkDelegate](-android30-saved-network-delegate.md)(wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), impl: [Android30SavedNetworkApiImpl](../-android30-saved-network-api-impl/index.md) = Android30SavedNetworkApiImpl(wifiManager))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-delegate/get-saved-networks.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-delegate/get-saved-networks.md
deleted file mode 100644
index ceda4a3b..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-delegate/get-saved-networks.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[Android30SavedNetworkDelegate](index.md)/[getSavedNetworks](get-saved-networks.md)
-
-# getSavedNetworks
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_WIFI_STATE])
-
-open override fun [getSavedNetworks](get-saved-networks.md)(): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)>
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-delegate/impl.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-delegate/impl.md
deleted file mode 100644
index 4db44da0..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-delegate/impl.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[Android30SavedNetworkDelegate](index.md)/[impl](impl.md)
-
-# impl
-
-[androidJvm]\
-private val [impl](impl.md): [Android30SavedNetworkApiImpl](../-android30-saved-network-api-impl/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-delegate/index.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-delegate/index.md
deleted file mode 100644
index 9125c48c..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-delegate/index.md
+++ /dev/null
@@ -1,26 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[Android30SavedNetworkDelegate](index.md)
-
-# Android30SavedNetworkDelegate
-
-[androidJvm]\
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
-
-internal class [Android30SavedNetworkDelegate](index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), **impl**: [Android30SavedNetworkApiImpl](../-android30-saved-network-api-impl/index.md)) : [SavedNetworkApi](../../com.isupatches.android.wisefy.savednetworks/-saved-network-api/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [getSavedNetworks](get-saved-networks.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_WIFI_STATE])
open override fun [getSavedNetworks](get-saved-networks.md)(): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)> |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [isNetworkSaved](is-network-saved.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_WIFI_STATE])
open override fun [isNetworkSaved](is-network-saved.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [searchForSavedNetwork](search-for-saved-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_WIFI_STATE])
open override fun [searchForSavedNetwork](search-for-saved-network.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)? |
-| [searchForSavedNetworks](search-for-saved-networks.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_WIFI_STATE])
open override fun [searchForSavedNetworks](search-for-saved-networks.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)> |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [impl](impl.md) | [androidJvm]
private val [impl](impl.md): [Android30SavedNetworkApiImpl](../-android30-saved-network-api-impl/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-delegate/is-network-saved.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-delegate/is-network-saved.md
deleted file mode 100644
index 69c25807..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-delegate/is-network-saved.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[Android30SavedNetworkDelegate](index.md)/[isNetworkSaved](is-network-saved.md)
-
-# isNetworkSaved
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_WIFI_STATE])
-
-open override fun [isNetworkSaved](is-network-saved.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-delegate/search-for-saved-network.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-delegate/search-for-saved-network.md
deleted file mode 100644
index 1ad7315c..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-delegate/search-for-saved-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[Android30SavedNetworkDelegate](index.md)/[searchForSavedNetwork](search-for-saved-network.md)
-
-# searchForSavedNetwork
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_WIFI_STATE])
-
-open override fun [searchForSavedNetwork](search-for-saved-network.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)?
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-delegate/search-for-saved-networks.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-delegate/search-for-saved-networks.md
deleted file mode 100644
index cccbe839..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-delegate/search-for-saved-networks.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[Android30SavedNetworkDelegate](index.md)/[searchForSavedNetworks](search-for-saved-networks.md)
-
-# searchForSavedNetworks
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_WIFI_STATE])
-
-open override fun [searchForSavedNetworks](search-for-saved-networks.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)>
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api-impl/-legacy-saved-network-api-impl.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api-impl/-legacy-saved-network-api-impl.md
deleted file mode 100644
index 82f07c21..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api-impl/-legacy-saved-network-api-impl.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[LegacySavedNetworkApiImpl](index.md)/[LegacySavedNetworkApiImpl](-legacy-saved-network-api-impl.md)
-
-# LegacySavedNetworkApiImpl
-
-[androidJvm]\
-fun [LegacySavedNetworkApiImpl](-legacy-saved-network-api-impl.md)(wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api-impl/get-saved-networks.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api-impl/get-saved-networks.md
deleted file mode 100644
index 92bf56c8..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api-impl/get-saved-networks.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[LegacySavedNetworkApiImpl](index.md)/[getSavedNetworks](get-saved-networks.md)
-
-# getSavedNetworks
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
-
-open override fun [getSavedNetworks](get-saved-networks.md)(): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)>
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api-impl/index.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api-impl/index.md
deleted file mode 100644
index 37b19d0d..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api-impl/index.md
+++ /dev/null
@@ -1,25 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[LegacySavedNetworkApiImpl](index.md)
-
-# LegacySavedNetworkApiImpl
-
-[androidJvm]\
-internal class [LegacySavedNetworkApiImpl](index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)) : [LegacySavedNetworkApi](../-legacy-saved-network-api/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [getSavedNetworks](get-saved-networks.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
open override fun [getSavedNetworks](get-saved-networks.md)(): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)> |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [isNetworkSaved](is-network-saved.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
open override fun [isNetworkSaved](is-network-saved.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [matchesRegexForSSID](matches-regex-for-s-s-i-d.md) | [androidJvm]
private fun [matchesRegexForSSID](matches-regex-for-s-s-i-d.md)(configuration: [WifiConfiguration](https://developer.android.com/reference/kotlin/android/net/wifi/WifiConfiguration.html), regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [searchForSavedNetwork](search-for-saved-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
open override fun [searchForSavedNetwork](search-for-saved-network.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)? |
-| [searchForSavedNetworks](search-for-saved-networks.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
open override fun [searchForSavedNetworks](search-for-saved-networks.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)> |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [wifiManager](wifi-manager.md) | [androidJvm]
private val [wifiManager](wifi-manager.md): [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api-impl/is-network-saved.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api-impl/is-network-saved.md
deleted file mode 100644
index 8b0f5dec..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api-impl/is-network-saved.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[LegacySavedNetworkApiImpl](index.md)/[isNetworkSaved](is-network-saved.md)
-
-# isNetworkSaved
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
-
-open override fun [isNetworkSaved](is-network-saved.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api-impl/matches-regex-for-s-s-i-d.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api-impl/matches-regex-for-s-s-i-d.md
deleted file mode 100644
index 02321ff2..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api-impl/matches-regex-for-s-s-i-d.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[LegacySavedNetworkApiImpl](index.md)/[matchesRegexForSSID](matches-regex-for-s-s-i-d.md)
-
-# matchesRegexForSSID
-
-[androidJvm]\
-private fun [matchesRegexForSSID](matches-regex-for-s-s-i-d.md)(configuration: [WifiConfiguration](https://developer.android.com/reference/kotlin/android/net/wifi/WifiConfiguration.html), regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api-impl/search-for-saved-network.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api-impl/search-for-saved-network.md
deleted file mode 100644
index 2e433959..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api-impl/search-for-saved-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[LegacySavedNetworkApiImpl](index.md)/[searchForSavedNetwork](search-for-saved-network.md)
-
-# searchForSavedNetwork
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
-
-open override fun [searchForSavedNetwork](search-for-saved-network.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)?
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api-impl/search-for-saved-networks.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api-impl/search-for-saved-networks.md
deleted file mode 100644
index 22390eb7..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api-impl/search-for-saved-networks.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[LegacySavedNetworkApiImpl](index.md)/[searchForSavedNetworks](search-for-saved-networks.md)
-
-# searchForSavedNetworks
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
-
-open override fun [searchForSavedNetworks](search-for-saved-networks.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)>
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api-impl/wifi-manager.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api-impl/wifi-manager.md
deleted file mode 100644
index 61125e08..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api-impl/wifi-manager.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[LegacySavedNetworkApiImpl](index.md)/[wifiManager](wifi-manager.md)
-
-# wifiManager
-
-[androidJvm]\
-private val [wifiManager](wifi-manager.md): [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api/get-saved-networks.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api/get-saved-networks.md
deleted file mode 100644
index 141d9660..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api/get-saved-networks.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[LegacySavedNetworkApi](index.md)/[getSavedNetworks](get-saved-networks.md)
-
-# getSavedNetworks
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
-
-abstract fun [getSavedNetworks](get-saved-networks.md)(): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)>
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api/index.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api/index.md
deleted file mode 100644
index 17ff3bd6..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api/index.md
+++ /dev/null
@@ -1,24 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[LegacySavedNetworkApi](index.md)
-
-# LegacySavedNetworkApi
-
-[androidJvm]\
-internal interface [LegacySavedNetworkApi](index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [getSavedNetworks](get-saved-networks.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
abstract fun [getSavedNetworks](get-saved-networks.md)(): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)> |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [isNetworkSaved](is-network-saved.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
abstract fun [isNetworkSaved](is-network-saved.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [searchForSavedNetwork](search-for-saved-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
abstract fun [searchForSavedNetwork](search-for-saved-network.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)? |
-| [searchForSavedNetworks](search-for-saved-networks.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
abstract fun [searchForSavedNetworks](search-for-saved-networks.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)> |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [LegacySavedNetworkApiImpl](../-legacy-saved-network-api-impl/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api/is-network-saved.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api/is-network-saved.md
deleted file mode 100644
index 39d39542..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api/is-network-saved.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[LegacySavedNetworkApi](index.md)/[isNetworkSaved](is-network-saved.md)
-
-# isNetworkSaved
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
-
-abstract fun [isNetworkSaved](is-network-saved.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api/search-for-saved-network.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api/search-for-saved-network.md
deleted file mode 100644
index 96f845cc..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api/search-for-saved-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[LegacySavedNetworkApi](index.md)/[searchForSavedNetwork](search-for-saved-network.md)
-
-# searchForSavedNetwork
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
-
-abstract fun [searchForSavedNetwork](search-for-saved-network.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)?
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api/search-for-saved-networks.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api/search-for-saved-networks.md
deleted file mode 100644
index d6845d58..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api/search-for-saved-networks.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[LegacySavedNetworkApi](index.md)/[searchForSavedNetworks](search-for-saved-networks.md)
-
-# searchForSavedNetworks
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
-
-abstract fun [searchForSavedNetworks](search-for-saved-networks.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)>
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-delegate/-legacy-saved-network-delegate.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-delegate/-legacy-saved-network-delegate.md
deleted file mode 100644
index b5ff2591..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-delegate/-legacy-saved-network-delegate.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[LegacySavedNetworkDelegate](index.md)/[LegacySavedNetworkDelegate](-legacy-saved-network-delegate.md)
-
-# LegacySavedNetworkDelegate
-
-[androidJvm]\
-fun [LegacySavedNetworkDelegate](-legacy-saved-network-delegate.md)(wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), impl: [LegacySavedNetworkApi](../-legacy-saved-network-api/index.md) = LegacySavedNetworkApiImpl(wifiManager))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-delegate/get-saved-networks.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-delegate/get-saved-networks.md
deleted file mode 100644
index e909fee6..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-delegate/get-saved-networks.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[LegacySavedNetworkDelegate](index.md)/[getSavedNetworks](get-saved-networks.md)
-
-# getSavedNetworks
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
-
-open override fun [getSavedNetworks](get-saved-networks.md)(): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)>
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-delegate/impl.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-delegate/impl.md
deleted file mode 100644
index 0bf51be5..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-delegate/impl.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[LegacySavedNetworkDelegate](index.md)/[impl](impl.md)
-
-# impl
-
-[androidJvm]\
-private val [impl](impl.md): [LegacySavedNetworkApi](../-legacy-saved-network-api/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-delegate/index.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-delegate/index.md
deleted file mode 100644
index df346cc0..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-delegate/index.md
+++ /dev/null
@@ -1,24 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[LegacySavedNetworkDelegate](index.md)
-
-# LegacySavedNetworkDelegate
-
-[androidJvm]\
-internal class [LegacySavedNetworkDelegate](index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), **impl**: [LegacySavedNetworkApi](../-legacy-saved-network-api/index.md)) : [SavedNetworkApi](../../com.isupatches.android.wisefy.savednetworks/-saved-network-api/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [getSavedNetworks](get-saved-networks.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
open override fun [getSavedNetworks](get-saved-networks.md)(): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)> |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [isNetworkSaved](is-network-saved.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
open override fun [isNetworkSaved](is-network-saved.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [searchForSavedNetwork](search-for-saved-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
open override fun [searchForSavedNetwork](search-for-saved-network.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)? |
-| [searchForSavedNetworks](search-for-saved-networks.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
open override fun [searchForSavedNetworks](search-for-saved-networks.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)> |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [impl](impl.md) | [androidJvm]
private val [impl](impl.md): [LegacySavedNetworkApi](../-legacy-saved-network-api/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-delegate/is-network-saved.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-delegate/is-network-saved.md
deleted file mode 100644
index 1667b299..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-delegate/is-network-saved.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[LegacySavedNetworkDelegate](index.md)/[isNetworkSaved](is-network-saved.md)
-
-# isNetworkSaved
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
-
-open override fun [isNetworkSaved](is-network-saved.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-delegate/search-for-saved-network.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-delegate/search-for-saved-network.md
deleted file mode 100644
index 895e17c3..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-delegate/search-for-saved-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[LegacySavedNetworkDelegate](index.md)/[searchForSavedNetwork](search-for-saved-network.md)
-
-# searchForSavedNetwork
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
-
-open override fun [searchForSavedNetwork](search-for-saved-network.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)?
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-delegate/search-for-saved-networks.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-delegate/search-for-saved-networks.md
deleted file mode 100644
index 74aa790a..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-delegate/search-for-saved-networks.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](../index.md)/[LegacySavedNetworkDelegate](index.md)/[searchForSavedNetworks](search-for-saved-networks.md)
-
-# searchForSavedNetworks
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
-
-open override fun [searchForSavedNetworks](search-for-saved-networks.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)>
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/index.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/index.md
deleted file mode 100644
index 8834b3d5..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/index.md
+++ /dev/null
@@ -1,23 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.savednetworks.delegates](index.md)
-
-# Package com.isupatches.android.wisefy.savednetworks.delegates
-
-## Types
-
-| Name | Summary |
-|---|---|
-| [Android29SavedNetworkApi](-android29-saved-network-api/index.md) | [androidJvm]
internal interface [Android29SavedNetworkApi](-android29-saved-network-api/index.md) |
-| [Android29SavedNetworkApiImpl](-android29-saved-network-api-impl/index.md) | [androidJvm]
internal class [Android29SavedNetworkApiImpl](-android29-saved-network-api-impl/index.md) : [Android29SavedNetworkApi](-android29-saved-network-api/index.md) |
-| [Android29SavedNetworkDelegate](-android29-saved-network-delegate/index.md) | [androidJvm]
internal class [Android29SavedNetworkDelegate](-android29-saved-network-delegate/index.md)(**impl**: [Android29SavedNetworkApiImpl](-android29-saved-network-api-impl/index.md)) : [SavedNetworkApi](../com.isupatches.android.wisefy.savednetworks/-saved-network-api/index.md) |
-| [Android30SavedNetworkApi](-android30-saved-network-api/index.md) | [androidJvm]
internal interface [Android30SavedNetworkApi](-android30-saved-network-api/index.md) |
-| [Android30SavedNetworkApiImpl](-android30-saved-network-api-impl/index.md) | [androidJvm]
internal class [Android30SavedNetworkApiImpl](-android30-saved-network-api-impl/index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)) : [Android30SavedNetworkApi](-android30-saved-network-api/index.md) |
-| [Android30SavedNetworkDelegate](-android30-saved-network-delegate/index.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
internal class [Android30SavedNetworkDelegate](-android30-saved-network-delegate/index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), **impl**: [Android30SavedNetworkApiImpl](-android30-saved-network-api-impl/index.md)) : [SavedNetworkApi](../com.isupatches.android.wisefy.savednetworks/-saved-network-api/index.md) |
-| [LegacySavedNetworkApi](-legacy-saved-network-api/index.md) | [androidJvm]
internal interface [LegacySavedNetworkApi](-legacy-saved-network-api/index.md) |
-| [LegacySavedNetworkApiImpl](-legacy-saved-network-api-impl/index.md) | [androidJvm]
internal class [LegacySavedNetworkApiImpl](-legacy-saved-network-api-impl/index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)) : [LegacySavedNetworkApi](-legacy-saved-network-api/index.md) |
-| [LegacySavedNetworkDelegate](-legacy-saved-network-delegate/index.md) | [androidJvm]
internal class [LegacySavedNetworkDelegate](-legacy-saved-network-delegate/index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), **impl**: [LegacySavedNetworkApi](-legacy-saved-network-api/index.md)) : [SavedNetworkApi](../com.isupatches.android.wisefy.savednetworks/-saved-network-api/index.md) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [ANDROID_Q_SAVED_NETWORK_WARNING](-a-n-d-r-o-i-d_-q_-s-a-v-e-d_-n-e-t-w-o-r-k_-w-a-r-n-i-n-g.md) | [androidJvm]
private const val [ANDROID_Q_SAVED_NETWORK_WARNING](-a-n-d-r-o-i-d_-q_-s-a-v-e-d_-n-e-t-w-o-r-k_-w-a-r-n-i-n-g.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-configuration/-configuration.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-configuration/-configuration.md
deleted file mode 100644
index 80732503..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-configuration/-configuration.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.savednetworks.entities](../../index.md)/[SavedNetworkData](../index.md)/[Configuration](index.md)/[Configuration](-configuration.md)
-
-# Configuration
-
-[androidJvm]\
-fun [Configuration](-configuration.md)(data: [WifiConfiguration](https://developer.android.com/reference/kotlin/android/net/wifi/WifiConfiguration.html))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-configuration/component1.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-configuration/component1.md
deleted file mode 100644
index c1ba972f..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-configuration/component1.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.savednetworks.entities](../../index.md)/[SavedNetworkData](../index.md)/[Configuration](index.md)/[component1](component1.md)
-
-# component1
-
-[androidJvm]\
-operator fun [component1](component1.md)(): [WifiConfiguration](https://developer.android.com/reference/kotlin/android/net/wifi/WifiConfiguration.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-configuration/copy.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-configuration/copy.md
deleted file mode 100644
index 18f789da..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-configuration/copy.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.savednetworks.entities](../../index.md)/[SavedNetworkData](../index.md)/[Configuration](index.md)/[copy](copy.md)
-
-# copy
-
-[androidJvm]\
-fun [copy](copy.md)(data: [WifiConfiguration](https://developer.android.com/reference/kotlin/android/net/wifi/WifiConfiguration.html)): [SavedNetworkData.Configuration](index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-configuration/data.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-configuration/data.md
deleted file mode 100644
index 0c201b7d..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-configuration/data.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.savednetworks.entities](../../index.md)/[SavedNetworkData](../index.md)/[Configuration](index.md)/[data](data.md)
-
-# data
-
-[androidJvm]\
-val [data](data.md): [WifiConfiguration](https://developer.android.com/reference/kotlin/android/net/wifi/WifiConfiguration.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-configuration/index.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-configuration/index.md
deleted file mode 100644
index ba2b47a6..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-configuration/index.md
+++ /dev/null
@@ -1,22 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.savednetworks.entities](../../index.md)/[SavedNetworkData](../index.md)/[Configuration](index.md)
-
-# Configuration
-
-[androidJvm]\
-data class [Configuration](index.md)(**data**: [WifiConfiguration](https://developer.android.com/reference/kotlin/android/net/wifi/WifiConfiguration.html)) : [SavedNetworkData](../index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [component1](component1.md) | [androidJvm]
operator fun [component1](component1.md)(): [WifiConfiguration](https://developer.android.com/reference/kotlin/android/net/wifi/WifiConfiguration.html) |
-| [copy](copy.md) | [androidJvm]
fun [copy](copy.md)(data: [WifiConfiguration](https://developer.android.com/reference/kotlin/android/net/wifi/WifiConfiguration.html)): [SavedNetworkData.Configuration](index.md) |
-| [equals](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator override fun [equals](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open override fun [hashCode](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open override fun [toString](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [data](data.md) | [androidJvm]
val [data](data.md): [WifiConfiguration](https://developer.android.com/reference/kotlin/android/net/wifi/WifiConfiguration.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-saved-network-data.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-saved-network-data.md
deleted file mode 100644
index 6fad29b5..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-saved-network-data.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.entities](../index.md)/[SavedNetworkData](index.md)/[SavedNetworkData](-saved-network-data.md)
-
-# SavedNetworkData
-
-[androidJvm]\
-protected fun [SavedNetworkData](-saved-network-data.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-suggestion/-suggestion.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-suggestion/-suggestion.md
deleted file mode 100644
index 3cbf22e7..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-suggestion/-suggestion.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.savednetworks.entities](../../index.md)/[SavedNetworkData](../index.md)/[Suggestion](index.md)/[Suggestion](-suggestion.md)
-
-# Suggestion
-
-[androidJvm]\
-fun [Suggestion](-suggestion.md)(data: [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-suggestion/component1.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-suggestion/component1.md
deleted file mode 100644
index 481c318f..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-suggestion/component1.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.savednetworks.entities](../../index.md)/[SavedNetworkData](../index.md)/[Suggestion](index.md)/[component1](component1.md)
-
-# component1
-
-[androidJvm]\
-operator fun [component1](component1.md)(): [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-suggestion/copy.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-suggestion/copy.md
deleted file mode 100644
index ca9c869b..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-suggestion/copy.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.savednetworks.entities](../../index.md)/[SavedNetworkData](../index.md)/[Suggestion](index.md)/[copy](copy.md)
-
-# copy
-
-[androidJvm]\
-fun [copy](copy.md)(data: [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html)): [SavedNetworkData.Suggestion](index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-suggestion/data.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-suggestion/data.md
deleted file mode 100644
index 306c111b..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-suggestion/data.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.savednetworks.entities](../../index.md)/[SavedNetworkData](../index.md)/[Suggestion](index.md)/[data](data.md)
-
-# data
-
-[androidJvm]\
-val [data](data.md): [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-suggestion/index.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-suggestion/index.md
deleted file mode 100644
index a4369dbe..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-suggestion/index.md
+++ /dev/null
@@ -1,22 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy.savednetworks.entities](../../index.md)/[SavedNetworkData](../index.md)/[Suggestion](index.md)
-
-# Suggestion
-
-[androidJvm]\
-data class [Suggestion](index.md)(**data**: [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html)) : [SavedNetworkData](../index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [component1](component1.md) | [androidJvm]
operator fun [component1](component1.md)(): [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html) |
-| [copy](copy.md) | [androidJvm]
fun [copy](copy.md)(data: [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html)): [SavedNetworkData.Suggestion](index.md) |
-| [equals](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator override fun [equals](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open override fun [hashCode](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open override fun [toString](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [data](data.md) | [androidJvm]
val [data](data.md): [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md
deleted file mode 100644
index 278f9515..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md
+++ /dev/null
@@ -1,28 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.entities](../index.md)/[SavedNetworkData](index.md)
-
-# SavedNetworkData
-
-[androidJvm]\
-sealed class [SavedNetworkData](index.md)
-
-## Types
-
-| Name | Summary |
-|---|---|
-| [Configuration](-configuration/index.md) | [androidJvm]
data class [Configuration](-configuration/index.md)(**data**: [WifiConfiguration](https://developer.android.com/reference/kotlin/android/net/wifi/WifiConfiguration.html)) : [SavedNetworkData](index.md) |
-| [Suggestion](-suggestion/index.md) | [androidJvm]
data class [Suggestion](-suggestion/index.md)(**data**: [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html)) : [SavedNetworkData](index.md) |
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [SavedNetworkData](-configuration/index.md) |
-| [SavedNetworkData](-suggestion/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.entities/index.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.entities/index.md
deleted file mode 100644
index b9f3c5dc..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks.entities/index.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.savednetworks.entities](index.md)
-
-# Package com.isupatches.android.wisefy.savednetworks.entities
-
-## Types
-
-| Name | Summary |
-|---|---|
-| [SavedNetworkData](-saved-network-data/index.md) | [androidJvm]
sealed class [SavedNetworkData](-saved-network-data/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-l-o-g_-t-a-g.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-l-o-g_-t-a-g.md
deleted file mode 100644
index 4e2eb608..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-l-o-g_-t-a-g.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.savednetworks](index.md)/[LOG_TAG](-l-o-g_-t-a-g.md)
-
-# LOG_TAG
-
-[androidJvm]\
-private const val [LOG_TAG](-l-o-g_-t-a-g.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-saved-network-api-async/get-saved-networks.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-saved-network-api-async/get-saved-networks.md
deleted file mode 100644
index 0ab726c0..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-saved-network-api-async/get-saved-networks.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks](../index.md)/[SavedNetworkApiAsync](index.md)/[getSavedNetworks](get-saved-networks.md)
-
-# getSavedNetworks
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
-
-abstract fun [getSavedNetworks](get-saved-networks.md)(callbacks: [GetSavedNetworksCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-saved-networks-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-saved-network-api-async/index.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-saved-network-api-async/index.md
deleted file mode 100644
index c1a536d1..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-saved-network-api-async/index.md
+++ /dev/null
@@ -1,24 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks](../index.md)/[SavedNetworkApiAsync](index.md)
-
-# SavedNetworkApiAsync
-
-[androidJvm]\
-interface [SavedNetworkApiAsync](index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [getSavedNetworks](get-saved-networks.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
abstract fun [getSavedNetworks](get-saved-networks.md)(callbacks: [GetSavedNetworksCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-saved-networks-callbacks/index.md)?) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [searchForSavedNetwork](search-for-saved-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
abstract fun [searchForSavedNetwork](search-for-saved-network.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), callbacks: [SearchForSavedNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-search-for-saved-network-callbacks/index.md)?) |
-| [searchForSavedNetworks](search-for-saved-networks.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
abstract fun [searchForSavedNetworks](search-for-saved-networks.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), callbacks: [SearchForSavedNetworksCallbacks](../../com.isupatches.android.wisefy.callbacks/-search-for-saved-networks-callbacks/index.md)?) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [WisefyApi](../../com.isupatches.android.wisefy/-wisefy-api/index.md) |
-| [SavedNetworkUtil](../-saved-network-util/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-saved-network-api-async/search-for-saved-network.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-saved-network-api-async/search-for-saved-network.md
deleted file mode 100644
index dee9783b..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-saved-network-api-async/search-for-saved-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks](../index.md)/[SavedNetworkApiAsync](index.md)/[searchForSavedNetwork](search-for-saved-network.md)
-
-# searchForSavedNetwork
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
-
-abstract fun [searchForSavedNetwork](search-for-saved-network.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), callbacks: [SearchForSavedNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-search-for-saved-network-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-saved-network-api-async/search-for-saved-networks.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-saved-network-api-async/search-for-saved-networks.md
deleted file mode 100644
index abebca42..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-saved-network-api-async/search-for-saved-networks.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks](../index.md)/[SavedNetworkApiAsync](index.md)/[searchForSavedNetworks](search-for-saved-networks.md)
-
-# searchForSavedNetworks
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
-
-abstract fun [searchForSavedNetworks](search-for-saved-networks.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), callbacks: [SearchForSavedNetworksCallbacks](../../com.isupatches.android.wisefy.callbacks/-search-for-saved-networks-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-saved-network-api/get-saved-networks.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-saved-network-api/get-saved-networks.md
deleted file mode 100644
index 29bacae3..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-saved-network-api/get-saved-networks.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks](../index.md)/[SavedNetworkApi](index.md)/[getSavedNetworks](get-saved-networks.md)
-
-# getSavedNetworks
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
-
-abstract fun [getSavedNetworks](get-saved-networks.md)(): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)>
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-saved-network-api/index.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-saved-network-api/index.md
deleted file mode 100644
index 587f043f..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-saved-network-api/index.md
+++ /dev/null
@@ -1,28 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks](../index.md)/[SavedNetworkApi](index.md)
-
-# SavedNetworkApi
-
-[androidJvm]\
-interface [SavedNetworkApi](index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [getSavedNetworks](get-saved-networks.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
abstract fun [getSavedNetworks](get-saved-networks.md)(): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)> |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [isNetworkSaved](is-network-saved.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
abstract fun [isNetworkSaved](is-network-saved.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [searchForSavedNetwork](search-for-saved-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
abstract fun [searchForSavedNetwork](search-for-saved-network.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)? |
-| [searchForSavedNetworks](search-for-saved-networks.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
abstract fun [searchForSavedNetworks](search-for-saved-networks.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)> |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [WisefyApi](../../com.isupatches.android.wisefy/-wisefy-api/index.md) |
-| [SavedNetworkUtil](../-saved-network-util/index.md) |
-| [Android29SavedNetworkDelegate](../../com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-delegate/index.md) |
-| [Android30SavedNetworkDelegate](../../com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-delegate/index.md) |
-| [LegacySavedNetworkDelegate](../../com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-delegate/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-saved-network-api/is-network-saved.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-saved-network-api/is-network-saved.md
deleted file mode 100644
index 19329df4..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-saved-network-api/is-network-saved.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks](../index.md)/[SavedNetworkApi](index.md)/[isNetworkSaved](is-network-saved.md)
-
-# isNetworkSaved
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
-
-abstract fun [isNetworkSaved](is-network-saved.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-saved-network-api/search-for-saved-network.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-saved-network-api/search-for-saved-network.md
deleted file mode 100644
index 94072941..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-saved-network-api/search-for-saved-network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks](../index.md)/[SavedNetworkApi](index.md)/[searchForSavedNetwork](search-for-saved-network.md)
-
-# searchForSavedNetwork
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
-
-abstract fun [searchForSavedNetwork](search-for-saved-network.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)?
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-saved-network-api/search-for-saved-networks.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-saved-network-api/search-for-saved-networks.md
deleted file mode 100644
index f78b88b6..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-saved-network-api/search-for-saved-networks.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks](../index.md)/[SavedNetworkApi](index.md)/[searchForSavedNetworks](search-for-saved-networks.md)
-
-# searchForSavedNetworks
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
-
-abstract fun [searchForSavedNetworks](search-for-saved-networks.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)>
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-saved-network-util/index.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-saved-network-util/index.md
deleted file mode 100644
index 3d4f7f29..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-saved-network-util/index.md
+++ /dev/null
@@ -1,24 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks](../index.md)/[SavedNetworkUtil](index.md)
-
-# SavedNetworkUtil
-
-[androidJvm]\
-internal interface [SavedNetworkUtil](index.md) : [SavedNetworkApi](../-saved-network-api/index.md), [SavedNetworkApiAsync](../-saved-network-api-async/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [getSavedNetworks](../-saved-network-api/get-saved-networks.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
abstract fun [getSavedNetworks](../-saved-network-api/get-saved-networks.md)(): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)>
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
abstract fun [getSavedNetworks](../-saved-network-api-async/get-saved-networks.md)(callbacks: [GetSavedNetworksCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-saved-networks-callbacks/index.md)?) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [isNetworkSaved](../-saved-network-api/is-network-saved.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
abstract fun [isNetworkSaved](../-saved-network-api/is-network-saved.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [searchForSavedNetwork](../-saved-network-api/search-for-saved-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
abstract fun [searchForSavedNetwork](../-saved-network-api/search-for-saved-network.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)?
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
abstract fun [searchForSavedNetwork](../-saved-network-api-async/search-for-saved-network.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), callbacks: [SearchForSavedNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-search-for-saved-network-callbacks/index.md)?) |
-| [searchForSavedNetworks](../-saved-network-api/search-for-saved-networks.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
abstract fun [searchForSavedNetworks](../-saved-network-api/search-for-saved-networks.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)>
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
abstract fun [searchForSavedNetworks](../-saved-network-api-async/search-for-saved-networks.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), callbacks: [SearchForSavedNetworksCallbacks](../../com.isupatches.android.wisefy.callbacks/-search-for-saved-networks-callbacks/index.md)?) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [WisefySavedNetworkUtil](../-wisefy-saved-network-util/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-util/-wisefy-saved-network-util.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-util/-wisefy-saved-network-util.md
deleted file mode 100644
index b1bb5016..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-util/-wisefy-saved-network-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks](../index.md)/[WisefySavedNetworkUtil](index.md)/[WisefySavedNetworkUtil](-wisefy-saved-network-util.md)
-
-# WisefySavedNetworkUtil
-
-[androidJvm]\
-fun [WisefySavedNetworkUtil](-wisefy-saved-network-util.md)(coroutineDispatcherProvider: [CoroutineDispatcherProvider](../../com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/index.md), logger: [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?, sdkUtil: [SdkUtil](../../com.isupatches.android.wisefy.util/-sdk-util/index.md), wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-util/coroutine-dispatcher-provider.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-util/coroutine-dispatcher-provider.md
deleted file mode 100644
index 518d5a5b..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-util/coroutine-dispatcher-provider.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks](../index.md)/[WisefySavedNetworkUtil](index.md)/[coroutineDispatcherProvider](coroutine-dispatcher-provider.md)
-
-# coroutineDispatcherProvider
-
-[androidJvm]\
-private val [coroutineDispatcherProvider](coroutine-dispatcher-provider.md): [CoroutineDispatcherProvider](../../com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-util/delegate.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-util/delegate.md
deleted file mode 100644
index 2ca8f070..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-util/delegate.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks](../index.md)/[WisefySavedNetworkUtil](index.md)/[delegate](delegate.md)
-
-# delegate
-
-[androidJvm]\
-private val [delegate](delegate.md): [SavedNetworkApi](../-saved-network-api/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-util/get-saved-networks.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-util/get-saved-networks.md
deleted file mode 100644
index 944d742f..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-util/get-saved-networks.md
+++ /dev/null
@@ -1,13 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks](../index.md)/[WisefySavedNetworkUtil](index.md)/[getSavedNetworks](get-saved-networks.md)
-
-# getSavedNetworks
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
-
-open override fun [getSavedNetworks](get-saved-networks.md)(): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)>
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
-
-open override fun [getSavedNetworks](get-saved-networks.md)(callbacks: [GetSavedNetworksCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-saved-networks-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-util/index.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-util/index.md
deleted file mode 100644
index 8faf57c9..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-util/index.md
+++ /dev/null
@@ -1,26 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks](../index.md)/[WisefySavedNetworkUtil](index.md)
-
-# WisefySavedNetworkUtil
-
-[androidJvm]\
-internal class [WisefySavedNetworkUtil](index.md)(**coroutineDispatcherProvider**: [CoroutineDispatcherProvider](../../com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/index.md), **logger**: [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?, **sdkUtil**: [SdkUtil](../../com.isupatches.android.wisefy.util/-sdk-util/index.md), **wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)) : [SavedNetworkUtil](../-saved-network-util/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [getSavedNetworks](get-saved-networks.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
open override fun [getSavedNetworks](get-saved-networks.md)(): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)>
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
open override fun [getSavedNetworks](get-saved-networks.md)(callbacks: [GetSavedNetworksCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-saved-networks-callbacks/index.md)?) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [isNetworkSaved](is-network-saved.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
open override fun [isNetworkSaved](is-network-saved.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [searchForSavedNetwork](search-for-saved-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
open override fun [searchForSavedNetwork](search-for-saved-network.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)?
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
open override fun [searchForSavedNetwork](search-for-saved-network.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), callbacks: [SearchForSavedNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-search-for-saved-network-callbacks/index.md)?) |
-| [searchForSavedNetworks](search-for-saved-networks.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
open override fun [searchForSavedNetworks](search-for-saved-networks.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)>
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
open override fun [searchForSavedNetworks](search-for-saved-networks.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), callbacks: [SearchForSavedNetworksCallbacks](../../com.isupatches.android.wisefy.callbacks/-search-for-saved-networks-callbacks/index.md)?) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [coroutineDispatcherProvider](coroutine-dispatcher-provider.md) | [androidJvm]
private val [coroutineDispatcherProvider](coroutine-dispatcher-provider.md): [CoroutineDispatcherProvider](../../com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/index.md) |
-| [delegate](delegate.md) | [androidJvm]
private val [delegate](delegate.md): [SavedNetworkApi](../-saved-network-api/index.md) |
-| [savedNetworkScope](saved-network-scope.md) | [androidJvm]
private val [savedNetworkScope](saved-network-scope.md): CoroutineScope |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-util/is-network-saved.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-util/is-network-saved.md
deleted file mode 100644
index 4774a750..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-util/is-network-saved.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks](../index.md)/[WisefySavedNetworkUtil](index.md)/[isNetworkSaved](is-network-saved.md)
-
-# isNetworkSaved
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
-
-open override fun [isNetworkSaved](is-network-saved.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-util/saved-network-scope.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-util/saved-network-scope.md
deleted file mode 100644
index 4e1b8f74..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-util/saved-network-scope.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks](../index.md)/[WisefySavedNetworkUtil](index.md)/[savedNetworkScope](saved-network-scope.md)
-
-# savedNetworkScope
-
-[androidJvm]\
-private val [savedNetworkScope](saved-network-scope.md): CoroutineScope
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-util/search-for-saved-network.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-util/search-for-saved-network.md
deleted file mode 100644
index c57cc1fb..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-util/search-for-saved-network.md
+++ /dev/null
@@ -1,13 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks](../index.md)/[WisefySavedNetworkUtil](index.md)/[searchForSavedNetwork](search-for-saved-network.md)
-
-# searchForSavedNetwork
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
-
-open override fun [searchForSavedNetwork](search-for-saved-network.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)?
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
-
-open override fun [searchForSavedNetwork](search-for-saved-network.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), callbacks: [SearchForSavedNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-search-for-saved-network-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-util/search-for-saved-networks.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-util/search-for-saved-networks.md
deleted file mode 100644
index e89da7b2..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-util/search-for-saved-networks.md
+++ /dev/null
@@ -1,13 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.savednetworks](../index.md)/[WisefySavedNetworkUtil](index.md)/[searchForSavedNetworks](search-for-saved-networks.md)
-
-# searchForSavedNetworks
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
-
-open override fun [searchForSavedNetworks](search-for-saved-networks.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)>
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
-
-open override fun [searchForSavedNetworks](search-for-saved-networks.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), callbacks: [SearchForSavedNetworksCallbacks](../../com.isupatches.android.wisefy.callbacks/-search-for-saved-networks-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/index.md b/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/index.md
deleted file mode 100644
index e34bd3a0..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.savednetworks/index.md
+++ /dev/null
@@ -1,18 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.savednetworks](index.md)
-
-# Package com.isupatches.android.wisefy.savednetworks
-
-## Types
-
-| Name | Summary |
-|---|---|
-| [SavedNetworkApi](-saved-network-api/index.md) | [androidJvm]
interface [SavedNetworkApi](-saved-network-api/index.md) |
-| [SavedNetworkApiAsync](-saved-network-api-async/index.md) | [androidJvm]
interface [SavedNetworkApiAsync](-saved-network-api-async/index.md) |
-| [SavedNetworkUtil](-saved-network-util/index.md) | [androidJvm]
internal interface [SavedNetworkUtil](-saved-network-util/index.md) : [SavedNetworkApi](-saved-network-api/index.md), [SavedNetworkApiAsync](-saved-network-api-async/index.md) |
-| [WisefySavedNetworkUtil](-wisefy-saved-network-util/index.md) | [androidJvm]
internal class [WisefySavedNetworkUtil](-wisefy-saved-network-util/index.md)(**coroutineDispatcherProvider**: [CoroutineDispatcherProvider](../com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/index.md), **logger**: [WisefyLogger](../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?, **sdkUtil**: [SdkUtil](../com.isupatches.android.wisefy.util/-sdk-util/index.md), **wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)) : [SavedNetworkUtil](-saved-network-util/index.md) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [LOG_TAG](-l-o-g_-t-a-g.md) | [androidJvm]
private const val [LOG_TAG](-l-o-g_-t-a-g.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api-impl/-legacy-security-api-impl.md b/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api-impl/-legacy-security-api-impl.md
deleted file mode 100644
index 7660fa35..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api-impl/-legacy-security-api-impl.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security.delegates](../index.md)/[LegacySecurityApiImpl](index.md)/[LegacySecurityApiImpl](-legacy-security-api-impl.md)
-
-# LegacySecurityApiImpl
-
-[androidJvm]\
-fun [LegacySecurityApiImpl](-legacy-security-api-impl.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api-impl/contains-capability.md b/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api-impl/contains-capability.md
deleted file mode 100644
index b3197f9e..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api-impl/contains-capability.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security.delegates](../index.md)/[LegacySecurityApiImpl](index.md)/[containsCapability](contains-capability.md)
-
-# containsCapability
-
-[androidJvm]\
-private fun [containsCapability](contains-capability.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)?, capability: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api-impl/index.md b/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api-impl/index.md
deleted file mode 100644
index 3cb92270..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api-impl/index.md
+++ /dev/null
@@ -1,22 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security.delegates](../index.md)/[LegacySecurityApiImpl](index.md)
-
-# LegacySecurityApiImpl
-
-[androidJvm]\
-internal class [LegacySecurityApiImpl](index.md) : [LegacySecurityApi](../-legacy-security-api/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [containsCapability](contains-capability.md) | [androidJvm]
private fun [containsCapability](contains-capability.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)?, capability: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [isNetworkEAP](is-network-e-a-p.md) | [androidJvm]
open override fun [isNetworkEAP](is-network-e-a-p.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkPSK](is-network-p-s-k.md) | [androidJvm]
open override fun [isNetworkPSK](is-network-p-s-k.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkSecure](is-network-secure.md) | [androidJvm]
open override fun [isNetworkSecure](is-network-secure.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkWEP](is-network-w-e-p.md) | [androidJvm]
open override fun [isNetworkWEP](is-network-w-e-p.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkWPA](is-network-w-p-a.md) | [androidJvm]
open override fun [isNetworkWPA](is-network-w-p-a.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkWPA2](is-network-w-p-a2.md) | [androidJvm]
open override fun [isNetworkWPA2](is-network-w-p-a2.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkWPA3](is-network-w-p-a3.md) | [androidJvm]
open override fun [isNetworkWPA3](is-network-w-p-a3.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api-impl/is-network-e-a-p.md b/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api-impl/is-network-e-a-p.md
deleted file mode 100644
index ace9ab0b..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api-impl/is-network-e-a-p.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security.delegates](../index.md)/[LegacySecurityApiImpl](index.md)/[isNetworkEAP](is-network-e-a-p.md)
-
-# isNetworkEAP
-
-[androidJvm]\
-open override fun [isNetworkEAP](is-network-e-a-p.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api-impl/is-network-p-s-k.md b/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api-impl/is-network-p-s-k.md
deleted file mode 100644
index 47598f1f..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api-impl/is-network-p-s-k.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security.delegates](../index.md)/[LegacySecurityApiImpl](index.md)/[isNetworkPSK](is-network-p-s-k.md)
-
-# isNetworkPSK
-
-[androidJvm]\
-open override fun [isNetworkPSK](is-network-p-s-k.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api-impl/is-network-secure.md b/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api-impl/is-network-secure.md
deleted file mode 100644
index 89ff25f2..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api-impl/is-network-secure.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security.delegates](../index.md)/[LegacySecurityApiImpl](index.md)/[isNetworkSecure](is-network-secure.md)
-
-# isNetworkSecure
-
-[androidJvm]\
-open override fun [isNetworkSecure](is-network-secure.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api-impl/is-network-w-e-p.md b/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api-impl/is-network-w-e-p.md
deleted file mode 100644
index 90d26375..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api-impl/is-network-w-e-p.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security.delegates](../index.md)/[LegacySecurityApiImpl](index.md)/[isNetworkWEP](is-network-w-e-p.md)
-
-# isNetworkWEP
-
-[androidJvm]\
-open override fun [isNetworkWEP](is-network-w-e-p.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api-impl/is-network-w-p-a.md b/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api-impl/is-network-w-p-a.md
deleted file mode 100644
index 01a86e9b..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api-impl/is-network-w-p-a.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security.delegates](../index.md)/[LegacySecurityApiImpl](index.md)/[isNetworkWPA](is-network-w-p-a.md)
-
-# isNetworkWPA
-
-[androidJvm]\
-open override fun [isNetworkWPA](is-network-w-p-a.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api-impl/is-network-w-p-a2.md b/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api-impl/is-network-w-p-a2.md
deleted file mode 100644
index ef2dd2e3..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api-impl/is-network-w-p-a2.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security.delegates](../index.md)/[LegacySecurityApiImpl](index.md)/[isNetworkWPA2](is-network-w-p-a2.md)
-
-# isNetworkWPA2
-
-[androidJvm]\
-open override fun [isNetworkWPA2](is-network-w-p-a2.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api-impl/is-network-w-p-a3.md b/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api-impl/is-network-w-p-a3.md
deleted file mode 100644
index bfde655a..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api-impl/is-network-w-p-a3.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security.delegates](../index.md)/[LegacySecurityApiImpl](index.md)/[isNetworkWPA3](is-network-w-p-a3.md)
-
-# isNetworkWPA3
-
-[androidJvm]\
-open override fun [isNetworkWPA3](is-network-w-p-a3.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api/index.md b/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api/index.md
deleted file mode 100644
index 3c05f524..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api/index.md
+++ /dev/null
@@ -1,27 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security.delegates](../index.md)/[LegacySecurityApi](index.md)
-
-# LegacySecurityApi
-
-[androidJvm]\
-internal interface [LegacySecurityApi](index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [isNetworkEAP](is-network-e-a-p.md) | [androidJvm]
abstract fun [isNetworkEAP](is-network-e-a-p.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkPSK](is-network-p-s-k.md) | [androidJvm]
abstract fun [isNetworkPSK](is-network-p-s-k.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkSecure](is-network-secure.md) | [androidJvm]
abstract fun [isNetworkSecure](is-network-secure.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkWEP](is-network-w-e-p.md) | [androidJvm]
abstract fun [isNetworkWEP](is-network-w-e-p.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkWPA](is-network-w-p-a.md) | [androidJvm]
abstract fun [isNetworkWPA](is-network-w-p-a.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkWPA2](is-network-w-p-a2.md) | [androidJvm]
abstract fun [isNetworkWPA2](is-network-w-p-a2.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkWPA3](is-network-w-p-a3.md) | [androidJvm]
abstract fun [isNetworkWPA3](is-network-w-p-a3.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [LegacySecurityApiImpl](../-legacy-security-api-impl/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api/is-network-e-a-p.md b/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api/is-network-e-a-p.md
deleted file mode 100644
index a64d4c0c..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api/is-network-e-a-p.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security.delegates](../index.md)/[LegacySecurityApi](index.md)/[isNetworkEAP](is-network-e-a-p.md)
-
-# isNetworkEAP
-
-[androidJvm]\
-abstract fun [isNetworkEAP](is-network-e-a-p.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api/is-network-p-s-k.md b/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api/is-network-p-s-k.md
deleted file mode 100644
index a0f6dd19..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api/is-network-p-s-k.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security.delegates](../index.md)/[LegacySecurityApi](index.md)/[isNetworkPSK](is-network-p-s-k.md)
-
-# isNetworkPSK
-
-[androidJvm]\
-abstract fun [isNetworkPSK](is-network-p-s-k.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api/is-network-secure.md b/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api/is-network-secure.md
deleted file mode 100644
index 04d4f9bf..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api/is-network-secure.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security.delegates](../index.md)/[LegacySecurityApi](index.md)/[isNetworkSecure](is-network-secure.md)
-
-# isNetworkSecure
-
-[androidJvm]\
-abstract fun [isNetworkSecure](is-network-secure.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api/is-network-w-e-p.md b/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api/is-network-w-e-p.md
deleted file mode 100644
index 9d2e8c31..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api/is-network-w-e-p.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security.delegates](../index.md)/[LegacySecurityApi](index.md)/[isNetworkWEP](is-network-w-e-p.md)
-
-# isNetworkWEP
-
-[androidJvm]\
-abstract fun [isNetworkWEP](is-network-w-e-p.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api/is-network-w-p-a.md b/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api/is-network-w-p-a.md
deleted file mode 100644
index e5763dc1..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api/is-network-w-p-a.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security.delegates](../index.md)/[LegacySecurityApi](index.md)/[isNetworkWPA](is-network-w-p-a.md)
-
-# isNetworkWPA
-
-[androidJvm]\
-abstract fun [isNetworkWPA](is-network-w-p-a.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api/is-network-w-p-a2.md b/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api/is-network-w-p-a2.md
deleted file mode 100644
index 9de6570e..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api/is-network-w-p-a2.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security.delegates](../index.md)/[LegacySecurityApi](index.md)/[isNetworkWPA2](is-network-w-p-a2.md)
-
-# isNetworkWPA2
-
-[androidJvm]\
-abstract fun [isNetworkWPA2](is-network-w-p-a2.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api/is-network-w-p-a3.md b/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api/is-network-w-p-a3.md
deleted file mode 100644
index 5b155f5e..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api/is-network-w-p-a3.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security.delegates](../index.md)/[LegacySecurityApi](index.md)/[isNetworkWPA3](is-network-w-p-a3.md)
-
-# isNetworkWPA3
-
-[androidJvm]\
-abstract fun [isNetworkWPA3](is-network-w-p-a3.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-delegate/-legacy-security-delegate.md b/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-delegate/-legacy-security-delegate.md
deleted file mode 100644
index 06358113..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-delegate/-legacy-security-delegate.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security.delegates](../index.md)/[LegacySecurityDelegate](index.md)/[LegacySecurityDelegate](-legacy-security-delegate.md)
-
-# LegacySecurityDelegate
-
-[androidJvm]\
-fun [LegacySecurityDelegate](-legacy-security-delegate.md)(impl: [LegacySecurityApi](../-legacy-security-api/index.md) = LegacySecurityApiImpl())
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-delegate/impl.md b/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-delegate/impl.md
deleted file mode 100644
index d18d6935..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-delegate/impl.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security.delegates](../index.md)/[LegacySecurityDelegate](index.md)/[impl](impl.md)
-
-# impl
-
-[androidJvm]\
-private val [impl](impl.md): [LegacySecurityApi](../-legacy-security-api/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-delegate/index.md b/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-delegate/index.md
deleted file mode 100644
index 8e2e3018..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-delegate/index.md
+++ /dev/null
@@ -1,27 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security.delegates](../index.md)/[LegacySecurityDelegate](index.md)
-
-# LegacySecurityDelegate
-
-[androidJvm]\
-internal class [LegacySecurityDelegate](index.md)(**impl**: [LegacySecurityApi](../-legacy-security-api/index.md)) : [SecurityApi](../../com.isupatches.android.wisefy.security/-security-api/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [isNetworkEAP](is-network-e-a-p.md) | [androidJvm]
open override fun [isNetworkEAP](is-network-e-a-p.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkPSK](is-network-p-s-k.md) | [androidJvm]
open override fun [isNetworkPSK](is-network-p-s-k.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkSecure](is-network-secure.md) | [androidJvm]
open override fun [isNetworkSecure](is-network-secure.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkWEP](is-network-w-e-p.md) | [androidJvm]
open override fun [isNetworkWEP](is-network-w-e-p.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkWPA](is-network-w-p-a.md) | [androidJvm]
open override fun [isNetworkWPA](is-network-w-p-a.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkWPA2](is-network-w-p-a2.md) | [androidJvm]
open override fun [isNetworkWPA2](is-network-w-p-a2.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkWPA3](is-network-w-p-a3.md) | [androidJvm]
open override fun [isNetworkWPA3](is-network-w-p-a3.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [impl](impl.md) | [androidJvm]
private val [impl](impl.md): [LegacySecurityApi](../-legacy-security-api/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-delegate/is-network-e-a-p.md b/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-delegate/is-network-e-a-p.md
deleted file mode 100644
index 513ffd7a..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-delegate/is-network-e-a-p.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security.delegates](../index.md)/[LegacySecurityDelegate](index.md)/[isNetworkEAP](is-network-e-a-p.md)
-
-# isNetworkEAP
-
-[androidJvm]\
-open override fun [isNetworkEAP](is-network-e-a-p.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-delegate/is-network-p-s-k.md b/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-delegate/is-network-p-s-k.md
deleted file mode 100644
index 1b5e06da..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-delegate/is-network-p-s-k.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security.delegates](../index.md)/[LegacySecurityDelegate](index.md)/[isNetworkPSK](is-network-p-s-k.md)
-
-# isNetworkPSK
-
-[androidJvm]\
-open override fun [isNetworkPSK](is-network-p-s-k.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-delegate/is-network-secure.md b/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-delegate/is-network-secure.md
deleted file mode 100644
index 4be5056a..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-delegate/is-network-secure.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security.delegates](../index.md)/[LegacySecurityDelegate](index.md)/[isNetworkSecure](is-network-secure.md)
-
-# isNetworkSecure
-
-[androidJvm]\
-open override fun [isNetworkSecure](is-network-secure.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-delegate/is-network-w-e-p.md b/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-delegate/is-network-w-e-p.md
deleted file mode 100644
index aabc74ad..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-delegate/is-network-w-e-p.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security.delegates](../index.md)/[LegacySecurityDelegate](index.md)/[isNetworkWEP](is-network-w-e-p.md)
-
-# isNetworkWEP
-
-[androidJvm]\
-open override fun [isNetworkWEP](is-network-w-e-p.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-delegate/is-network-w-p-a.md b/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-delegate/is-network-w-p-a.md
deleted file mode 100644
index e7555121..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-delegate/is-network-w-p-a.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security.delegates](../index.md)/[LegacySecurityDelegate](index.md)/[isNetworkWPA](is-network-w-p-a.md)
-
-# isNetworkWPA
-
-[androidJvm]\
-open override fun [isNetworkWPA](is-network-w-p-a.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-delegate/is-network-w-p-a2.md b/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-delegate/is-network-w-p-a2.md
deleted file mode 100644
index 6bc42bb5..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-delegate/is-network-w-p-a2.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security.delegates](../index.md)/[LegacySecurityDelegate](index.md)/[isNetworkWPA2](is-network-w-p-a2.md)
-
-# isNetworkWPA2
-
-[androidJvm]\
-open override fun [isNetworkWPA2](is-network-w-p-a2.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-delegate/is-network-w-p-a3.md b/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-delegate/is-network-w-p-a3.md
deleted file mode 100644
index 12575041..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-delegate/is-network-w-p-a3.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security.delegates](../index.md)/[LegacySecurityDelegate](index.md)/[isNetworkWPA3](is-network-w-p-a3.md)
-
-# isNetworkWPA3
-
-[androidJvm]\
-open override fun [isNetworkWPA3](is-network-w-p-a3.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/index.md b/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/index.md
deleted file mode 100644
index 73e5aa63..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security.delegates/index.md
+++ /dev/null
@@ -1,11 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.security.delegates](index.md)
-
-# Package com.isupatches.android.wisefy.security.delegates
-
-## Types
-
-| Name | Summary |
-|---|---|
-| [LegacySecurityApi](-legacy-security-api/index.md) | [androidJvm]
internal interface [LegacySecurityApi](-legacy-security-api/index.md) |
-| [LegacySecurityApiImpl](-legacy-security-api-impl/index.md) | [androidJvm]
internal class [LegacySecurityApiImpl](-legacy-security-api-impl/index.md) : [LegacySecurityApi](-legacy-security-api/index.md) |
-| [LegacySecurityDelegate](-legacy-security-delegate/index.md) | [androidJvm]
internal class [LegacySecurityDelegate](-legacy-security-delegate/index.md)(**impl**: [LegacySecurityApi](-legacy-security-api/index.md)) : [SecurityApi](../com.isupatches.android.wisefy.security/-security-api/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security.entities/-capability/-capability.md b/documentation/wisefy/com.isupatches.android.wisefy.security.entities/-capability/-capability.md
deleted file mode 100644
index 560d4c4d..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security.entities/-capability/-capability.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security.entities](../index.md)/[Capability](index.md)/[Capability](-capability.md)
-
-# Capability
-
-[androidJvm]\
-fun [Capability](-capability.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security.entities/-capability/index.md b/documentation/wisefy/com.isupatches.android.wisefy.security.entities/-capability/index.md
deleted file mode 100644
index 81615931..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security.entities/-capability/index.md
+++ /dev/null
@@ -1,14 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security.entities](../index.md)/[Capability](index.md)
-
-# Capability
-
-[androidJvm]\
-annotation class [Capability](index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security.entities/-e-a-p.md b/documentation/wisefy/com.isupatches.android.wisefy.security.entities/-e-a-p.md
deleted file mode 100644
index c621c0af..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security.entities/-e-a-p.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.security.entities](index.md)/[EAP](-e-a-p.md)
-
-# EAP
-
-[androidJvm]\
-const val [EAP](-e-a-p.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security.entities/-p-s-k.md b/documentation/wisefy/com.isupatches.android.wisefy.security.entities/-p-s-k.md
deleted file mode 100644
index 36a44860..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security.entities/-p-s-k.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.security.entities](index.md)/[PSK](-p-s-k.md)
-
-# PSK
-
-[androidJvm]\
-const val [PSK](-p-s-k.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security.entities/-w-e-p.md b/documentation/wisefy/com.isupatches.android.wisefy.security.entities/-w-e-p.md
deleted file mode 100644
index 4d4103ca..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security.entities/-w-e-p.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.security.entities](index.md)/[WEP](-w-e-p.md)
-
-# WEP
-
-[androidJvm]\
-const val [WEP](-w-e-p.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security.entities/-w-p-a.md b/documentation/wisefy/com.isupatches.android.wisefy.security.entities/-w-p-a.md
deleted file mode 100644
index 0998d910..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security.entities/-w-p-a.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.security.entities](index.md)/[WPA](-w-p-a.md)
-
-# WPA
-
-[androidJvm]\
-const val [WPA](-w-p-a.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security.entities/-w-p-a2.md b/documentation/wisefy/com.isupatches.android.wisefy.security.entities/-w-p-a2.md
deleted file mode 100644
index 465381d3..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security.entities/-w-p-a2.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.security.entities](index.md)/[WPA2](-w-p-a2.md)
-
-# WPA2
-
-[androidJvm]\
-const val [WPA2](-w-p-a2.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security.entities/-w-p-a3.md b/documentation/wisefy/com.isupatches.android.wisefy.security.entities/-w-p-a3.md
deleted file mode 100644
index 7999e288..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security.entities/-w-p-a3.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.security.entities](index.md)/[WPA3](-w-p-a3.md)
-
-# WPA3
-
-[androidJvm]\
-const val [WPA3](-w-p-a3.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security.entities/index.md b/documentation/wisefy/com.isupatches.android.wisefy.security.entities/index.md
deleted file mode 100644
index 1a3bb653..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security.entities/index.md
+++ /dev/null
@@ -1,20 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.security.entities](index.md)
-
-# Package com.isupatches.android.wisefy.security.entities
-
-## Types
-
-| Name | Summary |
-|---|---|
-| [Capability](-capability/index.md) | [androidJvm]
annotation class [Capability](-capability/index.md) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [EAP](-e-a-p.md) | [androidJvm]
const val [EAP](-e-a-p.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-| [PSK](-p-s-k.md) | [androidJvm]
const val [PSK](-p-s-k.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-| [WEP](-w-e-p.md) | [androidJvm]
const val [WEP](-w-e-p.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-| [WPA](-w-p-a.md) | [androidJvm]
const val [WPA](-w-p-a.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-| [WPA2](-w-p-a2.md) | [androidJvm]
const val [WPA2](-w-p-a2.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-| [WPA3](-w-p-a3.md) | [androidJvm]
const val [WPA3](-w-p-a3.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security/-l-o-g_-t-a-g.md b/documentation/wisefy/com.isupatches.android.wisefy.security/-l-o-g_-t-a-g.md
deleted file mode 100644
index ad9fc76d..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security/-l-o-g_-t-a-g.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.security](index.md)/[LOG_TAG](-l-o-g_-t-a-g.md)
-
-# LOG_TAG
-
-[androidJvm]\
-private const val [LOG_TAG](-l-o-g_-t-a-g.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security/-security-api/index.md b/documentation/wisefy/com.isupatches.android.wisefy.security/-security-api/index.md
deleted file mode 100644
index 44f2acf6..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security/-security-api/index.md
+++ /dev/null
@@ -1,29 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security](../index.md)/[SecurityApi](index.md)
-
-# SecurityApi
-
-[androidJvm]\
-interface [SecurityApi](index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [isNetworkEAP](is-network-e-a-p.md) | [androidJvm]
abstract fun [isNetworkEAP](is-network-e-a-p.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkPSK](is-network-p-s-k.md) | [androidJvm]
abstract fun [isNetworkPSK](is-network-p-s-k.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkSecure](is-network-secure.md) | [androidJvm]
abstract fun [isNetworkSecure](is-network-secure.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkWEP](is-network-w-e-p.md) | [androidJvm]
abstract fun [isNetworkWEP](is-network-w-e-p.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkWPA](is-network-w-p-a.md) | [androidJvm]
abstract fun [isNetworkWPA](is-network-w-p-a.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkWPA2](is-network-w-p-a2.md) | [androidJvm]
abstract fun [isNetworkWPA2](is-network-w-p-a2.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkWPA3](is-network-w-p-a3.md) | [androidJvm]
abstract fun [isNetworkWPA3](is-network-w-p-a3.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [WisefyApi](../../com.isupatches.android.wisefy/-wisefy-api/index.md) |
-| [SecurityUtil](../-security-util/index.md) |
-| [LegacySecurityDelegate](../../com.isupatches.android.wisefy.security.delegates/-legacy-security-delegate/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security/-security-api/is-network-e-a-p.md b/documentation/wisefy/com.isupatches.android.wisefy.security/-security-api/is-network-e-a-p.md
deleted file mode 100644
index ccfe524e..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security/-security-api/is-network-e-a-p.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security](../index.md)/[SecurityApi](index.md)/[isNetworkEAP](is-network-e-a-p.md)
-
-# isNetworkEAP
-
-[androidJvm]\
-abstract fun [isNetworkEAP](is-network-e-a-p.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security/-security-api/is-network-p-s-k.md b/documentation/wisefy/com.isupatches.android.wisefy.security/-security-api/is-network-p-s-k.md
deleted file mode 100644
index d17919d7..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security/-security-api/is-network-p-s-k.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security](../index.md)/[SecurityApi](index.md)/[isNetworkPSK](is-network-p-s-k.md)
-
-# isNetworkPSK
-
-[androidJvm]\
-abstract fun [isNetworkPSK](is-network-p-s-k.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security/-security-api/is-network-secure.md b/documentation/wisefy/com.isupatches.android.wisefy.security/-security-api/is-network-secure.md
deleted file mode 100644
index 5594e305..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security/-security-api/is-network-secure.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security](../index.md)/[SecurityApi](index.md)/[isNetworkSecure](is-network-secure.md)
-
-# isNetworkSecure
-
-[androidJvm]\
-abstract fun [isNetworkSecure](is-network-secure.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security/-security-api/is-network-w-e-p.md b/documentation/wisefy/com.isupatches.android.wisefy.security/-security-api/is-network-w-e-p.md
deleted file mode 100644
index c9d3f542..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security/-security-api/is-network-w-e-p.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security](../index.md)/[SecurityApi](index.md)/[isNetworkWEP](is-network-w-e-p.md)
-
-# isNetworkWEP
-
-[androidJvm]\
-abstract fun [isNetworkWEP](is-network-w-e-p.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security/-security-api/is-network-w-p-a.md b/documentation/wisefy/com.isupatches.android.wisefy.security/-security-api/is-network-w-p-a.md
deleted file mode 100644
index 4f4785c4..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security/-security-api/is-network-w-p-a.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security](../index.md)/[SecurityApi](index.md)/[isNetworkWPA](is-network-w-p-a.md)
-
-# isNetworkWPA
-
-[androidJvm]\
-abstract fun [isNetworkWPA](is-network-w-p-a.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security/-security-api/is-network-w-p-a2.md b/documentation/wisefy/com.isupatches.android.wisefy.security/-security-api/is-network-w-p-a2.md
deleted file mode 100644
index 2c42e4f3..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security/-security-api/is-network-w-p-a2.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security](../index.md)/[SecurityApi](index.md)/[isNetworkWPA2](is-network-w-p-a2.md)
-
-# isNetworkWPA2
-
-[androidJvm]\
-abstract fun [isNetworkWPA2](is-network-w-p-a2.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security/-security-api/is-network-w-p-a3.md b/documentation/wisefy/com.isupatches.android.wisefy.security/-security-api/is-network-w-p-a3.md
deleted file mode 100644
index 92ee1246..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security/-security-api/is-network-w-p-a3.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security](../index.md)/[SecurityApi](index.md)/[isNetworkWPA3](is-network-w-p-a3.md)
-
-# isNetworkWPA3
-
-[androidJvm]\
-abstract fun [isNetworkWPA3](is-network-w-p-a3.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security/-security-util/index.md b/documentation/wisefy/com.isupatches.android.wisefy.security/-security-util/index.md
deleted file mode 100644
index f7fd4f15..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security/-security-util/index.md
+++ /dev/null
@@ -1,27 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security](../index.md)/[SecurityUtil](index.md)
-
-# SecurityUtil
-
-[androidJvm]\
-internal interface [SecurityUtil](index.md) : [SecurityApi](../-security-api/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [isNetworkEAP](../-security-api/is-network-e-a-p.md) | [androidJvm]
abstract fun [isNetworkEAP](../-security-api/is-network-e-a-p.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkPSK](../-security-api/is-network-p-s-k.md) | [androidJvm]
abstract fun [isNetworkPSK](../-security-api/is-network-p-s-k.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkSecure](../-security-api/is-network-secure.md) | [androidJvm]
abstract fun [isNetworkSecure](../-security-api/is-network-secure.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkWEP](../-security-api/is-network-w-e-p.md) | [androidJvm]
abstract fun [isNetworkWEP](../-security-api/is-network-w-e-p.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkWPA](../-security-api/is-network-w-p-a.md) | [androidJvm]
abstract fun [isNetworkWPA](../-security-api/is-network-w-p-a.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkWPA2](../-security-api/is-network-w-p-a2.md) | [androidJvm]
abstract fun [isNetworkWPA2](../-security-api/is-network-w-p-a2.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkWPA3](../-security-api/is-network-w-p-a3.md) | [androidJvm]
abstract fun [isNetworkWPA3](../-security-api/is-network-w-p-a3.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [WisefySecurityUtil](../-wisefy-security-util/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security/-wisefy-security-util/-wisefy-security-util.md b/documentation/wisefy/com.isupatches.android.wisefy.security/-wisefy-security-util/-wisefy-security-util.md
deleted file mode 100644
index e9183c8a..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security/-wisefy-security-util/-wisefy-security-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security](../index.md)/[WisefySecurityUtil](index.md)/[WisefySecurityUtil](-wisefy-security-util.md)
-
-# WisefySecurityUtil
-
-[androidJvm]\
-fun [WisefySecurityUtil](-wisefy-security-util.md)(logger: [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security/-wisefy-security-util/delegate.md b/documentation/wisefy/com.isupatches.android.wisefy.security/-wisefy-security-util/delegate.md
deleted file mode 100644
index 3260bf5b..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security/-wisefy-security-util/delegate.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security](../index.md)/[WisefySecurityUtil](index.md)/[delegate](delegate.md)
-
-# delegate
-
-[androidJvm]\
-private val [delegate](delegate.md): [LegacySecurityDelegate](../../com.isupatches.android.wisefy.security.delegates/-legacy-security-delegate/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security/-wisefy-security-util/index.md b/documentation/wisefy/com.isupatches.android.wisefy.security/-wisefy-security-util/index.md
deleted file mode 100644
index 96c94257..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security/-wisefy-security-util/index.md
+++ /dev/null
@@ -1,27 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security](../index.md)/[WisefySecurityUtil](index.md)
-
-# WisefySecurityUtil
-
-[androidJvm]\
-internal class [WisefySecurityUtil](index.md)(**logger**: [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?) : [SecurityUtil](../-security-util/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [isNetworkEAP](is-network-e-a-p.md) | [androidJvm]
open override fun [isNetworkEAP](is-network-e-a-p.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkPSK](is-network-p-s-k.md) | [androidJvm]
open override fun [isNetworkPSK](is-network-p-s-k.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkSecure](is-network-secure.md) | [androidJvm]
open override fun [isNetworkSecure](is-network-secure.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkWEP](is-network-w-e-p.md) | [androidJvm]
open override fun [isNetworkWEP](is-network-w-e-p.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkWPA](is-network-w-p-a.md) | [androidJvm]
open override fun [isNetworkWPA](is-network-w-p-a.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkWPA2](is-network-w-p-a2.md) | [androidJvm]
open override fun [isNetworkWPA2](is-network-w-p-a2.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkWPA3](is-network-w-p-a3.md) | [androidJvm]
open override fun [isNetworkWPA3](is-network-w-p-a3.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [delegate](delegate.md) | [androidJvm]
private val [delegate](delegate.md): [LegacySecurityDelegate](../../com.isupatches.android.wisefy.security.delegates/-legacy-security-delegate/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security/-wisefy-security-util/is-network-e-a-p.md b/documentation/wisefy/com.isupatches.android.wisefy.security/-wisefy-security-util/is-network-e-a-p.md
deleted file mode 100644
index 24c134f5..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security/-wisefy-security-util/is-network-e-a-p.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security](../index.md)/[WisefySecurityUtil](index.md)/[isNetworkEAP](is-network-e-a-p.md)
-
-# isNetworkEAP
-
-[androidJvm]\
-open override fun [isNetworkEAP](is-network-e-a-p.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security/-wisefy-security-util/is-network-p-s-k.md b/documentation/wisefy/com.isupatches.android.wisefy.security/-wisefy-security-util/is-network-p-s-k.md
deleted file mode 100644
index 9cc74852..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security/-wisefy-security-util/is-network-p-s-k.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security](../index.md)/[WisefySecurityUtil](index.md)/[isNetworkPSK](is-network-p-s-k.md)
-
-# isNetworkPSK
-
-[androidJvm]\
-open override fun [isNetworkPSK](is-network-p-s-k.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security/-wisefy-security-util/is-network-secure.md b/documentation/wisefy/com.isupatches.android.wisefy.security/-wisefy-security-util/is-network-secure.md
deleted file mode 100644
index 7de0d6ab..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security/-wisefy-security-util/is-network-secure.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security](../index.md)/[WisefySecurityUtil](index.md)/[isNetworkSecure](is-network-secure.md)
-
-# isNetworkSecure
-
-[androidJvm]\
-open override fun [isNetworkSecure](is-network-secure.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security/-wisefy-security-util/is-network-w-e-p.md b/documentation/wisefy/com.isupatches.android.wisefy.security/-wisefy-security-util/is-network-w-e-p.md
deleted file mode 100644
index 04591302..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security/-wisefy-security-util/is-network-w-e-p.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security](../index.md)/[WisefySecurityUtil](index.md)/[isNetworkWEP](is-network-w-e-p.md)
-
-# isNetworkWEP
-
-[androidJvm]\
-open override fun [isNetworkWEP](is-network-w-e-p.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security/-wisefy-security-util/is-network-w-p-a.md b/documentation/wisefy/com.isupatches.android.wisefy.security/-wisefy-security-util/is-network-w-p-a.md
deleted file mode 100644
index 25ebe4d0..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security/-wisefy-security-util/is-network-w-p-a.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security](../index.md)/[WisefySecurityUtil](index.md)/[isNetworkWPA](is-network-w-p-a.md)
-
-# isNetworkWPA
-
-[androidJvm]\
-open override fun [isNetworkWPA](is-network-w-p-a.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security/-wisefy-security-util/is-network-w-p-a2.md b/documentation/wisefy/com.isupatches.android.wisefy.security/-wisefy-security-util/is-network-w-p-a2.md
deleted file mode 100644
index 18f5c921..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security/-wisefy-security-util/is-network-w-p-a2.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security](../index.md)/[WisefySecurityUtil](index.md)/[isNetworkWPA2](is-network-w-p-a2.md)
-
-# isNetworkWPA2
-
-[androidJvm]\
-open override fun [isNetworkWPA2](is-network-w-p-a2.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security/-wisefy-security-util/is-network-w-p-a3.md b/documentation/wisefy/com.isupatches.android.wisefy.security/-wisefy-security-util/is-network-w-p-a3.md
deleted file mode 100644
index ac7d963f..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security/-wisefy-security-util/is-network-w-p-a3.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.security](../index.md)/[WisefySecurityUtil](index.md)/[isNetworkWPA3](is-network-w-p-a3.md)
-
-# isNetworkWPA3
-
-[androidJvm]\
-open override fun [isNetworkWPA3](is-network-w-p-a3.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.security/index.md b/documentation/wisefy/com.isupatches.android.wisefy.security/index.md
deleted file mode 100644
index 517cbbbe..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.security/index.md
+++ /dev/null
@@ -1,17 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.security](index.md)
-
-# Package com.isupatches.android.wisefy.security
-
-## Types
-
-| Name | Summary |
-|---|---|
-| [SecurityApi](-security-api/index.md) | [androidJvm]
interface [SecurityApi](-security-api/index.md) |
-| [SecurityUtil](-security-util/index.md) | [androidJvm]
internal interface [SecurityUtil](-security-util/index.md) : [SecurityApi](-security-api/index.md) |
-| [WisefySecurityUtil](-wisefy-security-util/index.md) | [androidJvm]
internal class [WisefySecurityUtil](-wisefy-security-util/index.md)(**logger**: [WisefyLogger](../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?) : [SecurityUtil](-security-util/index.md) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [LOG_TAG](-l-o-g_-t-a-g.md) | [androidJvm]
private const val [LOG_TAG](-l-o-g_-t-a-g.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-api-impl/-android30-signal-api-impl.md b/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-api-impl/-android30-signal-api-impl.md
deleted file mode 100644
index 59c39558..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-api-impl/-android30-signal-api-impl.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.signal.delegates](../index.md)/[Android30SignalApiImpl](index.md)/[Android30SignalApiImpl](-android30-signal-api-impl.md)
-
-# Android30SignalApiImpl
-
-[androidJvm]\
-fun [Android30SignalApiImpl](-android30-signal-api-impl.md)(wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-api-impl/calculate-bars.md b/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-api-impl/calculate-bars.md
deleted file mode 100644
index 47836a78..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-api-impl/calculate-bars.md
+++ /dev/null
@@ -1,11 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.signal.delegates](../index.md)/[Android30SignalApiImpl](index.md)/[calculateBars](calculate-bars.md)
-
-# calculateBars
-
-[androidJvm]\
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
-
-open override fun [calculateBars](calculate-bars.md)(rssiLevel: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
-
-~~open~~ ~~override~~ ~~fun~~ [~~calculateBars~~](calculate-bars.md)~~(~~~~rssiLevel~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)~~,~~ ~~targetNumberOfBars~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)~~)~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-api-impl/compare-signal-level.md b/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-api-impl/compare-signal-level.md
deleted file mode 100644
index 13f1c20d..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-api-impl/compare-signal-level.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.signal.delegates](../index.md)/[Android30SignalApiImpl](index.md)/[compareSignalLevel](compare-signal-level.md)
-
-# compareSignalLevel
-
-[androidJvm]\
-open override fun [compareSignalLevel](compare-signal-level.md)(rssi1: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), rssi2: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-api-impl/index.md b/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-api-impl/index.md
deleted file mode 100644
index bea753de..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-api-impl/index.md
+++ /dev/null
@@ -1,22 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.signal.delegates](../index.md)/[Android30SignalApiImpl](index.md)
-
-# Android30SignalApiImpl
-
-[androidJvm]\
-internal class [Android30SignalApiImpl](index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)) : [Android30SignalApi](../-android30-signal-api/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [calculateBars](calculate-bars.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
open override fun [calculateBars](calculate-bars.md)(rssiLevel: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
~~open~~ ~~override~~ ~~fun~~ [~~calculateBars~~](calculate-bars.md)~~(~~~~rssiLevel~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)~~,~~ ~~targetNumberOfBars~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)~~)~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [compareSignalLevel](compare-signal-level.md) | [androidJvm]
open override fun [compareSignalLevel](compare-signal-level.md)(rssi1: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), rssi2: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [wifiManager](wifi-manager.md) | [androidJvm]
private val [wifiManager](wifi-manager.md): [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-api-impl/wifi-manager.md b/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-api-impl/wifi-manager.md
deleted file mode 100644
index 01054c29..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-api-impl/wifi-manager.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.signal.delegates](../index.md)/[Android30SignalApiImpl](index.md)/[wifiManager](wifi-manager.md)
-
-# wifiManager
-
-[androidJvm]\
-private val [wifiManager](wifi-manager.md): [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-api/calculate-bars.md b/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-api/calculate-bars.md
deleted file mode 100644
index 12ba9739..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-api/calculate-bars.md
+++ /dev/null
@@ -1,11 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.signal.delegates](../index.md)/[Android30SignalApi](index.md)/[calculateBars](calculate-bars.md)
-
-# calculateBars
-
-[androidJvm]\
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
-
-abstract fun [calculateBars](calculate-bars.md)(rssiLevel: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
-
-~~abstract~~ ~~fun~~ [~~calculateBars~~](calculate-bars.md)~~(~~~~rssiLevel~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)~~,~~ ~~targetNumberOfBars~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)~~)~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-api/compare-signal-level.md b/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-api/compare-signal-level.md
deleted file mode 100644
index 3fa8e381..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-api/compare-signal-level.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.signal.delegates](../index.md)/[Android30SignalApi](index.md)/[compareSignalLevel](compare-signal-level.md)
-
-# compareSignalLevel
-
-[androidJvm]\
-abstract fun [compareSignalLevel](compare-signal-level.md)(rssi1: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), rssi2: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-api/index.md b/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-api/index.md
deleted file mode 100644
index 5ded6e0d..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-api/index.md
+++ /dev/null
@@ -1,22 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.signal.delegates](../index.md)/[Android30SignalApi](index.md)
-
-# Android30SignalApi
-
-[androidJvm]\
-internal interface [Android30SignalApi](index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [calculateBars](calculate-bars.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
abstract fun [calculateBars](calculate-bars.md)(rssiLevel: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
~~abstract~~ ~~fun~~ [~~calculateBars~~](calculate-bars.md)~~(~~~~rssiLevel~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)~~,~~ ~~targetNumberOfBars~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)~~)~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [compareSignalLevel](compare-signal-level.md) | [androidJvm]
abstract fun [compareSignalLevel](compare-signal-level.md)(rssi1: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), rssi2: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [Android30SignalApiImpl](../-android30-signal-api-impl/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-delegate/-android30-signal-delegate.md b/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-delegate/-android30-signal-delegate.md
deleted file mode 100644
index 1fd1fe10..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-delegate/-android30-signal-delegate.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.signal.delegates](../index.md)/[Android30SignalDelegate](index.md)/[Android30SignalDelegate](-android30-signal-delegate.md)
-
-# Android30SignalDelegate
-
-[androidJvm]\
-fun [Android30SignalDelegate](-android30-signal-delegate.md)(wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), impl: [Android30SignalApi](../-android30-signal-api/index.md) = Android30SignalApiImpl(wifiManager))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-delegate/calculate-bars.md b/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-delegate/calculate-bars.md
deleted file mode 100644
index 9e84a631..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-delegate/calculate-bars.md
+++ /dev/null
@@ -1,11 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.signal.delegates](../index.md)/[Android30SignalDelegate](index.md)/[calculateBars](calculate-bars.md)
-
-# calculateBars
-
-[androidJvm]\
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
-
-open override fun [calculateBars](calculate-bars.md)(rssiLevel: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
-
-~~open~~ ~~override~~ ~~fun~~ [~~calculateBars~~](calculate-bars.md)~~(~~~~rssiLevel~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)~~,~~ ~~targetNumberOfBars~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)~~)~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-delegate/compare-signal-level.md b/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-delegate/compare-signal-level.md
deleted file mode 100644
index 846fedeb..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-delegate/compare-signal-level.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.signal.delegates](../index.md)/[Android30SignalDelegate](index.md)/[compareSignalLevel](compare-signal-level.md)
-
-# compareSignalLevel
-
-[androidJvm]\
-open override fun [compareSignalLevel](compare-signal-level.md)(rssi1: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), rssi2: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-delegate/impl.md b/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-delegate/impl.md
deleted file mode 100644
index fcb31290..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-delegate/impl.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.signal.delegates](../index.md)/[Android30SignalDelegate](index.md)/[impl](impl.md)
-
-# impl
-
-[androidJvm]\
-private val [impl](impl.md): [Android30SignalApi](../-android30-signal-api/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-delegate/index.md b/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-delegate/index.md
deleted file mode 100644
index ee643cc0..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-delegate/index.md
+++ /dev/null
@@ -1,22 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.signal.delegates](../index.md)/[Android30SignalDelegate](index.md)
-
-# Android30SignalDelegate
-
-[androidJvm]\
-internal class [Android30SignalDelegate](index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), **impl**: [Android30SignalApi](../-android30-signal-api/index.md)) : [SignalApi](../../com.isupatches.android.wisefy.signal/-signal-api/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [calculateBars](calculate-bars.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
open override fun [calculateBars](calculate-bars.md)(rssiLevel: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
~~open~~ ~~override~~ ~~fun~~ [~~calculateBars~~](calculate-bars.md)~~(~~~~rssiLevel~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)~~,~~ ~~targetNumberOfBars~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)~~)~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [compareSignalLevel](compare-signal-level.md) | [androidJvm]
open override fun [compareSignalLevel](compare-signal-level.md)(rssi1: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), rssi2: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [impl](impl.md) | [androidJvm]
private val [impl](impl.md): [Android30SignalApi](../-android30-signal-api/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-api-impl/-legacy-signal-api-impl.md b/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-api-impl/-legacy-signal-api-impl.md
deleted file mode 100644
index 5faaf2ee..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-api-impl/-legacy-signal-api-impl.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.signal.delegates](../index.md)/[LegacySignalApiImpl](index.md)/[LegacySignalApiImpl](-legacy-signal-api-impl.md)
-
-# LegacySignalApiImpl
-
-[androidJvm]\
-fun [LegacySignalApiImpl](-legacy-signal-api-impl.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-api-impl/calculate-bars.md b/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-api-impl/calculate-bars.md
deleted file mode 100644
index fee379ea..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-api-impl/calculate-bars.md
+++ /dev/null
@@ -1,11 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.signal.delegates](../index.md)/[LegacySignalApiImpl](index.md)/[calculateBars](calculate-bars.md)
-
-# calculateBars
-
-[androidJvm]\
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
-
-open override fun [calculateBars](calculate-bars.md)(rssiLevel: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
-
-~~open~~ ~~override~~ ~~fun~~ [~~calculateBars~~](calculate-bars.md)~~(~~~~rssiLevel~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)~~,~~ ~~targetNumberOfBars~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)~~)~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-api-impl/compare-signal-level.md b/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-api-impl/compare-signal-level.md
deleted file mode 100644
index ebdd1587..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-api-impl/compare-signal-level.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.signal.delegates](../index.md)/[LegacySignalApiImpl](index.md)/[compareSignalLevel](compare-signal-level.md)
-
-# compareSignalLevel
-
-[androidJvm]\
-open override fun [compareSignalLevel](compare-signal-level.md)(rssi1: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), rssi2: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-api-impl/index.md b/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-api-impl/index.md
deleted file mode 100644
index 21587e78..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-api-impl/index.md
+++ /dev/null
@@ -1,16 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.signal.delegates](../index.md)/[LegacySignalApiImpl](index.md)
-
-# LegacySignalApiImpl
-
-[androidJvm]\
-internal class [LegacySignalApiImpl](index.md) : [LegacySignalApi](../-legacy-signal-api/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [calculateBars](calculate-bars.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
open override fun [calculateBars](calculate-bars.md)(rssiLevel: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
~~open~~ ~~override~~ ~~fun~~ [~~calculateBars~~](calculate-bars.md)~~(~~~~rssiLevel~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)~~,~~ ~~targetNumberOfBars~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)~~)~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [compareSignalLevel](compare-signal-level.md) | [androidJvm]
open override fun [compareSignalLevel](compare-signal-level.md)(rssi1: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), rssi2: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-api/calculate-bars.md b/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-api/calculate-bars.md
deleted file mode 100644
index f1443ae0..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-api/calculate-bars.md
+++ /dev/null
@@ -1,11 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.signal.delegates](../index.md)/[LegacySignalApi](index.md)/[calculateBars](calculate-bars.md)
-
-# calculateBars
-
-[androidJvm]\
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
-
-abstract fun [calculateBars](calculate-bars.md)(rssiLevel: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
-
-~~abstract~~ ~~fun~~ [~~calculateBars~~](calculate-bars.md)~~(~~~~rssiLevel~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)~~,~~ ~~targetNumberOfBars~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)~~)~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-api/compare-signal-level.md b/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-api/compare-signal-level.md
deleted file mode 100644
index a8467416..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-api/compare-signal-level.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.signal.delegates](../index.md)/[LegacySignalApi](index.md)/[compareSignalLevel](compare-signal-level.md)
-
-# compareSignalLevel
-
-[androidJvm]\
-abstract fun [compareSignalLevel](compare-signal-level.md)(rssi1: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), rssi2: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-api/index.md b/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-api/index.md
deleted file mode 100644
index 19ce9287..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-api/index.md
+++ /dev/null
@@ -1,22 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.signal.delegates](../index.md)/[LegacySignalApi](index.md)
-
-# LegacySignalApi
-
-[androidJvm]\
-internal interface [LegacySignalApi](index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [calculateBars](calculate-bars.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
abstract fun [calculateBars](calculate-bars.md)(rssiLevel: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
~~abstract~~ ~~fun~~ [~~calculateBars~~](calculate-bars.md)~~(~~~~rssiLevel~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)~~,~~ ~~targetNumberOfBars~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)~~)~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [compareSignalLevel](compare-signal-level.md) | [androidJvm]
abstract fun [compareSignalLevel](compare-signal-level.md)(rssi1: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), rssi2: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [LegacySignalApiImpl](../-legacy-signal-api-impl/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-delegate/-legacy-signal-delegate.md b/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-delegate/-legacy-signal-delegate.md
deleted file mode 100644
index 698165ac..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-delegate/-legacy-signal-delegate.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.signal.delegates](../index.md)/[LegacySignalDelegate](index.md)/[LegacySignalDelegate](-legacy-signal-delegate.md)
-
-# LegacySignalDelegate
-
-[androidJvm]\
-fun [LegacySignalDelegate](-legacy-signal-delegate.md)(impl: [LegacySignalApi](../-legacy-signal-api/index.md) = LegacySignalApiImpl())
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-delegate/calculate-bars.md b/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-delegate/calculate-bars.md
deleted file mode 100644
index ab5b58bd..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-delegate/calculate-bars.md
+++ /dev/null
@@ -1,11 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.signal.delegates](../index.md)/[LegacySignalDelegate](index.md)/[calculateBars](calculate-bars.md)
-
-# calculateBars
-
-[androidJvm]\
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
-
-open override fun [calculateBars](calculate-bars.md)(rssiLevel: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
-
-~~open~~ ~~override~~ ~~fun~~ [~~calculateBars~~](calculate-bars.md)~~(~~~~rssiLevel~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)~~,~~ ~~targetNumberOfBars~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)~~)~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-delegate/compare-signal-level.md b/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-delegate/compare-signal-level.md
deleted file mode 100644
index 258385aa..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-delegate/compare-signal-level.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.signal.delegates](../index.md)/[LegacySignalDelegate](index.md)/[compareSignalLevel](compare-signal-level.md)
-
-# compareSignalLevel
-
-[androidJvm]\
-open override fun [compareSignalLevel](compare-signal-level.md)(rssi1: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), rssi2: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-delegate/impl.md b/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-delegate/impl.md
deleted file mode 100644
index 9e72affd..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-delegate/impl.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.signal.delegates](../index.md)/[LegacySignalDelegate](index.md)/[impl](impl.md)
-
-# impl
-
-[androidJvm]\
-private val [impl](impl.md): [LegacySignalApi](../-legacy-signal-api/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-delegate/index.md b/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-delegate/index.md
deleted file mode 100644
index f76bceba..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-delegate/index.md
+++ /dev/null
@@ -1,22 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.signal.delegates](../index.md)/[LegacySignalDelegate](index.md)
-
-# LegacySignalDelegate
-
-[androidJvm]\
-internal class [LegacySignalDelegate](index.md)(**impl**: [LegacySignalApi](../-legacy-signal-api/index.md)) : [SignalApi](../../com.isupatches.android.wisefy.signal/-signal-api/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [calculateBars](calculate-bars.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
open override fun [calculateBars](calculate-bars.md)(rssiLevel: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
~~open~~ ~~override~~ ~~fun~~ [~~calculateBars~~](calculate-bars.md)~~(~~~~rssiLevel~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)~~,~~ ~~targetNumberOfBars~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)~~)~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [compareSignalLevel](compare-signal-level.md) | [androidJvm]
open override fun [compareSignalLevel](compare-signal-level.md)(rssi1: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), rssi2: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [impl](impl.md) | [androidJvm]
private val [impl](impl.md): [LegacySignalApi](../-legacy-signal-api/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/index.md b/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/index.md
deleted file mode 100644
index 9a3eb92c..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.signal.delegates/index.md
+++ /dev/null
@@ -1,14 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.signal.delegates](index.md)
-
-# Package com.isupatches.android.wisefy.signal.delegates
-
-## Types
-
-| Name | Summary |
-|---|---|
-| [Android30SignalApi](-android30-signal-api/index.md) | [androidJvm]
internal interface [Android30SignalApi](-android30-signal-api/index.md) |
-| [Android30SignalApiImpl](-android30-signal-api-impl/index.md) | [androidJvm]
internal class [Android30SignalApiImpl](-android30-signal-api-impl/index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)) : [Android30SignalApi](-android30-signal-api/index.md) |
-| [Android30SignalDelegate](-android30-signal-delegate/index.md) | [androidJvm]
internal class [Android30SignalDelegate](-android30-signal-delegate/index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), **impl**: [Android30SignalApi](-android30-signal-api/index.md)) : [SignalApi](../com.isupatches.android.wisefy.signal/-signal-api/index.md) |
-| [LegacySignalApi](-legacy-signal-api/index.md) | [androidJvm]
internal interface [LegacySignalApi](-legacy-signal-api/index.md) |
-| [LegacySignalApiImpl](-legacy-signal-api-impl/index.md) | [androidJvm]
internal class [LegacySignalApiImpl](-legacy-signal-api-impl/index.md) : [LegacySignalApi](-legacy-signal-api/index.md) |
-| [LegacySignalDelegate](-legacy-signal-delegate/index.md) | [androidJvm]
internal class [LegacySignalDelegate](-legacy-signal-delegate/index.md)(**impl**: [LegacySignalApi](-legacy-signal-api/index.md)) : [SignalApi](../com.isupatches.android.wisefy.signal/-signal-api/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.signal/-l-o-g_-t-a-g.md b/documentation/wisefy/com.isupatches.android.wisefy.signal/-l-o-g_-t-a-g.md
deleted file mode 100644
index b2782283..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.signal/-l-o-g_-t-a-g.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.signal](index.md)/[LOG_TAG](-l-o-g_-t-a-g.md)
-
-# LOG_TAG
-
-[androidJvm]\
-private const val [LOG_TAG](-l-o-g_-t-a-g.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.signal/-signal-api/calculate-bars.md b/documentation/wisefy/com.isupatches.android.wisefy.signal/-signal-api/calculate-bars.md
deleted file mode 100644
index ba486343..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.signal/-signal-api/calculate-bars.md
+++ /dev/null
@@ -1,11 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.signal](../index.md)/[SignalApi](index.md)/[calculateBars](calculate-bars.md)
-
-# calculateBars
-
-[androidJvm]\
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
-
-abstract fun [calculateBars](calculate-bars.md)(rssiLevel: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
-
-~~abstract~~ ~~fun~~ [~~calculateBars~~](calculate-bars.md)~~(~~~~rssiLevel~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)~~,~~ ~~targetNumberOfBars~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)~~)~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.signal/-signal-api/compare-signal-level.md b/documentation/wisefy/com.isupatches.android.wisefy.signal/-signal-api/compare-signal-level.md
deleted file mode 100644
index 875a093d..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.signal/-signal-api/compare-signal-level.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.signal](../index.md)/[SignalApi](index.md)/[compareSignalLevel](compare-signal-level.md)
-
-# compareSignalLevel
-
-[androidJvm]\
-abstract fun [compareSignalLevel](compare-signal-level.md)(rssi1: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), rssi2: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.signal/-signal-api/index.md b/documentation/wisefy/com.isupatches.android.wisefy.signal/-signal-api/index.md
deleted file mode 100644
index 6df1059a..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.signal/-signal-api/index.md
+++ /dev/null
@@ -1,25 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.signal](../index.md)/[SignalApi](index.md)
-
-# SignalApi
-
-[androidJvm]\
-interface [SignalApi](index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [calculateBars](calculate-bars.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
abstract fun [calculateBars](calculate-bars.md)(rssiLevel: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
~~abstract~~ ~~fun~~ [~~calculateBars~~](calculate-bars.md)~~(~~~~rssiLevel~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)~~,~~ ~~targetNumberOfBars~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)~~)~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [compareSignalLevel](compare-signal-level.md) | [androidJvm]
abstract fun [compareSignalLevel](compare-signal-level.md)(rssi1: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), rssi2: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [WisefyApi](../../com.isupatches.android.wisefy/-wisefy-api/index.md) |
-| [SignalUtil](../-signal-util/index.md) |
-| [Android30SignalDelegate](../../com.isupatches.android.wisefy.signal.delegates/-android30-signal-delegate/index.md) |
-| [LegacySignalDelegate](../../com.isupatches.android.wisefy.signal.delegates/-legacy-signal-delegate/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.signal/-signal-util/index.md b/documentation/wisefy/com.isupatches.android.wisefy.signal/-signal-util/index.md
deleted file mode 100644
index 20ce14c2..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.signal/-signal-util/index.md
+++ /dev/null
@@ -1,22 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.signal](../index.md)/[SignalUtil](index.md)
-
-# SignalUtil
-
-[androidJvm]\
-internal interface [SignalUtil](index.md) : [SignalApi](../-signal-api/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [calculateBars](../-signal-api/calculate-bars.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
abstract fun [calculateBars](../-signal-api/calculate-bars.md)(rssiLevel: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
~~abstract~~ ~~fun~~ [~~calculateBars~~](../-signal-api/calculate-bars.md)~~(~~~~rssiLevel~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)~~,~~ ~~targetNumberOfBars~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)~~)~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [compareSignalLevel](../-signal-api/compare-signal-level.md) | [androidJvm]
abstract fun [compareSignalLevel](../-signal-api/compare-signal-level.md)(rssi1: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), rssi2: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [WisefySignalUtil](../-wisefy-signal-util/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.signal/-wisefy-signal-util/-wisefy-signal-util.md b/documentation/wisefy/com.isupatches.android.wisefy.signal/-wisefy-signal-util/-wisefy-signal-util.md
deleted file mode 100644
index 42b89465..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.signal/-wisefy-signal-util/-wisefy-signal-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.signal](../index.md)/[WisefySignalUtil](index.md)/[WisefySignalUtil](-wisefy-signal-util.md)
-
-# WisefySignalUtil
-
-[androidJvm]\
-fun [WisefySignalUtil](-wisefy-signal-util.md)(logger: [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?, sdkUtil: [SdkUtil](../../com.isupatches.android.wisefy.util/-sdk-util/index.md), wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.signal/-wisefy-signal-util/calculate-bars.md b/documentation/wisefy/com.isupatches.android.wisefy.signal/-wisefy-signal-util/calculate-bars.md
deleted file mode 100644
index 56cc5412..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.signal/-wisefy-signal-util/calculate-bars.md
+++ /dev/null
@@ -1,11 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.signal](../index.md)/[WisefySignalUtil](index.md)/[calculateBars](calculate-bars.md)
-
-# calculateBars
-
-[androidJvm]\
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
-
-open override fun [calculateBars](calculate-bars.md)(rssiLevel: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
-
-~~open~~ ~~override~~ ~~fun~~ [~~calculateBars~~](calculate-bars.md)~~(~~~~rssiLevel~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)~~,~~ ~~targetNumberOfBars~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)~~)~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.signal/-wisefy-signal-util/compare-signal-level.md b/documentation/wisefy/com.isupatches.android.wisefy.signal/-wisefy-signal-util/compare-signal-level.md
deleted file mode 100644
index 7681d373..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.signal/-wisefy-signal-util/compare-signal-level.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.signal](../index.md)/[WisefySignalUtil](index.md)/[compareSignalLevel](compare-signal-level.md)
-
-# compareSignalLevel
-
-[androidJvm]\
-open override fun [compareSignalLevel](compare-signal-level.md)(rssi1: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), rssi2: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.signal/-wisefy-signal-util/delegate.md b/documentation/wisefy/com.isupatches.android.wisefy.signal/-wisefy-signal-util/delegate.md
deleted file mode 100644
index a0faaf48..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.signal/-wisefy-signal-util/delegate.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.signal](../index.md)/[WisefySignalUtil](index.md)/[delegate](delegate.md)
-
-# delegate
-
-[androidJvm]\
-private val [delegate](delegate.md): [SignalApi](../-signal-api/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.signal/-wisefy-signal-util/index.md b/documentation/wisefy/com.isupatches.android.wisefy.signal/-wisefy-signal-util/index.md
deleted file mode 100644
index e2773163..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.signal/-wisefy-signal-util/index.md
+++ /dev/null
@@ -1,22 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.signal](../index.md)/[WisefySignalUtil](index.md)
-
-# WisefySignalUtil
-
-[androidJvm]\
-internal class [WisefySignalUtil](index.md)(**logger**: [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?, **sdkUtil**: [SdkUtil](../../com.isupatches.android.wisefy.util/-sdk-util/index.md), **wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)) : [SignalUtil](../-signal-util/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [calculateBars](calculate-bars.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
open override fun [calculateBars](calculate-bars.md)(rssiLevel: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
~~open~~ ~~override~~ ~~fun~~ [~~calculateBars~~](calculate-bars.md)~~(~~~~rssiLevel~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)~~,~~ ~~targetNumberOfBars~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)~~)~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [compareSignalLevel](compare-signal-level.md) | [androidJvm]
open override fun [compareSignalLevel](compare-signal-level.md)(rssi1: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), rssi2: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [delegate](delegate.md) | [androidJvm]
private val [delegate](delegate.md): [SignalApi](../-signal-api/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.signal/index.md b/documentation/wisefy/com.isupatches.android.wisefy.signal/index.md
deleted file mode 100644
index 0fcb009c..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.signal/index.md
+++ /dev/null
@@ -1,17 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.signal](index.md)
-
-# Package com.isupatches.android.wisefy.signal
-
-## Types
-
-| Name | Summary |
-|---|---|
-| [SignalApi](-signal-api/index.md) | [androidJvm]
interface [SignalApi](-signal-api/index.md) |
-| [SignalUtil](-signal-util/index.md) | [androidJvm]
internal interface [SignalUtil](-signal-util/index.md) : [SignalApi](-signal-api/index.md) |
-| [WisefySignalUtil](-wisefy-signal-util/index.md) | [androidJvm]
internal class [WisefySignalUtil](-wisefy-signal-util/index.md)(**logger**: [WisefyLogger](../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?, **sdkUtil**: [SdkUtil](../com.isupatches.android.wisefy.util/-sdk-util/index.md), **wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)) : [SignalUtil](-signal-util/index.md) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [LOG_TAG](-l-o-g_-t-a-g.md) | [androidJvm]
private const val [LOG_TAG](-l-o-g_-t-a-g.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/-coroutine-dispatcher-provider.md b/documentation/wisefy/com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/-coroutine-dispatcher-provider.md
deleted file mode 100644
index 1611e40e..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/-coroutine-dispatcher-provider.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.util.coroutines](../index.md)/[CoroutineDispatcherProvider](index.md)/[CoroutineDispatcherProvider](-coroutine-dispatcher-provider.md)
-
-# CoroutineDispatcherProvider
-
-[androidJvm]\
-fun [CoroutineDispatcherProvider](-coroutine-dispatcher-provider.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/index.md b/documentation/wisefy/com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/index.md
deleted file mode 100644
index c77f50d8..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/index.md
+++ /dev/null
@@ -1,21 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.util.coroutines](../index.md)/[CoroutineDispatcherProvider](index.md)
-
-# CoroutineDispatcherProvider
-
-[androidJvm]\
-internal class [CoroutineDispatcherProvider](index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [io](io.md) | [androidJvm]
val [io](io.md): CoroutineDispatcher |
-| [main](main.md) | [androidJvm]
val [main](main.md): CoroutineDispatcher |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/io.md b/documentation/wisefy/com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/io.md
deleted file mode 100644
index 51c6746f..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/io.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.util.coroutines](../index.md)/[CoroutineDispatcherProvider](index.md)/[io](io.md)
-
-# io
-
-[androidJvm]\
-val [io](io.md): CoroutineDispatcher
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/main.md b/documentation/wisefy/com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/main.md
deleted file mode 100644
index 158e7036..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/main.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.util.coroutines](../index.md)/[CoroutineDispatcherProvider](index.md)/[main](main.md)
-
-# main
-
-[androidJvm]\
-val [main](main.md): CoroutineDispatcher
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.util.coroutines/create-base-coroutine-exception-handler.md b/documentation/wisefy/com.isupatches.android.wisefy.util.coroutines/create-base-coroutine-exception-handler.md
deleted file mode 100644
index 8546ba13..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.util.coroutines/create-base-coroutine-exception-handler.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.util.coroutines](index.md)/[createBaseCoroutineExceptionHandler](create-base-coroutine-exception-handler.md)
-
-# createBaseCoroutineExceptionHandler
-
-[androidJvm]\
-internal fun [createBaseCoroutineExceptionHandler](create-base-coroutine-exception-handler.md)(callbacks: [BaseWisefyCallbacks](../com.isupatches.android.wisefy.callbacks/-base-wisefy-callbacks/index.md)?): CoroutineExceptionHandler
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.util.coroutines/index.md b/documentation/wisefy/com.isupatches.android.wisefy.util.coroutines/index.md
deleted file mode 100644
index e206b418..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.util.coroutines/index.md
+++ /dev/null
@@ -1,15 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.util.coroutines](index.md)
-
-# Package com.isupatches.android.wisefy.util.coroutines
-
-## Types
-
-| Name | Summary |
-|---|---|
-| [CoroutineDispatcherProvider](-coroutine-dispatcher-provider/index.md) | [androidJvm]
internal class [CoroutineDispatcherProvider](-coroutine-dispatcher-provider/index.md) |
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [createBaseCoroutineExceptionHandler](create-base-coroutine-exception-handler.md) | [androidJvm]
internal fun [createBaseCoroutineExceptionHandler](create-base-coroutine-exception-handler.md)(callbacks: [BaseWisefyCallbacks](../com.isupatches.android.wisefy.callbacks/-base-wisefy-callbacks/index.md)?): CoroutineExceptionHandler |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.util.legacy/convert-s-s-i-d-for-config.md b/documentation/wisefy/com.isupatches.android.wisefy.util.legacy/convert-s-s-i-d-for-config.md
deleted file mode 100644
index c51d0769..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.util.legacy/convert-s-s-i-d-for-config.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.util.legacy](index.md)/[convertSSIDForConfig](convert-s-s-i-d-for-config.md)
-
-# convertSSIDForConfig
-
-[androidJvm]\
-private fun [convertSSIDForConfig](convert-s-s-i-d-for-config.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.util.legacy/generate-open-network-configuration.md b/documentation/wisefy/com.isupatches.android.wisefy.util.legacy/generate-open-network-configuration.md
deleted file mode 100644
index 23a4c2a7..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.util.legacy/generate-open-network-configuration.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.util.legacy](index.md)/[generateOpenNetworkConfiguration](generate-open-network-configuration.md)
-
-# generateOpenNetworkConfiguration
-
-[androidJvm]\
-internal fun [generateOpenNetworkConfiguration](generate-open-network-configuration.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [WifiConfiguration](https://developer.android.com/reference/kotlin/android/net/wifi/WifiConfiguration.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.util.legacy/generate-w-p-a2-network-configuration.md b/documentation/wisefy/com.isupatches.android.wisefy.util.legacy/generate-w-p-a2-network-configuration.md
deleted file mode 100644
index b289625a..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.util.legacy/generate-w-p-a2-network-configuration.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.util.legacy](index.md)/[generateWPA2NetworkConfiguration](generate-w-p-a2-network-configuration.md)
-
-# generateWPA2NetworkConfiguration
-
-[androidJvm]\
-internal fun [generateWPA2NetworkConfiguration](generate-w-p-a2-network-configuration.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), password: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [WifiConfiguration](https://developer.android.com/reference/kotlin/android/net/wifi/WifiConfiguration.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.util.legacy/index.md b/documentation/wisefy/com.isupatches.android.wisefy.util.legacy/index.md
deleted file mode 100644
index 5867374e..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.util.legacy/index.md
+++ /dev/null
@@ -1,11 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.util.legacy](index.md)
-
-# Package com.isupatches.android.wisefy.util.legacy
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [convertSSIDForConfig](convert-s-s-i-d-for-config.md) | [androidJvm]
private fun [convertSSIDForConfig](convert-s-s-i-d-for-config.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-| [generateOpenNetworkConfiguration](generate-open-network-configuration.md) | [androidJvm]
internal fun [generateOpenNetworkConfiguration](generate-open-network-configuration.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [WifiConfiguration](https://developer.android.com/reference/kotlin/android/net/wifi/WifiConfiguration.html) |
-| [generateWPA2NetworkConfiguration](generate-w-p-a2-network-configuration.md) | [androidJvm]
internal fun [generateWPA2NetworkConfiguration](generate-w-p-a2-network-configuration.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), password: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [WifiConfiguration](https://developer.android.com/reference/kotlin/android/net/wifi/WifiConfiguration.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.util/-b-a-s-e_-d-e-l-a-y.md b/documentation/wisefy/com.isupatches.android.wisefy.util/-b-a-s-e_-d-e-l-a-y.md
deleted file mode 100644
index e905e332..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.util/-b-a-s-e_-d-e-l-a-y.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.util](index.md)/[BASE_DELAY](-b-a-s-e_-d-e-l-a-y.md)
-
-# BASE_DELAY
-
-[androidJvm]\
-private const val [BASE_DELAY](-b-a-s-e_-d-e-l-a-y.md): [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html) = 1000L
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.util/-sdk-util-impl/-sdk-util-impl.md b/documentation/wisefy/com.isupatches.android.wisefy.util/-sdk-util-impl/-sdk-util-impl.md
deleted file mode 100644
index fb8958b1..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.util/-sdk-util-impl/-sdk-util-impl.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.util](../index.md)/[SdkUtilImpl](index.md)/[SdkUtilImpl](-sdk-util-impl.md)
-
-# SdkUtilImpl
-
-[androidJvm]\
-fun [SdkUtilImpl](-sdk-util-impl.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.util/-sdk-util-impl/index.md b/documentation/wisefy/com.isupatches.android.wisefy.util/-sdk-util-impl/index.md
deleted file mode 100644
index 93f4299e..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.util/-sdk-util-impl/index.md
+++ /dev/null
@@ -1,17 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.util](../index.md)/[SdkUtilImpl](index.md)
-
-# SdkUtilImpl
-
-[androidJvm]\
-internal class [SdkUtilImpl](index.md) : [SdkUtil](../-sdk-util/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [isAtLeastP](is-at-least-p.md) | [androidJvm]
open override fun [isAtLeastP](is-at-least-p.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isAtLeastQ](is-at-least-q.md) | [androidJvm]
open override fun [isAtLeastQ](is-at-least-q.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isAtLeastR](is-at-least-r.md) | [androidJvm]
open override fun [isAtLeastR](is-at-least-r.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.util/-sdk-util-impl/is-at-least-p.md b/documentation/wisefy/com.isupatches.android.wisefy.util/-sdk-util-impl/is-at-least-p.md
deleted file mode 100644
index 6c67bb04..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.util/-sdk-util-impl/is-at-least-p.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.util](../index.md)/[SdkUtilImpl](index.md)/[isAtLeastP](is-at-least-p.md)
-
-# isAtLeastP
-
-[androidJvm]\
-open override fun [isAtLeastP](is-at-least-p.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.util/-sdk-util-impl/is-at-least-q.md b/documentation/wisefy/com.isupatches.android.wisefy.util/-sdk-util-impl/is-at-least-q.md
deleted file mode 100644
index c23772aa..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.util/-sdk-util-impl/is-at-least-q.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.util](../index.md)/[SdkUtilImpl](index.md)/[isAtLeastQ](is-at-least-q.md)
-
-# isAtLeastQ
-
-[androidJvm]\
-open override fun [isAtLeastQ](is-at-least-q.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.util/-sdk-util-impl/is-at-least-r.md b/documentation/wisefy/com.isupatches.android.wisefy.util/-sdk-util-impl/is-at-least-r.md
deleted file mode 100644
index 12491bb3..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.util/-sdk-util-impl/is-at-least-r.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.util](../index.md)/[SdkUtilImpl](index.md)/[isAtLeastR](is-at-least-r.md)
-
-# isAtLeastR
-
-[androidJvm]\
-open override fun [isAtLeastR](is-at-least-r.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.util/-sdk-util/index.md b/documentation/wisefy/com.isupatches.android.wisefy.util/-sdk-util/index.md
deleted file mode 100644
index 4037c24b..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.util/-sdk-util/index.md
+++ /dev/null
@@ -1,23 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.util](../index.md)/[SdkUtil](index.md)
-
-# SdkUtil
-
-[androidJvm]\
-internal interface [SdkUtil](index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [isAtLeastP](is-at-least-p.md) | [androidJvm]
abstract fun [isAtLeastP](is-at-least-p.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isAtLeastQ](is-at-least-q.md) | [androidJvm]
abstract fun [isAtLeastQ](is-at-least-q.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isAtLeastR](is-at-least-r.md) | [androidJvm]
abstract fun [isAtLeastR](is-at-least-r.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [SdkUtilImpl](../-sdk-util-impl/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.util/-sdk-util/is-at-least-p.md b/documentation/wisefy/com.isupatches.android.wisefy.util/-sdk-util/is-at-least-p.md
deleted file mode 100644
index 63a51ad5..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.util/-sdk-util/is-at-least-p.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.util](../index.md)/[SdkUtil](index.md)/[isAtLeastP](is-at-least-p.md)
-
-# isAtLeastP
-
-[androidJvm]\
-abstract fun [isAtLeastP](is-at-least-p.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.util/-sdk-util/is-at-least-q.md b/documentation/wisefy/com.isupatches.android.wisefy.util/-sdk-util/is-at-least-q.md
deleted file mode 100644
index 4601cba4..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.util/-sdk-util/is-at-least-q.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.util](../index.md)/[SdkUtil](index.md)/[isAtLeastQ](is-at-least-q.md)
-
-# isAtLeastQ
-
-[androidJvm]\
-abstract fun [isAtLeastQ](is-at-least-q.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.util/-sdk-util/is-at-least-r.md b/documentation/wisefy/com.isupatches.android.wisefy.util/-sdk-util/is-at-least-r.md
deleted file mode 100644
index 0e18e6f9..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.util/-sdk-util/is-at-least-r.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.util](../index.md)/[SdkUtil](index.md)/[isAtLeastR](is-at-least-r.md)
-
-# isAtLeastR
-
-[androidJvm]\
-abstract fun [isAtLeastR](is-at-least-r.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.util/create-open-network-suggestion.md b/documentation/wisefy/com.isupatches.android.wisefy.util/create-open-network-suggestion.md
deleted file mode 100644
index ace12508..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.util/create-open-network-suggestion.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.util](index.md)/[createOpenNetworkSuggestion](create-open-network-suggestion.md)
-
-# createOpenNetworkSuggestion
-
-[androidJvm]\
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
-
-internal fun [createOpenNetworkSuggestion](create-open-network-suggestion.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.util/create-w-p-a2-network-suggestion.md b/documentation/wisefy/com.isupatches.android.wisefy.util/create-w-p-a2-network-suggestion.md
deleted file mode 100644
index 7f89d6fd..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.util/create-w-p-a2-network-suggestion.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.util](index.md)/[createWPA2NetworkSuggestion](create-w-p-a2-network-suggestion.md)
-
-# createWPA2NetworkSuggestion
-
-[androidJvm]\
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
-
-internal fun [createWPA2NetworkSuggestion](create-w-p-a2-network-suggestion.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.util/create-w-p-a3-network-suggestion.md b/documentation/wisefy/com.isupatches.android.wisefy.util/create-w-p-a3-network-suggestion.md
deleted file mode 100644
index d130170c..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.util/create-w-p-a3-network-suggestion.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.util](index.md)/[createWPA3NetworkSuggestion](create-w-p-a3-network-suggestion.md)
-
-# createWPA3NetworkSuggestion
-
-[androidJvm]\
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
-
-internal fun [createWPA3NetworkSuggestion](create-w-p-a3-network-suggestion.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.util/fail.md b/documentation/wisefy/com.isupatches.android.wisefy.util/fail.md
deleted file mode 100644
index 5cbe6bf7..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.util/fail.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.util](index.md)/[fail](fail.md)
-
-# fail
-
-[androidJvm]\
-fun [fail](fail.md)(message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.util/index.md b/documentation/wisefy/com.isupatches.android.wisefy.util/index.md
deleted file mode 100644
index ffd1b82d..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.util/index.md
+++ /dev/null
@@ -1,27 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.util](index.md)
-
-# Package com.isupatches.android.wisefy.util
-
-## Types
-
-| Name | Summary |
-|---|---|
-| [SdkUtil](-sdk-util/index.md) | [androidJvm]
internal interface [SdkUtil](-sdk-util/index.md) |
-| [SdkUtilImpl](-sdk-util-impl/index.md) | [androidJvm]
internal class [SdkUtilImpl](-sdk-util-impl/index.md) : [SdkUtil](-sdk-util/index.md) |
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [createOpenNetworkSuggestion](create-open-network-suggestion.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
internal fun [createOpenNetworkSuggestion](create-open-network-suggestion.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html) |
-| [createWPA2NetworkSuggestion](create-w-p-a2-network-suggestion.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
internal fun [createWPA2NetworkSuggestion](create-w-p-a2-network-suggestion.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html) |
-| [createWPA3NetworkSuggestion](create-w-p-a3-network-suggestion.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
internal fun [createWPA3NetworkSuggestion](create-w-p-a3-network-suggestion.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html) |
-| [fail](fail.md) | [androidJvm]
fun [fail](fail.md)(message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) |
-| [rest](rest.md) | [androidJvm]
internal fun [rest](rest.md)() |
-| [sleep](sleep.md) | [androidJvm]
private fun [sleep](sleep.md)(timeToSleepInMillis: [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html) = BASE_DELAY) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [BASE_DELAY](-b-a-s-e_-d-e-l-a-y.md) | [androidJvm]
private const val [BASE_DELAY](-b-a-s-e_-d-e-l-a-y.md): [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html) = 1000L |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.util/rest.md b/documentation/wisefy/com.isupatches.android.wisefy.util/rest.md
deleted file mode 100644
index f1c907c5..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.util/rest.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.util](index.md)/[rest](rest.md)
-
-# rest
-
-[androidJvm]\
-internal fun [rest](rest.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.util/sleep.md b/documentation/wisefy/com.isupatches.android.wisefy.util/sleep.md
deleted file mode 100644
index 78abc9b0..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.util/sleep.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.util](index.md)/[sleep](sleep.md)
-
-# sleep
-
-[androidJvm]\
-private fun [sleep](sleep.md)(timeToSleepInMillis: [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html) = BASE_DELAY)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-api-impl/-android29-wifi-api-impl.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-api-impl/-android29-wifi-api-impl.md
deleted file mode 100644
index b4463fb5..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-api-impl/-android29-wifi-api-impl.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.wifi.delegates](../index.md)/[Android29WifiApiImpl](index.md)/[Android29WifiApiImpl](-android29-wifi-api-impl.md)
-
-# Android29WifiApiImpl
-
-[androidJvm]\
-fun [Android29WifiApiImpl](-android29-wifi-api-impl.md)(wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-api-impl/disable-wifi.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-api-impl/disable-wifi.md
deleted file mode 100644
index 28c35d34..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-api-impl/disable-wifi.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.wifi.delegates](../index.md)/[Android29WifiApiImpl](index.md)/[disableWifi](disable-wifi.md)
-
-# disableWifi
-
-[androidJvm]\
-open override fun [disableWifi](disable-wifi.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-api-impl/enable-wifi.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-api-impl/enable-wifi.md
deleted file mode 100644
index 420e8b94..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-api-impl/enable-wifi.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.wifi.delegates](../index.md)/[Android29WifiApiImpl](index.md)/[enableWifi](enable-wifi.md)
-
-# enableWifi
-
-[androidJvm]\
-open override fun [enableWifi](enable-wifi.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-api-impl/index.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-api-impl/index.md
deleted file mode 100644
index ccbda53c..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-api-impl/index.md
+++ /dev/null
@@ -1,23 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.wifi.delegates](../index.md)/[Android29WifiApiImpl](index.md)
-
-# Android29WifiApiImpl
-
-[androidJvm]\
-internal class [Android29WifiApiImpl](index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)) : [Android29WifiApi](../-android29-wifi-api/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [disableWifi](disable-wifi.md) | [androidJvm]
open override fun [disableWifi](disable-wifi.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [enableWifi](enable-wifi.md) | [androidJvm]
open override fun [enableWifi](enable-wifi.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [equals](../-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [isWifiEnabled](is-wifi-enabled.md) | [androidJvm]
open override fun [isWifiEnabled](is-wifi-enabled.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [toString](../-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [wifiManager](wifi-manager.md) | [androidJvm]
private val [wifiManager](wifi-manager.md): [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-api-impl/is-wifi-enabled.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-api-impl/is-wifi-enabled.md
deleted file mode 100644
index a19d0ccd..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-api-impl/is-wifi-enabled.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.wifi.delegates](../index.md)/[Android29WifiApiImpl](index.md)/[isWifiEnabled](is-wifi-enabled.md)
-
-# isWifiEnabled
-
-[androidJvm]\
-open override fun [isWifiEnabled](is-wifi-enabled.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-api-impl/wifi-manager.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-api-impl/wifi-manager.md
deleted file mode 100644
index df64422e..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-api-impl/wifi-manager.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.wifi.delegates](../index.md)/[Android29WifiApiImpl](index.md)/[wifiManager](wifi-manager.md)
-
-# wifiManager
-
-[androidJvm]\
-private val [wifiManager](wifi-manager.md): [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-api/disable-wifi.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-api/disable-wifi.md
deleted file mode 100644
index 7b89c1a7..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-api/disable-wifi.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.wifi.delegates](../index.md)/[Android29WifiApi](index.md)/[disableWifi](disable-wifi.md)
-
-# disableWifi
-
-[androidJvm]\
-abstract fun [disableWifi](disable-wifi.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-api/enable-wifi.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-api/enable-wifi.md
deleted file mode 100644
index b6400772..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-api/enable-wifi.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.wifi.delegates](../index.md)/[Android29WifiApi](index.md)/[enableWifi](enable-wifi.md)
-
-# enableWifi
-
-[androidJvm]\
-abstract fun [enableWifi](enable-wifi.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-api/index.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-api/index.md
deleted file mode 100644
index b938b612..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-api/index.md
+++ /dev/null
@@ -1,23 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.wifi.delegates](../index.md)/[Android29WifiApi](index.md)
-
-# Android29WifiApi
-
-[androidJvm]\
-internal interface [Android29WifiApi](index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [disableWifi](disable-wifi.md) | [androidJvm]
abstract fun [disableWifi](disable-wifi.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [enableWifi](enable-wifi.md) | [androidJvm]
abstract fun [enableWifi](enable-wifi.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [equals](../-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [isWifiEnabled](is-wifi-enabled.md) | [androidJvm]
abstract fun [isWifiEnabled](is-wifi-enabled.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [toString](../-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [Android29WifiApiImpl](../-android29-wifi-api-impl/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-api/is-wifi-enabled.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-api/is-wifi-enabled.md
deleted file mode 100644
index d759036b..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-api/is-wifi-enabled.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.wifi.delegates](../index.md)/[Android29WifiApi](index.md)/[isWifiEnabled](is-wifi-enabled.md)
-
-# isWifiEnabled
-
-[androidJvm]\
-abstract fun [isWifiEnabled](is-wifi-enabled.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-delegate/-android29-wifi-delegate.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-delegate/-android29-wifi-delegate.md
deleted file mode 100644
index 6a7ca8be..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-delegate/-android29-wifi-delegate.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.wifi.delegates](../index.md)/[Android29WifiDelegate](index.md)/[Android29WifiDelegate](-android29-wifi-delegate.md)
-
-# Android29WifiDelegate
-
-[androidJvm]\
-fun [Android29WifiDelegate](-android29-wifi-delegate.md)(wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), impl: [Android29WifiApi](../-android29-wifi-api/index.md) = Android29WifiApiImpl(wifiManager))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-delegate/disable-wifi.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-delegate/disable-wifi.md
deleted file mode 100644
index a56f37fb..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-delegate/disable-wifi.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.wifi.delegates](../index.md)/[Android29WifiDelegate](index.md)/[disableWifi](disable-wifi.md)
-
-# disableWifi
-
-[androidJvm]\
-~~open~~ ~~override~~ ~~fun~~ [~~disableWifi~~](disable-wifi.md)~~(~~~~)~~~~:~~ [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-delegate/enable-wifi.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-delegate/enable-wifi.md
deleted file mode 100644
index a9f6eb14..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-delegate/enable-wifi.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.wifi.delegates](../index.md)/[Android29WifiDelegate](index.md)/[enableWifi](enable-wifi.md)
-
-# enableWifi
-
-[androidJvm]\
-~~open~~ ~~override~~ ~~fun~~ [~~enableWifi~~](enable-wifi.md)~~(~~~~)~~~~:~~ [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-delegate/impl.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-delegate/impl.md
deleted file mode 100644
index 651dba13..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-delegate/impl.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.wifi.delegates](../index.md)/[Android29WifiDelegate](index.md)/[impl](impl.md)
-
-# impl
-
-[androidJvm]\
-private val [impl](impl.md): [Android29WifiApi](../-android29-wifi-api/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-delegate/index.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-delegate/index.md
deleted file mode 100644
index a34238da..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-delegate/index.md
+++ /dev/null
@@ -1,23 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.wifi.delegates](../index.md)/[Android29WifiDelegate](index.md)
-
-# Android29WifiDelegate
-
-[androidJvm]\
-internal class [Android29WifiDelegate](index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), **impl**: [Android29WifiApi](../-android29-wifi-api/index.md)) : [WifiApi](../../com.isupatches.android.wisefy.wifi/-wifi-api/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [disableWifi](disable-wifi.md) | [androidJvm]
~~open~~ ~~override~~ ~~fun~~ [~~disableWifi~~](disable-wifi.md)~~(~~~~)~~~~:~~ [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [enableWifi](enable-wifi.md) | [androidJvm]
~~open~~ ~~override~~ ~~fun~~ [~~enableWifi~~](enable-wifi.md)~~(~~~~)~~~~:~~ [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [equals](../-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [isWifiEnabled](is-wifi-enabled.md) | [androidJvm]
open override fun [isWifiEnabled](is-wifi-enabled.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [toString](../-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [impl](impl.md) | [androidJvm]
private val [impl](impl.md): [Android29WifiApi](../-android29-wifi-api/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-delegate/is-wifi-enabled.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-delegate/is-wifi-enabled.md
deleted file mode 100644
index 3be76440..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-delegate/is-wifi-enabled.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.wifi.delegates](../index.md)/[Android29WifiDelegate](index.md)/[isWifiEnabled](is-wifi-enabled.md)
-
-# isWifiEnabled
-
-[androidJvm]\
-open override fun [isWifiEnabled](is-wifi-enabled.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-api-impl/-legacy-wifi-api-impl.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-api-impl/-legacy-wifi-api-impl.md
deleted file mode 100644
index fe554553..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-api-impl/-legacy-wifi-api-impl.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.wifi.delegates](../index.md)/[LegacyWifiApiImpl](index.md)/[LegacyWifiApiImpl](-legacy-wifi-api-impl.md)
-
-# LegacyWifiApiImpl
-
-[androidJvm]\
-fun [LegacyWifiApiImpl](-legacy-wifi-api-impl.md)(wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-api-impl/disable-wifi.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-api-impl/disable-wifi.md
deleted file mode 100644
index 05a7fa0c..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-api-impl/disable-wifi.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.wifi.delegates](../index.md)/[LegacyWifiApiImpl](index.md)/[disableWifi](disable-wifi.md)
-
-# disableWifi
-
-[androidJvm]\
-~~open~~ ~~override~~ ~~fun~~ [~~disableWifi~~](disable-wifi.md)~~(~~~~)~~~~:~~ [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-api-impl/enable-wifi.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-api-impl/enable-wifi.md
deleted file mode 100644
index 7e08e4a7..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-api-impl/enable-wifi.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.wifi.delegates](../index.md)/[LegacyWifiApiImpl](index.md)/[enableWifi](enable-wifi.md)
-
-# enableWifi
-
-[androidJvm]\
-~~open~~ ~~override~~ ~~fun~~ [~~enableWifi~~](enable-wifi.md)~~(~~~~)~~~~:~~ [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-api-impl/index.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-api-impl/index.md
deleted file mode 100644
index 69863957..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-api-impl/index.md
+++ /dev/null
@@ -1,23 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.wifi.delegates](../index.md)/[LegacyWifiApiImpl](index.md)
-
-# LegacyWifiApiImpl
-
-[androidJvm]\
-internal class [LegacyWifiApiImpl](index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)) : [LegacyWifiApi](../-legacy-wifi-api/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [disableWifi](disable-wifi.md) | [androidJvm]
~~open~~ ~~override~~ ~~fun~~ [~~disableWifi~~](disable-wifi.md)~~(~~~~)~~~~:~~ [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [enableWifi](enable-wifi.md) | [androidJvm]
~~open~~ ~~override~~ ~~fun~~ [~~enableWifi~~](enable-wifi.md)~~(~~~~)~~~~:~~ [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [equals](../-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [isWifiEnabled](is-wifi-enabled.md) | [androidJvm]
open override fun [isWifiEnabled](is-wifi-enabled.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [toString](../-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [wifiManager](wifi-manager.md) | [androidJvm]
private val [wifiManager](wifi-manager.md): [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-api-impl/is-wifi-enabled.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-api-impl/is-wifi-enabled.md
deleted file mode 100644
index 93964e98..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-api-impl/is-wifi-enabled.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.wifi.delegates](../index.md)/[LegacyWifiApiImpl](index.md)/[isWifiEnabled](is-wifi-enabled.md)
-
-# isWifiEnabled
-
-[androidJvm]\
-open override fun [isWifiEnabled](is-wifi-enabled.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-api-impl/wifi-manager.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-api-impl/wifi-manager.md
deleted file mode 100644
index 0561e8d4..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-api-impl/wifi-manager.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.wifi.delegates](../index.md)/[LegacyWifiApiImpl](index.md)/[wifiManager](wifi-manager.md)
-
-# wifiManager
-
-[androidJvm]\
-private val [wifiManager](wifi-manager.md): [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-api/disable-wifi.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-api/disable-wifi.md
deleted file mode 100644
index 98c2ab3f..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-api/disable-wifi.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.wifi.delegates](../index.md)/[LegacyWifiApi](index.md)/[disableWifi](disable-wifi.md)
-
-# disableWifi
-
-[androidJvm]\
-~~abstract~~ ~~fun~~ [~~disableWifi~~](disable-wifi.md)~~(~~~~)~~~~:~~ [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-api/enable-wifi.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-api/enable-wifi.md
deleted file mode 100644
index 45a5a3f8..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-api/enable-wifi.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.wifi.delegates](../index.md)/[LegacyWifiApi](index.md)/[enableWifi](enable-wifi.md)
-
-# enableWifi
-
-[androidJvm]\
-~~abstract~~ ~~fun~~ [~~enableWifi~~](enable-wifi.md)~~(~~~~)~~~~:~~ [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-api/index.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-api/index.md
deleted file mode 100644
index b03a788f..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-api/index.md
+++ /dev/null
@@ -1,23 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.wifi.delegates](../index.md)/[LegacyWifiApi](index.md)
-
-# LegacyWifiApi
-
-[androidJvm]\
-internal interface [LegacyWifiApi](index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [disableWifi](disable-wifi.md) | [androidJvm]
~~abstract~~ ~~fun~~ [~~disableWifi~~](disable-wifi.md)~~(~~~~)~~~~:~~ [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [enableWifi](enable-wifi.md) | [androidJvm]
~~abstract~~ ~~fun~~ [~~enableWifi~~](enable-wifi.md)~~(~~~~)~~~~:~~ [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [equals](../-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [isWifiEnabled](is-wifi-enabled.md) | [androidJvm]
abstract fun [isWifiEnabled](is-wifi-enabled.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [toString](../-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [LegacyWifiApiImpl](../-legacy-wifi-api-impl/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-api/is-wifi-enabled.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-api/is-wifi-enabled.md
deleted file mode 100644
index c812178c..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-api/is-wifi-enabled.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.wifi.delegates](../index.md)/[LegacyWifiApi](index.md)/[isWifiEnabled](is-wifi-enabled.md)
-
-# isWifiEnabled
-
-[androidJvm]\
-abstract fun [isWifiEnabled](is-wifi-enabled.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/-legacy-wifi-delegate.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/-legacy-wifi-delegate.md
deleted file mode 100644
index c4a69faa..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/-legacy-wifi-delegate.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.wifi.delegates](../index.md)/[LegacyWifiDelegate](index.md)/[LegacyWifiDelegate](-legacy-wifi-delegate.md)
-
-# LegacyWifiDelegate
-
-[androidJvm]\
-fun [LegacyWifiDelegate](-legacy-wifi-delegate.md)(wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), impl: [LegacyWifiApi](../-legacy-wifi-api/index.md) = LegacyWifiApiImpl(wifiManager))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/disable-wifi.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/disable-wifi.md
deleted file mode 100644
index 85c17f78..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/disable-wifi.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.wifi.delegates](../index.md)/[LegacyWifiDelegate](index.md)/[disableWifi](disable-wifi.md)
-
-# disableWifi
-
-[androidJvm]\
-~~open~~ ~~override~~ ~~fun~~ [~~disableWifi~~](disable-wifi.md)~~(~~~~)~~~~:~~ [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/enable-wifi.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/enable-wifi.md
deleted file mode 100644
index 92acc809..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/enable-wifi.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.wifi.delegates](../index.md)/[LegacyWifiDelegate](index.md)/[enableWifi](enable-wifi.md)
-
-# enableWifi
-
-[androidJvm]\
-~~open~~ ~~override~~ ~~fun~~ [~~enableWifi~~](enable-wifi.md)~~(~~~~)~~~~:~~ [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/impl.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/impl.md
deleted file mode 100644
index aff9eed0..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/impl.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.wifi.delegates](../index.md)/[LegacyWifiDelegate](index.md)/[impl](impl.md)
-
-# impl
-
-[androidJvm]\
-private val [impl](impl.md): [LegacyWifiApi](../-legacy-wifi-api/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md
deleted file mode 100644
index a940cc0e..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md
+++ /dev/null
@@ -1,23 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.wifi.delegates](../index.md)/[LegacyWifiDelegate](index.md)
-
-# LegacyWifiDelegate
-
-[androidJvm]\
-internal class [LegacyWifiDelegate](index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), **impl**: [LegacyWifiApi](../-legacy-wifi-api/index.md)) : [WifiApi](../../com.isupatches.android.wisefy.wifi/-wifi-api/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [disableWifi](disable-wifi.md) | [androidJvm]
~~open~~ ~~override~~ ~~fun~~ [~~disableWifi~~](disable-wifi.md)~~(~~~~)~~~~:~~ [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [enableWifi](enable-wifi.md) | [androidJvm]
~~open~~ ~~override~~ ~~fun~~ [~~enableWifi~~](enable-wifi.md)~~(~~~~)~~~~:~~ [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [equals](index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [isWifiEnabled](is-wifi-enabled.md) | [androidJvm]
open override fun [isWifiEnabled](is-wifi-enabled.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [toString](index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [impl](impl.md) | [androidJvm]
private val [impl](impl.md): [LegacyWifiApi](../-legacy-wifi-api/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/is-wifi-enabled.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/is-wifi-enabled.md
deleted file mode 100644
index b00f857d..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/is-wifi-enabled.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.wifi.delegates](../index.md)/[LegacyWifiDelegate](index.md)/[isWifiEnabled](is-wifi-enabled.md)
-
-# isWifiEnabled
-
-[androidJvm]\
-open override fun [isWifiEnabled](is-wifi-enabled.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/index.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/index.md
deleted file mode 100644
index 17421e1c..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi.delegates/index.md
+++ /dev/null
@@ -1,14 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.wifi.delegates](index.md)
-
-# Package com.isupatches.android.wisefy.wifi.delegates
-
-## Types
-
-| Name | Summary |
-|---|---|
-| [Android29WifiApi](-android29-wifi-api/index.md) | [androidJvm]
internal interface [Android29WifiApi](-android29-wifi-api/index.md) |
-| [Android29WifiApiImpl](-android29-wifi-api-impl/index.md) | [androidJvm]
internal class [Android29WifiApiImpl](-android29-wifi-api-impl/index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)) : [Android29WifiApi](-android29-wifi-api/index.md) |
-| [Android29WifiDelegate](-android29-wifi-delegate/index.md) | [androidJvm]
internal class [Android29WifiDelegate](-android29-wifi-delegate/index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), **impl**: [Android29WifiApi](-android29-wifi-api/index.md)) : [WifiApi](../com.isupatches.android.wisefy.wifi/-wifi-api/index.md) |
-| [LegacyWifiApi](-legacy-wifi-api/index.md) | [androidJvm]
internal interface [LegacyWifiApi](-legacy-wifi-api/index.md) |
-| [LegacyWifiApiImpl](-legacy-wifi-api-impl/index.md) | [androidJvm]
internal class [LegacyWifiApiImpl](-legacy-wifi-api-impl/index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)) : [LegacyWifiApi](-legacy-wifi-api/index.md) |
-| [LegacyWifiDelegate](-legacy-wifi-delegate/index.md) | [androidJvm]
internal class [LegacyWifiDelegate](-legacy-wifi-delegate/index.md)(**wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), **impl**: [LegacyWifiApi](-legacy-wifi-api/index.md)) : [WifiApi](../com.isupatches.android.wisefy.wifi/-wifi-api/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi/-l-o-g_-t-a-g.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi/-l-o-g_-t-a-g.md
deleted file mode 100644
index 42bd29c3..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi/-l-o-g_-t-a-g.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.wifi](index.md)/[LOG_TAG](-l-o-g_-t-a-g.md)
-
-# LOG_TAG
-
-[androidJvm]\
-private const val [LOG_TAG](-l-o-g_-t-a-g.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi/-wifi-api-async/disable-wifi.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi/-wifi-api-async/disable-wifi.md
deleted file mode 100644
index 0050feb9..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi/-wifi-api-async/disable-wifi.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.wifi](../index.md)/[WifiApiAsync](index.md)/[disableWifi](disable-wifi.md)
-
-# disableWifi
-
-[androidJvm]\
-~~abstract~~ ~~fun~~ [~~disableWifi~~](disable-wifi.md)~~(~~~~callbacks~~~~:~~ [DisableWifiCallbacks](../../com.isupatches.android.wisefy.callbacks/-disable-wifi-callbacks/index.md)?~~)~~
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi/-wifi-api-async/enable-wifi.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi/-wifi-api-async/enable-wifi.md
deleted file mode 100644
index 4b4ac629..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi/-wifi-api-async/enable-wifi.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.wifi](../index.md)/[WifiApiAsync](index.md)/[enableWifi](enable-wifi.md)
-
-# enableWifi
-
-[androidJvm]\
-~~abstract~~ ~~fun~~ [~~enableWifi~~](enable-wifi.md)~~(~~~~callbacks~~~~:~~ [EnableWifiCallbacks](../../com.isupatches.android.wisefy.callbacks/-enable-wifi-callbacks/index.md)?~~)~~
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi/-wifi-api-async/index.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi/-wifi-api-async/index.md
deleted file mode 100644
index e1ba0c4c..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi/-wifi-api-async/index.md
+++ /dev/null
@@ -1,23 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.wifi](../index.md)/[WifiApiAsync](index.md)
-
-# WifiApiAsync
-
-[androidJvm]\
-interface [WifiApiAsync](index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [disableWifi](disable-wifi.md) | [androidJvm]
~~abstract~~ ~~fun~~ [~~disableWifi~~](disable-wifi.md)~~(~~~~callbacks~~~~:~~ [DisableWifiCallbacks](../../com.isupatches.android.wisefy.callbacks/-disable-wifi-callbacks/index.md)?~~)~~ |
-| [enableWifi](enable-wifi.md) | [androidJvm]
~~abstract~~ ~~fun~~ [~~enableWifi~~](enable-wifi.md)~~(~~~~callbacks~~~~:~~ [EnableWifiCallbacks](../../com.isupatches.android.wisefy.callbacks/-enable-wifi-callbacks/index.md)?~~)~~ |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [WisefyApi](../../com.isupatches.android.wisefy/-wisefy-api/index.md) |
-| [WifiUtil](../-wifi-util/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi/-wifi-api/disable-wifi.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi/-wifi-api/disable-wifi.md
deleted file mode 100644
index bb9290d5..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi/-wifi-api/disable-wifi.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.wifi](../index.md)/[WifiApi](index.md)/[disableWifi](disable-wifi.md)
-
-# disableWifi
-
-[androidJvm]\
-~~abstract~~ ~~fun~~ [~~disableWifi~~](disable-wifi.md)~~(~~~~)~~~~:~~ [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi/-wifi-api/enable-wifi.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi/-wifi-api/enable-wifi.md
deleted file mode 100644
index 86502bb0..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi/-wifi-api/enable-wifi.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.wifi](../index.md)/[WifiApi](index.md)/[enableWifi](enable-wifi.md)
-
-# enableWifi
-
-[androidJvm]\
-~~abstract~~ ~~fun~~ [~~enableWifi~~](enable-wifi.md)~~(~~~~)~~~~:~~ [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi/-wifi-api/index.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi/-wifi-api/index.md
deleted file mode 100644
index 9439b28e..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi/-wifi-api/index.md
+++ /dev/null
@@ -1,26 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.wifi](../index.md)/[WifiApi](index.md)
-
-# WifiApi
-
-[androidJvm]\
-interface [WifiApi](index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [disableWifi](disable-wifi.md) | [androidJvm]
~~abstract~~ ~~fun~~ [~~disableWifi~~](disable-wifi.md)~~(~~~~)~~~~:~~ [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [enableWifi](enable-wifi.md) | [androidJvm]
~~abstract~~ ~~fun~~ [~~enableWifi~~](enable-wifi.md)~~(~~~~)~~~~:~~ [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [isWifiEnabled](is-wifi-enabled.md) | [androidJvm]
abstract fun [isWifiEnabled](is-wifi-enabled.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [WisefyApi](../../com.isupatches.android.wisefy/-wisefy-api/index.md) |
-| [WifiUtil](../-wifi-util/index.md) |
-| [Android29WifiDelegate](../../com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-delegate/index.md) |
-| [LegacyWifiDelegate](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi/-wifi-api/is-wifi-enabled.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi/-wifi-api/is-wifi-enabled.md
deleted file mode 100644
index bdfe011d..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi/-wifi-api/is-wifi-enabled.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.wifi](../index.md)/[WifiApi](index.md)/[isWifiEnabled](is-wifi-enabled.md)
-
-# isWifiEnabled
-
-[androidJvm]\
-abstract fun [isWifiEnabled](is-wifi-enabled.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi/-wifi-util/index.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi/-wifi-util/index.md
deleted file mode 100644
index 7fc79d6d..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi/-wifi-util/index.md
+++ /dev/null
@@ -1,23 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.wifi](../index.md)/[WifiUtil](index.md)
-
-# WifiUtil
-
-[androidJvm]\
-internal interface [WifiUtil](index.md) : [WifiApi](../-wifi-api/index.md), [WifiApiAsync](../-wifi-api-async/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [disableWifi](../-wifi-api/disable-wifi.md) | [androidJvm]
~~abstract~~ ~~fun~~ [~~disableWifi~~](../-wifi-api/disable-wifi.md)~~(~~~~)~~~~:~~ [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
~~abstract~~ ~~fun~~ [~~disableWifi~~](../-wifi-api-async/disable-wifi.md)~~(~~~~callbacks~~~~:~~ [DisableWifiCallbacks](../../com.isupatches.android.wisefy.callbacks/-disable-wifi-callbacks/index.md)?~~)~~ |
-| [enableWifi](../-wifi-api/enable-wifi.md) | [androidJvm]
~~abstract~~ ~~fun~~ [~~enableWifi~~](../-wifi-api/enable-wifi.md)~~(~~~~)~~~~:~~ [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
~~abstract~~ ~~fun~~ [~~enableWifi~~](../-wifi-api-async/enable-wifi.md)~~(~~~~callbacks~~~~:~~ [EnableWifiCallbacks](../../com.isupatches.android.wisefy.callbacks/-enable-wifi-callbacks/index.md)?~~)~~ |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [isWifiEnabled](../-wifi-api/is-wifi-enabled.md) | [androidJvm]
abstract fun [isWifiEnabled](../-wifi-api/is-wifi-enabled.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [WisefyWifiUtil](../-wisefy-wifi-util/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi/-wisefy-wifi-util/-wisefy-wifi-util.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi/-wisefy-wifi-util/-wisefy-wifi-util.md
deleted file mode 100644
index 37acfc09..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi/-wisefy-wifi-util/-wisefy-wifi-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.wifi](../index.md)/[WisefyWifiUtil](index.md)/[WisefyWifiUtil](-wisefy-wifi-util.md)
-
-# WisefyWifiUtil
-
-[androidJvm]\
-fun [WisefyWifiUtil](-wisefy-wifi-util.md)(coroutineDispatcherProvider: [CoroutineDispatcherProvider](../../com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/index.md), logger: [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?, sdkUtil: [SdkUtil](../../com.isupatches.android.wisefy.util/-sdk-util/index.md), wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi/-wisefy-wifi-util/coroutine-dispatcher-provider.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi/-wisefy-wifi-util/coroutine-dispatcher-provider.md
deleted file mode 100644
index 14b6522d..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi/-wisefy-wifi-util/coroutine-dispatcher-provider.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.wifi](../index.md)/[WisefyWifiUtil](index.md)/[coroutineDispatcherProvider](coroutine-dispatcher-provider.md)
-
-# coroutineDispatcherProvider
-
-[androidJvm]\
-private val [coroutineDispatcherProvider](coroutine-dispatcher-provider.md): [CoroutineDispatcherProvider](../../com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi/-wisefy-wifi-util/delegate.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi/-wisefy-wifi-util/delegate.md
deleted file mode 100644
index 082d0ea2..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi/-wisefy-wifi-util/delegate.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.wifi](../index.md)/[WisefyWifiUtil](index.md)/[delegate](delegate.md)
-
-# delegate
-
-[androidJvm]\
-private val [delegate](delegate.md): [WifiApi](../-wifi-api/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi/-wisefy-wifi-util/disable-wifi.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi/-wisefy-wifi-util/disable-wifi.md
deleted file mode 100644
index 7e7663db..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi/-wisefy-wifi-util/disable-wifi.md
+++ /dev/null
@@ -1,8 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.wifi](../index.md)/[WisefyWifiUtil](index.md)/[disableWifi](disable-wifi.md)
-
-# disableWifi
-
-[androidJvm]\
-~~open~~ ~~override~~ ~~fun~~ [~~disableWifi~~](disable-wifi.md)~~(~~~~)~~~~:~~ [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
-
-~~open~~ ~~override~~ ~~fun~~ [~~disableWifi~~](disable-wifi.md)~~(~~~~callbacks~~~~:~~ [DisableWifiCallbacks](../../com.isupatches.android.wisefy.callbacks/-disable-wifi-callbacks/index.md)?~~)~~
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi/-wisefy-wifi-util/enable-wifi.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi/-wisefy-wifi-util/enable-wifi.md
deleted file mode 100644
index c899f03b..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi/-wisefy-wifi-util/enable-wifi.md
+++ /dev/null
@@ -1,8 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.wifi](../index.md)/[WisefyWifiUtil](index.md)/[enableWifi](enable-wifi.md)
-
-# enableWifi
-
-[androidJvm]\
-~~open~~ ~~override~~ ~~fun~~ [~~enableWifi~~](enable-wifi.md)~~(~~~~)~~~~:~~ [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
-
-~~open~~ ~~override~~ ~~fun~~ [~~enableWifi~~](enable-wifi.md)~~(~~~~callbacks~~~~:~~ [EnableWifiCallbacks](../../com.isupatches.android.wisefy.callbacks/-enable-wifi-callbacks/index.md)?~~)~~
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi/-wisefy-wifi-util/index.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi/-wisefy-wifi-util/index.md
deleted file mode 100644
index 954c44f0..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi/-wisefy-wifi-util/index.md
+++ /dev/null
@@ -1,25 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.wifi](../index.md)/[WisefyWifiUtil](index.md)
-
-# WisefyWifiUtil
-
-[androidJvm]\
-internal class [WisefyWifiUtil](index.md)(**coroutineDispatcherProvider**: [CoroutineDispatcherProvider](../../com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/index.md), **logger**: [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?, **sdkUtil**: [SdkUtil](../../com.isupatches.android.wisefy.util/-sdk-util/index.md), **wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)) : [WifiUtil](../-wifi-util/index.md)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [disableWifi](disable-wifi.md) | [androidJvm]
~~open~~ ~~override~~ ~~fun~~ [~~disableWifi~~](disable-wifi.md)~~(~~~~)~~~~:~~ [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
~~open~~ ~~override~~ ~~fun~~ [~~disableWifi~~](disable-wifi.md)~~(~~~~callbacks~~~~:~~ [DisableWifiCallbacks](../../com.isupatches.android.wisefy.callbacks/-disable-wifi-callbacks/index.md)?~~)~~ |
-| [enableWifi](enable-wifi.md) | [androidJvm]
~~open~~ ~~override~~ ~~fun~~ [~~enableWifi~~](enable-wifi.md)~~(~~~~)~~~~:~~ [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
~~open~~ ~~override~~ ~~fun~~ [~~enableWifi~~](enable-wifi.md)~~(~~~~callbacks~~~~:~~ [EnableWifiCallbacks](../../com.isupatches.android.wisefy.callbacks/-enable-wifi-callbacks/index.md)?~~)~~ |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [isWifiEnabled](is-wifi-enabled.md) | [androidJvm]
open override fun [isWifiEnabled](is-wifi-enabled.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [coroutineDispatcherProvider](coroutine-dispatcher-provider.md) | [androidJvm]
private val [coroutineDispatcherProvider](coroutine-dispatcher-provider.md): [CoroutineDispatcherProvider](../../com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/index.md) |
-| [delegate](delegate.md) | [androidJvm]
private val [delegate](delegate.md): [WifiApi](../-wifi-api/index.md) |
-| [wifiScope](wifi-scope.md) | [androidJvm]
private val [wifiScope](wifi-scope.md): CoroutineScope |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi/-wisefy-wifi-util/is-wifi-enabled.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi/-wisefy-wifi-util/is-wifi-enabled.md
deleted file mode 100644
index 07148b2b..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi/-wisefy-wifi-util/is-wifi-enabled.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.wifi](../index.md)/[WisefyWifiUtil](index.md)/[isWifiEnabled](is-wifi-enabled.md)
-
-# isWifiEnabled
-
-[androidJvm]\
-open override fun [isWifiEnabled](is-wifi-enabled.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi/-wisefy-wifi-util/wifi-scope.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi/-wisefy-wifi-util/wifi-scope.md
deleted file mode 100644
index 9e07c257..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi/-wisefy-wifi-util/wifi-scope.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy.wifi](../index.md)/[WisefyWifiUtil](index.md)/[wifiScope](wifi-scope.md)
-
-# wifiScope
-
-[androidJvm]\
-private val [wifiScope](wifi-scope.md): CoroutineScope
diff --git a/documentation/wisefy/com.isupatches.android.wisefy.wifi/index.md b/documentation/wisefy/com.isupatches.android.wisefy.wifi/index.md
deleted file mode 100644
index 685107ee..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy.wifi/index.md
+++ /dev/null
@@ -1,18 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy.wifi](index.md)
-
-# Package com.isupatches.android.wisefy.wifi
-
-## Types
-
-| Name | Summary |
-|---|---|
-| [WifiApi](-wifi-api/index.md) | [androidJvm]
interface [WifiApi](-wifi-api/index.md) |
-| [WifiApiAsync](-wifi-api-async/index.md) | [androidJvm]
interface [WifiApiAsync](-wifi-api-async/index.md) |
-| [WifiUtil](-wifi-util/index.md) | [androidJvm]
internal interface [WifiUtil](-wifi-util/index.md) : [WifiApi](-wifi-api/index.md), [WifiApiAsync](-wifi-api-async/index.md) |
-| [WisefyWifiUtil](-wisefy-wifi-util/index.md) | [androidJvm]
internal class [WisefyWifiUtil](-wisefy-wifi-util/index.md)(**coroutineDispatcherProvider**: [CoroutineDispatcherProvider](../com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/index.md), **logger**: [WisefyLogger](../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?, **sdkUtil**: [SdkUtil](../com.isupatches.android.wisefy.util/-sdk-util/index.md), **wifiManager**: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)) : [WifiUtil](-wifi-util/index.md) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [LOG_TAG](-l-o-g_-t-a-g.md) | [androidJvm]
private const val [LOG_TAG](-l-o-g_-t-a-g.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy-api/index.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy-api/index.md
deleted file mode 100644
index 0cbbd0f0..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy-api/index.md
+++ /dev/null
@@ -1,96 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[WisefyApi](index.md)
-
-# WisefyApi
-
-[androidJvm]\
-interface [WisefyApi](index.md) : [AccessPointsApi](../../com.isupatches.android.wisefy.accesspoints/-access-points-api/index.md), [AccessPointsApiAsync](../../com.isupatches.android.wisefy.accesspoints/-access-points-api-async/index.md), [AddNetworkApi](../../com.isupatches.android.wisefy.addnetwork/-add-network-api/index.md), [AddNetworkApiAsync](../../com.isupatches.android.wisefy.addnetwork/-add-network-api-async/index.md), [FrequencyApi](../../com.isupatches.android.wisefy.frequency/-frequency-api/index.md), [FrequencyApiAsync](../../com.isupatches.android.wisefy.frequency/-frequency-api-async/index.md), [NetworkConnectionApi](../../com.isupatches.android.wisefy.networkconnection/-network-connection-api/index.md), [NetworkConnectionApiAsync](../../com.isupatches.android.wisefy.networkconnection/-network-connection-api-async/index.md), [NetworkConnectionStatusApi](../../com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/index.md), [NetworkInfoApi](../../com.isupatches.android.wisefy.networkinfo/-network-info-api/index.md), [NetworkInfoApiAsync](../../com.isupatches.android.wisefy.networkinfo/-network-info-api-async/index.md), [RemoveNetworkApi](../../com.isupatches.android.wisefy.removenetwork/-remove-network-api/index.md), [RemoveNetworkApiAsync](../../com.isupatches.android.wisefy.removenetwork/-remove-network-api-async/index.md), [SavedNetworkApi](../../com.isupatches.android.wisefy.savednetworks/-saved-network-api/index.md), [SavedNetworkApiAsync](../../com.isupatches.android.wisefy.savednetworks/-saved-network-api-async/index.md), [SecurityApi](../../com.isupatches.android.wisefy.security/-security-api/index.md), [SignalApi](../../com.isupatches.android.wisefy.signal/-signal-api/index.md), [WifiApi](../../com.isupatches.android.wisefy.wifi/-wifi-api/index.md), [WifiApiAsync](../../com.isupatches.android.wisefy.wifi/-wifi-api-async/index.md)
-
-The culmination of APIs that create WiseFy's public interface.
-
-#### Author
-
-Patches Klinefelter
-
-#### Since
-
-07/2021
-
-## See also
-
-androidJvm
-
-| | |
-|---|---|
-| [com.isupatches.android.wisefy.accesspoints.AccessPointsApi](../../com.isupatches.android.wisefy.accesspoints/-access-points-api/index.md) | |
-| [com.isupatches.android.wisefy.accesspoints.AccessPointsApiAsync](../../com.isupatches.android.wisefy.accesspoints/-access-points-api-async/index.md) | |
-| [com.isupatches.android.wisefy.addnetwork.AddNetworkApi](../../com.isupatches.android.wisefy.addnetwork/-add-network-api/index.md) | |
-| [com.isupatches.android.wisefy.addnetwork.AddNetworkApiAsync](../../com.isupatches.android.wisefy.addnetwork/-add-network-api-async/index.md) | |
-| [com.isupatches.android.wisefy.frequency.FrequencyApi](../../com.isupatches.android.wisefy.frequency/-frequency-api/index.md) | |
-| [com.isupatches.android.wisefy.frequency.FrequencyApiAsync](../../com.isupatches.android.wisefy.frequency/-frequency-api-async/index.md) | |
-| [com.isupatches.android.wisefy.networkconnection.NetworkConnectionApi](../../com.isupatches.android.wisefy.networkconnection/-network-connection-api/index.md) | |
-| [com.isupatches.android.wisefy.networkconnection.NetworkConnectionApiAsync](../../com.isupatches.android.wisefy.networkconnection/-network-connection-api-async/index.md) | |
-| [com.isupatches.android.wisefy.networkconnectionstatus.NetworkConnectionStatusApi](../../com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/index.md) | |
-| [com.isupatches.android.wisefy.networkinfo.NetworkInfoApi](../../com.isupatches.android.wisefy.networkinfo/-network-info-api/index.md) | |
-| [com.isupatches.android.wisefy.networkinfo.NetworkInfoApiAsync](../../com.isupatches.android.wisefy.networkinfo/-network-info-api-async/index.md) | |
-| [com.isupatches.android.wisefy.removenetwork.RemoveNetworkApi](../../com.isupatches.android.wisefy.removenetwork/-remove-network-api/index.md) | |
-| [com.isupatches.android.wisefy.removenetwork.RemoveNetworkApiAsync](../../com.isupatches.android.wisefy.removenetwork/-remove-network-api-async/index.md) | |
-| [com.isupatches.android.wisefy.savednetworks.SavedNetworkApi](../../com.isupatches.android.wisefy.savednetworks/-saved-network-api/index.md) | |
-| [com.isupatches.android.wisefy.savednetworks.SavedNetworkApiAsync](../../com.isupatches.android.wisefy.savednetworks/-saved-network-api-async/index.md) | |
-| [com.isupatches.android.wisefy.security.SecurityApi](../../com.isupatches.android.wisefy.security/-security-api/index.md) | |
-| [com.isupatches.android.wisefy.signal.SignalApi](../../com.isupatches.android.wisefy.signal/-signal-api/index.md) | |
-| [com.isupatches.android.wisefy.wifi.WifiApi](../../com.isupatches.android.wisefy.wifi/-wifi-api/index.md) | |
-| [com.isupatches.android.wisefy.wifi.WifiApiAsync](../../com.isupatches.android.wisefy.wifi/-wifi-api-async/index.md) | |
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [addOpenNetwork](../../com.isupatches.android.wisefy.addnetwork/-add-network-api/add-open-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
abstract fun [addOpenNetwork](../../com.isupatches.android.wisefy.addnetwork/-add-network-api/add-open-network.md)(data: [OpenNetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/index.md)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
abstract fun [addOpenNetwork](../../com.isupatches.android.wisefy.addnetwork/-add-network-api-async/add-open-network.md)(data: [OpenNetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/index.md), callbacks: [AddNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-add-network-callbacks/index.md)?) |
-| [addWPA2Network](../../com.isupatches.android.wisefy.addnetwork/-add-network-api/add-w-p-a2-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
abstract fun [addWPA2Network](../../com.isupatches.android.wisefy.addnetwork/-add-network-api/add-w-p-a2-network.md)(data: [WPA2NetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/index.md)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
abstract fun [addWPA2Network](../../com.isupatches.android.wisefy.addnetwork/-add-network-api-async/add-w-p-a2-network.md)(data: [WPA2NetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/index.md), callbacks: [AddNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-add-network-callbacks/index.md)?) |
-| [addWPA3Network](../../com.isupatches.android.wisefy.addnetwork/-add-network-api/add-w-p-a3-network.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
abstract fun [addWPA3Network](../../com.isupatches.android.wisefy.addnetwork/-add-network-api/add-w-p-a3-network.md)(data: [WPA3NetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/index.md)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
abstract fun [addWPA3Network](../../com.isupatches.android.wisefy.addnetwork/-add-network-api-async/add-w-p-a3-network.md)(data: [WPA3NetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/index.md), callbacks: [AddNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-add-network-callbacks/index.md)?) |
-| [attachNetworkWatcher](../../com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/attach-network-watcher.md) | [androidJvm]
abstract fun [attachNetworkWatcher](../../com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/attach-network-watcher.md)() |
-| [calculateBars](../../com.isupatches.android.wisefy.signal/-signal-api/calculate-bars.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
abstract fun [calculateBars](../../com.isupatches.android.wisefy.signal/-signal-api/calculate-bars.md)(rssiLevel: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
~~abstract~~ ~~fun~~ [~~calculateBars~~](../../com.isupatches.android.wisefy.signal/-signal-api/calculate-bars.md)~~(~~~~rssiLevel~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)~~,~~ ~~targetNumberOfBars~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)~~)~~~~:~~ [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [compareSignalLevel](../../com.isupatches.android.wisefy.signal/-signal-api/compare-signal-level.md) | [androidJvm]
abstract fun [compareSignalLevel](../../com.isupatches.android.wisefy.signal/-signal-api/compare-signal-level.md)(rssi1: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), rssi2: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [connectToNetwork](../../com.isupatches.android.wisefy.networkconnection/-network-connection-api/connect-to-network.md) | [androidJvm]
abstract fun [connectToNetwork](../../com.isupatches.android.wisefy.networkconnection/-network-connection-api/connect-to-network.md)(ssidToConnectTo: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [NetworkConnectionResult](../../com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/index.md)
abstract fun [connectToNetwork](../../com.isupatches.android.wisefy.networkconnection/-network-connection-api-async/connect-to-network.md)(ssidToConnectTo: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), callbacks: [ConnectToNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-connect-to-network-callbacks/index.md)?) |
-| [detachNetworkWatcher](../../com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/detach-network-watcher.md) | [androidJvm]
abstract fun [detachNetworkWatcher](../../com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/detach-network-watcher.md)() |
-| [disableWifi](../../com.isupatches.android.wisefy.wifi/-wifi-api/disable-wifi.md) | [androidJvm]
~~abstract~~ ~~fun~~ [~~disableWifi~~](../../com.isupatches.android.wisefy.wifi/-wifi-api/disable-wifi.md)~~(~~~~)~~~~:~~ [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
~~abstract~~ ~~fun~~ [~~disableWifi~~](../../com.isupatches.android.wisefy.wifi/-wifi-api-async/disable-wifi.md)~~(~~~~callbacks~~~~:~~ [DisableWifiCallbacks](../../com.isupatches.android.wisefy.callbacks/-disable-wifi-callbacks/index.md)?~~)~~ |
-| [disconnectFromCurrentNetwork](../../com.isupatches.android.wisefy.networkconnection/-network-connection-api/disconnect-from-current-network.md) | [androidJvm]
abstract fun [disconnectFromCurrentNetwork](../../com.isupatches.android.wisefy.networkconnection/-network-connection-api/disconnect-from-current-network.md)(): [NetworkConnectionResult](../../com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/index.md)
abstract fun [disconnectFromCurrentNetwork](../../com.isupatches.android.wisefy.networkconnection/-network-connection-api-async/disconnect-from-current-network.md)(callbacks: [DisconnectFromCurrentNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-disconnect-from-current-network-callbacks/index.md)?) |
-| [enableWifi](../../com.isupatches.android.wisefy.wifi/-wifi-api/enable-wifi.md) | [androidJvm]
~~abstract~~ ~~fun~~ [~~enableWifi~~](../../com.isupatches.android.wisefy.wifi/-wifi-api/enable-wifi.md)~~(~~~~)~~~~:~~ [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
~~abstract~~ ~~fun~~ [~~enableWifi~~](../../com.isupatches.android.wisefy.wifi/-wifi-api-async/enable-wifi.md)~~(~~~~callbacks~~~~:~~ [EnableWifiCallbacks](../../com.isupatches.android.wisefy.callbacks/-enable-wifi-callbacks/index.md)?~~)~~ |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [getCurrentNetwork](../../com.isupatches.android.wisefy.networkinfo/-network-info-api/get-current-network.md) | [androidJvm]
abstract fun [getCurrentNetwork](../../com.isupatches.android.wisefy.networkinfo/-network-info-api/get-current-network.md)(): [CurrentNetworkData](../../com.isupatches.android.wisefy.networkinfo.entities/-current-network-data/index.md)?
abstract fun [getCurrentNetwork](../../com.isupatches.android.wisefy.networkinfo/-network-info-api-async/get-current-network.md)(callbacks: [GetCurrentNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-current-network-callbacks/index.md)?) |
-| [getCurrentNetworkInfo](../../com.isupatches.android.wisefy.networkinfo/-network-info-api/get-current-network-info.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
abstract fun [getCurrentNetworkInfo](../../com.isupatches.android.wisefy.networkinfo/-network-info-api/get-current-network-info.md)(network: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html)? = null): [CurrentNetworkInfoData](../../com.isupatches.android.wisefy.networkinfo.entities/-current-network-info-data/index.md)?
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
abstract fun [getCurrentNetworkInfo](../../com.isupatches.android.wisefy.networkinfo/-network-info-api-async/get-current-network-info.md)(callbacks: [GetCurrentNetworkInfoCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-current-network-info-callbacks/index.md)?, network: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html)? = null) |
-| [getFrequency](../../com.isupatches.android.wisefy.frequency/-frequency-api/get-frequency.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
abstract fun [getFrequency](../../com.isupatches.android.wisefy.frequency/-frequency-api/get-frequency.md)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)?
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
abstract fun [getFrequency](../../com.isupatches.android.wisefy.frequency/-frequency-api/get-frequency.md)(network: [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
abstract fun [getFrequency](../../com.isupatches.android.wisefy.frequency/-frequency-api-async/get-frequency.md)(callbacks: [GetFrequencyCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-frequency-callbacks/index.md)?) |
-| [getIP](../../com.isupatches.android.wisefy.networkinfo/-network-info-api/get-i-p.md) | [androidJvm]
abstract fun [getIP](../../com.isupatches.android.wisefy.networkinfo/-network-info-api/get-i-p.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?
abstract fun [getIP](../../com.isupatches.android.wisefy.networkinfo/-network-info-api-async/get-i-p.md)(callbacks: [GetIPCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-i-p-callbacks/index.md)?) |
-| [getNearbyAccessPoints](../../com.isupatches.android.wisefy.accesspoints/-access-points-api/get-nearby-access-points.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
abstract fun [getNearbyAccessPoints](../../com.isupatches.android.wisefy.accesspoints/-access-points-api/get-nearby-access-points.md)(filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)>
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
abstract fun [getNearbyAccessPoints](../../com.isupatches.android.wisefy.accesspoints/-access-points-api-async/get-nearby-access-points.md)(filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), callbacks: [GetNearbyAccessPointCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-nearby-access-point-callbacks/index.md)?) |
-| [getRSSI](../../com.isupatches.android.wisefy.accesspoints/-access-points-api/get-r-s-s-i.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
abstract fun [getRSSI](../../com.isupatches.android.wisefy.accesspoints/-access-points-api/get-r-s-s-i.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), takeHighest: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)?
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
abstract fun [getRSSI](../../com.isupatches.android.wisefy.accesspoints/-access-points-api-async/get-r-s-s-i.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), takeHighest: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), callbacks: [GetRSSICallbacks](../../com.isupatches.android.wisefy.callbacks/-get-r-s-s-i-callbacks/index.md)?) |
-| [getSavedNetworks](../../com.isupatches.android.wisefy.savednetworks/-saved-network-api/get-saved-networks.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
abstract fun [getSavedNetworks](../../com.isupatches.android.wisefy.savednetworks/-saved-network-api/get-saved-networks.md)(): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)>
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
abstract fun [getSavedNetworks](../../com.isupatches.android.wisefy.savednetworks/-saved-network-api-async/get-saved-networks.md)(callbacks: [GetSavedNetworksCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-saved-networks-callbacks/index.md)?) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [isDeviceConnectedToMobileNetwork](../../com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/is-device-connected-to-mobile-network.md) | [androidJvm]
abstract fun [isDeviceConnectedToMobileNetwork](../../com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/is-device-connected-to-mobile-network.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isDeviceConnectedToMobileOrWifiNetwork](../../com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/is-device-connected-to-mobile-or-wifi-network.md) | [androidJvm]
abstract fun [isDeviceConnectedToMobileOrWifiNetwork](../../com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/is-device-connected-to-mobile-or-wifi-network.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isDeviceConnectedToSSID](../../com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/is-device-connected-to-s-s-i-d.md) | [androidJvm]
abstract fun [isDeviceConnectedToSSID](../../com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/is-device-connected-to-s-s-i-d.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isDeviceConnectedToWifiNetwork](../../com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/is-device-connected-to-wifi-network.md) | [androidJvm]
abstract fun [isDeviceConnectedToWifiNetwork](../../com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/is-device-connected-to-wifi-network.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isDeviceRoaming](../../com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/is-device-roaming.md) | [androidJvm]
abstract fun [isDeviceRoaming](../../com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/is-device-roaming.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetwork5gHz](../../com.isupatches.android.wisefy.frequency/-frequency-api/is-network5g-hz.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
abstract fun [isNetwork5gHz](../../com.isupatches.android.wisefy.frequency/-frequency-api/is-network5g-hz.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
abstract fun [isNetwork5gHz](../../com.isupatches.android.wisefy.frequency/-frequency-api/is-network5g-hz.md)(network: [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkEAP](../../com.isupatches.android.wisefy.security/-security-api/is-network-e-a-p.md) | [androidJvm]
abstract fun [isNetworkEAP](../../com.isupatches.android.wisefy.security/-security-api/is-network-e-a-p.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkPSK](../../com.isupatches.android.wisefy.security/-security-api/is-network-p-s-k.md) | [androidJvm]
abstract fun [isNetworkPSK](../../com.isupatches.android.wisefy.security/-security-api/is-network-p-s-k.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkSaved](../../com.isupatches.android.wisefy.savednetworks/-saved-network-api/is-network-saved.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
abstract fun [isNetworkSaved](../../com.isupatches.android.wisefy.savednetworks/-saved-network-api/is-network-saved.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkSecure](../../com.isupatches.android.wisefy.security/-security-api/is-network-secure.md) | [androidJvm]
abstract fun [isNetworkSecure](../../com.isupatches.android.wisefy.security/-security-api/is-network-secure.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkWEP](../../com.isupatches.android.wisefy.security/-security-api/is-network-w-e-p.md) | [androidJvm]
abstract fun [isNetworkWEP](../../com.isupatches.android.wisefy.security/-security-api/is-network-w-e-p.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkWPA](../../com.isupatches.android.wisefy.security/-security-api/is-network-w-p-a.md) | [androidJvm]
abstract fun [isNetworkWPA](../../com.isupatches.android.wisefy.security/-security-api/is-network-w-p-a.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkWPA2](../../com.isupatches.android.wisefy.security/-security-api/is-network-w-p-a2.md) | [androidJvm]
abstract fun [isNetworkWPA2](../../com.isupatches.android.wisefy.security/-security-api/is-network-w-p-a2.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkWPA3](../../com.isupatches.android.wisefy.security/-security-api/is-network-w-p-a3.md) | [androidJvm]
abstract fun [isNetworkWPA3](../../com.isupatches.android.wisefy.security/-security-api/is-network-w-p-a3.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isWifiEnabled](../../com.isupatches.android.wisefy.wifi/-wifi-api/is-wifi-enabled.md) | [androidJvm]
abstract fun [isWifiEnabled](../../com.isupatches.android.wisefy.wifi/-wifi-api/is-wifi-enabled.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [removeNetwork](../../com.isupatches.android.wisefy.removenetwork/-remove-network-api/remove-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
abstract fun [removeNetwork](../../com.isupatches.android.wisefy.removenetwork/-remove-network-api/remove-network.md)(ssidToRemove: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [RemoveNetworkResult](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/index.md)
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
abstract fun [removeNetwork](../../com.isupatches.android.wisefy.removenetwork/-remove-network-api-async/remove-network.md)(ssidToRemove: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), callbacks: [RemoveNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-remove-network-callbacks/index.md)?) |
-| [searchForAccessPoint](../../com.isupatches.android.wisefy.accesspoints/-access-points-api/search-for-access-point.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
abstract fun [searchForAccessPoint](../../com.isupatches.android.wisefy.accesspoints/-access-points-api/search-for-access-point.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)?
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
abstract fun [searchForAccessPoint](../../com.isupatches.android.wisefy.accesspoints/-access-points-api-async/search-for-access-point.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), callbacks: [SearchForAccessPointCallbacks](../../com.isupatches.android.wisefy.callbacks/-search-for-access-point-callbacks/index.md)?) |
-| [searchForAccessPoints](../../com.isupatches.android.wisefy.accesspoints/-access-points-api/search-for-access-points.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
abstract fun [searchForAccessPoints](../../com.isupatches.android.wisefy.accesspoints/-access-points-api/search-for-access-points.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)>
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
abstract fun [searchForAccessPoints](../../com.isupatches.android.wisefy.accesspoints/-access-points-api-async/search-for-access-points.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), callbacks: [SearchForAccessPointsCallbacks](../../com.isupatches.android.wisefy.callbacks/-search-for-access-points-callbacks/index.md)?) |
-| [searchForSavedNetwork](../../com.isupatches.android.wisefy.savednetworks/-saved-network-api/search-for-saved-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
abstract fun [searchForSavedNetwork](../../com.isupatches.android.wisefy.savednetworks/-saved-network-api/search-for-saved-network.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)?
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
abstract fun [searchForSavedNetwork](../../com.isupatches.android.wisefy.savednetworks/-saved-network-api-async/search-for-saved-network.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), callbacks: [SearchForSavedNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-search-for-saved-network-callbacks/index.md)?) |
-| [searchForSavedNetworks](../../com.isupatches.android.wisefy.savednetworks/-saved-network-api/search-for-saved-networks.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
abstract fun [searchForSavedNetworks](../../com.isupatches.android.wisefy.savednetworks/-saved-network-api/search-for-saved-networks.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)>
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
abstract fun [searchForSavedNetworks](../../com.isupatches.android.wisefy.savednetworks/-saved-network-api-async/search-for-saved-networks.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), callbacks: [SearchForSavedNetworksCallbacks](../../com.isupatches.android.wisefy.callbacks/-search-for-saved-networks-callbacks/index.md)?) |
-| [searchForSSID](../../com.isupatches.android.wisefy.accesspoints/-access-points-api/search-for-s-s-i-d.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
abstract fun [searchForSSID](../../com.isupatches.android.wisefy.accesspoints/-access-points-api/search-for-s-s-i-d.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
abstract fun [searchForSSID](../../com.isupatches.android.wisefy.accesspoints/-access-points-api-async/search-for-s-s-i-d.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), callbacks: [SearchForSSIDCallbacks](../../com.isupatches.android.wisefy.callbacks/-search-for-s-s-i-d-callbacks/index.md)?) |
-| [searchForSSIDs](../../com.isupatches.android.wisefy.accesspoints/-access-points-api/search-for-s-s-i-ds.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
abstract fun [searchForSSIDs](../../com.isupatches.android.wisefy.accesspoints/-access-points-api/search-for-s-s-i-ds.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)>
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
abstract fun [searchForSSIDs](../../com.isupatches.android.wisefy.accesspoints/-access-points-api-async/search-for-s-s-i-ds.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), callbacks: [SearchForSSIDsCallbacks](../../com.isupatches.android.wisefy.callbacks/-search-for-s-s-i-ds-callbacks/index.md)?) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Inheritors
-
-| Name |
-|---|
-| [Wisefy](../-wisefy/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/-brains.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/-brains.md
deleted file mode 100644
index f434bc60..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/-brains.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy](../../index.md)/[Wisefy](../index.md)/[Brains](index.md)/[Brains](-brains.md)
-
-# Brains
-
-[androidJvm]\
-
-@[JvmOverloads](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.jvm/-jvm-overloads/index.html)()
-
-fun [Brains](-brains.md)(context: [Context](https://developer.android.com/reference/kotlin/android/content/Context.html), logger: [WisefyLogger](../../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)? = null)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/access-points-util.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/access-points-util.md
deleted file mode 100644
index 907ec913..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/access-points-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy](../../index.md)/[Wisefy](../index.md)/[Brains](index.md)/[accessPointsUtil](access-points-util.md)
-
-# accessPointsUtil
-
-[androidJvm]\
-private var [accessPointsUtil](access-points-util.md): [AccessPointsUtil](../../../com.isupatches.android.wisefy.accesspoints/-access-points-util/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/add-network-util.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/add-network-util.md
deleted file mode 100644
index 53358455..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/add-network-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy](../../index.md)/[Wisefy](../index.md)/[Brains](index.md)/[addNetworkUtil](add-network-util.md)
-
-# addNetworkUtil
-
-[androidJvm]\
-private var [addNetworkUtil](add-network-util.md): [AddNetworkUtil](../../../com.isupatches.android.wisefy.addnetwork/-add-network-util/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/connectivity-manager.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/connectivity-manager.md
deleted file mode 100644
index 395e90dc..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/connectivity-manager.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy](../../index.md)/[Wisefy](../index.md)/[Brains](index.md)/[connectivityManager](connectivity-manager.md)
-
-# connectivityManager
-
-[androidJvm]\
-private var [connectivityManager](connectivity-manager.md): [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-access-points-util.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-access-points-util.md
deleted file mode 100644
index f1cd2298..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-access-points-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy](../../index.md)/[Wisefy](../index.md)/[Brains](index.md)/[customAccessPointsUtil](custom-access-points-util.md)
-
-# customAccessPointsUtil
-
-[androidJvm]\
-internal fun [customAccessPointsUtil](custom-access-points-util.md)(accessPointsUtil: [AccessPointsUtil](../../../com.isupatches.android.wisefy.accesspoints/-access-points-util/index.md)): [Wisefy.Brains](index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-add-network-util.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-add-network-util.md
deleted file mode 100644
index 85bc62fe..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-add-network-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy](../../index.md)/[Wisefy](../index.md)/[Brains](index.md)/[customAddNetworkUtil](custom-add-network-util.md)
-
-# customAddNetworkUtil
-
-[androidJvm]\
-internal fun [customAddNetworkUtil](custom-add-network-util.md)(addNetworkUtil: [AddNetworkUtil](../../../com.isupatches.android.wisefy.addnetwork/-add-network-util/index.md)): [Wisefy.Brains](index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-connectivity-manager.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-connectivity-manager.md
deleted file mode 100644
index dcd56651..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-connectivity-manager.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy](../../index.md)/[Wisefy](../index.md)/[Brains](index.md)/[customConnectivityManager](custom-connectivity-manager.md)
-
-# customConnectivityManager
-
-[androidJvm]\
-internal fun [customConnectivityManager](custom-connectivity-manager.md)(connectivityManager: [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html)): [Wisefy.Brains](index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-frequency-util.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-frequency-util.md
deleted file mode 100644
index c7dc2b3f..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-frequency-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy](../../index.md)/[Wisefy](../index.md)/[Brains](index.md)/[customFrequencyUtil](custom-frequency-util.md)
-
-# customFrequencyUtil
-
-[androidJvm]\
-internal fun [customFrequencyUtil](custom-frequency-util.md)(frequencyUtil: [FrequencyUtil](../../../com.isupatches.android.wisefy.frequency/-frequency-util/index.md)): [Wisefy.Brains](index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-network-connection-status-util.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-network-connection-status-util.md
deleted file mode 100644
index 32105c35..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-network-connection-status-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy](../../index.md)/[Wisefy](../index.md)/[Brains](index.md)/[customNetworkConnectionStatusUtil](custom-network-connection-status-util.md)
-
-# customNetworkConnectionStatusUtil
-
-[androidJvm]\
-internal fun [customNetworkConnectionStatusUtil](custom-network-connection-status-util.md)(networkConnectionStatusUtil: [NetworkConnectionStatusUtil](../../../com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-util/index.md)): [Wisefy.Brains](index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-network-connection-util.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-network-connection-util.md
deleted file mode 100644
index 8fd53f22..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-network-connection-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy](../../index.md)/[Wisefy](../index.md)/[Brains](index.md)/[customNetworkConnectionUtil](custom-network-connection-util.md)
-
-# customNetworkConnectionUtil
-
-[androidJvm]\
-internal fun [customNetworkConnectionUtil](custom-network-connection-util.md)(networkConnectionUtil: [NetworkConnectionUtil](../../../com.isupatches.android.wisefy.networkconnection/-network-connection-util/index.md)): [Wisefy.Brains](index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-network-info-util.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-network-info-util.md
deleted file mode 100644
index 7430a5b3..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-network-info-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy](../../index.md)/[Wisefy](../index.md)/[Brains](index.md)/[customNetworkInfoUtil](custom-network-info-util.md)
-
-# customNetworkInfoUtil
-
-[androidJvm]\
-internal fun [customNetworkInfoUtil](custom-network-info-util.md)(networkInfoUtil: [NetworkInfoUtil](../../../com.isupatches.android.wisefy.networkinfo/-network-info-util/index.md)): [Wisefy.Brains](index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-remove-network-util.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-remove-network-util.md
deleted file mode 100644
index b4cb5e39..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-remove-network-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy](../../index.md)/[Wisefy](../index.md)/[Brains](index.md)/[customRemoveNetworkUtil](custom-remove-network-util.md)
-
-# customRemoveNetworkUtil
-
-[androidJvm]\
-internal fun [customRemoveNetworkUtil](custom-remove-network-util.md)(removeNetworkUtil: [RemoveNetworkUtil](../../../com.isupatches.android.wisefy.removenetwork/-remove-network-util/index.md)): [Wisefy.Brains](index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-saved-network-util.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-saved-network-util.md
deleted file mode 100644
index 625ad877..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-saved-network-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy](../../index.md)/[Wisefy](../index.md)/[Brains](index.md)/[customSavedNetworkUtil](custom-saved-network-util.md)
-
-# customSavedNetworkUtil
-
-[androidJvm]\
-internal fun [customSavedNetworkUtil](custom-saved-network-util.md)(savedNetworkUtil: [SavedNetworkUtil](../../../com.isupatches.android.wisefy.savednetworks/-saved-network-util/index.md)): [Wisefy.Brains](index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-security-util.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-security-util.md
deleted file mode 100644
index 4e5e3411..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-security-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy](../../index.md)/[Wisefy](../index.md)/[Brains](index.md)/[customSecurityUtil](custom-security-util.md)
-
-# customSecurityUtil
-
-[androidJvm]\
-internal fun [customSecurityUtil](custom-security-util.md)(securityUtil: [SecurityUtil](../../../com.isupatches.android.wisefy.security/-security-util/index.md)): [Wisefy.Brains](index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-signal-util.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-signal-util.md
deleted file mode 100644
index 7ada9385..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-signal-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy](../../index.md)/[Wisefy](../index.md)/[Brains](index.md)/[customSignalUtil](custom-signal-util.md)
-
-# customSignalUtil
-
-[androidJvm]\
-internal fun [customSignalUtil](custom-signal-util.md)(signalUtil: [SignalUtil](../../../com.isupatches.android.wisefy.signal/-signal-util/index.md)): [Wisefy.Brains](index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-wifi-manager.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-wifi-manager.md
deleted file mode 100644
index cc45ea10..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-wifi-manager.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy](../../index.md)/[Wisefy](../index.md)/[Brains](index.md)/[customWifiManager](custom-wifi-manager.md)
-
-# customWifiManager
-
-[androidJvm]\
-internal fun [customWifiManager](custom-wifi-manager.md)(wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)): [Wisefy.Brains](index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-wifi-util.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-wifi-util.md
deleted file mode 100644
index 4a9e5196..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-wifi-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy](../../index.md)/[Wisefy](../index.md)/[Brains](index.md)/[customWifiUtil](custom-wifi-util.md)
-
-# customWifiUtil
-
-[androidJvm]\
-internal fun [customWifiUtil](custom-wifi-util.md)(wifiUtil: [WifiUtil](../../../com.isupatches.android.wisefy.wifi/-wifi-util/index.md)): [Wisefy.Brains](index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/frequency-util.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/frequency-util.md
deleted file mode 100644
index d5665309..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/frequency-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy](../../index.md)/[Wisefy](../index.md)/[Brains](index.md)/[frequencyUtil](frequency-util.md)
-
-# frequencyUtil
-
-[androidJvm]\
-private var [frequencyUtil](frequency-util.md): [FrequencyUtil](../../../com.isupatches.android.wisefy.frequency/-frequency-util/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/get-smarts.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/get-smarts.md
deleted file mode 100644
index debed38f..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/get-smarts.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy](../../index.md)/[Wisefy](../index.md)/[Brains](index.md)/[getSmarts](get-smarts.md)
-
-# getSmarts
-
-[androidJvm]\
-fun [getSmarts](get-smarts.md)(): [WisefyApi](../../-wisefy-api/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/index.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/index.md
deleted file mode 100644
index ea830e59..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/index.md
+++ /dev/null
@@ -1,48 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy](../../index.md)/[Wisefy](../index.md)/[Brains](index.md)
-
-# Brains
-
-[androidJvm]\
-class [Brains](index.md)@[JvmOverloads](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.jvm/-jvm-overloads/index.html)()constructor(**context**: [Context](https://developer.android.com/reference/kotlin/android/content/Context.html), **logger**: [WisefyLogger](../../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?)
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [customAccessPointsUtil](custom-access-points-util.md) | [androidJvm]
internal fun [customAccessPointsUtil](custom-access-points-util.md)(accessPointsUtil: [AccessPointsUtil](../../../com.isupatches.android.wisefy.accesspoints/-access-points-util/index.md)): [Wisefy.Brains](index.md) |
-| [customAddNetworkUtil](custom-add-network-util.md) | [androidJvm]
internal fun [customAddNetworkUtil](custom-add-network-util.md)(addNetworkUtil: [AddNetworkUtil](../../../com.isupatches.android.wisefy.addnetwork/-add-network-util/index.md)): [Wisefy.Brains](index.md) |
-| [customConnectivityManager](custom-connectivity-manager.md) | [androidJvm]
internal fun [customConnectivityManager](custom-connectivity-manager.md)(connectivityManager: [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html)): [Wisefy.Brains](index.md) |
-| [customFrequencyUtil](custom-frequency-util.md) | [androidJvm]
internal fun [customFrequencyUtil](custom-frequency-util.md)(frequencyUtil: [FrequencyUtil](../../../com.isupatches.android.wisefy.frequency/-frequency-util/index.md)): [Wisefy.Brains](index.md) |
-| [customNetworkConnectionStatusUtil](custom-network-connection-status-util.md) | [androidJvm]
internal fun [customNetworkConnectionStatusUtil](custom-network-connection-status-util.md)(networkConnectionStatusUtil: [NetworkConnectionStatusUtil](../../../com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-util/index.md)): [Wisefy.Brains](index.md) |
-| [customNetworkConnectionUtil](custom-network-connection-util.md) | [androidJvm]
internal fun [customNetworkConnectionUtil](custom-network-connection-util.md)(networkConnectionUtil: [NetworkConnectionUtil](../../../com.isupatches.android.wisefy.networkconnection/-network-connection-util/index.md)): [Wisefy.Brains](index.md) |
-| [customNetworkInfoUtil](custom-network-info-util.md) | [androidJvm]
internal fun [customNetworkInfoUtil](custom-network-info-util.md)(networkInfoUtil: [NetworkInfoUtil](../../../com.isupatches.android.wisefy.networkinfo/-network-info-util/index.md)): [Wisefy.Brains](index.md) |
-| [customRemoveNetworkUtil](custom-remove-network-util.md) | [androidJvm]
internal fun [customRemoveNetworkUtil](custom-remove-network-util.md)(removeNetworkUtil: [RemoveNetworkUtil](../../../com.isupatches.android.wisefy.removenetwork/-remove-network-util/index.md)): [Wisefy.Brains](index.md) |
-| [customSavedNetworkUtil](custom-saved-network-util.md) | [androidJvm]
internal fun [customSavedNetworkUtil](custom-saved-network-util.md)(savedNetworkUtil: [SavedNetworkUtil](../../../com.isupatches.android.wisefy.savednetworks/-saved-network-util/index.md)): [Wisefy.Brains](index.md) |
-| [customSecurityUtil](custom-security-util.md) | [androidJvm]
internal fun [customSecurityUtil](custom-security-util.md)(securityUtil: [SecurityUtil](../../../com.isupatches.android.wisefy.security/-security-util/index.md)): [Wisefy.Brains](index.md) |
-| [customSignalUtil](custom-signal-util.md) | [androidJvm]
internal fun [customSignalUtil](custom-signal-util.md)(signalUtil: [SignalUtil](../../../com.isupatches.android.wisefy.signal/-signal-util/index.md)): [Wisefy.Brains](index.md) |
-| [customWifiManager](custom-wifi-manager.md) | [androidJvm]
internal fun [customWifiManager](custom-wifi-manager.md)(wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)): [Wisefy.Brains](index.md) |
-| [customWifiUtil](custom-wifi-util.md) | [androidJvm]
internal fun [customWifiUtil](custom-wifi-util.md)(wifiUtil: [WifiUtil](../../../com.isupatches.android.wisefy.wifi/-wifi-util/index.md)): [Wisefy.Brains](index.md) |
-| [equals](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [getSmarts](get-smarts.md) | [androidJvm]
fun [getSmarts](get-smarts.md)(): [WisefyApi](../../-wisefy-api/index.md) |
-| [hashCode](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [logger](logger.md) | [androidJvm]
internal fun [logger](logger.md)(logger: [WisefyLogger](../../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)): [Wisefy.Brains](index.md) |
-| [toString](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [accessPointsUtil](access-points-util.md) | [androidJvm]
private var [accessPointsUtil](access-points-util.md): [AccessPointsUtil](../../../com.isupatches.android.wisefy.accesspoints/-access-points-util/index.md) |
-| [addNetworkUtil](add-network-util.md) | [androidJvm]
private var [addNetworkUtil](add-network-util.md): [AddNetworkUtil](../../../com.isupatches.android.wisefy.addnetwork/-add-network-util/index.md) |
-| [connectivityManager](connectivity-manager.md) | [androidJvm]
private var [connectivityManager](connectivity-manager.md): [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html) |
-| [frequencyUtil](frequency-util.md) | [androidJvm]
private var [frequencyUtil](frequency-util.md): [FrequencyUtil](../../../com.isupatches.android.wisefy.frequency/-frequency-util/index.md) |
-| [logger](logger.md) | [androidJvm]
private var [logger](logger.md): [WisefyLogger](../../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)? = null |
-| [networkConnectionStatusUtil](network-connection-status-util.md) | [androidJvm]
private var [networkConnectionStatusUtil](network-connection-status-util.md): [NetworkConnectionStatusUtil](../../../com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-util/index.md) |
-| [networkConnectionUtil](network-connection-util.md) | [androidJvm]
private var [networkConnectionUtil](network-connection-util.md): [NetworkConnectionUtil](../../../com.isupatches.android.wisefy.networkconnection/-network-connection-util/index.md) |
-| [networkInfoUtil](network-info-util.md) | [androidJvm]
private var [networkInfoUtil](network-info-util.md): [NetworkInfoUtil](../../../com.isupatches.android.wisefy.networkinfo/-network-info-util/index.md) |
-| [removeNetworkUtil](remove-network-util.md) | [androidJvm]
private var [removeNetworkUtil](remove-network-util.md): [RemoveNetworkUtil](../../../com.isupatches.android.wisefy.removenetwork/-remove-network-util/index.md) |
-| [savedNetworkUtil](saved-network-util.md) | [androidJvm]
private var [savedNetworkUtil](saved-network-util.md): [SavedNetworkUtil](../../../com.isupatches.android.wisefy.savednetworks/-saved-network-util/index.md) |
-| [securityUtil](security-util.md) | [androidJvm]
private var [securityUtil](security-util.md): [SecurityUtil](../../../com.isupatches.android.wisefy.security/-security-util/index.md) |
-| [signalUtil](signal-util.md) | [androidJvm]
private var [signalUtil](signal-util.md): [SignalUtil](../../../com.isupatches.android.wisefy.signal/-signal-util/index.md) |
-| [wifiManager](wifi-manager.md) | [androidJvm]
private var [wifiManager](wifi-manager.md): [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html) |
-| [wifiUtil](wifi-util.md) | [androidJvm]
private var [wifiUtil](wifi-util.md): [WifiUtil](../../../com.isupatches.android.wisefy.wifi/-wifi-util/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/logger.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/logger.md
deleted file mode 100644
index 7eb00da5..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/logger.md
+++ /dev/null
@@ -1,8 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy](../../index.md)/[Wisefy](../index.md)/[Brains](index.md)/[logger](logger.md)
-
-# logger
-
-[androidJvm]\
-internal fun [logger](logger.md)(logger: [WisefyLogger](../../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)): [Wisefy.Brains](index.md)
-
-private var [logger](logger.md): [WisefyLogger](../../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)? = null
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/network-connection-status-util.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/network-connection-status-util.md
deleted file mode 100644
index a089967f..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/network-connection-status-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy](../../index.md)/[Wisefy](../index.md)/[Brains](index.md)/[networkConnectionStatusUtil](network-connection-status-util.md)
-
-# networkConnectionStatusUtil
-
-[androidJvm]\
-private var [networkConnectionStatusUtil](network-connection-status-util.md): [NetworkConnectionStatusUtil](../../../com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-util/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/network-connection-util.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/network-connection-util.md
deleted file mode 100644
index ac30d1c6..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/network-connection-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy](../../index.md)/[Wisefy](../index.md)/[Brains](index.md)/[networkConnectionUtil](network-connection-util.md)
-
-# networkConnectionUtil
-
-[androidJvm]\
-private var [networkConnectionUtil](network-connection-util.md): [NetworkConnectionUtil](../../../com.isupatches.android.wisefy.networkconnection/-network-connection-util/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/network-info-util.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/network-info-util.md
deleted file mode 100644
index c42d3288..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/network-info-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy](../../index.md)/[Wisefy](../index.md)/[Brains](index.md)/[networkInfoUtil](network-info-util.md)
-
-# networkInfoUtil
-
-[androidJvm]\
-private var [networkInfoUtil](network-info-util.md): [NetworkInfoUtil](../../../com.isupatches.android.wisefy.networkinfo/-network-info-util/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/remove-network-util.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/remove-network-util.md
deleted file mode 100644
index cd9d91e9..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/remove-network-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy](../../index.md)/[Wisefy](../index.md)/[Brains](index.md)/[removeNetworkUtil](remove-network-util.md)
-
-# removeNetworkUtil
-
-[androidJvm]\
-private var [removeNetworkUtil](remove-network-util.md): [RemoveNetworkUtil](../../../com.isupatches.android.wisefy.removenetwork/-remove-network-util/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/saved-network-util.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/saved-network-util.md
deleted file mode 100644
index edd056a3..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/saved-network-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy](../../index.md)/[Wisefy](../index.md)/[Brains](index.md)/[savedNetworkUtil](saved-network-util.md)
-
-# savedNetworkUtil
-
-[androidJvm]\
-private var [savedNetworkUtil](saved-network-util.md): [SavedNetworkUtil](../../../com.isupatches.android.wisefy.savednetworks/-saved-network-util/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/security-util.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/security-util.md
deleted file mode 100644
index d467ab64..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/security-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy](../../index.md)/[Wisefy](../index.md)/[Brains](index.md)/[securityUtil](security-util.md)
-
-# securityUtil
-
-[androidJvm]\
-private var [securityUtil](security-util.md): [SecurityUtil](../../../com.isupatches.android.wisefy.security/-security-util/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/signal-util.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/signal-util.md
deleted file mode 100644
index 1b4e9fcd..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/signal-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy](../../index.md)/[Wisefy](../index.md)/[Brains](index.md)/[signalUtil](signal-util.md)
-
-# signalUtil
-
-[androidJvm]\
-private var [signalUtil](signal-util.md): [SignalUtil](../../../com.isupatches.android.wisefy.signal/-signal-util/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/wifi-manager.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/wifi-manager.md
deleted file mode 100644
index 80dd3e93..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/wifi-manager.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy](../../index.md)/[Wisefy](../index.md)/[Brains](index.md)/[wifiManager](wifi-manager.md)
-
-# wifiManager
-
-[androidJvm]\
-private var [wifiManager](wifi-manager.md): [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/wifi-util.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/wifi-util.md
deleted file mode 100644
index 08364f46..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/wifi-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../../index.md)/[com.isupatches.android.wisefy](../../index.md)/[Wisefy](../index.md)/[Brains](index.md)/[wifiUtil](wifi-util.md)
-
-# wifiUtil
-
-[androidJvm]\
-private var [wifiUtil](wifi-util.md): [WifiUtil](../../../com.isupatches.android.wisefy.wifi/-wifi-util/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-wisefy.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-wisefy.md
deleted file mode 100644
index a8ace802..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/-wisefy.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[Wisefy](-wisefy.md)
-
-# Wisefy
-
-[androidJvm]\
-private fun [Wisefy](-wisefy.md)(accessPointsUtil: [AccessPointsUtil](../../com.isupatches.android.wisefy.accesspoints/-access-points-util/index.md), addNetworkUtil: [AddNetworkUtil](../../com.isupatches.android.wisefy.addnetwork/-add-network-util/index.md), frequencyUtil: [FrequencyUtil](../../com.isupatches.android.wisefy.frequency/-frequency-util/index.md), networkConnectionUtil: [NetworkConnectionUtil](../../com.isupatches.android.wisefy.networkconnection/-network-connection-util/index.md), networkConnectionStatusUtil: [NetworkConnectionStatusUtil](../../com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-util/index.md), networkInfoUtil: [NetworkInfoUtil](../../com.isupatches.android.wisefy.networkinfo/-network-info-util/index.md), removeNetworkUtil: [RemoveNetworkUtil](../../com.isupatches.android.wisefy.removenetwork/-remove-network-util/index.md), savedNetworkUtil: [SavedNetworkUtil](../../com.isupatches.android.wisefy.savednetworks/-saved-network-util/index.md), securityUtil: [SecurityUtil](../../com.isupatches.android.wisefy.security/-security-util/index.md), signalUtil: [SignalUtil](../../com.isupatches.android.wisefy.signal/-signal-util/index.md), wifiUtil: [WifiUtil](../../com.isupatches.android.wisefy.wifi/-wifi-util/index.md))
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/access-points-util.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/access-points-util.md
deleted file mode 100644
index cb0c97b4..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/access-points-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[accessPointsUtil](access-points-util.md)
-
-# accessPointsUtil
-
-[androidJvm]\
-private val [accessPointsUtil](access-points-util.md): [AccessPointsUtil](../../com.isupatches.android.wisefy.accesspoints/-access-points-util/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/add-network-util.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/add-network-util.md
deleted file mode 100644
index 5911da51..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/add-network-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[addNetworkUtil](add-network-util.md)
-
-# addNetworkUtil
-
-[androidJvm]\
-private val [addNetworkUtil](add-network-util.md): [AddNetworkUtil](../../com.isupatches.android.wisefy.addnetwork/-add-network-util/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/add-open-network.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/add-open-network.md
deleted file mode 100644
index 430e300a..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/add-open-network.md
+++ /dev/null
@@ -1,13 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[addOpenNetwork](add-open-network.md)
-
-# addOpenNetwork
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
-
-open override fun [addOpenNetwork](add-open-network.md)(data: [OpenNetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/index.md)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
-
-open override fun [addOpenNetwork](add-open-network.md)(data: [OpenNetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/index.md), callbacks: [AddNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-add-network-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/add-w-p-a2-network.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/add-w-p-a2-network.md
deleted file mode 100644
index 7102ed9f..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/add-w-p-a2-network.md
+++ /dev/null
@@ -1,13 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[addWPA2Network](add-w-p-a2-network.md)
-
-# addWPA2Network
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
-
-open override fun [addWPA2Network](add-w-p-a2-network.md)(data: [WPA2NetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/index.md)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
-
-open override fun [addWPA2Network](add-w-p-a2-network.md)(data: [WPA2NetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/index.md), callbacks: [AddNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-add-network-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/add-w-p-a3-network.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/add-w-p-a3-network.md
deleted file mode 100644
index fd507c01..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/add-w-p-a3-network.md
+++ /dev/null
@@ -1,17 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[addWPA3Network](add-w-p-a3-network.md)
-
-# addWPA3Network
-
-[androidJvm]\
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
-
-open override fun [addWPA3Network](add-w-p-a3-network.md)(data: [WPA3NetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/index.md)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
-
-open override fun [addWPA3Network](add-w-p-a3-network.md)(data: [WPA3NetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/index.md), callbacks: [AddNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-add-network-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/attach-network-watcher.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/attach-network-watcher.md
deleted file mode 100644
index ca240275..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/attach-network-watcher.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[attachNetworkWatcher](attach-network-watcher.md)
-
-# attachNetworkWatcher
-
-[androidJvm]\
-open override fun [attachNetworkWatcher](attach-network-watcher.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/calculate-bars.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/calculate-bars.md
deleted file mode 100644
index 1355b2b3..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/calculate-bars.md
+++ /dev/null
@@ -1,10 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[calculateBars](calculate-bars.md)
-
-# calculateBars
-
-[androidJvm]\
-open override fun [calculateBars](calculate-bars.md)(rssiLevel: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), targetNumberOfBars: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
-
-open override fun [calculateBars](calculate-bars.md)(rssiLevel: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/compare-signal-level.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/compare-signal-level.md
deleted file mode 100644
index bd918619..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/compare-signal-level.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[compareSignalLevel](compare-signal-level.md)
-
-# compareSignalLevel
-
-[androidJvm]\
-open override fun [compareSignalLevel](compare-signal-level.md)(rssi1: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), rssi2: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/connect-to-network.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/connect-to-network.md
deleted file mode 100644
index dae2560d..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/connect-to-network.md
+++ /dev/null
@@ -1,13 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[connectToNetwork](connect-to-network.md)
-
-# connectToNetwork
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [connectToNetwork](connect-to-network.md)(ssidToConnectTo: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [NetworkConnectionResult](../../com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/index.md)
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [connectToNetwork](connect-to-network.md)(ssidToConnectTo: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), callbacks: [ConnectToNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-connect-to-network-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/detach-network-watcher.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/detach-network-watcher.md
deleted file mode 100644
index 6daf5626..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/detach-network-watcher.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[detachNetworkWatcher](detach-network-watcher.md)
-
-# detachNetworkWatcher
-
-[androidJvm]\
-open override fun [detachNetworkWatcher](detach-network-watcher.md)()
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/disable-wifi.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/disable-wifi.md
deleted file mode 100644
index f7274f91..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/disable-wifi.md
+++ /dev/null
@@ -1,8 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[disableWifi](disable-wifi.md)
-
-# disableWifi
-
-[androidJvm]\
-~~open~~ ~~override~~ ~~fun~~ [~~disableWifi~~](disable-wifi.md)~~(~~~~)~~~~:~~ [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
-
-~~open~~ ~~override~~ ~~fun~~ [~~disableWifi~~](disable-wifi.md)~~(~~~~callbacks~~~~:~~ [DisableWifiCallbacks](../../com.isupatches.android.wisefy.callbacks/-disable-wifi-callbacks/index.md)?~~)~~
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/disconnect-from-current-network.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/disconnect-from-current-network.md
deleted file mode 100644
index 9cad2317..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/disconnect-from-current-network.md
+++ /dev/null
@@ -1,8 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[disconnectFromCurrentNetwork](disconnect-from-current-network.md)
-
-# disconnectFromCurrentNetwork
-
-[androidJvm]\
-open override fun [disconnectFromCurrentNetwork](disconnect-from-current-network.md)(): [NetworkConnectionResult](../../com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/index.md)
-
-open override fun [disconnectFromCurrentNetwork](disconnect-from-current-network.md)(callbacks: [DisconnectFromCurrentNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-disconnect-from-current-network-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/enable-wifi.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/enable-wifi.md
deleted file mode 100644
index abc64f96..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/enable-wifi.md
+++ /dev/null
@@ -1,8 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[enableWifi](enable-wifi.md)
-
-# enableWifi
-
-[androidJvm]\
-~~open~~ ~~override~~ ~~fun~~ [~~enableWifi~~](enable-wifi.md)~~(~~~~)~~~~:~~ [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
-
-~~open~~ ~~override~~ ~~fun~~ [~~enableWifi~~](enable-wifi.md)~~(~~~~callbacks~~~~:~~ [EnableWifiCallbacks](../../com.isupatches.android.wisefy.callbacks/-enable-wifi-callbacks/index.md)?~~)~~
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/frequency-util.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/frequency-util.md
deleted file mode 100644
index bd6cf91e..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/frequency-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[frequencyUtil](frequency-util.md)
-
-# frequencyUtil
-
-[androidJvm]\
-private val [frequencyUtil](frequency-util.md): [FrequencyUtil](../../com.isupatches.android.wisefy.frequency/-frequency-util/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/get-current-network-info.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/get-current-network-info.md
deleted file mode 100644
index 97a11952..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/get-current-network-info.md
+++ /dev/null
@@ -1,13 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[getCurrentNetworkInfo](get-current-network-info.md)
-
-# getCurrentNetworkInfo
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
-
-open override fun [getCurrentNetworkInfo](get-current-network-info.md)(network: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html)?): [CurrentNetworkInfoData](../../com.isupatches.android.wisefy.networkinfo.entities/-current-network-info-data/index.md)?
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
-
-open override fun [getCurrentNetworkInfo](get-current-network-info.md)(callbacks: [GetCurrentNetworkInfoCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-current-network-info-callbacks/index.md)?, network: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/get-current-network.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/get-current-network.md
deleted file mode 100644
index 5daeee39..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/get-current-network.md
+++ /dev/null
@@ -1,8 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[getCurrentNetwork](get-current-network.md)
-
-# getCurrentNetwork
-
-[androidJvm]\
-open override fun [getCurrentNetwork](get-current-network.md)(): [CurrentNetworkData](../../com.isupatches.android.wisefy.networkinfo.entities/-current-network-data/index.md)?
-
-open override fun [getCurrentNetwork](get-current-network.md)(callbacks: [GetCurrentNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-current-network-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/get-frequency.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/get-frequency.md
deleted file mode 100644
index 5ba42a5f..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/get-frequency.md
+++ /dev/null
@@ -1,21 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[getFrequency](get-frequency.md)
-
-# getFrequency
-
-[androidJvm]\
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [getFrequency](get-frequency.md)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)?
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [getFrequency](get-frequency.md)(callbacks: [GetFrequencyCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-frequency-callbacks/index.md)?)
-
-@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
-
-open override fun [getFrequency](get-frequency.md)(network: [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/get-i-p.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/get-i-p.md
deleted file mode 100644
index 88fff62e..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/get-i-p.md
+++ /dev/null
@@ -1,8 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[getIP](get-i-p.md)
-
-# getIP
-
-[androidJvm]\
-open override fun [getIP](get-i-p.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?
-
-open override fun [getIP](get-i-p.md)(callbacks: [GetIPCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-i-p-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/get-nearby-access-points.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/get-nearby-access-points.md
deleted file mode 100644
index 232cbfbb..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/get-nearby-access-points.md
+++ /dev/null
@@ -1,13 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[getNearbyAccessPoints](get-nearby-access-points.md)
-
-# getNearbyAccessPoints
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [getNearbyAccessPoints](get-nearby-access-points.md)(filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)>
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [getNearbyAccessPoints](get-nearby-access-points.md)(filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), callbacks: [GetNearbyAccessPointCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-nearby-access-point-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/get-r-s-s-i.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/get-r-s-s-i.md
deleted file mode 100644
index c42754c9..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/get-r-s-s-i.md
+++ /dev/null
@@ -1,13 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[getRSSI](get-r-s-s-i.md)
-
-# getRSSI
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [getRSSI](get-r-s-s-i.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), takeHighest: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)?
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [getRSSI](get-r-s-s-i.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), takeHighest: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), callbacks: [GetRSSICallbacks](../../com.isupatches.android.wisefy.callbacks/-get-r-s-s-i-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/get-saved-networks.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/get-saved-networks.md
deleted file mode 100644
index 3bd244e9..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/get-saved-networks.md
+++ /dev/null
@@ -1,13 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[getSavedNetworks](get-saved-networks.md)
-
-# getSavedNetworks
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
-
-open override fun [getSavedNetworks](get-saved-networks.md)(): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)>
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
-
-open override fun [getSavedNetworks](get-saved-networks.md)(callbacks: [GetSavedNetworksCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-saved-networks-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/index.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/index.md
deleted file mode 100644
index 43848961..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/index.md
+++ /dev/null
@@ -1,76 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)
-
-# Wisefy
-
-[androidJvm]\
-class [Wisefy](index.md)(**accessPointsUtil**: [AccessPointsUtil](../../com.isupatches.android.wisefy.accesspoints/-access-points-util/index.md), **addNetworkUtil**: [AddNetworkUtil](../../com.isupatches.android.wisefy.addnetwork/-add-network-util/index.md), **frequencyUtil**: [FrequencyUtil](../../com.isupatches.android.wisefy.frequency/-frequency-util/index.md), **networkConnectionUtil**: [NetworkConnectionUtil](../../com.isupatches.android.wisefy.networkconnection/-network-connection-util/index.md), **networkConnectionStatusUtil**: [NetworkConnectionStatusUtil](../../com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-util/index.md), **networkInfoUtil**: [NetworkInfoUtil](../../com.isupatches.android.wisefy.networkinfo/-network-info-util/index.md), **removeNetworkUtil**: [RemoveNetworkUtil](../../com.isupatches.android.wisefy.removenetwork/-remove-network-util/index.md), **savedNetworkUtil**: [SavedNetworkUtil](../../com.isupatches.android.wisefy.savednetworks/-saved-network-util/index.md), **securityUtil**: [SecurityUtil](../../com.isupatches.android.wisefy.security/-security-util/index.md), **signalUtil**: [SignalUtil](../../com.isupatches.android.wisefy.signal/-signal-util/index.md), **wifiUtil**: [WifiUtil](../../com.isupatches.android.wisefy.wifi/-wifi-util/index.md)) : [WisefyApi](../-wisefy-api/index.md)
-
-## Types
-
-| Name | Summary |
-|---|---|
-| [Brains](-brains/index.md) | [androidJvm]
class [Brains](-brains/index.md)@[JvmOverloads](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.jvm/-jvm-overloads/index.html)()constructor(**context**: [Context](https://developer.android.com/reference/kotlin/android/content/Context.html), **logger**: [WisefyLogger](../../com.isupatches.android.wisefy.logging/-wisefy-logger/index.md)?) |
-
-## Functions
-
-| Name | Summary |
-|---|---|
-| [addOpenNetwork](add-open-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
open override fun [addOpenNetwork](add-open-network.md)(data: [OpenNetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/index.md)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
open override fun [addOpenNetwork](add-open-network.md)(data: [OpenNetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/index.md), callbacks: [AddNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-add-network-callbacks/index.md)?) |
-| [addWPA2Network](add-w-p-a2-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
open override fun [addWPA2Network](add-w-p-a2-network.md)(data: [WPA2NetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/index.md)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
open override fun [addWPA2Network](add-w-p-a2-network.md)(data: [WPA2NetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/index.md), callbacks: [AddNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-add-network-callbacks/index.md)?) |
-| [addWPA3Network](add-w-p-a3-network.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
open override fun [addWPA3Network](add-w-p-a3-network.md)(data: [WPA3NetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/index.md)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
open override fun [addWPA3Network](add-w-p-a3-network.md)(data: [WPA3NetworkData](../../com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/index.md), callbacks: [AddNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-add-network-callbacks/index.md)?) |
-| [attachNetworkWatcher](attach-network-watcher.md) | [androidJvm]
open override fun [attachNetworkWatcher](attach-network-watcher.md)() |
-| [calculateBars](calculate-bars.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
open override fun [calculateBars](calculate-bars.md)(rssiLevel: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
open override fun [calculateBars](calculate-bars.md)(rssiLevel: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), targetNumberOfBars: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [compareSignalLevel](compare-signal-level.md) | [androidJvm]
open override fun [compareSignalLevel](compare-signal-level.md)(rssi1: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), rssi2: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [connectToNetwork](connect-to-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [connectToNetwork](connect-to-network.md)(ssidToConnectTo: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [NetworkConnectionResult](../../com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/index.md)
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [connectToNetwork](connect-to-network.md)(ssidToConnectTo: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), callbacks: [ConnectToNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-connect-to-network-callbacks/index.md)?) |
-| [detachNetworkWatcher](detach-network-watcher.md) | [androidJvm]
open override fun [detachNetworkWatcher](detach-network-watcher.md)() |
-| [disableWifi](disable-wifi.md) | [androidJvm]
~~open~~ ~~override~~ ~~fun~~ [~~disableWifi~~](disable-wifi.md)~~(~~~~)~~~~:~~ [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
~~open~~ ~~override~~ ~~fun~~ [~~disableWifi~~](disable-wifi.md)~~(~~~~callbacks~~~~:~~ [DisableWifiCallbacks](../../com.isupatches.android.wisefy.callbacks/-disable-wifi-callbacks/index.md)?~~)~~ |
-| [disconnectFromCurrentNetwork](disconnect-from-current-network.md) | [androidJvm]
open override fun [disconnectFromCurrentNetwork](disconnect-from-current-network.md)(): [NetworkConnectionResult](../../com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/index.md)
open override fun [disconnectFromCurrentNetwork](disconnect-from-current-network.md)(callbacks: [DisconnectFromCurrentNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-disconnect-from-current-network-callbacks/index.md)?) |
-| [enableWifi](enable-wifi.md) | [androidJvm]
~~open~~ ~~override~~ ~~fun~~ [~~enableWifi~~](enable-wifi.md)~~(~~~~)~~~~:~~ [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
~~open~~ ~~override~~ ~~fun~~ [~~enableWifi~~](enable-wifi.md)~~(~~~~callbacks~~~~:~~ [EnableWifiCallbacks](../../com.isupatches.android.wisefy.callbacks/-enable-wifi-callbacks/index.md)?~~)~~ |
-| [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596) | [androidJvm]
open operator fun [equals](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#585090901%2FFunctions%2F1622544596)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [getCurrentNetwork](get-current-network.md) | [androidJvm]
open override fun [getCurrentNetwork](get-current-network.md)(): [CurrentNetworkData](../../com.isupatches.android.wisefy.networkinfo.entities/-current-network-data/index.md)?
open override fun [getCurrentNetwork](get-current-network.md)(callbacks: [GetCurrentNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-current-network-callbacks/index.md)?) |
-| [getCurrentNetworkInfo](get-current-network-info.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
open override fun [getCurrentNetworkInfo](get-current-network-info.md)(network: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html)?): [CurrentNetworkInfoData](../../com.isupatches.android.wisefy.networkinfo.entities/-current-network-info-data/index.md)?
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_NETWORK_STATE)
open override fun [getCurrentNetworkInfo](get-current-network-info.md)(callbacks: [GetCurrentNetworkInfoCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-current-network-info-callbacks/index.md)?, network: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html)?) |
-| [getFrequency](get-frequency.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [getFrequency](get-frequency.md)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)?
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
open override fun [getFrequency](get-frequency.md)(network: [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 21)
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [getFrequency](get-frequency.md)(callbacks: [GetFrequencyCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-frequency-callbacks/index.md)?) |
-| [getIP](get-i-p.md) | [androidJvm]
open override fun [getIP](get-i-p.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?
open override fun [getIP](get-i-p.md)(callbacks: [GetIPCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-i-p-callbacks/index.md)?) |
-| [getNearbyAccessPoints](get-nearby-access-points.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [getNearbyAccessPoints](get-nearby-access-points.md)(filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)>
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [getNearbyAccessPoints](get-nearby-access-points.md)(filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), callbacks: [GetNearbyAccessPointCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-nearby-access-point-callbacks/index.md)?) |
-| [getRSSI](get-r-s-s-i.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [getRSSI](get-r-s-s-i.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), takeHighest: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)?
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [getRSSI](get-r-s-s-i.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), takeHighest: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), callbacks: [GetRSSICallbacks](../../com.isupatches.android.wisefy.callbacks/-get-r-s-s-i-callbacks/index.md)?) |
-| [getSavedNetworks](get-saved-networks.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
open override fun [getSavedNetworks](get-saved-networks.md)(): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)>
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
open override fun [getSavedNetworks](get-saved-networks.md)(callbacks: [GetSavedNetworksCallbacks](../../com.isupatches.android.wisefy.callbacks/-get-saved-networks-callbacks/index.md)?) |
-| [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596) | [androidJvm]
open fun [hashCode](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1794629105%2FFunctions%2F1622544596)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
-| [isDeviceConnectedToMobileNetwork](is-device-connected-to-mobile-network.md) | [androidJvm]
open override fun [isDeviceConnectedToMobileNetwork](is-device-connected-to-mobile-network.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isDeviceConnectedToMobileOrWifiNetwork](is-device-connected-to-mobile-or-wifi-network.md) | [androidJvm]
open override fun [isDeviceConnectedToMobileOrWifiNetwork](is-device-connected-to-mobile-or-wifi-network.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isDeviceConnectedToSSID](is-device-connected-to-s-s-i-d.md) | [androidJvm]
open override fun [isDeviceConnectedToSSID](is-device-connected-to-s-s-i-d.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isDeviceConnectedToWifiNetwork](is-device-connected-to-wifi-network.md) | [androidJvm]
open override fun [isDeviceConnectedToWifiNetwork](is-device-connected-to-wifi-network.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isDeviceRoaming](is-device-roaming.md) | [androidJvm]
open override fun [isDeviceRoaming](is-device-roaming.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetwork5gHz](is-network5g-hz.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [isNetwork5gHz](is-network5g-hz.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
open override fun [isNetwork5gHz](is-network5g-hz.md)(network: [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkEAP](is-network-e-a-p.md) | [androidJvm]
open override fun [isNetworkEAP](is-network-e-a-p.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkPSK](is-network-p-s-k.md) | [androidJvm]
open override fun [isNetworkPSK](is-network-p-s-k.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkSaved](is-network-saved.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
open override fun [isNetworkSaved](is-network-saved.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkSecure](is-network-secure.md) | [androidJvm]
open override fun [isNetworkSecure](is-network-secure.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkWEP](is-network-w-e-p.md) | [androidJvm]
open override fun [isNetworkWEP](is-network-w-e-p.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkWPA](is-network-w-p-a.md) | [androidJvm]
open override fun [isNetworkWPA](is-network-w-p-a.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkWPA2](is-network-w-p-a2.md) | [androidJvm]
open override fun [isNetworkWPA2](is-network-w-p-a2.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isNetworkWPA3](is-network-w-p-a3.md) | [androidJvm]
open override fun [isNetworkWPA3](is-network-w-p-a3.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [isWifiEnabled](is-wifi-enabled.md) | [androidJvm]
open override fun [isWifiEnabled](is-wifi-enabled.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) |
-| [removeNetwork](remove-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
open override fun [removeNetwork](remove-network.md)(ssidToRemove: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [RemoveNetworkResult](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/index.md)
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
open override fun [removeNetwork](remove-network.md)(ssidToRemove: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), callbacks: [RemoveNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-remove-network-callbacks/index.md)?) |
-| [searchForAccessPoint](search-for-access-point.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [searchForAccessPoint](search-for-access-point.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)?
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [searchForAccessPoint](search-for-access-point.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), callbacks: [SearchForAccessPointCallbacks](../../com.isupatches.android.wisefy.callbacks/-search-for-access-point-callbacks/index.md)?) |
-| [searchForAccessPoints](search-for-access-points.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [searchForAccessPoints](search-for-access-points.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)>
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [searchForAccessPoints](search-for-access-points.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), callbacks: [SearchForAccessPointsCallbacks](../../com.isupatches.android.wisefy.callbacks/-search-for-access-points-callbacks/index.md)?) |
-| [searchForSavedNetwork](search-for-saved-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
open override fun [searchForSavedNetwork](search-for-saved-network.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)?
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
open override fun [searchForSavedNetwork](search-for-saved-network.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), callbacks: [SearchForSavedNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-search-for-saved-network-callbacks/index.md)?) |
-| [searchForSavedNetworks](search-for-saved-networks.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
open override fun [searchForSavedNetworks](search-for-saved-networks.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)>
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
open override fun [searchForSavedNetworks](search-for-saved-networks.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), callbacks: [SearchForSavedNetworksCallbacks](../../com.isupatches.android.wisefy.callbacks/-search-for-saved-networks-callbacks/index.md)?) |
-| [searchForSSID](search-for-s-s-i-d.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [searchForSSID](search-for-s-s-i-d.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [searchForSSID](search-for-s-s-i-d.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), callbacks: [SearchForSSIDCallbacks](../../com.isupatches.android.wisefy.callbacks/-search-for-s-s-i-d-callbacks/index.md)?) |
-| [searchForSSIDs](search-for-s-s-i-ds.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [searchForSSIDs](search-for-s-s-i-ds.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)>
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
open override fun [searchForSSIDs](search-for-s-s-i-ds.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), callbacks: [SearchForSSIDsCallbacks](../../com.isupatches.android.wisefy.callbacks/-search-for-s-s-i-ds-callbacks/index.md)?) |
-| [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596) | [androidJvm]
open fun [toString](../../com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md#1616463040%2FFunctions%2F1622544596)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
-
-## Properties
-
-| Name | Summary |
-|---|---|
-| [accessPointsUtil](access-points-util.md) | [androidJvm]
private val [accessPointsUtil](access-points-util.md): [AccessPointsUtil](../../com.isupatches.android.wisefy.accesspoints/-access-points-util/index.md) |
-| [addNetworkUtil](add-network-util.md) | [androidJvm]
private val [addNetworkUtil](add-network-util.md): [AddNetworkUtil](../../com.isupatches.android.wisefy.addnetwork/-add-network-util/index.md) |
-| [frequencyUtil](frequency-util.md) | [androidJvm]
private val [frequencyUtil](frequency-util.md): [FrequencyUtil](../../com.isupatches.android.wisefy.frequency/-frequency-util/index.md) |
-| [networkConnectionStatusUtil](network-connection-status-util.md) | [androidJvm]
private val [networkConnectionStatusUtil](network-connection-status-util.md): [NetworkConnectionStatusUtil](../../com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-util/index.md) |
-| [networkConnectionUtil](network-connection-util.md) | [androidJvm]
private val [networkConnectionUtil](network-connection-util.md): [NetworkConnectionUtil](../../com.isupatches.android.wisefy.networkconnection/-network-connection-util/index.md) |
-| [networkInfoUtil](network-info-util.md) | [androidJvm]
private val [networkInfoUtil](network-info-util.md): [NetworkInfoUtil](../../com.isupatches.android.wisefy.networkinfo/-network-info-util/index.md) |
-| [removeNetworkUtil](remove-network-util.md) | [androidJvm]
private val [removeNetworkUtil](remove-network-util.md): [RemoveNetworkUtil](../../com.isupatches.android.wisefy.removenetwork/-remove-network-util/index.md) |
-| [savedNetworkUtil](saved-network-util.md) | [androidJvm]
private val [savedNetworkUtil](saved-network-util.md): [SavedNetworkUtil](../../com.isupatches.android.wisefy.savednetworks/-saved-network-util/index.md) |
-| [securityUtil](security-util.md) | [androidJvm]
private val [securityUtil](security-util.md): [SecurityUtil](../../com.isupatches.android.wisefy.security/-security-util/index.md) |
-| [signalUtil](signal-util.md) | [androidJvm]
private val [signalUtil](signal-util.md): [SignalUtil](../../com.isupatches.android.wisefy.signal/-signal-util/index.md) |
-| [wifiUtil](wifi-util.md) | [androidJvm]
private val [wifiUtil](wifi-util.md): [WifiUtil](../../com.isupatches.android.wisefy.wifi/-wifi-util/index.md) |
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/is-device-connected-to-mobile-network.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/is-device-connected-to-mobile-network.md
deleted file mode 100644
index 73cb4af1..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/is-device-connected-to-mobile-network.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[isDeviceConnectedToMobileNetwork](is-device-connected-to-mobile-network.md)
-
-# isDeviceConnectedToMobileNetwork
-
-[androidJvm]\
-open override fun [isDeviceConnectedToMobileNetwork](is-device-connected-to-mobile-network.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/is-device-connected-to-mobile-or-wifi-network.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/is-device-connected-to-mobile-or-wifi-network.md
deleted file mode 100644
index f6fa370e..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/is-device-connected-to-mobile-or-wifi-network.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[isDeviceConnectedToMobileOrWifiNetwork](is-device-connected-to-mobile-or-wifi-network.md)
-
-# isDeviceConnectedToMobileOrWifiNetwork
-
-[androidJvm]\
-open override fun [isDeviceConnectedToMobileOrWifiNetwork](is-device-connected-to-mobile-or-wifi-network.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/is-device-connected-to-s-s-i-d.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/is-device-connected-to-s-s-i-d.md
deleted file mode 100644
index da744129..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/is-device-connected-to-s-s-i-d.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[isDeviceConnectedToSSID](is-device-connected-to-s-s-i-d.md)
-
-# isDeviceConnectedToSSID
-
-[androidJvm]\
-open override fun [isDeviceConnectedToSSID](is-device-connected-to-s-s-i-d.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/is-device-connected-to-wifi-network.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/is-device-connected-to-wifi-network.md
deleted file mode 100644
index b36d29a9..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/is-device-connected-to-wifi-network.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[isDeviceConnectedToWifiNetwork](is-device-connected-to-wifi-network.md)
-
-# isDeviceConnectedToWifiNetwork
-
-[androidJvm]\
-open override fun [isDeviceConnectedToWifiNetwork](is-device-connected-to-wifi-network.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/is-device-roaming.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/is-device-roaming.md
deleted file mode 100644
index f7084cde..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/is-device-roaming.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[isDeviceRoaming](is-device-roaming.md)
-
-# isDeviceRoaming
-
-[androidJvm]\
-open override fun [isDeviceRoaming](is-device-roaming.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/is-network-e-a-p.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/is-network-e-a-p.md
deleted file mode 100644
index 0c179e05..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/is-network-e-a-p.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[isNetworkEAP](is-network-e-a-p.md)
-
-# isNetworkEAP
-
-[androidJvm]\
-open override fun [isNetworkEAP](is-network-e-a-p.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/is-network-p-s-k.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/is-network-p-s-k.md
deleted file mode 100644
index d1dd8e8b..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/is-network-p-s-k.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[isNetworkPSK](is-network-p-s-k.md)
-
-# isNetworkPSK
-
-[androidJvm]\
-open override fun [isNetworkPSK](is-network-p-s-k.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/is-network-saved.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/is-network-saved.md
deleted file mode 100644
index 11722f2a..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/is-network-saved.md
+++ /dev/null
@@ -1,9 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[isNetworkSaved](is-network-saved.md)
-
-# isNetworkSaved
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
-
-open override fun [isNetworkSaved](is-network-saved.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/is-network-secure.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/is-network-secure.md
deleted file mode 100644
index 48bbc506..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/is-network-secure.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[isNetworkSecure](is-network-secure.md)
-
-# isNetworkSecure
-
-[androidJvm]\
-open override fun [isNetworkSecure](is-network-secure.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/is-network-w-e-p.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/is-network-w-e-p.md
deleted file mode 100644
index 9aba2117..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/is-network-w-e-p.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[isNetworkWEP](is-network-w-e-p.md)
-
-# isNetworkWEP
-
-[androidJvm]\
-open override fun [isNetworkWEP](is-network-w-e-p.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/is-network-w-p-a.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/is-network-w-p-a.md
deleted file mode 100644
index 72ca4078..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/is-network-w-p-a.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[isNetworkWPA](is-network-w-p-a.md)
-
-# isNetworkWPA
-
-[androidJvm]\
-open override fun [isNetworkWPA](is-network-w-p-a.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/is-network-w-p-a2.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/is-network-w-p-a2.md
deleted file mode 100644
index 5e033fd1..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/is-network-w-p-a2.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[isNetworkWPA2](is-network-w-p-a2.md)
-
-# isNetworkWPA2
-
-[androidJvm]\
-open override fun [isNetworkWPA2](is-network-w-p-a2.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/is-network-w-p-a3.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/is-network-w-p-a3.md
deleted file mode 100644
index 0f330368..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/is-network-w-p-a3.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[isNetworkWPA3](is-network-w-p-a3.md)
-
-# isNetworkWPA3
-
-[androidJvm]\
-open override fun [isNetworkWPA3](is-network-w-p-a3.md)(scanResult: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/is-network5g-hz.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/is-network5g-hz.md
deleted file mode 100644
index 4a8a2168..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/is-network5g-hz.md
+++ /dev/null
@@ -1,11 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[isNetwork5gHz](is-network5g-hz.md)
-
-# isNetwork5gHz
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [isNetwork5gHz](is-network5g-hz.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
-
-open override fun [isNetwork5gHz](is-network5g-hz.md)(network: [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/is-wifi-enabled.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/is-wifi-enabled.md
deleted file mode 100644
index 3a317112..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/is-wifi-enabled.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[isWifiEnabled](is-wifi-enabled.md)
-
-# isWifiEnabled
-
-[androidJvm]\
-open override fun [isWifiEnabled](is-wifi-enabled.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/network-connection-status-util.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/network-connection-status-util.md
deleted file mode 100644
index 11c1de86..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/network-connection-status-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[networkConnectionStatusUtil](network-connection-status-util.md)
-
-# networkConnectionStatusUtil
-
-[androidJvm]\
-private val [networkConnectionStatusUtil](network-connection-status-util.md): [NetworkConnectionStatusUtil](../../com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-util/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/network-connection-util.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/network-connection-util.md
deleted file mode 100644
index 943909b8..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/network-connection-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[networkConnectionUtil](network-connection-util.md)
-
-# networkConnectionUtil
-
-[androidJvm]\
-private val [networkConnectionUtil](network-connection-util.md): [NetworkConnectionUtil](../../com.isupatches.android.wisefy.networkconnection/-network-connection-util/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/network-info-util.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/network-info-util.md
deleted file mode 100644
index 8bc6a802..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/network-info-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[networkInfoUtil](network-info-util.md)
-
-# networkInfoUtil
-
-[androidJvm]\
-private val [networkInfoUtil](network-info-util.md): [NetworkInfoUtil](../../com.isupatches.android.wisefy.networkinfo/-network-info-util/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/remove-network-util.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/remove-network-util.md
deleted file mode 100644
index f0055022..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/remove-network-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[removeNetworkUtil](remove-network-util.md)
-
-# removeNetworkUtil
-
-[androidJvm]\
-private val [removeNetworkUtil](remove-network-util.md): [RemoveNetworkUtil](../../com.isupatches.android.wisefy.removenetwork/-remove-network-util/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/remove-network.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/remove-network.md
deleted file mode 100644
index 91bdf775..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/remove-network.md
+++ /dev/null
@@ -1,13 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[removeNetwork](remove-network.md)
-
-# removeNetwork
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
-
-open override fun [removeNetwork](remove-network.md)(ssidToRemove: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [RemoveNetworkResult](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/index.md)
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.CHANGE_WIFI_STATE])
-
-open override fun [removeNetwork](remove-network.md)(ssidToRemove: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), callbacks: [RemoveNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-remove-network-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/saved-network-util.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/saved-network-util.md
deleted file mode 100644
index f5ffda7f..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/saved-network-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[savedNetworkUtil](saved-network-util.md)
-
-# savedNetworkUtil
-
-[androidJvm]\
-private val [savedNetworkUtil](saved-network-util.md): [SavedNetworkUtil](../../com.isupatches.android.wisefy.savednetworks/-saved-network-util/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/search-for-access-point.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/search-for-access-point.md
deleted file mode 100644
index edf7b271..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/search-for-access-point.md
+++ /dev/null
@@ -1,13 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[searchForAccessPoint](search-for-access-point.md)
-
-# searchForAccessPoint
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [searchForAccessPoint](search-for-access-point.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)?
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [searchForAccessPoint](search-for-access-point.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), callbacks: [SearchForAccessPointCallbacks](../../com.isupatches.android.wisefy.callbacks/-search-for-access-point-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/search-for-access-points.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/search-for-access-points.md
deleted file mode 100644
index 0af2cb6b..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/search-for-access-points.md
+++ /dev/null
@@ -1,13 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[searchForAccessPoints](search-for-access-points.md)
-
-# searchForAccessPoints
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [searchForAccessPoints](search-for-access-points.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)>
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [searchForAccessPoints](search-for-access-points.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), callbacks: [SearchForAccessPointsCallbacks](../../com.isupatches.android.wisefy.callbacks/-search-for-access-points-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/search-for-s-s-i-d.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/search-for-s-s-i-d.md
deleted file mode 100644
index c82a5795..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/search-for-s-s-i-d.md
+++ /dev/null
@@ -1,13 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[searchForSSID](search-for-s-s-i-d.md)
-
-# searchForSSID
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [searchForSSID](search-for-s-s-i-d.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [searchForSSID](search-for-s-s-i-d.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), callbacks: [SearchForSSIDCallbacks](../../com.isupatches.android.wisefy.callbacks/-search-for-s-s-i-d-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/search-for-s-s-i-ds.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/search-for-s-s-i-ds.md
deleted file mode 100644
index 819d3b4c..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/search-for-s-s-i-ds.md
+++ /dev/null
@@ -1,13 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[searchForSSIDs](search-for-s-s-i-ds.md)
-
-# searchForSSIDs
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [searchForSSIDs](search-for-s-s-i-ds.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)>
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = android.permission.ACCESS_FINE_LOCATION)
-
-open override fun [searchForSSIDs](search-for-s-s-i-ds.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), callbacks: [SearchForSSIDsCallbacks](../../com.isupatches.android.wisefy.callbacks/-search-for-s-s-i-ds-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/search-for-saved-network.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/search-for-saved-network.md
deleted file mode 100644
index bb56563b..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/search-for-saved-network.md
+++ /dev/null
@@ -1,13 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[searchForSavedNetwork](search-for-saved-network.md)
-
-# searchForSavedNetwork
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
-
-open override fun [searchForSavedNetwork](search-for-saved-network.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)?
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
-
-open override fun [searchForSavedNetwork](search-for-saved-network.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), callbacks: [SearchForSavedNetworkCallbacks](../../com.isupatches.android.wisefy.callbacks/-search-for-saved-network-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/search-for-saved-networks.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/search-for-saved-networks.md
deleted file mode 100644
index 092eee13..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/search-for-saved-networks.md
+++ /dev/null
@@ -1,13 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[searchForSavedNetworks](search-for-saved-networks.md)
-
-# searchForSavedNetworks
-
-[androidJvm]\
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
-
-open override fun [searchForSavedNetworks](search-for-saved-networks.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)>
-
-@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = [android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_WIFI_STATE])
-
-open override fun [searchForSavedNetworks](search-for-saved-networks.md)(regexForSSID: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), callbacks: [SearchForSavedNetworksCallbacks](../../com.isupatches.android.wisefy.callbacks/-search-for-saved-networks-callbacks/index.md)?)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/security-util.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/security-util.md
deleted file mode 100644
index e9180a1a..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/security-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[securityUtil](security-util.md)
-
-# securityUtil
-
-[androidJvm]\
-private val [securityUtil](security-util.md): [SecurityUtil](../../com.isupatches.android.wisefy.security/-security-util/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/signal-util.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/signal-util.md
deleted file mode 100644
index 63e71f7b..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/signal-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[signalUtil](signal-util.md)
-
-# signalUtil
-
-[androidJvm]\
-private val [signalUtil](signal-util.md): [SignalUtil](../../com.isupatches.android.wisefy.signal/-signal-util/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/wifi-util.md b/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/wifi-util.md
deleted file mode 100644
index 09a05c3d..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/-wisefy/wifi-util.md
+++ /dev/null
@@ -1,6 +0,0 @@
-//[wisefy](../../../index.md)/[com.isupatches.android.wisefy](../index.md)/[Wisefy](index.md)/[wifiUtil](wifi-util.md)
-
-# wifiUtil
-
-[androidJvm]\
-private val [wifiUtil](wifi-util.md): [WifiUtil](../../com.isupatches.android.wisefy.wifi/-wifi-util/index.md)
diff --git a/documentation/wisefy/com.isupatches.android.wisefy/index.md b/documentation/wisefy/com.isupatches.android.wisefy/index.md
deleted file mode 100644
index cea83cad..00000000
--- a/documentation/wisefy/com.isupatches.android.wisefy/index.md
+++ /dev/null
@@ -1,10 +0,0 @@
-//[wisefy](../../index.md)/[com.isupatches.android.wisefy](index.md)
-
-# Package com.isupatches.android.wisefy
-
-## Types
-
-| Name | Summary |
-|---|---|
-| [Wisefy](-wisefy/index.md) | [androidJvm]
class [Wisefy](-wisefy/index.md)(**accessPointsUtil**: [AccessPointsUtil](../com.isupatches.android.wisefy.accesspoints/-access-points-util/index.md), **addNetworkUtil**: [AddNetworkUtil](../com.isupatches.android.wisefy.addnetwork/-add-network-util/index.md), **frequencyUtil**: [FrequencyUtil](../com.isupatches.android.wisefy.frequency/-frequency-util/index.md), **networkConnectionUtil**: [NetworkConnectionUtil](../com.isupatches.android.wisefy.networkconnection/-network-connection-util/index.md), **networkConnectionStatusUtil**: [NetworkConnectionStatusUtil](../com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-util/index.md), **networkInfoUtil**: [NetworkInfoUtil](../com.isupatches.android.wisefy.networkinfo/-network-info-util/index.md), **removeNetworkUtil**: [RemoveNetworkUtil](../com.isupatches.android.wisefy.removenetwork/-remove-network-util/index.md), **savedNetworkUtil**: [SavedNetworkUtil](../com.isupatches.android.wisefy.savednetworks/-saved-network-util/index.md), **securityUtil**: [SecurityUtil](../com.isupatches.android.wisefy.security/-security-util/index.md), **signalUtil**: [SignalUtil](../com.isupatches.android.wisefy.signal/-signal-util/index.md), **wifiUtil**: [WifiUtil](../com.isupatches.android.wisefy.wifi/-wifi-util/index.md)) : [WisefyApi](-wisefy-api/index.md) |
-| [WisefyApi](-wisefy-api/index.md) | [androidJvm]
interface [WisefyApi](-wisefy-api/index.md) : [AccessPointsApi](../com.isupatches.android.wisefy.accesspoints/-access-points-api/index.md), [AccessPointsApiAsync](../com.isupatches.android.wisefy.accesspoints/-access-points-api-async/index.md), [AddNetworkApi](../com.isupatches.android.wisefy.addnetwork/-add-network-api/index.md), [AddNetworkApiAsync](../com.isupatches.android.wisefy.addnetwork/-add-network-api-async/index.md), [FrequencyApi](../com.isupatches.android.wisefy.frequency/-frequency-api/index.md), [FrequencyApiAsync](../com.isupatches.android.wisefy.frequency/-frequency-api-async/index.md), [NetworkConnectionApi](../com.isupatches.android.wisefy.networkconnection/-network-connection-api/index.md), [NetworkConnectionApiAsync](../com.isupatches.android.wisefy.networkconnection/-network-connection-api-async/index.md), [NetworkConnectionStatusApi](../com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/index.md), [NetworkInfoApi](../com.isupatches.android.wisefy.networkinfo/-network-info-api/index.md), [NetworkInfoApiAsync](../com.isupatches.android.wisefy.networkinfo/-network-info-api-async/index.md), [RemoveNetworkApi](../com.isupatches.android.wisefy.removenetwork/-remove-network-api/index.md), [RemoveNetworkApiAsync](../com.isupatches.android.wisefy.removenetwork/-remove-network-api-async/index.md), [SavedNetworkApi](../com.isupatches.android.wisefy.savednetworks/-saved-network-api/index.md), [SavedNetworkApiAsync](../com.isupatches.android.wisefy.savednetworks/-saved-network-api-async/index.md), [SecurityApi](../com.isupatches.android.wisefy.security/-security-api/index.md), [SignalApi](../com.isupatches.android.wisefy.signal/-signal-api/index.md), [WifiApi](../com.isupatches.android.wisefy.wifi/-wifi-api/index.md), [WifiApiAsync](../com.isupatches.android.wisefy.wifi/-wifi-api-async/index.md)
The culmination of APIs that create WiseFy's public interface. |
diff --git a/documentation/wisefy/package-list b/documentation/wisefy/package-list
deleted file mode 100644
index 9a0b8f5d..00000000
--- a/documentation/wisefy/package-list
+++ /dev/null
@@ -1,1027 +0,0 @@
-$dokka.format:gfm-v1
-$dokka.linkExtension:md
-$dokka.location:com.isupatches.android.wisefy.accesspoints.delegates////PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/index.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints.delegates//LOG_TAG/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-l-o-g_-t-a-g.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints.delegates/LegacyAccessPointsApi///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api/index.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints.delegates/LegacyAccessPointsApi/getNearbyAccessPoints/#kotlin.Boolean/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api/get-nearby-access-points.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints.delegates/LegacyAccessPointsApi/getRSSI/#kotlin.String#kotlin.Boolean#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api/get-r-s-s-i.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints.delegates/LegacyAccessPointsApi/searchForAccessPoint/#kotlin.String#kotlin.Int#kotlin.Boolean/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api/search-for-access-point.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints.delegates/LegacyAccessPointsApi/searchForAccessPoints/#kotlin.String#kotlin.Boolean/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api/search-for-access-points.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints.delegates/LegacyAccessPointsApi/searchForSSID/#kotlin.String#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api/search-for-s-s-i-d.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints.delegates/LegacyAccessPointsApi/searchForSSIDs/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api/search-for-s-s-i-ds.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints.delegates/LegacyAccessPointsApiImpl///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/index.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints.delegates/LegacyAccessPointsApiImpl/LegacyAccessPointsApiImpl/#android.net.wifi.WifiManager#com.isupatches.android.wisefy.logging.WisefyLogger?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/-legacy-access-points-api-impl.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints.delegates/LegacyAccessPointsApiImpl/accessPointMatchesRegex/#android.net.wifi.ScanResult?#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/access-point-matches-regex.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints.delegates/LegacyAccessPointsApiImpl/getNearbyAccessPoints/#kotlin.Boolean/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/get-nearby-access-points.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints.delegates/LegacyAccessPointsApiImpl/getRSSI/#kotlin.String#kotlin.Boolean#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/get-r-s-s-i.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints.delegates/LegacyAccessPointsApiImpl/hasHighestSignalStrength/#kotlin.collections.List[android.net.wifi.ScanResult]#android.net.wifi.ScanResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/has-highest-signal-strength.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints.delegates/LegacyAccessPointsApiImpl/logger/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/logger.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints.delegates/LegacyAccessPointsApiImpl/removeEntriesWithLowerSignalStrength/#kotlin.collections.List[android.net.wifi.ScanResult]/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/remove-entries-with-lower-signal-strength.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints.delegates/LegacyAccessPointsApiImpl/scanResultsProvider/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/scan-results-provider.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints.delegates/LegacyAccessPointsApiImpl/searchForAccessPoint/#kotlin.String#kotlin.Int#kotlin.Boolean/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/search-for-access-point.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints.delegates/LegacyAccessPointsApiImpl/searchForAccessPoints/#kotlin.String#kotlin.Boolean/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/search-for-access-points.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints.delegates/LegacyAccessPointsApiImpl/searchForSSID/#kotlin.String#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/search-for-s-s-i-d.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints.delegates/LegacyAccessPointsApiImpl/searchForSSIDs/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/search-for-s-s-i-ds.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints.delegates/LegacyAccessPointsApiImpl/wifiManager/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-api-impl/wifi-manager.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints.delegates/LegacyAccessPointsDelegate///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-delegate/index.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints.delegates/LegacyAccessPointsDelegate/LegacyAccessPointsDelegate/#android.net.wifi.WifiManager#com.isupatches.android.wisefy.logging.WisefyLogger?#com.isupatches.android.wisefy.accesspoints.delegates.LegacyAccessPointsApi/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-delegate/-legacy-access-points-delegate.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints.delegates/LegacyAccessPointsDelegate/getNearbyAccessPoints/#kotlin.Boolean/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-delegate/get-nearby-access-points.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints.delegates/LegacyAccessPointsDelegate/getRSSI/#kotlin.String#kotlin.Boolean#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-delegate/get-r-s-s-i.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints.delegates/LegacyAccessPointsDelegate/impl/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-delegate/impl.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints.delegates/LegacyAccessPointsDelegate/searchForAccessPoint/#kotlin.String#kotlin.Int#kotlin.Boolean/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-delegate/search-for-access-point.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints.delegates/LegacyAccessPointsDelegate/searchForAccessPoints/#kotlin.String#kotlin.Boolean/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-delegate/search-for-access-points.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints.delegates/LegacyAccessPointsDelegate/searchForSSID/#kotlin.String#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-delegate/search-for-s-s-i-d.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints.delegates/LegacyAccessPointsDelegate/searchForSSIDs/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints.delegates/-legacy-access-points-delegate/search-for-s-s-i-ds.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints.entities////PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints.entities/index.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints.entities/AccessPointData.ScanData///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/-scan-data/index.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints.entities/AccessPointData.ScanData/ScanData/#android.net.wifi.ScanResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/-scan-data/-scan-data.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints.entities/AccessPointData.ScanData/component1/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/-scan-data/component1.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints.entities/AccessPointData.ScanData/copy/#android.net.wifi.ScanResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/-scan-data/copy.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints.entities/AccessPointData.ScanData/data/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/-scan-data/data.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints.entities/AccessPointData///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints.entities/AccessPointData/AccessPointData/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/-access-point-data.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints////PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints/index.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints//LOG_TAG/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints/-l-o-g_-t-a-g.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints/AccessPointsApi///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api/index.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints/AccessPointsApi/getNearbyAccessPoints/#kotlin.Boolean/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api/get-nearby-access-points.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints/AccessPointsApi/getRSSI/#kotlin.String#kotlin.Boolean#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api/get-r-s-s-i.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints/AccessPointsApi/searchForAccessPoint/#kotlin.String#kotlin.Int#kotlin.Boolean/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api/search-for-access-point.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints/AccessPointsApi/searchForAccessPoints/#kotlin.String#kotlin.Boolean/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api/search-for-access-points.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints/AccessPointsApi/searchForSSID/#kotlin.String#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api/search-for-s-s-i-d.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints/AccessPointsApi/searchForSSIDs/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api/search-for-s-s-i-ds.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints/AccessPointsApiAsync///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api-async/index.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints/AccessPointsApiAsync/getNearbyAccessPoints/#kotlin.Boolean#com.isupatches.android.wisefy.callbacks.GetNearbyAccessPointCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api-async/get-nearby-access-points.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints/AccessPointsApiAsync/getRSSI/#kotlin.String#kotlin.Boolean#kotlin.Int#com.isupatches.android.wisefy.callbacks.GetRSSICallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api-async/get-r-s-s-i.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints/AccessPointsApiAsync/searchForAccessPoint/#kotlin.String#kotlin.Int#kotlin.Boolean#com.isupatches.android.wisefy.callbacks.SearchForAccessPointCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api-async/search-for-access-point.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints/AccessPointsApiAsync/searchForAccessPoints/#kotlin.String#kotlin.Boolean#com.isupatches.android.wisefy.callbacks.SearchForAccessPointsCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api-async/search-for-access-points.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints/AccessPointsApiAsync/searchForSSID/#kotlin.String#kotlin.Int#com.isupatches.android.wisefy.callbacks.SearchForSSIDCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api-async/search-for-s-s-i-d.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints/AccessPointsApiAsync/searchForSSIDs/#kotlin.String#com.isupatches.android.wisefy.callbacks.SearchForSSIDsCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-api-async/search-for-s-s-i-ds.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints/AccessPointsUtil///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints/-access-points-util/index.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints/WisefyAccessPointsUtil///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/index.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints/WisefyAccessPointsUtil/WisefyAccessPointsUtil/#com.isupatches.android.wisefy.util.coroutines.CoroutineDispatcherProvider#com.isupatches.android.wisefy.logging.WisefyLogger?#android.net.wifi.WifiManager/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/-wisefy-access-points-util.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints/WisefyAccessPointsUtil/accessPointScope/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/access-point-scope.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints/WisefyAccessPointsUtil/coroutineDispatcherProvider/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/coroutine-dispatcher-provider.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints/WisefyAccessPointsUtil/delegate/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/delegate.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints/WisefyAccessPointsUtil/getNearbyAccessPoints/#kotlin.Boolean#com.isupatches.android.wisefy.callbacks.GetNearbyAccessPointCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/get-nearby-access-points.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints/WisefyAccessPointsUtil/getNearbyAccessPoints/#kotlin.Boolean/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/get-nearby-access-points.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints/WisefyAccessPointsUtil/getRSSI/#kotlin.String#kotlin.Boolean#kotlin.Int#com.isupatches.android.wisefy.callbacks.GetRSSICallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/get-r-s-s-i.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints/WisefyAccessPointsUtil/getRSSI/#kotlin.String#kotlin.Boolean#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/get-r-s-s-i.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints/WisefyAccessPointsUtil/searchForAccessPoint/#kotlin.String#kotlin.Int#kotlin.Boolean#com.isupatches.android.wisefy.callbacks.SearchForAccessPointCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/search-for-access-point.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints/WisefyAccessPointsUtil/searchForAccessPoint/#kotlin.String#kotlin.Int#kotlin.Boolean/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/search-for-access-point.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints/WisefyAccessPointsUtil/searchForAccessPoints/#kotlin.String#kotlin.Boolean#com.isupatches.android.wisefy.callbacks.SearchForAccessPointsCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/search-for-access-points.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints/WisefyAccessPointsUtil/searchForAccessPoints/#kotlin.String#kotlin.Boolean/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/search-for-access-points.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints/WisefyAccessPointsUtil/searchForSSID/#kotlin.String#kotlin.Int#com.isupatches.android.wisefy.callbacks.SearchForSSIDCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/search-for-s-s-i-d.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints/WisefyAccessPointsUtil/searchForSSID/#kotlin.String#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/search-for-s-s-i-d.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints/WisefyAccessPointsUtil/searchForSSIDs/#kotlin.String#com.isupatches.android.wisefy.callbacks.SearchForSSIDsCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/search-for-s-s-i-ds.md
-$dokka.location:com.isupatches.android.wisefy.accesspoints/WisefyAccessPointsUtil/searchForSSIDs/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-util/search-for-s-s-i-ds.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates////PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/index.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates//ANDROID_Q_SAVE_NETWORK_WARNING/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-a-n-d-r-o-i-d_-q_-s-a-v-e_-n-e-t-w-o-r-k_-w-a-r-n-i-n-g.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates//LOG_TAG/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-l-o-g_-t-a-g.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates/Android29AddNetworkApi///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-api/index.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates/Android29AddNetworkApi/addOpenNetwork/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-api/add-open-network.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates/Android29AddNetworkApi/addWPA2Network/#kotlin.String#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-api/add-w-p-a2-network.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates/Android29AddNetworkApi/addWPA3Network/#kotlin.String#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-api/add-w-p-a3-network.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates/Android29AddNetworkApiImpl///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-api-impl/index.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates/Android29AddNetworkApiImpl/Android29AddNetworkApiImpl/#android.net.wifi.WifiManager#com.isupatches.android.wisefy.logging.WisefyLogger?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-api-impl/-android29-add-network-api-impl.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates/Android29AddNetworkApiImpl/addOpenNetwork/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-api-impl/add-open-network.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates/Android29AddNetworkApiImpl/addWPA2Network/#kotlin.String#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-api-impl/add-w-p-a2-network.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates/Android29AddNetworkApiImpl/addWPA3Network/#kotlin.String#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-api-impl/add-w-p-a3-network.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates/Android29AddNetworkApiImpl/logger/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-api-impl/logger.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates/Android29AddNetworkApiImpl/wifiManager/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-api-impl/wifi-manager.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates/Android29AddNetworkDelegate///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-delegate/index.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates/Android29AddNetworkDelegate/Android29AddNetworkDelegate/#android.net.wifi.WifiManager#com.isupatches.android.wisefy.logging.WisefyLogger?#com.isupatches.android.wisefy.addnetwork.delegates.Android29AddNetworkApi/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-delegate/-android29-add-network-delegate.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates/Android29AddNetworkDelegate/addOpenNetwork/#com.isupatches.android.wisefy.addnetwork.entities.OpenNetworkData/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-delegate/add-open-network.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates/Android29AddNetworkDelegate/addWPA2Network/#com.isupatches.android.wisefy.addnetwork.entities.WPA2NetworkData/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-delegate/add-w-p-a2-network.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates/Android29AddNetworkDelegate/addWPA3Network/#com.isupatches.android.wisefy.addnetwork.entities.WPA3NetworkData/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-delegate/add-w-p-a3-network.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates/Android29AddNetworkDelegate/impl/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android29-add-network-delegate/impl.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates/Android30AddNetworkApi///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-api/index.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates/Android30AddNetworkApi/addOpenNetwork/#kotlin.String#androidx.activity.result.ActivityResultLauncher[android.content.Intent]/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-api/add-open-network.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates/Android30AddNetworkApi/addWPA2Network/#kotlin.String#kotlin.String#androidx.activity.result.ActivityResultLauncher[android.content.Intent]/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-api/add-w-p-a2-network.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates/Android30AddNetworkApi/addWPA3Network/#kotlin.String#kotlin.String#androidx.activity.result.ActivityResultLauncher[android.content.Intent]/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-api/add-w-p-a3-network.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates/Android30AddNetworkApiImpl///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-api-impl/index.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates/Android30AddNetworkApiImpl/Android30AddNetworkApiImpl/#android.net.wifi.WifiManager/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-api-impl/-android30-add-network-api-impl.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates/Android30AddNetworkApiImpl/addOpenNetwork/#kotlin.String#androidx.activity.result.ActivityResultLauncher[android.content.Intent]/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-api-impl/add-open-network.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates/Android30AddNetworkApiImpl/addWPA2Network/#kotlin.String#kotlin.String#androidx.activity.result.ActivityResultLauncher[android.content.Intent]/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-api-impl/add-w-p-a2-network.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates/Android30AddNetworkApiImpl/addWPA3Network/#kotlin.String#kotlin.String#androidx.activity.result.ActivityResultLauncher[android.content.Intent]/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-api-impl/add-w-p-a3-network.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates/Android30AddNetworkApiImpl/launchIntent/#android.net.wifi.WifiNetworkSuggestion#androidx.activity.result.ActivityResultLauncher[android.content.Intent]/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-api-impl/launch-intent.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates/Android30AddNetworkApiImpl/wifiManager/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-api-impl/wifi-manager.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates/Android30AddNetworkDelegate///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-delegate/index.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates/Android30AddNetworkDelegate/Android30AddNetworkDelegate/#android.net.wifi.WifiManager#com.isupatches.android.wisefy.addnetwork.delegates.Android30AddNetworkApi/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-delegate/-android30-add-network-delegate.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates/Android30AddNetworkDelegate/addOpenNetwork/#com.isupatches.android.wisefy.addnetwork.entities.OpenNetworkData/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-delegate/add-open-network.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates/Android30AddNetworkDelegate/addWPA2Network/#com.isupatches.android.wisefy.addnetwork.entities.WPA2NetworkData/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-delegate/add-w-p-a2-network.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates/Android30AddNetworkDelegate/addWPA3Network/#com.isupatches.android.wisefy.addnetwork.entities.WPA3NetworkData/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-delegate/add-w-p-a3-network.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates/Android30AddNetworkDelegate/impl/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-android30-add-network-delegate/impl.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates/LegacyAddNetworkApi///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-api/index.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates/LegacyAddNetworkApi/addOpenNetwork/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-api/add-open-network.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates/LegacyAddNetworkApi/addWPA2Network/#kotlin.String#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-api/add-w-p-a2-network.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates/LegacyAddNetworkApiImpl///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-api-impl/index.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates/LegacyAddNetworkApiImpl/LegacyAddNetworkApiImpl/#android.net.wifi.WifiManager/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-api-impl/-legacy-add-network-api-impl.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates/LegacyAddNetworkApiImpl/addOpenNetwork/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-api-impl/add-open-network.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates/LegacyAddNetworkApiImpl/addWPA2Network/#kotlin.String#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-api-impl/add-w-p-a2-network.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates/LegacyAddNetworkApiImpl/wifiManager/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-api-impl/wifi-manager.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates/LegacyAddNetworkDelegate///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-delegate/index.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates/LegacyAddNetworkDelegate/LegacyAddNetworkDelegate/#android.net.wifi.WifiManager#com.isupatches.android.wisefy.addnetwork.delegates.LegacyAddNetworkApi/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-delegate/-legacy-add-network-delegate.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates/LegacyAddNetworkDelegate/addOpenNetwork/#com.isupatches.android.wisefy.addnetwork.entities.OpenNetworkData/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-delegate/add-open-network.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates/LegacyAddNetworkDelegate/addWPA2Network/#com.isupatches.android.wisefy.addnetwork.entities.WPA2NetworkData/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-delegate/add-w-p-a2-network.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates/LegacyAddNetworkDelegate/addWPA3Network/#com.isupatches.android.wisefy.addnetwork.entities.WPA3NetworkData/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-delegate/add-w-p-a3-network.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.delegates/LegacyAddNetworkDelegate/impl/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.delegates/-legacy-add-network-delegate/impl.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities////PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/index.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/AddNetworkResult.IntentLaunched///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-intent-launched/index.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/AddNetworkResult.ResultCode///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-result-code/index.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/AddNetworkResult.ResultCode/ResultCode/#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-result-code/-result-code.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/AddNetworkResult.ResultCode/component1/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-result-code/component1.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/AddNetworkResult.ResultCode/copy/#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-result-code/copy.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/AddNetworkResult.ResultCode/data/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-result-code/data.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/AddNetworkResult.WrongSDKLevelError///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-wrong-s-d-k-level-error/index.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/AddNetworkResult.WrongSDKLevelError/WrongSDKLevelError/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-wrong-s-d-k-level-error/-wrong-s-d-k-level-error.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/AddNetworkResult.WrongSDKLevelError/component1/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-wrong-s-d-k-level-error/component1.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/AddNetworkResult.WrongSDKLevelError/copy/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-wrong-s-d-k-level-error/copy.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/AddNetworkResult.WrongSDKLevelError/message/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-wrong-s-d-k-level-error/message.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/AddNetworkResult///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/AddNetworkResult/AddNetworkResult/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-add-network-result.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/OpenNetworkData.Ssid///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-ssid/index.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/OpenNetworkData.Ssid/Ssid/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-ssid/-ssid.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/OpenNetworkData.Ssid/component1/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-ssid/component1.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/OpenNetworkData.Ssid/copy/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-ssid/copy.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/OpenNetworkData.Ssid/ssid/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-ssid/ssid.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/OpenNetworkData.SsidAndActivityResultLauncher///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-ssid-and-activity-result-launcher/index.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/OpenNetworkData.SsidAndActivityResultLauncher/SsidAndActivityResultLauncher/#kotlin.String#androidx.activity.result.ActivityResultLauncher[android.content.Intent]/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-ssid-and-activity-result-launcher/-ssid-and-activity-result-launcher.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/OpenNetworkData.SsidAndActivityResultLauncher/activityResultLauncher/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-ssid-and-activity-result-launcher/activity-result-launcher.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/OpenNetworkData.SsidAndActivityResultLauncher/component1/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-ssid-and-activity-result-launcher/component1.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/OpenNetworkData.SsidAndActivityResultLauncher/component2/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-ssid-and-activity-result-launcher/component2.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/OpenNetworkData.SsidAndActivityResultLauncher/copy/#kotlin.String#androidx.activity.result.ActivityResultLauncher[android.content.Intent]/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-ssid-and-activity-result-launcher/copy.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/OpenNetworkData.SsidAndActivityResultLauncher/ssid/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-ssid-and-activity-result-launcher/ssid.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/OpenNetworkData///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/index.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/OpenNetworkData/OpenNetworkData/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-open-network-data/-open-network-data.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/WPA2NetworkData.SsidAndPassphrase///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-and-passphrase/index.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/WPA2NetworkData.SsidAndPassphrase/SsidAndPassphrase/#kotlin.String#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-and-passphrase/-ssid-and-passphrase.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/WPA2NetworkData.SsidAndPassphrase/component1/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-and-passphrase/component1.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/WPA2NetworkData.SsidAndPassphrase/component2/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-and-passphrase/component2.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/WPA2NetworkData.SsidAndPassphrase/copy/#kotlin.String#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-and-passphrase/copy.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/WPA2NetworkData.SsidAndPassphrase/passphrase/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-and-passphrase/passphrase.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/WPA2NetworkData.SsidAndPassphrase/ssid/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-and-passphrase/ssid.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/WPA2NetworkData.SsidPassphraseAndActivityResultLauncher///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-passphrase-and-activity-result-launcher/index.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/WPA2NetworkData.SsidPassphraseAndActivityResultLauncher/SsidPassphraseAndActivityResultLauncher/#kotlin.String#kotlin.String#androidx.activity.result.ActivityResultLauncher[android.content.Intent]/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-passphrase-and-activity-result-launcher/-ssid-passphrase-and-activity-result-launcher.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/WPA2NetworkData.SsidPassphraseAndActivityResultLauncher/activityResultLauncher/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-passphrase-and-activity-result-launcher/activity-result-launcher.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/WPA2NetworkData.SsidPassphraseAndActivityResultLauncher/component1/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-passphrase-and-activity-result-launcher/component1.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/WPA2NetworkData.SsidPassphraseAndActivityResultLauncher/component2/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-passphrase-and-activity-result-launcher/component2.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/WPA2NetworkData.SsidPassphraseAndActivityResultLauncher/component3/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-passphrase-and-activity-result-launcher/component3.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/WPA2NetworkData.SsidPassphraseAndActivityResultLauncher/copy/#kotlin.String#kotlin.String#androidx.activity.result.ActivityResultLauncher[android.content.Intent]/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-passphrase-and-activity-result-launcher/copy.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/WPA2NetworkData.SsidPassphraseAndActivityResultLauncher/passphrase/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-passphrase-and-activity-result-launcher/passphrase.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/WPA2NetworkData.SsidPassphraseAndActivityResultLauncher/ssid/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-ssid-passphrase-and-activity-result-launcher/ssid.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/WPA2NetworkData///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/index.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/WPA2NetworkData/WPA2NetworkData/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a2-network-data/-w-p-a2-network-data.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/WPA3NetworkData.SsidAndPassphrase///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-and-passphrase/index.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/WPA3NetworkData.SsidAndPassphrase/SsidAndPassphrase/#kotlin.String#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-and-passphrase/-ssid-and-passphrase.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/WPA3NetworkData.SsidAndPassphrase/component1/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-and-passphrase/component1.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/WPA3NetworkData.SsidAndPassphrase/component2/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-and-passphrase/component2.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/WPA3NetworkData.SsidAndPassphrase/copy/#kotlin.String#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-and-passphrase/copy.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/WPA3NetworkData.SsidAndPassphrase/passphrase/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-and-passphrase/passphrase.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/WPA3NetworkData.SsidAndPassphrase/ssid/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-and-passphrase/ssid.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/WPA3NetworkData.SsidPassphraseAndActivityResultLauncher///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-passphrase-and-activity-result-launcher/index.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/WPA3NetworkData.SsidPassphraseAndActivityResultLauncher/SsidPassphraseAndActivityResultLauncher/#kotlin.String#kotlin.String#androidx.activity.result.ActivityResultLauncher[android.content.Intent]/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-passphrase-and-activity-result-launcher/-ssid-passphrase-and-activity-result-launcher.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/WPA3NetworkData.SsidPassphraseAndActivityResultLauncher/activityResultLauncher/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-passphrase-and-activity-result-launcher/activity-result-launcher.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/WPA3NetworkData.SsidPassphraseAndActivityResultLauncher/component1/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-passphrase-and-activity-result-launcher/component1.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/WPA3NetworkData.SsidPassphraseAndActivityResultLauncher/component2/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-passphrase-and-activity-result-launcher/component2.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/WPA3NetworkData.SsidPassphraseAndActivityResultLauncher/component3/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-passphrase-and-activity-result-launcher/component3.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/WPA3NetworkData.SsidPassphraseAndActivityResultLauncher/copy/#kotlin.String#kotlin.String#androidx.activity.result.ActivityResultLauncher[android.content.Intent]/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-passphrase-and-activity-result-launcher/copy.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/WPA3NetworkData.SsidPassphraseAndActivityResultLauncher/passphrase/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-passphrase-and-activity-result-launcher/passphrase.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/WPA3NetworkData.SsidPassphraseAndActivityResultLauncher/ssid/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-ssid-passphrase-and-activity-result-launcher/ssid.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/WPA3NetworkData///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/index.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/WPA3NetworkData/WPA3NetworkData/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork.entities/-w-p-a3-network-data/-w-p-a3-network-data.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork////PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork/index.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork//LOG_TAG/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork/-l-o-g_-t-a-g.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork/AddNetworkApi///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork/-add-network-api/index.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork/AddNetworkApi/addOpenNetwork/#com.isupatches.android.wisefy.addnetwork.entities.OpenNetworkData/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork/-add-network-api/add-open-network.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork/AddNetworkApi/addWPA2Network/#com.isupatches.android.wisefy.addnetwork.entities.WPA2NetworkData/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork/-add-network-api/add-w-p-a2-network.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork/AddNetworkApi/addWPA3Network/#com.isupatches.android.wisefy.addnetwork.entities.WPA3NetworkData/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork/-add-network-api/add-w-p-a3-network.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork/AddNetworkApiAsync///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork/-add-network-api-async/index.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork/AddNetworkApiAsync/addOpenNetwork/#com.isupatches.android.wisefy.addnetwork.entities.OpenNetworkData#com.isupatches.android.wisefy.callbacks.AddNetworkCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork/-add-network-api-async/add-open-network.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork/AddNetworkApiAsync/addWPA2Network/#com.isupatches.android.wisefy.addnetwork.entities.WPA2NetworkData#com.isupatches.android.wisefy.callbacks.AddNetworkCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork/-add-network-api-async/add-w-p-a2-network.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork/AddNetworkApiAsync/addWPA3Network/#com.isupatches.android.wisefy.addnetwork.entities.WPA3NetworkData#com.isupatches.android.wisefy.callbacks.AddNetworkCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork/-add-network-api-async/add-w-p-a3-network.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork/AddNetworkUtil///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork/-add-network-util/index.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork/WisefyAddNetworkUtil///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-util/index.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork/WisefyAddNetworkUtil/WisefyAddNetworkUtil/#com.isupatches.android.wisefy.util.coroutines.CoroutineDispatcherProvider#com.isupatches.android.wisefy.logging.WisefyLogger?#com.isupatches.android.wisefy.util.SdkUtil#android.net.wifi.WifiManager/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-util/-wisefy-add-network-util.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork/WisefyAddNetworkUtil/addNetworkScope/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-util/add-network-scope.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork/WisefyAddNetworkUtil/addOpenNetwork/#com.isupatches.android.wisefy.addnetwork.entities.OpenNetworkData#com.isupatches.android.wisefy.callbacks.AddNetworkCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-util/add-open-network.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork/WisefyAddNetworkUtil/addOpenNetwork/#com.isupatches.android.wisefy.addnetwork.entities.OpenNetworkData/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-util/add-open-network.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork/WisefyAddNetworkUtil/addWPA2Network/#com.isupatches.android.wisefy.addnetwork.entities.WPA2NetworkData#com.isupatches.android.wisefy.callbacks.AddNetworkCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-util/add-w-p-a2-network.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork/WisefyAddNetworkUtil/addWPA2Network/#com.isupatches.android.wisefy.addnetwork.entities.WPA2NetworkData/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-util/add-w-p-a2-network.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork/WisefyAddNetworkUtil/addWPA3Network/#com.isupatches.android.wisefy.addnetwork.entities.WPA3NetworkData#com.isupatches.android.wisefy.callbacks.AddNetworkCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-util/add-w-p-a3-network.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork/WisefyAddNetworkUtil/addWPA3Network/#com.isupatches.android.wisefy.addnetwork.entities.WPA3NetworkData/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-util/add-w-p-a3-network.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork/WisefyAddNetworkUtil/coroutineDispatcherProvider/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-util/coroutine-dispatcher-provider.md
-$dokka.location:com.isupatches.android.wisefy.addnetwork/WisefyAddNetworkUtil/delegate/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-util/delegate.md
-$dokka.location:com.isupatches.android.wisefy.callbacks////PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/index.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/AddNetworkCallbacks///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-add-network-callbacks/index.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/AddNetworkCallbacks/onFailureAddingNetwork/#com.isupatches.android.wisefy.addnetwork.entities.AddNetworkResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-add-network-callbacks/on-failure-adding-network.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/AddNetworkCallbacks/onNetworkAdded/#com.isupatches.android.wisefy.addnetwork.entities.AddNetworkResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-add-network-callbacks/on-network-added.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/BaseWisefyCallbacks///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-base-wisefy-callbacks/index.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/BaseWisefyCallbacks/onWisefyAsyncFailure/#kotlin.Throwable/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-base-wisefy-callbacks/on-wisefy-async-failure.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/ConnectToNetworkCallbacks///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-connect-to-network-callbacks/index.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/ConnectToNetworkCallbacks/onConnectedToNetwork/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-connect-to-network-callbacks/on-connected-to-network.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/ConnectToNetworkCallbacks/onConnectionRequestPlaced/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-connect-to-network-callbacks/on-connection-request-placed.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/ConnectToNetworkCallbacks/onFailureConnectingToNetwork/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-connect-to-network-callbacks/on-failure-connecting-to-network.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/ConnectToNetworkCallbacks/onNetworkNotFoundToConnectTo/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-connect-to-network-callbacks/on-network-not-found-to-connect-to.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/DisableWifiCallbacks///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-disable-wifi-callbacks/index.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/DisableWifiCallbacks/onFailureDisablingWifi/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-disable-wifi-callbacks/on-failure-disabling-wifi.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/DisableWifiCallbacks/onWifiDisabled/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-disable-wifi-callbacks/on-wifi-disabled.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/DisconnectFromCurrentNetworkCallbacks///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-disconnect-from-current-network-callbacks/index.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/DisconnectFromCurrentNetworkCallbacks/onDisconnectedFromCurrentNetwork/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-disconnect-from-current-network-callbacks/on-disconnected-from-current-network.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/DisconnectFromCurrentNetworkCallbacks/onFailureDisconnectingFromCurrentNetwork/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-disconnect-from-current-network-callbacks/on-failure-disconnecting-from-current-network.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/EnableWifiCallbacks///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-enable-wifi-callbacks/index.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/EnableWifiCallbacks/onFailureEnablingWifi/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-enable-wifi-callbacks/on-failure-enabling-wifi.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/EnableWifiCallbacks/onWifiEnabled/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-enable-wifi-callbacks/on-wifi-enabled.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/GetCurrentNetworkCallbacks///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-get-current-network-callbacks/index.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/GetCurrentNetworkCallbacks/onCurrentNetworkRetrieved/#com.isupatches.android.wisefy.networkinfo.entities.CurrentNetworkData/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-get-current-network-callbacks/on-current-network-retrieved.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/GetCurrentNetworkCallbacks/onNoCurrentNetwork/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-get-current-network-callbacks/on-no-current-network.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/GetCurrentNetworkInfoCallbacks///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-get-current-network-info-callbacks/index.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/GetCurrentNetworkInfoCallbacks/onCurrentNetworkInfoRetrieved/#com.isupatches.android.wisefy.networkinfo.entities.CurrentNetworkInfoData/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-get-current-network-info-callbacks/on-current-network-info-retrieved.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/GetCurrentNetworkInfoCallbacks/onNoCurrentNetworkInfo/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-get-current-network-info-callbacks/on-no-current-network-info.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/GetFrequencyCallbacks///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-get-frequency-callbacks/index.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/GetFrequencyCallbacks/onFailureRetrievingFrequency/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-get-frequency-callbacks/on-failure-retrieving-frequency.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/GetFrequencyCallbacks/onFrequencyRetrieved/#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-get-frequency-callbacks/on-frequency-retrieved.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/GetIPCallbacks///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-get-i-p-callbacks/index.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/GetIPCallbacks/onFailureRetrievingIP/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-get-i-p-callbacks/on-failure-retrieving-i-p.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/GetIPCallbacks/onIPRetrieved/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-get-i-p-callbacks/on-i-p-retrieved.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/GetNearbyAccessPointCallbacks///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-get-nearby-access-point-callbacks/index.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/GetNearbyAccessPointCallbacks/onNearbyAccessPointsRetrieved/#kotlin.collections.List[com.isupatches.android.wisefy.accesspoints.entities.AccessPointData]/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-get-nearby-access-point-callbacks/on-nearby-access-points-retrieved.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/GetNearbyAccessPointCallbacks/onNoNearbyAccessPoints/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-get-nearby-access-point-callbacks/on-no-nearby-access-points.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/GetRSSICallbacks///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-get-r-s-s-i-callbacks/index.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/GetRSSICallbacks/onNoNetworkToRetrieveRSSI/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-get-r-s-s-i-callbacks/on-no-network-to-retrieve-r-s-s-i.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/GetRSSICallbacks/onRSSIRetrieved/#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-get-r-s-s-i-callbacks/on-r-s-s-i-retrieved.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/GetSavedNetworksCallbacks///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-get-saved-networks-callbacks/index.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/GetSavedNetworksCallbacks/onNoSavedNetworksFound/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-get-saved-networks-callbacks/on-no-saved-networks-found.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/GetSavedNetworksCallbacks/onSavedNetworksRetrieved/#kotlin.collections.List[com.isupatches.android.wisefy.savednetworks.entities.SavedNetworkData]/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-get-saved-networks-callbacks/on-saved-networks-retrieved.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/RemoveNetworkCallbacks///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-remove-network-callbacks/index.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/RemoveNetworkCallbacks/onFailureRemovingNetwork/#com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-remove-network-callbacks/on-failure-removing-network.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/RemoveNetworkCallbacks/onNetworkNotFoundToRemove/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-remove-network-callbacks/on-network-not-found-to-remove.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/RemoveNetworkCallbacks/onNetworkRemoved/#com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-remove-network-callbacks/on-network-removed.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/SearchForAccessPointCallbacks///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-access-point-callbacks/index.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/SearchForAccessPointCallbacks/onAccessPointFound/#com.isupatches.android.wisefy.accesspoints.entities.AccessPointData/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-access-point-callbacks/on-access-point-found.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/SearchForAccessPointCallbacks/onNoAccessPointFound/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-access-point-callbacks/on-no-access-point-found.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/SearchForAccessPointsCallbacks///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-access-points-callbacks/index.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/SearchForAccessPointsCallbacks/onAccessPointsFound/#kotlin.collections.List[com.isupatches.android.wisefy.accesspoints.entities.AccessPointData]/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-access-points-callbacks/on-access-points-found.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/SearchForAccessPointsCallbacks/onNoAccessPointsFound/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-access-points-callbacks/on-no-access-points-found.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/SearchForSSIDCallbacks///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-s-s-i-d-callbacks/index.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/SearchForSSIDCallbacks/onSSIDFound/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-s-s-i-d-callbacks/on-s-s-i-d-found.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/SearchForSSIDCallbacks/onSSIDNotFound/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-s-s-i-d-callbacks/on-s-s-i-d-not-found.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/SearchForSSIDsCallbacks///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-s-s-i-ds-callbacks/index.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/SearchForSSIDsCallbacks/onNoSSIDsFound/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-s-s-i-ds-callbacks/on-no-s-s-i-ds-found.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/SearchForSSIDsCallbacks/onSSIDsFound/#kotlin.collections.List[kotlin.String]/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-s-s-i-ds-callbacks/on-s-s-i-ds-found.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/SearchForSavedNetworkCallbacks///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-saved-network-callbacks/index.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/SearchForSavedNetworkCallbacks/onSavedNetworkNotFound/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-saved-network-callbacks/on-saved-network-not-found.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/SearchForSavedNetworkCallbacks/onSavedNetworkRetrieved/#com.isupatches.android.wisefy.savednetworks.entities.SavedNetworkData/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-saved-network-callbacks/on-saved-network-retrieved.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/SearchForSavedNetworksCallbacks///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-saved-networks-callbacks/index.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/SearchForSavedNetworksCallbacks/onNoSavedNetworksFound/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-saved-networks-callbacks/on-no-saved-networks-found.md
-$dokka.location:com.isupatches.android.wisefy.callbacks/SearchForSavedNetworksCallbacks/onSavedNetworksRetrieved/#kotlin.collections.List[com.isupatches.android.wisefy.savednetworks.entities.SavedNetworkData]/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.callbacks/-search-for-saved-networks-callbacks/on-saved-networks-retrieved.md
-$dokka.location:com.isupatches.android.wisefy.constants////PointingToDeclaration/wisefy/com.isupatches.android.wisefy.constants/index.md
-$dokka.location:com.isupatches.android.wisefy.constants//QUOTE/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.constants/-q-u-o-t-e.md
-$dokka.location:com.isupatches.android.wisefy.constants/DeprecationMessages///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.constants/-deprecation-messages/index.md
-$dokka.location:com.isupatches.android.wisefy.constants/DeprecationMessages/CALCULATE_BARS/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.constants/-deprecation-messages/-c-a-l-c-u-l-a-t-e_-b-a-r-s.md
-$dokka.location:com.isupatches.android.wisefy.constants/DeprecationMessages/DISABLE_WIFI/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.constants/-deprecation-messages/-d-i-s-a-b-l-e_-w-i-f-i.md
-$dokka.location:com.isupatches.android.wisefy.constants/DeprecationMessages/ENABLE_WIFI/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.constants/-deprecation-messages/-e-n-a-b-l-e_-w-i-f-i.md
-$dokka.location:com.isupatches.android.wisefy.constants/ErrorMessages.AddNetwork.ActivityResultLauncher///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.constants/-error-messages/-add-network/-activity-result-launcher/index.md
-$dokka.location:com.isupatches.android.wisefy.constants/ErrorMessages.AddNetwork.ActivityResultLauncher/NOT_USED_ANDROID_30/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.constants/-error-messages/-add-network/-activity-result-launcher/-n-o-t_-u-s-e-d_-a-n-d-r-o-i-d_30.md
-$dokka.location:com.isupatches.android.wisefy.constants/ErrorMessages.AddNetwork.ActivityResultLauncher/USED_PRE_ANDROID_30/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.constants/-error-messages/-add-network/-activity-result-launcher/-u-s-e-d_-p-r-e_-a-n-d-r-o-i-d_30.md
-$dokka.location:com.isupatches.android.wisefy.constants/ErrorMessages.AddNetwork.WPA3Network///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.constants/-error-messages/-add-network/-w-p-a3-network/index.md
-$dokka.location:com.isupatches.android.wisefy.constants/ErrorMessages.AddNetwork.WPA3Network/PRE_ANDROID_29/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.constants/-error-messages/-add-network/-w-p-a3-network/-p-r-e_-a-n-d-r-o-i-d_29.md
-$dokka.location:com.isupatches.android.wisefy.constants/ErrorMessages.AddNetwork///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.constants/-error-messages/-add-network/index.md
-$dokka.location:com.isupatches.android.wisefy.constants/ErrorMessages///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.constants/-error-messages/index.md
-$dokka.location:com.isupatches.android.wisefy.constants/ErrorMessages/CALCULATE_BARS_ANDROID_30/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.constants/-error-messages/-c-a-l-c-u-l-a-t-e_-b-a-r-s_-a-n-d-r-o-i-d_30.md
-$dokka.location:com.isupatches.android.wisefy.constants/ErrorMessages/CALCULATE_BARS_LEGACY/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.constants/-error-messages/-c-a-l-c-u-l-a-t-e_-b-a-r-s_-l-e-g-a-c-y.md
-$dokka.location:com.isupatches.android.wisefy.frequency.delegates////PointingToDeclaration/wisefy/com.isupatches.android.wisefy.frequency.delegates/index.md
-$dokka.location:com.isupatches.android.wisefy.frequency.delegates/LegacyFrequencyApi///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-api/index.md
-$dokka.location:com.isupatches.android.wisefy.frequency.delegates/LegacyFrequencyApi/getFrequency/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-api/get-frequency.md
-$dokka.location:com.isupatches.android.wisefy.frequency.delegates/LegacyFrequencyApi/getFrequency/#android.net.wifi.WifiInfo/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-api/get-frequency.md
-$dokka.location:com.isupatches.android.wisefy.frequency.delegates/LegacyFrequencyApi/isNetwork5gHz/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-api/is-network5g-hz.md
-$dokka.location:com.isupatches.android.wisefy.frequency.delegates/LegacyFrequencyApi/isNetwork5gHz/#android.net.wifi.WifiInfo/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-api/is-network5g-hz.md
-$dokka.location:com.isupatches.android.wisefy.frequency.delegates/LegacyFrequencyApiImpl///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-api-impl/index.md
-$dokka.location:com.isupatches.android.wisefy.frequency.delegates/LegacyFrequencyApiImpl/LegacyFrequencyApiImpl/#android.net.wifi.WifiManager/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-api-impl/-legacy-frequency-api-impl.md
-$dokka.location:com.isupatches.android.wisefy.frequency.delegates/LegacyFrequencyApiImpl/getFrequency/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-api-impl/get-frequency.md
-$dokka.location:com.isupatches.android.wisefy.frequency.delegates/LegacyFrequencyApiImpl/getFrequency/#android.net.wifi.WifiInfo/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-api-impl/get-frequency.md
-$dokka.location:com.isupatches.android.wisefy.frequency.delegates/LegacyFrequencyApiImpl/isNetwork5gHz/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-api-impl/is-network5g-hz.md
-$dokka.location:com.isupatches.android.wisefy.frequency.delegates/LegacyFrequencyApiImpl/isNetwork5gHz/#android.net.wifi.WifiInfo/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-api-impl/is-network5g-hz.md
-$dokka.location:com.isupatches.android.wisefy.frequency.delegates/LegacyFrequencyApiImpl/wifiManager/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-api-impl/wifi-manager.md
-$dokka.location:com.isupatches.android.wisefy.frequency.delegates/LegacyFrequencyDelegate///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-delegate/index.md
-$dokka.location:com.isupatches.android.wisefy.frequency.delegates/LegacyFrequencyDelegate/LegacyFrequencyDelegate/#android.net.wifi.WifiManager#com.isupatches.android.wisefy.frequency.delegates.LegacyFrequencyApi/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-delegate/-legacy-frequency-delegate.md
-$dokka.location:com.isupatches.android.wisefy.frequency.delegates/LegacyFrequencyDelegate/getFrequency/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-delegate/get-frequency.md
-$dokka.location:com.isupatches.android.wisefy.frequency.delegates/LegacyFrequencyDelegate/getFrequency/#android.net.wifi.WifiInfo/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-delegate/get-frequency.md
-$dokka.location:com.isupatches.android.wisefy.frequency.delegates/LegacyFrequencyDelegate/impl/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-delegate/impl.md
-$dokka.location:com.isupatches.android.wisefy.frequency.delegates/LegacyFrequencyDelegate/isNetwork5gHz/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-delegate/is-network5g-hz.md
-$dokka.location:com.isupatches.android.wisefy.frequency.delegates/LegacyFrequencyDelegate/isNetwork5gHz/#android.net.wifi.WifiInfo/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.frequency.delegates/-legacy-frequency-delegate/is-network5g-hz.md
-$dokka.location:com.isupatches.android.wisefy.frequency////PointingToDeclaration/wisefy/com.isupatches.android.wisefy.frequency/index.md
-$dokka.location:com.isupatches.android.wisefy.frequency//LOG_TAG/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.frequency/-l-o-g_-t-a-g.md
-$dokka.location:com.isupatches.android.wisefy.frequency//MAX_FREQUENCY_5GHZ/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.frequency/-m-a-x_-f-r-e-q-u-e-n-c-y_5-g-h-z.md
-$dokka.location:com.isupatches.android.wisefy.frequency//MIN_FREQUENCY_5GHZ/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.frequency/-m-i-n_-f-r-e-q-u-e-n-c-y_5-g-h-z.md
-$dokka.location:com.isupatches.android.wisefy.frequency/FrequencyApi///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.frequency/-frequency-api/index.md
-$dokka.location:com.isupatches.android.wisefy.frequency/FrequencyApi/getFrequency/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.frequency/-frequency-api/get-frequency.md
-$dokka.location:com.isupatches.android.wisefy.frequency/FrequencyApi/getFrequency/#android.net.wifi.WifiInfo/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.frequency/-frequency-api/get-frequency.md
-$dokka.location:com.isupatches.android.wisefy.frequency/FrequencyApi/isNetwork5gHz/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.frequency/-frequency-api/is-network5g-hz.md
-$dokka.location:com.isupatches.android.wisefy.frequency/FrequencyApi/isNetwork5gHz/#android.net.wifi.WifiInfo/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.frequency/-frequency-api/is-network5g-hz.md
-$dokka.location:com.isupatches.android.wisefy.frequency/FrequencyApiAsync///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.frequency/-frequency-api-async/index.md
-$dokka.location:com.isupatches.android.wisefy.frequency/FrequencyApiAsync/getFrequency/#com.isupatches.android.wisefy.callbacks.GetFrequencyCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.frequency/-frequency-api-async/get-frequency.md
-$dokka.location:com.isupatches.android.wisefy.frequency/FrequencyUtil///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.frequency/-frequency-util/index.md
-$dokka.location:com.isupatches.android.wisefy.frequency/FrequencyUtil/getFrequency/#com.isupatches.android.wisefy.callbacks.GetFrequencyCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.frequency/-frequency-util/get-frequency.md
-$dokka.location:com.isupatches.android.wisefy.frequency/WisefyFrequencyUtil///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.frequency/-wisefy-frequency-util/index.md
-$dokka.location:com.isupatches.android.wisefy.frequency/WisefyFrequencyUtil/WisefyFrequencyUtil/#com.isupatches.android.wisefy.util.coroutines.CoroutineDispatcherProvider#com.isupatches.android.wisefy.logging.WisefyLogger?#android.net.wifi.WifiManager/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.frequency/-wisefy-frequency-util/-wisefy-frequency-util.md
-$dokka.location:com.isupatches.android.wisefy.frequency/WisefyFrequencyUtil/coroutineDispatcherProvider/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.frequency/-wisefy-frequency-util/coroutine-dispatcher-provider.md
-$dokka.location:com.isupatches.android.wisefy.frequency/WisefyFrequencyUtil/delegate/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.frequency/-wisefy-frequency-util/delegate.md
-$dokka.location:com.isupatches.android.wisefy.frequency/WisefyFrequencyUtil/frequencyScope/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.frequency/-wisefy-frequency-util/frequency-scope.md
-$dokka.location:com.isupatches.android.wisefy.frequency/WisefyFrequencyUtil/getFrequency/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.frequency/-wisefy-frequency-util/get-frequency.md
-$dokka.location:com.isupatches.android.wisefy.frequency/WisefyFrequencyUtil/getFrequency/#android.net.wifi.WifiInfo/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.frequency/-wisefy-frequency-util/get-frequency.md
-$dokka.location:com.isupatches.android.wisefy.frequency/WisefyFrequencyUtil/getFrequency/#com.isupatches.android.wisefy.callbacks.GetFrequencyCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.frequency/-wisefy-frequency-util/get-frequency.md
-$dokka.location:com.isupatches.android.wisefy.frequency/WisefyFrequencyUtil/isNetwork5gHz/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.frequency/-wisefy-frequency-util/is-network5g-hz.md
-$dokka.location:com.isupatches.android.wisefy.frequency/WisefyFrequencyUtil/isNetwork5gHz/#android.net.wifi.WifiInfo/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.frequency/-wisefy-frequency-util/is-network5g-hz.md
-$dokka.location:com.isupatches.android.wisefy.logging////PointingToDeclaration/wisefy/com.isupatches.android.wisefy.logging/index.md
-$dokka.location:com.isupatches.android.wisefy.logging/WisefyLogger///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.logging/-wisefy-logger/index.md
-$dokka.location:com.isupatches.android.wisefy.logging/WisefyLogger/d/#kotlin.String#kotlin.String#kotlin.Array[kotlin.Any]/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.logging/-wisefy-logger/d.md
-$dokka.location:com.isupatches.android.wisefy.logging/WisefyLogger/e/#kotlin.String#kotlin.String#kotlin.Array[kotlin.Any]/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.logging/-wisefy-logger/e.md
-$dokka.location:com.isupatches.android.wisefy.logging/WisefyLogger/e/#kotlin.String#kotlin.Throwable#kotlin.String#kotlin.Array[kotlin.Any]/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.logging/-wisefy-logger/e.md
-$dokka.location:com.isupatches.android.wisefy.logging/WisefyLogger/i/#kotlin.String#kotlin.String#kotlin.Array[kotlin.Any]/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.logging/-wisefy-logger/i.md
-$dokka.location:com.isupatches.android.wisefy.logging/WisefyLogger/v/#kotlin.String#kotlin.String#kotlin.Array[kotlin.Any]/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.logging/-wisefy-logger/v.md
-$dokka.location:com.isupatches.android.wisefy.logging/WisefyLogger/w/#kotlin.String#kotlin.String#kotlin.Array[kotlin.Any]/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.logging/-wisefy-logger/w.md
-$dokka.location:com.isupatches.android.wisefy.logging/WisefyLogger/wtf/#kotlin.String#kotlin.String#kotlin.Array[kotlin.Any]/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.logging/-wisefy-logger/wtf.md
-$dokka.location:com.isupatches.android.wisefy.logging/WisefyLogger/wtf/#kotlin.String#kotlin.Throwable#kotlin.String#kotlin.Array[kotlin.Any]/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.logging/-wisefy-logger/wtf.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection.delegates////PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/index.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection.delegates//LOG_TAG/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-l-o-g_-t-a-g.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection.delegates/Android29NetworkConnectionApi///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-api/index.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection.delegates/Android29NetworkConnectionApi/connectToNetwork/#kotlin.String#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-api/connect-to-network.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection.delegates/Android29NetworkConnectionApi/disconnectFromCurrentNetwork/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-api/disconnect-from-current-network.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection.delegates/Android29NetworkConnectionApiImpl///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-api-impl/index.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection.delegates/Android29NetworkConnectionApiImpl/Android29NetworkConnectionApiImpl/#android.net.ConnectivityManager#com.isupatches.android.wisefy.logging.WisefyLogger?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-api-impl/-android29-network-connection-api-impl.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection.delegates/Android29NetworkConnectionApiImpl/connectToNetwork/#kotlin.String#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-api-impl/connect-to-network.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection.delegates/Android29NetworkConnectionApiImpl/connectionManager/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-api-impl/connection-manager.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection.delegates/Android29NetworkConnectionApiImpl/disconnectFromCurrentNetwork/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-api-impl/disconnect-from-current-network.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection.delegates/Android29NetworkConnectionApiImpl/logger/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-api-impl/logger.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection.delegates/Android29NetworkConnectionApiImpl/networkCallback/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-api-impl/network-callback.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection.delegates/Android29NetworkConnectionDelegate///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-delegate/index.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection.delegates/Android29NetworkConnectionDelegate/Android29NetworkConnectionDelegate/#android.net.ConnectivityManager#com.isupatches.android.wisefy.logging.WisefyLogger?#com.isupatches.android.wisefy.networkconnection.delegates.Android29NetworkConnectionApi/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-delegate/-android29-network-connection-delegate.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection.delegates/Android29NetworkConnectionDelegate/connectToNetwork/#kotlin.String#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-delegate/connect-to-network.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection.delegates/Android29NetworkConnectionDelegate/disconnectFromCurrentNetwork/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-delegate/disconnect-from-current-network.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection.delegates/Android29NetworkConnectionDelegate/impl/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-android29-network-connection-delegate/impl.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection.delegates/LegacyNetworkConnectionApi///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api/index.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection.delegates/LegacyNetworkConnectionApi/connectToNetwork/#kotlin.String#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api/connect-to-network.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection.delegates/LegacyNetworkConnectionApi/disconnectFromCurrentNetwork/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api/disconnect-from-current-network.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection.delegates/LegacyNetworkConnectionApiImpl///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api-impl/index.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection.delegates/LegacyNetworkConnectionApiImpl/LegacyNetworkConnectionApiImpl/#android.net.wifi.WifiManager#com.isupatches.android.wisefy.networkconnectionstatus.NetworkConnectionStatusUtil#com.isupatches.android.wisefy.savednetworks.SavedNetworkUtil#com.isupatches.android.wisefy.logging.WisefyLogger?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api-impl/-legacy-network-connection-api-impl.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection.delegates/LegacyNetworkConnectionApiImpl/connectToNetwork/#kotlin.String#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api-impl/connect-to-network.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection.delegates/LegacyNetworkConnectionApiImpl/disconnectFromCurrentNetwork/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api-impl/disconnect-from-current-network.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection.delegates/LegacyNetworkConnectionApiImpl/isCurrentNetworkConnectedToSSID/#kotlin.String?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api-impl/is-current-network-connected-to-s-s-i-d.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection.delegates/LegacyNetworkConnectionApiImpl/logger/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api-impl/logger.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection.delegates/LegacyNetworkConnectionApiImpl/networkConnectionStatusUtil/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api-impl/network-connection-status-util.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection.delegates/LegacyNetworkConnectionApiImpl/savedNetworkUtil/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api-impl/saved-network-util.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection.delegates/LegacyNetworkConnectionApiImpl/waitToConnectToSSID/#kotlin.String?#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api-impl/wait-to-connect-to-s-s-i-d.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection.delegates/LegacyNetworkConnectionApiImpl/wifiManager/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-api-impl/wifi-manager.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection.delegates/LegacyNetworkConnectionDelegate///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-delegate/index.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection.delegates/LegacyNetworkConnectionDelegate/LegacyNetworkConnectionDelegate/#android.net.wifi.WifiManager#com.isupatches.android.wisefy.networkconnectionstatus.NetworkConnectionStatusUtil#com.isupatches.android.wisefy.savednetworks.SavedNetworkUtil#com.isupatches.android.wisefy.logging.WisefyLogger?#com.isupatches.android.wisefy.networkconnection.delegates.LegacyNetworkConnectionApi/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-delegate/-legacy-network-connection-delegate.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection.delegates/LegacyNetworkConnectionDelegate/connectToNetwork/#kotlin.String#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-delegate/connect-to-network.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection.delegates/LegacyNetworkConnectionDelegate/disconnectFromCurrentNetwork/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-delegate/disconnect-from-current-network.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection.delegates/LegacyNetworkConnectionDelegate/impl/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection.delegates/-legacy-network-connection-delegate/impl.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection.entities////PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection.entities/index.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/NetworkConnectionResult.ConnectionRequestPlaced///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/-connection-request-placed/index.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/NetworkConnectionResult.NetworkNotFound///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/-network-not-found/index.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/NetworkConnectionResult.Succeeded///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/-succeeded/index.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/NetworkConnectionResult.Succeeded/Succeeded/#kotlin.Boolean/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/-succeeded/-succeeded.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/NetworkConnectionResult.Succeeded/component1/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/-succeeded/component1.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/NetworkConnectionResult.Succeeded/copy/#kotlin.Boolean/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/-succeeded/copy.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/NetworkConnectionResult.Succeeded/data/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/-succeeded/data.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/NetworkConnectionResult.UnregisterRequestSent///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/-unregister-request-sent/index.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/NetworkConnectionResult///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/index.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/NetworkConnectionResult/NetworkConnectionResult/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection.entities/-network-connection-result/-network-connection-result.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection////PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection/index.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection//LOG_TAG/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection/-l-o-g_-t-a-g.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection/NetworkConnectionApi///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection/-network-connection-api/index.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection/NetworkConnectionApi/connectToNetwork/#kotlin.String#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection/-network-connection-api/connect-to-network.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection/NetworkConnectionApi/disconnectFromCurrentNetwork/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection/-network-connection-api/disconnect-from-current-network.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection/NetworkConnectionApiAsync///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection/-network-connection-api-async/index.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection/NetworkConnectionApiAsync/connectToNetwork/#kotlin.String#kotlin.Int#com.isupatches.android.wisefy.callbacks.ConnectToNetworkCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection/-network-connection-api-async/connect-to-network.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection/NetworkConnectionApiAsync/disconnectFromCurrentNetwork/#com.isupatches.android.wisefy.callbacks.DisconnectFromCurrentNetworkCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection/-network-connection-api-async/disconnect-from-current-network.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection/NetworkConnectionUtil///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection/-network-connection-util/index.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection/WisefyNetworkConnectionUtil///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-util/index.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection/WisefyNetworkConnectionUtil/WisefyNetworkConnectionUtil/#com.isupatches.android.wisefy.util.coroutines.CoroutineDispatcherProvider#android.net.ConnectivityManager#com.isupatches.android.wisefy.logging.WisefyLogger?#com.isupatches.android.wisefy.networkconnectionstatus.NetworkConnectionStatusUtil#com.isupatches.android.wisefy.savednetworks.SavedNetworkUtil#com.isupatches.android.wisefy.util.SdkUtil#android.net.wifi.WifiManager/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-util/-wisefy-network-connection-util.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection/WisefyNetworkConnectionUtil/connectToNetwork/#kotlin.String#kotlin.Int#com.isupatches.android.wisefy.callbacks.ConnectToNetworkCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-util/connect-to-network.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection/WisefyNetworkConnectionUtil/connectToNetwork/#kotlin.String#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-util/connect-to-network.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection/WisefyNetworkConnectionUtil/coroutineDispatcherProvider/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-util/coroutine-dispatcher-provider.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection/WisefyNetworkConnectionUtil/delegate/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-util/delegate.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection/WisefyNetworkConnectionUtil/disconnectFromCurrentNetwork/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-util/disconnect-from-current-network.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection/WisefyNetworkConnectionUtil/disconnectFromCurrentNetwork/#com.isupatches.android.wisefy.callbacks.DisconnectFromCurrentNetworkCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-util/disconnect-from-current-network.md
-$dokka.location:com.isupatches.android.wisefy.networkconnection/WisefyNetworkConnectionUtil/networkConnectionScope/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-util/network-connection-scope.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.delegates////PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/index.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.delegates//LOG_TAG/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-l-o-g_-t-a-g.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.delegates/LegacyNetworkConnectionStatusApi///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api/index.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.delegates/LegacyNetworkConnectionStatusApi/attachNetworkWatcher/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api/attach-network-watcher.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.delegates/LegacyNetworkConnectionStatusApi/detachNetworkWatcher/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api/detach-network-watcher.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.delegates/LegacyNetworkConnectionStatusApi/isDeviceConnectedToMobileNetwork/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api/is-device-connected-to-mobile-network.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.delegates/LegacyNetworkConnectionStatusApi/isDeviceConnectedToMobileOrWifiNetwork/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api/is-device-connected-to-mobile-or-wifi-network.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.delegates/LegacyNetworkConnectionStatusApi/isDeviceConnectedToSSID/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api/is-device-connected-to-s-s-i-d.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.delegates/LegacyNetworkConnectionStatusApi/isDeviceConnectedToWifiNetwork/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api/is-device-connected-to-wifi-network.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.delegates/LegacyNetworkConnectionStatusApi/isDeviceRoaming/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api/is-device-roaming.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.delegates/LegacyNetworkConnectionStatusApiImpl///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/index.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.delegates/LegacyNetworkConnectionStatusApiImpl/LegacyNetworkConnectionStatusApiImpl/#android.net.wifi.WifiManager#android.net.ConnectivityManager#com.isupatches.android.wisefy.util.SdkUtil#com.isupatches.android.wisefy.logging.WisefyLogger?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/-legacy-network-connection-status-api-impl.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.delegates/LegacyNetworkConnectionStatusApiImpl/attachNetworkWatcher/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/attach-network-watcher.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.delegates/LegacyNetworkConnectionStatusApiImpl/connectionStatus/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/connection-status.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.delegates/LegacyNetworkConnectionStatusApiImpl/connectivityManager/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/connectivity-manager.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.delegates/LegacyNetworkConnectionStatusApiImpl/detachNetworkWatcher/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/detach-network-watcher.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.delegates/LegacyNetworkConnectionStatusApiImpl/doesNetworkHaveCapability/#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/does-network-have-capability.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.delegates/LegacyNetworkConnectionStatusApiImpl/doesNetworkHaveTransportTypeAndInternetCapability/#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/does-network-have-transport-type-and-internet-capability.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.delegates/LegacyNetworkConnectionStatusApiImpl/getActiveNetworkCapabilities/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/get-active-network-capabilities.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.delegates/LegacyNetworkConnectionStatusApiImpl/isDeviceConnectedToMobileNetwork/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/is-device-connected-to-mobile-network.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.delegates/LegacyNetworkConnectionStatusApiImpl/isDeviceConnectedToMobileOrWifiNetwork/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/is-device-connected-to-mobile-or-wifi-network.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.delegates/LegacyNetworkConnectionStatusApiImpl/isDeviceConnectedToSSID/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/is-device-connected-to-s-s-i-d.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.delegates/LegacyNetworkConnectionStatusApiImpl/isDeviceConnectedToWifiNetwork/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/is-device-connected-to-wifi-network.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.delegates/LegacyNetworkConnectionStatusApiImpl/isDeviceRoaming/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/is-device-roaming.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.delegates/LegacyNetworkConnectionStatusApiImpl/isNetworkConnected/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/is-network-connected.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.delegates/LegacyNetworkConnectionStatusApiImpl/logger/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/logger.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.delegates/LegacyNetworkConnectionStatusApiImpl/onAvailable/#android.net.Network/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/on-available.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.delegates/LegacyNetworkConnectionStatusApiImpl/onCapabilitiesChanged/#android.net.Network#android.net.NetworkCapabilities/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/on-capabilities-changed.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.delegates/LegacyNetworkConnectionStatusApiImpl/onLinkPropertiesChanged/#android.net.Network#android.net.LinkProperties/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/on-link-properties-changed.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.delegates/LegacyNetworkConnectionStatusApiImpl/onLosing/#android.net.Network#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/on-losing.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.delegates/LegacyNetworkConnectionStatusApiImpl/onLost/#android.net.Network/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/on-lost.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.delegates/LegacyNetworkConnectionStatusApiImpl/onUnavailable/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/on-unavailable.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.delegates/LegacyNetworkConnectionStatusApiImpl/sdkUtil/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/sdk-util.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.delegates/LegacyNetworkConnectionStatusApiImpl/startListeningForNetworkChanges/#android.net.ConnectivityManager/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/start-listening-for-network-changes.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.delegates/LegacyNetworkConnectionStatusApiImpl/stopListeningForNetworkChanges/#android.net.ConnectivityManager/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/stop-listening-for-network-changes.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.delegates/LegacyNetworkConnectionStatusApiImpl/wifiManager/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-api-impl/wifi-manager.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.delegates/LegacyNetworkConnectionStatusDelegate///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-delegate/index.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.delegates/LegacyNetworkConnectionStatusDelegate/LegacyNetworkConnectionStatusDelegate/#android.net.ConnectivityManager#android.net.wifi.WifiManager#com.isupatches.android.wisefy.util.SdkUtil#com.isupatches.android.wisefy.logging.WisefyLogger?#com.isupatches.android.wisefy.networkconnectionstatus.delegates.LegacyNetworkConnectionStatusApi/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-delegate/-legacy-network-connection-status-delegate.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.delegates/LegacyNetworkConnectionStatusDelegate/attachNetworkWatcher/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-delegate/attach-network-watcher.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.delegates/LegacyNetworkConnectionStatusDelegate/detachNetworkWatcher/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-delegate/detach-network-watcher.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.delegates/LegacyNetworkConnectionStatusDelegate/impl/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-delegate/impl.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.delegates/LegacyNetworkConnectionStatusDelegate/isDeviceConnectedToMobileNetwork/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-delegate/is-device-connected-to-mobile-network.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.delegates/LegacyNetworkConnectionStatusDelegate/isDeviceConnectedToMobileOrWifiNetwork/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-delegate/is-device-connected-to-mobile-or-wifi-network.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.delegates/LegacyNetworkConnectionStatusDelegate/isDeviceConnectedToSSID/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-delegate/is-device-connected-to-s-s-i-d.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.delegates/LegacyNetworkConnectionStatusDelegate/isDeviceConnectedToWifiNetwork/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-delegate/is-device-connected-to-wifi-network.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.delegates/LegacyNetworkConnectionStatusDelegate/isDeviceRoaming/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.delegates/-legacy-network-connection-status-delegate/is-device-roaming.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.entities////PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/index.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.entities/NetworkConnectionStatus.AVAILABLE///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-a-v-a-i-l-a-b-l-e/index.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.entities/NetworkConnectionStatus.AVAILABLE/name/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-a-v-a-i-l-a-b-l-e/name.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.entities/NetworkConnectionStatus.AVAILABLE/ordinal/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-a-v-a-i-l-a-b-l-e/ordinal.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.entities/NetworkConnectionStatus.LOSING///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-l-o-s-i-n-g/index.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.entities/NetworkConnectionStatus.LOSING/name/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-l-o-s-i-n-g/name.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.entities/NetworkConnectionStatus.LOSING/ordinal/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-l-o-s-i-n-g/ordinal.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.entities/NetworkConnectionStatus.LOST///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-l-o-s-t/index.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.entities/NetworkConnectionStatus.LOST/name/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-l-o-s-t/name.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.entities/NetworkConnectionStatus.LOST/ordinal/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-l-o-s-t/ordinal.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.entities/NetworkConnectionStatus.UNAVAILABLE///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-u-n-a-v-a-i-l-a-b-l-e/index.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.entities/NetworkConnectionStatus.UNAVAILABLE/name/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-u-n-a-v-a-i-l-a-b-l-e/name.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.entities/NetworkConnectionStatus.UNAVAILABLE/ordinal/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-u-n-a-v-a-i-l-a-b-l-e/ordinal.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.entities/NetworkConnectionStatus///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/index.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus.entities/NetworkConnectionStatus/NetworkConnectionStatus/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus.entities/-network-connection-status/-network-connection-status.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus////PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/index.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus//LOG_TAG/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-l-o-g_-t-a-g.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus/NetworkConnectionStatusApi///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/index.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus/NetworkConnectionStatusApi/attachNetworkWatcher/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/attach-network-watcher.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus/NetworkConnectionStatusApi/detachNetworkWatcher/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/detach-network-watcher.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus/NetworkConnectionStatusApi/isDeviceConnectedToMobileNetwork/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/is-device-connected-to-mobile-network.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus/NetworkConnectionStatusApi/isDeviceConnectedToMobileOrWifiNetwork/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/is-device-connected-to-mobile-or-wifi-network.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus/NetworkConnectionStatusApi/isDeviceConnectedToSSID/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/is-device-connected-to-s-s-i-d.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus/NetworkConnectionStatusApi/isDeviceConnectedToWifiNetwork/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/is-device-connected-to-wifi-network.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus/NetworkConnectionStatusApi/isDeviceRoaming/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-api/is-device-roaming.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus/NetworkConnectionStatusUtil///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-network-connection-status-util/index.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus/WisefyNetworkConnectionStatusUtil///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-wisefy-network-connection-status-util/index.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus/WisefyNetworkConnectionStatusUtil/WisefyNetworkConnectionStatusUtil/#android.net.ConnectivityManager#com.isupatches.android.wisefy.logging.WisefyLogger?#com.isupatches.android.wisefy.util.SdkUtil#android.net.wifi.WifiManager/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-wisefy-network-connection-status-util/-wisefy-network-connection-status-util.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus/WisefyNetworkConnectionStatusUtil/attachNetworkWatcher/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-wisefy-network-connection-status-util/attach-network-watcher.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus/WisefyNetworkConnectionStatusUtil/delegate/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-wisefy-network-connection-status-util/delegate.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus/WisefyNetworkConnectionStatusUtil/detachNetworkWatcher/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-wisefy-network-connection-status-util/detach-network-watcher.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus/WisefyNetworkConnectionStatusUtil/isDeviceConnectedToMobileNetwork/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-wisefy-network-connection-status-util/is-device-connected-to-mobile-network.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus/WisefyNetworkConnectionStatusUtil/isDeviceConnectedToMobileOrWifiNetwork/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-wisefy-network-connection-status-util/is-device-connected-to-mobile-or-wifi-network.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus/WisefyNetworkConnectionStatusUtil/isDeviceConnectedToSSID/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-wisefy-network-connection-status-util/is-device-connected-to-s-s-i-d.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus/WisefyNetworkConnectionStatusUtil/isDeviceConnectedToWifiNetwork/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-wisefy-network-connection-status-util/is-device-connected-to-wifi-network.md
-$dokka.location:com.isupatches.android.wisefy.networkconnectionstatus/WisefyNetworkConnectionStatusUtil/isDeviceRoaming/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkconnectionstatus/-wisefy-network-connection-status-util/is-device-roaming.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo.delegates////PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/index.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo.delegates//LOG_TAG/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-l-o-g_-t-a-g.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo.delegates/LegacyNetworkInfoApi///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-api/index.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo.delegates/LegacyNetworkInfoApi/getCurrentNetwork/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-api/get-current-network.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo.delegates/LegacyNetworkInfoApi/getCurrentNetworkInfo/#android.net.Network?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-api/get-current-network-info.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo.delegates/LegacyNetworkInfoApi/getIP/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-api/get-i-p.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo.delegates/LegacyNetworkInfoApiImpl///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-api-impl/index.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo.delegates/LegacyNetworkInfoApiImpl/LegacyNetworkInfoApiImpl/#android.net.wifi.WifiManager#android.net.ConnectivityManager#com.isupatches.android.wisefy.logging.WisefyLogger?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-api-impl/-legacy-network-info-api-impl.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo.delegates/LegacyNetworkInfoApiImpl/connectivityManager/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-api-impl/connectivity-manager.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo.delegates/LegacyNetworkInfoApiImpl/getCurrentNetwork/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-api-impl/get-current-network.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo.delegates/LegacyNetworkInfoApiImpl/getCurrentNetworkInfo/#android.net.Network?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-api-impl/get-current-network-info.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo.delegates/LegacyNetworkInfoApiImpl/getIP/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-api-impl/get-i-p.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo.delegates/LegacyNetworkInfoApiImpl/logger/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-api-impl/logger.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo.delegates/LegacyNetworkInfoApiImpl/wifiManager/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-api-impl/wifi-manager.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo.delegates/LegacyNetworkInfoDelegate///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-delegate/index.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo.delegates/LegacyNetworkInfoDelegate/LegacyNetworkInfoDelegate/#android.net.wifi.WifiManager#android.net.ConnectivityManager#com.isupatches.android.wisefy.logging.WisefyLogger?#com.isupatches.android.wisefy.networkinfo.delegates.LegacyNetworkInfoApi/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-delegate/-legacy-network-info-delegate.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo.delegates/LegacyNetworkInfoDelegate/getCurrentNetwork/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-delegate/get-current-network.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo.delegates/LegacyNetworkInfoDelegate/getCurrentNetworkInfo/#android.net.Network?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-delegate/get-current-network-info.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo.delegates/LegacyNetworkInfoDelegate/getIP/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-delegate/get-i-p.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo.delegates/LegacyNetworkInfoDelegate/impl/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo.delegates/-legacy-network-info-delegate/impl.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo.entities////PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo.entities/index.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo.entities/CurrentNetworkData///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo.entities/-current-network-data/index.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo.entities/CurrentNetworkData/CurrentNetworkData/#android.net.wifi.WifiInfo/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo.entities/-current-network-data/-current-network-data.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo.entities/CurrentNetworkData/component1/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo.entities/-current-network-data/component1.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo.entities/CurrentNetworkData/copy/#android.net.wifi.WifiInfo/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo.entities/-current-network-data/copy.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo.entities/CurrentNetworkData/data/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo.entities/-current-network-data/data.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo.entities/CurrentNetworkInfoData///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo.entities/-current-network-info-data/index.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo.entities/CurrentNetworkInfoData/CurrentNetworkInfoData/#android.net.NetworkCapabilities?#android.net.LinkProperties?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo.entities/-current-network-info-data/-current-network-info-data.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo.entities/CurrentNetworkInfoData/capabilities/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo.entities/-current-network-info-data/capabilities.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo.entities/CurrentNetworkInfoData/component1/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo.entities/-current-network-info-data/component1.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo.entities/CurrentNetworkInfoData/component2/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo.entities/-current-network-info-data/component2.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo.entities/CurrentNetworkInfoData/copy/#android.net.NetworkCapabilities?#android.net.LinkProperties?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo.entities/-current-network-info-data/copy.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo.entities/CurrentNetworkInfoData/linkProperties/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo.entities/-current-network-info-data/link-properties.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo////PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo/index.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo//LOG_TAG/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo/-l-o-g_-t-a-g.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo/NetworkInfoApi///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo/-network-info-api/index.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo/NetworkInfoApi/getCurrentNetwork/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo/-network-info-api/get-current-network.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo/NetworkInfoApi/getCurrentNetworkInfo/#android.net.Network?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo/-network-info-api/get-current-network-info.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo/NetworkInfoApi/getIP/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo/-network-info-api/get-i-p.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo/NetworkInfoApiAsync///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo/-network-info-api-async/index.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo/NetworkInfoApiAsync/getCurrentNetwork/#com.isupatches.android.wisefy.callbacks.GetCurrentNetworkCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo/-network-info-api-async/get-current-network.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo/NetworkInfoApiAsync/getCurrentNetworkInfo/#com.isupatches.android.wisefy.callbacks.GetCurrentNetworkInfoCallbacks?#android.net.Network?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo/-network-info-api-async/get-current-network-info.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo/NetworkInfoApiAsync/getIP/#com.isupatches.android.wisefy.callbacks.GetIPCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo/-network-info-api-async/get-i-p.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo/NetworkInfoUtil///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo/-network-info-util/index.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo/WisefyNetworkInfoUtil///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-util/index.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo/WisefyNetworkInfoUtil/WisefyNetworkInfoUtil/#com.isupatches.android.wisefy.util.coroutines.CoroutineDispatcherProvider#android.net.ConnectivityManager#com.isupatches.android.wisefy.logging.WisefyLogger?#android.net.wifi.WifiManager/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-util/-wisefy-network-info-util.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo/WisefyNetworkInfoUtil/coroutineDispatcherProvider/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-util/coroutine-dispatcher-provider.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo/WisefyNetworkInfoUtil/delegate/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-util/delegate.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo/WisefyNetworkInfoUtil/getCurrentNetwork/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-util/get-current-network.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo/WisefyNetworkInfoUtil/getCurrentNetwork/#com.isupatches.android.wisefy.callbacks.GetCurrentNetworkCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-util/get-current-network.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo/WisefyNetworkInfoUtil/getCurrentNetworkInfo/#android.net.Network?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-util/get-current-network-info.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo/WisefyNetworkInfoUtil/getCurrentNetworkInfo/#com.isupatches.android.wisefy.callbacks.GetCurrentNetworkInfoCallbacks?#android.net.Network?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-util/get-current-network-info.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo/WisefyNetworkInfoUtil/getIP/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-util/get-i-p.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo/WisefyNetworkInfoUtil/getIP/#com.isupatches.android.wisefy.callbacks.GetIPCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-util/get-i-p.md
-$dokka.location:com.isupatches.android.wisefy.networkinfo/WisefyNetworkInfoUtil/networkInfoScope/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-util/network-info-scope.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork.delegates////PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/index.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork.delegates/Android29RemoveNetworkApi///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-android29-remove-network-api/index.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork.delegates/Android29RemoveNetworkApi/removeNetwork/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-android29-remove-network-api/remove-network.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork.delegates/Android29RemoveNetworkApiImpl///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-android29-remove-network-api-impl/index.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork.delegates/Android29RemoveNetworkApiImpl/Android29RemoveNetworkApiImpl/#android.net.wifi.WifiManager/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-android29-remove-network-api-impl/-android29-remove-network-api-impl.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork.delegates/Android29RemoveNetworkApiImpl/removeNetwork/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-android29-remove-network-api-impl/remove-network.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork.delegates/Android29RemoveNetworkApiImpl/wifiManager/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-android29-remove-network-api-impl/wifi-manager.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork.delegates/Android29RemoveNetworkDelegate///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-android29-remove-network-delegate/index.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork.delegates/Android29RemoveNetworkDelegate/Android29RemoveNetworkDelegate/#android.net.wifi.WifiManager#com.isupatches.android.wisefy.removenetwork.delegates.Android29RemoveNetworkApi/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-android29-remove-network-delegate/-android29-remove-network-delegate.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork.delegates/Android29RemoveNetworkDelegate/impl/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-android29-remove-network-delegate/impl.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork.delegates/Android29RemoveNetworkDelegate/removeNetwork/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-android29-remove-network-delegate/remove-network.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork.delegates/Android29RemoveNetworkDelegate/wifiManager/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-android29-remove-network-delegate/wifi-manager.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork.delegates/LegacyRemoveNetworkApi///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-api/index.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork.delegates/LegacyRemoveNetworkApi/removeNetwork/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-api/remove-network.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork.delegates/LegacyRemoveNetworkApiImpl///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-api-impl/index.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork.delegates/LegacyRemoveNetworkApiImpl/LegacyRemoveNetworkApiImpl/#android.net.wifi.WifiManager#com.isupatches.android.wisefy.savednetworks.SavedNetworkUtil/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-api-impl/-legacy-remove-network-api-impl.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork.delegates/LegacyRemoveNetworkApiImpl/removeNetwork/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-api-impl/remove-network.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork.delegates/LegacyRemoveNetworkApiImpl/savedNetworkUtil/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-api-impl/saved-network-util.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork.delegates/LegacyRemoveNetworkApiImpl/wifiManager/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-api-impl/wifi-manager.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork.delegates/LegacyRemoveNetworkDelegate///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-delegate/index.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork.delegates/LegacyRemoveNetworkDelegate/LegacyRemoveNetworkDelegate/#android.net.wifi.WifiManager#com.isupatches.android.wisefy.savednetworks.SavedNetworkUtil#com.isupatches.android.wisefy.removenetwork.delegates.LegacyRemoveNetworkApi/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-delegate/-legacy-remove-network-delegate.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork.delegates/LegacyRemoveNetworkDelegate/impl/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-delegate/impl.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork.delegates/LegacyRemoveNetworkDelegate/removeNetwork/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-delegate/remove-network.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork.delegates/LegacyRemoveNetworkDelegate/savedNetworkUtil/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-delegate/saved-network-util.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork.delegates/LegacyRemoveNetworkDelegate/wifiManager/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork.delegates/-legacy-remove-network-delegate/wifi-manager.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork.entities////PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork.entities/index.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork.entities/RemoveNetworkResult.NetworkNotFound///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-network-not-found/index.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork.entities/RemoveNetworkResult.ResultCode///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-result-code/index.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork.entities/RemoveNetworkResult.ResultCode/ResultCode/#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-result-code/-result-code.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork.entities/RemoveNetworkResult.ResultCode/component1/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-result-code/component1.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork.entities/RemoveNetworkResult.ResultCode/copy/#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-result-code/copy.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork.entities/RemoveNetworkResult.ResultCode/data/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-result-code/data.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork.entities/RemoveNetworkResult.Succeeded///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-succeeded/index.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork.entities/RemoveNetworkResult.Succeeded/Succeeded/#kotlin.Boolean/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-succeeded/-succeeded.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork.entities/RemoveNetworkResult.Succeeded/component1/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-succeeded/component1.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork.entities/RemoveNetworkResult.Succeeded/copy/#kotlin.Boolean/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-succeeded/copy.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork.entities/RemoveNetworkResult.Succeeded/data/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-succeeded/data.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork.entities/RemoveNetworkResult///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/index.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork.entities/RemoveNetworkResult/RemoveNetworkResult/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-remove-network-result.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork////PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork/index.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork//LOG_TAG/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork/-l-o-g_-t-a-g.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork/RemoveNetworkApi///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork/-remove-network-api/index.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork/RemoveNetworkApi/removeNetwork/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork/-remove-network-api/remove-network.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork/RemoveNetworkApiAsync///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork/-remove-network-api-async/index.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork/RemoveNetworkApiAsync/removeNetwork/#kotlin.String#com.isupatches.android.wisefy.callbacks.RemoveNetworkCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork/-remove-network-api-async/remove-network.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork/RemoveNetworkUtil///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork/-remove-network-util/index.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork/WisefyRemoveNetworkUtil///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork/-wisefy-remove-network-util/index.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork/WisefyRemoveNetworkUtil/WisefyRemoveNetworkUtil/#com.isupatches.android.wisefy.util.coroutines.CoroutineDispatcherProvider#com.isupatches.android.wisefy.logging.WisefyLogger?#com.isupatches.android.wisefy.savednetworks.SavedNetworkUtil#com.isupatches.android.wisefy.util.SdkUtil#android.net.wifi.WifiManager/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork/-wisefy-remove-network-util/-wisefy-remove-network-util.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork/WisefyRemoveNetworkUtil/coroutineDispatcherProvider/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork/-wisefy-remove-network-util/coroutine-dispatcher-provider.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork/WisefyRemoveNetworkUtil/delegate/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork/-wisefy-remove-network-util/delegate.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork/WisefyRemoveNetworkUtil/removeNetwork/#kotlin.String#com.isupatches.android.wisefy.callbacks.RemoveNetworkCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork/-wisefy-remove-network-util/remove-network.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork/WisefyRemoveNetworkUtil/removeNetwork/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork/-wisefy-remove-network-util/remove-network.md
-$dokka.location:com.isupatches.android.wisefy.removenetwork/WisefyRemoveNetworkUtil/removeNetworkScope/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.removenetwork/-wisefy-remove-network-util/remove-network-scope.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates////PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/index.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates//ANDROID_Q_SAVED_NETWORK_WARNING/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-a-n-d-r-o-i-d_-q_-s-a-v-e-d_-n-e-t-w-o-r-k_-w-a-r-n-i-n-g.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/Android29SavedNetworkApi///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-api/index.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/Android29SavedNetworkApi/getSavedNetworks/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-api/get-saved-networks.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/Android29SavedNetworkApi/isNetworkSaved/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-api/is-network-saved.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/Android29SavedNetworkApi/searchForSavedNetwork/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-api/search-for-saved-network.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/Android29SavedNetworkApi/searchForSavedNetworks/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-api/search-for-saved-networks.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/Android29SavedNetworkApiImpl///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-api-impl/index.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/Android29SavedNetworkApiImpl/Android29SavedNetworkApiImpl/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-api-impl/-android29-saved-network-api-impl.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/Android29SavedNetworkApiImpl/getSavedNetworks/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-api-impl/get-saved-networks.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/Android29SavedNetworkApiImpl/isNetworkSaved/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-api-impl/is-network-saved.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/Android29SavedNetworkApiImpl/searchForSavedNetwork/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-api-impl/search-for-saved-network.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/Android29SavedNetworkApiImpl/searchForSavedNetworks/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-api-impl/search-for-saved-networks.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/Android29SavedNetworkDelegate///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-delegate/index.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/Android29SavedNetworkDelegate/Android29SavedNetworkDelegate/#com.isupatches.android.wisefy.savednetworks.delegates.Android29SavedNetworkApiImpl/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-delegate/-android29-saved-network-delegate.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/Android29SavedNetworkDelegate/getSavedNetworks/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-delegate/get-saved-networks.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/Android29SavedNetworkDelegate/impl/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-delegate/impl.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/Android29SavedNetworkDelegate/isNetworkSaved/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-delegate/is-network-saved.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/Android29SavedNetworkDelegate/searchForSavedNetwork/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-delegate/search-for-saved-network.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/Android29SavedNetworkDelegate/searchForSavedNetworks/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android29-saved-network-delegate/search-for-saved-networks.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/Android30SavedNetworkApi///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api/index.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/Android30SavedNetworkApi/getSavedNetworks/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api/get-saved-networks.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/Android30SavedNetworkApi/isNetworkSaved/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api/is-network-saved.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/Android30SavedNetworkApi/searchForSavedNetwork/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api/search-for-saved-network.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/Android30SavedNetworkApi/searchForSavedNetworks/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api/search-for-saved-networks.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/Android30SavedNetworkApiImpl///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api-impl/index.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/Android30SavedNetworkApiImpl/Android30SavedNetworkApiImpl/#android.net.wifi.WifiManager/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api-impl/-android30-saved-network-api-impl.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/Android30SavedNetworkApiImpl/getSavedNetworks/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api-impl/get-saved-networks.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/Android30SavedNetworkApiImpl/isNetworkSaved/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api-impl/is-network-saved.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/Android30SavedNetworkApiImpl/matchesRegexForSSID/#android.net.wifi.WifiNetworkSuggestion#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api-impl/matches-regex-for-s-s-i-d.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/Android30SavedNetworkApiImpl/searchForSavedNetwork/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api-impl/search-for-saved-network.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/Android30SavedNetworkApiImpl/searchForSavedNetworks/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api-impl/search-for-saved-networks.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/Android30SavedNetworkApiImpl/wifiManager/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-api-impl/wifi-manager.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/Android30SavedNetworkDelegate///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-delegate/index.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/Android30SavedNetworkDelegate/Android30SavedNetworkDelegate/#android.net.wifi.WifiManager#com.isupatches.android.wisefy.savednetworks.delegates.Android30SavedNetworkApiImpl/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-delegate/-android30-saved-network-delegate.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/Android30SavedNetworkDelegate/getSavedNetworks/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-delegate/get-saved-networks.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/Android30SavedNetworkDelegate/impl/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-delegate/impl.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/Android30SavedNetworkDelegate/isNetworkSaved/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-delegate/is-network-saved.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/Android30SavedNetworkDelegate/searchForSavedNetwork/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-delegate/search-for-saved-network.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/Android30SavedNetworkDelegate/searchForSavedNetworks/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-android30-saved-network-delegate/search-for-saved-networks.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/LegacySavedNetworkApi///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api/index.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/LegacySavedNetworkApi/getSavedNetworks/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api/get-saved-networks.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/LegacySavedNetworkApi/isNetworkSaved/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api/is-network-saved.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/LegacySavedNetworkApi/searchForSavedNetwork/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api/search-for-saved-network.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/LegacySavedNetworkApi/searchForSavedNetworks/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api/search-for-saved-networks.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/LegacySavedNetworkApiImpl///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api-impl/index.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/LegacySavedNetworkApiImpl/LegacySavedNetworkApiImpl/#android.net.wifi.WifiManager/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api-impl/-legacy-saved-network-api-impl.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/LegacySavedNetworkApiImpl/getSavedNetworks/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api-impl/get-saved-networks.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/LegacySavedNetworkApiImpl/isNetworkSaved/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api-impl/is-network-saved.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/LegacySavedNetworkApiImpl/matchesRegexForSSID/#android.net.wifi.WifiConfiguration#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api-impl/matches-regex-for-s-s-i-d.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/LegacySavedNetworkApiImpl/searchForSavedNetwork/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api-impl/search-for-saved-network.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/LegacySavedNetworkApiImpl/searchForSavedNetworks/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api-impl/search-for-saved-networks.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/LegacySavedNetworkApiImpl/wifiManager/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-api-impl/wifi-manager.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/LegacySavedNetworkDelegate///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-delegate/index.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/LegacySavedNetworkDelegate/LegacySavedNetworkDelegate/#android.net.wifi.WifiManager#com.isupatches.android.wisefy.savednetworks.delegates.LegacySavedNetworkApi/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-delegate/-legacy-saved-network-delegate.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/LegacySavedNetworkDelegate/getSavedNetworks/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-delegate/get-saved-networks.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/LegacySavedNetworkDelegate/impl/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-delegate/impl.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/LegacySavedNetworkDelegate/isNetworkSaved/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-delegate/is-network-saved.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/LegacySavedNetworkDelegate/searchForSavedNetwork/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-delegate/search-for-saved-network.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.delegates/LegacySavedNetworkDelegate/searchForSavedNetworks/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.delegates/-legacy-saved-network-delegate/search-for-saved-networks.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.entities////PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.entities/index.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.entities/SavedNetworkData.Configuration///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-configuration/index.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.entities/SavedNetworkData.Configuration/Configuration/#android.net.wifi.WifiConfiguration/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-configuration/-configuration.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.entities/SavedNetworkData.Configuration/component1/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-configuration/component1.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.entities/SavedNetworkData.Configuration/copy/#android.net.wifi.WifiConfiguration/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-configuration/copy.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.entities/SavedNetworkData.Configuration/data/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-configuration/data.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.entities/SavedNetworkData.Suggestion///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-suggestion/index.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.entities/SavedNetworkData.Suggestion/Suggestion/#android.net.wifi.WifiNetworkSuggestion/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-suggestion/-suggestion.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.entities/SavedNetworkData.Suggestion/component1/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-suggestion/component1.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.entities/SavedNetworkData.Suggestion/copy/#android.net.wifi.WifiNetworkSuggestion/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-suggestion/copy.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.entities/SavedNetworkData.Suggestion/data/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-suggestion/data.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.entities/SavedNetworkData///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks.entities/SavedNetworkData/SavedNetworkData/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-saved-network-data.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks////PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks/index.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks//LOG_TAG/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks/-l-o-g_-t-a-g.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks/SavedNetworkApi///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks/-saved-network-api/index.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks/SavedNetworkApi/getSavedNetworks/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks/-saved-network-api/get-saved-networks.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks/SavedNetworkApi/isNetworkSaved/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks/-saved-network-api/is-network-saved.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks/SavedNetworkApi/searchForSavedNetwork/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks/-saved-network-api/search-for-saved-network.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks/SavedNetworkApi/searchForSavedNetworks/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks/-saved-network-api/search-for-saved-networks.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks/SavedNetworkApiAsync///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks/-saved-network-api-async/index.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks/SavedNetworkApiAsync/getSavedNetworks/#com.isupatches.android.wisefy.callbacks.GetSavedNetworksCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks/-saved-network-api-async/get-saved-networks.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks/SavedNetworkApiAsync/searchForSavedNetwork/#kotlin.String#com.isupatches.android.wisefy.callbacks.SearchForSavedNetworkCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks/-saved-network-api-async/search-for-saved-network.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks/SavedNetworkApiAsync/searchForSavedNetworks/#kotlin.String#com.isupatches.android.wisefy.callbacks.SearchForSavedNetworksCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks/-saved-network-api-async/search-for-saved-networks.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks/SavedNetworkUtil///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks/-saved-network-util/index.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks/WisefySavedNetworkUtil///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-util/index.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks/WisefySavedNetworkUtil/WisefySavedNetworkUtil/#com.isupatches.android.wisefy.util.coroutines.CoroutineDispatcherProvider#com.isupatches.android.wisefy.logging.WisefyLogger?#com.isupatches.android.wisefy.util.SdkUtil#android.net.wifi.WifiManager/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-util/-wisefy-saved-network-util.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks/WisefySavedNetworkUtil/coroutineDispatcherProvider/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-util/coroutine-dispatcher-provider.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks/WisefySavedNetworkUtil/delegate/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-util/delegate.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks/WisefySavedNetworkUtil/getSavedNetworks/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-util/get-saved-networks.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks/WisefySavedNetworkUtil/getSavedNetworks/#com.isupatches.android.wisefy.callbacks.GetSavedNetworksCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-util/get-saved-networks.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks/WisefySavedNetworkUtil/isNetworkSaved/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-util/is-network-saved.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks/WisefySavedNetworkUtil/savedNetworkScope/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-util/saved-network-scope.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks/WisefySavedNetworkUtil/searchForSavedNetwork/#kotlin.String#com.isupatches.android.wisefy.callbacks.SearchForSavedNetworkCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-util/search-for-saved-network.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks/WisefySavedNetworkUtil/searchForSavedNetwork/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-util/search-for-saved-network.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks/WisefySavedNetworkUtil/searchForSavedNetworks/#kotlin.String#com.isupatches.android.wisefy.callbacks.SearchForSavedNetworksCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-util/search-for-saved-networks.md
-$dokka.location:com.isupatches.android.wisefy.savednetworks/WisefySavedNetworkUtil/searchForSavedNetworks/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-util/search-for-saved-networks.md
-$dokka.location:com.isupatches.android.wisefy.security.delegates////PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security.delegates/index.md
-$dokka.location:com.isupatches.android.wisefy.security.delegates/LegacySecurityApi///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api/index.md
-$dokka.location:com.isupatches.android.wisefy.security.delegates/LegacySecurityApi/isNetworkEAP/#android.net.wifi.ScanResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api/is-network-e-a-p.md
-$dokka.location:com.isupatches.android.wisefy.security.delegates/LegacySecurityApi/isNetworkPSK/#android.net.wifi.ScanResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api/is-network-p-s-k.md
-$dokka.location:com.isupatches.android.wisefy.security.delegates/LegacySecurityApi/isNetworkSecure/#android.net.wifi.ScanResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api/is-network-secure.md
-$dokka.location:com.isupatches.android.wisefy.security.delegates/LegacySecurityApi/isNetworkWEP/#android.net.wifi.ScanResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api/is-network-w-e-p.md
-$dokka.location:com.isupatches.android.wisefy.security.delegates/LegacySecurityApi/isNetworkWPA/#android.net.wifi.ScanResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api/is-network-w-p-a.md
-$dokka.location:com.isupatches.android.wisefy.security.delegates/LegacySecurityApi/isNetworkWPA2/#android.net.wifi.ScanResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api/is-network-w-p-a2.md
-$dokka.location:com.isupatches.android.wisefy.security.delegates/LegacySecurityApi/isNetworkWPA3/#android.net.wifi.ScanResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api/is-network-w-p-a3.md
-$dokka.location:com.isupatches.android.wisefy.security.delegates/LegacySecurityApiImpl///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api-impl/index.md
-$dokka.location:com.isupatches.android.wisefy.security.delegates/LegacySecurityApiImpl/LegacySecurityApiImpl/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api-impl/-legacy-security-api-impl.md
-$dokka.location:com.isupatches.android.wisefy.security.delegates/LegacySecurityApiImpl/containsCapability/#android.net.wifi.ScanResult?#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api-impl/contains-capability.md
-$dokka.location:com.isupatches.android.wisefy.security.delegates/LegacySecurityApiImpl/isNetworkEAP/#android.net.wifi.ScanResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api-impl/is-network-e-a-p.md
-$dokka.location:com.isupatches.android.wisefy.security.delegates/LegacySecurityApiImpl/isNetworkPSK/#android.net.wifi.ScanResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api-impl/is-network-p-s-k.md
-$dokka.location:com.isupatches.android.wisefy.security.delegates/LegacySecurityApiImpl/isNetworkSecure/#android.net.wifi.ScanResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api-impl/is-network-secure.md
-$dokka.location:com.isupatches.android.wisefy.security.delegates/LegacySecurityApiImpl/isNetworkWEP/#android.net.wifi.ScanResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api-impl/is-network-w-e-p.md
-$dokka.location:com.isupatches.android.wisefy.security.delegates/LegacySecurityApiImpl/isNetworkWPA/#android.net.wifi.ScanResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api-impl/is-network-w-p-a.md
-$dokka.location:com.isupatches.android.wisefy.security.delegates/LegacySecurityApiImpl/isNetworkWPA2/#android.net.wifi.ScanResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api-impl/is-network-w-p-a2.md
-$dokka.location:com.isupatches.android.wisefy.security.delegates/LegacySecurityApiImpl/isNetworkWPA3/#android.net.wifi.ScanResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-api-impl/is-network-w-p-a3.md
-$dokka.location:com.isupatches.android.wisefy.security.delegates/LegacySecurityDelegate///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-delegate/index.md
-$dokka.location:com.isupatches.android.wisefy.security.delegates/LegacySecurityDelegate/LegacySecurityDelegate/#com.isupatches.android.wisefy.security.delegates.LegacySecurityApi/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-delegate/-legacy-security-delegate.md
-$dokka.location:com.isupatches.android.wisefy.security.delegates/LegacySecurityDelegate/impl/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-delegate/impl.md
-$dokka.location:com.isupatches.android.wisefy.security.delegates/LegacySecurityDelegate/isNetworkEAP/#android.net.wifi.ScanResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-delegate/is-network-e-a-p.md
-$dokka.location:com.isupatches.android.wisefy.security.delegates/LegacySecurityDelegate/isNetworkPSK/#android.net.wifi.ScanResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-delegate/is-network-p-s-k.md
-$dokka.location:com.isupatches.android.wisefy.security.delegates/LegacySecurityDelegate/isNetworkSecure/#android.net.wifi.ScanResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-delegate/is-network-secure.md
-$dokka.location:com.isupatches.android.wisefy.security.delegates/LegacySecurityDelegate/isNetworkWEP/#android.net.wifi.ScanResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-delegate/is-network-w-e-p.md
-$dokka.location:com.isupatches.android.wisefy.security.delegates/LegacySecurityDelegate/isNetworkWPA/#android.net.wifi.ScanResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-delegate/is-network-w-p-a.md
-$dokka.location:com.isupatches.android.wisefy.security.delegates/LegacySecurityDelegate/isNetworkWPA2/#android.net.wifi.ScanResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-delegate/is-network-w-p-a2.md
-$dokka.location:com.isupatches.android.wisefy.security.delegates/LegacySecurityDelegate/isNetworkWPA3/#android.net.wifi.ScanResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security.delegates/-legacy-security-delegate/is-network-w-p-a3.md
-$dokka.location:com.isupatches.android.wisefy.security.entities////PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security.entities/index.md
-$dokka.location:com.isupatches.android.wisefy.security.entities//EAP/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security.entities/-e-a-p.md
-$dokka.location:com.isupatches.android.wisefy.security.entities//PSK/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security.entities/-p-s-k.md
-$dokka.location:com.isupatches.android.wisefy.security.entities//WEP/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security.entities/-w-e-p.md
-$dokka.location:com.isupatches.android.wisefy.security.entities//WPA/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security.entities/-w-p-a.md
-$dokka.location:com.isupatches.android.wisefy.security.entities//WPA2/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security.entities/-w-p-a2.md
-$dokka.location:com.isupatches.android.wisefy.security.entities//WPA3/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security.entities/-w-p-a3.md
-$dokka.location:com.isupatches.android.wisefy.security.entities/Capability///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security.entities/-capability/index.md
-$dokka.location:com.isupatches.android.wisefy.security.entities/Capability/Capability/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security.entities/-capability/-capability.md
-$dokka.location:com.isupatches.android.wisefy.security////PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security/index.md
-$dokka.location:com.isupatches.android.wisefy.security//LOG_TAG/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security/-l-o-g_-t-a-g.md
-$dokka.location:com.isupatches.android.wisefy.security/SecurityApi///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security/-security-api/index.md
-$dokka.location:com.isupatches.android.wisefy.security/SecurityApi/isNetworkEAP/#android.net.wifi.ScanResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security/-security-api/is-network-e-a-p.md
-$dokka.location:com.isupatches.android.wisefy.security/SecurityApi/isNetworkPSK/#android.net.wifi.ScanResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security/-security-api/is-network-p-s-k.md
-$dokka.location:com.isupatches.android.wisefy.security/SecurityApi/isNetworkSecure/#android.net.wifi.ScanResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security/-security-api/is-network-secure.md
-$dokka.location:com.isupatches.android.wisefy.security/SecurityApi/isNetworkWEP/#android.net.wifi.ScanResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security/-security-api/is-network-w-e-p.md
-$dokka.location:com.isupatches.android.wisefy.security/SecurityApi/isNetworkWPA/#android.net.wifi.ScanResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security/-security-api/is-network-w-p-a.md
-$dokka.location:com.isupatches.android.wisefy.security/SecurityApi/isNetworkWPA2/#android.net.wifi.ScanResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security/-security-api/is-network-w-p-a2.md
-$dokka.location:com.isupatches.android.wisefy.security/SecurityApi/isNetworkWPA3/#android.net.wifi.ScanResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security/-security-api/is-network-w-p-a3.md
-$dokka.location:com.isupatches.android.wisefy.security/SecurityUtil///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security/-security-util/index.md
-$dokka.location:com.isupatches.android.wisefy.security/WisefySecurityUtil///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security/-wisefy-security-util/index.md
-$dokka.location:com.isupatches.android.wisefy.security/WisefySecurityUtil/WisefySecurityUtil/#com.isupatches.android.wisefy.logging.WisefyLogger?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security/-wisefy-security-util/-wisefy-security-util.md
-$dokka.location:com.isupatches.android.wisefy.security/WisefySecurityUtil/delegate/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security/-wisefy-security-util/delegate.md
-$dokka.location:com.isupatches.android.wisefy.security/WisefySecurityUtil/isNetworkEAP/#android.net.wifi.ScanResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security/-wisefy-security-util/is-network-e-a-p.md
-$dokka.location:com.isupatches.android.wisefy.security/WisefySecurityUtil/isNetworkPSK/#android.net.wifi.ScanResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security/-wisefy-security-util/is-network-p-s-k.md
-$dokka.location:com.isupatches.android.wisefy.security/WisefySecurityUtil/isNetworkSecure/#android.net.wifi.ScanResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security/-wisefy-security-util/is-network-secure.md
-$dokka.location:com.isupatches.android.wisefy.security/WisefySecurityUtil/isNetworkWEP/#android.net.wifi.ScanResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security/-wisefy-security-util/is-network-w-e-p.md
-$dokka.location:com.isupatches.android.wisefy.security/WisefySecurityUtil/isNetworkWPA/#android.net.wifi.ScanResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security/-wisefy-security-util/is-network-w-p-a.md
-$dokka.location:com.isupatches.android.wisefy.security/WisefySecurityUtil/isNetworkWPA2/#android.net.wifi.ScanResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security/-wisefy-security-util/is-network-w-p-a2.md
-$dokka.location:com.isupatches.android.wisefy.security/WisefySecurityUtil/isNetworkWPA3/#android.net.wifi.ScanResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.security/-wisefy-security-util/is-network-w-p-a3.md
-$dokka.location:com.isupatches.android.wisefy.signal.delegates////PointingToDeclaration/wisefy/com.isupatches.android.wisefy.signal.delegates/index.md
-$dokka.location:com.isupatches.android.wisefy.signal.delegates/Android30SignalApi///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-api/index.md
-$dokka.location:com.isupatches.android.wisefy.signal.delegates/Android30SignalApi/calculateBars/#kotlin.Int#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-api/calculate-bars.md
-$dokka.location:com.isupatches.android.wisefy.signal.delegates/Android30SignalApi/calculateBars/#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-api/calculate-bars.md
-$dokka.location:com.isupatches.android.wisefy.signal.delegates/Android30SignalApi/compareSignalLevel/#kotlin.Int#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-api/compare-signal-level.md
-$dokka.location:com.isupatches.android.wisefy.signal.delegates/Android30SignalApiImpl///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-api-impl/index.md
-$dokka.location:com.isupatches.android.wisefy.signal.delegates/Android30SignalApiImpl/Android30SignalApiImpl/#android.net.wifi.WifiManager/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-api-impl/-android30-signal-api-impl.md
-$dokka.location:com.isupatches.android.wisefy.signal.delegates/Android30SignalApiImpl/calculateBars/#kotlin.Int#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-api-impl/calculate-bars.md
-$dokka.location:com.isupatches.android.wisefy.signal.delegates/Android30SignalApiImpl/calculateBars/#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-api-impl/calculate-bars.md
-$dokka.location:com.isupatches.android.wisefy.signal.delegates/Android30SignalApiImpl/compareSignalLevel/#kotlin.Int#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-api-impl/compare-signal-level.md
-$dokka.location:com.isupatches.android.wisefy.signal.delegates/Android30SignalApiImpl/wifiManager/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-api-impl/wifi-manager.md
-$dokka.location:com.isupatches.android.wisefy.signal.delegates/Android30SignalDelegate///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-delegate/index.md
-$dokka.location:com.isupatches.android.wisefy.signal.delegates/Android30SignalDelegate/Android30SignalDelegate/#android.net.wifi.WifiManager#com.isupatches.android.wisefy.signal.delegates.Android30SignalApi/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-delegate/-android30-signal-delegate.md
-$dokka.location:com.isupatches.android.wisefy.signal.delegates/Android30SignalDelegate/calculateBars/#kotlin.Int#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-delegate/calculate-bars.md
-$dokka.location:com.isupatches.android.wisefy.signal.delegates/Android30SignalDelegate/calculateBars/#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-delegate/calculate-bars.md
-$dokka.location:com.isupatches.android.wisefy.signal.delegates/Android30SignalDelegate/compareSignalLevel/#kotlin.Int#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-delegate/compare-signal-level.md
-$dokka.location:com.isupatches.android.wisefy.signal.delegates/Android30SignalDelegate/impl/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.signal.delegates/-android30-signal-delegate/impl.md
-$dokka.location:com.isupatches.android.wisefy.signal.delegates/LegacySignalApi///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-api/index.md
-$dokka.location:com.isupatches.android.wisefy.signal.delegates/LegacySignalApi/calculateBars/#kotlin.Int#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-api/calculate-bars.md
-$dokka.location:com.isupatches.android.wisefy.signal.delegates/LegacySignalApi/calculateBars/#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-api/calculate-bars.md
-$dokka.location:com.isupatches.android.wisefy.signal.delegates/LegacySignalApi/compareSignalLevel/#kotlin.Int#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-api/compare-signal-level.md
-$dokka.location:com.isupatches.android.wisefy.signal.delegates/LegacySignalApiImpl///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-api-impl/index.md
-$dokka.location:com.isupatches.android.wisefy.signal.delegates/LegacySignalApiImpl/LegacySignalApiImpl/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-api-impl/-legacy-signal-api-impl.md
-$dokka.location:com.isupatches.android.wisefy.signal.delegates/LegacySignalApiImpl/calculateBars/#kotlin.Int#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-api-impl/calculate-bars.md
-$dokka.location:com.isupatches.android.wisefy.signal.delegates/LegacySignalApiImpl/calculateBars/#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-api-impl/calculate-bars.md
-$dokka.location:com.isupatches.android.wisefy.signal.delegates/LegacySignalApiImpl/compareSignalLevel/#kotlin.Int#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-api-impl/compare-signal-level.md
-$dokka.location:com.isupatches.android.wisefy.signal.delegates/LegacySignalDelegate///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-delegate/index.md
-$dokka.location:com.isupatches.android.wisefy.signal.delegates/LegacySignalDelegate/LegacySignalDelegate/#com.isupatches.android.wisefy.signal.delegates.LegacySignalApi/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-delegate/-legacy-signal-delegate.md
-$dokka.location:com.isupatches.android.wisefy.signal.delegates/LegacySignalDelegate/calculateBars/#kotlin.Int#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-delegate/calculate-bars.md
-$dokka.location:com.isupatches.android.wisefy.signal.delegates/LegacySignalDelegate/calculateBars/#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-delegate/calculate-bars.md
-$dokka.location:com.isupatches.android.wisefy.signal.delegates/LegacySignalDelegate/compareSignalLevel/#kotlin.Int#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-delegate/compare-signal-level.md
-$dokka.location:com.isupatches.android.wisefy.signal.delegates/LegacySignalDelegate/impl/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.signal.delegates/-legacy-signal-delegate/impl.md
-$dokka.location:com.isupatches.android.wisefy.signal////PointingToDeclaration/wisefy/com.isupatches.android.wisefy.signal/index.md
-$dokka.location:com.isupatches.android.wisefy.signal//LOG_TAG/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.signal/-l-o-g_-t-a-g.md
-$dokka.location:com.isupatches.android.wisefy.signal/SignalApi///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.signal/-signal-api/index.md
-$dokka.location:com.isupatches.android.wisefy.signal/SignalApi/calculateBars/#kotlin.Int#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.signal/-signal-api/calculate-bars.md
-$dokka.location:com.isupatches.android.wisefy.signal/SignalApi/calculateBars/#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.signal/-signal-api/calculate-bars.md
-$dokka.location:com.isupatches.android.wisefy.signal/SignalApi/compareSignalLevel/#kotlin.Int#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.signal/-signal-api/compare-signal-level.md
-$dokka.location:com.isupatches.android.wisefy.signal/SignalUtil///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.signal/-signal-util/index.md
-$dokka.location:com.isupatches.android.wisefy.signal/WisefySignalUtil///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.signal/-wisefy-signal-util/index.md
-$dokka.location:com.isupatches.android.wisefy.signal/WisefySignalUtil/WisefySignalUtil/#com.isupatches.android.wisefy.logging.WisefyLogger?#com.isupatches.android.wisefy.util.SdkUtil#android.net.wifi.WifiManager/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.signal/-wisefy-signal-util/-wisefy-signal-util.md
-$dokka.location:com.isupatches.android.wisefy.signal/WisefySignalUtil/calculateBars/#kotlin.Int#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.signal/-wisefy-signal-util/calculate-bars.md
-$dokka.location:com.isupatches.android.wisefy.signal/WisefySignalUtil/calculateBars/#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.signal/-wisefy-signal-util/calculate-bars.md
-$dokka.location:com.isupatches.android.wisefy.signal/WisefySignalUtil/compareSignalLevel/#kotlin.Int#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.signal/-wisefy-signal-util/compare-signal-level.md
-$dokka.location:com.isupatches.android.wisefy.signal/WisefySignalUtil/delegate/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.signal/-wisefy-signal-util/delegate.md
-$dokka.location:com.isupatches.android.wisefy.util.coroutines////PointingToDeclaration/wisefy/com.isupatches.android.wisefy.util.coroutines/index.md
-$dokka.location:com.isupatches.android.wisefy.util.coroutines//createBaseCoroutineExceptionHandler/#com.isupatches.android.wisefy.callbacks.BaseWisefyCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.util.coroutines/create-base-coroutine-exception-handler.md
-$dokka.location:com.isupatches.android.wisefy.util.coroutines/CoroutineDispatcherProvider///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/index.md
-$dokka.location:com.isupatches.android.wisefy.util.coroutines/CoroutineDispatcherProvider/CoroutineDispatcherProvider/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/-coroutine-dispatcher-provider.md
-$dokka.location:com.isupatches.android.wisefy.util.coroutines/CoroutineDispatcherProvider/io/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/io.md
-$dokka.location:com.isupatches.android.wisefy.util.coroutines/CoroutineDispatcherProvider/main/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.util.coroutines/-coroutine-dispatcher-provider/main.md
-$dokka.location:com.isupatches.android.wisefy.util.legacy////PointingToDeclaration/wisefy/com.isupatches.android.wisefy.util.legacy/index.md
-$dokka.location:com.isupatches.android.wisefy.util.legacy//convertSSIDForConfig/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.util.legacy/convert-s-s-i-d-for-config.md
-$dokka.location:com.isupatches.android.wisefy.util.legacy//generateOpenNetworkConfiguration/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.util.legacy/generate-open-network-configuration.md
-$dokka.location:com.isupatches.android.wisefy.util.legacy//generateWPA2NetworkConfiguration/#kotlin.String#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.util.legacy/generate-w-p-a2-network-configuration.md
-$dokka.location:com.isupatches.android.wisefy.util////PointingToDeclaration/wisefy/com.isupatches.android.wisefy.util/index.md
-$dokka.location:com.isupatches.android.wisefy.util//BASE_DELAY/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.util/-b-a-s-e_-d-e-l-a-y.md
-$dokka.location:com.isupatches.android.wisefy.util//createOpenNetworkSuggestion/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.util/create-open-network-suggestion.md
-$dokka.location:com.isupatches.android.wisefy.util//createWPA2NetworkSuggestion/#kotlin.String#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.util/create-w-p-a2-network-suggestion.md
-$dokka.location:com.isupatches.android.wisefy.util//createWPA3NetworkSuggestion/#kotlin.String#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.util/create-w-p-a3-network-suggestion.md
-$dokka.location:com.isupatches.android.wisefy.util//fail/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.util/fail.md
-$dokka.location:com.isupatches.android.wisefy.util//rest/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.util/rest.md
-$dokka.location:com.isupatches.android.wisefy.util//sleep/#kotlin.Long/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.util/sleep.md
-$dokka.location:com.isupatches.android.wisefy.util/SdkUtil///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.util/-sdk-util/index.md
-$dokka.location:com.isupatches.android.wisefy.util/SdkUtil/isAtLeastP/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.util/-sdk-util/is-at-least-p.md
-$dokka.location:com.isupatches.android.wisefy.util/SdkUtil/isAtLeastQ/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.util/-sdk-util/is-at-least-q.md
-$dokka.location:com.isupatches.android.wisefy.util/SdkUtil/isAtLeastR/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.util/-sdk-util/is-at-least-r.md
-$dokka.location:com.isupatches.android.wisefy.util/SdkUtilImpl///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.util/-sdk-util-impl/index.md
-$dokka.location:com.isupatches.android.wisefy.util/SdkUtilImpl/SdkUtilImpl/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.util/-sdk-util-impl/-sdk-util-impl.md
-$dokka.location:com.isupatches.android.wisefy.util/SdkUtilImpl/isAtLeastP/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.util/-sdk-util-impl/is-at-least-p.md
-$dokka.location:com.isupatches.android.wisefy.util/SdkUtilImpl/isAtLeastQ/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.util/-sdk-util-impl/is-at-least-q.md
-$dokka.location:com.isupatches.android.wisefy.util/SdkUtilImpl/isAtLeastR/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.util/-sdk-util-impl/is-at-least-r.md
-$dokka.location:com.isupatches.android.wisefy.wifi.delegates////PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi.delegates/index.md
-$dokka.location:com.isupatches.android.wisefy.wifi.delegates/Android29WifiApi///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-api/index.md
-$dokka.location:com.isupatches.android.wisefy.wifi.delegates/Android29WifiApi/disableWifi/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-api/disable-wifi.md
-$dokka.location:com.isupatches.android.wisefy.wifi.delegates/Android29WifiApi/enableWifi/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-api/enable-wifi.md
-$dokka.location:com.isupatches.android.wisefy.wifi.delegates/Android29WifiApi/isWifiEnabled/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-api/is-wifi-enabled.md
-$dokka.location:com.isupatches.android.wisefy.wifi.delegates/Android29WifiApiImpl///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-api-impl/index.md
-$dokka.location:com.isupatches.android.wisefy.wifi.delegates/Android29WifiApiImpl/Android29WifiApiImpl/#android.net.wifi.WifiManager/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-api-impl/-android29-wifi-api-impl.md
-$dokka.location:com.isupatches.android.wisefy.wifi.delegates/Android29WifiApiImpl/disableWifi/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-api-impl/disable-wifi.md
-$dokka.location:com.isupatches.android.wisefy.wifi.delegates/Android29WifiApiImpl/enableWifi/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-api-impl/enable-wifi.md
-$dokka.location:com.isupatches.android.wisefy.wifi.delegates/Android29WifiApiImpl/isWifiEnabled/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-api-impl/is-wifi-enabled.md
-$dokka.location:com.isupatches.android.wisefy.wifi.delegates/Android29WifiApiImpl/wifiManager/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-api-impl/wifi-manager.md
-$dokka.location:com.isupatches.android.wisefy.wifi.delegates/Android29WifiDelegate///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-delegate/index.md
-$dokka.location:com.isupatches.android.wisefy.wifi.delegates/Android29WifiDelegate/Android29WifiDelegate/#android.net.wifi.WifiManager#com.isupatches.android.wisefy.wifi.delegates.Android29WifiApi/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-delegate/-android29-wifi-delegate.md
-$dokka.location:com.isupatches.android.wisefy.wifi.delegates/Android29WifiDelegate/disableWifi/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-delegate/disable-wifi.md
-$dokka.location:com.isupatches.android.wisefy.wifi.delegates/Android29WifiDelegate/enableWifi/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-delegate/enable-wifi.md
-$dokka.location:com.isupatches.android.wisefy.wifi.delegates/Android29WifiDelegate/impl/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-delegate/impl.md
-$dokka.location:com.isupatches.android.wisefy.wifi.delegates/Android29WifiDelegate/isWifiEnabled/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi.delegates/-android29-wifi-delegate/is-wifi-enabled.md
-$dokka.location:com.isupatches.android.wisefy.wifi.delegates/LegacyWifiApi///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-api/index.md
-$dokka.location:com.isupatches.android.wisefy.wifi.delegates/LegacyWifiApi/disableWifi/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-api/disable-wifi.md
-$dokka.location:com.isupatches.android.wisefy.wifi.delegates/LegacyWifiApi/enableWifi/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-api/enable-wifi.md
-$dokka.location:com.isupatches.android.wisefy.wifi.delegates/LegacyWifiApi/isWifiEnabled/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-api/is-wifi-enabled.md
-$dokka.location:com.isupatches.android.wisefy.wifi.delegates/LegacyWifiApiImpl///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-api-impl/index.md
-$dokka.location:com.isupatches.android.wisefy.wifi.delegates/LegacyWifiApiImpl/LegacyWifiApiImpl/#android.net.wifi.WifiManager/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-api-impl/-legacy-wifi-api-impl.md
-$dokka.location:com.isupatches.android.wisefy.wifi.delegates/LegacyWifiApiImpl/disableWifi/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-api-impl/disable-wifi.md
-$dokka.location:com.isupatches.android.wisefy.wifi.delegates/LegacyWifiApiImpl/enableWifi/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-api-impl/enable-wifi.md
-$dokka.location:com.isupatches.android.wisefy.wifi.delegates/LegacyWifiApiImpl/isWifiEnabled/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-api-impl/is-wifi-enabled.md
-$dokka.location:com.isupatches.android.wisefy.wifi.delegates/LegacyWifiApiImpl/wifiManager/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-api-impl/wifi-manager.md
-$dokka.location:com.isupatches.android.wisefy.wifi.delegates/LegacyWifiDelegate///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/index.md
-$dokka.location:com.isupatches.android.wisefy.wifi.delegates/LegacyWifiDelegate/LegacyWifiDelegate/#android.net.wifi.WifiManager#com.isupatches.android.wisefy.wifi.delegates.LegacyWifiApi/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/-legacy-wifi-delegate.md
-$dokka.location:com.isupatches.android.wisefy.wifi.delegates/LegacyWifiDelegate/disableWifi/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/disable-wifi.md
-$dokka.location:com.isupatches.android.wisefy.wifi.delegates/LegacyWifiDelegate/enableWifi/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/enable-wifi.md
-$dokka.location:com.isupatches.android.wisefy.wifi.delegates/LegacyWifiDelegate/impl/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/impl.md
-$dokka.location:com.isupatches.android.wisefy.wifi.delegates/LegacyWifiDelegate/isWifiEnabled/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi.delegates/-legacy-wifi-delegate/is-wifi-enabled.md
-$dokka.location:com.isupatches.android.wisefy.wifi////PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi/index.md
-$dokka.location:com.isupatches.android.wisefy.wifi//LOG_TAG/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi/-l-o-g_-t-a-g.md
-$dokka.location:com.isupatches.android.wisefy.wifi/WifiApi///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi/-wifi-api/index.md
-$dokka.location:com.isupatches.android.wisefy.wifi/WifiApi/disableWifi/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi/-wifi-api/disable-wifi.md
-$dokka.location:com.isupatches.android.wisefy.wifi/WifiApi/enableWifi/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi/-wifi-api/enable-wifi.md
-$dokka.location:com.isupatches.android.wisefy.wifi/WifiApi/isWifiEnabled/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi/-wifi-api/is-wifi-enabled.md
-$dokka.location:com.isupatches.android.wisefy.wifi/WifiApiAsync///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi/-wifi-api-async/index.md
-$dokka.location:com.isupatches.android.wisefy.wifi/WifiApiAsync/disableWifi/#com.isupatches.android.wisefy.callbacks.DisableWifiCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi/-wifi-api-async/disable-wifi.md
-$dokka.location:com.isupatches.android.wisefy.wifi/WifiApiAsync/enableWifi/#com.isupatches.android.wisefy.callbacks.EnableWifiCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi/-wifi-api-async/enable-wifi.md
-$dokka.location:com.isupatches.android.wisefy.wifi/WifiUtil///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi/-wifi-util/index.md
-$dokka.location:com.isupatches.android.wisefy.wifi/WisefyWifiUtil///PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi/-wisefy-wifi-util/index.md
-$dokka.location:com.isupatches.android.wisefy.wifi/WisefyWifiUtil/WisefyWifiUtil/#com.isupatches.android.wisefy.util.coroutines.CoroutineDispatcherProvider#com.isupatches.android.wisefy.logging.WisefyLogger?#com.isupatches.android.wisefy.util.SdkUtil#android.net.wifi.WifiManager/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi/-wisefy-wifi-util/-wisefy-wifi-util.md
-$dokka.location:com.isupatches.android.wisefy.wifi/WisefyWifiUtil/coroutineDispatcherProvider/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi/-wisefy-wifi-util/coroutine-dispatcher-provider.md
-$dokka.location:com.isupatches.android.wisefy.wifi/WisefyWifiUtil/delegate/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi/-wisefy-wifi-util/delegate.md
-$dokka.location:com.isupatches.android.wisefy.wifi/WisefyWifiUtil/disableWifi/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi/-wisefy-wifi-util/disable-wifi.md
-$dokka.location:com.isupatches.android.wisefy.wifi/WisefyWifiUtil/disableWifi/#com.isupatches.android.wisefy.callbacks.DisableWifiCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi/-wisefy-wifi-util/disable-wifi.md
-$dokka.location:com.isupatches.android.wisefy.wifi/WisefyWifiUtil/enableWifi/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi/-wisefy-wifi-util/enable-wifi.md
-$dokka.location:com.isupatches.android.wisefy.wifi/WisefyWifiUtil/enableWifi/#com.isupatches.android.wisefy.callbacks.EnableWifiCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi/-wisefy-wifi-util/enable-wifi.md
-$dokka.location:com.isupatches.android.wisefy.wifi/WisefyWifiUtil/isWifiEnabled/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi/-wisefy-wifi-util/is-wifi-enabled.md
-$dokka.location:com.isupatches.android.wisefy.wifi/WisefyWifiUtil/wifiScope/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy.wifi/-wisefy-wifi-util/wifi-scope.md
-$dokka.location:com.isupatches.android.wisefy////PointingToDeclaration/wisefy/com.isupatches.android.wisefy/index.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy.Brains///PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/index.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy.Brains/Brains/#android.content.Context#com.isupatches.android.wisefy.logging.WisefyLogger?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/-brains.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy.Brains/accessPointsUtil/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/access-points-util.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy.Brains/addNetworkUtil/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/add-network-util.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy.Brains/connectivityManager/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/connectivity-manager.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy.Brains/customAccessPointsUtil/#com.isupatches.android.wisefy.accesspoints.AccessPointsUtil/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-access-points-util.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy.Brains/customAddNetworkUtil/#com.isupatches.android.wisefy.addnetwork.AddNetworkUtil/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-add-network-util.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy.Brains/customConnectivityManager/#android.net.ConnectivityManager/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-connectivity-manager.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy.Brains/customFrequencyUtil/#com.isupatches.android.wisefy.frequency.FrequencyUtil/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-frequency-util.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy.Brains/customNetworkConnectionStatusUtil/#com.isupatches.android.wisefy.networkconnectionstatus.NetworkConnectionStatusUtil/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-network-connection-status-util.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy.Brains/customNetworkConnectionUtil/#com.isupatches.android.wisefy.networkconnection.NetworkConnectionUtil/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-network-connection-util.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy.Brains/customNetworkInfoUtil/#com.isupatches.android.wisefy.networkinfo.NetworkInfoUtil/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-network-info-util.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy.Brains/customRemoveNetworkUtil/#com.isupatches.android.wisefy.removenetwork.RemoveNetworkUtil/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-remove-network-util.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy.Brains/customSavedNetworkUtil/#com.isupatches.android.wisefy.savednetworks.SavedNetworkUtil/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-saved-network-util.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy.Brains/customSecurityUtil/#com.isupatches.android.wisefy.security.SecurityUtil/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-security-util.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy.Brains/customSignalUtil/#com.isupatches.android.wisefy.signal.SignalUtil/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-signal-util.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy.Brains/customWifiManager/#android.net.wifi.WifiManager/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-wifi-manager.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy.Brains/customWifiUtil/#com.isupatches.android.wisefy.wifi.WifiUtil/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/custom-wifi-util.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy.Brains/frequencyUtil/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/frequency-util.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy.Brains/getSmarts/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/get-smarts.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy.Brains/logger/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/logger.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy.Brains/logger/#com.isupatches.android.wisefy.logging.WisefyLogger/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/logger.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy.Brains/networkConnectionStatusUtil/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/network-connection-status-util.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy.Brains/networkConnectionUtil/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/network-connection-util.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy.Brains/networkInfoUtil/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/network-info-util.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy.Brains/removeNetworkUtil/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/remove-network-util.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy.Brains/savedNetworkUtil/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/saved-network-util.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy.Brains/securityUtil/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/security-util.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy.Brains/signalUtil/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/signal-util.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy.Brains/wifiManager/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/wifi-manager.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy.Brains/wifiUtil/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/-brains/wifi-util.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy///PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/index.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/Wisefy/#com.isupatches.android.wisefy.accesspoints.AccessPointsUtil#com.isupatches.android.wisefy.addnetwork.AddNetworkUtil#com.isupatches.android.wisefy.frequency.FrequencyUtil#com.isupatches.android.wisefy.networkconnection.NetworkConnectionUtil#com.isupatches.android.wisefy.networkconnectionstatus.NetworkConnectionStatusUtil#com.isupatches.android.wisefy.networkinfo.NetworkInfoUtil#com.isupatches.android.wisefy.removenetwork.RemoveNetworkUtil#com.isupatches.android.wisefy.savednetworks.SavedNetworkUtil#com.isupatches.android.wisefy.security.SecurityUtil#com.isupatches.android.wisefy.signal.SignalUtil#com.isupatches.android.wisefy.wifi.WifiUtil/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/-wisefy.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/accessPointsUtil/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/access-points-util.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/addNetworkUtil/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/add-network-util.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/addOpenNetwork/#com.isupatches.android.wisefy.addnetwork.entities.OpenNetworkData#com.isupatches.android.wisefy.callbacks.AddNetworkCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/add-open-network.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/addOpenNetwork/#com.isupatches.android.wisefy.addnetwork.entities.OpenNetworkData/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/add-open-network.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/addWPA2Network/#com.isupatches.android.wisefy.addnetwork.entities.WPA2NetworkData#com.isupatches.android.wisefy.callbacks.AddNetworkCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/add-w-p-a2-network.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/addWPA2Network/#com.isupatches.android.wisefy.addnetwork.entities.WPA2NetworkData/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/add-w-p-a2-network.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/addWPA3Network/#com.isupatches.android.wisefy.addnetwork.entities.WPA3NetworkData#com.isupatches.android.wisefy.callbacks.AddNetworkCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/add-w-p-a3-network.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/addWPA3Network/#com.isupatches.android.wisefy.addnetwork.entities.WPA3NetworkData/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/add-w-p-a3-network.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/attachNetworkWatcher/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/attach-network-watcher.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/calculateBars/#kotlin.Int#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/calculate-bars.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/calculateBars/#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/calculate-bars.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/compareSignalLevel/#kotlin.Int#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/compare-signal-level.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/connectToNetwork/#kotlin.String#kotlin.Int#com.isupatches.android.wisefy.callbacks.ConnectToNetworkCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/connect-to-network.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/connectToNetwork/#kotlin.String#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/connect-to-network.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/detachNetworkWatcher/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/detach-network-watcher.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/disableWifi/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/disable-wifi.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/disableWifi/#com.isupatches.android.wisefy.callbacks.DisableWifiCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/disable-wifi.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/disconnectFromCurrentNetwork/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/disconnect-from-current-network.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/disconnectFromCurrentNetwork/#com.isupatches.android.wisefy.callbacks.DisconnectFromCurrentNetworkCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/disconnect-from-current-network.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/enableWifi/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/enable-wifi.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/enableWifi/#com.isupatches.android.wisefy.callbacks.EnableWifiCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/enable-wifi.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/frequencyUtil/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/frequency-util.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/getCurrentNetwork/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/get-current-network.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/getCurrentNetwork/#com.isupatches.android.wisefy.callbacks.GetCurrentNetworkCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/get-current-network.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/getCurrentNetworkInfo/#android.net.Network?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/get-current-network-info.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/getCurrentNetworkInfo/#com.isupatches.android.wisefy.callbacks.GetCurrentNetworkInfoCallbacks?#android.net.Network?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/get-current-network-info.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/getFrequency/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/get-frequency.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/getFrequency/#android.net.wifi.WifiInfo/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/get-frequency.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/getFrequency/#com.isupatches.android.wisefy.callbacks.GetFrequencyCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/get-frequency.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/getIP/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/get-i-p.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/getIP/#com.isupatches.android.wisefy.callbacks.GetIPCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/get-i-p.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/getNearbyAccessPoints/#kotlin.Boolean#com.isupatches.android.wisefy.callbacks.GetNearbyAccessPointCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/get-nearby-access-points.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/getNearbyAccessPoints/#kotlin.Boolean/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/get-nearby-access-points.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/getRSSI/#kotlin.String#kotlin.Boolean#kotlin.Int#com.isupatches.android.wisefy.callbacks.GetRSSICallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/get-r-s-s-i.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/getRSSI/#kotlin.String#kotlin.Boolean#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/get-r-s-s-i.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/getSavedNetworks/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/get-saved-networks.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/getSavedNetworks/#com.isupatches.android.wisefy.callbacks.GetSavedNetworksCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/get-saved-networks.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/isDeviceConnectedToMobileNetwork/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/is-device-connected-to-mobile-network.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/isDeviceConnectedToMobileOrWifiNetwork/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/is-device-connected-to-mobile-or-wifi-network.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/isDeviceConnectedToSSID/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/is-device-connected-to-s-s-i-d.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/isDeviceConnectedToWifiNetwork/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/is-device-connected-to-wifi-network.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/isDeviceRoaming/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/is-device-roaming.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/isNetwork5gHz/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/is-network5g-hz.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/isNetwork5gHz/#android.net.wifi.WifiInfo/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/is-network5g-hz.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/isNetworkEAP/#android.net.wifi.ScanResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/is-network-e-a-p.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/isNetworkPSK/#android.net.wifi.ScanResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/is-network-p-s-k.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/isNetworkSaved/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/is-network-saved.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/isNetworkSecure/#android.net.wifi.ScanResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/is-network-secure.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/isNetworkWEP/#android.net.wifi.ScanResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/is-network-w-e-p.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/isNetworkWPA/#android.net.wifi.ScanResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/is-network-w-p-a.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/isNetworkWPA2/#android.net.wifi.ScanResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/is-network-w-p-a2.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/isNetworkWPA3/#android.net.wifi.ScanResult/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/is-network-w-p-a3.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/isWifiEnabled/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/is-wifi-enabled.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/networkConnectionStatusUtil/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/network-connection-status-util.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/networkConnectionUtil/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/network-connection-util.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/networkInfoUtil/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/network-info-util.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/removeNetwork/#kotlin.String#com.isupatches.android.wisefy.callbacks.RemoveNetworkCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/remove-network.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/removeNetwork/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/remove-network.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/removeNetworkUtil/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/remove-network-util.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/savedNetworkUtil/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/saved-network-util.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/searchForAccessPoint/#kotlin.String#kotlin.Int#kotlin.Boolean#com.isupatches.android.wisefy.callbacks.SearchForAccessPointCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/search-for-access-point.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/searchForAccessPoint/#kotlin.String#kotlin.Int#kotlin.Boolean/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/search-for-access-point.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/searchForAccessPoints/#kotlin.String#kotlin.Boolean#com.isupatches.android.wisefy.callbacks.SearchForAccessPointsCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/search-for-access-points.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/searchForAccessPoints/#kotlin.String#kotlin.Boolean/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/search-for-access-points.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/searchForSSID/#kotlin.String#kotlin.Int#com.isupatches.android.wisefy.callbacks.SearchForSSIDCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/search-for-s-s-i-d.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/searchForSSID/#kotlin.String#kotlin.Int/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/search-for-s-s-i-d.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/searchForSSIDs/#kotlin.String#com.isupatches.android.wisefy.callbacks.SearchForSSIDsCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/search-for-s-s-i-ds.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/searchForSSIDs/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/search-for-s-s-i-ds.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/searchForSavedNetwork/#kotlin.String#com.isupatches.android.wisefy.callbacks.SearchForSavedNetworkCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/search-for-saved-network.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/searchForSavedNetwork/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/search-for-saved-network.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/searchForSavedNetworks/#kotlin.String#com.isupatches.android.wisefy.callbacks.SearchForSavedNetworksCallbacks?/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/search-for-saved-networks.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/searchForSavedNetworks/#kotlin.String/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/search-for-saved-networks.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/securityUtil/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/security-util.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/signalUtil/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/signal-util.md
-$dokka.location:com.isupatches.android.wisefy/Wisefy/wifiUtil/#/PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy/wifi-util.md
-$dokka.location:com.isupatches.android.wisefy/WisefyApi///PointingToDeclaration/wisefy/com.isupatches.android.wisefy/-wisefy-api/index.md
-com.isupatches.android.wisefy
-com.isupatches.android.wisefy.accesspoints
-com.isupatches.android.wisefy.accesspoints.delegates
-com.isupatches.android.wisefy.accesspoints.entities
-com.isupatches.android.wisefy.addnetwork
-com.isupatches.android.wisefy.addnetwork.delegates
-com.isupatches.android.wisefy.addnetwork.entities
-com.isupatches.android.wisefy.callbacks
-com.isupatches.android.wisefy.constants
-com.isupatches.android.wisefy.frequency
-com.isupatches.android.wisefy.frequency.delegates
-com.isupatches.android.wisefy.logging
-com.isupatches.android.wisefy.networkconnection
-com.isupatches.android.wisefy.networkconnection.delegates
-com.isupatches.android.wisefy.networkconnection.entities
-com.isupatches.android.wisefy.networkconnectionstatus
-com.isupatches.android.wisefy.networkconnectionstatus.delegates
-com.isupatches.android.wisefy.networkconnectionstatus.entities
-com.isupatches.android.wisefy.networkinfo
-com.isupatches.android.wisefy.networkinfo.delegates
-com.isupatches.android.wisefy.networkinfo.entities
-com.isupatches.android.wisefy.removenetwork
-com.isupatches.android.wisefy.removenetwork.delegates
-com.isupatches.android.wisefy.removenetwork.entities
-com.isupatches.android.wisefy.savednetworks
-com.isupatches.android.wisefy.savednetworks.delegates
-com.isupatches.android.wisefy.savednetworks.entities
-com.isupatches.android.wisefy.security
-com.isupatches.android.wisefy.security.delegates
-com.isupatches.android.wisefy.security.entities
-com.isupatches.android.wisefy.signal
-com.isupatches.android.wisefy.signal.delegates
-com.isupatches.android.wisefy.util
-com.isupatches.android.wisefy.util.coroutines
-com.isupatches.android.wisefy.util.legacy
-com.isupatches.android.wisefy.wifi
-com.isupatches.android.wisefy.wifi.delegates
-
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.callbacks/-get-access-points-callbacks/index.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.callbacks/-get-access-points-callbacks/index.md
new file mode 100644
index 00000000..2c797583
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.callbacks/-get-access-points-callbacks/index.md
@@ -0,0 +1,32 @@
+//[accesspoints](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.callbacks](../index.md)/[GetAccessPointsCallbacks](index.md)
+
+# GetAccessPointsCallbacks
+
+[androidJvm]\
+interface [GetAccessPointsCallbacks](index.md) : [BaseWisefyCallbacks](../../../../core/core/com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/index.md)
+
+A set of callbacks for querying access points.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.core.base.BaseWisefyCallbacks](../../../../core/core/com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/index.md) | |
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [onNearbyAccessPointsRetrieved](on-nearby-access-points-retrieved.md) | [androidJvm]
abstract fun [onNearbyAccessPointsRetrieved](on-nearby-access-points-retrieved.md)(accessPoints: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)>)
A callback triggered when there are access points matching the [GetAccessPointsQuery](../../com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/index.md). |
+| [onNoNearbyAccessPoints](on-no-nearby-access-points.md) | [androidJvm]
abstract fun [onNoNearbyAccessPoints](on-no-nearby-access-points.md)()
A callback triggered when there are no access points found for the [GetAccessPointsQuery](../../com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/index.md). |
+| [onWisefyAsyncFailure](index.md#-2014443064%2FFunctions%2F2111858834) | [androidJvm]
abstract fun [onWisefyAsyncFailure](index.md#-2014443064%2FFunctions%2F2111858834)(exception: [WisefyException](../../../../core/core/com.isupatches.android.wisefy.core.exceptions/-wisefy-exception/index.md)) |
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.callbacks/-get-access-points-callbacks/on-nearby-access-points-retrieved.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.callbacks/-get-access-points-callbacks/on-nearby-access-points-retrieved.md
new file mode 100644
index 00000000..e1b66186
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.callbacks/-get-access-points-callbacks/on-nearby-access-points-retrieved.md
@@ -0,0 +1,37 @@
+//[accesspoints](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.callbacks](../index.md)/[GetAccessPointsCallbacks](index.md)/[onNearbyAccessPointsRetrieved](on-nearby-access-points-retrieved.md)
+
+# onNearbyAccessPointsRetrieved
+
+[androidJvm]\
+abstract fun [onNearbyAccessPointsRetrieved](on-nearby-access-points-retrieved.md)(accessPoints: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md)>)
+
+A callback triggered when there are access points matching the [GetAccessPointsQuery](../../com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/index.md).
+
+*NOTES*
+
+-
+ Will not return an empty list due to [onNoNearbyAccessPoints](on-no-nearby-access-points.md)
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.accesspoints.entities.AccessPointData](../../com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| accessPoints | The non-empty list of access points found by the query |
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.callbacks/-get-access-points-callbacks/on-no-nearby-access-points.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.callbacks/-get-access-points-callbacks/on-no-nearby-access-points.md
new file mode 100644
index 00000000..19dbb3f5
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.callbacks/-get-access-points-callbacks/on-no-nearby-access-points.md
@@ -0,0 +1,16 @@
+//[accesspoints](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.callbacks](../index.md)/[GetAccessPointsCallbacks](index.md)/[onNoNearbyAccessPoints](on-no-nearby-access-points.md)
+
+# onNoNearbyAccessPoints
+
+[androidJvm]\
+abstract fun [onNoNearbyAccessPoints](on-no-nearby-access-points.md)()
+
+A callback triggered when there are no access points found for the [GetAccessPointsQuery](../../com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/index.md).
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.callbacks/index.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.callbacks/index.md
new file mode 100644
index 00000000..c9ab5006
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.callbacks/index.md
@@ -0,0 +1,9 @@
+//[accesspoints](../../index.md)/[com.isupatches.android.wisefy.accesspoints.callbacks](index.md)
+
+# Package com.isupatches.android.wisefy.accesspoints.callbacks
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [GetAccessPointsCallbacks](-get-access-points-callbacks/index.md) | [androidJvm]
interface [GetAccessPointsCallbacks](-get-access-points-callbacks/index.md) : [BaseWisefyCallbacks](../../../core/core/com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/index.md)
A set of callbacks for querying access points. |
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/-access-point-data.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/-access-point-data.md
new file mode 100644
index 00000000..69e655bc
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/-access-point-data.md
@@ -0,0 +1,6 @@
+//[accesspoints](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](../index.md)/[AccessPointData](index.md)/[AccessPointData](-access-point-data.md)
+
+# AccessPointData
+
+[androidJvm]\
+fun [AccessPointData](-access-point-data.md)(rawValue: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html), ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), bssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), frequency: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) = rawValue.frequency, rssi: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) = rawValue.level, is5gHz: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) = frequency in MIN_FREQUENCY_5GHZ + 1 until MAX_FREQUENCY_5GHZ, isSecure: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) = SecurityCapability.ALL.any { rawValue.capabilities.contains(it.stringValue) })
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/bssid.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/bssid.md
new file mode 100644
index 00000000..b4133f6b
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/bssid.md
@@ -0,0 +1,6 @@
+//[accesspoints](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](../index.md)/[AccessPointData](index.md)/[bssid](bssid.md)
+
+# bssid
+
+[androidJvm]\
+val [bssid](bssid.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/frequency.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/frequency.md
new file mode 100644
index 00000000..dac347eb
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/frequency.md
@@ -0,0 +1,6 @@
+//[accesspoints](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](../index.md)/[AccessPointData](index.md)/[frequency](frequency.md)
+
+# frequency
+
+[androidJvm]\
+val [frequency](frequency.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md
new file mode 100644
index 00000000..73215278
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md
@@ -0,0 +1,48 @@
+//[accesspoints](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](../index.md)/[AccessPointData](index.md)
+
+# AccessPointData
+
+[androidJvm]\
+data class [AccessPointData](index.md)(val rawValue: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html), val ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), val bssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), val frequency: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) = rawValue.frequency, val rssi: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) = rawValue.level, val is5gHz: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) = frequency in MIN_FREQUENCY_5GHZ + 1 until MAX_FREQUENCY_5GHZ, val isSecure: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) = SecurityCapability.ALL.any { rawValue.capabilities.contains(it.stringValue) })
+
+A data representation of an Access Point.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.accesspoints.entities.SecurityCapability](../-security-capability/index.md) | |
+
+## Constructors
+
+| | |
+|---|---|
+| [AccessPointData](-access-point-data.md) | [androidJvm]
fun [AccessPointData](-access-point-data.md)(rawValue: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html), ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), bssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), frequency: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) = rawValue.frequency, rssi: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) = rawValue.level, is5gHz: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) = frequency in MIN_FREQUENCY_5GHZ + 1 until MAX_FREQUENCY_5GHZ, isSecure: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) = SecurityCapability.ALL.any { rawValue.capabilities.contains(it.stringValue) }) |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [bssid](bssid.md) | [androidJvm]
val [bssid](bssid.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
A convenience property to expose the BSSID of the access point from the [rawValue](raw-value.md) |
+| [frequency](frequency.md) | [androidJvm]
val [frequency](frequency.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
A convenience property to expose the frequency of the access point from the [rawValue](raw-value.md) |
+| [is5gHz](is5g-hz.md) | [androidJvm]
val [is5gHz](is5g-hz.md): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
A convenience property to check if the access point is 5gHz based on its [rawValue](raw-value.md) |
+| [isSecure](is-secure.md) | [androidJvm]
val [isSecure](is-secure.md): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
A convenience property to check if the access point has any of the [SecurityCapability](../-security-capability/index.md) values listed based on its [rawValue](raw-value.md) |
+| [rawValue](raw-value.md) | [androidJvm]
val [rawValue](raw-value.md): [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)
The direct Android OS information about the access point |
+| [rssi](rssi.md) | [androidJvm]
val [rssi](rssi.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
A convenience property to expose the RSSI level of the access point from the [rawValue](raw-value.md) |
+| [ssid](ssid.md) | [androidJvm]
val [ssid](ssid.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
A convenience property to expose the SSID of the access point from the [rawValue](raw-value.md) |
+
+## Extensions
+
+| Name | Summary |
+|---|---|
+| [containSecurityCapability](../contain-security-capability.md) | [androidJvm]
fun [AccessPointData](index.md).[containSecurityCapability](../contain-security-capability.md)(securityCapability: [SecurityCapability](../-security-capability/index.md)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
An extension function to check if the given access point has a certain [SecurityCapability](../-security-capability/index.md) based on its rawValue. |
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/is-secure.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/is-secure.md
new file mode 100644
index 00000000..fe27b2b0
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/is-secure.md
@@ -0,0 +1,6 @@
+//[accesspoints](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](../index.md)/[AccessPointData](index.md)/[isSecure](is-secure.md)
+
+# isSecure
+
+[androidJvm]\
+val [isSecure](is-secure.md): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/is5g-hz.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/is5g-hz.md
new file mode 100644
index 00000000..3d3dbd3e
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/is5g-hz.md
@@ -0,0 +1,6 @@
+//[accesspoints](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](../index.md)/[AccessPointData](index.md)/[is5gHz](is5g-hz.md)
+
+# is5gHz
+
+[androidJvm]\
+val [is5gHz](is5g-hz.md): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/raw-value.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/raw-value.md
new file mode 100644
index 00000000..f7af5994
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/raw-value.md
@@ -0,0 +1,6 @@
+//[accesspoints](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](../index.md)/[AccessPointData](index.md)/[rawValue](raw-value.md)
+
+# rawValue
+
+[androidJvm]\
+val [rawValue](raw-value.md): [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/rssi.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/rssi.md
new file mode 100644
index 00000000..b7c45ff7
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/rssi.md
@@ -0,0 +1,6 @@
+//[accesspoints](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](../index.md)/[AccessPointData](index.md)/[rssi](rssi.md)
+
+# rssi
+
+[androidJvm]\
+val [rssi](rssi.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/ssid.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/ssid.md
new file mode 100644
index 00000000..b2317c89
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/ssid.md
@@ -0,0 +1,6 @@
+//[accesspoints](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](../index.md)/[AccessPointData](index.md)/[ssid](ssid.md)
+
+# ssid
+
+[androidJvm]\
+val [ssid](ssid.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-all/-all.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-all/-all.md
new file mode 100644
index 00000000..a4a870af
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-all/-all.md
@@ -0,0 +1,6 @@
+//[accesspoints](../../../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](../../index.md)/[GetAccessPointsQuery](../index.md)/[All](index.md)/[All](-all.md)
+
+# All
+
+[androidJvm]\
+fun [All](-all.md)(filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) = true)
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-all/filter-duplicates.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-all/filter-duplicates.md
new file mode 100644
index 00000000..88a79952
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-all/filter-duplicates.md
@@ -0,0 +1,6 @@
+//[accesspoints](../../../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](../../index.md)/[GetAccessPointsQuery](../index.md)/[All](index.md)/[filterDuplicates](filter-duplicates.md)
+
+# filterDuplicates
+
+[androidJvm]\
+open override val [filterDuplicates](filter-duplicates.md): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) = true
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-all/index.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-all/index.md
new file mode 100644
index 00000000..d9d4f582
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-all/index.md
@@ -0,0 +1,36 @@
+//[accesspoints](../../../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](../../index.md)/[GetAccessPointsQuery](../index.md)/[All](index.md)
+
+# All
+
+[androidJvm]\
+data class [All](index.md)(val filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) = true) : [GetAccessPointsQuery](../index.md)
+
+A representation of a query to get all nearby access points.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.accesspoints.entities.GetAccessPointsQuery](../index.md) | |
+
+## Constructors
+
+| | |
+|---|---|
+| [All](-all.md) | [androidJvm]
fun [All](-all.md)(filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) = true) |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [filterDuplicates](filter-duplicates.md) | [androidJvm]
open override val [filterDuplicates](filter-duplicates.md): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) = true
Whether nearby access points with the same SSID but lower RSSI levels should be excluded |
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-by-b-s-s-i-d/-by-b-s-s-i-d.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-by-b-s-s-i-d/-by-b-s-s-i-d.md
new file mode 100644
index 00000000..a51d89a9
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-by-b-s-s-i-d/-by-b-s-s-i-d.md
@@ -0,0 +1,6 @@
+//[accesspoints](../../../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](../../index.md)/[GetAccessPointsQuery](../index.md)/[ByBSSID](index.md)/[ByBSSID](-by-b-s-s-i-d.md)
+
+# ByBSSID
+
+[androidJvm]\
+fun [ByBSSID](-by-b-s-s-i-d.md)(regex: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)? = null, filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) = true)
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-by-b-s-s-i-d/filter-duplicates.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-by-b-s-s-i-d/filter-duplicates.md
new file mode 100644
index 00000000..38ca4753
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-by-b-s-s-i-d/filter-duplicates.md
@@ -0,0 +1,6 @@
+//[accesspoints](../../../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](../../index.md)/[GetAccessPointsQuery](../index.md)/[ByBSSID](index.md)/[filterDuplicates](filter-duplicates.md)
+
+# filterDuplicates
+
+[androidJvm]\
+open override val [filterDuplicates](filter-duplicates.md): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) = true
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-by-b-s-s-i-d/index.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-by-b-s-s-i-d/index.md
new file mode 100644
index 00000000..c514d06b
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-by-b-s-s-i-d/index.md
@@ -0,0 +1,38 @@
+//[accesspoints](../../../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](../../index.md)/[GetAccessPointsQuery](../index.md)/[ByBSSID](index.md)
+
+# ByBSSID
+
+[androidJvm]\
+data class [ByBSSID](index.md)(val regex: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), val timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)? = null, val filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) = true) : [GetAccessPointsQuery](../index.md)
+
+A representation of a query to get access points filtered by a regex for their BSSID.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.accesspoints.entities.GetAccessPointsQuery](../index.md) | |
+
+## Constructors
+
+| | |
+|---|---|
+| [ByBSSID](-by-b-s-s-i-d.md) | [androidJvm]
fun [ByBSSID](-by-b-s-s-i-d.md)(regex: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)? = null, filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) = true) |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [filterDuplicates](filter-duplicates.md) | [androidJvm]
open override val [filterDuplicates](filter-duplicates.md): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) = true
Whether nearby access points with the same SSID but lower RSSI levels should be excluded |
+| [regex](regex.md) | [androidJvm]
val [regex](regex.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
The regex to use when matching the BSSID |
+| [timeoutInMillis](timeout-in-millis.md) | [androidJvm]
val [timeoutInMillis](timeout-in-millis.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)? = null
The optional timeout in milliseconds to wait for matching access points |
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-by-b-s-s-i-d/regex.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-by-b-s-s-i-d/regex.md
new file mode 100644
index 00000000..a9c748f5
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-by-b-s-s-i-d/regex.md
@@ -0,0 +1,6 @@
+//[accesspoints](../../../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](../../index.md)/[GetAccessPointsQuery](../index.md)/[ByBSSID](index.md)/[regex](regex.md)
+
+# regex
+
+[androidJvm]\
+val [regex](regex.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-by-b-s-s-i-d/timeout-in-millis.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-by-b-s-s-i-d/timeout-in-millis.md
new file mode 100644
index 00000000..0c68cb9b
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-by-b-s-s-i-d/timeout-in-millis.md
@@ -0,0 +1,6 @@
+//[accesspoints](../../../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](../../index.md)/[GetAccessPointsQuery](../index.md)/[ByBSSID](index.md)/[timeoutInMillis](timeout-in-millis.md)
+
+# timeoutInMillis
+
+[androidJvm]\
+val [timeoutInMillis](timeout-in-millis.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)? = null
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-by-s-s-i-d/-by-s-s-i-d.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-by-s-s-i-d/-by-s-s-i-d.md
new file mode 100644
index 00000000..6cfe673d
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-by-s-s-i-d/-by-s-s-i-d.md
@@ -0,0 +1,6 @@
+//[accesspoints](../../../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](../../index.md)/[GetAccessPointsQuery](../index.md)/[BySSID](index.md)/[BySSID](-by-s-s-i-d.md)
+
+# BySSID
+
+[androidJvm]\
+fun [BySSID](-by-s-s-i-d.md)(regex: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)? = null, filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) = true)
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-by-s-s-i-d/filter-duplicates.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-by-s-s-i-d/filter-duplicates.md
new file mode 100644
index 00000000..5fce8f14
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-by-s-s-i-d/filter-duplicates.md
@@ -0,0 +1,6 @@
+//[accesspoints](../../../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](../../index.md)/[GetAccessPointsQuery](../index.md)/[BySSID](index.md)/[filterDuplicates](filter-duplicates.md)
+
+# filterDuplicates
+
+[androidJvm]\
+open override val [filterDuplicates](filter-duplicates.md): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) = true
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-by-s-s-i-d/index.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-by-s-s-i-d/index.md
new file mode 100644
index 00000000..9167df0f
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-by-s-s-i-d/index.md
@@ -0,0 +1,38 @@
+//[accesspoints](../../../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](../../index.md)/[GetAccessPointsQuery](../index.md)/[BySSID](index.md)
+
+# BySSID
+
+[androidJvm]\
+data class [BySSID](index.md)(val regex: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), val timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)? = null, val filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) = true) : [GetAccessPointsQuery](../index.md)
+
+A representation of a query to get access points filtered by a regex for their SSID.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.accesspoints.entities.GetAccessPointsQuery](../index.md) | |
+
+## Constructors
+
+| | |
+|---|---|
+| [BySSID](-by-s-s-i-d.md) | [androidJvm]
fun [BySSID](-by-s-s-i-d.md)(regex: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)? = null, filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) = true) |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [filterDuplicates](filter-duplicates.md) | [androidJvm]
open override val [filterDuplicates](filter-duplicates.md): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) = true
Whether nearby access points with the same SSID but lower RSSI levels should be excluded |
+| [regex](regex.md) | [androidJvm]
val [regex](regex.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
The regex to use when matching the SSID |
+| [timeoutInMillis](timeout-in-millis.md) | [androidJvm]
val [timeoutInMillis](timeout-in-millis.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)? = null
The optional timeout in milliseconds to wait for matching access points |
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-by-s-s-i-d/regex.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-by-s-s-i-d/regex.md
new file mode 100644
index 00000000..1244908c
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-by-s-s-i-d/regex.md
@@ -0,0 +1,6 @@
+//[accesspoints](../../../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](../../index.md)/[GetAccessPointsQuery](../index.md)/[BySSID](index.md)/[regex](regex.md)
+
+# regex
+
+[androidJvm]\
+val [regex](regex.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-by-s-s-i-d/timeout-in-millis.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-by-s-s-i-d/timeout-in-millis.md
new file mode 100644
index 00000000..1c369ed5
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-by-s-s-i-d/timeout-in-millis.md
@@ -0,0 +1,6 @@
+//[accesspoints](../../../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](../../index.md)/[GetAccessPointsQuery](../index.md)/[BySSID](index.md)/[timeoutInMillis](timeout-in-millis.md)
+
+# timeoutInMillis
+
+[androidJvm]\
+val [timeoutInMillis](timeout-in-millis.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)? = null
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/filter-duplicates.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/filter-duplicates.md
new file mode 100644
index 00000000..7bf08431
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/filter-duplicates.md
@@ -0,0 +1,6 @@
+//[accesspoints](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](../index.md)/[GetAccessPointsQuery](index.md)/[filterDuplicates](filter-duplicates.md)
+
+# filterDuplicates
+
+[androidJvm]\
+open val [filterDuplicates](filter-duplicates.md): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/index.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/index.md
new file mode 100644
index 00000000..e60dae53
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/index.md
@@ -0,0 +1,38 @@
+//[accesspoints](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](../index.md)/[GetAccessPointsQuery](index.md)
+
+# GetAccessPointsQuery
+
+[androidJvm]\
+sealed class [GetAccessPointsQuery](index.md)
+
+A set of classes or objects that represent a query for access points.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [All](-all/index.md) | [androidJvm]
data class [All](-all/index.md)(val filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) = true) : [GetAccessPointsQuery](index.md)
A representation of a query to get all nearby access points. |
+| [ByBSSID](-by-b-s-s-i-d/index.md) | [androidJvm]
data class [ByBSSID](-by-b-s-s-i-d/index.md)(val regex: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), val timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)? = null, val filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) = true) : [GetAccessPointsQuery](index.md)
A representation of a query to get access points filtered by a regex for their BSSID. |
+| [BySSID](-by-s-s-i-d/index.md) | [androidJvm]
data class [BySSID](-by-s-s-i-d/index.md)(val regex: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), val timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)? = null, val filterDuplicates: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) = true) : [GetAccessPointsQuery](index.md)
A representation of a query to get access points filtered by a regex for their SSID. |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [filterDuplicates](filter-duplicates.md) | [androidJvm]
open val [filterDuplicates](filter-duplicates.md): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
Whether nearby access points with the same SSID but lower RSSI levels should be excluded |
+
+## Inheritors
+
+| Name |
+|---|
+| [All](-all/index.md) |
+| [BySSID](-by-s-s-i-d/index.md) |
+| [ByBSSID](-by-b-s-s-i-d/index.md) |
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-result/-access-points/-access-points.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-result/-access-points/-access-points.md
new file mode 100644
index 00000000..59b875c6
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-result/-access-points/-access-points.md
@@ -0,0 +1,6 @@
+//[accesspoints](../../../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](../../index.md)/[GetAccessPointsResult](../index.md)/[AccessPoints](index.md)/[AccessPoints](-access-points.md)
+
+# AccessPoints
+
+[androidJvm]\
+fun [AccessPoints](-access-points.md)(value: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[AccessPointData](../../-access-point-data/index.md)>)
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-result/-access-points/index.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-result/-access-points/index.md
new file mode 100644
index 00000000..38df06d4
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-result/-access-points/index.md
@@ -0,0 +1,37 @@
+//[accesspoints](../../../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](../../index.md)/[GetAccessPointsResult](../index.md)/[AccessPoints](index.md)
+
+# AccessPoints
+
+[androidJvm]\
+data class [AccessPoints](index.md)(val value: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[AccessPointData](../../-access-point-data/index.md)>) : [GetAccessPointsResult](../index.md)
+
+A representation for when there are one or more access points matching the [GetAccessPointsQuery](../../-get-access-points-query/index.md).
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.accesspoints.entities.AccessPointData](../../-access-point-data/index.md) | |
+| [com.isupatches.android.wisefy.accesspoints.entities.GetAccessPointsResult](../index.md) | |
+
+## Constructors
+
+| | |
+|---|---|
+| [AccessPoints](-access-points.md) | [androidJvm]
fun [AccessPoints](-access-points.md)(value: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[AccessPointData](../../-access-point-data/index.md)>) |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [value](value.md) | [androidJvm]
val [value](value.md): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[AccessPointData](../../-access-point-data/index.md)>
This list of matching access points |
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-result/-access-points/value.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-result/-access-points/value.md
new file mode 100644
index 00000000..e7c996c7
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-result/-access-points/value.md
@@ -0,0 +1,6 @@
+//[accesspoints](../../../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](../../index.md)/[GetAccessPointsResult](../index.md)/[AccessPoints](index.md)/[value](value.md)
+
+# value
+
+[androidJvm]\
+val [value](value.md): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[AccessPointData](../../-access-point-data/index.md)>
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-result/-empty/index.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-result/-empty/index.md
new file mode 100644
index 00000000..dd3933e0
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-result/-empty/index.md
@@ -0,0 +1,24 @@
+//[accesspoints](../../../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](../../index.md)/[GetAccessPointsResult](../index.md)/[Empty](index.md)
+
+# Empty
+
+[androidJvm]\
+object [Empty](index.md) : [GetAccessPointsResult](../index.md)
+
+A representation for when there are no access points matching the [GetAccessPointsQuery](../../-get-access-points-query/index.md).
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.accesspoints.entities.GetAccessPointsResult](../index.md) | |
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-result/index.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-result/index.md
new file mode 100644
index 00000000..b9ce0c7d
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-result/index.md
@@ -0,0 +1,30 @@
+//[accesspoints](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](../index.md)/[GetAccessPointsResult](index.md)
+
+# GetAccessPointsResult
+
+[androidJvm]\
+sealed class [GetAccessPointsResult](index.md)
+
+A set of classes and objects that represent a result while querying for access points.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [AccessPoints](-access-points/index.md) | [androidJvm]
data class [AccessPoints](-access-points/index.md)(val value: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[AccessPointData](../-access-point-data/index.md)>) : [GetAccessPointsResult](index.md)
A representation for when there are one or more access points matching the [GetAccessPointsQuery](../-get-access-points-query/index.md). |
+| [Empty](-empty/index.md) | [androidJvm]
object [Empty](-empty/index.md) : [GetAccessPointsResult](index.md)
A representation for when there are no access points matching the [GetAccessPointsQuery](../-get-access-points-query/index.md). |
+
+## Inheritors
+
+| Name |
+|---|
+| [Empty](-empty/index.md) |
+| [AccessPoints](-access-points/index.md) |
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-security-capability/-companion/-a-l-l.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-security-capability/-companion/-a-l-l.md
new file mode 100644
index 00000000..b2ee72c4
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-security-capability/-companion/-a-l-l.md
@@ -0,0 +1,24 @@
+//[accesspoints](../../../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](../../index.md)/[SecurityCapability](../index.md)/[Companion](index.md)/[ALL](-a-l-l.md)
+
+# ALL
+
+[androidJvm]\
+val [ALL](-a-l-l.md): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SecurityCapability](../index.md)>
+
+A list comprised of all of the representations of security capabilities.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.accesspoints.entities.SecurityCapability](../index.md) | |
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-security-capability/-companion/index.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-security-capability/-companion/index.md
new file mode 100644
index 00000000..a3df9f37
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-security-capability/-companion/index.md
@@ -0,0 +1,12 @@
+//[accesspoints](../../../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](../../index.md)/[SecurityCapability](../index.md)/[Companion](index.md)
+
+# Companion
+
+[androidJvm]\
+object [Companion](index.md)
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [ALL](-a-l-l.md) | [androidJvm]
val [ALL](-a-l-l.md): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SecurityCapability](../index.md)>
A list comprised of all of the representations of security capabilities. |
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-security-capability/-e-a-p/index.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-security-capability/-e-a-p/index.md
new file mode 100644
index 00000000..d0228540
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-security-capability/-e-a-p/index.md
@@ -0,0 +1,24 @@
+//[accesspoints](../../../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](../../index.md)/[SecurityCapability](../index.md)/[EAP](index.md)
+
+# EAP
+
+[androidJvm]\
+[EAP](index.md)
+
+A representation of the EAP security capability.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [name](../-w-p-a3/index.md#-372974862%2FProperties%2F2111858834) | [androidJvm]
val [name](../-w-p-a3/index.md#-372974862%2FProperties%2F2111858834): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
+| [ordinal](../-w-p-a3/index.md#-739389684%2FProperties%2F2111858834) | [androidJvm]
val [ordinal](../-w-p-a3/index.md#-739389684%2FProperties%2F2111858834): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
+| [stringValue](../string-value.md) | [androidJvm]
val [stringValue](../string-value.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
The string value of the security capability |
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-security-capability/-p-s-k/index.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-security-capability/-p-s-k/index.md
new file mode 100644
index 00000000..cbd55a46
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-security-capability/-p-s-k/index.md
@@ -0,0 +1,24 @@
+//[accesspoints](../../../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](../../index.md)/[SecurityCapability](../index.md)/[PSK](index.md)
+
+# PSK
+
+[androidJvm]\
+[PSK](index.md)
+
+A representation of the PSK security capability.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [name](../-w-p-a3/index.md#-372974862%2FProperties%2F2111858834) | [androidJvm]
val [name](../-w-p-a3/index.md#-372974862%2FProperties%2F2111858834): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
+| [ordinal](../-w-p-a3/index.md#-739389684%2FProperties%2F2111858834) | [androidJvm]
val [ordinal](../-w-p-a3/index.md#-739389684%2FProperties%2F2111858834): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
+| [stringValue](../string-value.md) | [androidJvm]
val [stringValue](../string-value.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
The string value of the security capability |
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-security-capability/-w-e-p/index.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-security-capability/-w-e-p/index.md
new file mode 100644
index 00000000..0594ba0f
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-security-capability/-w-e-p/index.md
@@ -0,0 +1,24 @@
+//[accesspoints](../../../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](../../index.md)/[SecurityCapability](../index.md)/[WEP](index.md)
+
+# WEP
+
+[androidJvm]\
+[WEP](index.md)
+
+A representation of the WEP security capability.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [name](../-w-p-a3/index.md#-372974862%2FProperties%2F2111858834) | [androidJvm]
val [name](../-w-p-a3/index.md#-372974862%2FProperties%2F2111858834): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
+| [ordinal](../-w-p-a3/index.md#-739389684%2FProperties%2F2111858834) | [androidJvm]
val [ordinal](../-w-p-a3/index.md#-739389684%2FProperties%2F2111858834): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
+| [stringValue](../string-value.md) | [androidJvm]
val [stringValue](../string-value.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
The string value of the security capability |
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-security-capability/-w-p-a/index.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-security-capability/-w-p-a/index.md
new file mode 100644
index 00000000..edd95b9d
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-security-capability/-w-p-a/index.md
@@ -0,0 +1,24 @@
+//[accesspoints](../../../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](../../index.md)/[SecurityCapability](../index.md)/[WPA](index.md)
+
+# WPA
+
+[androidJvm]\
+[WPA](index.md)
+
+A representation of the WPA security capability.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [name](../-w-p-a3/index.md#-372974862%2FProperties%2F2111858834) | [androidJvm]
val [name](../-w-p-a3/index.md#-372974862%2FProperties%2F2111858834): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
+| [ordinal](../-w-p-a3/index.md#-739389684%2FProperties%2F2111858834) | [androidJvm]
val [ordinal](../-w-p-a3/index.md#-739389684%2FProperties%2F2111858834): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
+| [stringValue](../string-value.md) | [androidJvm]
val [stringValue](../string-value.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
The string value of the security capability |
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-security-capability/-w-p-a2/index.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-security-capability/-w-p-a2/index.md
new file mode 100644
index 00000000..14b220c0
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-security-capability/-w-p-a2/index.md
@@ -0,0 +1,24 @@
+//[accesspoints](../../../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](../../index.md)/[SecurityCapability](../index.md)/[WPA2](index.md)
+
+# WPA2
+
+[androidJvm]\
+[WPA2](index.md)
+
+A representation of the WPA2 security capability.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [name](../-w-p-a3/index.md#-372974862%2FProperties%2F2111858834) | [androidJvm]
val [name](../-w-p-a3/index.md#-372974862%2FProperties%2F2111858834): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
+| [ordinal](../-w-p-a3/index.md#-739389684%2FProperties%2F2111858834) | [androidJvm]
val [ordinal](../-w-p-a3/index.md#-739389684%2FProperties%2F2111858834): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
+| [stringValue](../string-value.md) | [androidJvm]
val [stringValue](../string-value.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
The string value of the security capability |
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-security-capability/-w-p-a3/index.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-security-capability/-w-p-a3/index.md
new file mode 100644
index 00000000..3b4eb55b
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-security-capability/-w-p-a3/index.md
@@ -0,0 +1,24 @@
+//[accesspoints](../../../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](../../index.md)/[SecurityCapability](../index.md)/[WPA3](index.md)
+
+# WPA3
+
+[androidJvm]\
+[WPA3](index.md)
+
+A representation of the WPA3 security capability.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [name](index.md#-372974862%2FProperties%2F2111858834) | [androidJvm]
val [name](index.md#-372974862%2FProperties%2F2111858834): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
+| [ordinal](index.md#-739389684%2FProperties%2F2111858834) | [androidJvm]
val [ordinal](index.md#-739389684%2FProperties%2F2111858834): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
+| [stringValue](../string-value.md) | [androidJvm]
val [stringValue](../string-value.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
The string value of the security capability |
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-security-capability/index.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-security-capability/index.md
new file mode 100644
index 00000000..44456e21
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-security-capability/index.md
@@ -0,0 +1,41 @@
+//[accesspoints](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](../index.md)/[SecurityCapability](index.md)
+
+# SecurityCapability
+
+[androidJvm]\
+enum [SecurityCapability](index.md) : [Enum](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-enum/index.html)<[SecurityCapability](index.md)>
+
+A set of supported security capabilities.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Entries
+
+| | |
+|---|---|
+| [EAP](-e-a-p/index.md) | [androidJvm]
[EAP](-e-a-p/index.md)
A representation of the EAP security capability. |
+| [PSK](-p-s-k/index.md) | [androidJvm]
[PSK](-p-s-k/index.md)
A representation of the PSK security capability. |
+| [WEP](-w-e-p/index.md) | [androidJvm]
[WEP](-w-e-p/index.md)
A representation of the WEP security capability. |
+| [WPA](-w-p-a/index.md) | [androidJvm]
[WPA](-w-p-a/index.md)
A representation of the WPA security capability. |
+| [WPA2](-w-p-a2/index.md) | [androidJvm]
[WPA2](-w-p-a2/index.md)
A representation of the WPA2 security capability. |
+| [WPA3](-w-p-a3/index.md) | [androidJvm]
[WPA3](-w-p-a3/index.md)
A representation of the WPA3 security capability. |
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [Companion](-companion/index.md) | [androidJvm]
object [Companion](-companion/index.md) |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [name](-w-p-a3/index.md#-372974862%2FProperties%2F2111858834) | [androidJvm]
val [name](-w-p-a3/index.md#-372974862%2FProperties%2F2111858834): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
+| [ordinal](-w-p-a3/index.md#-739389684%2FProperties%2F2111858834) | [androidJvm]
val [ordinal](-w-p-a3/index.md#-739389684%2FProperties%2F2111858834): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
+| [stringValue](string-value.md) | [androidJvm]
val [stringValue](string-value.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
The string value of the security capability |
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-security-capability/string-value.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-security-capability/string-value.md
new file mode 100644
index 00000000..6f840190
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-security-capability/string-value.md
@@ -0,0 +1,6 @@
+//[accesspoints](../../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](../index.md)/[SecurityCapability](index.md)/[stringValue](string-value.md)
+
+# stringValue
+
+[androidJvm]\
+val [stringValue](string-value.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/contain-security-capability.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/contain-security-capability.md
new file mode 100644
index 00000000..6afe516b
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/contain-security-capability.md
@@ -0,0 +1,40 @@
+//[accesspoints](../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](index.md)/[containSecurityCapability](contain-security-capability.md)
+
+# containSecurityCapability
+
+[androidJvm]\
+fun [AccessPointData](-access-point-data/index.md).[containSecurityCapability](contain-security-capability.md)(securityCapability: [SecurityCapability](-security-capability/index.md)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
+
+An extension function to check if the given access point has a certain [SecurityCapability](-security-capability/index.md) based on its rawValue.
+
+#### Receiver
+
+[AccessPointData](-access-point-data/index.md)
+
+#### Return
+
+Boolean - True if the access point contains the [SecurityCapability](-security-capability/index.md), otherwise false
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.accesspoints.entities.SecurityCapability](-security-capability/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| securityCapability | The given [SecurityCapability](-security-capability/index.md) to check the access point for |
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/index.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/index.md
new file mode 100644
index 00000000..9c8e212c
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/index.md
@@ -0,0 +1,18 @@
+//[accesspoints](../../index.md)/[com.isupatches.android.wisefy.accesspoints.entities](index.md)
+
+# Package com.isupatches.android.wisefy.accesspoints.entities
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [AccessPointData](-access-point-data/index.md) | [androidJvm]
data class [AccessPointData](-access-point-data/index.md)(val rawValue: [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html), val ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), val bssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), val frequency: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) = rawValue.frequency, val rssi: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) = rawValue.level, val is5gHz: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) = frequency in MIN_FREQUENCY_5GHZ + 1 until MAX_FREQUENCY_5GHZ, val isSecure: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) = SecurityCapability.ALL.any { rawValue.capabilities.contains(it.stringValue) })
A data representation of an Access Point. |
+| [GetAccessPointsQuery](-get-access-points-query/index.md) | [androidJvm]
sealed class [GetAccessPointsQuery](-get-access-points-query/index.md)
A set of classes or objects that represent a query for access points. |
+| [GetAccessPointsResult](-get-access-points-result/index.md) | [androidJvm]
sealed class [GetAccessPointsResult](-get-access-points-result/index.md)
A set of classes and objects that represent a result while querying for access points. |
+| [SecurityCapability](-security-capability/index.md) | [androidJvm]
enum [SecurityCapability](-security-capability/index.md) : [Enum](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-enum/index.html)<[SecurityCapability](-security-capability/index.md)>
A set of supported security capabilities. |
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [containSecurityCapability](contain-security-capability.md) | [androidJvm]
fun [AccessPointData](-access-point-data/index.md).[containSecurityCapability](contain-security-capability.md)(securityCapability: [SecurityCapability](-security-capability/index.md)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
An extension function to check if the given access point has a certain [SecurityCapability](-security-capability/index.md) based on its rawValue. |
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints/-access-points-api-async/get-access-points.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints/-access-points-api-async/get-access-points.md
new file mode 100644
index 00000000..77b9457a
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints/-access-points-api-async/get-access-points.md
@@ -0,0 +1,37 @@
+//[accesspoints](../../../index.md)/[com.isupatches.android.wisefy.accesspoints](../index.md)/[AccessPointsApiAsync](index.md)/[getAccessPoints](get-access-points.md)
+
+# getAccessPoints
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.ACCESS_FINE_LOCATION")
+
+abstract fun [getAccessPoints](get-access-points.md)(query: [GetAccessPointsQuery](../../com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/index.md), callbacks: [GetAccessPointsCallbacks](../../com.isupatches.android.wisefy.accesspoints.callbacks/-get-access-points-callbacks/index.md)?)
+
+An asynchronous API to query for a list of nearby access points.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.accesspoints.entities.GetAccessPointsQuery](../../com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/index.md) | |
+| [com.isupatches.android.wisefy.accesspoints.callbacks.GetAccessPointsCallbacks](../../com.isupatches.android.wisefy.accesspoints.callbacks/-get-access-points-callbacks/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| query | The details of the query to get nearby access points |
+| callbacks | The optional callbacks for when nearby access points are returned |
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints/-access-points-api-async/index.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints/-access-points-api-async/index.md
new file mode 100644
index 00000000..e73cb7d0
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints/-access-points-api-async/index.md
@@ -0,0 +1,28 @@
+//[accesspoints](../../../index.md)/[com.isupatches.android.wisefy.accesspoints](../index.md)/[AccessPointsApiAsync](index.md)
+
+# AccessPointsApiAsync
+
+[androidJvm]\
+interface [AccessPointsApiAsync](index.md)
+
+A set of asynchronous APIs for getting and searching for nearby access points.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [getAccessPoints](get-access-points.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.ACCESS_FINE_LOCATION")
abstract fun [getAccessPoints](get-access-points.md)(query: [GetAccessPointsQuery](../../com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/index.md), callbacks: [GetAccessPointsCallbacks](../../com.isupatches.android.wisefy.accesspoints.callbacks/-get-access-points-callbacks/index.md)?)
An asynchronous API to query for a list of nearby access points. |
+
+## Inheritors
+
+| Name |
+|---|
+| [AccessPointsDelegate](../-access-points-delegate/index.md) |
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints/-access-points-api/get-access-points.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints/-access-points-api/get-access-points.md
new file mode 100644
index 00000000..aead51bd
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints/-access-points-api/get-access-points.md
@@ -0,0 +1,40 @@
+//[accesspoints](../../../index.md)/[com.isupatches.android.wisefy.accesspoints](../index.md)/[AccessPointsApi](index.md)/[getAccessPoints](get-access-points.md)
+
+# getAccessPoints
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.ACCESS_FINE_LOCATION")
+
+abstract fun [getAccessPoints](get-access-points.md)(query: [GetAccessPointsQuery](../../com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/index.md)): [GetAccessPointsResult](../../com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-result/index.md)
+
+A synchronous API to query for a list of nearby access points.
+
+#### Return
+
+GetNearbyAccessPointsResult - The result of getting nearby access points
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.accesspoints.entities.GetAccessPointsQuery](../../com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/index.md) | |
+| [com.isupatches.android.wisefy.accesspoints.entities.GetAccessPointsResult](../../com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-result/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| query | The details of the query to get nearby access points |
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints/-access-points-api/index.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints/-access-points-api/index.md
new file mode 100644
index 00000000..abff1b0f
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints/-access-points-api/index.md
@@ -0,0 +1,28 @@
+//[accesspoints](../../../index.md)/[com.isupatches.android.wisefy.accesspoints](../index.md)/[AccessPointsApi](index.md)
+
+# AccessPointsApi
+
+[androidJvm]\
+interface [AccessPointsApi](index.md)
+
+A set of synchronous APIs for getting and searching for nearby access points.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [getAccessPoints](get-access-points.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.ACCESS_FINE_LOCATION")
abstract fun [getAccessPoints](get-access-points.md)(query: [GetAccessPointsQuery](../../com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/index.md)): [GetAccessPointsResult](../../com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-result/index.md)
A synchronous API to query for a list of nearby access points. |
+
+## Inheritors
+
+| Name |
+|---|
+| [AccessPointsDelegate](../-access-points-delegate/index.md) |
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints/-access-points-delegate/index.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints/-access-points-delegate/index.md
new file mode 100644
index 00000000..f4f73806
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints/-access-points-delegate/index.md
@@ -0,0 +1,37 @@
+//[accesspoints](../../../index.md)/[com.isupatches.android.wisefy.accesspoints](../index.md)/[AccessPointsDelegate](index.md)
+
+# AccessPointsDelegate
+
+[androidJvm]\
+interface [AccessPointsDelegate](index.md) : [AccessPointsApi](../-access-points-api/index.md), [AccessPointsApiAsync](../-access-points-api-async/index.md)
+
+A delegate for synchronous and asynchronous access point APIs.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.accesspoints.AccessPointsApi](../-access-points-api/index.md) | |
+| [com.isupatches.android.wisefy.accesspoints.AccessPointsApiAsync](../-access-points-api-async/index.md) | |
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [getAccessPoints](../-access-points-api/get-access-points.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.ACCESS_FINE_LOCATION")
abstract fun [getAccessPoints](../-access-points-api/get-access-points.md)(query: [GetAccessPointsQuery](../../com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/index.md)): [GetAccessPointsResult](../../com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-result/index.md)
A synchronous API to query for a list of nearby access points.
[androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.ACCESS_FINE_LOCATION")
abstract fun [getAccessPoints](../-access-points-api-async/get-access-points.md)(query: [GetAccessPointsQuery](../../com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/index.md), callbacks: [GetAccessPointsCallbacks](../../com.isupatches.android.wisefy.accesspoints.callbacks/-get-access-points-callbacks/index.md)?)
An asynchronous API to query for a list of nearby access points. |
+
+## Inheritors
+
+| Name |
+|---|
+| [WisefyAccessPointsDelegate](../-wisefy-access-points-delegate/index.md) |
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-delegate/-companion/index.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-delegate/-companion/index.md
new file mode 100644
index 00000000..9d681939
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-delegate/-companion/index.md
@@ -0,0 +1,6 @@
+//[accesspoints](../../../../index.md)/[com.isupatches.android.wisefy.accesspoints](../../index.md)/[WisefyAccessPointsDelegate](../index.md)/[Companion](index.md)
+
+# Companion
+
+[androidJvm]\
+object [Companion](index.md)
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-delegate/-wisefy-access-points-delegate.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-delegate/-wisefy-access-points-delegate.md
new file mode 100644
index 00000000..63a5ec17
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-delegate/-wisefy-access-points-delegate.md
@@ -0,0 +1,15 @@
+//[accesspoints](../../../index.md)/[com.isupatches.android.wisefy.accesspoints](../index.md)/[WisefyAccessPointsDelegate](index.md)/[WisefyAccessPointsDelegate](-wisefy-access-points-delegate.md)
+
+# WisefyAccessPointsDelegate
+
+[androidJvm]\
+fun [WisefyAccessPointsDelegate](-wisefy-access-points-delegate.md)(logger: [WisefyLogger](../../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md), wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), coroutineDispatcherProvider: [CoroutineDispatcherProvider](../../../../core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/index.md), scope: CoroutineScope, adapter: [AccessPointsApi](../-access-points-api/index.md) = DefaultAccessPointsAdapter(wifiManager, logger))
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| logger | The [WisefyLogger](../../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md) instance to use |
+| wifiManager | The WifiManager instance to use |
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-delegate/get-access-points.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-delegate/get-access-points.md
new file mode 100644
index 00000000..18650d29
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-delegate/get-access-points.md
@@ -0,0 +1,74 @@
+//[accesspoints](../../../index.md)/[com.isupatches.android.wisefy.accesspoints](../index.md)/[WisefyAccessPointsDelegate](index.md)/[getAccessPoints](get-access-points.md)
+
+# getAccessPoints
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.ACCESS_FINE_LOCATION")
+
+open override fun [getAccessPoints](get-access-points.md)(query: [GetAccessPointsQuery](../../com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/index.md)): [GetAccessPointsResult](../../com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-result/index.md)
+
+A synchronous API to query for a list of nearby access points.
+
+#### Return
+
+GetNearbyAccessPointsResult - The result of getting nearby access points
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.accesspoints.entities.GetAccessPointsQuery](../../com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/index.md) | |
+| [com.isupatches.android.wisefy.accesspoints.entities.GetAccessPointsResult](../../com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-result/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| query | The details of the query to get nearby access points |
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.ACCESS_FINE_LOCATION")
+
+open override fun [getAccessPoints](get-access-points.md)(query: [GetAccessPointsQuery](../../com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/index.md), callbacks: [GetAccessPointsCallbacks](../../com.isupatches.android.wisefy.accesspoints.callbacks/-get-access-points-callbacks/index.md)?)
+
+An asynchronous API to query for a list of nearby access points.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.accesspoints.entities.GetAccessPointsQuery](../../com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/index.md) | |
+| [com.isupatches.android.wisefy.accesspoints.callbacks.GetAccessPointsCallbacks](../../com.isupatches.android.wisefy.accesspoints.callbacks/-get-access-points-callbacks/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| query | The details of the query to get nearby access points |
+| callbacks | The optional callbacks for when nearby access points are returned |
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-delegate/index.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-delegate/index.md
new file mode 100644
index 00000000..c77b830a
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-delegate/index.md
@@ -0,0 +1,55 @@
+//[accesspoints](../../../index.md)/[com.isupatches.android.wisefy.accesspoints](../index.md)/[WisefyAccessPointsDelegate](index.md)
+
+# WisefyAccessPointsDelegate
+
+[androidJvm]\
+class [WisefyAccessPointsDelegate](index.md)(logger: [WisefyLogger](../../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md), wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), coroutineDispatcherProvider: [CoroutineDispatcherProvider](../../../../core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/index.md), scope: CoroutineScope, adapter: [AccessPointsApi](../-access-points-api/index.md) = DefaultAccessPointsAdapter(wifiManager, logger)) : [AccessPointsDelegate](../-access-points-delegate/index.md)
+
+An internal Wisefy delegate for getting and searching for nearby access points.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.accesspoints.AccessPointsApi](../-access-points-api/index.md) | |
+| [com.isupatches.android.wisefy.accesspoints.AccessPointsDelegate](../-access-points-delegate/index.md) | |
+| [com.isupatches.android.wisefy.core.coroutines.CoroutineDispatcherProvider](../../../../core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/index.md) | |
+| com.isupatches.android.wisefy.accesspoints.os.adapters.DefaultAccessPointsAdapter | |
+| [com.isupatches.android.wisefy.core.logging.WisefyLogger](../../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| logger | The [WisefyLogger](../../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md) instance to use |
+| wifiManager | The WifiManager instance to use |
+
+## Constructors
+
+| | |
+|---|---|
+| [WisefyAccessPointsDelegate](-wisefy-access-points-delegate.md) | [androidJvm]
fun [WisefyAccessPointsDelegate](-wisefy-access-points-delegate.md)(logger: [WisefyLogger](../../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md), wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), coroutineDispatcherProvider: [CoroutineDispatcherProvider](../../../../core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/index.md), scope: CoroutineScope, adapter: [AccessPointsApi](../-access-points-api/index.md) = DefaultAccessPointsAdapter(wifiManager, logger)) |
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [Companion](-companion/index.md) | [androidJvm]
object [Companion](-companion/index.md) |
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [getAccessPoints](get-access-points.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.ACCESS_FINE_LOCATION")
open override fun [getAccessPoints](get-access-points.md)(query: [GetAccessPointsQuery](../../com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/index.md)): [GetAccessPointsResult](../../com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-result/index.md)
A synchronous API to query for a list of nearby access points.
[androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.ACCESS_FINE_LOCATION")
open override fun [getAccessPoints](get-access-points.md)(query: [GetAccessPointsQuery](../../com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/index.md), callbacks: [GetAccessPointsCallbacks](../../com.isupatches.android.wisefy.accesspoints.callbacks/-get-access-points-callbacks/index.md)?)
An asynchronous API to query for a list of nearby access points. |
diff --git a/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints/index.md b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints/index.md
new file mode 100644
index 00000000..f8dcddfe
--- /dev/null
+++ b/dokka/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints/index.md
@@ -0,0 +1,12 @@
+//[accesspoints](../../index.md)/[com.isupatches.android.wisefy.accesspoints](index.md)
+
+# Package com.isupatches.android.wisefy.accesspoints
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [AccessPointsApi](-access-points-api/index.md) | [androidJvm]
interface [AccessPointsApi](-access-points-api/index.md)
A set of synchronous APIs for getting and searching for nearby access points. |
+| [AccessPointsApiAsync](-access-points-api-async/index.md) | [androidJvm]
interface [AccessPointsApiAsync](-access-points-api-async/index.md)
A set of asynchronous APIs for getting and searching for nearby access points. |
+| [AccessPointsDelegate](-access-points-delegate/index.md) | [androidJvm]
interface [AccessPointsDelegate](-access-points-delegate/index.md) : [AccessPointsApi](-access-points-api/index.md), [AccessPointsApiAsync](-access-points-api-async/index.md)
A delegate for synchronous and asynchronous access point APIs. |
+| [WisefyAccessPointsDelegate](-wisefy-access-points-delegate/index.md) | [androidJvm]
class [WisefyAccessPointsDelegate](-wisefy-access-points-delegate/index.md)(logger: [WisefyLogger](../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md), wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), coroutineDispatcherProvider: [CoroutineDispatcherProvider](../../../core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/index.md), scope: CoroutineScope, adapter: [AccessPointsApi](-access-points-api/index.md) = DefaultAccessPointsAdapter(wifiManager, logger)) : [AccessPointsDelegate](-access-points-delegate/index.md)
An internal Wisefy delegate for getting and searching for nearby access points. |
diff --git a/dokka/accesspoints/index.md b/dokka/accesspoints/index.md
new file mode 100644
index 00000000..f52319ed
--- /dev/null
+++ b/dokka/accesspoints/index.md
@@ -0,0 +1,11 @@
+//[accesspoints](index.md)
+
+# accesspoints
+
+## Packages
+
+| Name |
+|---|
+| [com.isupatches.android.wisefy.accesspoints](accesspoints/com.isupatches.android.wisefy.accesspoints/index.md) |
+| [com.isupatches.android.wisefy.accesspoints.callbacks](accesspoints/com.isupatches.android.wisefy.accesspoints.callbacks/index.md) |
+| [com.isupatches.android.wisefy.accesspoints.entities](accesspoints/com.isupatches.android.wisefy.accesspoints.entities/index.md) |
diff --git a/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.callbacks/-add-network-callbacks/index.md b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.callbacks/-add-network-callbacks/index.md
new file mode 100644
index 00000000..16e24bae
--- /dev/null
+++ b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.callbacks/-add-network-callbacks/index.md
@@ -0,0 +1,32 @@
+//[addnetwork](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.callbacks](../index.md)/[AddNetworkCallbacks](index.md)
+
+# AddNetworkCallbacks
+
+[androidJvm]\
+interface [AddNetworkCallbacks](index.md) : [BaseWisefyCallbacks](../../../../core/core/com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/index.md)
+
+A set of callbacks for adding a network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.core.base.BaseWisefyCallbacks](../../../../core/core/com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/index.md) | |
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [onFailureAddingNetwork](on-failure-adding-network.md) | [androidJvm]
abstract fun [onFailureAddingNetwork](on-failure-adding-network.md)(result: [AddNetworkResult.Failure](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-failure/index.md))
A callback triggered when there is a failure adding a network. |
+| [onSuccessAddingNetwork](on-success-adding-network.md) | [androidJvm]
abstract fun [onSuccessAddingNetwork](on-success-adding-network.md)(result: [AddNetworkResult.Success](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-success/index.md))
A callback triggered when there is a success while adding a network. |
+| [onWisefyAsyncFailure](index.md#-2014443064%2FFunctions%2F516743864) | [androidJvm]
abstract fun [onWisefyAsyncFailure](index.md#-2014443064%2FFunctions%2F516743864)(exception: [WisefyException](../../../../core/core/com.isupatches.android.wisefy.core.exceptions/-wisefy-exception/index.md)) |
diff --git a/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.callbacks/-add-network-callbacks/on-failure-adding-network.md b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.callbacks/-add-network-callbacks/on-failure-adding-network.md
new file mode 100644
index 00000000..edcf542f
--- /dev/null
+++ b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.callbacks/-add-network-callbacks/on-failure-adding-network.md
@@ -0,0 +1,32 @@
+//[addnetwork](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.callbacks](../index.md)/[AddNetworkCallbacks](index.md)/[onFailureAddingNetwork](on-failure-adding-network.md)
+
+# onFailureAddingNetwork
+
+[androidJvm]\
+abstract fun [onFailureAddingNetwork](on-failure-adding-network.md)(result: [AddNetworkResult.Failure](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-failure/index.md))
+
+A callback triggered when there is a failure adding a network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.addnetwork.entities.AddNetworkResult.Failure](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-failure/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| result | The details from the failure while attempting to add the network |
diff --git a/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.callbacks/-add-network-callbacks/on-success-adding-network.md b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.callbacks/-add-network-callbacks/on-success-adding-network.md
new file mode 100644
index 00000000..ecaabba7
--- /dev/null
+++ b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.callbacks/-add-network-callbacks/on-success-adding-network.md
@@ -0,0 +1,32 @@
+//[addnetwork](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.callbacks](../index.md)/[AddNetworkCallbacks](index.md)/[onSuccessAddingNetwork](on-success-adding-network.md)
+
+# onSuccessAddingNetwork
+
+[androidJvm]\
+abstract fun [onSuccessAddingNetwork](on-success-adding-network.md)(result: [AddNetworkResult.Success](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-success/index.md))
+
+A callback triggered when there is a success while adding a network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.addnetwork.entities.AddNetworkResult.Success](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-success/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| result | The details from the successful attempt adding a network |
diff --git a/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.callbacks/index.md b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.callbacks/index.md
new file mode 100644
index 00000000..0d48547f
--- /dev/null
+++ b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.callbacks/index.md
@@ -0,0 +1,9 @@
+//[addnetwork](../../index.md)/[com.isupatches.android.wisefy.addnetwork.callbacks](index.md)
+
+# Package com.isupatches.android.wisefy.addnetwork.callbacks
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [AddNetworkCallbacks](-add-network-callbacks/index.md) | [androidJvm]
interface [AddNetworkCallbacks](-add-network-callbacks/index.md) : [BaseWisefyCallbacks](../../../core/core/com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/index.md)
A set of callbacks for adding a network. |
diff --git a/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-open/-open.md b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-open/-open.md
new file mode 100644
index 00000000..9ecfc1b9
--- /dev/null
+++ b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-open/-open.md
@@ -0,0 +1,6 @@
+//[addnetwork](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[AddNetworkRequest](../index.md)/[Open](index.md)/[Open](-open.md)
+
+# Open
+
+[androidJvm]\
+fun [Open](-open.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), bssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)? = null)
diff --git a/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-open/bssid.md b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-open/bssid.md
new file mode 100644
index 00000000..0b0e8095
--- /dev/null
+++ b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-open/bssid.md
@@ -0,0 +1,6 @@
+//[addnetwork](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[AddNetworkRequest](../index.md)/[Open](index.md)/[bssid](bssid.md)
+
+# bssid
+
+[androidJvm]\
+val [bssid](bssid.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)? = null
diff --git a/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-open/index.md b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-open/index.md
new file mode 100644
index 00000000..110991c2
--- /dev/null
+++ b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-open/index.md
@@ -0,0 +1,37 @@
+//[addnetwork](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[AddNetworkRequest](../index.md)/[Open](index.md)
+
+# Open
+
+[androidJvm]\
+data class [Open](index.md)(val ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), val bssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)? = null) : [AddNetworkRequest](../index.md)
+
+A representation of a request to add an open network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.addnetwork.entities.AddNetworkRequest](../index.md) | |
+
+## Constructors
+
+| | |
+|---|---|
+| [Open](-open.md) | [androidJvm]
fun [Open](-open.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), bssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)? = null) |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [bssid](bssid.md) | [androidJvm]
val [bssid](bssid.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)? = null
The optional BSSID for the open network being added |
+| [ssid](ssid.md) | [androidJvm]
val [ssid](ssid.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
The SSID of the open network to add |
diff --git a/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-open/ssid.md b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-open/ssid.md
new file mode 100644
index 00000000..3b77edb9
--- /dev/null
+++ b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-open/ssid.md
@@ -0,0 +1,6 @@
+//[addnetwork](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[AddNetworkRequest](../index.md)/[Open](index.md)/[ssid](ssid.md)
+
+# ssid
+
+[androidJvm]\
+val [ssid](ssid.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-w-p-a2/-w-p-a2.md b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-w-p-a2/-w-p-a2.md
new file mode 100644
index 00000000..009e534a
--- /dev/null
+++ b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-w-p-a2/-w-p-a2.md
@@ -0,0 +1,6 @@
+//[addnetwork](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[AddNetworkRequest](../index.md)/[WPA2](index.md)/[WPA2](-w-p-a2.md)
+
+# WPA2
+
+[androidJvm]\
+fun [WPA2](-w-p-a2.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), bssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)? = null)
diff --git a/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-w-p-a2/bssid.md b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-w-p-a2/bssid.md
new file mode 100644
index 00000000..6bb18b38
--- /dev/null
+++ b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-w-p-a2/bssid.md
@@ -0,0 +1,6 @@
+//[addnetwork](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[AddNetworkRequest](../index.md)/[WPA2](index.md)/[bssid](bssid.md)
+
+# bssid
+
+[androidJvm]\
+val [bssid](bssid.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)? = null
diff --git a/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-w-p-a2/index.md b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-w-p-a2/index.md
new file mode 100644
index 00000000..21eaa76b
--- /dev/null
+++ b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-w-p-a2/index.md
@@ -0,0 +1,38 @@
+//[addnetwork](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[AddNetworkRequest](../index.md)/[WPA2](index.md)
+
+# WPA2
+
+[androidJvm]\
+data class [WPA2](index.md)(val ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), val passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), val bssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)? = null) : [AddNetworkRequest](../index.md)
+
+A representation of a request to add a WPA2 network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.addnetwork.entities.AddNetworkRequest](../index.md) | |
+
+## Constructors
+
+| | |
+|---|---|
+| [WPA2](-w-p-a2.md) | [androidJvm]
fun [WPA2](-w-p-a2.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), bssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)? = null) |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [bssid](bssid.md) | [androidJvm]
val [bssid](bssid.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)? = null
The optional BSSID for the WPA2 network being added |
+| [passphrase](passphrase.md) | [androidJvm]
val [passphrase](passphrase.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
The password or passphrase for the WPA2 network to add |
+| [ssid](ssid.md) | [androidJvm]
val [ssid](ssid.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
The SSID of the WPA2 network to add |
diff --git a/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-w-p-a2/passphrase.md b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-w-p-a2/passphrase.md
new file mode 100644
index 00000000..3950be29
--- /dev/null
+++ b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-w-p-a2/passphrase.md
@@ -0,0 +1,6 @@
+//[addnetwork](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[AddNetworkRequest](../index.md)/[WPA2](index.md)/[passphrase](passphrase.md)
+
+# passphrase
+
+[androidJvm]\
+val [passphrase](passphrase.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-w-p-a2/ssid.md b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-w-p-a2/ssid.md
new file mode 100644
index 00000000..4dfadf69
--- /dev/null
+++ b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-w-p-a2/ssid.md
@@ -0,0 +1,6 @@
+//[addnetwork](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[AddNetworkRequest](../index.md)/[WPA2](index.md)/[ssid](ssid.md)
+
+# ssid
+
+[androidJvm]\
+val [ssid](ssid.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-w-p-a3/-w-p-a3.md b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-w-p-a3/-w-p-a3.md
new file mode 100644
index 00000000..98b320dc
--- /dev/null
+++ b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-w-p-a3/-w-p-a3.md
@@ -0,0 +1,6 @@
+//[addnetwork](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[AddNetworkRequest](../index.md)/[WPA3](index.md)/[WPA3](-w-p-a3.md)
+
+# WPA3
+
+[androidJvm]\
+fun [WPA3](-w-p-a3.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), bssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)? = null)
diff --git a/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-w-p-a3/bssid.md b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-w-p-a3/bssid.md
new file mode 100644
index 00000000..b80d68c5
--- /dev/null
+++ b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-w-p-a3/bssid.md
@@ -0,0 +1,6 @@
+//[addnetwork](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[AddNetworkRequest](../index.md)/[WPA3](index.md)/[bssid](bssid.md)
+
+# bssid
+
+[androidJvm]\
+val [bssid](bssid.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)? = null
diff --git a/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-w-p-a3/index.md b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-w-p-a3/index.md
new file mode 100644
index 00000000..05d17660
--- /dev/null
+++ b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-w-p-a3/index.md
@@ -0,0 +1,40 @@
+//[addnetwork](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[AddNetworkRequest](../index.md)/[WPA3](index.md)
+
+# WPA3
+
+[androidJvm]\
+@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
+
+data class [WPA3](index.md)(val ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), val passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), val bssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)? = null) : [AddNetworkRequest](../index.md)
+
+A representation of a request to add a WPA3 network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.addnetwork.entities.AddNetworkRequest](../index.md) | |
+
+## Constructors
+
+| | |
+|---|---|
+| [WPA3](-w-p-a3.md) | [androidJvm]
fun [WPA3](-w-p-a3.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), bssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)? = null) |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [bssid](bssid.md) | [androidJvm]
val [bssid](bssid.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)? = null
The optional BSSID for the WPA3 network being added |
+| [passphrase](passphrase.md) | [androidJvm]
val [passphrase](passphrase.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
The password or passphrase for the WPA3 network to add |
+| [ssid](ssid.md) | [androidJvm]
val [ssid](ssid.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
The SSID of the WPA3 network to add |
diff --git a/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-w-p-a3/passphrase.md b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-w-p-a3/passphrase.md
new file mode 100644
index 00000000..e6d91300
--- /dev/null
+++ b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-w-p-a3/passphrase.md
@@ -0,0 +1,6 @@
+//[addnetwork](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[AddNetworkRequest](../index.md)/[WPA3](index.md)/[passphrase](passphrase.md)
+
+# passphrase
+
+[androidJvm]\
+val [passphrase](passphrase.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-w-p-a3/ssid.md b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-w-p-a3/ssid.md
new file mode 100644
index 00000000..0f30e92c
--- /dev/null
+++ b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-w-p-a3/ssid.md
@@ -0,0 +1,6 @@
+//[addnetwork](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[AddNetworkRequest](../index.md)/[WPA3](index.md)/[ssid](ssid.md)
+
+# ssid
+
+[androidJvm]\
+val [ssid](ssid.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/index.md b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/index.md
new file mode 100644
index 00000000..0fe208b5
--- /dev/null
+++ b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/index.md
@@ -0,0 +1,32 @@
+//[addnetwork](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../index.md)/[AddNetworkRequest](index.md)
+
+# AddNetworkRequest
+
+[androidJvm]\
+sealed class [AddNetworkRequest](index.md)
+
+A set of classes and objects that represent requests to add a network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [Open](-open/index.md) | [androidJvm]
data class [Open](-open/index.md)(val ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), val bssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)? = null) : [AddNetworkRequest](index.md)
A representation of a request to add an open network. |
+| [WPA2](-w-p-a2/index.md) | [androidJvm]
data class [WPA2](-w-p-a2/index.md)(val ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), val passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), val bssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)? = null) : [AddNetworkRequest](index.md)
A representation of a request to add a WPA2 network. |
+| [WPA3](-w-p-a3/index.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
data class [WPA3](-w-p-a3/index.md)(val ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), val passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), val bssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)? = null) : [AddNetworkRequest](index.md)
A representation of a request to add a WPA3 network. |
+
+## Inheritors
+
+| Name |
+|---|
+| [Open](-open/index.md) |
+| [WPA2](-w-p-a2/index.md) |
+| [WPA3](-w-p-a3/index.md) |
diff --git a/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-failure/-assertion/-assertion.md b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-failure/-assertion/-assertion.md
new file mode 100644
index 00000000..006e08e1
--- /dev/null
+++ b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-failure/-assertion/-assertion.md
@@ -0,0 +1,6 @@
+//[addnetwork](../../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../../index.md)/[AddNetworkResult](../../index.md)/[Failure](../index.md)/[Assertion](index.md)/[Assertion](-assertion.md)
+
+# Assertion
+
+[androidJvm]\
+fun [Assertion](-assertion.md)(message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html))
diff --git a/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-failure/-assertion/index.md b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-failure/-assertion/index.md
new file mode 100644
index 00000000..1207858b
--- /dev/null
+++ b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-failure/-assertion/index.md
@@ -0,0 +1,38 @@
+//[addnetwork](../../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../../index.md)/[AddNetworkResult](../../index.md)/[Failure](../index.md)/[Assertion](index.md)
+
+# Assertion
+
+[androidJvm]\
+data class [Assertion](index.md)(val message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) : [AddNetworkResult.Failure](../index.md)
+
+A representation of a failure to add a network due to hitting an unexpected path causing an assertion.
+
+*NOTE* This is for developer specific feedback and should NEVER actually be hit unless there is a bug.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.addnetwork.entities.AddNetworkResult.Failure](../index.md) | |
+
+## Constructors
+
+| | |
+|---|---|
+| [Assertion](-assertion.md) | [androidJvm]
fun [Assertion](-assertion.md)(message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [message](message.md) | [androidJvm]
val [message](message.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
A text description describing the assertion error hit |
diff --git a/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-failure/-assertion/message.md b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-failure/-assertion/message.md
new file mode 100644
index 00000000..b9f6c6f9
--- /dev/null
+++ b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-failure/-assertion/message.md
@@ -0,0 +1,6 @@
+//[addnetwork](../../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../../index.md)/[AddNetworkResult](../../index.md)/[Failure](../index.md)/[Assertion](index.md)/[message](message.md)
+
+# message
+
+[androidJvm]\
+val [message](message.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-failure/-result-code/-result-code.md b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-failure/-result-code/-result-code.md
new file mode 100644
index 00000000..eb6e904d
--- /dev/null
+++ b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-failure/-result-code/-result-code.md
@@ -0,0 +1,6 @@
+//[addnetwork](../../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../../index.md)/[AddNetworkResult](../../index.md)/[Failure](../index.md)/[ResultCode](index.md)/[ResultCode](-result-code.md)
+
+# ResultCode
+
+[androidJvm]\
+fun [ResultCode](-result-code.md)(value: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html))
diff --git a/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-failure/-result-code/index.md b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-failure/-result-code/index.md
new file mode 100644
index 00000000..1a0abe4a
--- /dev/null
+++ b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-failure/-result-code/index.md
@@ -0,0 +1,45 @@
+//[addnetwork](../../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../../index.md)/[AddNetworkResult](../../index.md)/[Failure](../index.md)/[ResultCode](index.md)
+
+# ResultCode
+
+[androidJvm]\
+data class [ResultCode](index.md)(val value: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)) : [AddNetworkResult.Failure](../index.md)
+
+A representation of a failure while attempting to add a network based on result codes returned from the Android OS.
+
+*NOTE* This could be instances such as:
+
+-
+ Returning -1 for the case of legacy wifiManager.addNetwork() https://developer.android.com/reference/android/net/wifi/WifiManager#addNetwork(android.net.wifi.WifiConfiguration))
+-
+ Any of the failure codes for wifiManager.addNetworkSuggestions() for SDK 29 https://developer.android.com/reference/android/net/wifi/WifiManager#addNetworkSuggestions(java.util.List%3Candroid.net.wifi.WifiNetworkSuggestion%3E)
+-
+ As of Android 11, in-place modifications are allowed so there will be no STATUS_NETWORK_SUGGESTIONS_ERROR_ADD_DUPLICATE return
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.addnetwork.entities.AddNetworkResult.Failure](../index.md) | |
+
+## Constructors
+
+| | |
+|---|---|
+| [ResultCode](-result-code.md) | [androidJvm]
fun [ResultCode](-result-code.md)(value: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)) |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [value](value.md) | [androidJvm]
val [value](value.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
The raw value of the result code from the Android OS |
diff --git a/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-failure/-result-code/value.md b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-failure/-result-code/value.md
new file mode 100644
index 00000000..f962155c
--- /dev/null
+++ b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-failure/-result-code/value.md
@@ -0,0 +1,6 @@
+//[addnetwork](../../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../../index.md)/[AddNetworkResult](../../index.md)/[Failure](../index.md)/[ResultCode](index.md)/[value](value.md)
+
+# value
+
+[androidJvm]\
+val [value](value.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-failure/index.md b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-failure/index.md
new file mode 100644
index 00000000..6c00cd89
--- /dev/null
+++ b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-failure/index.md
@@ -0,0 +1,38 @@
+//[addnetwork](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[AddNetworkResult](../index.md)/[Failure](index.md)
+
+# Failure
+
+[androidJvm]\
+sealed class [Failure](index.md) : [AddNetworkResult](../index.md)
+
+A set of classes that denote a failure while attempting to add a network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.addnetwork.entities.AddNetworkResult](../index.md) | |
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [Assertion](-assertion/index.md) | [androidJvm]
data class [Assertion](-assertion/index.md)(val message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) : [AddNetworkResult.Failure](index.md)
A representation of a failure to add a network due to hitting an unexpected path causing an assertion. |
+| [ResultCode](-result-code/index.md) | [androidJvm]
data class [ResultCode](-result-code/index.md)(val value: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)) : [AddNetworkResult.Failure](index.md)
A representation of a failure while attempting to add a network based on result codes returned from the Android OS. |
+
+## Inheritors
+
+| Name |
+|---|
+| [ResultCode](-result-code/index.md) |
+| [Assertion](-assertion/index.md) |
diff --git a/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-success/-result-code/-result-code.md b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-success/-result-code/-result-code.md
new file mode 100644
index 00000000..ce30c1fd
--- /dev/null
+++ b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-success/-result-code/-result-code.md
@@ -0,0 +1,6 @@
+//[addnetwork](../../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../../index.md)/[AddNetworkResult](../../index.md)/[Success](../index.md)/[ResultCode](index.md)/[ResultCode](-result-code.md)
+
+# ResultCode
+
+[androidJvm]\
+fun [ResultCode](-result-code.md)(value: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html))
diff --git a/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-success/-result-code/index.md b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-success/-result-code/index.md
new file mode 100644
index 00000000..064b0a5c
--- /dev/null
+++ b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-success/-result-code/index.md
@@ -0,0 +1,45 @@
+//[addnetwork](../../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../../index.md)/[AddNetworkResult](../../index.md)/[Success](../index.md)/[ResultCode](index.md)
+
+# ResultCode
+
+[androidJvm]\
+data class [ResultCode](index.md)(val value: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)) : [AddNetworkResult.Success](../index.md)
+
+A representation of a success while attempting to add a network based on result codes returned from the Android OS.
+
+*NOTES* This could be instances such as:
+
+-
+ Returning the id of the new network for the case of legacy wifiManager.addNetwork() https://developer.android.com/reference/android/net/wifi/WifiManager#addNetwork(android.net.wifi.WifiConfiguration))
+-
+ STATUS_NETWORK_SUGGESTIONS_SUCCESS for SDK 29 https://developer.android.com/reference/android/net/wifi/WifiManager#STATUS_NETWORK_SUGGESTIONS_SUCCESS
+-
+ As of Android 11, in-place modifications are allowed so there will be no STATUS_NETWORK_SUGGESTIONS_ERROR_ADD_DUPLICATE return
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.addnetwork.entities.AddNetworkResult.Success](../index.md) | |
+
+## Constructors
+
+| | |
+|---|---|
+| [ResultCode](-result-code.md) | [androidJvm]
fun [ResultCode](-result-code.md)(value: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)) |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [value](value.md) | [androidJvm]
val [value](value.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
The value of the result code from the Android OS |
diff --git a/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-success/-result-code/value.md b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-success/-result-code/value.md
new file mode 100644
index 00000000..8c2fdf62
--- /dev/null
+++ b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-success/-result-code/value.md
@@ -0,0 +1,6 @@
+//[addnetwork](../../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../../index.md)/[AddNetworkResult](../../index.md)/[Success](../index.md)/[ResultCode](index.md)/[value](value.md)
+
+# value
+
+[androidJvm]\
+val [value](value.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-success/index.md b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-success/index.md
new file mode 100644
index 00000000..84efde0b
--- /dev/null
+++ b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-success/index.md
@@ -0,0 +1,36 @@
+//[addnetwork](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../../index.md)/[AddNetworkResult](../index.md)/[Success](index.md)
+
+# Success
+
+[androidJvm]\
+sealed class [Success](index.md) : [AddNetworkResult](../index.md)
+
+A set of classes and objects that denote a success while attempting to add a network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.addnetwork.entities.AddNetworkResult](../index.md) | |
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [ResultCode](-result-code/index.md) | [androidJvm]
data class [ResultCode](-result-code/index.md)(val value: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)) : [AddNetworkResult.Success](index.md)
A representation of a success while attempting to add a network based on result codes returned from the Android OS. |
+
+## Inheritors
+
+| Name |
+|---|
+| [ResultCode](-result-code/index.md) |
diff --git a/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md
new file mode 100644
index 00000000..19f154b0
--- /dev/null
+++ b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md
@@ -0,0 +1,30 @@
+//[addnetwork](../../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](../index.md)/[AddNetworkResult](index.md)
+
+# AddNetworkResult
+
+[androidJvm]\
+sealed class [AddNetworkResult](index.md)
+
+A set of classes and objects that represent a result while attempting to add a network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [Failure](-failure/index.md) | [androidJvm]
sealed class [Failure](-failure/index.md) : [AddNetworkResult](index.md)
A set of classes that denote a failure while attempting to add a network. |
+| [Success](-success/index.md) | [androidJvm]
sealed class [Success](-success/index.md) : [AddNetworkResult](index.md)
A set of classes and objects that denote a success while attempting to add a network. |
+
+## Inheritors
+
+| Name |
+|---|
+| [Success](-success/index.md) |
+| [Failure](-failure/index.md) |
diff --git a/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/index.md b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/index.md
new file mode 100644
index 00000000..ed8530ff
--- /dev/null
+++ b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/index.md
@@ -0,0 +1,10 @@
+//[addnetwork](../../index.md)/[com.isupatches.android.wisefy.addnetwork.entities](index.md)
+
+# Package com.isupatches.android.wisefy.addnetwork.entities
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [AddNetworkRequest](-add-network-request/index.md) | [androidJvm]
sealed class [AddNetworkRequest](-add-network-request/index.md)
A set of classes and objects that represent requests to add a network. |
+| [AddNetworkResult](-add-network-result/index.md) | [androidJvm]
sealed class [AddNetworkResult](-add-network-result/index.md)
A set of classes and objects that represent a result while attempting to add a network. |
diff --git a/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork/-add-network-api-async/add-network.md b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork/-add-network-api-async/add-network.md
new file mode 100644
index 00000000..97a78052
--- /dev/null
+++ b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork/-add-network-api-async/add-network.md
@@ -0,0 +1,37 @@
+//[addnetwork](../../../index.md)/[com.isupatches.android.wisefy.addnetwork](../index.md)/[AddNetworkApiAsync](index.md)/[addNetwork](add-network.md)
+
+# addNetwork
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.CHANGE_WIFI_STATE"])
+
+abstract fun [addNetwork](add-network.md)(request: [AddNetworkRequest](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/index.md), callbacks: [AddNetworkCallbacks](../../com.isupatches.android.wisefy.addnetwork.callbacks/-add-network-callbacks/index.md)?)
+
+An asynchronous API for adding a network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.addnetwork.entities.AddNetworkRequest](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/index.md) | |
+| [com.isupatches.android.wisefy.addnetwork.callbacks.AddNetworkCallbacks](../../com.isupatches.android.wisefy.addnetwork.callbacks/-add-network-callbacks/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| request | The details of the request to add a network |
+| callbacks | The optional callbacks for when the result for adding a network is returned |
diff --git a/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork/-add-network-api-async/index.md b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork/-add-network-api-async/index.md
new file mode 100644
index 00000000..042b3be4
--- /dev/null
+++ b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork/-add-network-api-async/index.md
@@ -0,0 +1,28 @@
+//[addnetwork](../../../index.md)/[com.isupatches.android.wisefy.addnetwork](../index.md)/[AddNetworkApiAsync](index.md)
+
+# AddNetworkApiAsync
+
+[androidJvm]\
+interface [AddNetworkApiAsync](index.md)
+
+A set of asynchronous APIs related to adding networks.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [addNetwork](add-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.CHANGE_WIFI_STATE"])
abstract fun [addNetwork](add-network.md)(request: [AddNetworkRequest](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/index.md), callbacks: [AddNetworkCallbacks](../../com.isupatches.android.wisefy.addnetwork.callbacks/-add-network-callbacks/index.md)?)
An asynchronous API for adding a network. |
+
+## Inheritors
+
+| Name |
+|---|
+| [AddNetworkDelegate](../-add-network-delegate/index.md) |
diff --git a/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork/-add-network-api/add-network.md b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork/-add-network-api/add-network.md
new file mode 100644
index 00000000..c713735b
--- /dev/null
+++ b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork/-add-network-api/add-network.md
@@ -0,0 +1,40 @@
+//[addnetwork](../../../index.md)/[com.isupatches.android.wisefy.addnetwork](../index.md)/[AddNetworkApi](index.md)/[addNetwork](add-network.md)
+
+# addNetwork
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.CHANGE_WIFI_STATE"])
+
+abstract fun [addNetwork](add-network.md)(request: [AddNetworkRequest](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/index.md)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
+
+A synchronous API for adding a network.
+
+#### Return
+
+AddNetworkResult - The result while adding a network
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.addnetwork.entities.AddNetworkRequest](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/index.md) | |
+| [com.isupatches.android.wisefy.addnetwork.entities.AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| request | The details of the request to add a network |
diff --git a/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork/-add-network-api/index.md b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork/-add-network-api/index.md
new file mode 100644
index 00000000..955994d6
--- /dev/null
+++ b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork/-add-network-api/index.md
@@ -0,0 +1,28 @@
+//[addnetwork](../../../index.md)/[com.isupatches.android.wisefy.addnetwork](../index.md)/[AddNetworkApi](index.md)
+
+# AddNetworkApi
+
+[androidJvm]\
+interface [AddNetworkApi](index.md)
+
+A set of synchronous APIs related to adding networks.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [addNetwork](add-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.CHANGE_WIFI_STATE"])
abstract fun [addNetwork](add-network.md)(request: [AddNetworkRequest](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/index.md)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
A synchronous API for adding a network. |
+
+## Inheritors
+
+| Name |
+|---|
+| [AddNetworkDelegate](../-add-network-delegate/index.md) |
diff --git a/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork/-add-network-delegate/index.md b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork/-add-network-delegate/index.md
new file mode 100644
index 00000000..075b073e
--- /dev/null
+++ b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork/-add-network-delegate/index.md
@@ -0,0 +1,37 @@
+//[addnetwork](../../../index.md)/[com.isupatches.android.wisefy.addnetwork](../index.md)/[AddNetworkDelegate](index.md)
+
+# AddNetworkDelegate
+
+[androidJvm]\
+interface [AddNetworkDelegate](index.md) : [AddNetworkApi](../-add-network-api/index.md), [AddNetworkApiAsync](../-add-network-api-async/index.md)
+
+A delegate for synchronous and asynchronous APIs to add networks.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.addnetwork.AddNetworkApi](../-add-network-api/index.md) | |
+| [com.isupatches.android.wisefy.addnetwork.AddNetworkApiAsync](../-add-network-api-async/index.md) | |
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [addNetwork](../-add-network-api/add-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.CHANGE_WIFI_STATE"])
abstract fun [addNetwork](../-add-network-api/add-network.md)(request: [AddNetworkRequest](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/index.md)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
A synchronous API for adding a network.
[androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.CHANGE_WIFI_STATE"])
abstract fun [addNetwork](../-add-network-api-async/add-network.md)(request: [AddNetworkRequest](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/index.md), callbacks: [AddNetworkCallbacks](../../com.isupatches.android.wisefy.addnetwork.callbacks/-add-network-callbacks/index.md)?)
An asynchronous API for adding a network. |
+
+## Inheritors
+
+| Name |
+|---|
+| [WisefyAddNetworkDelegate](../-wisefy-add-network-delegate/index.md) |
diff --git a/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-delegate/-companion/index.md b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-delegate/-companion/index.md
new file mode 100644
index 00000000..ff7a0bc0
--- /dev/null
+++ b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-delegate/-companion/index.md
@@ -0,0 +1,6 @@
+//[addnetwork](../../../../index.md)/[com.isupatches.android.wisefy.addnetwork](../../index.md)/[WisefyAddNetworkDelegate](../index.md)/[Companion](index.md)
+
+# Companion
+
+[androidJvm]\
+object [Companion](index.md)
diff --git a/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-delegate/-wisefy-add-network-delegate.md b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-delegate/-wisefy-add-network-delegate.md
new file mode 100644
index 00000000..88822f62
--- /dev/null
+++ b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-delegate/-wisefy-add-network-delegate.md
@@ -0,0 +1,21 @@
+//[addnetwork](../../../index.md)/[com.isupatches.android.wisefy.addnetwork](../index.md)/[WisefyAddNetworkDelegate](index.md)/[WisefyAddNetworkDelegate](-wisefy-add-network-delegate.md)
+
+# WisefyAddNetworkDelegate
+
+[androidJvm]\
+fun [WisefyAddNetworkDelegate](-wisefy-add-network-delegate.md)(assertions: [WisefyAssertions](../../../../core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/index.md), logger: [WisefyLogger](../../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md), sdkUtil: [SdkUtil](../../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md), wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), coroutineDispatcherProvider: [CoroutineDispatcherProvider](../../../../core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/index.md), scope: CoroutineScope, savedNetworkMutex: Mutex, adapter: [AddNetworkApi](../-add-network-api/index.md) = when {
+ sdkUtil.isAtLeastR() -> Android30AddNetworkAdapter(wifiManager, logger, assertions)
+ sdkUtil.isAtLeastQ() -> Android29AddNetworkAdapter(assertions)
+ else -> DefaultAddNetworkAdapter(wifiManager, logger, assertions)
+ })
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| assertions | The [WisefyAssertions](../../../../core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/index.md) instance to use |
+| logger | The [WisefyLogger](../../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md) instance to use |
+| sdkUtil | The [SdkUtil](../../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md) instance to use |
+| wifiManager | The WifiManager instance to use |
diff --git a/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-delegate/add-network.md b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-delegate/add-network.md
new file mode 100644
index 00000000..c233e9b3
--- /dev/null
+++ b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-delegate/add-network.md
@@ -0,0 +1,74 @@
+//[addnetwork](../../../index.md)/[com.isupatches.android.wisefy.addnetwork](../index.md)/[WisefyAddNetworkDelegate](index.md)/[addNetwork](add-network.md)
+
+# addNetwork
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.CHANGE_WIFI_STATE"])
+
+open override fun [addNetwork](add-network.md)(request: [AddNetworkRequest](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/index.md)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
+
+A synchronous API for adding a network.
+
+#### Return
+
+AddNetworkResult - The result while adding a network
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.addnetwork.entities.AddNetworkRequest](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/index.md) | |
+| [com.isupatches.android.wisefy.addnetwork.entities.AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| request | The details of the request to add a network |
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.CHANGE_WIFI_STATE"])
+
+open override fun [addNetwork](add-network.md)(request: [AddNetworkRequest](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/index.md), callbacks: [AddNetworkCallbacks](../../com.isupatches.android.wisefy.addnetwork.callbacks/-add-network-callbacks/index.md)?)
+
+An asynchronous API for adding a network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.addnetwork.entities.AddNetworkRequest](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/index.md) | |
+| [com.isupatches.android.wisefy.addnetwork.callbacks.AddNetworkCallbacks](../../com.isupatches.android.wisefy.addnetwork.callbacks/-add-network-callbacks/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| request | The details of the request to add a network |
+| callbacks | The optional callbacks for when the result for adding a network is returned |
diff --git a/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-delegate/index.md b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-delegate/index.md
new file mode 100644
index 00000000..4d63020f
--- /dev/null
+++ b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-delegate/index.md
@@ -0,0 +1,65 @@
+//[addnetwork](../../../index.md)/[com.isupatches.android.wisefy.addnetwork](../index.md)/[WisefyAddNetworkDelegate](index.md)
+
+# WisefyAddNetworkDelegate
+
+[androidJvm]\
+class [WisefyAddNetworkDelegate](index.md)(assertions: [WisefyAssertions](../../../../core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/index.md), logger: [WisefyLogger](../../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md), sdkUtil: [SdkUtil](../../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md), wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), coroutineDispatcherProvider: [CoroutineDispatcherProvider](../../../../core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/index.md), scope: CoroutineScope, savedNetworkMutex: Mutex, adapter: [AddNetworkApi](../-add-network-api/index.md) = when {
+ sdkUtil.isAtLeastR() -> Android30AddNetworkAdapter(wifiManager, logger, assertions)
+ sdkUtil.isAtLeastQ() -> Android29AddNetworkAdapter(assertions)
+ else -> DefaultAddNetworkAdapter(wifiManager, logger, assertions)
+ }) : [AddNetworkDelegate](../-add-network-delegate/index.md)
+
+An internal Wisefy delegate for adding networks.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.addnetwork.AddNetworkApi](../-add-network-api/index.md) | |
+| [com.isupatches.android.wisefy.addnetwork.AddNetworkDelegate](../-add-network-delegate/index.md) | |
+| com.isupatches.android.wisefy.addnetwork.os.adapters.Android30AddNetworkAdapter | |
+| com.isupatches.android.wisefy.addnetwork.os.adapters.Android29AddNetworkAdapter | |
+| [com.isupatches.android.wisefy.core.coroutines.CoroutineDispatcherProvider](../../../../core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/index.md) | |
+| com.isupatches.android.wisefy.addnetwork.os.adapters.DefaultAddNetworkAdapter | |
+| [com.isupatches.android.wisefy.core.util.SdkUtil](../../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md) | |
+| [com.isupatches.android.wisefy.core.assertions.WisefyAssertions](../../../../core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/index.md) | |
+| [com.isupatches.android.wisefy.core.logging.WisefyLogger](../../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| assertions | The [WisefyAssertions](../../../../core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/index.md) instance to use |
+| logger | The [WisefyLogger](../../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md) instance to use |
+| sdkUtil | The [SdkUtil](../../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md) instance to use |
+| wifiManager | The WifiManager instance to use |
+
+## Constructors
+
+| | |
+|---|---|
+| [WisefyAddNetworkDelegate](-wisefy-add-network-delegate.md) | [androidJvm]
fun [WisefyAddNetworkDelegate](-wisefy-add-network-delegate.md)(assertions: [WisefyAssertions](../../../../core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/index.md), logger: [WisefyLogger](../../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md), sdkUtil: [SdkUtil](../../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md), wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), coroutineDispatcherProvider: [CoroutineDispatcherProvider](../../../../core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/index.md), scope: CoroutineScope, savedNetworkMutex: Mutex, adapter: [AddNetworkApi](../-add-network-api/index.md) = when { sdkUtil.isAtLeastR() -> Android30AddNetworkAdapter(wifiManager, logger, assertions) sdkUtil.isAtLeastQ() -> Android29AddNetworkAdapter(assertions) else -> DefaultAddNetworkAdapter(wifiManager, logger, assertions) }) |
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [Companion](-companion/index.md) | [androidJvm]
object [Companion](-companion/index.md) |
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [addNetwork](add-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.CHANGE_WIFI_STATE"])
open override fun [addNetwork](add-network.md)(request: [AddNetworkRequest](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/index.md)): [AddNetworkResult](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
A synchronous API for adding a network.
[androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.CHANGE_WIFI_STATE"])
open override fun [addNetwork](add-network.md)(request: [AddNetworkRequest](../../com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/index.md), callbacks: [AddNetworkCallbacks](../../com.isupatches.android.wisefy.addnetwork.callbacks/-add-network-callbacks/index.md)?)
An asynchronous API for adding a network. |
diff --git a/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork/index.md b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork/index.md
new file mode 100644
index 00000000..030d15a6
--- /dev/null
+++ b/dokka/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork/index.md
@@ -0,0 +1,12 @@
+//[addnetwork](../../index.md)/[com.isupatches.android.wisefy.addnetwork](index.md)
+
+# Package com.isupatches.android.wisefy.addnetwork
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [AddNetworkApi](-add-network-api/index.md) | [androidJvm]
interface [AddNetworkApi](-add-network-api/index.md)
A set of synchronous APIs related to adding networks. |
+| [AddNetworkApiAsync](-add-network-api-async/index.md) | [androidJvm]
interface [AddNetworkApiAsync](-add-network-api-async/index.md)
A set of asynchronous APIs related to adding networks. |
+| [AddNetworkDelegate](-add-network-delegate/index.md) | [androidJvm]
interface [AddNetworkDelegate](-add-network-delegate/index.md) : [AddNetworkApi](-add-network-api/index.md), [AddNetworkApiAsync](-add-network-api-async/index.md)
A delegate for synchronous and asynchronous APIs to add networks. |
+| [WisefyAddNetworkDelegate](-wisefy-add-network-delegate/index.md) | [androidJvm]
class [WisefyAddNetworkDelegate](-wisefy-add-network-delegate/index.md)(assertions: [WisefyAssertions](../../../core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/index.md), logger: [WisefyLogger](../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md), sdkUtil: [SdkUtil](../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md), wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), coroutineDispatcherProvider: [CoroutineDispatcherProvider](../../../core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/index.md), scope: CoroutineScope, savedNetworkMutex: Mutex, adapter: [AddNetworkApi](-add-network-api/index.md) = when { sdkUtil.isAtLeastR() -> Android30AddNetworkAdapter(wifiManager, logger, assertions) sdkUtil.isAtLeastQ() -> Android29AddNetworkAdapter(assertions) else -> DefaultAddNetworkAdapter(wifiManager, logger, assertions) }) : [AddNetworkDelegate](-add-network-delegate/index.md)
An internal Wisefy delegate for adding networks. |
diff --git a/dokka/addnetwork/index.md b/dokka/addnetwork/index.md
new file mode 100644
index 00000000..07495f2d
--- /dev/null
+++ b/dokka/addnetwork/index.md
@@ -0,0 +1,11 @@
+//[addnetwork](index.md)
+
+# addnetwork
+
+## Packages
+
+| Name |
+|---|
+| [com.isupatches.android.wisefy.addnetwork](addnetwork/com.isupatches.android.wisefy.addnetwork/index.md) |
+| [com.isupatches.android.wisefy.addnetwork.callbacks](addnetwork/com.isupatches.android.wisefy.addnetwork.callbacks/index.md) |
+| [com.isupatches.android.wisefy.addnetwork.entities](addnetwork/com.isupatches.android.wisefy.addnetwork.entities/index.md) |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/-wisefy-assertions.md b/dokka/core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/-wisefy-assertions.md
new file mode 100644
index 00000000..e48edba3
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/-wisefy-assertions.md
@@ -0,0 +1,6 @@
+//[core](../../../index.md)/[com.isupatches.android.wisefy.core.assertions](../index.md)/[WisefyAssertions](index.md)/[WisefyAssertions](-wisefy-assertions.md)
+
+# WisefyAssertions
+
+[androidJvm]\
+fun [WisefyAssertions](-wisefy-assertions.md)(throwOnAssertions: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html))
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/fail.md b/dokka/core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/fail.md
new file mode 100644
index 00000000..37605997
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/fail.md
@@ -0,0 +1,24 @@
+//[core](../../../index.md)/[com.isupatches.android.wisefy.core.assertions](../index.md)/[WisefyAssertions](index.md)/[fail](fail.md)
+
+# fail
+
+[androidJvm]\
+fun [fail](fail.md)(message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html))
+
+An assertion function that will only throw if assertions are enabled.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| message | The message for the exception to throw |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/index.md b/dokka/core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/index.md
new file mode 100644
index 00000000..04c2394b
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/index.md
@@ -0,0 +1,30 @@
+//[core](../../../index.md)/[com.isupatches.android.wisefy.core.assertions](../index.md)/[WisefyAssertions](index.md)
+
+# WisefyAssertions
+
+[androidJvm]\
+class [WisefyAssertions](index.md)(throwOnAssertions: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html))
+
+An assertion class that will allow Wisefy to assert for dev feedback to know about improper implementation or use.
+
+*Note* This should be used in cases such as debug builds and for cases that are recoverable or less noticeable from the end user perspective. Typically this will be enabled by setting [throwOnAssertions](../../../../core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/throw-on-assertions.md) to be the same as something like BuildConfig.DEBUG.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Constructors
+
+| | |
+|---|---|
+| [WisefyAssertions](-wisefy-assertions.md) | [androidJvm]
fun [WisefyAssertions](-wisefy-assertions.md)(throwOnAssertions: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)) |
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [fail](fail.md) | [androidJvm]
fun [fail](fail.md)(message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html))
An assertion function that will only throw if assertions are enabled. |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.assertions/index.md b/dokka/core/core/com.isupatches.android.wisefy.core.assertions/index.md
new file mode 100644
index 00000000..4d4d3583
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.assertions/index.md
@@ -0,0 +1,9 @@
+//[core](../../index.md)/[com.isupatches.android.wisefy.core.assertions](index.md)
+
+# Package com.isupatches.android.wisefy.core.assertions
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [WisefyAssertions](-wisefy-assertions/index.md) | [androidJvm]
class [WisefyAssertions](-wisefy-assertions/index.md)(throwOnAssertions: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html))
An assertion class that will allow Wisefy to assert for dev feedback to know about improper implementation or use. |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/index.md b/dokka/core/core/com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/index.md
new file mode 100644
index 00000000..85a42cf1
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/index.md
@@ -0,0 +1,22 @@
+//[core](../../../index.md)/[com.isupatches.android.wisefy.core.base](../index.md)/[BaseWisefyCallbacks](index.md)
+
+# BaseWisefyCallbacks
+
+[androidJvm]\
+interface [BaseWisefyCallbacks](index.md)
+
+A base interface for all callbacks to enforce any common APIs.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [onWisefyAsyncFailure](on-wisefy-async-failure.md) | [androidJvm]
abstract fun [onWisefyAsyncFailure](on-wisefy-async-failure.md)(exception: [WisefyException](../../com.isupatches.android.wisefy.core.exceptions/-wisefy-exception/index.md))
A callback called when there is a thrown exception in the library. |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/on-wisefy-async-failure.md b/dokka/core/core/com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/on-wisefy-async-failure.md
new file mode 100644
index 00000000..1a3c9ef3
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/on-wisefy-async-failure.md
@@ -0,0 +1,32 @@
+//[core](../../../index.md)/[com.isupatches.android.wisefy.core.base](../index.md)/[BaseWisefyCallbacks](index.md)/[onWisefyAsyncFailure](on-wisefy-async-failure.md)
+
+# onWisefyAsyncFailure
+
+[androidJvm]\
+abstract fun [onWisefyAsyncFailure](on-wisefy-async-failure.md)(exception: [WisefyException](../../com.isupatches.android.wisefy.core.exceptions/-wisefy-exception/index.md))
+
+A callback called when there is a thrown exception in the library.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.core.exceptions.WisefyException](../../com.isupatches.android.wisefy.core.exceptions/-wisefy-exception/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| exception | The exception that was thrown within the library |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.base/index.md b/dokka/core/core/com.isupatches.android.wisefy.core.base/index.md
new file mode 100644
index 00000000..57fa91dc
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.base/index.md
@@ -0,0 +1,9 @@
+//[core](../../index.md)/[com.isupatches.android.wisefy.core.base](index.md)
+
+# Package com.isupatches.android.wisefy.core.base
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [BaseWisefyCallbacks](-base-wisefy-callbacks/index.md) | [androidJvm]
interface [BaseWisefyCallbacks](-base-wisefy-callbacks/index.md)
A base interface for all callbacks to enforce any common APIs. |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-add-network/-w-p-a3-network/-u-s-e-d_-p-r-e_-a-n-d-r-o-i-d_29.md b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-add-network/-w-p-a3-network/-u-s-e-d_-p-r-e_-a-n-d-r-o-i-d_29.md
new file mode 100644
index 00000000..96a1fd53
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-add-network/-w-p-a3-network/-u-s-e-d_-p-r-e_-a-n-d-r-o-i-d_29.md
@@ -0,0 +1,16 @@
+//[core](../../../../../index.md)/[com.isupatches.android.wisefy.core.constants](../../../index.md)/[AssertionMessages](../../index.md)/[AddNetwork](../index.md)/[WPA3Network](index.md)/[USED_PRE_ANDROID_29](-u-s-e-d_-p-r-e_-a-n-d-r-o-i-d_29.md)
+
+# USED_PRE_ANDROID_29
+
+[androidJvm]\
+const val [USED_PRE_ANDROID_29](-u-s-e-d_-p-r-e_-a-n-d-r-o-i-d_29.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
+
+A string value for the assertion message for trying to add a WPA3 network before Android Q / SDK 29.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-add-network/-w-p-a3-network/index.md b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-add-network/-w-p-a3-network/index.md
new file mode 100644
index 00000000..2ee4c47b
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-add-network/-w-p-a3-network/index.md
@@ -0,0 +1,22 @@
+//[core](../../../../../index.md)/[com.isupatches.android.wisefy.core.constants](../../../index.md)/[AssertionMessages](../../index.md)/[AddNetwork](../index.md)/[WPA3Network](index.md)
+
+# WPA3Network
+
+[androidJvm]\
+object [WPA3Network](index.md)
+
+A singleton that houses the assertion messages present for functions adding a WPA3 network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [USED_PRE_ANDROID_29](-u-s-e-d_-p-r-e_-a-n-d-r-o-i-d_29.md) | [androidJvm]
const val [USED_PRE_ANDROID_29](-u-s-e-d_-p-r-e_-a-n-d-r-o-i-d_29.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
A string value for the assertion message for trying to add a WPA3 network before Android Q / SDK 29. |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-add-network/index.md b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-add-network/index.md
new file mode 100644
index 00000000..7ba6c92e
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-add-network/index.md
@@ -0,0 +1,22 @@
+//[core](../../../../index.md)/[com.isupatches.android.wisefy.core.constants](../../index.md)/[AssertionMessages](../index.md)/[AddNetwork](index.md)
+
+# AddNetwork
+
+[androidJvm]\
+object [AddNetwork](index.md)
+
+A singleton that houses the assertion messages present for the add network features.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [WPA3Network](-w-p-a3-network/index.md) | [androidJvm]
object [WPA3Network](-w-p-a3-network/index.md)
A singleton that houses the assertion messages present for functions adding a WPA3 network. |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-android-q/-s-a-v-e-d_-n-e-t-w-o-r-k_-f-u-n-c-t-i-o-n-a-l-i-t-y_-u-n-a-v-a-i-l-a-b-l-e_-a-n-d-r-o-i-d_-q.md b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-android-q/-s-a-v-e-d_-n-e-t-w-o-r-k_-f-u-n-c-t-i-o-n-a-l-i-t-y_-u-n-a-v-a-i-l-a-b-l-e_-a-n-d-r-o-i-d_-q.md
new file mode 100644
index 00000000..7fad9f80
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-android-q/-s-a-v-e-d_-n-e-t-w-o-r-k_-f-u-n-c-t-i-o-n-a-l-i-t-y_-u-n-a-v-a-i-l-a-b-l-e_-a-n-d-r-o-i-d_-q.md
@@ -0,0 +1,16 @@
+//[core](../../../../index.md)/[com.isupatches.android.wisefy.core.constants](../../index.md)/[AssertionMessages](../index.md)/[AndroidQ](index.md)/[SAVED_NETWORK_FUNCTIONALITY_UNAVAILABLE_ANDROID_Q](-s-a-v-e-d_-n-e-t-w-o-r-k_-f-u-n-c-t-i-o-n-a-l-i-t-y_-u-n-a-v-a-i-l-a-b-l-e_-a-n-d-r-o-i-d_-q.md)
+
+# SAVED_NETWORK_FUNCTIONALITY_UNAVAILABLE_ANDROID_Q
+
+[androidJvm]\
+const val [SAVED_NETWORK_FUNCTIONALITY_UNAVAILABLE_ANDROID_Q](-s-a-v-e-d_-n-e-t-w-o-r-k_-f-u-n-c-t-i-o-n-a-l-i-t-y_-u-n-a-v-a-i-l-a-b-l-e_-a-n-d-r-o-i-d_-q.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
+
+A string value for the assertion message for trying to work with saved networks on Android Q / SDK 29.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-android-q/index.md b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-android-q/index.md
new file mode 100644
index 00000000..5fe5c2f8
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-android-q/index.md
@@ -0,0 +1,22 @@
+//[core](../../../../index.md)/[com.isupatches.android.wisefy.core.constants](../../index.md)/[AssertionMessages](../index.md)/[AndroidQ](index.md)
+
+# AndroidQ
+
+[androidJvm]\
+object [AndroidQ](index.md)
+
+A singleton that houses the assertion messages present for Android Q.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [SAVED_NETWORK_FUNCTIONALITY_UNAVAILABLE_ANDROID_Q](-s-a-v-e-d_-n-e-t-w-o-r-k_-f-u-n-c-t-i-o-n-a-l-i-t-y_-u-n-a-v-a-i-l-a-b-l-e_-a-n-d-r-o-i-d_-q.md) | [androidJvm]
const val [SAVED_NETWORK_FUNCTIONALITY_UNAVAILABLE_ANDROID_Q](-s-a-v-e-d_-n-e-t-w-o-r-k_-f-u-n-c-t-i-o-n-a-l-i-t-y_-u-n-a-v-a-i-l-a-b-l-e_-a-n-d-r-o-i-d_-q.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
A string value for the assertion message for trying to work with saved networks on Android Q / SDK 29. |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-network-connection/-change-network/-u-s-e-d_-b-e-f-o-r-e_-a-n-d-r-o-i-d_-q.md b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-network-connection/-change-network/-u-s-e-d_-b-e-f-o-r-e_-a-n-d-r-o-i-d_-q.md
new file mode 100644
index 00000000..1a2760f9
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-network-connection/-change-network/-u-s-e-d_-b-e-f-o-r-e_-a-n-d-r-o-i-d_-q.md
@@ -0,0 +1,16 @@
+//[core](../../../../../index.md)/[com.isupatches.android.wisefy.core.constants](../../../index.md)/[AssertionMessages](../../index.md)/[NetworkConnection](../index.md)/[ChangeNetwork](index.md)/[USED_BEFORE_ANDROID_Q](-u-s-e-d_-b-e-f-o-r-e_-a-n-d-r-o-i-d_-q.md)
+
+# USED_BEFORE_ANDROID_Q
+
+[androidJvm]\
+const val [USED_BEFORE_ANDROID_Q](-u-s-e-d_-b-e-f-o-r-e_-a-n-d-r-o-i-d_-q.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
+
+A string value for the assertion message for calling the changeNetwork API before Android Q.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-network-connection/-change-network/index.md b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-network-connection/-change-network/index.md
new file mode 100644
index 00000000..43268be3
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-network-connection/-change-network/index.md
@@ -0,0 +1,22 @@
+//[core](../../../../../index.md)/[com.isupatches.android.wisefy.core.constants](../../../index.md)/[AssertionMessages](../../index.md)/[NetworkConnection](../index.md)/[ChangeNetwork](index.md)
+
+# ChangeNetwork
+
+[androidJvm]\
+object [ChangeNetwork](index.md)
+
+A singleton that houses the assertion messages present for the changeNetwork API.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [USED_BEFORE_ANDROID_Q](-u-s-e-d_-b-e-f-o-r-e_-a-n-d-r-o-i-d_-q.md) | [androidJvm]
const val [USED_BEFORE_ANDROID_Q](-u-s-e-d_-b-e-f-o-r-e_-a-n-d-r-o-i-d_-q.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
A string value for the assertion message for calling the changeNetwork API before Android Q. |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-network-connection/-connect-to-network/-u-s-e-d_-a-n-d-r-o-i-d_-q_-o-r_-h-i-g-h-e-r.md b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-network-connection/-connect-to-network/-u-s-e-d_-a-n-d-r-o-i-d_-q_-o-r_-h-i-g-h-e-r.md
new file mode 100644
index 00000000..b55bfcc9
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-network-connection/-connect-to-network/-u-s-e-d_-a-n-d-r-o-i-d_-q_-o-r_-h-i-g-h-e-r.md
@@ -0,0 +1,16 @@
+//[core](../../../../../index.md)/[com.isupatches.android.wisefy.core.constants](../../../index.md)/[AssertionMessages](../../index.md)/[NetworkConnection](../index.md)/[ConnectToNetwork](index.md)/[USED_ANDROID_Q_OR_HIGHER](-u-s-e-d_-a-n-d-r-o-i-d_-q_-o-r_-h-i-g-h-e-r.md)
+
+# USED_ANDROID_Q_OR_HIGHER
+
+[androidJvm]\
+const val [USED_ANDROID_Q_OR_HIGHER](-u-s-e-d_-a-n-d-r-o-i-d_-q_-o-r_-h-i-g-h-e-r.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
+
+A string value for the assertion message for calling the connectToNetwork API on Android Q / SDK 29 or higher.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-network-connection/-connect-to-network/index.md b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-network-connection/-connect-to-network/index.md
new file mode 100644
index 00000000..f61930fa
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-network-connection/-connect-to-network/index.md
@@ -0,0 +1,22 @@
+//[core](../../../../../index.md)/[com.isupatches.android.wisefy.core.constants](../../../index.md)/[AssertionMessages](../../index.md)/[NetworkConnection](../index.md)/[ConnectToNetwork](index.md)
+
+# ConnectToNetwork
+
+[androidJvm]\
+object [ConnectToNetwork](index.md)
+
+A singleton that houses the assertion messages present for the connectToNetwork API.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [USED_ANDROID_Q_OR_HIGHER](-u-s-e-d_-a-n-d-r-o-i-d_-q_-o-r_-h-i-g-h-e-r.md) | [androidJvm]
const val [USED_ANDROID_Q_OR_HIGHER](-u-s-e-d_-a-n-d-r-o-i-d_-q_-o-r_-h-i-g-h-e-r.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
A string value for the assertion message for calling the connectToNetwork API on Android Q / SDK 29 or higher. |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-network-connection/-disconnect-from-current-network/-u-s-e-d_-a-n-d-r-o-i-d_-q_-o-r_-h-i-g-h-e-r.md b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-network-connection/-disconnect-from-current-network/-u-s-e-d_-a-n-d-r-o-i-d_-q_-o-r_-h-i-g-h-e-r.md
new file mode 100644
index 00000000..febf5cef
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-network-connection/-disconnect-from-current-network/-u-s-e-d_-a-n-d-r-o-i-d_-q_-o-r_-h-i-g-h-e-r.md
@@ -0,0 +1,16 @@
+//[core](../../../../../index.md)/[com.isupatches.android.wisefy.core.constants](../../../index.md)/[AssertionMessages](../../index.md)/[NetworkConnection](../index.md)/[DisconnectFromCurrentNetwork](index.md)/[USED_ANDROID_Q_OR_HIGHER](-u-s-e-d_-a-n-d-r-o-i-d_-q_-o-r_-h-i-g-h-e-r.md)
+
+# USED_ANDROID_Q_OR_HIGHER
+
+[androidJvm]\
+const val [USED_ANDROID_Q_OR_HIGHER](-u-s-e-d_-a-n-d-r-o-i-d_-q_-o-r_-h-i-g-h-e-r.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
+
+A string value for the assertion message for calling the disconnectFromCurrentNetwork API on Android Q / SDK 29 or higher.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-network-connection/-disconnect-from-current-network/index.md b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-network-connection/-disconnect-from-current-network/index.md
new file mode 100644
index 00000000..ded6fb04
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-network-connection/-disconnect-from-current-network/index.md
@@ -0,0 +1,22 @@
+//[core](../../../../../index.md)/[com.isupatches.android.wisefy.core.constants](../../../index.md)/[AssertionMessages](../../index.md)/[NetworkConnection](../index.md)/[DisconnectFromCurrentNetwork](index.md)
+
+# DisconnectFromCurrentNetwork
+
+[androidJvm]\
+object [DisconnectFromCurrentNetwork](index.md)
+
+A singleton that houses the assertion messages present for the disconnectFromCurrentNetwork API.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [USED_ANDROID_Q_OR_HIGHER](-u-s-e-d_-a-n-d-r-o-i-d_-q_-o-r_-h-i-g-h-e-r.md) | [androidJvm]
const val [USED_ANDROID_Q_OR_HIGHER](-u-s-e-d_-a-n-d-r-o-i-d_-q_-o-r_-h-i-g-h-e-r.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
A string value for the assertion message for calling the disconnectFromCurrentNetwork API on Android Q / SDK 29 or higher. |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-network-connection/index.md b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-network-connection/index.md
new file mode 100644
index 00000000..14a7fa9b
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-network-connection/index.md
@@ -0,0 +1,24 @@
+//[core](../../../../index.md)/[com.isupatches.android.wisefy.core.constants](../../index.md)/[AssertionMessages](../index.md)/[NetworkConnection](index.md)
+
+# NetworkConnection
+
+[androidJvm]\
+object [NetworkConnection](index.md)
+
+A singleton that houses the assertion messages present for the network connection features.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [ChangeNetwork](-change-network/index.md) | [androidJvm]
object [ChangeNetwork](-change-network/index.md)
A singleton that houses the assertion messages present for the changeNetwork API. |
+| [ConnectToNetwork](-connect-to-network/index.md) | [androidJvm]
object [ConnectToNetwork](-connect-to-network/index.md)
A singleton that houses the assertion messages present for the connectToNetwork API. |
+| [DisconnectFromCurrentNetwork](-disconnect-from-current-network/index.md) | [androidJvm]
object [DisconnectFromCurrentNetwork](-disconnect-from-current-network/index.md)
A singleton that houses the assertion messages present for the disconnectFromCurrentNetwork API. |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-signal/-i-n-c-o-r-r-e-c-t_-c-a-l-c-u-l-a-t-e_-b-a-r-s_-u-s-e-d_-a-n-d-r-o-i-d_-r_-o-r_-h-i-g-h-e-r.md b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-signal/-i-n-c-o-r-r-e-c-t_-c-a-l-c-u-l-a-t-e_-b-a-r-s_-u-s-e-d_-a-n-d-r-o-i-d_-r_-o-r_-h-i-g-h-e-r.md
new file mode 100644
index 00000000..2a3a0a0a
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-signal/-i-n-c-o-r-r-e-c-t_-c-a-l-c-u-l-a-t-e_-b-a-r-s_-u-s-e-d_-a-n-d-r-o-i-d_-r_-o-r_-h-i-g-h-e-r.md
@@ -0,0 +1,16 @@
+//[core](../../../../index.md)/[com.isupatches.android.wisefy.core.constants](../../index.md)/[AssertionMessages](../index.md)/[Signal](index.md)/[INCORRECT_CALCULATE_BARS_USED_ANDROID_R_OR_HIGHER](-i-n-c-o-r-r-e-c-t_-c-a-l-c-u-l-a-t-e_-b-a-r-s_-u-s-e-d_-a-n-d-r-o-i-d_-r_-o-r_-h-i-g-h-e-r.md)
+
+# INCORRECT_CALCULATE_BARS_USED_ANDROID_R_OR_HIGHER
+
+[androidJvm]\
+const val [INCORRECT_CALCULATE_BARS_USED_ANDROID_R_OR_HIGHER](-i-n-c-o-r-r-e-c-t_-c-a-l-c-u-l-a-t-e_-b-a-r-s_-u-s-e-d_-a-n-d-r-o-i-d_-r_-o-r_-h-i-g-h-e-r.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
+
+A string value for the assertion message for using calculateBars(rssiLevel: Int) before Android 30.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-signal/-i-n-c-o-r-r-e-c-t_-c-a-l-c-u-l-a-t-e_-b-a-r-s_-u-s-e-d_-p-r-e_-a-n-d-r-o-i-d_-r.md b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-signal/-i-n-c-o-r-r-e-c-t_-c-a-l-c-u-l-a-t-e_-b-a-r-s_-u-s-e-d_-p-r-e_-a-n-d-r-o-i-d_-r.md
new file mode 100644
index 00000000..8e0b6cfb
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-signal/-i-n-c-o-r-r-e-c-t_-c-a-l-c-u-l-a-t-e_-b-a-r-s_-u-s-e-d_-p-r-e_-a-n-d-r-o-i-d_-r.md
@@ -0,0 +1,16 @@
+//[core](../../../../index.md)/[com.isupatches.android.wisefy.core.constants](../../index.md)/[AssertionMessages](../index.md)/[Signal](index.md)/[INCORRECT_CALCULATE_BARS_USED_PRE_ANDROID_R](-i-n-c-o-r-r-e-c-t_-c-a-l-c-u-l-a-t-e_-b-a-r-s_-u-s-e-d_-p-r-e_-a-n-d-r-o-i-d_-r.md)
+
+# INCORRECT_CALCULATE_BARS_USED_PRE_ANDROID_R
+
+[androidJvm]\
+const val [INCORRECT_CALCULATE_BARS_USED_PRE_ANDROID_R](-i-n-c-o-r-r-e-c-t_-c-a-l-c-u-l-a-t-e_-b-a-r-s_-u-s-e-d_-p-r-e_-a-n-d-r-o-i-d_-r.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
+
+A string value for the assertion message for using calculateBars(rssiLevel: Int, targetNumberOfBars: Int) on Android 30+.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-signal/index.md b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-signal/index.md
new file mode 100644
index 00000000..0c4fd4ce
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-signal/index.md
@@ -0,0 +1,23 @@
+//[core](../../../../index.md)/[com.isupatches.android.wisefy.core.constants](../../index.md)/[AssertionMessages](../index.md)/[Signal](index.md)
+
+# Signal
+
+[androidJvm]\
+object [Signal](index.md)
+
+A singleton that houses the assertion messages present for the signal features.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [INCORRECT_CALCULATE_BARS_USED_ANDROID_R_OR_HIGHER](-i-n-c-o-r-r-e-c-t_-c-a-l-c-u-l-a-t-e_-b-a-r-s_-u-s-e-d_-a-n-d-r-o-i-d_-r_-o-r_-h-i-g-h-e-r.md) | [androidJvm]
const val [INCORRECT_CALCULATE_BARS_USED_ANDROID_R_OR_HIGHER](-i-n-c-o-r-r-e-c-t_-c-a-l-c-u-l-a-t-e_-b-a-r-s_-u-s-e-d_-a-n-d-r-o-i-d_-r_-o-r_-h-i-g-h-e-r.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
A string value for the assertion message for using calculateBars(rssiLevel: Int) before Android 30. |
+| [INCORRECT_CALCULATE_BARS_USED_PRE_ANDROID_R](-i-n-c-o-r-r-e-c-t_-c-a-l-c-u-l-a-t-e_-b-a-r-s_-u-s-e-d_-p-r-e_-a-n-d-r-o-i-d_-r.md) | [androidJvm]
const val [INCORRECT_CALCULATE_BARS_USED_PRE_ANDROID_R](-i-n-c-o-r-r-e-c-t_-c-a-l-c-u-l-a-t-e_-b-a-r-s_-u-s-e-d_-p-r-e_-a-n-d-r-o-i-d_-r.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
A string value for the assertion message for using calculateBars(rssiLevel: Int, targetNumberOfBars: Int) on Android 30+. |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-wifi/-a-n-d-r-o-i-d_29_-r-e-q-u-e-s-t_-u-s-e-d_-o-n_-p-r-e_-a-n-d-r-o-i-d_29.md b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-wifi/-a-n-d-r-o-i-d_29_-r-e-q-u-e-s-t_-u-s-e-d_-o-n_-p-r-e_-a-n-d-r-o-i-d_29.md
new file mode 100644
index 00000000..02cce18b
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-wifi/-a-n-d-r-o-i-d_29_-r-e-q-u-e-s-t_-u-s-e-d_-o-n_-p-r-e_-a-n-d-r-o-i-d_29.md
@@ -0,0 +1,16 @@
+//[core](../../../../index.md)/[com.isupatches.android.wisefy.core.constants](../../index.md)/[AssertionMessages](../index.md)/[Wifi](index.md)/[ANDROID_29_REQUEST_USED_ON_PRE_ANDROID_29](-a-n-d-r-o-i-d_29_-r-e-q-u-e-s-t_-u-s-e-d_-o-n_-p-r-e_-a-n-d-r-o-i-d_29.md)
+
+# ANDROID_29_REQUEST_USED_ON_PRE_ANDROID_29
+
+[androidJvm]\
+const val [ANDROID_29_REQUEST_USED_ON_PRE_ANDROID_29](-a-n-d-r-o-i-d_29_-r-e-q-u-e-s-t_-u-s-e-d_-o-n_-p-r-e_-a-n-d-r-o-i-d_29.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
+
+A string value for trying to open the wifi settings screen to enable or disable wifi on pre-Android Q / SDK 29 devices.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-wifi/-d-e-f-a-u-l-t_-r-e-q-u-e-s-t_-u-s-e-d_-a-n-d-r-o-i-d_29_-o-r_-h-i-g-h-e-r.md b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-wifi/-d-e-f-a-u-l-t_-r-e-q-u-e-s-t_-u-s-e-d_-a-n-d-r-o-i-d_29_-o-r_-h-i-g-h-e-r.md
new file mode 100644
index 00000000..0d496bfb
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-wifi/-d-e-f-a-u-l-t_-r-e-q-u-e-s-t_-u-s-e-d_-a-n-d-r-o-i-d_29_-o-r_-h-i-g-h-e-r.md
@@ -0,0 +1,16 @@
+//[core](../../../../index.md)/[com.isupatches.android.wisefy.core.constants](../../index.md)/[AssertionMessages](../index.md)/[Wifi](index.md)/[DEFAULT_REQUEST_USED_ANDROID_29_OR_HIGHER](-d-e-f-a-u-l-t_-r-e-q-u-e-s-t_-u-s-e-d_-a-n-d-r-o-i-d_29_-o-r_-h-i-g-h-e-r.md)
+
+# DEFAULT_REQUEST_USED_ANDROID_29_OR_HIGHER
+
+[androidJvm]\
+const val [DEFAULT_REQUEST_USED_ANDROID_29_OR_HIGHER](-d-e-f-a-u-l-t_-r-e-q-u-e-s-t_-u-s-e-d_-a-n-d-r-o-i-d_29_-o-r_-h-i-g-h-e-r.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
+
+A string value for trying to enable or disable wifi without opening the wifi setting screen on Android Q / SDK 29 devices.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-wifi/index.md b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-wifi/index.md
new file mode 100644
index 00000000..9484e4a5
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-wifi/index.md
@@ -0,0 +1,23 @@
+//[core](../../../../index.md)/[com.isupatches.android.wisefy.core.constants](../../index.md)/[AssertionMessages](../index.md)/[Wifi](index.md)
+
+# Wifi
+
+[androidJvm]\
+object [Wifi](index.md)
+
+A singleton that houses the assertion messages present for the wifi features.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [ANDROID_29_REQUEST_USED_ON_PRE_ANDROID_29](-a-n-d-r-o-i-d_29_-r-e-q-u-e-s-t_-u-s-e-d_-o-n_-p-r-e_-a-n-d-r-o-i-d_29.md) | [androidJvm]
const val [ANDROID_29_REQUEST_USED_ON_PRE_ANDROID_29](-a-n-d-r-o-i-d_29_-r-e-q-u-e-s-t_-u-s-e-d_-o-n_-p-r-e_-a-n-d-r-o-i-d_29.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
A string value for trying to open the wifi settings screen to enable or disable wifi on pre-Android Q / SDK 29 devices. |
+| [DEFAULT_REQUEST_USED_ANDROID_29_OR_HIGHER](-d-e-f-a-u-l-t_-r-e-q-u-e-s-t_-u-s-e-d_-a-n-d-r-o-i-d_29_-o-r_-h-i-g-h-e-r.md) | [androidJvm]
const val [DEFAULT_REQUEST_USED_ANDROID_29_OR_HIGHER](-d-e-f-a-u-l-t_-r-e-q-u-e-s-t_-u-s-e-d_-a-n-d-r-o-i-d_29_-o-r_-h-i-g-h-e-r.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
A string value for trying to enable or disable wifi without opening the wifi setting screen on Android Q / SDK 29 devices. |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/index.md b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/index.md
new file mode 100644
index 00000000..65338473
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/index.md
@@ -0,0 +1,26 @@
+//[core](../../../index.md)/[com.isupatches.android.wisefy.core.constants](../index.md)/[AssertionMessages](index.md)
+
+# AssertionMessages
+
+[androidJvm]\
+object [AssertionMessages](index.md)
+
+A singleton that houses all of the assertion messages present throughout the app.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [AddNetwork](-add-network/index.md) | [androidJvm]
object [AddNetwork](-add-network/index.md)
A singleton that houses the assertion messages present for the add network features. |
+| [AndroidQ](-android-q/index.md) | [androidJvm]
object [AndroidQ](-android-q/index.md)
A singleton that houses the assertion messages present for Android Q. |
+| [NetworkConnection](-network-connection/index.md) | [androidJvm]
object [NetworkConnection](-network-connection/index.md)
A singleton that houses the assertion messages present for the network connection features. |
+| [Signal](-signal/index.md) | [androidJvm]
object [Signal](-signal/index.md)
A singleton that houses the assertion messages present for the signal features. |
+| [Wifi](-wifi/index.md) | [androidJvm]
object [Wifi](-wifi/index.md)
A singleton that houses the assertion messages present for the wifi features. |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.constants/-deprecation-messages/-network-connection/-c-o-n-n-e-c-t_-t-o_-n-e-t-w-o-r-k.md b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-deprecation-messages/-network-connection/-c-o-n-n-e-c-t_-t-o_-n-e-t-w-o-r-k.md
new file mode 100644
index 00000000..44c06490
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-deprecation-messages/-network-connection/-c-o-n-n-e-c-t_-t-o_-n-e-t-w-o-r-k.md
@@ -0,0 +1,16 @@
+//[core](../../../../index.md)/[com.isupatches.android.wisefy.core.constants](../../index.md)/[DeprecationMessages](../index.md)/[NetworkConnection](index.md)/[CONNECT_TO_NETWORK](-c-o-n-n-e-c-t_-t-o_-n-e-t-w-o-r-k.md)
+
+# CONNECT_TO_NETWORK
+
+[androidJvm]\
+const val [CONNECT_TO_NETWORK](-c-o-n-n-e-c-t_-t-o_-n-e-t-w-o-r-k.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
+
+A string value for the deprecation message for connectToNetwork.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.constants/-deprecation-messages/-network-connection/-d-i-s-c-o-n-n-e-c-t_-f-r-o-m_-c-u-r-r-e-n-t_-n-e-t-w-o-r-k.md b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-deprecation-messages/-network-connection/-d-i-s-c-o-n-n-e-c-t_-f-r-o-m_-c-u-r-r-e-n-t_-n-e-t-w-o-r-k.md
new file mode 100644
index 00000000..6ea3e353
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-deprecation-messages/-network-connection/-d-i-s-c-o-n-n-e-c-t_-f-r-o-m_-c-u-r-r-e-n-t_-n-e-t-w-o-r-k.md
@@ -0,0 +1,16 @@
+//[core](../../../../index.md)/[com.isupatches.android.wisefy.core.constants](../../index.md)/[DeprecationMessages](../index.md)/[NetworkConnection](index.md)/[DISCONNECT_FROM_CURRENT_NETWORK](-d-i-s-c-o-n-n-e-c-t_-f-r-o-m_-c-u-r-r-e-n-t_-n-e-t-w-o-r-k.md)
+
+# DISCONNECT_FROM_CURRENT_NETWORK
+
+[androidJvm]\
+const val [DISCONNECT_FROM_CURRENT_NETWORK](-d-i-s-c-o-n-n-e-c-t_-f-r-o-m_-c-u-r-r-e-n-t_-n-e-t-w-o-r-k.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
+
+A string value for the deprecation message for disconnectFromCurrentNetwork.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.constants/-deprecation-messages/-network-connection/index.md b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-deprecation-messages/-network-connection/index.md
new file mode 100644
index 00000000..c9b3ffe9
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-deprecation-messages/-network-connection/index.md
@@ -0,0 +1,23 @@
+//[core](../../../../index.md)/[com.isupatches.android.wisefy.core.constants](../../index.md)/[DeprecationMessages](../index.md)/[NetworkConnection](index.md)
+
+# NetworkConnection
+
+[androidJvm]\
+object [NetworkConnection](index.md)
+
+A singleton that houses the deprecation messages present for the network connection features.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [CONNECT_TO_NETWORK](-c-o-n-n-e-c-t_-t-o_-n-e-t-w-o-r-k.md) | [androidJvm]
const val [CONNECT_TO_NETWORK](-c-o-n-n-e-c-t_-t-o_-n-e-t-w-o-r-k.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
A string value for the deprecation message for connectToNetwork. |
+| [DISCONNECT_FROM_CURRENT_NETWORK](-d-i-s-c-o-n-n-e-c-t_-f-r-o-m_-c-u-r-r-e-n-t_-n-e-t-w-o-r-k.md) | [androidJvm]
const val [DISCONNECT_FROM_CURRENT_NETWORK](-d-i-s-c-o-n-n-e-c-t_-f-r-o-m_-c-u-r-r-e-n-t_-n-e-t-w-o-r-k.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
A string value for the deprecation message for disconnectFromCurrentNetwork. |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.constants/-deprecation-messages/-signal/-c-a-l-c-u-l-a-t-e_-b-a-r-s.md b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-deprecation-messages/-signal/-c-a-l-c-u-l-a-t-e_-b-a-r-s.md
new file mode 100644
index 00000000..ac9693b3
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-deprecation-messages/-signal/-c-a-l-c-u-l-a-t-e_-b-a-r-s.md
@@ -0,0 +1,16 @@
+//[core](../../../../index.md)/[com.isupatches.android.wisefy.core.constants](../../index.md)/[DeprecationMessages](../index.md)/[Signal](index.md)/[CALCULATE_BARS](-c-a-l-c-u-l-a-t-e_-b-a-r-s.md)
+
+# CALCULATE_BARS
+
+[androidJvm]\
+const val [CALCULATE_BARS](-c-a-l-c-u-l-a-t-e_-b-a-r-s.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
+
+A string value for the deprecation message for calculateBars(rssiLevel: Int, targetNumberOfBars: Int).
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.constants/-deprecation-messages/-signal/index.md b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-deprecation-messages/-signal/index.md
new file mode 100644
index 00000000..e54bb498
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-deprecation-messages/-signal/index.md
@@ -0,0 +1,22 @@
+//[core](../../../../index.md)/[com.isupatches.android.wisefy.core.constants](../../index.md)/[DeprecationMessages](../index.md)/[Signal](index.md)
+
+# Signal
+
+[androidJvm]\
+object [Signal](index.md)
+
+A singleton that houses the deprecation messages present for the signal features.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [CALCULATE_BARS](-c-a-l-c-u-l-a-t-e_-b-a-r-s.md) | [androidJvm]
const val [CALCULATE_BARS](-c-a-l-c-u-l-a-t-e_-b-a-r-s.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
A string value for the deprecation message for calculateBars(rssiLevel: Int, targetNumberOfBars: Int). |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.constants/-deprecation-messages/index.md b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-deprecation-messages/index.md
new file mode 100644
index 00000000..3abf89bf
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-deprecation-messages/index.md
@@ -0,0 +1,23 @@
+//[core](../../../index.md)/[com.isupatches.android.wisefy.core.constants](../index.md)/[DeprecationMessages](index.md)
+
+# DeprecationMessages
+
+[androidJvm]\
+object [DeprecationMessages](index.md)
+
+A singleton that houses all of the deprecation messages present throughout the app.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [NetworkConnection](-network-connection/index.md) | [androidJvm]
object [NetworkConnection](-network-connection/index.md)
A singleton that houses the deprecation messages present for the network connection features. |
+| [Signal](-signal/index.md) | [androidJvm]
object [Signal](-signal/index.md)
A singleton that houses the deprecation messages present for the signal features. |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.constants/-m-a-x_-f-r-e-q-u-e-n-c-y_5-g-h-z.md b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-m-a-x_-f-r-e-q-u-e-n-c-y_5-g-h-z.md
new file mode 100644
index 00000000..09387b3e
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-m-a-x_-f-r-e-q-u-e-n-c-y_5-g-h-z.md
@@ -0,0 +1,16 @@
+//[core](../../index.md)/[com.isupatches.android.wisefy.core.constants](index.md)/[MAX_FREQUENCY_5GHZ](-m-a-x_-f-r-e-q-u-e-n-c-y_5-g-h-z.md)
+
+# MAX_FREQUENCY_5GHZ
+
+[androidJvm]\
+const val [MAX_FREQUENCY_5GHZ](-m-a-x_-f-r-e-q-u-e-n-c-y_5-g-h-z.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) = 5900
+
+A constant for the maximum frequency for a 5G network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.constants/-m-i-n_-f-r-e-q-u-e-n-c-y_5-g-h-z.md b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-m-i-n_-f-r-e-q-u-e-n-c-y_5-g-h-z.md
new file mode 100644
index 00000000..0a66227c
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.constants/-m-i-n_-f-r-e-q-u-e-n-c-y_5-g-h-z.md
@@ -0,0 +1,16 @@
+//[core](../../index.md)/[com.isupatches.android.wisefy.core.constants](index.md)/[MIN_FREQUENCY_5GHZ](-m-i-n_-f-r-e-q-u-e-n-c-y_5-g-h-z.md)
+
+# MIN_FREQUENCY_5GHZ
+
+[androidJvm]\
+const val [MIN_FREQUENCY_5GHZ](-m-i-n_-f-r-e-q-u-e-n-c-y_5-g-h-z.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) = 4900
+
+A constant for the minimum frequency for a 5G network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.constants/index.md b/dokka/core/core/com.isupatches.android.wisefy.core.constants/index.md
new file mode 100644
index 00000000..4dda68fc
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.constants/index.md
@@ -0,0 +1,17 @@
+//[core](../../index.md)/[com.isupatches.android.wisefy.core.constants](index.md)
+
+# Package com.isupatches.android.wisefy.core.constants
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [AssertionMessages](-assertion-messages/index.md) | [androidJvm]
object [AssertionMessages](-assertion-messages/index.md)
A singleton that houses all of the assertion messages present throughout the app. |
+| [DeprecationMessages](-deprecation-messages/index.md) | [androidJvm]
object [DeprecationMessages](-deprecation-messages/index.md)
A singleton that houses all of the deprecation messages present throughout the app. |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [MAX_FREQUENCY_5GHZ](-m-a-x_-f-r-e-q-u-e-n-c-y_5-g-h-z.md) | [androidJvm]
const val [MAX_FREQUENCY_5GHZ](-m-a-x_-f-r-e-q-u-e-n-c-y_5-g-h-z.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) = 5900
A constant for the maximum frequency for a 5G network. |
+| [MIN_FREQUENCY_5GHZ](-m-i-n_-f-r-e-q-u-e-n-c-y_5-g-h-z.md) | [androidJvm]
const val [MIN_FREQUENCY_5GHZ](-m-i-n_-f-r-e-q-u-e-n-c-y_5-g-h-z.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) = 4900
A constant for the minimum frequency for a 5G network. |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/-coroutine-dispatcher-provider.md b/dokka/core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/-coroutine-dispatcher-provider.md
new file mode 100644
index 00000000..4e6691d5
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/-coroutine-dispatcher-provider.md
@@ -0,0 +1,6 @@
+//[core](../../../index.md)/[com.isupatches.android.wisefy.core.coroutines](../index.md)/[CoroutineDispatcherProvider](index.md)/[CoroutineDispatcherProvider](-coroutine-dispatcher-provider.md)
+
+# CoroutineDispatcherProvider
+
+[androidJvm]\
+fun [CoroutineDispatcherProvider](-coroutine-dispatcher-provider.md)()
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/index.md b/dokka/core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/index.md
new file mode 100644
index 00000000..38c0d531
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/index.md
@@ -0,0 +1,29 @@
+//[core](../../../index.md)/[com.isupatches.android.wisefy.core.coroutines](../index.md)/[CoroutineDispatcherProvider](index.md)
+
+# CoroutineDispatcherProvider
+
+[androidJvm]\
+class [CoroutineDispatcherProvider](index.md)
+
+A class that contains references to various coroutines dispatchers (primarily used to swap them out in tests if needed).
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Constructors
+
+| | |
+|---|---|
+| [CoroutineDispatcherProvider](-coroutine-dispatcher-provider.md) | [androidJvm]
fun [CoroutineDispatcherProvider](-coroutine-dispatcher-provider.md)() |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [io](io.md) | [androidJvm]
val [io](io.md): CoroutineDispatcher
A reference to the I/O dispatcher for background operations. |
+| [main](main.md) | [androidJvm]
val [main](main.md): CoroutineDispatcher
A reference to the main dispatcher for UI operations. |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/io.md b/dokka/core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/io.md
new file mode 100644
index 00000000..2bb2a733
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/io.md
@@ -0,0 +1,16 @@
+//[core](../../../index.md)/[com.isupatches.android.wisefy.core.coroutines](../index.md)/[CoroutineDispatcherProvider](index.md)/[io](io.md)
+
+# io
+
+[androidJvm]\
+val [io](io.md): CoroutineDispatcher
+
+A reference to the I/O dispatcher for background operations.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/main.md b/dokka/core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/main.md
new file mode 100644
index 00000000..3c3eb983
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/main.md
@@ -0,0 +1,16 @@
+//[core](../../../index.md)/[com.isupatches.android.wisefy.core.coroutines](../index.md)/[CoroutineDispatcherProvider](index.md)/[main](main.md)
+
+# main
+
+[androidJvm]\
+val [main](main.md): CoroutineDispatcher
+
+A reference to the main dispatcher for UI operations.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.coroutines/create-base-coroutine-exception-handler.md b/dokka/core/core/com.isupatches.android.wisefy.core.coroutines/create-base-coroutine-exception-handler.md
new file mode 100644
index 00000000..73691d90
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.coroutines/create-base-coroutine-exception-handler.md
@@ -0,0 +1,35 @@
+//[core](../../index.md)/[com.isupatches.android.wisefy.core.coroutines](index.md)/[createBaseCoroutineExceptionHandler](create-base-coroutine-exception-handler.md)
+
+# createBaseCoroutineExceptionHandler
+
+[androidJvm]\
+fun [createBaseCoroutineExceptionHandler](create-base-coroutine-exception-handler.md)(callbacks: [BaseWisefyCallbacks](../com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/index.md)?): CoroutineExceptionHandler
+
+A function to create a standardized coroutines exception handler for async operations within the library. This helps return exceptions in a standardized way for all async callbacks.
+
+*Notes* Converts a throwable to a [WisefyException](../com.isupatches.android.wisefy.core.exceptions/-wisefy-exception/index.md) with the cause being the caught throwable
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.core.base.BaseWisefyCallbacks](../com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/index.md) | |
+| [com.isupatches.android.wisefy.core.exceptions.WisefyException](../com.isupatches.android.wisefy.core.exceptions/-wisefy-exception/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| callbacks | The callback interface that implements BaseWisefyCallbacks to return exceptions to |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.coroutines/index.md b/dokka/core/core/com.isupatches.android.wisefy.core.coroutines/index.md
new file mode 100644
index 00000000..c036a06f
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.coroutines/index.md
@@ -0,0 +1,15 @@
+//[core](../../index.md)/[com.isupatches.android.wisefy.core.coroutines](index.md)
+
+# Package com.isupatches.android.wisefy.core.coroutines
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [CoroutineDispatcherProvider](-coroutine-dispatcher-provider/index.md) | [androidJvm]
class [CoroutineDispatcherProvider](-coroutine-dispatcher-provider/index.md)
A class that contains references to various coroutines dispatchers (primarily used to swap them out in tests if needed). |
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [createBaseCoroutineExceptionHandler](create-base-coroutine-exception-handler.md) | [androidJvm]
fun [createBaseCoroutineExceptionHandler](create-base-coroutine-exception-handler.md)(callbacks: [BaseWisefyCallbacks](../com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/index.md)?): CoroutineExceptionHandler
A function to create a standardized coroutines exception handler for async operations within the library. This helps return exceptions in a standardized way for all async callbacks. |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.entities/-network-connection-status/-a-v-a-i-l-a-b-l-e/index.md b/dokka/core/core/com.isupatches.android.wisefy.core.entities/-network-connection-status/-a-v-a-i-l-a-b-l-e/index.md
new file mode 100644
index 00000000..2af17420
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.entities/-network-connection-status/-a-v-a-i-l-a-b-l-e/index.md
@@ -0,0 +1,23 @@
+//[core](../../../../index.md)/[com.isupatches.android.wisefy.core.entities](../../index.md)/[NetworkConnectionStatus](../index.md)/[AVAILABLE](index.md)
+
+# AVAILABLE
+
+[androidJvm]\
+[AVAILABLE](index.md)
+
+A representation of when network connectivity is available.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [name](../-u-n-a-v-a-i-l-a-b-l-e/index.md#-372974862%2FProperties%2F1616678122) | [androidJvm]
val [name](../-u-n-a-v-a-i-l-a-b-l-e/index.md#-372974862%2FProperties%2F1616678122): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
+| [ordinal](../-u-n-a-v-a-i-l-a-b-l-e/index.md#-739389684%2FProperties%2F1616678122) | [androidJvm]
val [ordinal](../-u-n-a-v-a-i-l-a-b-l-e/index.md#-739389684%2FProperties%2F1616678122): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.entities/-network-connection-status/-l-o-s-i-n-g/index.md b/dokka/core/core/com.isupatches.android.wisefy.core.entities/-network-connection-status/-l-o-s-i-n-g/index.md
new file mode 100644
index 00000000..1bade116
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.entities/-network-connection-status/-l-o-s-i-n-g/index.md
@@ -0,0 +1,23 @@
+//[core](../../../../index.md)/[com.isupatches.android.wisefy.core.entities](../../index.md)/[NetworkConnectionStatus](../index.md)/[LOSING](index.md)
+
+# LOSING
+
+[androidJvm]\
+[LOSING](index.md)
+
+A representation of when network connectivity starting going from available to unavailable.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [name](../-u-n-a-v-a-i-l-a-b-l-e/index.md#-372974862%2FProperties%2F1616678122) | [androidJvm]
val [name](../-u-n-a-v-a-i-l-a-b-l-e/index.md#-372974862%2FProperties%2F1616678122): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
+| [ordinal](../-u-n-a-v-a-i-l-a-b-l-e/index.md#-739389684%2FProperties%2F1616678122) | [androidJvm]
val [ordinal](../-u-n-a-v-a-i-l-a-b-l-e/index.md#-739389684%2FProperties%2F1616678122): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.entities/-network-connection-status/-l-o-s-t/index.md b/dokka/core/core/com.isupatches.android.wisefy.core.entities/-network-connection-status/-l-o-s-t/index.md
new file mode 100644
index 00000000..e81cfd98
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.entities/-network-connection-status/-l-o-s-t/index.md
@@ -0,0 +1,23 @@
+//[core](../../../../index.md)/[com.isupatches.android.wisefy.core.entities](../../index.md)/[NetworkConnectionStatus](../index.md)/[LOST](index.md)
+
+# LOST
+
+[androidJvm]\
+[LOST](index.md)
+
+A representation of when network connectivity has gone from available to unavailable.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [name](../-u-n-a-v-a-i-l-a-b-l-e/index.md#-372974862%2FProperties%2F1616678122) | [androidJvm]
val [name](../-u-n-a-v-a-i-l-a-b-l-e/index.md#-372974862%2FProperties%2F1616678122): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
+| [ordinal](../-u-n-a-v-a-i-l-a-b-l-e/index.md#-739389684%2FProperties%2F1616678122) | [androidJvm]
val [ordinal](../-u-n-a-v-a-i-l-a-b-l-e/index.md#-739389684%2FProperties%2F1616678122): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.entities/-network-connection-status/-u-n-a-v-a-i-l-a-b-l-e/index.md b/dokka/core/core/com.isupatches.android.wisefy.core.entities/-network-connection-status/-u-n-a-v-a-i-l-a-b-l-e/index.md
new file mode 100644
index 00000000..f0b02da8
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.entities/-network-connection-status/-u-n-a-v-a-i-l-a-b-l-e/index.md
@@ -0,0 +1,23 @@
+//[core](../../../../index.md)/[com.isupatches.android.wisefy.core.entities](../../index.md)/[NetworkConnectionStatus](../index.md)/[UNAVAILABLE](index.md)
+
+# UNAVAILABLE
+
+[androidJvm]\
+[UNAVAILABLE](index.md)
+
+A representation of when network connectivity is unavailable.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [name](index.md#-372974862%2FProperties%2F1616678122) | [androidJvm]
val [name](index.md#-372974862%2FProperties%2F1616678122): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
+| [ordinal](index.md#-739389684%2FProperties%2F1616678122) | [androidJvm]
val [ordinal](index.md#-739389684%2FProperties%2F1616678122): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.entities/-network-connection-status/index.md b/dokka/core/core/com.isupatches.android.wisefy.core.entities/-network-connection-status/index.md
new file mode 100644
index 00000000..5cc66bfd
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.entities/-network-connection-status/index.md
@@ -0,0 +1,32 @@
+//[core](../../../index.md)/[com.isupatches.android.wisefy.core.entities](../index.md)/[NetworkConnectionStatus](index.md)
+
+# NetworkConnectionStatus
+
+[androidJvm]\
+enum [NetworkConnectionStatus](index.md) : [Enum](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-enum/index.html)<[NetworkConnectionStatus](index.md)>
+
+A set of states representing the status of a network connection.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Entries
+
+| | |
+|---|---|
+| [AVAILABLE](-a-v-a-i-l-a-b-l-e/index.md) | [androidJvm]
[AVAILABLE](-a-v-a-i-l-a-b-l-e/index.md)
A representation of when network connectivity is available. |
+| [LOSING](-l-o-s-i-n-g/index.md) | [androidJvm]
[LOSING](-l-o-s-i-n-g/index.md)
A representation of when network connectivity starting going from available to unavailable. |
+| [LOST](-l-o-s-t/index.md) | [androidJvm]
[LOST](-l-o-s-t/index.md)
A representation of when network connectivity has gone from available to unavailable. |
+| [UNAVAILABLE](-u-n-a-v-a-i-l-a-b-l-e/index.md) | [androidJvm]
[UNAVAILABLE](-u-n-a-v-a-i-l-a-b-l-e/index.md)
A representation of when network connectivity is unavailable. |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [name](-u-n-a-v-a-i-l-a-b-l-e/index.md#-372974862%2FProperties%2F1616678122) | [androidJvm]
val [name](-u-n-a-v-a-i-l-a-b-l-e/index.md#-372974862%2FProperties%2F1616678122): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
+| [ordinal](-u-n-a-v-a-i-l-a-b-l-e/index.md#-739389684%2FProperties%2F1616678122) | [androidJvm]
val [ordinal](-u-n-a-v-a-i-l-a-b-l-e/index.md#-739389684%2FProperties%2F1616678122): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.entities/index.md b/dokka/core/core/com.isupatches.android.wisefy.core.entities/index.md
new file mode 100644
index 00000000..1012b4b7
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.entities/index.md
@@ -0,0 +1,9 @@
+//[core](../../index.md)/[com.isupatches.android.wisefy.core.entities](index.md)
+
+# Package com.isupatches.android.wisefy.core.entities
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [NetworkConnectionStatus](-network-connection-status/index.md) | [androidJvm]
enum [NetworkConnectionStatus](-network-connection-status/index.md) : [Enum](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-enum/index.html)<[NetworkConnectionStatus](-network-connection-status/index.md)>
A set of states representing the status of a network connection. |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.exceptions/-wisefy-exception/-wisefy-exception.md b/dokka/core/core/com.isupatches.android.wisefy.core.exceptions/-wisefy-exception/-wisefy-exception.md
new file mode 100644
index 00000000..ddedbe5c
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.exceptions/-wisefy-exception/-wisefy-exception.md
@@ -0,0 +1,15 @@
+//[core](../../../index.md)/[com.isupatches.android.wisefy.core.exceptions](../index.md)/[WisefyException](index.md)/[WisefyException](-wisefy-exception.md)
+
+# WisefyException
+
+[androidJvm]\
+fun [WisefyException](-wisefy-exception.md)(message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), throwable: [Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html)?)
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| message | The optional message for the exception |
+| throwable | The optional cause of the exception |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.exceptions/-wisefy-exception/index.md b/dokka/core/core/com.isupatches.android.wisefy.core.exceptions/-wisefy-exception/index.md
new file mode 100644
index 00000000..a685c15f
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.exceptions/-wisefy-exception/index.md
@@ -0,0 +1,51 @@
+//[core](../../../index.md)/[com.isupatches.android.wisefy.core.exceptions](../index.md)/[WisefyException](index.md)
+
+# WisefyException
+
+[androidJvm]\
+class [WisefyException](index.md)(message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), throwable: [Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html)?) : [Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html)
+
+A Wisefy specific throwable to help clients narrow their catch clauses down to a specific type if needed. This also standardizes how Wisefy returns errors from the async operations.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| message | The optional message for the exception |
+| throwable | The optional cause of the exception |
+
+## Constructors
+
+| | |
+|---|---|
+| [WisefyException](-wisefy-exception.md) | [androidJvm]
fun [WisefyException](-wisefy-exception.md)(message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), throwable: [Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html)?) |
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [addSuppressed](index.md#282858770%2FFunctions%2F1616678122) | [androidJvm]
fun [addSuppressed](index.md#282858770%2FFunctions%2F1616678122)(p0: [Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html)) |
+| [fillInStackTrace](index.md#-1102069925%2FFunctions%2F1616678122) | [androidJvm]
open fun [fillInStackTrace](index.md#-1102069925%2FFunctions%2F1616678122)(): [Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html) |
+| [getLocalizedMessage](index.md#1043865560%2FFunctions%2F1616678122) | [androidJvm]
open fun [getLocalizedMessage](index.md#1043865560%2FFunctions%2F1616678122)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
+| [getStackTrace](index.md#2050903719%2FFunctions%2F1616678122) | [androidJvm]
open fun [getStackTrace](index.md#2050903719%2FFunctions%2F1616678122)(): [Array](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html)<[StackTraceElement](https://developer.android.com/reference/kotlin/java/lang/StackTraceElement.html)> |
+| [getSuppressed](index.md#672492560%2FFunctions%2F1616678122) | [androidJvm]
fun [getSuppressed](index.md#672492560%2FFunctions%2F1616678122)(): [Array](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html)<[Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html)> |
+| [initCause](index.md#-418225042%2FFunctions%2F1616678122) | [androidJvm]
open fun [initCause](index.md#-418225042%2FFunctions%2F1616678122)(p0: [Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html)): [Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html) |
+| [printStackTrace](index.md#-1769529168%2FFunctions%2F1616678122) | [androidJvm]
open fun [printStackTrace](index.md#-1769529168%2FFunctions%2F1616678122)()
open fun [printStackTrace](index.md#1841853697%2FFunctions%2F1616678122)(p0: [PrintStream](https://developer.android.com/reference/kotlin/java/io/PrintStream.html))
open fun [printStackTrace](index.md#1175535278%2FFunctions%2F1616678122)(p0: [PrintWriter](https://developer.android.com/reference/kotlin/java/io/PrintWriter.html)) |
+| [setStackTrace](index.md#2135801318%2FFunctions%2F1616678122) | [androidJvm]
open fun [setStackTrace](index.md#2135801318%2FFunctions%2F1616678122)(p0: [Array](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html)<[StackTraceElement](https://developer.android.com/reference/kotlin/java/lang/StackTraceElement.html)>) |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [cause](index.md#-654012527%2FProperties%2F1616678122) | [androidJvm]
open val [cause](index.md#-654012527%2FProperties%2F1616678122): [Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html)? |
+| [message](index.md#1824300659%2FProperties%2F1616678122) | [androidJvm]
open val [message](index.md#1824300659%2FProperties%2F1616678122): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)? |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.exceptions/index.md b/dokka/core/core/com.isupatches.android.wisefy.core.exceptions/index.md
new file mode 100644
index 00000000..26d0c303
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.exceptions/index.md
@@ -0,0 +1,9 @@
+//[core](../../index.md)/[com.isupatches.android.wisefy.core.exceptions](index.md)
+
+# Package com.isupatches.android.wisefy.core.exceptions
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [WisefyException](-wisefy-exception/index.md) | [androidJvm]
class [WisefyException](-wisefy-exception/index.md)(message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), throwable: [Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html)?) : [Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html)
A Wisefy specific throwable to help clients narrow their catch clauses down to a specific type if needed. This also standardizes how Wisefy returns errors from the async operations. |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.logging/-default-wisefy-logger/-default-wisefy-logger.md b/dokka/core/core/com.isupatches.android.wisefy.core.logging/-default-wisefy-logger/-default-wisefy-logger.md
new file mode 100644
index 00000000..f394c353
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.logging/-default-wisefy-logger/-default-wisefy-logger.md
@@ -0,0 +1,6 @@
+//[core](../../../index.md)/[com.isupatches.android.wisefy.core.logging](../index.md)/[DefaultWisefyLogger](index.md)/[DefaultWisefyLogger](-default-wisefy-logger.md)
+
+# DefaultWisefyLogger
+
+[androidJvm]\
+fun [DefaultWisefyLogger](-default-wisefy-logger.md)()
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.logging/-default-wisefy-logger/d.md b/dokka/core/core/com.isupatches.android.wisefy.core.logging/-default-wisefy-logger/d.md
new file mode 100644
index 00000000..20927a7b
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.logging/-default-wisefy-logger/d.md
@@ -0,0 +1,30 @@
+//[core](../../../index.md)/[com.isupatches.android.wisefy.core.logging](../index.md)/[DefaultWisefyLogger](index.md)/[d](d.md)
+
+# d
+
+[androidJvm]\
+open override fun [d](d.md)(tag: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), vararg args: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
+
+A function that logs a debug message.
+
+#### Return
+
+Int - 0 bytes logged
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| tag | The tag for the log message |
+| message | The message to log (can include placeholders) |
+| args | The formatting arguments for the log message |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.logging/-default-wisefy-logger/e.md b/dokka/core/core/com.isupatches.android.wisefy.core.logging/-default-wisefy-logger/e.md
new file mode 100644
index 00000000..c8eb5692
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.logging/-default-wisefy-logger/e.md
@@ -0,0 +1,58 @@
+//[core](../../../index.md)/[com.isupatches.android.wisefy.core.logging](../index.md)/[DefaultWisefyLogger](index.md)/[e](e.md)
+
+# e
+
+[androidJvm]\
+open override fun [e](e.md)(tag: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), vararg args: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
+
+A function that logs an error message.
+
+#### Return
+
+Int - 0 bytes logged
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| tag | The tag for the log message |
+| message | The message to log (can include placeholders) |
+| args | The formatting arguments for the log message |
+
+[androidJvm]\
+open override fun [e](e.md)(tag: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), throwable: [Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), vararg args: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
+
+A function that logs an error message.
+
+#### Return
+
+Int - 0 bytes logged
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| tag | The tag for the log message |
+| throwable | An exception to include with the error log |
+| message | The message to log (can include placeholders) |
+| args | The formatting arguments for the log message |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.logging/-default-wisefy-logger/i.md b/dokka/core/core/com.isupatches.android.wisefy.core.logging/-default-wisefy-logger/i.md
new file mode 100644
index 00000000..f31afae4
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.logging/-default-wisefy-logger/i.md
@@ -0,0 +1,30 @@
+//[core](../../../index.md)/[com.isupatches.android.wisefy.core.logging](../index.md)/[DefaultWisefyLogger](index.md)/[i](i.md)
+
+# i
+
+[androidJvm]\
+open override fun [i](i.md)(tag: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), vararg args: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
+
+A function that logs an information message.
+
+#### Return
+
+Int - 0 bytes logged
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| tag | The tag for the log message |
+| message | The message to log (can include placeholders) |
+| args | The formatting arguments for the log message |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.logging/-default-wisefy-logger/index.md b/dokka/core/core/com.isupatches.android.wisefy.core.logging/-default-wisefy-logger/index.md
new file mode 100644
index 00000000..ed64697e
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.logging/-default-wisefy-logger/index.md
@@ -0,0 +1,41 @@
+//[core](../../../index.md)/[com.isupatches.android.wisefy.core.logging](../index.md)/[DefaultWisefyLogger](index.md)
+
+# DefaultWisefyLogger
+
+[androidJvm]\
+class [DefaultWisefyLogger](index.md) : [WisefyLogger](../-wisefy-logger/index.md)
+
+A no-op, default implementation of [WisefyLogger](../-wisefy-logger/index.md).
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.core.logging.WisefyLogger](../-wisefy-logger/index.md) | |
+
+## Constructors
+
+| | |
+|---|---|
+| [DefaultWisefyLogger](-default-wisefy-logger.md) | [androidJvm]
fun [DefaultWisefyLogger](-default-wisefy-logger.md)() |
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [d](d.md) | [androidJvm]
open override fun [d](d.md)(tag: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), vararg args: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
A function that logs a debug message. |
+| [e](e.md) | [androidJvm]
open override fun [e](e.md)(tag: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), vararg args: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
open override fun [e](e.md)(tag: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), throwable: [Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), vararg args: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
A function that logs an error message. |
+| [i](i.md) | [androidJvm]
open override fun [i](i.md)(tag: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), vararg args: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
A function that logs an information message. |
+| [v](v.md) | [androidJvm]
open override fun [v](v.md)(tag: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), vararg args: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
A function that logs a verbose message. |
+| [w](w.md) | [androidJvm]
open override fun [w](w.md)(tag: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), vararg args: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
A function that logs a warning message. |
+| [wtf](wtf.md) | [androidJvm]
open override fun [wtf](wtf.md)(tag: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), vararg args: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
open override fun [wtf](wtf.md)(tag: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), throwable: [Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), vararg args: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
A function that logs a "what a terrible failure" message. |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.logging/-default-wisefy-logger/v.md b/dokka/core/core/com.isupatches.android.wisefy.core.logging/-default-wisefy-logger/v.md
new file mode 100644
index 00000000..c1ae3a9a
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.logging/-default-wisefy-logger/v.md
@@ -0,0 +1,30 @@
+//[core](../../../index.md)/[com.isupatches.android.wisefy.core.logging](../index.md)/[DefaultWisefyLogger](index.md)/[v](v.md)
+
+# v
+
+[androidJvm]\
+open override fun [v](v.md)(tag: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), vararg args: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
+
+A function that logs a verbose message.
+
+#### Return
+
+Int - 0 bytes logged
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| tag | The tag for the log message |
+| message | The message to log (can include placeholders) |
+| args | The formatting arguments for the log message |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.logging/-default-wisefy-logger/w.md b/dokka/core/core/com.isupatches.android.wisefy.core.logging/-default-wisefy-logger/w.md
new file mode 100644
index 00000000..c42604bb
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.logging/-default-wisefy-logger/w.md
@@ -0,0 +1,30 @@
+//[core](../../../index.md)/[com.isupatches.android.wisefy.core.logging](../index.md)/[DefaultWisefyLogger](index.md)/[w](w.md)
+
+# w
+
+[androidJvm]\
+open override fun [w](w.md)(tag: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), vararg args: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
+
+A function that logs a warning message.
+
+#### Return
+
+Int - 0 bytes logged
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| tag | The tag for the log message |
+| message | The message to log (can include placeholders) |
+| args | The formatting arguments for the log message |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.logging/-default-wisefy-logger/wtf.md b/dokka/core/core/com.isupatches.android.wisefy.core.logging/-default-wisefy-logger/wtf.md
new file mode 100644
index 00000000..c2cdebb7
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.logging/-default-wisefy-logger/wtf.md
@@ -0,0 +1,58 @@
+//[core](../../../index.md)/[com.isupatches.android.wisefy.core.logging](../index.md)/[DefaultWisefyLogger](index.md)/[wtf](wtf.md)
+
+# wtf
+
+[androidJvm]\
+open override fun [wtf](wtf.md)(tag: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), vararg args: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
+
+A function that logs a "what a terrible failure" message.
+
+#### Return
+
+Int - 0 bytes logged
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| tag | The tag for the log message |
+| message | The message to log (can include placeholders) |
+| args | The formatting arguments for the log message |
+
+[androidJvm]\
+open override fun [wtf](wtf.md)(tag: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), throwable: [Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), vararg args: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
+
+A function that logs a "what a terrible failure" message.
+
+#### Return
+
+Int - 0 bytes logged
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| tag | The tag for the log message |
+| throwable | An exception to include with the "what a terrible failure" log |
+| message | The message to log (can include placeholders) |
+| args | The formatting arguments for the log message |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/d.md b/dokka/core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/d.md
new file mode 100644
index 00000000..569baa52
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/d.md
@@ -0,0 +1,30 @@
+//[core](../../../index.md)/[com.isupatches.android.wisefy.core.logging](../index.md)/[WisefyLogger](index.md)/[d](d.md)
+
+# d
+
+[androidJvm]\
+abstract fun [d](d.md)(tag: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), vararg args: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
+
+A function that logs a debug message.
+
+#### Return
+
+Int - The amount of bytes logged
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| tag | The tag for the log message |
+| message | The message to log (can include placeholders) |
+| args | The formatting arguments for the log message |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/e.md b/dokka/core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/e.md
new file mode 100644
index 00000000..a88bd736
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/e.md
@@ -0,0 +1,58 @@
+//[core](../../../index.md)/[com.isupatches.android.wisefy.core.logging](../index.md)/[WisefyLogger](index.md)/[e](e.md)
+
+# e
+
+[androidJvm]\
+abstract fun [e](e.md)(tag: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), vararg args: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
+
+A function that logs an error message.
+
+#### Return
+
+Int - The amount of bytes logged
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| tag | The tag for the log message |
+| message | The message to log (can include placeholders) |
+| args | The formatting arguments for the log message |
+
+[androidJvm]\
+abstract fun [e](e.md)(tag: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), throwable: [Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), vararg args: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
+
+A function that logs an error message.
+
+#### Return
+
+Int - The amount of bytes logged
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| tag | The tag for the log message |
+| throwable | An exception to include with the error log |
+| message | The message to log (can include placeholders) |
+| args | The formatting arguments for the log message |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/i.md b/dokka/core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/i.md
new file mode 100644
index 00000000..a3d430c8
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/i.md
@@ -0,0 +1,30 @@
+//[core](../../../index.md)/[com.isupatches.android.wisefy.core.logging](../index.md)/[WisefyLogger](index.md)/[i](i.md)
+
+# i
+
+[androidJvm]\
+abstract fun [i](i.md)(tag: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), vararg args: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
+
+A function that logs an information message.
+
+#### Return
+
+Int - The amount of bytes logged
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| tag | The tag for the log message |
+| message | The message to log (can include placeholders) |
+| args | The formatting arguments for the log message |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md b/dokka/core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md
new file mode 100644
index 00000000..46f94f89
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md
@@ -0,0 +1,33 @@
+//[core](../../../index.md)/[com.isupatches.android.wisefy.core.logging](../index.md)/[WisefyLogger](index.md)
+
+# WisefyLogger
+
+[androidJvm]\
+interface [WisefyLogger](index.md)
+
+A logging interface that can be provided to Wisefy to log messages.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [d](d.md) | [androidJvm]
abstract fun [d](d.md)(tag: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), vararg args: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
A function that logs a debug message. |
+| [e](e.md) | [androidJvm]
abstract fun [e](e.md)(tag: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), vararg args: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
abstract fun [e](e.md)(tag: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), throwable: [Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), vararg args: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
A function that logs an error message. |
+| [i](i.md) | [androidJvm]
abstract fun [i](i.md)(tag: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), vararg args: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
A function that logs an information message. |
+| [v](v.md) | [androidJvm]
abstract fun [v](v.md)(tag: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), vararg args: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
A function that logs a verbose message. |
+| [w](w.md) | [androidJvm]
abstract fun [w](w.md)(tag: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), vararg args: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
A function that logs a warning message. |
+| [wtf](wtf.md) | [androidJvm]
abstract fun [wtf](wtf.md)(tag: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), vararg args: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
abstract fun [wtf](wtf.md)(tag: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), throwable: [Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), vararg args: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
A function that logs a "what a terrible failure" message. |
+
+## Inheritors
+
+| Name |
+|---|
+| [DefaultWisefyLogger](../-default-wisefy-logger/index.md) |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/v.md b/dokka/core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/v.md
new file mode 100644
index 00000000..ddc8a697
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/v.md
@@ -0,0 +1,30 @@
+//[core](../../../index.md)/[com.isupatches.android.wisefy.core.logging](../index.md)/[WisefyLogger](index.md)/[v](v.md)
+
+# v
+
+[androidJvm]\
+abstract fun [v](v.md)(tag: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), vararg args: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
+
+A function that logs a verbose message.
+
+#### Return
+
+Int - The amount of bytes logged
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| tag | The tag for the log message |
+| message | The message to log (can include placeholders) |
+| args | The formatting arguments for the log message |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/w.md b/dokka/core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/w.md
new file mode 100644
index 00000000..333f5959
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/w.md
@@ -0,0 +1,30 @@
+//[core](../../../index.md)/[com.isupatches.android.wisefy.core.logging](../index.md)/[WisefyLogger](index.md)/[w](w.md)
+
+# w
+
+[androidJvm]\
+abstract fun [w](w.md)(tag: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), vararg args: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
+
+A function that logs a warning message.
+
+#### Return
+
+Int - The amount of bytes logged
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| tag | The tag for the log message |
+| message | The message to log (can include placeholders) |
+| args | The formatting arguments for the log message |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/wtf.md b/dokka/core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/wtf.md
new file mode 100644
index 00000000..7cbbbabc
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/wtf.md
@@ -0,0 +1,58 @@
+//[core](../../../index.md)/[com.isupatches.android.wisefy.core.logging](../index.md)/[WisefyLogger](index.md)/[wtf](wtf.md)
+
+# wtf
+
+[androidJvm]\
+abstract fun [wtf](wtf.md)(tag: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), vararg args: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
+
+A function that logs a "what a terrible failure" message.
+
+#### Return
+
+Int - The amount of bytes logged
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| tag | The tag for the log message |
+| message | The message to log (can include placeholders) |
+| args | The formatting arguments for the log message |
+
+[androidJvm]\
+abstract fun [wtf](wtf.md)(tag: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), throwable: [Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), vararg args: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
+
+A function that logs a "what a terrible failure" message.
+
+#### Return
+
+Int - The amount of bytes logged
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| tag | The tag for the log message |
+| throwable | An exception to include with the "what a terrible failure" log |
+| message | The message to log (can include placeholders) |
+| args | The formatting arguments for the log message |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.logging/index.md b/dokka/core/core/com.isupatches.android.wisefy.core.logging/index.md
new file mode 100644
index 00000000..7f348bb7
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.logging/index.md
@@ -0,0 +1,10 @@
+//[core](../../index.md)/[com.isupatches.android.wisefy.core.logging](index.md)
+
+# Package com.isupatches.android.wisefy.core.logging
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [DefaultWisefyLogger](-default-wisefy-logger/index.md) | [androidJvm]
class [DefaultWisefyLogger](-default-wisefy-logger/index.md) : [WisefyLogger](-wisefy-logger/index.md)
A no-op, default implementation of [WisefyLogger](-wisefy-logger/index.md). |
+| [WisefyLogger](-wisefy-logger/index.md) | [androidJvm]
interface [WisefyLogger](-wisefy-logger/index.md)
A logging interface that can be provided to Wisefy to log messages. |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.util/-sdk-util-impl/-sdk-util-impl.md b/dokka/core/core/com.isupatches.android.wisefy.core.util/-sdk-util-impl/-sdk-util-impl.md
new file mode 100644
index 00000000..3880ea12
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.util/-sdk-util-impl/-sdk-util-impl.md
@@ -0,0 +1,6 @@
+//[core](../../../index.md)/[com.isupatches.android.wisefy.core.util](../index.md)/[SdkUtilImpl](index.md)/[SdkUtilImpl](-sdk-util-impl.md)
+
+# SdkUtilImpl
+
+[androidJvm]\
+fun [SdkUtilImpl](-sdk-util-impl.md)()
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.util/-sdk-util-impl/index.md b/dokka/core/core/com.isupatches.android.wisefy.core.util/-sdk-util-impl/index.md
new file mode 100644
index 00000000..e4ed7098
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.util/-sdk-util-impl/index.md
@@ -0,0 +1,40 @@
+//[core](../../../index.md)/[com.isupatches.android.wisefy.core.util](../index.md)/[SdkUtilImpl](index.md)
+
+# SdkUtilImpl
+
+[androidJvm]\
+class [SdkUtilImpl](index.md) : [SdkUtil](../-sdk-util/index.md)
+
+A default implementation of [SdkUtil](../-sdk-util/index.md) that helps the library determine the SDK level of the device.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.core.util.SdkUtil](../-sdk-util/index.md) | |
+
+## Constructors
+
+| | |
+|---|---|
+| [SdkUtilImpl](-sdk-util-impl.md) | [androidJvm]
fun [SdkUtilImpl](-sdk-util-impl.md)() |
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [isAtLeastP](is-at-least-p.md) | [androidJvm]
@[ChecksSdkIntAtLeast](https://developer.android.com/reference/kotlin/androidx/annotation/ChecksSdkIntAtLeast.html)(api = 28)
open override fun [isAtLeastP](is-at-least-p.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
A function that will check whether the device is on at least Android P. |
+| [isAtLeastQ](is-at-least-q.md) | [androidJvm]
@[ChecksSdkIntAtLeast](https://developer.android.com/reference/kotlin/androidx/annotation/ChecksSdkIntAtLeast.html)(api = 29)
open override fun [isAtLeastQ](is-at-least-q.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
A function that will check whether the device is on at least Android Q. |
+| [isAtLeastR](is-at-least-r.md) | [androidJvm]
@[ChecksSdkIntAtLeast](https://developer.android.com/reference/kotlin/androidx/annotation/ChecksSdkIntAtLeast.html)(api = 30)
open override fun [isAtLeastR](is-at-least-r.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
A function that will check whether the device is on at least Android R. |
+| [isAtLeastS](is-at-least-s.md) | [androidJvm]
@[ChecksSdkIntAtLeast](https://developer.android.com/reference/kotlin/androidx/annotation/ChecksSdkIntAtLeast.html)(api = 31)
open override fun [isAtLeastS](is-at-least-s.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
A function that will check whether the device is on at least Android S. |
+| [isAtLeastT](is-at-least-t.md) | [androidJvm]
@[ChecksSdkIntAtLeast](https://developer.android.com/reference/kotlin/androidx/annotation/ChecksSdkIntAtLeast.html)(api = 33)
open override fun [isAtLeastT](is-at-least-t.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
A function that will check whether the device is on at least Android T. |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.util/-sdk-util-impl/is-at-least-p.md b/dokka/core/core/com.isupatches.android.wisefy.core.util/-sdk-util-impl/is-at-least-p.md
new file mode 100644
index 00000000..aee4b86b
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.util/-sdk-util-impl/is-at-least-p.md
@@ -0,0 +1,23 @@
+//[core](../../../index.md)/[com.isupatches.android.wisefy.core.util](../index.md)/[SdkUtilImpl](index.md)/[isAtLeastP](is-at-least-p.md)
+
+# isAtLeastP
+
+[androidJvm]\
+
+@[ChecksSdkIntAtLeast](https://developer.android.com/reference/kotlin/androidx/annotation/ChecksSdkIntAtLeast.html)(api = 28)
+
+open override fun [isAtLeastP](is-at-least-p.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
+
+A function that will check whether the device is on at least Android P.
+
+#### Return
+
+Boolean - True if the device's SDK is at least Android P, otherwise false
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.util/-sdk-util-impl/is-at-least-q.md b/dokka/core/core/com.isupatches.android.wisefy.core.util/-sdk-util-impl/is-at-least-q.md
new file mode 100644
index 00000000..5afab11d
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.util/-sdk-util-impl/is-at-least-q.md
@@ -0,0 +1,23 @@
+//[core](../../../index.md)/[com.isupatches.android.wisefy.core.util](../index.md)/[SdkUtilImpl](index.md)/[isAtLeastQ](is-at-least-q.md)
+
+# isAtLeastQ
+
+[androidJvm]\
+
+@[ChecksSdkIntAtLeast](https://developer.android.com/reference/kotlin/androidx/annotation/ChecksSdkIntAtLeast.html)(api = 29)
+
+open override fun [isAtLeastQ](is-at-least-q.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
+
+A function that will check whether the device is on at least Android Q.
+
+#### Return
+
+Boolean - True if the device's SDK is at least Android Q, otherwise false
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.util/-sdk-util-impl/is-at-least-r.md b/dokka/core/core/com.isupatches.android.wisefy.core.util/-sdk-util-impl/is-at-least-r.md
new file mode 100644
index 00000000..87635a09
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.util/-sdk-util-impl/is-at-least-r.md
@@ -0,0 +1,23 @@
+//[core](../../../index.md)/[com.isupatches.android.wisefy.core.util](../index.md)/[SdkUtilImpl](index.md)/[isAtLeastR](is-at-least-r.md)
+
+# isAtLeastR
+
+[androidJvm]\
+
+@[ChecksSdkIntAtLeast](https://developer.android.com/reference/kotlin/androidx/annotation/ChecksSdkIntAtLeast.html)(api = 30)
+
+open override fun [isAtLeastR](is-at-least-r.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
+
+A function that will check whether the device is on at least Android R.
+
+#### Return
+
+Boolean - True if the device's SDK is at least Android R, otherwise false
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+11/2022, version 5.0.0
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.util/-sdk-util-impl/is-at-least-s.md b/dokka/core/core/com.isupatches.android.wisefy.core.util/-sdk-util-impl/is-at-least-s.md
new file mode 100644
index 00000000..5f19b529
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.util/-sdk-util-impl/is-at-least-s.md
@@ -0,0 +1,23 @@
+//[core](../../../index.md)/[com.isupatches.android.wisefy.core.util](../index.md)/[SdkUtilImpl](index.md)/[isAtLeastS](is-at-least-s.md)
+
+# isAtLeastS
+
+[androidJvm]\
+
+@[ChecksSdkIntAtLeast](https://developer.android.com/reference/kotlin/androidx/annotation/ChecksSdkIntAtLeast.html)(api = 31)
+
+open override fun [isAtLeastS](is-at-least-s.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
+
+A function that will check whether the device is on at least Android S.
+
+#### Return
+
+Boolean - True if the device's SDK is at least Android S, otherwise false
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.util/-sdk-util-impl/is-at-least-t.md b/dokka/core/core/com.isupatches.android.wisefy.core.util/-sdk-util-impl/is-at-least-t.md
new file mode 100644
index 00000000..b7ed62f4
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.util/-sdk-util-impl/is-at-least-t.md
@@ -0,0 +1,23 @@
+//[core](../../../index.md)/[com.isupatches.android.wisefy.core.util](../index.md)/[SdkUtilImpl](index.md)/[isAtLeastT](is-at-least-t.md)
+
+# isAtLeastT
+
+[androidJvm]\
+
+@[ChecksSdkIntAtLeast](https://developer.android.com/reference/kotlin/androidx/annotation/ChecksSdkIntAtLeast.html)(api = 33)
+
+open override fun [isAtLeastT](is-at-least-t.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
+
+A function that will check whether the device is on at least Android T.
+
+#### Return
+
+Boolean - True if the device's SDK is at least Android T, otherwise false
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md b/dokka/core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md
new file mode 100644
index 00000000..255f5145
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md
@@ -0,0 +1,32 @@
+//[core](../../../index.md)/[com.isupatches.android.wisefy.core.util](../index.md)/[SdkUtil](index.md)
+
+# SdkUtil
+
+[androidJvm]\
+interface [SdkUtil](index.md)
+
+An interface that helps the library determine the SDK level of the device.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [isAtLeastP](is-at-least-p.md) | [androidJvm]
@[ChecksSdkIntAtLeast](https://developer.android.com/reference/kotlin/androidx/annotation/ChecksSdkIntAtLeast.html)(api = 28)
abstract fun [isAtLeastP](is-at-least-p.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
A function that will check whether the device is on at least Android P. |
+| [isAtLeastQ](is-at-least-q.md) | [androidJvm]
@[ChecksSdkIntAtLeast](https://developer.android.com/reference/kotlin/androidx/annotation/ChecksSdkIntAtLeast.html)(api = 29)
abstract fun [isAtLeastQ](is-at-least-q.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
A function that will check whether the device is on at least Android Q. |
+| [isAtLeastR](is-at-least-r.md) | [androidJvm]
@[ChecksSdkIntAtLeast](https://developer.android.com/reference/kotlin/androidx/annotation/ChecksSdkIntAtLeast.html)(api = 30)
abstract fun [isAtLeastR](is-at-least-r.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
A function that will check whether the device is on at least Android R. |
+| [isAtLeastS](is-at-least-s.md) | [androidJvm]
@[ChecksSdkIntAtLeast](https://developer.android.com/reference/kotlin/androidx/annotation/ChecksSdkIntAtLeast.html)(api = 31)
abstract fun [isAtLeastS](is-at-least-s.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
A function that will check whether the device is on at least Android S. |
+| [isAtLeastT](is-at-least-t.md) | [androidJvm]
@[ChecksSdkIntAtLeast](https://developer.android.com/reference/kotlin/androidx/annotation/ChecksSdkIntAtLeast.html)(api = 33)
abstract fun [isAtLeastT](is-at-least-t.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
A function that will check whether the device is on at least Android T. |
+
+## Inheritors
+
+| Name |
+|---|
+| [SdkUtilImpl](../-sdk-util-impl/index.md) |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.util/-sdk-util/is-at-least-p.md b/dokka/core/core/com.isupatches.android.wisefy.core.util/-sdk-util/is-at-least-p.md
new file mode 100644
index 00000000..f9ee7a24
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.util/-sdk-util/is-at-least-p.md
@@ -0,0 +1,23 @@
+//[core](../../../index.md)/[com.isupatches.android.wisefy.core.util](../index.md)/[SdkUtil](index.md)/[isAtLeastP](is-at-least-p.md)
+
+# isAtLeastP
+
+[androidJvm]\
+
+@[ChecksSdkIntAtLeast](https://developer.android.com/reference/kotlin/androidx/annotation/ChecksSdkIntAtLeast.html)(api = 28)
+
+abstract fun [isAtLeastP](is-at-least-p.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
+
+A function that will check whether the device is on at least Android P.
+
+#### Return
+
+Boolean - True if the device's SDK is at least Android P, otherwise false
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.util/-sdk-util/is-at-least-q.md b/dokka/core/core/com.isupatches.android.wisefy.core.util/-sdk-util/is-at-least-q.md
new file mode 100644
index 00000000..abcb2d0f
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.util/-sdk-util/is-at-least-q.md
@@ -0,0 +1,23 @@
+//[core](../../../index.md)/[com.isupatches.android.wisefy.core.util](../index.md)/[SdkUtil](index.md)/[isAtLeastQ](is-at-least-q.md)
+
+# isAtLeastQ
+
+[androidJvm]\
+
+@[ChecksSdkIntAtLeast](https://developer.android.com/reference/kotlin/androidx/annotation/ChecksSdkIntAtLeast.html)(api = 29)
+
+abstract fun [isAtLeastQ](is-at-least-q.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
+
+A function that will check whether the device is on at least Android Q.
+
+#### Return
+
+Boolean - True if the device's SDK is at least Android Q, otherwise false
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.util/-sdk-util/is-at-least-r.md b/dokka/core/core/com.isupatches.android.wisefy.core.util/-sdk-util/is-at-least-r.md
new file mode 100644
index 00000000..defff4e1
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.util/-sdk-util/is-at-least-r.md
@@ -0,0 +1,23 @@
+//[core](../../../index.md)/[com.isupatches.android.wisefy.core.util](../index.md)/[SdkUtil](index.md)/[isAtLeastR](is-at-least-r.md)
+
+# isAtLeastR
+
+[androidJvm]\
+
+@[ChecksSdkIntAtLeast](https://developer.android.com/reference/kotlin/androidx/annotation/ChecksSdkIntAtLeast.html)(api = 30)
+
+abstract fun [isAtLeastR](is-at-least-r.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
+
+A function that will check whether the device is on at least Android R.
+
+#### Return
+
+Boolean - True if the device's SDK is at least Android R, otherwise false
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+11/2022, version 5.0.0
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.util/-sdk-util/is-at-least-s.md b/dokka/core/core/com.isupatches.android.wisefy.core.util/-sdk-util/is-at-least-s.md
new file mode 100644
index 00000000..fe4e3736
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.util/-sdk-util/is-at-least-s.md
@@ -0,0 +1,23 @@
+//[core](../../../index.md)/[com.isupatches.android.wisefy.core.util](../index.md)/[SdkUtil](index.md)/[isAtLeastS](is-at-least-s.md)
+
+# isAtLeastS
+
+[androidJvm]\
+
+@[ChecksSdkIntAtLeast](https://developer.android.com/reference/kotlin/androidx/annotation/ChecksSdkIntAtLeast.html)(api = 31)
+
+abstract fun [isAtLeastS](is-at-least-s.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
+
+A function that will check whether the device is on at least Android S.
+
+#### Return
+
+Boolean - True if the device's SDK is at least Android S, otherwise false
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.util/-sdk-util/is-at-least-t.md b/dokka/core/core/com.isupatches.android.wisefy.core.util/-sdk-util/is-at-least-t.md
new file mode 100644
index 00000000..1faa642a
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.util/-sdk-util/is-at-least-t.md
@@ -0,0 +1,23 @@
+//[core](../../../index.md)/[com.isupatches.android.wisefy.core.util](../index.md)/[SdkUtil](index.md)/[isAtLeastT](is-at-least-t.md)
+
+# isAtLeastT
+
+[androidJvm]\
+
+@[ChecksSdkIntAtLeast](https://developer.android.com/reference/kotlin/androidx/annotation/ChecksSdkIntAtLeast.html)(api = 33)
+
+abstract fun [isAtLeastT](is-at-least-t.md)(): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
+
+A function that will check whether the device is on at least Android T.
+
+#### Return
+
+Boolean - True if the device's SDK is at least Android T, otherwise false
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.util/index.md b/dokka/core/core/com.isupatches.android.wisefy.core.util/index.md
new file mode 100644
index 00000000..2f9221cc
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.util/index.md
@@ -0,0 +1,17 @@
+//[core](../../index.md)/[com.isupatches.android.wisefy.core.util](index.md)
+
+# Package com.isupatches.android.wisefy.core.util
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [SdkUtil](-sdk-util/index.md) | [androidJvm]
interface [SdkUtil](-sdk-util/index.md)
An interface that helps the library determine the SDK level of the device. |
+| [SdkUtilImpl](-sdk-util-impl/index.md) | [androidJvm]
class [SdkUtilImpl](-sdk-util-impl/index.md) : [SdkUtil](-sdk-util/index.md)
A default implementation of [SdkUtil](-sdk-util/index.md) that helps the library determine the SDK level of the device. |
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [withTimeout](with-timeout.md) | [androidJvm]
fun [withTimeout](with-timeout.md)(timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), block: () -> [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
A convenience function that will wait for a given time until the provided function returns true. |
+| [withTimeoutAsync](with-timeout-async.md) | [androidJvm]
suspend fun [withTimeoutAsync](with-timeout-async.md)(timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), block: suspend () -> [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
A convenience function that will wait for a given time until the provided function returns true. |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.util/with-timeout-async.md b/dokka/core/core/com.isupatches.android.wisefy.core.util/with-timeout-async.md
new file mode 100644
index 00000000..92297b9e
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.util/with-timeout-async.md
@@ -0,0 +1,31 @@
+//[core](../../index.md)/[com.isupatches.android.wisefy.core.util](index.md)/[withTimeoutAsync](with-timeout-async.md)
+
+# withTimeoutAsync
+
+[androidJvm]\
+suspend fun [withTimeoutAsync](with-timeout-async.md)(timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), block: suspend () -> [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
+
+A convenience function that will wait for a given time until the provided function returns true.
+
+Usage example: withTimeoutAsync(timeoutInMillis) { // Stops loop at the end of the timeout or when connected to network with a matching SSID isCurrentNetworkConnectedBySSID(ssid) }
+
+#### Return
+
+Boolean - True if the condition was met before the timeout was reached, otherwise false
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| timeoutInMillis | The allotted time for the code to execute before aborting |
+| block | A suspendable code block that should return true to exit the loop, otherwise false to continue until the time limit is met |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.util/with-timeout.md b/dokka/core/core/com.isupatches.android.wisefy.core.util/with-timeout.md
new file mode 100644
index 00000000..17840737
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.util/with-timeout.md
@@ -0,0 +1,31 @@
+//[core](../../index.md)/[com.isupatches.android.wisefy.core.util](index.md)/[withTimeout](with-timeout.md)
+
+# withTimeout
+
+[androidJvm]\
+fun [withTimeout](with-timeout.md)(timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), block: () -> [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
+
+A convenience function that will wait for a given time until the provided function returns true.
+
+Usage example: withTimeout(timeoutInMillis) { filteredAccessPoints = filterAccessPoints(filterDuplicates, matcher) // Stops loop at end of timeout or if we have a non-empty list of access points filteredAccessPoints.isNotEmpty() }
+
+#### Return
+
+Boolean - True if the condition was met before the timeout was reached, otherwise false
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| timeoutInMillis | The allotted time for the code to execute before aborting |
+| block | A code block that should return true to exit the loop, otherwise false to continue until the time limit is met |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.wifimanager.legacy/create-open-network-configuration.md b/dokka/core/core/com.isupatches.android.wisefy.core.wifimanager.legacy/create-open-network-configuration.md
new file mode 100644
index 00000000..8d2e469d
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.wifimanager.legacy/create-open-network-configuration.md
@@ -0,0 +1,29 @@
+//[core](../../index.md)/[com.isupatches.android.wisefy.core.wifimanager.legacy](index.md)/[createOpenNetworkConfiguration](create-open-network-configuration.md)
+
+# createOpenNetworkConfiguration
+
+[androidJvm]\
+fun [createOpenNetworkConfiguration](create-open-network-configuration.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), bssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?): [WifiConfiguration](https://developer.android.com/reference/kotlin/android/net/wifi/WifiConfiguration.html)
+
+A function that will create the network configuration for an open network.
+
+#### Return
+
+WifiConfiguration - The network configuration for the open network
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| ssid | The SSID of the open network |
+| bssid | The optional BSSID for the open network being added |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.wifimanager.legacy/create-w-p-a2-network-configuration.md b/dokka/core/core/com.isupatches.android.wisefy.core.wifimanager.legacy/create-w-p-a2-network-configuration.md
new file mode 100644
index 00000000..8bc641a4
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.wifimanager.legacy/create-w-p-a2-network-configuration.md
@@ -0,0 +1,30 @@
+//[core](../../index.md)/[com.isupatches.android.wisefy.core.wifimanager.legacy](index.md)/[createWPA2NetworkConfiguration](create-w-p-a2-network-configuration.md)
+
+# createWPA2NetworkConfiguration
+
+[androidJvm]\
+fun [createWPA2NetworkConfiguration](create-w-p-a2-network-configuration.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), bssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?): [WifiConfiguration](https://developer.android.com/reference/kotlin/android/net/wifi/WifiConfiguration.html)
+
+A function that will create the network configuration for a WPA2 network.
+
+#### Return
+
+WifiConfiguration - The network configuration for the WPA2 network
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| ssid | The SSID of the WPA2 network |
+| passphrase | The passphrase of the WPA2 network |
+| bssid | The optional BSSID for the WPA2 network being added |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.wifimanager.legacy/index.md b/dokka/core/core/com.isupatches.android.wisefy.core.wifimanager.legacy/index.md
new file mode 100644
index 00000000..744f191e
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.wifimanager.legacy/index.md
@@ -0,0 +1,10 @@
+//[core](../../index.md)/[com.isupatches.android.wisefy.core.wifimanager.legacy](index.md)
+
+# Package com.isupatches.android.wisefy.core.wifimanager.legacy
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [createOpenNetworkConfiguration](create-open-network-configuration.md) | [androidJvm]
fun [createOpenNetworkConfiguration](create-open-network-configuration.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), bssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?): [WifiConfiguration](https://developer.android.com/reference/kotlin/android/net/wifi/WifiConfiguration.html)
A function that will create the network configuration for an open network. |
+| [createWPA2NetworkConfiguration](create-w-p-a2-network-configuration.md) | [androidJvm]
fun [createWPA2NetworkConfiguration](create-w-p-a2-network-configuration.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), bssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?): [WifiConfiguration](https://developer.android.com/reference/kotlin/android/net/wifi/WifiConfiguration.html)
A function that will create the network configuration for a WPA2 network. |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.wifimanager/create-open-network-suggestion.md b/dokka/core/core/com.isupatches.android.wisefy.core.wifimanager/create-open-network-suggestion.md
new file mode 100644
index 00000000..500c13ee
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.wifimanager/create-open-network-suggestion.md
@@ -0,0 +1,32 @@
+//[core](../../index.md)/[com.isupatches.android.wisefy.core.wifimanager](index.md)/[createOpenNetworkSuggestion](create-open-network-suggestion.md)
+
+# createOpenNetworkSuggestion
+
+[androidJvm]\
+
+@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
+
+fun [createOpenNetworkSuggestion](create-open-network-suggestion.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), bssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?): [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html)
+
+A function that will create the network configuration for a WPA2 network.
+
+#### Return
+
+WifiNetworkSuggestion - The network suggestion for the open network
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| ssid | The SSID of the open network |
+| bssid | The optional BSSID for the open network |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.wifimanager/create-w-p-a2-network-suggestion.md b/dokka/core/core/com.isupatches.android.wisefy.core.wifimanager/create-w-p-a2-network-suggestion.md
new file mode 100644
index 00000000..57c99ce9
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.wifimanager/create-w-p-a2-network-suggestion.md
@@ -0,0 +1,33 @@
+//[core](../../index.md)/[com.isupatches.android.wisefy.core.wifimanager](index.md)/[createWPA2NetworkSuggestion](create-w-p-a2-network-suggestion.md)
+
+# createWPA2NetworkSuggestion
+
+[androidJvm]\
+
+@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
+
+fun [createWPA2NetworkSuggestion](create-w-p-a2-network-suggestion.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), bssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?): [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html)
+
+A function that will create the network configuration for a WPA2 network.
+
+#### Return
+
+WifiNetworkSuggestion - The network suggestion for the WPA2 network
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| ssid | The SSID of the WPA2 network |
+| passphrase | The passphrase of the WPA2 network |
+| bssid | The optional BSSID for the WPA2 network |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.wifimanager/create-w-p-a3-network-suggestion.md b/dokka/core/core/com.isupatches.android.wisefy.core.wifimanager/create-w-p-a3-network-suggestion.md
new file mode 100644
index 00000000..5d45c95e
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.wifimanager/create-w-p-a3-network-suggestion.md
@@ -0,0 +1,33 @@
+//[core](../../index.md)/[com.isupatches.android.wisefy.core.wifimanager](index.md)/[createWPA3NetworkSuggestion](create-w-p-a3-network-suggestion.md)
+
+# createWPA3NetworkSuggestion
+
+[androidJvm]\
+
+@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
+
+fun [createWPA3NetworkSuggestion](create-w-p-a3-network-suggestion.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), bssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?): [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html)
+
+A function that will create the network configuration for a WPA2 network.
+
+#### Return
+
+WifiNetworkSuggestion - The network suggestion for the WPA3 network
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| ssid | The SSID of the WPA3 network |
+| passphrase | The passphrase of the WPA3 network |
+| bssid | The optional BSSID for the WPA3 network |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core.wifimanager/index.md b/dokka/core/core/com.isupatches.android.wisefy.core.wifimanager/index.md
new file mode 100644
index 00000000..01bdfc7a
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core.wifimanager/index.md
@@ -0,0 +1,11 @@
+//[core](../../index.md)/[com.isupatches.android.wisefy.core.wifimanager](index.md)
+
+# Package com.isupatches.android.wisefy.core.wifimanager
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [createOpenNetworkSuggestion](create-open-network-suggestion.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
fun [createOpenNetworkSuggestion](create-open-network-suggestion.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), bssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?): [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html)
A function that will create the network configuration for a WPA2 network. |
+| [createWPA2NetworkSuggestion](create-w-p-a2-network-suggestion.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
fun [createWPA2NetworkSuggestion](create-w-p-a2-network-suggestion.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), bssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?): [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html)
A function that will create the network configuration for a WPA2 network. |
+| [createWPA3NetworkSuggestion](create-w-p-a3-network-suggestion.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
fun [createWPA3NetworkSuggestion](create-w-p-a3-network-suggestion.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), passphrase: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), bssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?): [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html)
A function that will create the network configuration for a WPA2 network. |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core/bssid-without-quotes.md b/dokka/core/core/com.isupatches.android.wisefy.core/bssid-without-quotes.md
new file mode 100644
index 00000000..945490b5
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core/bssid-without-quotes.md
@@ -0,0 +1,74 @@
+//[core](../../index.md)/[com.isupatches.android.wisefy.core](index.md)/[bssidWithoutQuotes](bssid-without-quotes.md)
+
+# bssidWithoutQuotes
+
+[androidJvm]\
+val [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html).[bssidWithoutQuotes](bssid-without-quotes.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
+
+A convenience property to expose the BSSID of a [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html) taking into account any SDK level considerations and with stripping unnecessary quotes.
+
+#### Return
+
+String - The value of the [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)'s BSSID with quotes removed
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+[androidJvm]\
+val [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html).[bssidWithoutQuotes](bssid-without-quotes.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
+
+A convenience property to expose the BSSID of a [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html) taking into account any SDK level considerations and with stripping unnecessary quotes.
+
+#### Return
+
+String - The value of the [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html)'s BSSID with quotes removed
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+[androidJvm]\
+val [WifiConfiguration](https://developer.android.com/reference/kotlin/android/net/wifi/WifiConfiguration.html).[bssidWithoutQuotes](bssid-without-quotes.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
+
+A convenience property to expose the BSSID of a [android.net.wifi.WifiConfiguration](https://developer.android.com/reference/kotlin/android/net/wifi/WifiConfiguration.html) taking into account any SDK level considerations and with stripping unnecessary quotes.
+
+#### Return
+
+String - The value of the [android.net.wifi.WifiConfiguration](https://developer.android.com/reference/kotlin/android/net/wifi/WifiConfiguration.html)'s BSSID with quotes removed
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+[androidJvm]\
+
+@get:[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
+
+val [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html).[bssidWithoutQuotes](bssid-without-quotes.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
+
+A convenience property to expose the BSSID of a [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html) taking into account any SDK level considerations and with stripping unnecessary quotes.
+
+#### Return
+
+String - The value of the [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html)'s BSSID with quotes removed
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core/has-b-s-s-i-d-matching-regex.md b/dokka/core/core/com.isupatches.android.wisefy.core/has-b-s-s-i-d-matching-regex.md
new file mode 100644
index 00000000..02b0747e
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core/has-b-s-s-i-d-matching-regex.md
@@ -0,0 +1,81 @@
+//[core](../../index.md)/[com.isupatches.android.wisefy.core](index.md)/[hasBSSIDMatchingRegex](has-b-s-s-i-d-matching-regex.md)
+
+# hasBSSIDMatchingRegex
+
+[androidJvm]\
+fun [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html).[hasBSSIDMatchingRegex](has-b-s-s-i-d-matching-regex.md)(regex: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
+
+A helper function to determine if the BSSID for the [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html) matches a given regex.
+
+#### Return
+
+Boolean - True if the BSSID of the [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html) matches, otherwise false
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| regex | The regex to check if the BSSID of the access point matches |
+
+[androidJvm]\
+fun [WifiConfiguration](https://developer.android.com/reference/kotlin/android/net/wifi/WifiConfiguration.html).[hasBSSIDMatchingRegex](has-b-s-s-i-d-matching-regex.md)(regex: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
+
+A helper function to determine if the BSSID for the [android.net.wifi.WifiConfiguration](https://developer.android.com/reference/kotlin/android/net/wifi/WifiConfiguration.html) matches a given regex.
+
+#### Return
+
+Boolean - True if the BSSID of the [android.net.wifi.WifiConfiguration](https://developer.android.com/reference/kotlin/android/net/wifi/WifiConfiguration.html) matches, otherwise false
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| regex | The regex to check if the BSSID of the access point matches |
+
+[androidJvm]\
+
+@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
+
+fun [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html).[hasBSSIDMatchingRegex](has-b-s-s-i-d-matching-regex.md)(regex: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
+
+A helper function to determine if the BSSID for the [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html) matches a given regex.
+
+#### Return
+
+Boolean - True if the BSSID of the [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html) matches, otherwise false
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| regex | The regex to check if the BSSID of the access point matches |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core/has-s-s-i-d-matching-regex.md b/dokka/core/core/com.isupatches.android.wisefy.core/has-s-s-i-d-matching-regex.md
new file mode 100644
index 00000000..ce09b0d1
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core/has-s-s-i-d-matching-regex.md
@@ -0,0 +1,81 @@
+//[core](../../index.md)/[com.isupatches.android.wisefy.core](index.md)/[hasSSIDMatchingRegex](has-s-s-i-d-matching-regex.md)
+
+# hasSSIDMatchingRegex
+
+[androidJvm]\
+fun [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html).[hasSSIDMatchingRegex](has-s-s-i-d-matching-regex.md)(regex: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
+
+A helper function to determine if the SSID for the [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html) matches a given regex.
+
+#### Return
+
+Boolean - True if the SSID of the [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html) matches, otherwise false
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| regex | The regex to check if the SSID of the access point matches |
+
+[androidJvm]\
+fun [WifiConfiguration](https://developer.android.com/reference/kotlin/android/net/wifi/WifiConfiguration.html).[hasSSIDMatchingRegex](has-s-s-i-d-matching-regex.md)(regex: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
+
+A helper function to determine if the SSID for the [android.net.wifi.WifiConfiguration](https://developer.android.com/reference/kotlin/android/net/wifi/WifiConfiguration.html) matches a given regex.
+
+#### Return
+
+Boolean - True if the SSID of the [android.net.wifi.WifiConfiguration](https://developer.android.com/reference/kotlin/android/net/wifi/WifiConfiguration.html) matches, otherwise false
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| regex | The regex to check if the SSID of the access point matches |
+
+[androidJvm]\
+
+@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
+
+fun [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html).[hasSSIDMatchingRegex](has-s-s-i-d-matching-regex.md)(regex: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
+
+A helper function to determine if the SSID for the [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html) matches a given regex.
+
+#### Return
+
+Boolean - True if the SSID of the [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html) matches, otherwise false
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| regex | The regex to check if the SSID of the access point matches |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core/index.md b/dokka/core/core/com.isupatches.android.wisefy.core/index.md
new file mode 100644
index 00000000..e8a1afaf
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core/index.md
@@ -0,0 +1,17 @@
+//[core](../../index.md)/[com.isupatches.android.wisefy.core](index.md)
+
+# Package com.isupatches.android.wisefy.core
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [hasBSSIDMatchingRegex](has-b-s-s-i-d-matching-regex.md) | [androidJvm]
fun [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html).[hasBSSIDMatchingRegex](has-b-s-s-i-d-matching-regex.md)(regex: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
A helper function to determine if the BSSID for the [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html) matches a given regex.
[androidJvm]
fun [WifiConfiguration](https://developer.android.com/reference/kotlin/android/net/wifi/WifiConfiguration.html).[hasBSSIDMatchingRegex](has-b-s-s-i-d-matching-regex.md)(regex: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
A helper function to determine if the BSSID for the [android.net.wifi.WifiConfiguration](https://developer.android.com/reference/kotlin/android/net/wifi/WifiConfiguration.html) matches a given regex.
[androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
fun [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html).[hasBSSIDMatchingRegex](has-b-s-s-i-d-matching-regex.md)(regex: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
A helper function to determine if the BSSID for the [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html) matches a given regex. |
+| [hasSSIDMatchingRegex](has-s-s-i-d-matching-regex.md) | [androidJvm]
fun [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html).[hasSSIDMatchingRegex](has-s-s-i-d-matching-regex.md)(regex: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
A helper function to determine if the SSID for the [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html) matches a given regex.
[androidJvm]
fun [WifiConfiguration](https://developer.android.com/reference/kotlin/android/net/wifi/WifiConfiguration.html).[hasSSIDMatchingRegex](has-s-s-i-d-matching-regex.md)(regex: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
A helper function to determine if the SSID for the [android.net.wifi.WifiConfiguration](https://developer.android.com/reference/kotlin/android/net/wifi/WifiConfiguration.html) matches a given regex.
[androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
fun [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html).[hasSSIDMatchingRegex](has-s-s-i-d-matching-regex.md)(regex: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
A helper function to determine if the SSID for the [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html) matches a given regex. |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [bssidWithoutQuotes](bssid-without-quotes.md) | [androidJvm]
val [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html).[bssidWithoutQuotes](bssid-without-quotes.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
A convenience property to expose the BSSID of a [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html) taking into account any SDK level considerations and with stripping unnecessary quotes.
val [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html).[bssidWithoutQuotes](bssid-without-quotes.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
A convenience property to expose the BSSID of a [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html) taking into account any SDK level considerations and with stripping unnecessary quotes.
val [WifiConfiguration](https://developer.android.com/reference/kotlin/android/net/wifi/WifiConfiguration.html).[bssidWithoutQuotes](bssid-without-quotes.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
A convenience property to expose the BSSID of a [android.net.wifi.WifiConfiguration](https://developer.android.com/reference/kotlin/android/net/wifi/WifiConfiguration.html) taking into account any SDK level considerations and with stripping unnecessary quotes.
@get:[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
val [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html).[bssidWithoutQuotes](bssid-without-quotes.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
A convenience property to expose the BSSID of a [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html) taking into account any SDK level considerations and with stripping unnecessary quotes. |
+| [ssidWithoutQuotes](ssid-without-quotes.md) | [androidJvm]
val [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html).[ssidWithoutQuotes](ssid-without-quotes.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
A convenience property to expose the SSID of a [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html) taking into account any SDK level considerations and with stripping unnecessary quotes.
val [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html).[ssidWithoutQuotes](ssid-without-quotes.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
A convenience property to expose the SSID of a [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html) taking into account any SDK level considerations and with stripping unnecessary quotes.
val [WifiConfiguration](https://developer.android.com/reference/kotlin/android/net/wifi/WifiConfiguration.html).[ssidWithoutQuotes](ssid-without-quotes.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
A convenience property to expose the SSID of a [android.net.wifi.WifiConfiguration](https://developer.android.com/reference/kotlin/android/net/wifi/WifiConfiguration.html) taking into account any SDK level considerations and with stripping unnecessary quotes.
@get:[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
val [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html).[ssidWithoutQuotes](ssid-without-quotes.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
A convenience property to expose the SSID of a [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html) taking into account any SDK level considerations and with stripping unnecessary quotes. |
diff --git a/dokka/core/core/com.isupatches.android.wisefy.core/ssid-without-quotes.md b/dokka/core/core/com.isupatches.android.wisefy.core/ssid-without-quotes.md
new file mode 100644
index 00000000..2cd85f9e
--- /dev/null
+++ b/dokka/core/core/com.isupatches.android.wisefy.core/ssid-without-quotes.md
@@ -0,0 +1,74 @@
+//[core](../../index.md)/[com.isupatches.android.wisefy.core](index.md)/[ssidWithoutQuotes](ssid-without-quotes.md)
+
+# ssidWithoutQuotes
+
+[androidJvm]\
+val [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html).[ssidWithoutQuotes](ssid-without-quotes.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
+
+A convenience property to expose the SSID of a [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html) taking into account any SDK level considerations and with stripping unnecessary quotes.
+
+#### Return
+
+String - The value of the [ScanResult](https://developer.android.com/reference/kotlin/android/net/wifi/ScanResult.html)'s SSID with quotes removed
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+[androidJvm]\
+val [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html).[ssidWithoutQuotes](ssid-without-quotes.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
+
+A convenience property to expose the SSID of a [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html) taking into account any SDK level considerations and with stripping unnecessary quotes.
+
+#### Return
+
+String - The value of the [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html)'s SSID with quotes removed
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+[androidJvm]\
+val [WifiConfiguration](https://developer.android.com/reference/kotlin/android/net/wifi/WifiConfiguration.html).[ssidWithoutQuotes](ssid-without-quotes.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
+
+A convenience property to expose the SSID of a [android.net.wifi.WifiConfiguration](https://developer.android.com/reference/kotlin/android/net/wifi/WifiConfiguration.html) taking into account any SDK level considerations and with stripping unnecessary quotes.
+
+#### Return
+
+String - The value of the [android.net.wifi.WifiConfiguration](https://developer.android.com/reference/kotlin/android/net/wifi/WifiConfiguration.html)'s SSID with quotes removed
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+[androidJvm]\
+
+@get:[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
+
+val [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html).[ssidWithoutQuotes](ssid-without-quotes.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
+
+A convenience property to expose the SSID of a [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html) taking into account any SDK level considerations and with stripping unnecessary quotes.
+
+#### Return
+
+String - The value of the [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html)'s SSID with quotes removed
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
diff --git a/dokka/core/index.md b/dokka/core/index.md
new file mode 100644
index 00000000..2a5773ea
--- /dev/null
+++ b/dokka/core/index.md
@@ -0,0 +1,19 @@
+//[core](index.md)
+
+# core
+
+## Packages
+
+| Name |
+|---|
+| [com.isupatches.android.wisefy.core](core/com.isupatches.android.wisefy.core/index.md) |
+| [com.isupatches.android.wisefy.core.assertions](core/com.isupatches.android.wisefy.core.assertions/index.md) |
+| [com.isupatches.android.wisefy.core.base](core/com.isupatches.android.wisefy.core.base/index.md) |
+| [com.isupatches.android.wisefy.core.constants](core/com.isupatches.android.wisefy.core.constants/index.md) |
+| [com.isupatches.android.wisefy.core.coroutines](core/com.isupatches.android.wisefy.core.coroutines/index.md) |
+| [com.isupatches.android.wisefy.core.entities](core/com.isupatches.android.wisefy.core.entities/index.md) |
+| [com.isupatches.android.wisefy.core.exceptions](core/com.isupatches.android.wisefy.core.exceptions/index.md) |
+| [com.isupatches.android.wisefy.core.logging](core/com.isupatches.android.wisefy.core.logging/index.md) |
+| [com.isupatches.android.wisefy.core.util](core/com.isupatches.android.wisefy.core.util/index.md) |
+| [com.isupatches.android.wisefy.core.wifimanager](core/com.isupatches.android.wisefy.core.wifimanager/index.md) |
+| [com.isupatches.android.wisefy.core.wifimanager.legacy](core/com.isupatches.android.wisefy.core.wifimanager.legacy/index.md) |
diff --git a/dokka/index.md b/dokka/index.md
new file mode 100644
index 00000000..0b508e29
--- /dev/null
+++ b/dokka/index.md
@@ -0,0 +1,16 @@
+/
+
+## All modules:
+
+| Name |
+|---|
+| [accesspoints](accesspoints/index.md) | |
+| [addnetwork](addnetwork/index.md) | |
+| [core](core/index.md) | |
+| [ktx](ktx/index.md) | |
+| [networkconnection](networkconnection/index.md) | |
+| [networkinfo](networkinfo/index.md) | |
+| [removenetwork](removenetwork/index.md) | |
+| [savednetworks](savednetworks/index.md) | |
+| [signal](signal/index.md) | |
+| [wifi](wifi/index.md) | |
diff --git a/dokka/ktx/index.md b/dokka/ktx/index.md
new file mode 100644
index 00000000..3146cf63
--- /dev/null
+++ b/dokka/ktx/index.md
@@ -0,0 +1,9 @@
+//[ktx](index.md)
+
+# ktx
+
+## Packages
+
+| Name |
+|---|
+| [com.isupatches.android.wisefy.ktx](ktx/com.isupatches.android.wisefy.ktx/index.md) |
diff --git a/dokka/ktx/ktx/com.isupatches.android.wisefy.ktx/add-network-async.md b/dokka/ktx/ktx/com.isupatches.android.wisefy.ktx/add-network-async.md
new file mode 100644
index 00000000..27b5b3ab
--- /dev/null
+++ b/dokka/ktx/ktx/com.isupatches.android.wisefy.ktx/add-network-async.md
@@ -0,0 +1,55 @@
+//[ktx](../../index.md)/[com.isupatches.android.wisefy.ktx](index.md)/[addNetworkAsync](add-network-async.md)
+
+# addNetworkAsync
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.CHANGE_WIFI_STATE"])
+
+suspend fun WisefyApi.[addNetworkAsync](add-network-async.md)(request: [AddNetworkRequest](../../../addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/index.md)): [AddNetworkResult](../../../addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
+
+A coroutine extension for adding a network.
+
+*Notes*
+
+-
+ Locked by the savedNetworkMutex along with functions for removing, querying, and checking if a network is saved
+
+#### Receiver
+
+WisefyApi
+
+#### Return
+
+AddNetworkResult - The result when adding a network
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.addnetwork.entities.AddNetworkRequest](../../../addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/index.md) | |
+| [com.isupatches.android.wisefy.addnetwork.entities.AddNetworkResult](../../../addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| request | The details of the request to add a network |
+
+## Throws
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.core.exceptions.WisefyException](../../../core/core/com.isupatches.android.wisefy.core.exceptions/-wisefy-exception/index.md) | |
diff --git a/dokka/ktx/ktx/com.isupatches.android.wisefy.ktx/change-network-async.md b/dokka/ktx/ktx/com.isupatches.android.wisefy.ktx/change-network-async.md
new file mode 100644
index 00000000..0df532c1
--- /dev/null
+++ b/dokka/ktx/ktx/com.isupatches.android.wisefy.ktx/change-network-async.md
@@ -0,0 +1,55 @@
+//[ktx](../../index.md)/[com.isupatches.android.wisefy.ktx](index.md)/[changeNetworkAsync](change-network-async.md)
+
+# changeNetworkAsync
+
+[androidJvm]\
+
+@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
+
+suspend fun WisefyApi.[changeNetworkAsync](change-network-async.md)(request: [ChangeNetworkRequest](../../../networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-change-network-request/index.md)): [ChangeNetworkResult](../../../networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-change-network-result/index.md)
+
+A coroutine extension for changing the current network.
+
+*Notes*
+
+-
+ Locked by the networkConnectionMutex along with functions for connecting, disconnecting, getting the device's current network connection status, and getting the device's current network
+
+#### Receiver
+
+WisefyApi
+
+#### Return
+
+ChangeNetworkResult - The result when changing the current network
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkconnection.entities.ChangeNetworkRequest](../../../networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-change-network-request/index.md) | |
+| [com.isupatches.android.wisefy.networkconnection.entities.ChangeNetworkResult](../../../networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-change-network-result/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| request | The details of the request to change the current network |
+
+## Throws
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.core.exceptions.WisefyException](../../../core/core/com.isupatches.android.wisefy.core.exceptions/-wisefy-exception/index.md) | |
diff --git a/dokka/ktx/ktx/com.isupatches.android.wisefy.ktx/disable-wifi-async.md b/dokka/ktx/ktx/com.isupatches.android.wisefy.ktx/disable-wifi-async.md
new file mode 100644
index 00000000..4b8edb87
--- /dev/null
+++ b/dokka/ktx/ktx/com.isupatches.android.wisefy.ktx/disable-wifi-async.md
@@ -0,0 +1,57 @@
+//[ktx](../../index.md)/[com.isupatches.android.wisefy.ktx](index.md)/[disableWifiAsync](disable-wifi-async.md)
+
+# disableWifiAsync
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.CHANGE_WIFI_STATE")
+
+suspend fun WisefyApi.[disableWifiAsync](disable-wifi-async.md)(request: [DisableWifiRequest](../../../wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-request/index.md)): [DisableWifiResult](../../../wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/index.md)
+
+A coroutine extension for disabling wifi.
+
+*NOTES*
+
+-
+ Locked by the wifiMutex along with functions for enabling wifi and checking if wifi is enabled
+-
+ Will open the wifi settings screen on Android Q / SDK 29 or higher
+
+#### Receiver
+
+WisefyApi
+
+#### Return
+
+DisableWifiResult - The result of disabling wifi
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.wifi.entities.DisableWifiRequest](../../../wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-request/index.md) | |
+| [com.isupatches.android.wisefy.wifi.entities.DisableWifiResult](../../../wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| request | The details of the request to disable wifi |
+
+## Throws
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.core.exceptions.WisefyException](../../../core/core/com.isupatches.android.wisefy.core.exceptions/-wisefy-exception/index.md) | |
diff --git a/dokka/ktx/ktx/com.isupatches.android.wisefy.ktx/enable-wifi-async.md b/dokka/ktx/ktx/com.isupatches.android.wisefy.ktx/enable-wifi-async.md
new file mode 100644
index 00000000..444f893d
--- /dev/null
+++ b/dokka/ktx/ktx/com.isupatches.android.wisefy.ktx/enable-wifi-async.md
@@ -0,0 +1,57 @@
+//[ktx](../../index.md)/[com.isupatches.android.wisefy.ktx](index.md)/[enableWifiAsync](enable-wifi-async.md)
+
+# enableWifiAsync
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.CHANGE_WIFI_STATE")
+
+suspend fun WisefyApi.[enableWifiAsync](enable-wifi-async.md)(request: [EnableWifiRequest](../../../wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-request/index.md)): [EnableWifiResult](../../../wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/index.md)
+
+A coroutine extension for enabling wifi.
+
+*NOTES*
+
+-
+ Locked by the wifiMutex along with functions for disabling wifi and checking if wifi is enabled
+-
+ Will open the wifi settings screen on Android Q / SDK 29 or higher
+
+#### Receiver
+
+WisefyApi
+
+#### Return
+
+EnableWifiResult - The result of enabling wifi
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.wifi.entities.EnableWifiRequest](../../../wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-request/index.md) | |
+| [com.isupatches.android.wisefy.wifi.entities.EnableWifiResult](../../../wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| request | The details of the request to enable wifi |
+
+## Throws
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.core.exceptions.WisefyException](../../../core/core/com.isupatches.android.wisefy.core.exceptions/-wisefy-exception/index.md) | |
diff --git a/dokka/ktx/ktx/com.isupatches.android.wisefy.ktx/get-access-points-async.md b/dokka/ktx/ktx/com.isupatches.android.wisefy.ktx/get-access-points-async.md
new file mode 100644
index 00000000..4aa391e3
--- /dev/null
+++ b/dokka/ktx/ktx/com.isupatches.android.wisefy.ktx/get-access-points-async.md
@@ -0,0 +1,50 @@
+//[ktx](../../index.md)/[com.isupatches.android.wisefy.ktx](index.md)/[getAccessPointsAsync](get-access-points-async.md)
+
+# getAccessPointsAsync
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.ACCESS_FINE_LOCATION")
+
+suspend fun WisefyApi.[getAccessPointsAsync](get-access-points-async.md)(query: [GetAccessPointsQuery](../../../accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/index.md) = GetAccessPointsQuery.All()): [GetAccessPointsResult](../../../accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-result/index.md)
+
+A coroutine extension for getting all nearby access points.
+
+#### Receiver
+
+WisefyApi
+
+#### Return
+
+GetNearbyAccessPointsResult - The result of getting all nearby access points
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.accesspoints.entities.GetAccessPointsQuery](../../../accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/index.md) | |
+| [com.isupatches.android.wisefy.accesspoints.entities.GetAccessPointsResult](../../../accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-result/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| query | The details of the query to get all nearby access points |
+
+## Throws
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.core.exceptions.WisefyException](../../../core/core/com.isupatches.android.wisefy.core.exceptions/-wisefy-exception/index.md) | |
diff --git a/dokka/ktx/ktx/com.isupatches.android.wisefy.ktx/get-current-network-async.md b/dokka/ktx/ktx/com.isupatches.android.wisefy.ktx/get-current-network-async.md
new file mode 100644
index 00000000..e56f5c57
--- /dev/null
+++ b/dokka/ktx/ktx/com.isupatches.android.wisefy.ktx/get-current-network-async.md
@@ -0,0 +1,55 @@
+//[ktx](../../index.md)/[com.isupatches.android.wisefy.ktx](index.md)/[getCurrentNetworkAsync](get-current-network-async.md)
+
+# getCurrentNetworkAsync
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.ACCESS_NETWORK_STATE")
+
+suspend fun WisefyApi.[getCurrentNetworkAsync](get-current-network-async.md)(query: [GetCurrentNetworkQuery](../../../networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-current-network-query/index.md) = GetCurrentNetworkQuery()): [GetCurrentNetworkResult](../../../networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-current-network-result/index.md)
+
+A coroutine extension for getting the device's current network.
+
+*Notes*
+
+-
+ Locked by the networkConnectionMutex along with functions for connecting, disconnecting, changing, and getting the device's current network connection status
+
+#### Receiver
+
+WisefyApi
+
+#### Return
+
+GetCurrentNetworkResult - The result when getting device's current network
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkinfo.entities.GetCurrentNetworkQuery](../../../networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-current-network-query/index.md) | |
+| [com.isupatches.android.wisefy.networkinfo.entities.GetCurrentNetworkResult](../../../networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-current-network-result/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| query | The details of the query to get the device's current network |
+
+## Throws
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.core.exceptions.WisefyException](../../../core/core/com.isupatches.android.wisefy.core.exceptions/-wisefy-exception/index.md) | |
diff --git a/dokka/ktx/ktx/com.isupatches.android.wisefy.ktx/get-network-connection-status-async.md b/dokka/ktx/ktx/com.isupatches.android.wisefy.ktx/get-network-connection-status-async.md
new file mode 100644
index 00000000..fc02e6a1
--- /dev/null
+++ b/dokka/ktx/ktx/com.isupatches.android.wisefy.ktx/get-network-connection-status-async.md
@@ -0,0 +1,55 @@
+//[ktx](../../index.md)/[com.isupatches.android.wisefy.ktx](index.md)/[getNetworkConnectionStatusAsync](get-network-connection-status-async.md)
+
+# getNetworkConnectionStatusAsync
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.ACCESS_NETWORK_STATE")
+
+suspend fun WisefyApi.[getNetworkConnectionStatusAsync](get-network-connection-status-async.md)(query: [GetNetworkConnectionStatusQuery](../../../networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-network-connection-status-query/index.md) = GetNetworkConnectionStatusQuery()): [GetNetworkConnectionStatusResult](../../../networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-network-connection-status-result/index.md)
+
+A coroutine extension for getting the device's current network connection status.
+
+*Notes*
+
+-
+ Locked by the networkConnectionMutex along with functions for connecting, disconnecting, changing, and getting the device's current network
+
+#### Receiver
+
+WisefyApi
+
+#### Return
+
+GetNetworkConnectionStatusResult - The result when getting device's current network connection status
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkinfo.entities.GetNetworkConnectionStatusQuery](../../../networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-network-connection-status-query/index.md) | |
+| [com.isupatches.android.wisefy.networkinfo.entities.GetNetworkConnectionStatusResult](../../../networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-network-connection-status-result/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| query | The details of the query to get the device's current network connection status |
+
+## Throws
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.core.exceptions.WisefyException](../../../core/core/com.isupatches.android.wisefy.core.exceptions/-wisefy-exception/index.md) | |
diff --git a/dokka/ktx/ktx/com.isupatches.android.wisefy.ktx/get-saved-networks-async.md b/dokka/ktx/ktx/com.isupatches.android.wisefy.ktx/get-saved-networks-async.md
new file mode 100644
index 00000000..d5ed4ff7
--- /dev/null
+++ b/dokka/ktx/ktx/com.isupatches.android.wisefy.ktx/get-saved-networks-async.md
@@ -0,0 +1,55 @@
+//[ktx](../../index.md)/[com.isupatches.android.wisefy.ktx](index.md)/[getSavedNetworksAsync](get-saved-networks-async.md)
+
+# getSavedNetworksAsync
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_WIFI_STATE"])
+
+suspend fun WisefyApi.[getSavedNetworksAsync](get-saved-networks-async.md)(query: [GetSavedNetworksQuery](../../../savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/index.md) = GetSavedNetworksQuery.All): [GetSavedNetworksResult](../../../savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-result/index.md)
+
+A coroutine extension for getting all of the saved networks on a device.
+
+*Notes*
+
+-
+ Locked by the savedNetworkMutex along with functions for adding, removing, and checking if a network is saved
+
+#### Receiver
+
+WisefyApi
+
+#### Return
+
+GetSavedNetworksResult - The result of getting the saved networks on the device
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.savednetworks.entities.GetSavedNetworksQuery](../../../savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/index.md) | |
+| [com.isupatches.android.wisefy.savednetworks.entities.GetSavedNetworksResult](../../../savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-result/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| query | The details of the query to get all saved networks on the device |
+
+## Throws
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.core.exceptions.WisefyException](../../../core/core/com.isupatches.android.wisefy.core.exceptions/-wisefy-exception/index.md) | |
diff --git a/dokka/ktx/ktx/com.isupatches.android.wisefy.ktx/index.md b/dokka/ktx/ktx/com.isupatches.android.wisefy.ktx/index.md
new file mode 100644
index 00000000..fa634454
--- /dev/null
+++ b/dokka/ktx/ktx/com.isupatches.android.wisefy.ktx/index.md
@@ -0,0 +1,19 @@
+//[ktx](../../index.md)/[com.isupatches.android.wisefy.ktx](index.md)
+
+# Package com.isupatches.android.wisefy.ktx
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [addNetworkAsync](add-network-async.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.CHANGE_WIFI_STATE"])
suspend fun WisefyApi.[addNetworkAsync](add-network-async.md)(request: [AddNetworkRequest](../../../addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/index.md)): [AddNetworkResult](../../../addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md)
A coroutine extension for adding a network. |
+| [changeNetworkAsync](change-network-async.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
suspend fun WisefyApi.[changeNetworkAsync](change-network-async.md)(request: [ChangeNetworkRequest](../../../networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-change-network-request/index.md)): [ChangeNetworkResult](../../../networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-change-network-result/index.md)
A coroutine extension for changing the current network. |
+| [disableWifiAsync](disable-wifi-async.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.CHANGE_WIFI_STATE")
suspend fun WisefyApi.[disableWifiAsync](disable-wifi-async.md)(request: [DisableWifiRequest](../../../wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-request/index.md)): [DisableWifiResult](../../../wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/index.md)
A coroutine extension for disabling wifi. |
+| [enableWifiAsync](enable-wifi-async.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.CHANGE_WIFI_STATE")
suspend fun WisefyApi.[enableWifiAsync](enable-wifi-async.md)(request: [EnableWifiRequest](../../../wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-request/index.md)): [EnableWifiResult](../../../wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/index.md)
A coroutine extension for enabling wifi. |
+| [getAccessPointsAsync](get-access-points-async.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.ACCESS_FINE_LOCATION")
suspend fun WisefyApi.[getAccessPointsAsync](get-access-points-async.md)(query: [GetAccessPointsQuery](../../../accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/index.md) = GetAccessPointsQuery.All()): [GetAccessPointsResult](../../../accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-result/index.md)
A coroutine extension for getting all nearby access points. |
+| [getCurrentNetworkAsync](get-current-network-async.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.ACCESS_NETWORK_STATE")
suspend fun WisefyApi.[getCurrentNetworkAsync](get-current-network-async.md)(query: [GetCurrentNetworkQuery](../../../networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-current-network-query/index.md) = GetCurrentNetworkQuery()): [GetCurrentNetworkResult](../../../networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-current-network-result/index.md)
A coroutine extension for getting the device's current network. |
+| [getNetworkConnectionStatusAsync](get-network-connection-status-async.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.ACCESS_NETWORK_STATE")
suspend fun WisefyApi.[getNetworkConnectionStatusAsync](get-network-connection-status-async.md)(query: [GetNetworkConnectionStatusQuery](../../../networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-network-connection-status-query/index.md) = GetNetworkConnectionStatusQuery()): [GetNetworkConnectionStatusResult](../../../networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-network-connection-status-result/index.md)
A coroutine extension for getting the device's current network connection status. |
+| [getSavedNetworksAsync](get-saved-networks-async.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_WIFI_STATE"])
suspend fun WisefyApi.[getSavedNetworksAsync](get-saved-networks-async.md)(query: [GetSavedNetworksQuery](../../../savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/index.md) = GetSavedNetworksQuery.All): [GetSavedNetworksResult](../../../savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-result/index.md)
A coroutine extension for getting all of the saved networks on a device. |
+| [isNetworkSavedAsync](is-network-saved-async.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_WIFI_STATE"])
suspend fun WisefyApi.[isNetworkSavedAsync](is-network-saved-async.md)(query: [IsNetworkSavedQuery](../../../savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-query/index.md)): [IsNetworkSavedResult](../../../savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-result/index.md)
A coroutine extension for checking if a network is saved on a device. |
+| [isWifiEnabledAsync](is-wifi-enabled-async.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.ACCESS_WIFI_STATE")
suspend fun WisefyApi.[isWifiEnabledAsync](is-wifi-enabled-async.md)(query: [IsWifiEnabledQuery](../../../wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-is-wifi-enabled-query/index.md) = IsWifiEnabledQuery()): [IsWifiEnabledResult](../../../wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-is-wifi-enabled-result/index.md)
A coroutine extension for checking the current state of wifi. |
+| [removeNetworkAsync](remove-network-async.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE"])
suspend fun WisefyApi.[removeNetworkAsync](remove-network-async.md)(request: [RemoveNetworkRequest](../../../removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-request/index.md)): [RemoveNetworkResult](../../../removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/index.md)
A coroutine extension for removing a network. |
diff --git a/dokka/ktx/ktx/com.isupatches.android.wisefy.ktx/is-network-saved-async.md b/dokka/ktx/ktx/com.isupatches.android.wisefy.ktx/is-network-saved-async.md
new file mode 100644
index 00000000..da4838ad
--- /dev/null
+++ b/dokka/ktx/ktx/com.isupatches.android.wisefy.ktx/is-network-saved-async.md
@@ -0,0 +1,55 @@
+//[ktx](../../index.md)/[com.isupatches.android.wisefy.ktx](index.md)/[isNetworkSavedAsync](is-network-saved-async.md)
+
+# isNetworkSavedAsync
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_WIFI_STATE"])
+
+suspend fun WisefyApi.[isNetworkSavedAsync](is-network-saved-async.md)(query: [IsNetworkSavedQuery](../../../savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-query/index.md)): [IsNetworkSavedResult](../../../savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-result/index.md)
+
+A coroutine extension for checking if a network is saved on a device.
+
+*Notes*
+
+-
+ Locked by the savedNetworkMutex along with functions for adding, removing, and querying for saved networks
+
+#### Receiver
+
+WisefyApi
+
+#### Return
+
+IsNetworkSavedResult - The result of checking if a network is saved on the device.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.savednetworks.entities.IsNetworkSavedQuery](../../../savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-query/index.md) | |
+| [com.isupatches.android.wisefy.savednetworks.entities.IsNetworkSavedResult](../../../savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-result/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| query | The details of the request to check if a network is saved on a device |
+
+## Throws
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.core.exceptions.WisefyException](../../../core/core/com.isupatches.android.wisefy.core.exceptions/-wisefy-exception/index.md) | |
diff --git a/dokka/ktx/ktx/com.isupatches.android.wisefy.ktx/is-wifi-enabled-async.md b/dokka/ktx/ktx/com.isupatches.android.wisefy.ktx/is-wifi-enabled-async.md
new file mode 100644
index 00000000..0a071d3e
--- /dev/null
+++ b/dokka/ktx/ktx/com.isupatches.android.wisefy.ktx/is-wifi-enabled-async.md
@@ -0,0 +1,55 @@
+//[ktx](../../index.md)/[com.isupatches.android.wisefy.ktx](index.md)/[isWifiEnabledAsync](is-wifi-enabled-async.md)
+
+# isWifiEnabledAsync
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.ACCESS_WIFI_STATE")
+
+suspend fun WisefyApi.[isWifiEnabledAsync](is-wifi-enabled-async.md)(query: [IsWifiEnabledQuery](../../../wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-is-wifi-enabled-query/index.md) = IsWifiEnabledQuery()): [IsWifiEnabledResult](../../../wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-is-wifi-enabled-result/index.md)
+
+A coroutine extension for checking the current state of wifi.
+
+*NOTES*
+
+-
+ Locked by the wifiMutex along with functions for enabling and disabling wifi
+
+#### Receiver
+
+WisefyApi
+
+#### Return
+
+IsWifiEnabledResult - The result of checking if wifi is enabled
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.wifi.entities.IsWifiEnabledQuery](../../../wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-is-wifi-enabled-query/index.md) | |
+| [com.isupatches.android.wisefy.wifi.entities.IsWifiEnabledResult](../../../wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-is-wifi-enabled-result/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| query | The details of the query to check the current state of wifi |
+
+## Throws
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.core.exceptions.WisefyException](../../../core/core/com.isupatches.android.wisefy.core.exceptions/-wisefy-exception/index.md) | |
diff --git a/dokka/ktx/ktx/com.isupatches.android.wisefy.ktx/remove-network-async.md b/dokka/ktx/ktx/com.isupatches.android.wisefy.ktx/remove-network-async.md
new file mode 100644
index 00000000..722109a8
--- /dev/null
+++ b/dokka/ktx/ktx/com.isupatches.android.wisefy.ktx/remove-network-async.md
@@ -0,0 +1,55 @@
+//[ktx](../../index.md)/[com.isupatches.android.wisefy.ktx](index.md)/[removeNetworkAsync](remove-network-async.md)
+
+# removeNetworkAsync
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE"])
+
+suspend fun WisefyApi.[removeNetworkAsync](remove-network-async.md)(request: [RemoveNetworkRequest](../../../removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-request/index.md)): [RemoveNetworkResult](../../../removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/index.md)
+
+A coroutine extension for removing a network.
+
+*Notes*
+
+-
+ Locked by the savedNetworkMutex along with functions for adding, querying, and checking if a network is saved
+
+#### Receiver
+
+WisefyApi
+
+#### Return
+
+RemoveNetworkResult - The result of removing a network
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkRequest](../../../removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-request/index.md) | |
+| [com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkResult](../../../removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| request | The details of the request to remove a network |
+
+## Throws
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.core.exceptions.WisefyException](../../../core/core/com.isupatches.android.wisefy.core.exceptions/-wisefy-exception/index.md) | |
diff --git a/dokka/networkconnection/index.md b/dokka/networkconnection/index.md
new file mode 100644
index 00000000..10c49182
--- /dev/null
+++ b/dokka/networkconnection/index.md
@@ -0,0 +1,11 @@
+//[networkconnection](index.md)
+
+# networkconnection
+
+## Packages
+
+| Name |
+|---|
+| [com.isupatches.android.wisefy.networkconnection](networkconnection/com.isupatches.android.wisefy.networkconnection/index.md) |
+| [com.isupatches.android.wisefy.networkconnection.callbacks](networkconnection/com.isupatches.android.wisefy.networkconnection.callbacks/index.md) |
+| [com.isupatches.android.wisefy.networkconnection.entities](networkconnection/com.isupatches.android.wisefy.networkconnection.entities/index.md) |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.callbacks/-change-network-callbacks/index.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.callbacks/-change-network-callbacks/index.md
new file mode 100644
index 00000000..eb841981
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.callbacks/-change-network-callbacks/index.md
@@ -0,0 +1,32 @@
+//[networkconnection](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.callbacks](../index.md)/[ChangeNetworkCallbacks](index.md)
+
+# ChangeNetworkCallbacks
+
+[androidJvm]\
+interface [ChangeNetworkCallbacks](index.md) : [BaseWisefyCallbacks](../../../../core/core/com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/index.md)
+
+A set of callbacks for changing the current network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.core.base.BaseWisefyCallbacks](../../../../core/core/com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/index.md) | |
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [onFailureChangingNetworks](on-failure-changing-networks.md) | [androidJvm]
abstract fun [onFailureChangingNetworks](on-failure-changing-networks.md)(result: [ChangeNetworkResult.Failure](../../com.isupatches.android.wisefy.networkconnection.entities/-change-network-result/-failure/index.md))
A callback triggered when there is a failure changing the current network. |
+| [onSuccessChangingNetworks](on-success-changing-networks.md) | [androidJvm]
abstract fun [onSuccessChangingNetworks](on-success-changing-networks.md)(result: [ChangeNetworkResult.Success](../../com.isupatches.android.wisefy.networkconnection.entities/-change-network-result/-success/index.md))
A callback triggered when there is a success while changing the current network. |
+| [onWisefyAsyncFailure](../-disconnect-from-current-network-callbacks/index.md#-2014443064%2FFunctions%2F1257109763) | [androidJvm]
abstract fun [onWisefyAsyncFailure](../-disconnect-from-current-network-callbacks/index.md#-2014443064%2FFunctions%2F1257109763)(exception: [WisefyException](../../../../core/core/com.isupatches.android.wisefy.core.exceptions/-wisefy-exception/index.md)) |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.callbacks/-change-network-callbacks/on-failure-changing-networks.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.callbacks/-change-network-callbacks/on-failure-changing-networks.md
new file mode 100644
index 00000000..0c9bb8da
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.callbacks/-change-network-callbacks/on-failure-changing-networks.md
@@ -0,0 +1,32 @@
+//[networkconnection](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.callbacks](../index.md)/[ChangeNetworkCallbacks](index.md)/[onFailureChangingNetworks](on-failure-changing-networks.md)
+
+# onFailureChangingNetworks
+
+[androidJvm]\
+abstract fun [onFailureChangingNetworks](on-failure-changing-networks.md)(result: [ChangeNetworkResult.Failure](../../com.isupatches.android.wisefy.networkconnection.entities/-change-network-result/-failure/index.md))
+
+A callback triggered when there is a failure changing the current network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkconnection.entities.ChangeNetworkResult.Failure](../../com.isupatches.android.wisefy.networkconnection.entities/-change-network-result/-failure/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| result | The details from the failure while attempting to change the current network |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.callbacks/-change-network-callbacks/on-success-changing-networks.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.callbacks/-change-network-callbacks/on-success-changing-networks.md
new file mode 100644
index 00000000..85b7de38
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.callbacks/-change-network-callbacks/on-success-changing-networks.md
@@ -0,0 +1,32 @@
+//[networkconnection](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.callbacks](../index.md)/[ChangeNetworkCallbacks](index.md)/[onSuccessChangingNetworks](on-success-changing-networks.md)
+
+# onSuccessChangingNetworks
+
+[androidJvm]\
+abstract fun [onSuccessChangingNetworks](on-success-changing-networks.md)(result: [ChangeNetworkResult.Success](../../com.isupatches.android.wisefy.networkconnection.entities/-change-network-result/-success/index.md))
+
+A callback triggered when there is a success while changing the current network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkconnection.entities.ChangeNetworkResult.Success](../../com.isupatches.android.wisefy.networkconnection.entities/-change-network-result/-success/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| result | The details from the successful attempt changing the current network |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.callbacks/-connect-to-network-callbacks/index.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.callbacks/-connect-to-network-callbacks/index.md
new file mode 100644
index 00000000..caad3bda
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.callbacks/-connect-to-network-callbacks/index.md
@@ -0,0 +1,32 @@
+//[networkconnection](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.callbacks](../index.md)/[ConnectToNetworkCallbacks](index.md)
+
+# ConnectToNetworkCallbacks
+
+[androidJvm]\
+interface [ConnectToNetworkCallbacks](index.md) : [BaseWisefyCallbacks](../../../../core/core/com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/index.md)
+
+A set of callbacks for connecting to a network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.core.base.BaseWisefyCallbacks](../../../../core/core/com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/index.md) | |
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [onFailureConnectingToNetwork](on-failure-connecting-to-network.md) | [androidJvm]
abstract fun [onFailureConnectingToNetwork](on-failure-connecting-to-network.md)(result: [ConnectToNetworkResult.Failure](../../com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/-failure/index.md))
A callback triggered when there is a failure connecting to a network. |
+| [onSuccessConnectingToNetwork](on-success-connecting-to-network.md) | [androidJvm]
abstract fun [onSuccessConnectingToNetwork](on-success-connecting-to-network.md)(result: [ConnectToNetworkResult.Success](../../com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/-success/index.md))
A callback triggered when there is a success while connecting to a network. |
+| [onWisefyAsyncFailure](../-disconnect-from-current-network-callbacks/index.md#-2014443064%2FFunctions%2F1257109763) | [androidJvm]
abstract fun [onWisefyAsyncFailure](../-disconnect-from-current-network-callbacks/index.md#-2014443064%2FFunctions%2F1257109763)(exception: [WisefyException](../../../../core/core/com.isupatches.android.wisefy.core.exceptions/-wisefy-exception/index.md)) |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.callbacks/-connect-to-network-callbacks/on-failure-connecting-to-network.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.callbacks/-connect-to-network-callbacks/on-failure-connecting-to-network.md
new file mode 100644
index 00000000..e45d932e
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.callbacks/-connect-to-network-callbacks/on-failure-connecting-to-network.md
@@ -0,0 +1,32 @@
+//[networkconnection](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.callbacks](../index.md)/[ConnectToNetworkCallbacks](index.md)/[onFailureConnectingToNetwork](on-failure-connecting-to-network.md)
+
+# onFailureConnectingToNetwork
+
+[androidJvm]\
+abstract fun [onFailureConnectingToNetwork](on-failure-connecting-to-network.md)(result: [ConnectToNetworkResult.Failure](../../com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/-failure/index.md))
+
+A callback triggered when there is a failure connecting to a network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkconnection.entities.ConnectToNetworkResult.Failure](../../com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/-failure/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| result | The details from the failure while attempting to connect to a network |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.callbacks/-connect-to-network-callbacks/on-success-connecting-to-network.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.callbacks/-connect-to-network-callbacks/on-success-connecting-to-network.md
new file mode 100644
index 00000000..41205075
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.callbacks/-connect-to-network-callbacks/on-success-connecting-to-network.md
@@ -0,0 +1,32 @@
+//[networkconnection](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.callbacks](../index.md)/[ConnectToNetworkCallbacks](index.md)/[onSuccessConnectingToNetwork](on-success-connecting-to-network.md)
+
+# onSuccessConnectingToNetwork
+
+[androidJvm]\
+abstract fun [onSuccessConnectingToNetwork](on-success-connecting-to-network.md)(result: [ConnectToNetworkResult.Success](../../com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/-success/index.md))
+
+A callback triggered when there is a success while connecting to a network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkconnection.entities.ConnectToNetworkResult.Success](../../com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/-success/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| result | The details from the successful attempt connecting to a network |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.callbacks/-disconnect-from-current-network-callbacks/index.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.callbacks/-disconnect-from-current-network-callbacks/index.md
new file mode 100644
index 00000000..0e9680e8
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.callbacks/-disconnect-from-current-network-callbacks/index.md
@@ -0,0 +1,32 @@
+//[networkconnection](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.callbacks](../index.md)/[DisconnectFromCurrentNetworkCallbacks](index.md)
+
+# DisconnectFromCurrentNetworkCallbacks
+
+[androidJvm]\
+interface [DisconnectFromCurrentNetworkCallbacks](index.md) : [BaseWisefyCallbacks](../../../../core/core/com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/index.md)
+
+A set of callbacks for disconnecting from the current network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.core.base.BaseWisefyCallbacks](../../../../core/core/com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/index.md) | |
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [onFailureDisconnectingFromCurrentNetwork](on-failure-disconnecting-from-current-network.md) | [androidJvm]
abstract fun [onFailureDisconnectingFromCurrentNetwork](on-failure-disconnecting-from-current-network.md)(result: [DisconnectFromCurrentNetworkResult.Failure](../../com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-result/-failure/index.md))
A callback triggered when there is a failure disconnecting from the current network. |
+| [onSuccessDisconnectingFromCurrentNetwork](on-success-disconnecting-from-current-network.md) | [androidJvm]
abstract fun [onSuccessDisconnectingFromCurrentNetwork](on-success-disconnecting-from-current-network.md)(result: [DisconnectFromCurrentNetworkResult.Success](../../com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-result/-success/index.md))
A callback triggered when there is a success while disconnecting from the current network. |
+| [onWisefyAsyncFailure](index.md#-2014443064%2FFunctions%2F1257109763) | [androidJvm]
abstract fun [onWisefyAsyncFailure](index.md#-2014443064%2FFunctions%2F1257109763)(exception: [WisefyException](../../../../core/core/com.isupatches.android.wisefy.core.exceptions/-wisefy-exception/index.md)) |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.callbacks/-disconnect-from-current-network-callbacks/on-failure-disconnecting-from-current-network.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.callbacks/-disconnect-from-current-network-callbacks/on-failure-disconnecting-from-current-network.md
new file mode 100644
index 00000000..74f01585
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.callbacks/-disconnect-from-current-network-callbacks/on-failure-disconnecting-from-current-network.md
@@ -0,0 +1,32 @@
+//[networkconnection](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.callbacks](../index.md)/[DisconnectFromCurrentNetworkCallbacks](index.md)/[onFailureDisconnectingFromCurrentNetwork](on-failure-disconnecting-from-current-network.md)
+
+# onFailureDisconnectingFromCurrentNetwork
+
+[androidJvm]\
+abstract fun [onFailureDisconnectingFromCurrentNetwork](on-failure-disconnecting-from-current-network.md)(result: [DisconnectFromCurrentNetworkResult.Failure](../../com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-result/-failure/index.md))
+
+A callback triggered when there is a failure disconnecting from the current network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkconnection.entities.DisconnectFromCurrentNetworkResult.Failure](../../com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-result/-failure/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| result | The details from the failure while attempting to disconnect from the current network |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.callbacks/-disconnect-from-current-network-callbacks/on-success-disconnecting-from-current-network.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.callbacks/-disconnect-from-current-network-callbacks/on-success-disconnecting-from-current-network.md
new file mode 100644
index 00000000..cc3a691c
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.callbacks/-disconnect-from-current-network-callbacks/on-success-disconnecting-from-current-network.md
@@ -0,0 +1,32 @@
+//[networkconnection](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.callbacks](../index.md)/[DisconnectFromCurrentNetworkCallbacks](index.md)/[onSuccessDisconnectingFromCurrentNetwork](on-success-disconnecting-from-current-network.md)
+
+# onSuccessDisconnectingFromCurrentNetwork
+
+[androidJvm]\
+abstract fun [onSuccessDisconnectingFromCurrentNetwork](on-success-disconnecting-from-current-network.md)(result: [DisconnectFromCurrentNetworkResult.Success](../../com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-result/-success/index.md))
+
+A callback triggered when there is a success while disconnecting from the current network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkconnection.entities.DisconnectFromCurrentNetworkResult.Success](../../com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-result/-success/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| result | The details from the successful attempt disconnecting from the current network |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.callbacks/index.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.callbacks/index.md
new file mode 100644
index 00000000..d3bc6735
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.callbacks/index.md
@@ -0,0 +1,11 @@
+//[networkconnection](../../index.md)/[com.isupatches.android.wisefy.networkconnection.callbacks](index.md)
+
+# Package com.isupatches.android.wisefy.networkconnection.callbacks
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [ChangeNetworkCallbacks](-change-network-callbacks/index.md) | [androidJvm]
interface [ChangeNetworkCallbacks](-change-network-callbacks/index.md) : [BaseWisefyCallbacks](../../../core/core/com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/index.md)
A set of callbacks for changing the current network. |
+| [ConnectToNetworkCallbacks](-connect-to-network-callbacks/index.md) | [androidJvm]
interface [ConnectToNetworkCallbacks](-connect-to-network-callbacks/index.md) : [BaseWisefyCallbacks](../../../core/core/com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/index.md)
A set of callbacks for connecting to a network. |
+| [DisconnectFromCurrentNetworkCallbacks](-disconnect-from-current-network-callbacks/index.md) | [androidJvm]
interface [DisconnectFromCurrentNetworkCallbacks](-disconnect-from-current-network-callbacks/index.md) : [BaseWisefyCallbacks](../../../core/core/com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/index.md)
A set of callbacks for disconnecting from the current network. |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-change-network-request/-change-network-request.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-change-network-request/-change-network-request.md
new file mode 100644
index 00000000..e2a1b30b
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-change-network-request/-change-network-request.md
@@ -0,0 +1,6 @@
+//[networkconnection](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../index.md)/[ChangeNetworkRequest](index.md)/[ChangeNetworkRequest](-change-network-request.md)
+
+# ChangeNetworkRequest
+
+[androidJvm]\
+fun [ChangeNetworkRequest](-change-network-request.md)(context: [Context](https://developer.android.com/reference/kotlin/android/content/Context.html))
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-change-network-request/context.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-change-network-request/context.md
new file mode 100644
index 00000000..4fbf742a
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-change-network-request/context.md
@@ -0,0 +1,6 @@
+//[networkconnection](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../index.md)/[ChangeNetworkRequest](index.md)/[context](context.md)
+
+# context
+
+[androidJvm]\
+val [context](context.md): [Context](https://developer.android.com/reference/kotlin/android/content/Context.html)
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-change-network-request/index.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-change-network-request/index.md
new file mode 100644
index 00000000..96d05a81
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-change-network-request/index.md
@@ -0,0 +1,28 @@
+//[networkconnection](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../index.md)/[ChangeNetworkRequest](index.md)
+
+# ChangeNetworkRequest
+
+[androidJvm]\
+data class [ChangeNetworkRequest](index.md)(val context: [Context](https://developer.android.com/reference/kotlin/android/content/Context.html))
+
+A representation of a request to change the device's current network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Constructors
+
+| | |
+|---|---|
+| [ChangeNetworkRequest](-change-network-request.md) | [androidJvm]
fun [ChangeNetworkRequest](-change-network-request.md)(context: [Context](https://developer.android.com/reference/kotlin/android/content/Context.html)) |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [context](context.md) | [androidJvm]
val [context](context.md): [Context](https://developer.android.com/reference/kotlin/android/content/Context.html)
The context used to open the internet connectivity panel |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-change-network-result/-failure/-assertion/-assertion.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-change-network-result/-failure/-assertion/-assertion.md
new file mode 100644
index 00000000..2518a872
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-change-network-result/-failure/-assertion/-assertion.md
@@ -0,0 +1,6 @@
+//[networkconnection](../../../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../../../index.md)/[ChangeNetworkResult](../../index.md)/[Failure](../index.md)/[Assertion](index.md)/[Assertion](-assertion.md)
+
+# Assertion
+
+[androidJvm]\
+fun [Assertion](-assertion.md)(message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html))
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-change-network-result/-failure/-assertion/index.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-change-network-result/-failure/-assertion/index.md
new file mode 100644
index 00000000..a2d8af9b
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-change-network-result/-failure/-assertion/index.md
@@ -0,0 +1,38 @@
+//[networkconnection](../../../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../../../index.md)/[ChangeNetworkResult](../../index.md)/[Failure](../index.md)/[Assertion](index.md)
+
+# Assertion
+
+[androidJvm]\
+data class [Assertion](index.md)(val message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) : [ChangeNetworkResult.Failure](../index.md)
+
+A representation of a failure changing the device's current network due to hitting an unexpected path causing an assertion.
+
+*NOTE* This is for developer specific feedback and should NEVER actually be hit unless there is a bug.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkconnection.entities.ChangeNetworkResult.Failure](../index.md) | |
+
+## Constructors
+
+| | |
+|---|---|
+| [Assertion](-assertion.md) | [androidJvm]
fun [Assertion](-assertion.md)(message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [message](message.md) | [androidJvm]
val [message](message.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
A text description describing the assertion error hit |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-change-network-result/-failure/-assertion/message.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-change-network-result/-failure/-assertion/message.md
new file mode 100644
index 00000000..f54d0693
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-change-network-result/-failure/-assertion/message.md
@@ -0,0 +1,6 @@
+//[networkconnection](../../../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../../../index.md)/[ChangeNetworkResult](../../index.md)/[Failure](../index.md)/[Assertion](index.md)/[message](message.md)
+
+# message
+
+[androidJvm]\
+val [message](message.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-change-network-result/-failure/index.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-change-network-result/-failure/index.md
new file mode 100644
index 00000000..9bab6fd5
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-change-network-result/-failure/index.md
@@ -0,0 +1,36 @@
+//[networkconnection](../../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../../index.md)/[ChangeNetworkResult](../index.md)/[Failure](index.md)
+
+# Failure
+
+[androidJvm]\
+sealed class [Failure](index.md) : [ChangeNetworkResult](../index.md)
+
+A set of classes and objects that are representations of a failure while changing the device's current network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkconnection.entities.ChangeNetworkResult](../index.md) | |
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [Assertion](-assertion/index.md) | [androidJvm]
data class [Assertion](-assertion/index.md)(val message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) : [ChangeNetworkResult.Failure](index.md)
A representation of a failure changing the device's current network due to hitting an unexpected path causing an assertion. |
+
+## Inheritors
+
+| Name |
+|---|
+| [Assertion](-assertion/index.md) |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-change-network-result/-success/-internet-connectivity-panel-opened/index.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-change-network-result/-success/-internet-connectivity-panel-opened/index.md
new file mode 100644
index 00000000..e4d773ec
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-change-network-result/-success/-internet-connectivity-panel-opened/index.md
@@ -0,0 +1,24 @@
+//[networkconnection](../../../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../../../index.md)/[ChangeNetworkResult](../../index.md)/[Success](../index.md)/[InternetConnectivityPanelOpened](index.md)
+
+# InternetConnectivityPanelOpened
+
+[androidJvm]\
+object [InternetConnectivityPanelOpened](index.md) : [ChangeNetworkResult.Success](../index.md)
+
+A representation of a success changing the device's current network by opening the internet connectivity panel.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkconnection.entities.ChangeNetworkResult.Success](../index.md) | |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-change-network-result/-success/index.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-change-network-result/-success/index.md
new file mode 100644
index 00000000..2d79352a
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-change-network-result/-success/index.md
@@ -0,0 +1,36 @@
+//[networkconnection](../../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../../index.md)/[ChangeNetworkResult](../index.md)/[Success](index.md)
+
+# Success
+
+[androidJvm]\
+sealed class [Success](index.md) : [ChangeNetworkResult](../index.md)
+
+A set of classes and objects that are representations of a success while changing the device's current network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkconnection.entities.ChangeNetworkResult](../index.md) | |
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [InternetConnectivityPanelOpened](-internet-connectivity-panel-opened/index.md) | [androidJvm]
object [InternetConnectivityPanelOpened](-internet-connectivity-panel-opened/index.md) : [ChangeNetworkResult.Success](index.md)
A representation of a success changing the device's current network by opening the internet connectivity panel. |
+
+## Inheritors
+
+| Name |
+|---|
+| [InternetConnectivityPanelOpened](-internet-connectivity-panel-opened/index.md) |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-change-network-result/index.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-change-network-result/index.md
new file mode 100644
index 00000000..69f0871b
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-change-network-result/index.md
@@ -0,0 +1,30 @@
+//[networkconnection](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../index.md)/[ChangeNetworkResult](index.md)
+
+# ChangeNetworkResult
+
+[androidJvm]\
+sealed class [ChangeNetworkResult](index.md)
+
+A set of classes and objects that are representations of a result while changing the device's current network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [Failure](-failure/index.md) | [androidJvm]
sealed class [Failure](-failure/index.md) : [ChangeNetworkResult](index.md)
A set of classes and objects that are representations of a failure while changing the device's current network. |
+| [Success](-success/index.md) | [androidJvm]
sealed class [Success](-success/index.md) : [ChangeNetworkResult](index.md)
A set of classes and objects that are representations of a success while changing the device's current network. |
+
+## Inheritors
+
+| Name |
+|---|
+| [Success](-success/index.md) |
+| [Failure](-failure/index.md) |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/-b-s-s-i-d/-b-s-s-i-d.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/-b-s-s-i-d/-b-s-s-i-d.md
new file mode 100644
index 00000000..41f60996
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/-b-s-s-i-d/-b-s-s-i-d.md
@@ -0,0 +1,6 @@
+//[networkconnection](../../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../../index.md)/[ConnectToNetworkRequest](../index.md)/[BSSID](index.md)/[BSSID](-b-s-s-i-d.md)
+
+# BSSID
+
+[androidJvm]\
+fun [BSSID](-b-s-s-i-d.md)(bssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html))
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/-b-s-s-i-d/bssid.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/-b-s-s-i-d/bssid.md
new file mode 100644
index 00000000..91a776fa
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/-b-s-s-i-d/bssid.md
@@ -0,0 +1,6 @@
+//[networkconnection](../../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../../index.md)/[ConnectToNetworkRequest](../index.md)/[BSSID](index.md)/[bssid](bssid.md)
+
+# bssid
+
+[androidJvm]\
+val [bssid](bssid.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/-b-s-s-i-d/index.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/-b-s-s-i-d/index.md
new file mode 100644
index 00000000..e1632453
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/-b-s-s-i-d/index.md
@@ -0,0 +1,37 @@
+//[networkconnection](../../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../../index.md)/[ConnectToNetworkRequest](../index.md)/[BSSID](index.md)
+
+# BSSID
+
+[androidJvm]\
+data class [BSSID](index.md)(val bssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), val timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)) : [ConnectToNetworkRequest](../index.md)
+
+A representation of a request to connect to a network by BSSID.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkconnection.entities.ConnectToNetworkRequest](../index.md) | |
+
+## Constructors
+
+| | |
+|---|---|
+| [BSSID](-b-s-s-i-d.md) | [androidJvm]
fun [BSSID](-b-s-s-i-d.md)(bssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)) |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [bssid](bssid.md) | [androidJvm]
val [bssid](bssid.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
The BSSID of the network to connect to or disconnect from |
+| [timeoutInMillis](timeout-in-millis.md) | [androidJvm]
open override val [timeoutInMillis](timeout-in-millis.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
The timeout in milliseconds to wait for a connection to the network |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/-b-s-s-i-d/timeout-in-millis.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/-b-s-s-i-d/timeout-in-millis.md
new file mode 100644
index 00000000..600dd679
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/-b-s-s-i-d/timeout-in-millis.md
@@ -0,0 +1,6 @@
+//[networkconnection](../../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../../index.md)/[ConnectToNetworkRequest](../index.md)/[BSSID](index.md)/[timeoutInMillis](timeout-in-millis.md)
+
+# timeoutInMillis
+
+[androidJvm]\
+open override val [timeoutInMillis](timeout-in-millis.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/-s-s-i-d/-s-s-i-d.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/-s-s-i-d/-s-s-i-d.md
new file mode 100644
index 00000000..7622114d
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/-s-s-i-d/-s-s-i-d.md
@@ -0,0 +1,6 @@
+//[networkconnection](../../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../../index.md)/[ConnectToNetworkRequest](../index.md)/[SSID](index.md)/[SSID](-s-s-i-d.md)
+
+# SSID
+
+[androidJvm]\
+fun [SSID](-s-s-i-d.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html))
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/-s-s-i-d/index.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/-s-s-i-d/index.md
new file mode 100644
index 00000000..4f91fa2c
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/-s-s-i-d/index.md
@@ -0,0 +1,37 @@
+//[networkconnection](../../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../../index.md)/[ConnectToNetworkRequest](../index.md)/[SSID](index.md)
+
+# SSID
+
+[androidJvm]\
+data class [SSID](index.md)(val ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), val timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)) : [ConnectToNetworkRequest](../index.md)
+
+A representation of a request to connect to a network by SSID.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkconnection.entities.ConnectToNetworkRequest](../index.md) | |
+
+## Constructors
+
+| | |
+|---|---|
+| [SSID](-s-s-i-d.md) | [androidJvm]
fun [SSID](-s-s-i-d.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)) |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [ssid](ssid.md) | [androidJvm]
val [ssid](ssid.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
The SSID of the network to connect to or disconnect from |
+| [timeoutInMillis](timeout-in-millis.md) | [androidJvm]
open override val [timeoutInMillis](timeout-in-millis.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
The timeout in milliseconds to wait for a connection to the network |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/-s-s-i-d/ssid.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/-s-s-i-d/ssid.md
new file mode 100644
index 00000000..381bba77
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/-s-s-i-d/ssid.md
@@ -0,0 +1,6 @@
+//[networkconnection](../../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../../index.md)/[ConnectToNetworkRequest](../index.md)/[SSID](index.md)/[ssid](ssid.md)
+
+# ssid
+
+[androidJvm]\
+val [ssid](ssid.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/-s-s-i-d/timeout-in-millis.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/-s-s-i-d/timeout-in-millis.md
new file mode 100644
index 00000000..54f08c17
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/-s-s-i-d/timeout-in-millis.md
@@ -0,0 +1,6 @@
+//[networkconnection](../../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../../index.md)/[ConnectToNetworkRequest](../index.md)/[SSID](index.md)/[timeoutInMillis](timeout-in-millis.md)
+
+# timeoutInMillis
+
+[androidJvm]\
+open override val [timeoutInMillis](timeout-in-millis.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/index.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/index.md
new file mode 100644
index 00000000..69af9f6e
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/index.md
@@ -0,0 +1,36 @@
+//[networkconnection](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../index.md)/[ConnectToNetworkRequest](index.md)
+
+# ConnectToNetworkRequest
+
+[androidJvm]\
+sealed class [ConnectToNetworkRequest](index.md)
+
+A set of classes and objects that are used in requests to connect to a network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [BSSID](-b-s-s-i-d/index.md) | [androidJvm]
data class [BSSID](-b-s-s-i-d/index.md)(val bssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), val timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)) : [ConnectToNetworkRequest](index.md)
A representation of a request to connect to a network by BSSID. |
+| [SSID](-s-s-i-d/index.md) | [androidJvm]
data class [SSID](-s-s-i-d/index.md)(val ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), val timeoutInMillis: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)) : [ConnectToNetworkRequest](index.md)
A representation of a request to connect to a network by SSID. |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [timeoutInMillis](timeout-in-millis.md) | [androidJvm]
open val [timeoutInMillis](timeout-in-millis.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
The timeout in milliseconds to wait for a connection to the network |
+
+## Inheritors
+
+| Name |
+|---|
+| [SSID](-s-s-i-d/index.md) |
+| [BSSID](-b-s-s-i-d/index.md) |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/timeout-in-millis.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/timeout-in-millis.md
new file mode 100644
index 00000000..cdea258d
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/timeout-in-millis.md
@@ -0,0 +1,6 @@
+//[networkconnection](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../index.md)/[ConnectToNetworkRequest](index.md)/[timeoutInMillis](timeout-in-millis.md)
+
+# timeoutInMillis
+
+[androidJvm]\
+open val [timeoutInMillis](timeout-in-millis.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/-failure/-assertion/-assertion.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/-failure/-assertion/-assertion.md
new file mode 100644
index 00000000..49263912
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/-failure/-assertion/-assertion.md
@@ -0,0 +1,6 @@
+//[networkconnection](../../../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../../../index.md)/[ConnectToNetworkResult](../../index.md)/[Failure](../index.md)/[Assertion](index.md)/[Assertion](-assertion.md)
+
+# Assertion
+
+[androidJvm]\
+fun [Assertion](-assertion.md)(message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html))
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/-failure/-assertion/index.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/-failure/-assertion/index.md
new file mode 100644
index 00000000..dbab4f0b
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/-failure/-assertion/index.md
@@ -0,0 +1,38 @@
+//[networkconnection](../../../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../../../index.md)/[ConnectToNetworkResult](../../index.md)/[Failure](../index.md)/[Assertion](index.md)
+
+# Assertion
+
+[androidJvm]\
+data class [Assertion](index.md)(val message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) : [ConnectToNetworkResult.Failure](../index.md)
+
+A representation of a failure connecting to a network due to hitting an unexpected path causing an assertion.
+
+*NOTE* This is for developer specific feedback and should NEVER actually be hit unless there is a bug.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkconnection.entities.ConnectToNetworkResult.Failure](../index.md) | |
+
+## Constructors
+
+| | |
+|---|---|
+| [Assertion](-assertion.md) | [androidJvm]
fun [Assertion](-assertion.md)(message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [message](message.md) | [androidJvm]
val [message](message.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
A text description describing the assertion error hit |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/-failure/-assertion/message.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/-failure/-assertion/message.md
new file mode 100644
index 00000000..d5f06793
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/-failure/-assertion/message.md
@@ -0,0 +1,6 @@
+//[networkconnection](../../../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../../../index.md)/[ConnectToNetworkResult](../../index.md)/[Failure](../index.md)/[Assertion](index.md)/[message](message.md)
+
+# message
+
+[androidJvm]\
+val [message](message.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/-failure/-false/index.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/-failure/-false/index.md
new file mode 100644
index 00000000..ce7c0936
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/-failure/-false/index.md
@@ -0,0 +1,24 @@
+//[networkconnection](../../../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../../../index.md)/[ConnectToNetworkResult](../../index.md)/[Failure](../index.md)/[False](index.md)
+
+# False
+
+[androidJvm]\
+object [False](index.md) : [ConnectToNetworkResult.Failure](../index.md)
+
+A data representation for when there is a failure connecting to a network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkconnection.entities.ConnectToNetworkResult.Failure](../index.md) | |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/-failure/-network-not-found/index.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/-failure/-network-not-found/index.md
new file mode 100644
index 00000000..b67c0379
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/-failure/-network-not-found/index.md
@@ -0,0 +1,24 @@
+//[networkconnection](../../../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../../../index.md)/[ConnectToNetworkResult](../../index.md)/[Failure](../index.md)/[NetworkNotFound](index.md)
+
+# NetworkNotFound
+
+[androidJvm]\
+object [NetworkNotFound](index.md) : [ConnectToNetworkResult.Failure](../index.md)
+
+A data representation for when there is no network found to connect to.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkconnection.entities.ConnectToNetworkResult.Failure](../index.md) | |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/-failure/index.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/-failure/index.md
new file mode 100644
index 00000000..637e8f1f
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/-failure/index.md
@@ -0,0 +1,40 @@
+//[networkconnection](../../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../../index.md)/[ConnectToNetworkResult](../index.md)/[Failure](index.md)
+
+# Failure
+
+[androidJvm]\
+sealed class [Failure](index.md) : [ConnectToNetworkResult](../index.md)
+
+A set of classes that are data representations of a failure when connecting to a network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkconnection.entities.ConnectToNetworkResult](../index.md) | |
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [Assertion](-assertion/index.md) | [androidJvm]
data class [Assertion](-assertion/index.md)(val message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) : [ConnectToNetworkResult.Failure](index.md)
A representation of a failure connecting to a network due to hitting an unexpected path causing an assertion. |
+| [False](-false/index.md) | [androidJvm]
object [False](-false/index.md) : [ConnectToNetworkResult.Failure](index.md)
A data representation for when there is a failure connecting to a network. |
+| [NetworkNotFound](-network-not-found/index.md) | [androidJvm]
object [NetworkNotFound](-network-not-found/index.md) : [ConnectToNetworkResult.Failure](index.md)
A data representation for when there is no network found to connect to. |
+
+## Inheritors
+
+| Name |
+|---|
+| [False](-false/index.md) |
+| [NetworkNotFound](-network-not-found/index.md) |
+| [Assertion](-assertion/index.md) |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/-success/-true/index.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/-success/-true/index.md
new file mode 100644
index 00000000..46973a67
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/-success/-true/index.md
@@ -0,0 +1,24 @@
+//[networkconnection](../../../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../../../index.md)/[ConnectToNetworkResult](../../index.md)/[Success](../index.md)/[True](index.md)
+
+# True
+
+[androidJvm]\
+object [True](index.md) : [ConnectToNetworkResult.Success](../index.md)
+
+A data representation for when there is a success connecting to a network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkconnection.entities.ConnectToNetworkResult.Success](../index.md) | |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/-success/index.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/-success/index.md
new file mode 100644
index 00000000..15c26d58
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/-success/index.md
@@ -0,0 +1,36 @@
+//[networkconnection](../../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../../index.md)/[ConnectToNetworkResult](../index.md)/[Success](index.md)
+
+# Success
+
+[androidJvm]\
+sealed class [Success](index.md) : [ConnectToNetworkResult](../index.md)
+
+A set of classes and objects that are data representations of a success when connecting to a network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkconnection.entities.ConnectToNetworkResult](../index.md) | |
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [True](-true/index.md) | [androidJvm]
object [True](-true/index.md) : [ConnectToNetworkResult.Success](index.md)
A data representation for when there is a success connecting to a network. |
+
+## Inheritors
+
+| Name |
+|---|
+| [True](-true/index.md) |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/index.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/index.md
new file mode 100644
index 00000000..4b93d318
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/index.md
@@ -0,0 +1,30 @@
+//[networkconnection](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../index.md)/[ConnectToNetworkResult](index.md)
+
+# ConnectToNetworkResult
+
+[androidJvm]\
+sealed class [ConnectToNetworkResult](index.md)
+
+A set of classes and objects that are data representations of a result when connecting to a network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [Failure](-failure/index.md) | [androidJvm]
sealed class [Failure](-failure/index.md) : [ConnectToNetworkResult](index.md)
A set of classes that are data representations of a failure when connecting to a network. |
+| [Success](-success/index.md) | [androidJvm]
sealed class [Success](-success/index.md) : [ConnectToNetworkResult](index.md)
A set of classes and objects that are data representations of a success when connecting to a network. |
+
+## Inheritors
+
+| Name |
+|---|
+| [Success](-success/index.md) |
+| [Failure](-failure/index.md) |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-request/-disconnect-from-current-network-request.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-request/-disconnect-from-current-network-request.md
new file mode 100644
index 00000000..0b94a406
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-request/-disconnect-from-current-network-request.md
@@ -0,0 +1,6 @@
+//[networkconnection](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../index.md)/[DisconnectFromCurrentNetworkRequest](index.md)/[DisconnectFromCurrentNetworkRequest](-disconnect-from-current-network-request.md)
+
+# DisconnectFromCurrentNetworkRequest
+
+[androidJvm]\
+fun [DisconnectFromCurrentNetworkRequest](-disconnect-from-current-network-request.md)()
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-request/index.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-request/index.md
new file mode 100644
index 00000000..280a7fbc
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-request/index.md
@@ -0,0 +1,22 @@
+//[networkconnection](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../index.md)/[DisconnectFromCurrentNetworkRequest](index.md)
+
+# DisconnectFromCurrentNetworkRequest
+
+[androidJvm]\
+class [DisconnectFromCurrentNetworkRequest](index.md)
+
+A representation of a request to disconnect from the current network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Constructors
+
+| | |
+|---|---|
+| [DisconnectFromCurrentNetworkRequest](-disconnect-from-current-network-request.md) | [androidJvm]
fun [DisconnectFromCurrentNetworkRequest](-disconnect-from-current-network-request.md)() |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-result/-failure/-assertion/-assertion.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-result/-failure/-assertion/-assertion.md
new file mode 100644
index 00000000..5ef21ddb
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-result/-failure/-assertion/-assertion.md
@@ -0,0 +1,6 @@
+//[networkconnection](../../../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../../../index.md)/[DisconnectFromCurrentNetworkResult](../../index.md)/[Failure](../index.md)/[Assertion](index.md)/[Assertion](-assertion.md)
+
+# Assertion
+
+[androidJvm]\
+fun [Assertion](-assertion.md)(message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html))
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-result/-failure/-assertion/index.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-result/-failure/-assertion/index.md
new file mode 100644
index 00000000..5d4db5b6
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-result/-failure/-assertion/index.md
@@ -0,0 +1,38 @@
+//[networkconnection](../../../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../../../index.md)/[DisconnectFromCurrentNetworkResult](../../index.md)/[Failure](../index.md)/[Assertion](index.md)
+
+# Assertion
+
+[androidJvm]\
+data class [Assertion](index.md)(val message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) : [DisconnectFromCurrentNetworkResult.Failure](../index.md)
+
+A representation of a failure disconnecting from the current network due to hitting an unexpected path causing an assertion.
+
+*NOTE* This is for developer specific feedback and should NEVER actually be hit unless there is a bug.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkconnection.entities.DisconnectFromCurrentNetworkResult.Failure](../index.md) | |
+
+## Constructors
+
+| | |
+|---|---|
+| [Assertion](-assertion.md) | [androidJvm]
fun [Assertion](-assertion.md)(message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [message](message.md) | [androidJvm]
val [message](message.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
A text description describing the assertion error hit |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-result/-failure/-assertion/message.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-result/-failure/-assertion/message.md
new file mode 100644
index 00000000..87dba73c
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-result/-failure/-assertion/message.md
@@ -0,0 +1,6 @@
+//[networkconnection](../../../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../../../index.md)/[DisconnectFromCurrentNetworkResult](../../index.md)/[Failure](../index.md)/[Assertion](index.md)/[message](message.md)
+
+# message
+
+[androidJvm]\
+val [message](message.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-result/-failure/-false/index.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-result/-failure/-false/index.md
new file mode 100644
index 00000000..8f870659
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-result/-failure/-false/index.md
@@ -0,0 +1,24 @@
+//[networkconnection](../../../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../../../index.md)/[DisconnectFromCurrentNetworkResult](../../index.md)/[Failure](../index.md)/[False](index.md)
+
+# False
+
+[androidJvm]\
+object [False](index.md) : [DisconnectFromCurrentNetworkResult.Failure](../index.md)
+
+A data representation for when there is a failure disconnecting from the current network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkconnection.entities.DisconnectFromCurrentNetworkResult.Failure](../index.md) | |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-result/-failure/index.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-result/-failure/index.md
new file mode 100644
index 00000000..45154022
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-result/-failure/index.md
@@ -0,0 +1,38 @@
+//[networkconnection](../../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../../index.md)/[DisconnectFromCurrentNetworkResult](../index.md)/[Failure](index.md)
+
+# Failure
+
+[androidJvm]\
+sealed class [Failure](index.md) : [DisconnectFromCurrentNetworkResult](../index.md)
+
+A set of classes and objects that are representations of a failure when disconnecting from the current network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkconnection.entities.DisconnectFromCurrentNetworkResult](../index.md) | |
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [Assertion](-assertion/index.md) | [androidJvm]
data class [Assertion](-assertion/index.md)(val message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) : [DisconnectFromCurrentNetworkResult.Failure](index.md)
A representation of a failure disconnecting from the current network due to hitting an unexpected path causing an assertion. |
+| [False](-false/index.md) | [androidJvm]
object [False](-false/index.md) : [DisconnectFromCurrentNetworkResult.Failure](index.md)
A data representation for when there is a failure disconnecting from the current network. |
+
+## Inheritors
+
+| Name |
+|---|
+| [False](-false/index.md) |
+| [Assertion](-assertion/index.md) |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-result/-success/-true/index.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-result/-success/-true/index.md
new file mode 100644
index 00000000..cb524840
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-result/-success/-true/index.md
@@ -0,0 +1,24 @@
+//[networkconnection](../../../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../../../index.md)/[DisconnectFromCurrentNetworkResult](../../index.md)/[Success](../index.md)/[True](index.md)
+
+# True
+
+[androidJvm]\
+object [True](index.md) : [DisconnectFromCurrentNetworkResult.Success](../index.md)
+
+A data representation for when there is a success disconnecting from the current network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkconnection.entities.DisconnectFromCurrentNetworkResult.Success](../index.md) | |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-result/-success/index.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-result/-success/index.md
new file mode 100644
index 00000000..5c3fc5c4
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-result/-success/index.md
@@ -0,0 +1,36 @@
+//[networkconnection](../../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../../index.md)/[DisconnectFromCurrentNetworkResult](../index.md)/[Success](index.md)
+
+# Success
+
+[androidJvm]\
+sealed class [Success](index.md) : [DisconnectFromCurrentNetworkResult](../index.md)
+
+A set of classes objects that are representations of a success when disconnecting from the current network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkconnection.entities.DisconnectFromCurrentNetworkResult](../index.md) | |
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [True](-true/index.md) | [androidJvm]
object [True](-true/index.md) : [DisconnectFromCurrentNetworkResult.Success](index.md)
A data representation for when there is a success disconnecting from the current network. |
+
+## Inheritors
+
+| Name |
+|---|
+| [True](-true/index.md) |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-result/index.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-result/index.md
new file mode 100644
index 00000000..94d84e2e
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-result/index.md
@@ -0,0 +1,30 @@
+//[networkconnection](../../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](../index.md)/[DisconnectFromCurrentNetworkResult](index.md)
+
+# DisconnectFromCurrentNetworkResult
+
+[androidJvm]\
+sealed class [DisconnectFromCurrentNetworkResult](index.md)
+
+A set of classes and objects that are representations of a result when disconnecting from the current network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [Failure](-failure/index.md) | [androidJvm]
sealed class [Failure](-failure/index.md) : [DisconnectFromCurrentNetworkResult](index.md)
A set of classes and objects that are representations of a failure when disconnecting from the current network. |
+| [Success](-success/index.md) | [androidJvm]
sealed class [Success](-success/index.md) : [DisconnectFromCurrentNetworkResult](index.md)
A set of classes objects that are representations of a success when disconnecting from the current network. |
+
+## Inheritors
+
+| Name |
+|---|
+| [Success](-success/index.md) |
+| [Failure](-failure/index.md) |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/index.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/index.md
new file mode 100644
index 00000000..1a5ec8ce
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/index.md
@@ -0,0 +1,14 @@
+//[networkconnection](../../index.md)/[com.isupatches.android.wisefy.networkconnection.entities](index.md)
+
+# Package com.isupatches.android.wisefy.networkconnection.entities
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [ChangeNetworkRequest](-change-network-request/index.md) | [androidJvm]
data class [ChangeNetworkRequest](-change-network-request/index.md)(val context: [Context](https://developer.android.com/reference/kotlin/android/content/Context.html))
A representation of a request to change the device's current network. |
+| [ChangeNetworkResult](-change-network-result/index.md) | [androidJvm]
sealed class [ChangeNetworkResult](-change-network-result/index.md)
A set of classes and objects that are representations of a result while changing the device's current network. |
+| [ConnectToNetworkRequest](-connect-to-network-request/index.md) | [androidJvm]
sealed class [ConnectToNetworkRequest](-connect-to-network-request/index.md)
A set of classes and objects that are used in requests to connect to a network. |
+| [ConnectToNetworkResult](-connect-to-network-result/index.md) | [androidJvm]
sealed class [ConnectToNetworkResult](-connect-to-network-result/index.md)
A set of classes and objects that are data representations of a result when connecting to a network. |
+| [DisconnectFromCurrentNetworkRequest](-disconnect-from-current-network-request/index.md) | [androidJvm]
class [DisconnectFromCurrentNetworkRequest](-disconnect-from-current-network-request/index.md)
A representation of a request to disconnect from the current network. |
+| [DisconnectFromCurrentNetworkResult](-disconnect-from-current-network-result/index.md) | [androidJvm]
sealed class [DisconnectFromCurrentNetworkResult](-disconnect-from-current-network-result/index.md)
A set of classes and objects that are representations of a result when disconnecting from the current network. |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-network-connection-api-async/change-network.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-network-connection-api-async/change-network.md
new file mode 100644
index 00000000..dd98ec60
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-network-connection-api-async/change-network.md
@@ -0,0 +1,44 @@
+//[networkconnection](../../../index.md)/[com.isupatches.android.wisefy.networkconnection](../index.md)/[NetworkConnectionApiAsync](index.md)/[changeNetwork](change-network.md)
+
+# changeNetwork
+
+[androidJvm]\
+
+@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
+
+abstract fun [changeNetwork](change-network.md)(request: [ChangeNetworkRequest](../../com.isupatches.android.wisefy.networkconnection.entities/-change-network-request/index.md), callbacks: [ChangeNetworkCallbacks](../../com.isupatches.android.wisefy.networkconnection.callbacks/-change-network-callbacks/index.md)?)
+
+An asynchronous API to change the network the device is connected to.
+
+*Notes*
+
+-
+ Locked by the networkConnectionMutex along with functions for connecting, disconnecting, getting the device's current network connection status, and getting the device's current network
+-
+ Will open up the internet connectivity panel
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkconnection.callbacks.ChangeNetworkCallbacks](../../com.isupatches.android.wisefy.networkconnection.callbacks/-change-network-callbacks/index.md) | |
+| [com.isupatches.android.wisefy.networkconnection.entities.ChangeNetworkRequest](../../com.isupatches.android.wisefy.networkconnection.entities/-change-network-request/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| request | The details of the request to change the device's network |
+| callbacks | The callbacks for changing the device's network |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-network-connection-api-async/connect-to-network.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-network-connection-api-async/connect-to-network.md
new file mode 100644
index 00000000..53631ec6
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-network-connection-api-async/connect-to-network.md
@@ -0,0 +1,42 @@
+//[networkconnection](../../../index.md)/[com.isupatches.android.wisefy.networkconnection](../index.md)/[NetworkConnectionApiAsync](index.md)/[connectToNetwork](connect-to-network.md)
+
+# connectToNetwork
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_WIFI_STATE", "android.permission.ACCESS_NETWORK_STATE"])
+
+~~abstract~~ ~~fun~~ [~~connectToNetwork~~](connect-to-network.md)~~(~~request: [ConnectToNetworkRequest](../../com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/index.md), callbacks: [ConnectToNetworkCallbacks](../../com.isupatches.android.wisefy.networkconnection.callbacks/-connect-to-network-callbacks/index.md)?~~)~~
+
+An asynchronous API to connect to a network.
+
+*Notes*
+
+-
+ Locked by the networkConnectionMutex along with functions for disconnecting, changing, getting the device's current network connection status, and getting the device's current network
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkconnection.callbacks.ConnectToNetworkCallbacks](../../com.isupatches.android.wisefy.networkconnection.callbacks/-connect-to-network-callbacks/index.md) | |
+| [com.isupatches.android.wisefy.networkconnection.entities.ConnectToNetworkRequest](../../com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| request | The details of the request to connect to a network |
+| callbacks | The callbacks for connecting to a network |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-network-connection-api-async/disconnect-from-current-network.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-network-connection-api-async/disconnect-from-current-network.md
new file mode 100644
index 00000000..6d676e42
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-network-connection-api-async/disconnect-from-current-network.md
@@ -0,0 +1,39 @@
+//[networkconnection](../../../index.md)/[com.isupatches.android.wisefy.networkconnection](../index.md)/[NetworkConnectionApiAsync](index.md)/[disconnectFromCurrentNetwork](disconnect-from-current-network.md)
+
+# disconnectFromCurrentNetwork
+
+[androidJvm]\
+~~abstract~~ ~~fun~~ [~~disconnectFromCurrentNetwork~~](disconnect-from-current-network.md)~~(~~request: [DisconnectFromCurrentNetworkRequest](../../com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-request/index.md), callbacks: [DisconnectFromCurrentNetworkCallbacks](../../com.isupatches.android.wisefy.networkconnection.callbacks/-disconnect-from-current-network-callbacks/index.md)?~~)~~
+
+An asynchronous API to disconnect from the current network.
+
+*Notes*
+
+-
+ Locked by the networkConnectionMutex along with functions for connecting, changing, getting the device's current network connection status, and getting the device's current network
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkconnection.entities.DisconnectFromCurrentNetworkRequest](../../com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-request/index.md) | |
+| [com.isupatches.android.wisefy.networkconnection.callbacks.DisconnectFromCurrentNetworkCallbacks](../../com.isupatches.android.wisefy.networkconnection.callbacks/-disconnect-from-current-network-callbacks/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| request | The details of the request to disconnect from the current network |
+| callbacks | The callbacks for disconnecting from a network |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-network-connection-api-async/index.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-network-connection-api-async/index.md
new file mode 100644
index 00000000..5a49a941
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-network-connection-api-async/index.md
@@ -0,0 +1,30 @@
+//[networkconnection](../../../index.md)/[com.isupatches.android.wisefy.networkconnection](../index.md)/[NetworkConnectionApiAsync](index.md)
+
+# NetworkConnectionApiAsync
+
+[androidJvm]\
+interface [NetworkConnectionApiAsync](index.md)
+
+A set of asynchronous APIs for connecting to and disconnecting from a network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [changeNetwork](change-network.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
abstract fun [changeNetwork](change-network.md)(request: [ChangeNetworkRequest](../../com.isupatches.android.wisefy.networkconnection.entities/-change-network-request/index.md), callbacks: [ChangeNetworkCallbacks](../../com.isupatches.android.wisefy.networkconnection.callbacks/-change-network-callbacks/index.md)?)
An asynchronous API to change the network the device is connected to. |
+| [connectToNetwork](connect-to-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_WIFI_STATE", "android.permission.ACCESS_NETWORK_STATE"])
~~abstract~~ ~~fun~~ [~~connectToNetwork~~](connect-to-network.md)~~(~~request: [ConnectToNetworkRequest](../../com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/index.md), callbacks: [ConnectToNetworkCallbacks](../../com.isupatches.android.wisefy.networkconnection.callbacks/-connect-to-network-callbacks/index.md)?~~)~~
An asynchronous API to connect to a network. |
+| [disconnectFromCurrentNetwork](disconnect-from-current-network.md) | [androidJvm]
~~abstract~~ ~~fun~~ [~~disconnectFromCurrentNetwork~~](disconnect-from-current-network.md)~~(~~request: [DisconnectFromCurrentNetworkRequest](../../com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-request/index.md), callbacks: [DisconnectFromCurrentNetworkCallbacks](../../com.isupatches.android.wisefy.networkconnection.callbacks/-disconnect-from-current-network-callbacks/index.md)?~~)~~
An asynchronous API to disconnect from the current network. |
+
+## Inheritors
+
+| Name |
+|---|
+| [NetworkConnectionDelegate](../-network-connection-delegate/index.md) |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-network-connection-api/change-network.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-network-connection-api/change-network.md
new file mode 100644
index 00000000..dbcc506f
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-network-connection-api/change-network.md
@@ -0,0 +1,45 @@
+//[networkconnection](../../../index.md)/[com.isupatches.android.wisefy.networkconnection](../index.md)/[NetworkConnectionApi](index.md)/[changeNetwork](change-network.md)
+
+# changeNetwork
+
+[androidJvm]\
+
+@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
+
+abstract fun [changeNetwork](change-network.md)(request: [ChangeNetworkRequest](../../com.isupatches.android.wisefy.networkconnection.entities/-change-network-request/index.md)): [ChangeNetworkResult](../../com.isupatches.android.wisefy.networkconnection.entities/-change-network-result/index.md)
+
+An synchronous API to change the network the device is connected to.
+
+*Notes*
+
+-
+ Will open up the internet connectivity panel
+
+#### Return
+
+ChangeNetworkResult - The result of changing the device's network
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkconnection.entities.ChangeNetworkRequest](../../com.isupatches.android.wisefy.networkconnection.entities/-change-network-request/index.md) | |
+| [com.isupatches.android.wisefy.networkconnection.entities.ChangeNetworkResult](../../com.isupatches.android.wisefy.networkconnection.entities/-change-network-result/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| request | The details of the request to change the device's network |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-network-connection-api/connect-to-network.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-network-connection-api/connect-to-network.md
new file mode 100644
index 00000000..cf62da5c
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-network-connection-api/connect-to-network.md
@@ -0,0 +1,40 @@
+//[networkconnection](../../../index.md)/[com.isupatches.android.wisefy.networkconnection](../index.md)/[NetworkConnectionApi](index.md)/[connectToNetwork](connect-to-network.md)
+
+# connectToNetwork
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_WIFI_STATE", "android.permission.ACCESS_NETWORK_STATE"])
+
+~~abstract~~ ~~fun~~ [~~connectToNetwork~~](connect-to-network.md)~~(~~request: [ConnectToNetworkRequest](../../com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/index.md)~~)~~~~:~~ [ConnectToNetworkResult](../../com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/index.md)
+
+A synchronous API to connect to a network.
+
+#### Return
+
+ConnectToNetworkResult - The result of connecting to a network
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkconnection.entities.ConnectToNetworkRequest](../../com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/index.md) | |
+| [com.isupatches.android.wisefy.networkconnection.entities.ConnectToNetworkResult](../../com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| request | The details of the request to connect to a network |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-network-connection-api/disconnect-from-current-network.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-network-connection-api/disconnect-from-current-network.md
new file mode 100644
index 00000000..359846b0
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-network-connection-api/disconnect-from-current-network.md
@@ -0,0 +1,29 @@
+//[networkconnection](../../../index.md)/[com.isupatches.android.wisefy.networkconnection](../index.md)/[NetworkConnectionApi](index.md)/[disconnectFromCurrentNetwork](disconnect-from-current-network.md)
+
+# disconnectFromCurrentNetwork
+
+[androidJvm]\
+~~abstract~~ ~~fun~~ [~~disconnectFromCurrentNetwork~~](disconnect-from-current-network.md)~~(~~request: [DisconnectFromCurrentNetworkRequest](../../com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-request/index.md)~~)~~~~:~~ [DisconnectFromCurrentNetworkResult](../../com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-result/index.md)
+
+A synchronous API to disconnect from the current network.
+
+#### Return
+
+DisconnectFromCurrentNetworkResult - The result of disconnecting from the current network
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkconnection.entities.DisconnectFromCurrentNetworkRequest](../../com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-request/index.md) | |
+| [com.isupatches.android.wisefy.networkconnection.entities.DisconnectFromCurrentNetworkResult](../../com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-result/index.md) | |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-network-connection-api/index.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-network-connection-api/index.md
new file mode 100644
index 00000000..f814702c
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-network-connection-api/index.md
@@ -0,0 +1,30 @@
+//[networkconnection](../../../index.md)/[com.isupatches.android.wisefy.networkconnection](../index.md)/[NetworkConnectionApi](index.md)
+
+# NetworkConnectionApi
+
+[androidJvm]\
+interface [NetworkConnectionApi](index.md)
+
+A set of synchronous APIs for connecting to and disconnecting from a network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [changeNetwork](change-network.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
abstract fun [changeNetwork](change-network.md)(request: [ChangeNetworkRequest](../../com.isupatches.android.wisefy.networkconnection.entities/-change-network-request/index.md)): [ChangeNetworkResult](../../com.isupatches.android.wisefy.networkconnection.entities/-change-network-result/index.md)
An synchronous API to change the network the device is connected to. |
+| [connectToNetwork](connect-to-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_WIFI_STATE", "android.permission.ACCESS_NETWORK_STATE"])
~~abstract~~ ~~fun~~ [~~connectToNetwork~~](connect-to-network.md)~~(~~request: [ConnectToNetworkRequest](../../com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/index.md)~~)~~~~:~~ [ConnectToNetworkResult](../../com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/index.md)
A synchronous API to connect to a network. |
+| [disconnectFromCurrentNetwork](disconnect-from-current-network.md) | [androidJvm]
~~abstract~~ ~~fun~~ [~~disconnectFromCurrentNetwork~~](disconnect-from-current-network.md)~~(~~request: [DisconnectFromCurrentNetworkRequest](../../com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-request/index.md)~~)~~~~:~~ [DisconnectFromCurrentNetworkResult](../../com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-result/index.md)
A synchronous API to disconnect from the current network. |
+
+## Inheritors
+
+| Name |
+|---|
+| [NetworkConnectionDelegate](../-network-connection-delegate/index.md) |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-network-connection-delegate/index.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-network-connection-delegate/index.md
new file mode 100644
index 00000000..f93c9c7d
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-network-connection-delegate/index.md
@@ -0,0 +1,39 @@
+//[networkconnection](../../../index.md)/[com.isupatches.android.wisefy.networkconnection](../index.md)/[NetworkConnectionDelegate](index.md)
+
+# NetworkConnectionDelegate
+
+[androidJvm]\
+interface [NetworkConnectionDelegate](index.md) : [NetworkConnectionApi](../-network-connection-api/index.md), [NetworkConnectionApiAsync](../-network-connection-api-async/index.md)
+
+A delegate for synchronous and asynchronous APIs to connect to and disconnect from networks.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkconnection.NetworkConnectionApi](../-network-connection-api/index.md) | |
+| [com.isupatches.android.wisefy.networkconnection.NetworkConnectionApiAsync](../-network-connection-api-async/index.md) | |
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [changeNetwork](../-network-connection-api/change-network.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
abstract fun [changeNetwork](../-network-connection-api/change-network.md)(request: [ChangeNetworkRequest](../../com.isupatches.android.wisefy.networkconnection.entities/-change-network-request/index.md)): [ChangeNetworkResult](../../com.isupatches.android.wisefy.networkconnection.entities/-change-network-result/index.md)
An synchronous API to change the network the device is connected to.
[androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
abstract fun [changeNetwork](../-network-connection-api-async/change-network.md)(request: [ChangeNetworkRequest](../../com.isupatches.android.wisefy.networkconnection.entities/-change-network-request/index.md), callbacks: [ChangeNetworkCallbacks](../../com.isupatches.android.wisefy.networkconnection.callbacks/-change-network-callbacks/index.md)?)
An asynchronous API to change the network the device is connected to. |
+| [connectToNetwork](../-network-connection-api/connect-to-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_WIFI_STATE", "android.permission.ACCESS_NETWORK_STATE"])
~~abstract~~ ~~fun~~ [~~connectToNetwork~~](../-network-connection-api/connect-to-network.md)~~(~~request: [ConnectToNetworkRequest](../../com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/index.md)~~)~~~~:~~ [ConnectToNetworkResult](../../com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/index.md)
A synchronous API to connect to a network.
[androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_WIFI_STATE", "android.permission.ACCESS_NETWORK_STATE"])
~~abstract~~ ~~fun~~ [~~connectToNetwork~~](../-network-connection-api-async/connect-to-network.md)~~(~~request: [ConnectToNetworkRequest](../../com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/index.md), callbacks: [ConnectToNetworkCallbacks](../../com.isupatches.android.wisefy.networkconnection.callbacks/-connect-to-network-callbacks/index.md)?~~)~~
An asynchronous API to connect to a network. |
+| [disconnectFromCurrentNetwork](../-network-connection-api/disconnect-from-current-network.md) | [androidJvm]
~~abstract~~ ~~fun~~ [~~disconnectFromCurrentNetwork~~](../-network-connection-api/disconnect-from-current-network.md)~~(~~request: [DisconnectFromCurrentNetworkRequest](../../com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-request/index.md)~~)~~~~:~~ [DisconnectFromCurrentNetworkResult](../../com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-result/index.md)
A synchronous API to disconnect from the current network.
[androidJvm]
~~abstract~~ ~~fun~~ [~~disconnectFromCurrentNetwork~~](../-network-connection-api-async/disconnect-from-current-network.md)~~(~~request: [DisconnectFromCurrentNetworkRequest](../../com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-request/index.md), callbacks: [DisconnectFromCurrentNetworkCallbacks](../../com.isupatches.android.wisefy.networkconnection.callbacks/-disconnect-from-current-network-callbacks/index.md)?~~)~~
An asynchronous API to disconnect from the current network. |
+
+## Inheritors
+
+| Name |
+|---|
+| [WisefyNetworkConnectionDelegate](../-wisefy-network-connection-delegate/index.md) |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-delegate/-companion/index.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-delegate/-companion/index.md
new file mode 100644
index 00000000..f39bd843
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-delegate/-companion/index.md
@@ -0,0 +1,6 @@
+//[networkconnection](../../../../index.md)/[com.isupatches.android.wisefy.networkconnection](../../index.md)/[WisefyNetworkConnectionDelegate](../index.md)/[Companion](index.md)
+
+# Companion
+
+[androidJvm]\
+object [Companion](index.md)
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-delegate/-wisefy-network-connection-delegate.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-delegate/-wisefy-network-connection-delegate.md
new file mode 100644
index 00000000..212fa2f3
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-delegate/-wisefy-network-connection-delegate.md
@@ -0,0 +1,33 @@
+//[networkconnection](../../../index.md)/[com.isupatches.android.wisefy.networkconnection](../index.md)/[WisefyNetworkConnectionDelegate](index.md)/[WisefyNetworkConnectionDelegate](-wisefy-network-connection-delegate.md)
+
+# WisefyNetworkConnectionDelegate
+
+[androidJvm]\
+fun [WisefyNetworkConnectionDelegate](-wisefy-network-connection-delegate.md)(assertions: [WisefyAssertions](../../../../core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/index.md), connectivityManager: [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html), logger: [WisefyLogger](../../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md), sdkUtil: [SdkUtil](../../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md), wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), networkConnectionStatusProvider: suspend () -> [NetworkConnectionStatus](../../../../core/core/com.isupatches.android.wisefy.core.entities/-network-connection-status/index.md)?, coroutineDispatcherProvider: [CoroutineDispatcherProvider](../../../../core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/index.md), scope: CoroutineScope, networkConnectionMutex: Mutex, adapter: [NetworkConnectionApi](../-network-connection-api/index.md) = if (sdkUtil.isAtLeastQ()) {
+ Android29NetworkConnectionAdapter(
+ logger,
+ assertions
+ )
+ } else {
+ DefaultNetworkConnectionAdapter(
+ connectivityManager,
+ wifiManager,
+ logger,
+ sdkUtil,
+ networkConnectionStatusProvider,
+ assertions
+ )
+ })
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| assertions | The [WisefyAssertions](../../../../core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/index.md) instance to use |
+| connectivityManager | The ConnectivityManager instance to use |
+| logger | The [WisefyLogger](../../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md) instance to use |
+| sdkUtil | The [SdkUtil](../../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md) instance to use |
+| wifiManager | The WifiManager instance to use |
+| networkConnectionStatusProvider | The on-demand way to retrieve the current network connection status |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-delegate/change-network.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-delegate/change-network.md
new file mode 100644
index 00000000..b7391d16
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-delegate/change-network.md
@@ -0,0 +1,86 @@
+//[networkconnection](../../../index.md)/[com.isupatches.android.wisefy.networkconnection](../index.md)/[WisefyNetworkConnectionDelegate](index.md)/[changeNetwork](change-network.md)
+
+# changeNetwork
+
+[androidJvm]\
+
+@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
+
+open override fun [changeNetwork](change-network.md)(request: [ChangeNetworkRequest](../../com.isupatches.android.wisefy.networkconnection.entities/-change-network-request/index.md)): [ChangeNetworkResult](../../com.isupatches.android.wisefy.networkconnection.entities/-change-network-result/index.md)
+
+An synchronous API to change the network the device is connected to.
+
+*Notes*
+
+-
+ Will open up the internet connectivity panel
+
+#### Return
+
+ChangeNetworkResult - The result of changing the device's network
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkconnection.entities.ChangeNetworkRequest](../../com.isupatches.android.wisefy.networkconnection.entities/-change-network-request/index.md) | |
+| [com.isupatches.android.wisefy.networkconnection.entities.ChangeNetworkResult](../../com.isupatches.android.wisefy.networkconnection.entities/-change-network-result/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| request | The details of the request to change the device's network |
+
+[androidJvm]\
+
+@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
+
+open override fun [changeNetwork](change-network.md)(request: [ChangeNetworkRequest](../../com.isupatches.android.wisefy.networkconnection.entities/-change-network-request/index.md), callbacks: [ChangeNetworkCallbacks](../../com.isupatches.android.wisefy.networkconnection.callbacks/-change-network-callbacks/index.md)?)
+
+An asynchronous API to change the network the device is connected to.
+
+*Notes*
+
+-
+ Locked by the networkConnectionMutex along with functions for connecting, disconnecting, getting the device's current network connection status, and getting the device's current network
+-
+ Will open up the internet connectivity panel
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkconnection.callbacks.ChangeNetworkCallbacks](../../com.isupatches.android.wisefy.networkconnection.callbacks/-change-network-callbacks/index.md) | |
+| [com.isupatches.android.wisefy.networkconnection.entities.ChangeNetworkRequest](../../com.isupatches.android.wisefy.networkconnection.entities/-change-network-request/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| request | The details of the request to change the device's network |
+| callbacks | The callbacks for changing the device's network |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-delegate/connect-to-network.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-delegate/connect-to-network.md
new file mode 100644
index 00000000..e191f983
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-delegate/connect-to-network.md
@@ -0,0 +1,79 @@
+//[networkconnection](../../../index.md)/[com.isupatches.android.wisefy.networkconnection](../index.md)/[WisefyNetworkConnectionDelegate](index.md)/[connectToNetwork](connect-to-network.md)
+
+# connectToNetwork
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_WIFI_STATE", "android.permission.ACCESS_NETWORK_STATE"])
+
+~~open~~ ~~override~~ ~~fun~~ [~~connectToNetwork~~](connect-to-network.md)~~(~~request: [ConnectToNetworkRequest](../../com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/index.md)~~)~~~~:~~ [ConnectToNetworkResult](../../com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/index.md)
+
+A synchronous API to connect to a network.
+
+#### Return
+
+ConnectToNetworkResult - The result of connecting to a network
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkconnection.entities.ConnectToNetworkRequest](../../com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/index.md) | |
+| [com.isupatches.android.wisefy.networkconnection.entities.ConnectToNetworkResult](../../com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| request | The details of the request to connect to a network |
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_WIFI_STATE", "android.permission.ACCESS_NETWORK_STATE"])
+
+~~open~~ ~~override~~ ~~fun~~ [~~connectToNetwork~~](connect-to-network.md)~~(~~request: [ConnectToNetworkRequest](../../com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/index.md), callbacks: [ConnectToNetworkCallbacks](../../com.isupatches.android.wisefy.networkconnection.callbacks/-connect-to-network-callbacks/index.md)?~~)~~
+
+An asynchronous API to connect to a network.
+
+*Notes*
+
+-
+ Locked by the networkConnectionMutex along with functions for disconnecting, changing, getting the device's current network connection status, and getting the device's current network
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkconnection.callbacks.ConnectToNetworkCallbacks](../../com.isupatches.android.wisefy.networkconnection.callbacks/-connect-to-network-callbacks/index.md) | |
+| [com.isupatches.android.wisefy.networkconnection.entities.ConnectToNetworkRequest](../../com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| request | The details of the request to connect to a network |
+| callbacks | The callbacks for connecting to a network |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-delegate/disconnect-from-current-network.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-delegate/disconnect-from-current-network.md
new file mode 100644
index 00000000..791795f9
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-delegate/disconnect-from-current-network.md
@@ -0,0 +1,65 @@
+//[networkconnection](../../../index.md)/[com.isupatches.android.wisefy.networkconnection](../index.md)/[WisefyNetworkConnectionDelegate](index.md)/[disconnectFromCurrentNetwork](disconnect-from-current-network.md)
+
+# disconnectFromCurrentNetwork
+
+[androidJvm]\
+~~open~~ ~~override~~ ~~fun~~ [~~disconnectFromCurrentNetwork~~](disconnect-from-current-network.md)~~(~~request: [DisconnectFromCurrentNetworkRequest](../../com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-request/index.md)~~)~~~~:~~ [DisconnectFromCurrentNetworkResult](../../com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-result/index.md)
+
+A synchronous API to disconnect from the current network.
+
+#### Return
+
+DisconnectFromCurrentNetworkResult - The result of disconnecting from the current network
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkconnection.entities.DisconnectFromCurrentNetworkRequest](../../com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-request/index.md) | |
+| [com.isupatches.android.wisefy.networkconnection.entities.DisconnectFromCurrentNetworkResult](../../com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-result/index.md) | |
+
+[androidJvm]\
+~~open~~ ~~override~~ ~~fun~~ [~~disconnectFromCurrentNetwork~~](disconnect-from-current-network.md)~~(~~request: [DisconnectFromCurrentNetworkRequest](../../com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-request/index.md), callbacks: [DisconnectFromCurrentNetworkCallbacks](../../com.isupatches.android.wisefy.networkconnection.callbacks/-disconnect-from-current-network-callbacks/index.md)?~~)~~
+
+An asynchronous API to disconnect from the current network.
+
+*Notes*
+
+-
+ Locked by the networkConnectionMutex along with functions for connecting, changing, getting the device's current network connection status, and getting the device's current network
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkconnection.entities.DisconnectFromCurrentNetworkRequest](../../com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-request/index.md) | |
+| [com.isupatches.android.wisefy.networkconnection.callbacks.DisconnectFromCurrentNetworkCallbacks](../../com.isupatches.android.wisefy.networkconnection.callbacks/-disconnect-from-current-network-callbacks/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| request | The details of the request to disconnect from the current network |
+| callbacks | The callbacks for disconnecting from a network |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-delegate/index.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-delegate/index.md
new file mode 100644
index 00000000..ea865f2d
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-delegate/index.md
@@ -0,0 +1,78 @@
+//[networkconnection](../../../index.md)/[com.isupatches.android.wisefy.networkconnection](../index.md)/[WisefyNetworkConnectionDelegate](index.md)
+
+# WisefyNetworkConnectionDelegate
+
+[androidJvm]\
+class [WisefyNetworkConnectionDelegate](index.md)(assertions: [WisefyAssertions](../../../../core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/index.md), connectivityManager: [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html), logger: [WisefyLogger](../../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md), sdkUtil: [SdkUtil](../../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md), wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), networkConnectionStatusProvider: suspend () -> [NetworkConnectionStatus](../../../../core/core/com.isupatches.android.wisefy.core.entities/-network-connection-status/index.md)?, coroutineDispatcherProvider: [CoroutineDispatcherProvider](../../../../core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/index.md), scope: CoroutineScope, networkConnectionMutex: Mutex, adapter: [NetworkConnectionApi](../-network-connection-api/index.md) = if (sdkUtil.isAtLeastQ()) {
+ Android29NetworkConnectionAdapter(
+ logger,
+ assertions
+ )
+ } else {
+ DefaultNetworkConnectionAdapter(
+ connectivityManager,
+ wifiManager,
+ logger,
+ sdkUtil,
+ networkConnectionStatusProvider,
+ assertions
+ )
+ }) : [NetworkConnectionDelegate](../-network-connection-delegate/index.md)
+
+An internal Wisefy delegate for getting and searching for nearby access points through the Android OS.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| com.isupatches.android.wisefy.networkconnection.os.adapters.Android29NetworkConnectionAdapter | |
+| [com.isupatches.android.wisefy.core.coroutines.CoroutineDispatcherProvider](../../../../core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/index.md) | |
+| com.isupatches.android.wisefy.networkconnection.os.adapters.DefaultNetworkConnectionAdapter | |
+| [com.isupatches.android.wisefy.networkconnection.NetworkConnectionDelegate](../-network-connection-delegate/index.md) | |
+| [com.isupatches.android.wisefy.core.entities.NetworkConnectionStatus](../../../../core/core/com.isupatches.android.wisefy.core.entities/-network-connection-status/index.md) | |
+| [com.isupatches.android.wisefy.core.util.SdkUtil](../../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md) | |
+| [com.isupatches.android.wisefy.core.assertions.WisefyAssertions](../../../../core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/index.md) | |
+| [com.isupatches.android.wisefy.core.logging.WisefyLogger](../../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| assertions | The [WisefyAssertions](../../../../core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/index.md) instance to use |
+| connectivityManager | The ConnectivityManager instance to use |
+| logger | The [WisefyLogger](../../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md) instance to use |
+| sdkUtil | The [SdkUtil](../../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md) instance to use |
+| wifiManager | The WifiManager instance to use |
+| networkConnectionStatusProvider | The on-demand way to retrieve the current network connection status |
+
+## Constructors
+
+| | |
+|---|---|
+| [WisefyNetworkConnectionDelegate](-wisefy-network-connection-delegate.md) | [androidJvm]
fun [WisefyNetworkConnectionDelegate](-wisefy-network-connection-delegate.md)(assertions: [WisefyAssertions](../../../../core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/index.md), connectivityManager: [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html), logger: [WisefyLogger](../../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md), sdkUtil: [SdkUtil](../../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md), wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), networkConnectionStatusProvider: suspend () -> [NetworkConnectionStatus](../../../../core/core/com.isupatches.android.wisefy.core.entities/-network-connection-status/index.md)?, coroutineDispatcherProvider: [CoroutineDispatcherProvider](../../../../core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/index.md), scope: CoroutineScope, networkConnectionMutex: Mutex, adapter: [NetworkConnectionApi](../-network-connection-api/index.md) = if (sdkUtil.isAtLeastQ()) { Android29NetworkConnectionAdapter( logger, assertions ) } else { DefaultNetworkConnectionAdapter( connectivityManager, wifiManager, logger, sdkUtil, networkConnectionStatusProvider, assertions ) }) |
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [Companion](-companion/index.md) | [androidJvm]
object [Companion](-companion/index.md) |
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [changeNetwork](change-network.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
open override fun [changeNetwork](change-network.md)(request: [ChangeNetworkRequest](../../com.isupatches.android.wisefy.networkconnection.entities/-change-network-request/index.md)): [ChangeNetworkResult](../../com.isupatches.android.wisefy.networkconnection.entities/-change-network-result/index.md)
An synchronous API to change the network the device is connected to.
[androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
open override fun [changeNetwork](change-network.md)(request: [ChangeNetworkRequest](../../com.isupatches.android.wisefy.networkconnection.entities/-change-network-request/index.md), callbacks: [ChangeNetworkCallbacks](../../com.isupatches.android.wisefy.networkconnection.callbacks/-change-network-callbacks/index.md)?)
An asynchronous API to change the network the device is connected to. |
+| [connectToNetwork](connect-to-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_WIFI_STATE", "android.permission.ACCESS_NETWORK_STATE"])
~~open~~ ~~override~~ ~~fun~~ [~~connectToNetwork~~](connect-to-network.md)~~(~~request: [ConnectToNetworkRequest](../../com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/index.md)~~)~~~~:~~ [ConnectToNetworkResult](../../com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/index.md)
A synchronous API to connect to a network.
[androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_WIFI_STATE", "android.permission.ACCESS_NETWORK_STATE"])
~~open~~ ~~override~~ ~~fun~~ [~~connectToNetwork~~](connect-to-network.md)~~(~~request: [ConnectToNetworkRequest](../../com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/index.md), callbacks: [ConnectToNetworkCallbacks](../../com.isupatches.android.wisefy.networkconnection.callbacks/-connect-to-network-callbacks/index.md)?~~)~~
An asynchronous API to connect to a network. |
+| [disconnectFromCurrentNetwork](disconnect-from-current-network.md) | [androidJvm]
~~open~~ ~~override~~ ~~fun~~ [~~disconnectFromCurrentNetwork~~](disconnect-from-current-network.md)~~(~~request: [DisconnectFromCurrentNetworkRequest](../../com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-request/index.md)~~)~~~~:~~ [DisconnectFromCurrentNetworkResult](../../com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-result/index.md)
A synchronous API to disconnect from the current network.
[androidJvm]
~~open~~ ~~override~~ ~~fun~~ [~~disconnectFromCurrentNetwork~~](disconnect-from-current-network.md)~~(~~request: [DisconnectFromCurrentNetworkRequest](../../com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-request/index.md), callbacks: [DisconnectFromCurrentNetworkCallbacks](../../com.isupatches.android.wisefy.networkconnection.callbacks/-disconnect-from-current-network-callbacks/index.md)?~~)~~
An asynchronous API to disconnect from the current network. |
diff --git a/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/index.md b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/index.md
new file mode 100644
index 00000000..8ceaf2fc
--- /dev/null
+++ b/dokka/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/index.md
@@ -0,0 +1,12 @@
+//[networkconnection](../../index.md)/[com.isupatches.android.wisefy.networkconnection](index.md)
+
+# Package com.isupatches.android.wisefy.networkconnection
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [NetworkConnectionApi](-network-connection-api/index.md) | [androidJvm]
interface [NetworkConnectionApi](-network-connection-api/index.md)
A set of synchronous APIs for connecting to and disconnecting from a network. |
+| [NetworkConnectionApiAsync](-network-connection-api-async/index.md) | [androidJvm]
interface [NetworkConnectionApiAsync](-network-connection-api-async/index.md)
A set of asynchronous APIs for connecting to and disconnecting from a network. |
+| [NetworkConnectionDelegate](-network-connection-delegate/index.md) | [androidJvm]
interface [NetworkConnectionDelegate](-network-connection-delegate/index.md) : [NetworkConnectionApi](-network-connection-api/index.md), [NetworkConnectionApiAsync](-network-connection-api-async/index.md)
A delegate for synchronous and asynchronous APIs to connect to and disconnect from networks. |
+| [WisefyNetworkConnectionDelegate](-wisefy-network-connection-delegate/index.md) | [androidJvm]
class [WisefyNetworkConnectionDelegate](-wisefy-network-connection-delegate/index.md)(assertions: [WisefyAssertions](../../../core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/index.md), connectivityManager: [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html), logger: [WisefyLogger](../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md), sdkUtil: [SdkUtil](../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md), wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), networkConnectionStatusProvider: suspend () -> [NetworkConnectionStatus](../../../core/core/com.isupatches.android.wisefy.core.entities/-network-connection-status/index.md)?, coroutineDispatcherProvider: [CoroutineDispatcherProvider](../../../core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/index.md), scope: CoroutineScope, networkConnectionMutex: Mutex, adapter: [NetworkConnectionApi](-network-connection-api/index.md) = if (sdkUtil.isAtLeastQ()) { Android29NetworkConnectionAdapter( logger, assertions ) } else { DefaultNetworkConnectionAdapter( connectivityManager, wifiManager, logger, sdkUtil, networkConnectionStatusProvider, assertions ) }) : [NetworkConnectionDelegate](-network-connection-delegate/index.md)
An internal Wisefy delegate for getting and searching for nearby access points through the Android OS. |
diff --git a/dokka/networkinfo/index.md b/dokka/networkinfo/index.md
new file mode 100644
index 00000000..d3eb0cf6
--- /dev/null
+++ b/dokka/networkinfo/index.md
@@ -0,0 +1,11 @@
+//[networkinfo](index.md)
+
+# networkinfo
+
+## Packages
+
+| Name |
+|---|
+| [com.isupatches.android.wisefy.networkinfo](networkinfo/com.isupatches.android.wisefy.networkinfo/index.md) |
+| [com.isupatches.android.wisefy.networkinfo.callbacks](networkinfo/com.isupatches.android.wisefy.networkinfo.callbacks/index.md) |
+| [com.isupatches.android.wisefy.networkinfo.entities](networkinfo/com.isupatches.android.wisefy.networkinfo.entities/index.md) |
diff --git a/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.callbacks/-get-current-network-callbacks/index.md b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.callbacks/-get-current-network-callbacks/index.md
new file mode 100644
index 00000000..54f9ad44
--- /dev/null
+++ b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.callbacks/-get-current-network-callbacks/index.md
@@ -0,0 +1,31 @@
+//[networkinfo](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.callbacks](../index.md)/[GetCurrentNetworkCallbacks](index.md)
+
+# GetCurrentNetworkCallbacks
+
+[androidJvm]\
+interface [GetCurrentNetworkCallbacks](index.md) : [BaseWisefyCallbacks](../../../../core/core/com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/index.md)
+
+A set of callbacks for retrieving the device's current network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.core.base.BaseWisefyCallbacks](../../../../core/core/com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/index.md) | |
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [onCurrentNetworkRetrieved](on-current-network-retrieved.md) | [androidJvm]
abstract fun [onCurrentNetworkRetrieved](on-current-network-retrieved.md)(network: [NetworkData](../../com.isupatches.android.wisefy.networkinfo.entities/-network-data/index.md))
A callback triggered when there is a success getting the device's current network. |
+| [onWisefyAsyncFailure](../-get-network-connection-status-callbacks/index.md#-2014443064%2FFunctions%2F2126753235) | [androidJvm]
abstract fun [onWisefyAsyncFailure](../-get-network-connection-status-callbacks/index.md#-2014443064%2FFunctions%2F2126753235)(exception: [WisefyException](../../../../core/core/com.isupatches.android.wisefy.core.exceptions/-wisefy-exception/index.md)) |
diff --git a/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.callbacks/-get-current-network-callbacks/on-current-network-retrieved.md b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.callbacks/-get-current-network-callbacks/on-current-network-retrieved.md
new file mode 100644
index 00000000..1a7c021e
--- /dev/null
+++ b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.callbacks/-get-current-network-callbacks/on-current-network-retrieved.md
@@ -0,0 +1,32 @@
+//[networkinfo](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.callbacks](../index.md)/[GetCurrentNetworkCallbacks](index.md)/[onCurrentNetworkRetrieved](on-current-network-retrieved.md)
+
+# onCurrentNetworkRetrieved
+
+[androidJvm]\
+abstract fun [onCurrentNetworkRetrieved](on-current-network-retrieved.md)(network: [NetworkData](../../com.isupatches.android.wisefy.networkinfo.entities/-network-data/index.md))
+
+A callback triggered when there is a success getting the device's current network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkinfo.entities.NetworkData](../../com.isupatches.android.wisefy.networkinfo.entities/-network-data/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| network | The current network data for the device |
diff --git a/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.callbacks/-get-network-connection-status-callbacks/index.md b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.callbacks/-get-network-connection-status-callbacks/index.md
new file mode 100644
index 00000000..2881a099
--- /dev/null
+++ b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.callbacks/-get-network-connection-status-callbacks/index.md
@@ -0,0 +1,31 @@
+//[networkinfo](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.callbacks](../index.md)/[GetNetworkConnectionStatusCallbacks](index.md)
+
+# GetNetworkConnectionStatusCallbacks
+
+[androidJvm]\
+interface [GetNetworkConnectionStatusCallbacks](index.md) : [BaseWisefyCallbacks](../../../../core/core/com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/index.md)
+
+A set of callbacks for retrieving the device's current network connection status.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.core.base.BaseWisefyCallbacks](../../../../core/core/com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/index.md) | |
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [onDeviceNetworkConnectionStatusRetrieved](on-device-network-connection-status-retrieved.md) | [androidJvm]
abstract fun [onDeviceNetworkConnectionStatusRetrieved](on-device-network-connection-status-retrieved.md)(networkConnectionStatus: [NetworkConnectionStatusData](../../com.isupatches.android.wisefy.networkinfo.entities/-network-connection-status-data/index.md))
A callback triggered when there is a success getting the device's current network connection status. |
+| [onWisefyAsyncFailure](index.md#-2014443064%2FFunctions%2F2126753235) | [androidJvm]
abstract fun [onWisefyAsyncFailure](index.md#-2014443064%2FFunctions%2F2126753235)(exception: [WisefyException](../../../../core/core/com.isupatches.android.wisefy.core.exceptions/-wisefy-exception/index.md)) |
diff --git a/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.callbacks/-get-network-connection-status-callbacks/on-device-network-connection-status-retrieved.md b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.callbacks/-get-network-connection-status-callbacks/on-device-network-connection-status-retrieved.md
new file mode 100644
index 00000000..80b5ad68
--- /dev/null
+++ b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.callbacks/-get-network-connection-status-callbacks/on-device-network-connection-status-retrieved.md
@@ -0,0 +1,32 @@
+//[networkinfo](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.callbacks](../index.md)/[GetNetworkConnectionStatusCallbacks](index.md)/[onDeviceNetworkConnectionStatusRetrieved](on-device-network-connection-status-retrieved.md)
+
+# onDeviceNetworkConnectionStatusRetrieved
+
+[androidJvm]\
+abstract fun [onDeviceNetworkConnectionStatusRetrieved](on-device-network-connection-status-retrieved.md)(networkConnectionStatus: [NetworkConnectionStatusData](../../com.isupatches.android.wisefy.networkinfo.entities/-network-connection-status-data/index.md))
+
+A callback triggered when there is a success getting the device's current network connection status.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkinfo.entities.NetworkConnectionStatusData](../../com.isupatches.android.wisefy.networkinfo.entities/-network-connection-status-data/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| networkConnectionStatus | The current network connection status of the device |
diff --git a/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.callbacks/index.md b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.callbacks/index.md
new file mode 100644
index 00000000..3429c91a
--- /dev/null
+++ b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.callbacks/index.md
@@ -0,0 +1,10 @@
+//[networkinfo](../../index.md)/[com.isupatches.android.wisefy.networkinfo.callbacks](index.md)
+
+# Package com.isupatches.android.wisefy.networkinfo.callbacks
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [GetCurrentNetworkCallbacks](-get-current-network-callbacks/index.md) | [androidJvm]
interface [GetCurrentNetworkCallbacks](-get-current-network-callbacks/index.md) : [BaseWisefyCallbacks](../../../core/core/com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/index.md)
A set of callbacks for retrieving the device's current network. |
+| [GetNetworkConnectionStatusCallbacks](-get-network-connection-status-callbacks/index.md) | [androidJvm]
interface [GetNetworkConnectionStatusCallbacks](-get-network-connection-status-callbacks/index.md) : [BaseWisefyCallbacks](../../../core/core/com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/index.md)
A set of callbacks for retrieving the device's current network connection status. |
diff --git a/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-current-network-query/-get-current-network-query.md b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-current-network-query/-get-current-network-query.md
new file mode 100644
index 00000000..0be58f13
--- /dev/null
+++ b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-current-network-query/-get-current-network-query.md
@@ -0,0 +1,6 @@
+//[networkinfo](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.entities](../index.md)/[GetCurrentNetworkQuery](index.md)/[GetCurrentNetworkQuery](-get-current-network-query.md)
+
+# GetCurrentNetworkQuery
+
+[androidJvm]\
+fun [GetCurrentNetworkQuery](-get-current-network-query.md)()
diff --git a/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-current-network-query/index.md b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-current-network-query/index.md
new file mode 100644
index 00000000..72fcc85b
--- /dev/null
+++ b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-current-network-query/index.md
@@ -0,0 +1,22 @@
+//[networkinfo](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.entities](../index.md)/[GetCurrentNetworkQuery](index.md)
+
+# GetCurrentNetworkQuery
+
+[androidJvm]\
+class [GetCurrentNetworkQuery](index.md)
+
+A data representation of a request to get the device's current network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Constructors
+
+| | |
+|---|---|
+| [GetCurrentNetworkQuery](-get-current-network-query.md) | [androidJvm]
fun [GetCurrentNetworkQuery](-get-current-network-query.md)() |
diff --git a/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-current-network-result/-get-current-network-result.md b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-current-network-result/-get-current-network-result.md
new file mode 100644
index 00000000..bc17a22c
--- /dev/null
+++ b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-current-network-result/-get-current-network-result.md
@@ -0,0 +1,6 @@
+//[networkinfo](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.entities](../index.md)/[GetCurrentNetworkResult](index.md)/[GetCurrentNetworkResult](-get-current-network-result.md)
+
+# GetCurrentNetworkResult
+
+[androidJvm]\
+fun [GetCurrentNetworkResult](-get-current-network-result.md)(value: [NetworkData](../-network-data/index.md))
diff --git a/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-current-network-result/index.md b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-current-network-result/index.md
new file mode 100644
index 00000000..e992eb9c
--- /dev/null
+++ b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-current-network-result/index.md
@@ -0,0 +1,36 @@
+//[networkinfo](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.entities](../index.md)/[GetCurrentNetworkResult](index.md)
+
+# GetCurrentNetworkResult
+
+[androidJvm]\
+data class [GetCurrentNetworkResult](index.md)(val value: [NetworkData](../-network-data/index.md))
+
+A representation of a success while getting the device's current network from the Android OS.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkinfo.entities.NetworkData](../-network-data/index.md) | |
+
+## Constructors
+
+| | |
+|---|---|
+| [GetCurrentNetworkResult](-get-current-network-result.md) | [androidJvm]
fun [GetCurrentNetworkResult](-get-current-network-result.md)(value: [NetworkData](../-network-data/index.md)) |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [value](value.md) | [androidJvm]
val [value](value.md): [NetworkData](../-network-data/index.md)
The data about the device's current network |
diff --git a/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-current-network-result/value.md b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-current-network-result/value.md
new file mode 100644
index 00000000..c0d752cf
--- /dev/null
+++ b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-current-network-result/value.md
@@ -0,0 +1,6 @@
+//[networkinfo](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.entities](../index.md)/[GetCurrentNetworkResult](index.md)/[value](value.md)
+
+# value
+
+[androidJvm]\
+val [value](value.md): [NetworkData](../-network-data/index.md)
diff --git a/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-network-connection-status-query/-get-network-connection-status-query.md b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-network-connection-status-query/-get-network-connection-status-query.md
new file mode 100644
index 00000000..77b0e68b
--- /dev/null
+++ b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-network-connection-status-query/-get-network-connection-status-query.md
@@ -0,0 +1,6 @@
+//[networkinfo](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.entities](../index.md)/[GetNetworkConnectionStatusQuery](index.md)/[GetNetworkConnectionStatusQuery](-get-network-connection-status-query.md)
+
+# GetNetworkConnectionStatusQuery
+
+[androidJvm]\
+fun [GetNetworkConnectionStatusQuery](-get-network-connection-status-query.md)()
diff --git a/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-network-connection-status-query/index.md b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-network-connection-status-query/index.md
new file mode 100644
index 00000000..0c1c8caf
--- /dev/null
+++ b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-network-connection-status-query/index.md
@@ -0,0 +1,22 @@
+//[networkinfo](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.entities](../index.md)/[GetNetworkConnectionStatusQuery](index.md)
+
+# GetNetworkConnectionStatusQuery
+
+[androidJvm]\
+class [GetNetworkConnectionStatusQuery](index.md)
+
+A data representation of a request to get the device's current network connection status.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Constructors
+
+| | |
+|---|---|
+| [GetNetworkConnectionStatusQuery](-get-network-connection-status-query.md) | [androidJvm]
fun [GetNetworkConnectionStatusQuery](-get-network-connection-status-query.md)() |
diff --git a/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-network-connection-status-result/-get-network-connection-status-result.md b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-network-connection-status-result/-get-network-connection-status-result.md
new file mode 100644
index 00000000..3628ce50
--- /dev/null
+++ b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-network-connection-status-result/-get-network-connection-status-result.md
@@ -0,0 +1,6 @@
+//[networkinfo](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.entities](../index.md)/[GetNetworkConnectionStatusResult](index.md)/[GetNetworkConnectionStatusResult](-get-network-connection-status-result.md)
+
+# GetNetworkConnectionStatusResult
+
+[androidJvm]\
+fun [GetNetworkConnectionStatusResult](-get-network-connection-status-result.md)(value: [NetworkConnectionStatusData](../-network-connection-status-data/index.md))
diff --git a/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-network-connection-status-result/index.md b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-network-connection-status-result/index.md
new file mode 100644
index 00000000..2fd2ee10
--- /dev/null
+++ b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-network-connection-status-result/index.md
@@ -0,0 +1,36 @@
+//[networkinfo](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.entities](../index.md)/[GetNetworkConnectionStatusResult](index.md)
+
+# GetNetworkConnectionStatusResult
+
+[androidJvm]\
+data class [GetNetworkConnectionStatusResult](index.md)(val value: [NetworkConnectionStatusData](../-network-connection-status-data/index.md))
+
+A representation of a success while getting the device's current network connection status from the Android OS.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkinfo.entities.NetworkData](../-network-data/index.md) | |
+
+## Constructors
+
+| | |
+|---|---|
+| [GetNetworkConnectionStatusResult](-get-network-connection-status-result.md) | [androidJvm]
fun [GetNetworkConnectionStatusResult](-get-network-connection-status-result.md)(value: [NetworkConnectionStatusData](../-network-connection-status-data/index.md)) |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [value](value.md) | [androidJvm]
val [value](value.md): [NetworkConnectionStatusData](../-network-connection-status-data/index.md)
The data about the device's current network connection status |
diff --git a/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-network-connection-status-result/value.md b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-network-connection-status-result/value.md
new file mode 100644
index 00000000..5f88b88b
--- /dev/null
+++ b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-network-connection-status-result/value.md
@@ -0,0 +1,6 @@
+//[networkinfo](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.entities](../index.md)/[GetNetworkConnectionStatusResult](index.md)/[value](value.md)
+
+# value
+
+[androidJvm]\
+val [value](value.md): [NetworkConnectionStatusData](../-network-connection-status-data/index.md)
diff --git a/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-connection-status-data/-network-connection-status-data.md b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-connection-status-data/-network-connection-status-data.md
new file mode 100644
index 00000000..1ac833b9
--- /dev/null
+++ b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-connection-status-data/-network-connection-status-data.md
@@ -0,0 +1,6 @@
+//[networkinfo](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.entities](../index.md)/[NetworkConnectionStatusData](index.md)/[NetworkConnectionStatusData](-network-connection-status-data.md)
+
+# NetworkConnectionStatusData
+
+[androidJvm]\
+fun [NetworkConnectionStatusData](-network-connection-status-data.md)(isConnected: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), isConnectedToMobileNetwork: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), isConnectedToWifiNetwork: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), isRoaming: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), ssidOfNetworkConnectedTo: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?, bssidOfNetworkConnectedTo: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?, ip: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?)
diff --git a/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-connection-status-data/bssid-of-network-connected-to.md b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-connection-status-data/bssid-of-network-connected-to.md
new file mode 100644
index 00000000..d174565b
--- /dev/null
+++ b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-connection-status-data/bssid-of-network-connected-to.md
@@ -0,0 +1,6 @@
+//[networkinfo](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.entities](../index.md)/[NetworkConnectionStatusData](index.md)/[bssidOfNetworkConnectedTo](bssid-of-network-connected-to.md)
+
+# bssidOfNetworkConnectedTo
+
+[androidJvm]\
+val [bssidOfNetworkConnectedTo](bssid-of-network-connected-to.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?
diff --git a/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-connection-status-data/index.md b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-connection-status-data/index.md
new file mode 100644
index 00000000..745dcbdf
--- /dev/null
+++ b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-connection-status-data/index.md
@@ -0,0 +1,34 @@
+//[networkinfo](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.entities](../index.md)/[NetworkConnectionStatusData](index.md)
+
+# NetworkConnectionStatusData
+
+[androidJvm]\
+data class [NetworkConnectionStatusData](index.md)(val isConnected: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), val isConnectedToMobileNetwork: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), val isConnectedToWifiNetwork: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), val isRoaming: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), val ssidOfNetworkConnectedTo: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?, val bssidOfNetworkConnectedTo: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?, val ip: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?)
+
+A data representation of the current network connection status from Android OS level returns.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Constructors
+
+| | |
+|---|---|
+| [NetworkConnectionStatusData](-network-connection-status-data.md) | [androidJvm]
fun [NetworkConnectionStatusData](-network-connection-status-data.md)(isConnected: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), isConnectedToMobileNetwork: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), isConnectedToWifiNetwork: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), isRoaming: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), ssidOfNetworkConnectedTo: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?, bssidOfNetworkConnectedTo: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?, ip: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?) |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [bssidOfNetworkConnectedTo](bssid-of-network-connected-to.md) | [androidJvm]
val [bssidOfNetworkConnectedTo](bssid-of-network-connected-to.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?
The current BSSID that the device is connected to, or null |
+| [ip](ip.md) | [androidJvm]
val [ip](ip.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?
The IP address of the device from it's current network, or null |
+| [isConnected](is-connected.md) | [androidJvm]
val [isConnected](is-connected.md): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
If the device is connected to a mobile or wifi network |
+| [isConnectedToMobileNetwork](is-connected-to-mobile-network.md) | [androidJvm]
val [isConnectedToMobileNetwork](is-connected-to-mobile-network.md): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
If the device is connected to a mobile network |
+| [isConnectedToWifiNetwork](is-connected-to-wifi-network.md) | [androidJvm]
val [isConnectedToWifiNetwork](is-connected-to-wifi-network.md): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
If the device is connected to a wifi network |
+| [isRoaming](is-roaming.md) | [androidJvm]
val [isRoaming](is-roaming.md): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
If the device is roaming |
+| [ssidOfNetworkConnectedTo](ssid-of-network-connected-to.md) | [androidJvm]
val [ssidOfNetworkConnectedTo](ssid-of-network-connected-to.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?
The current SSID that the device is connected to, or null |
diff --git a/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-connection-status-data/ip.md b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-connection-status-data/ip.md
new file mode 100644
index 00000000..c08a2c29
--- /dev/null
+++ b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-connection-status-data/ip.md
@@ -0,0 +1,6 @@
+//[networkinfo](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.entities](../index.md)/[NetworkConnectionStatusData](index.md)/[ip](ip.md)
+
+# ip
+
+[androidJvm]\
+val [ip](ip.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?
diff --git a/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-connection-status-data/is-connected-to-mobile-network.md b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-connection-status-data/is-connected-to-mobile-network.md
new file mode 100644
index 00000000..fb78822e
--- /dev/null
+++ b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-connection-status-data/is-connected-to-mobile-network.md
@@ -0,0 +1,6 @@
+//[networkinfo](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.entities](../index.md)/[NetworkConnectionStatusData](index.md)/[isConnectedToMobileNetwork](is-connected-to-mobile-network.md)
+
+# isConnectedToMobileNetwork
+
+[androidJvm]\
+val [isConnectedToMobileNetwork](is-connected-to-mobile-network.md): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-connection-status-data/is-connected-to-wifi-network.md b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-connection-status-data/is-connected-to-wifi-network.md
new file mode 100644
index 00000000..131068de
--- /dev/null
+++ b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-connection-status-data/is-connected-to-wifi-network.md
@@ -0,0 +1,6 @@
+//[networkinfo](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.entities](../index.md)/[NetworkConnectionStatusData](index.md)/[isConnectedToWifiNetwork](is-connected-to-wifi-network.md)
+
+# isConnectedToWifiNetwork
+
+[androidJvm]\
+val [isConnectedToWifiNetwork](is-connected-to-wifi-network.md): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-connection-status-data/is-connected.md b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-connection-status-data/is-connected.md
new file mode 100644
index 00000000..f90c286c
--- /dev/null
+++ b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-connection-status-data/is-connected.md
@@ -0,0 +1,6 @@
+//[networkinfo](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.entities](../index.md)/[NetworkConnectionStatusData](index.md)/[isConnected](is-connected.md)
+
+# isConnected
+
+[androidJvm]\
+val [isConnected](is-connected.md): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-connection-status-data/is-roaming.md b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-connection-status-data/is-roaming.md
new file mode 100644
index 00000000..33971056
--- /dev/null
+++ b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-connection-status-data/is-roaming.md
@@ -0,0 +1,6 @@
+//[networkinfo](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.entities](../index.md)/[NetworkConnectionStatusData](index.md)/[isRoaming](is-roaming.md)
+
+# isRoaming
+
+[androidJvm]\
+val [isRoaming](is-roaming.md): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
diff --git a/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-connection-status-data/ssid-of-network-connected-to.md b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-connection-status-data/ssid-of-network-connected-to.md
new file mode 100644
index 00000000..b6300b68
--- /dev/null
+++ b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-connection-status-data/ssid-of-network-connected-to.md
@@ -0,0 +1,6 @@
+//[networkinfo](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.entities](../index.md)/[NetworkConnectionStatusData](index.md)/[ssidOfNetworkConnectedTo](ssid-of-network-connected-to.md)
+
+# ssidOfNetworkConnectedTo
+
+[androidJvm]\
+val [ssidOfNetworkConnectedTo](ssid-of-network-connected-to.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?
diff --git a/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-data/-network-data.md b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-data/-network-data.md
new file mode 100644
index 00000000..1b69b11a
--- /dev/null
+++ b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-data/-network-data.md
@@ -0,0 +1,6 @@
+//[networkinfo](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.entities](../index.md)/[NetworkData](index.md)/[NetworkData](-network-data.md)
+
+# NetworkData
+
+[androidJvm]\
+fun [NetworkData](-network-data.md)(network: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html)?, connectionInfo: [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html)?, capabilities: [NetworkCapabilities](https://developer.android.com/reference/kotlin/android/net/NetworkCapabilities.html)?, linkProperties: [LinkProperties](https://developer.android.com/reference/kotlin/android/net/LinkProperties.html)?)
diff --git a/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-data/capabilities.md b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-data/capabilities.md
new file mode 100644
index 00000000..5d04a17e
--- /dev/null
+++ b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-data/capabilities.md
@@ -0,0 +1,6 @@
+//[networkinfo](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.entities](../index.md)/[NetworkData](index.md)/[capabilities](capabilities.md)
+
+# capabilities
+
+[androidJvm]\
+val [capabilities](capabilities.md): [NetworkCapabilities](https://developer.android.com/reference/kotlin/android/net/NetworkCapabilities.html)?
diff --git a/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-data/connection-info.md b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-data/connection-info.md
new file mode 100644
index 00000000..fa4e35df
--- /dev/null
+++ b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-data/connection-info.md
@@ -0,0 +1,6 @@
+//[networkinfo](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.entities](../index.md)/[NetworkData](index.md)/[connectionInfo](connection-info.md)
+
+# connectionInfo
+
+[androidJvm]\
+val [connectionInfo](connection-info.md): [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html)?
diff --git a/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-data/index.md b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-data/index.md
new file mode 100644
index 00000000..862eb396
--- /dev/null
+++ b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-data/index.md
@@ -0,0 +1,31 @@
+//[networkinfo](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.entities](../index.md)/[NetworkData](index.md)
+
+# NetworkData
+
+[androidJvm]\
+data class [NetworkData](index.md)(val network: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html)?, val connectionInfo: [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html)?, val capabilities: [NetworkCapabilities](https://developer.android.com/reference/kotlin/android/net/NetworkCapabilities.html)?, val linkProperties: [LinkProperties](https://developer.android.com/reference/kotlin/android/net/LinkProperties.html)?)
+
+A data representation of the current network from Android OS level returns.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Constructors
+
+| | |
+|---|---|
+| [NetworkData](-network-data.md) | [androidJvm]
fun [NetworkData](-network-data.md)(network: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html)?, connectionInfo: [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html)?, capabilities: [NetworkCapabilities](https://developer.android.com/reference/kotlin/android/net/NetworkCapabilities.html)?, linkProperties: [LinkProperties](https://developer.android.com/reference/kotlin/android/net/LinkProperties.html)?) |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [capabilities](capabilities.md) | [androidJvm]
val [capabilities](capabilities.md): [NetworkCapabilities](https://developer.android.com/reference/kotlin/android/net/NetworkCapabilities.html)?
The raw value of he network capabilities from the Android OS |
+| [connectionInfo](connection-info.md) | [androidJvm]
val [connectionInfo](connection-info.md): [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html)?
The raw value of the current connection info from the Android OS |
+| [linkProperties](link-properties.md) | [androidJvm]
val [linkProperties](link-properties.md): [LinkProperties](https://developer.android.com/reference/kotlin/android/net/LinkProperties.html)?
The raw value of the link properties from the Android OS |
+| [network](network.md) | [androidJvm]
val [network](network.md): [Network](https://developer.android.com/reference/kotlin/android/net/Network.html)?
The raw value of the current network from the Android OS |
diff --git a/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-data/link-properties.md b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-data/link-properties.md
new file mode 100644
index 00000000..7a404dbb
--- /dev/null
+++ b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-data/link-properties.md
@@ -0,0 +1,6 @@
+//[networkinfo](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.entities](../index.md)/[NetworkData](index.md)/[linkProperties](link-properties.md)
+
+# linkProperties
+
+[androidJvm]\
+val [linkProperties](link-properties.md): [LinkProperties](https://developer.android.com/reference/kotlin/android/net/LinkProperties.html)?
diff --git a/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-data/network.md b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-data/network.md
new file mode 100644
index 00000000..fdafd7b5
--- /dev/null
+++ b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-data/network.md
@@ -0,0 +1,6 @@
+//[networkinfo](../../../index.md)/[com.isupatches.android.wisefy.networkinfo.entities](../index.md)/[NetworkData](index.md)/[network](network.md)
+
+# network
+
+[androidJvm]\
+val [network](network.md): [Network](https://developer.android.com/reference/kotlin/android/net/Network.html)?
diff --git a/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/index.md b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/index.md
new file mode 100644
index 00000000..03769aa1
--- /dev/null
+++ b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/index.md
@@ -0,0 +1,14 @@
+//[networkinfo](../../index.md)/[com.isupatches.android.wisefy.networkinfo.entities](index.md)
+
+# Package com.isupatches.android.wisefy.networkinfo.entities
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [GetCurrentNetworkQuery](-get-current-network-query/index.md) | [androidJvm]
class [GetCurrentNetworkQuery](-get-current-network-query/index.md)
A data representation of a request to get the device's current network. |
+| [GetCurrentNetworkResult](-get-current-network-result/index.md) | [androidJvm]
data class [GetCurrentNetworkResult](-get-current-network-result/index.md)(val value: [NetworkData](-network-data/index.md))
A representation of a success while getting the device's current network from the Android OS. |
+| [GetNetworkConnectionStatusQuery](-get-network-connection-status-query/index.md) | [androidJvm]
class [GetNetworkConnectionStatusQuery](-get-network-connection-status-query/index.md)
A data representation of a request to get the device's current network connection status. |
+| [GetNetworkConnectionStatusResult](-get-network-connection-status-result/index.md) | [androidJvm]
data class [GetNetworkConnectionStatusResult](-get-network-connection-status-result/index.md)(val value: [NetworkConnectionStatusData](-network-connection-status-data/index.md))
A representation of a success while getting the device's current network connection status from the Android OS. |
+| [NetworkConnectionStatusData](-network-connection-status-data/index.md) | [androidJvm]
data class [NetworkConnectionStatusData](-network-connection-status-data/index.md)(val isConnected: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), val isConnectedToMobileNetwork: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), val isConnectedToWifiNetwork: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), val isRoaming: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), val ssidOfNetworkConnectedTo: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?, val bssidOfNetworkConnectedTo: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?, val ip: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?)
A data representation of the current network connection status from Android OS level returns. |
+| [NetworkData](-network-data/index.md) | [androidJvm]
data class [NetworkData](-network-data/index.md)(val network: [Network](https://developer.android.com/reference/kotlin/android/net/Network.html)?, val connectionInfo: [WifiInfo](https://developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html)?, val capabilities: [NetworkCapabilities](https://developer.android.com/reference/kotlin/android/net/NetworkCapabilities.html)?, val linkProperties: [LinkProperties](https://developer.android.com/reference/kotlin/android/net/LinkProperties.html)?)
A data representation of the current network from Android OS level returns. |
diff --git a/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-network-info-api-async/get-current-network.md b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-network-info-api-async/get-current-network.md
new file mode 100644
index 00000000..939163a7
--- /dev/null
+++ b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-network-info-api-async/get-current-network.md
@@ -0,0 +1,42 @@
+//[networkinfo](../../../index.md)/[com.isupatches.android.wisefy.networkinfo](../index.md)/[NetworkInfoApiAsync](index.md)/[getCurrentNetwork](get-current-network.md)
+
+# getCurrentNetwork
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.ACCESS_NETWORK_STATE")
+
+abstract fun [getCurrentNetwork](get-current-network.md)(query: [GetCurrentNetworkQuery](../../com.isupatches.android.wisefy.networkinfo.entities/-get-current-network-query/index.md) = GetCurrentNetworkQuery(), callbacks: [GetCurrentNetworkCallbacks](../../com.isupatches.android.wisefy.networkinfo.callbacks/-get-current-network-callbacks/index.md)?)
+
+An asynchronous API to get the device's current network.
+
+*Notes*
+
+-
+ Locked by the networkConnectionMutex along with functions for connecting, disconnecting, changing and getting the device's current network connection status
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkinfo.entities.GetCurrentNetworkQuery](../../com.isupatches.android.wisefy.networkinfo.entities/-get-current-network-query/index.md) | |
+| [com.isupatches.android.wisefy.networkinfo.callbacks.GetCurrentNetworkCallbacks](../../com.isupatches.android.wisefy.networkinfo.callbacks/-get-current-network-callbacks/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| query | The details of the query to get the device's current network |
+| callbacks | The callbacks for retrieving the device's current network |
diff --git a/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-network-info-api-async/get-network-connection-status.md b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-network-info-api-async/get-network-connection-status.md
new file mode 100644
index 00000000..d1b6dc9e
--- /dev/null
+++ b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-network-info-api-async/get-network-connection-status.md
@@ -0,0 +1,42 @@
+//[networkinfo](../../../index.md)/[com.isupatches.android.wisefy.networkinfo](../index.md)/[NetworkInfoApiAsync](index.md)/[getNetworkConnectionStatus](get-network-connection-status.md)
+
+# getNetworkConnectionStatus
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.ACCESS_NETWORK_STATE")
+
+abstract fun [getNetworkConnectionStatus](get-network-connection-status.md)(query: [GetNetworkConnectionStatusQuery](../../com.isupatches.android.wisefy.networkinfo.entities/-get-network-connection-status-query/index.md) = GetNetworkConnectionStatusQuery(), callbacks: [GetNetworkConnectionStatusCallbacks](../../com.isupatches.android.wisefy.networkinfo.callbacks/-get-network-connection-status-callbacks/index.md)?)
+
+An asynchronous API to get the device's current network connection status.
+
+*Notes*
+
+-
+ Locked by the networkConnectionMutex along with functions for connecting, disconnecting, changing, and getting the device's current network
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkinfo.entities.GetNetworkConnectionStatusQuery](../../com.isupatches.android.wisefy.networkinfo.entities/-get-network-connection-status-query/index.md) | |
+| [com.isupatches.android.wisefy.networkinfo.callbacks.GetNetworkConnectionStatusCallbacks](../../com.isupatches.android.wisefy.networkinfo.callbacks/-get-network-connection-status-callbacks/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| query | The details of the query to get the device's current network connection status |
+| callbacks | The callbacks for retrieving the device's current network connection status |
diff --git a/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-network-info-api-async/index.md b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-network-info-api-async/index.md
new file mode 100644
index 00000000..e3865c2f
--- /dev/null
+++ b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-network-info-api-async/index.md
@@ -0,0 +1,29 @@
+//[networkinfo](../../../index.md)/[com.isupatches.android.wisefy.networkinfo](../index.md)/[NetworkInfoApiAsync](index.md)
+
+# NetworkInfoApiAsync
+
+[androidJvm]\
+interface [NetworkInfoApiAsync](index.md)
+
+A set of asynchronous APIs for getting information about the device's current network and connection status.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [getCurrentNetwork](get-current-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.ACCESS_NETWORK_STATE")
abstract fun [getCurrentNetwork](get-current-network.md)(query: [GetCurrentNetworkQuery](../../com.isupatches.android.wisefy.networkinfo.entities/-get-current-network-query/index.md) = GetCurrentNetworkQuery(), callbacks: [GetCurrentNetworkCallbacks](../../com.isupatches.android.wisefy.networkinfo.callbacks/-get-current-network-callbacks/index.md)?)
An asynchronous API to get the device's current network. |
+| [getNetworkConnectionStatus](get-network-connection-status.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.ACCESS_NETWORK_STATE")
abstract fun [getNetworkConnectionStatus](get-network-connection-status.md)(query: [GetNetworkConnectionStatusQuery](../../com.isupatches.android.wisefy.networkinfo.entities/-get-network-connection-status-query/index.md) = GetNetworkConnectionStatusQuery(), callbacks: [GetNetworkConnectionStatusCallbacks](../../com.isupatches.android.wisefy.networkinfo.callbacks/-get-network-connection-status-callbacks/index.md)?)
An asynchronous API to get the device's current network connection status. |
+
+## Inheritors
+
+| Name |
+|---|
+| [NetworkInfoDelegate](../-network-info-delegate/index.md) |
diff --git a/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-network-info-api/get-current-network.md b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-network-info-api/get-current-network.md
new file mode 100644
index 00000000..5efb50a3
--- /dev/null
+++ b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-network-info-api/get-current-network.md
@@ -0,0 +1,40 @@
+//[networkinfo](../../../index.md)/[com.isupatches.android.wisefy.networkinfo](../index.md)/[NetworkInfoApi](index.md)/[getCurrentNetwork](get-current-network.md)
+
+# getCurrentNetwork
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.ACCESS_NETWORK_STATE")
+
+abstract fun [getCurrentNetwork](get-current-network.md)(query: [GetCurrentNetworkQuery](../../com.isupatches.android.wisefy.networkinfo.entities/-get-current-network-query/index.md) = GetCurrentNetworkQuery()): [GetCurrentNetworkResult](../../com.isupatches.android.wisefy.networkinfo.entities/-get-current-network-result/index.md)
+
+A synchronous API to get the device's current network.
+
+#### Return
+
+GetCurrentNetworkResult - The result of getting the device's current network
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkinfo.entities.GetCurrentNetworkQuery](../../com.isupatches.android.wisefy.networkinfo.entities/-get-current-network-query/index.md) | |
+| [com.isupatches.android.wisefy.networkinfo.entities.GetCurrentNetworkResult](../../com.isupatches.android.wisefy.networkinfo.entities/-get-current-network-result/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| query | The details of the query to get the device's current network |
diff --git a/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-network-info-api/get-network-connection-status.md b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-network-info-api/get-network-connection-status.md
new file mode 100644
index 00000000..0ab06f00
--- /dev/null
+++ b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-network-info-api/get-network-connection-status.md
@@ -0,0 +1,40 @@
+//[networkinfo](../../../index.md)/[com.isupatches.android.wisefy.networkinfo](../index.md)/[NetworkInfoApi](index.md)/[getNetworkConnectionStatus](get-network-connection-status.md)
+
+# getNetworkConnectionStatus
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.ACCESS_NETWORK_STATE")
+
+abstract fun [getNetworkConnectionStatus](get-network-connection-status.md)(query: [GetNetworkConnectionStatusQuery](../../com.isupatches.android.wisefy.networkinfo.entities/-get-network-connection-status-query/index.md) = GetNetworkConnectionStatusQuery()): [GetNetworkConnectionStatusResult](../../com.isupatches.android.wisefy.networkinfo.entities/-get-network-connection-status-result/index.md)
+
+A synchronous API to get the device's current network connection status.
+
+#### Return
+
+GetNetworkConnectionStatusResult - The result of getting the device's current network connection status
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkinfo.entities.GetNetworkConnectionStatusQuery](../../com.isupatches.android.wisefy.networkinfo.entities/-get-network-connection-status-query/index.md) | |
+| [com.isupatches.android.wisefy.networkinfo.entities.GetNetworkConnectionStatusResult](../../com.isupatches.android.wisefy.networkinfo.entities/-get-network-connection-status-result/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| query | The details of the query to get the device's current network connection status |
diff --git a/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-network-info-api/index.md b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-network-info-api/index.md
new file mode 100644
index 00000000..df6706e6
--- /dev/null
+++ b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-network-info-api/index.md
@@ -0,0 +1,29 @@
+//[networkinfo](../../../index.md)/[com.isupatches.android.wisefy.networkinfo](../index.md)/[NetworkInfoApi](index.md)
+
+# NetworkInfoApi
+
+[androidJvm]\
+interface [NetworkInfoApi](index.md)
+
+A set of synchronous APIs for getting information about the device's current network and network connection status.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [getCurrentNetwork](get-current-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.ACCESS_NETWORK_STATE")
abstract fun [getCurrentNetwork](get-current-network.md)(query: [GetCurrentNetworkQuery](../../com.isupatches.android.wisefy.networkinfo.entities/-get-current-network-query/index.md) = GetCurrentNetworkQuery()): [GetCurrentNetworkResult](../../com.isupatches.android.wisefy.networkinfo.entities/-get-current-network-result/index.md)
A synchronous API to get the device's current network. |
+| [getNetworkConnectionStatus](get-network-connection-status.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.ACCESS_NETWORK_STATE")
abstract fun [getNetworkConnectionStatus](get-network-connection-status.md)(query: [GetNetworkConnectionStatusQuery](../../com.isupatches.android.wisefy.networkinfo.entities/-get-network-connection-status-query/index.md) = GetNetworkConnectionStatusQuery()): [GetNetworkConnectionStatusResult](../../com.isupatches.android.wisefy.networkinfo.entities/-get-network-connection-status-result/index.md)
A synchronous API to get the device's current network connection status. |
+
+## Inheritors
+
+| Name |
+|---|
+| [NetworkInfoDelegate](../-network-info-delegate/index.md) |
diff --git a/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-network-info-delegate/index.md b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-network-info-delegate/index.md
new file mode 100644
index 00000000..a1a90ee0
--- /dev/null
+++ b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-network-info-delegate/index.md
@@ -0,0 +1,38 @@
+//[networkinfo](../../../index.md)/[com.isupatches.android.wisefy.networkinfo](../index.md)/[NetworkInfoDelegate](index.md)
+
+# NetworkInfoDelegate
+
+[androidJvm]\
+interface [NetworkInfoDelegate](index.md) : [NetworkInfoApi](../-network-info-api/index.md), [NetworkInfoApiAsync](../-network-info-api-async/index.md)
+
+A delegate for synchronous and asynchronous APIs for getting information about the device's current network and connection status.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkinfo.NetworkInfoApi](../-network-info-api/index.md) | |
+| [com.isupatches.android.wisefy.networkinfo.NetworkInfoApiAsync](../-network-info-api-async/index.md) | |
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [getCurrentNetwork](../-network-info-api/get-current-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.ACCESS_NETWORK_STATE")
abstract fun [getCurrentNetwork](../-network-info-api/get-current-network.md)(query: [GetCurrentNetworkQuery](../../com.isupatches.android.wisefy.networkinfo.entities/-get-current-network-query/index.md) = GetCurrentNetworkQuery()): [GetCurrentNetworkResult](../../com.isupatches.android.wisefy.networkinfo.entities/-get-current-network-result/index.md)
A synchronous API to get the device's current network.
[androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.ACCESS_NETWORK_STATE")
abstract fun [getCurrentNetwork](../-network-info-api-async/get-current-network.md)(query: [GetCurrentNetworkQuery](../../com.isupatches.android.wisefy.networkinfo.entities/-get-current-network-query/index.md) = GetCurrentNetworkQuery(), callbacks: [GetCurrentNetworkCallbacks](../../com.isupatches.android.wisefy.networkinfo.callbacks/-get-current-network-callbacks/index.md)?)
An asynchronous API to get the device's current network. |
+| [getNetworkConnectionStatus](../-network-info-api/get-network-connection-status.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.ACCESS_NETWORK_STATE")
abstract fun [getNetworkConnectionStatus](../-network-info-api/get-network-connection-status.md)(query: [GetNetworkConnectionStatusQuery](../../com.isupatches.android.wisefy.networkinfo.entities/-get-network-connection-status-query/index.md) = GetNetworkConnectionStatusQuery()): [GetNetworkConnectionStatusResult](../../com.isupatches.android.wisefy.networkinfo.entities/-get-network-connection-status-result/index.md)
A synchronous API to get the device's current network connection status.
[androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.ACCESS_NETWORK_STATE")
abstract fun [getNetworkConnectionStatus](../-network-info-api-async/get-network-connection-status.md)(query: [GetNetworkConnectionStatusQuery](../../com.isupatches.android.wisefy.networkinfo.entities/-get-network-connection-status-query/index.md) = GetNetworkConnectionStatusQuery(), callbacks: [GetNetworkConnectionStatusCallbacks](../../com.isupatches.android.wisefy.networkinfo.callbacks/-get-network-connection-status-callbacks/index.md)?)
An asynchronous API to get the device's current network connection status. |
+
+## Inheritors
+
+| Name |
+|---|
+| [WisefyNetworkInfoDelegate](../-wisefy-network-info-delegate/index.md) |
diff --git a/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-delegate/-companion/index.md b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-delegate/-companion/index.md
new file mode 100644
index 00000000..c3d981ba
--- /dev/null
+++ b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-delegate/-companion/index.md
@@ -0,0 +1,6 @@
+//[networkinfo](../../../../index.md)/[com.isupatches.android.wisefy.networkinfo](../../index.md)/[WisefyNetworkInfoDelegate](../index.md)/[Companion](index.md)
+
+# Companion
+
+[androidJvm]\
+object [Companion](index.md)
diff --git a/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-delegate/-wisefy-network-info-delegate.md b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-delegate/-wisefy-network-info-delegate.md
new file mode 100644
index 00000000..590b4206
--- /dev/null
+++ b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-delegate/-wisefy-network-info-delegate.md
@@ -0,0 +1,24 @@
+//[networkinfo](../../../index.md)/[com.isupatches.android.wisefy.networkinfo](../index.md)/[WisefyNetworkInfoDelegate](index.md)/[WisefyNetworkInfoDelegate](-wisefy-network-info-delegate.md)
+
+# WisefyNetworkInfoDelegate
+
+[androidJvm]\
+fun [WisefyNetworkInfoDelegate](-wisefy-network-info-delegate.md)(connectivityManager: [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html), logger: [WisefyLogger](../../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md), sdkUtil: [SdkUtil](../../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md), wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), networkConnectionStatusProvider: suspend () -> [NetworkConnectionStatus](../../../../core/core/com.isupatches.android.wisefy.core.entities/-network-connection-status/index.md)?, coroutineDispatcherProvider: [CoroutineDispatcherProvider](../../../../core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/index.md), scope: CoroutineScope, networkConnectionMutex: Mutex, adapter: [NetworkInfoApi](../-network-info-api/index.md) = DefaultNetworkInfoAdapter(
+ connectivityManager = connectivityManager,
+ wifiManager = wifiManager,
+ sdkUtil = sdkUtil,
+ logger = logger,
+ networkConnectionStatusProvider = networkConnectionStatusProvider
+ ))
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| connectivityManager | The ConnectivityManager instance to use |
+| logger | The [WisefyLogger](../../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md) instance to use |
+| sdkUtil | The [SdkUtil](../../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md) instance to use |
+| wifiManager | The WifiManager instance to use |
+| networkConnectionStatusProvider | The on-demand way to retrieve the current network connection status |
diff --git a/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-delegate/get-current-network.md b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-delegate/get-current-network.md
new file mode 100644
index 00000000..95297a15
--- /dev/null
+++ b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-delegate/get-current-network.md
@@ -0,0 +1,73 @@
+//[networkinfo](../../../index.md)/[com.isupatches.android.wisefy.networkinfo](../index.md)/[WisefyNetworkInfoDelegate](index.md)/[getCurrentNetwork](get-current-network.md)
+
+# getCurrentNetwork
+
+[androidJvm]\
+open override fun [getCurrentNetwork](get-current-network.md)(query: [GetCurrentNetworkQuery](../../com.isupatches.android.wisefy.networkinfo.entities/-get-current-network-query/index.md)): [GetCurrentNetworkResult](../../com.isupatches.android.wisefy.networkinfo.entities/-get-current-network-result/index.md)
+
+A synchronous API to get the device's current network.
+
+#### Return
+
+GetCurrentNetworkResult - The result of getting the device's current network
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkinfo.entities.GetCurrentNetworkQuery](../../com.isupatches.android.wisefy.networkinfo.entities/-get-current-network-query/index.md) | |
+| [com.isupatches.android.wisefy.networkinfo.entities.GetCurrentNetworkResult](../../com.isupatches.android.wisefy.networkinfo.entities/-get-current-network-result/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| query | The details of the query to get the device's current network |
+
+[androidJvm]\
+open override fun [getCurrentNetwork](get-current-network.md)(query: [GetCurrentNetworkQuery](../../com.isupatches.android.wisefy.networkinfo.entities/-get-current-network-query/index.md), callbacks: [GetCurrentNetworkCallbacks](../../com.isupatches.android.wisefy.networkinfo.callbacks/-get-current-network-callbacks/index.md)?)
+
+An asynchronous API to get the device's current network.
+
+*Notes*
+
+-
+ Locked by the networkConnectionMutex along with functions for connecting, disconnecting, changing and getting the device's current network connection status
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkinfo.entities.GetCurrentNetworkQuery](../../com.isupatches.android.wisefy.networkinfo.entities/-get-current-network-query/index.md) | |
+| [com.isupatches.android.wisefy.networkinfo.callbacks.GetCurrentNetworkCallbacks](../../com.isupatches.android.wisefy.networkinfo.callbacks/-get-current-network-callbacks/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| query | The details of the query to get the device's current network |
+| callbacks | The callbacks for retrieving the device's current network |
diff --git a/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-delegate/get-network-connection-status.md b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-delegate/get-network-connection-status.md
new file mode 100644
index 00000000..ff813e34
--- /dev/null
+++ b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-delegate/get-network-connection-status.md
@@ -0,0 +1,79 @@
+//[networkinfo](../../../index.md)/[com.isupatches.android.wisefy.networkinfo](../index.md)/[WisefyNetworkInfoDelegate](index.md)/[getNetworkConnectionStatus](get-network-connection-status.md)
+
+# getNetworkConnectionStatus
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.ACCESS_NETWORK_STATE")
+
+open override fun [getNetworkConnectionStatus](get-network-connection-status.md)(query: [GetNetworkConnectionStatusQuery](../../com.isupatches.android.wisefy.networkinfo.entities/-get-network-connection-status-query/index.md)): [GetNetworkConnectionStatusResult](../../com.isupatches.android.wisefy.networkinfo.entities/-get-network-connection-status-result/index.md)
+
+A synchronous API to get the device's current network connection status.
+
+#### Return
+
+GetNetworkConnectionStatusResult - The result of getting the device's current network connection status
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkinfo.entities.GetNetworkConnectionStatusQuery](../../com.isupatches.android.wisefy.networkinfo.entities/-get-network-connection-status-query/index.md) | |
+| [com.isupatches.android.wisefy.networkinfo.entities.GetNetworkConnectionStatusResult](../../com.isupatches.android.wisefy.networkinfo.entities/-get-network-connection-status-result/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| query | The details of the query to get the device's current network connection status |
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.ACCESS_NETWORK_STATE")
+
+open override fun [getNetworkConnectionStatus](get-network-connection-status.md)(query: [GetNetworkConnectionStatusQuery](../../com.isupatches.android.wisefy.networkinfo.entities/-get-network-connection-status-query/index.md), callbacks: [GetNetworkConnectionStatusCallbacks](../../com.isupatches.android.wisefy.networkinfo.callbacks/-get-network-connection-status-callbacks/index.md)?)
+
+An asynchronous API to get the device's current network connection status.
+
+*Notes*
+
+-
+ Locked by the networkConnectionMutex along with functions for connecting, disconnecting, changing, and getting the device's current network
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.networkinfo.entities.GetNetworkConnectionStatusQuery](../../com.isupatches.android.wisefy.networkinfo.entities/-get-network-connection-status-query/index.md) | |
+| [com.isupatches.android.wisefy.networkinfo.callbacks.GetNetworkConnectionStatusCallbacks](../../com.isupatches.android.wisefy.networkinfo.callbacks/-get-network-connection-status-callbacks/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| query | The details of the query to get the device's current network connection status |
+| callbacks | The callbacks for retrieving the device's current network connection status |
diff --git a/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-delegate/index.md b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-delegate/index.md
new file mode 100644
index 00000000..44b1f553
--- /dev/null
+++ b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-delegate/index.md
@@ -0,0 +1,67 @@
+//[networkinfo](../../../index.md)/[com.isupatches.android.wisefy.networkinfo](../index.md)/[WisefyNetworkInfoDelegate](index.md)
+
+# WisefyNetworkInfoDelegate
+
+[androidJvm]\
+class [WisefyNetworkInfoDelegate](index.md)(connectivityManager: [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html), logger: [WisefyLogger](../../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md), sdkUtil: [SdkUtil](../../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md), wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), networkConnectionStatusProvider: suspend () -> [NetworkConnectionStatus](../../../../core/core/com.isupatches.android.wisefy.core.entities/-network-connection-status/index.md)?, coroutineDispatcherProvider: [CoroutineDispatcherProvider](../../../../core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/index.md), scope: CoroutineScope, networkConnectionMutex: Mutex, adapter: [NetworkInfoApi](../-network-info-api/index.md) = DefaultNetworkInfoAdapter(
+ connectivityManager = connectivityManager,
+ wifiManager = wifiManager,
+ sdkUtil = sdkUtil,
+ logger = logger,
+ networkConnectionStatusProvider = networkConnectionStatusProvider
+ )) : [NetworkInfoDelegate](../-network-info-delegate/index.md)
+
+An internal Wisefy delegate for getting information about a network, the device's current network, and the device's IP through the Android OS.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.core.coroutines.CoroutineDispatcherProvider](../../../../core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/index.md) | |
+| com.isupatches.android.wisefy.networkinfo.os.adapters.DefaultNetworkInfoAdapter | |
+| [com.isupatches.android.wisefy.networkinfo.NetworkInfoApi](../-network-info-api/index.md) | |
+| [com.isupatches.android.wisefy.core.entities.NetworkConnectionStatus](../../../../core/core/com.isupatches.android.wisefy.core.entities/-network-connection-status/index.md) | |
+| [com.isupatches.android.wisefy.networkinfo.NetworkInfoDelegate](../-network-info-delegate/index.md) | |
+| [com.isupatches.android.wisefy.core.util.SdkUtil](../../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md) | |
+| [com.isupatches.android.wisefy.core.logging.WisefyLogger](../../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| connectivityManager | The ConnectivityManager instance to use |
+| logger | The [WisefyLogger](../../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md) instance to use |
+| sdkUtil | The [SdkUtil](../../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md) instance to use |
+| wifiManager | The WifiManager instance to use |
+| networkConnectionStatusProvider | The on-demand way to retrieve the current network connection status |
+
+## Constructors
+
+| | |
+|---|---|
+| [WisefyNetworkInfoDelegate](-wisefy-network-info-delegate.md) | [androidJvm]
fun [WisefyNetworkInfoDelegate](-wisefy-network-info-delegate.md)(connectivityManager: [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html), logger: [WisefyLogger](../../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md), sdkUtil: [SdkUtil](../../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md), wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), networkConnectionStatusProvider: suspend () -> [NetworkConnectionStatus](../../../../core/core/com.isupatches.android.wisefy.core.entities/-network-connection-status/index.md)?, coroutineDispatcherProvider: [CoroutineDispatcherProvider](../../../../core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/index.md), scope: CoroutineScope, networkConnectionMutex: Mutex, adapter: [NetworkInfoApi](../-network-info-api/index.md) = DefaultNetworkInfoAdapter( connectivityManager = connectivityManager, wifiManager = wifiManager, sdkUtil = sdkUtil, logger = logger, networkConnectionStatusProvider = networkConnectionStatusProvider )) |
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [Companion](-companion/index.md) | [androidJvm]
object [Companion](-companion/index.md) |
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [getCurrentNetwork](get-current-network.md) | [androidJvm]
open override fun [getCurrentNetwork](get-current-network.md)(query: [GetCurrentNetworkQuery](../../com.isupatches.android.wisefy.networkinfo.entities/-get-current-network-query/index.md)): [GetCurrentNetworkResult](../../com.isupatches.android.wisefy.networkinfo.entities/-get-current-network-result/index.md)
A synchronous API to get the device's current network.
[androidJvm]
open override fun [getCurrentNetwork](get-current-network.md)(query: [GetCurrentNetworkQuery](../../com.isupatches.android.wisefy.networkinfo.entities/-get-current-network-query/index.md), callbacks: [GetCurrentNetworkCallbacks](../../com.isupatches.android.wisefy.networkinfo.callbacks/-get-current-network-callbacks/index.md)?)
An asynchronous API to get the device's current network. |
+| [getNetworkConnectionStatus](get-network-connection-status.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.ACCESS_NETWORK_STATE")
open override fun [getNetworkConnectionStatus](get-network-connection-status.md)(query: [GetNetworkConnectionStatusQuery](../../com.isupatches.android.wisefy.networkinfo.entities/-get-network-connection-status-query/index.md)): [GetNetworkConnectionStatusResult](../../com.isupatches.android.wisefy.networkinfo.entities/-get-network-connection-status-result/index.md)
A synchronous API to get the device's current network connection status.
[androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.ACCESS_NETWORK_STATE")
open override fun [getNetworkConnectionStatus](get-network-connection-status.md)(query: [GetNetworkConnectionStatusQuery](../../com.isupatches.android.wisefy.networkinfo.entities/-get-network-connection-status-query/index.md), callbacks: [GetNetworkConnectionStatusCallbacks](../../com.isupatches.android.wisefy.networkinfo.callbacks/-get-network-connection-status-callbacks/index.md)?)
An asynchronous API to get the device's current network connection status. |
diff --git a/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/index.md b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/index.md
new file mode 100644
index 00000000..76a8c403
--- /dev/null
+++ b/dokka/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/index.md
@@ -0,0 +1,12 @@
+//[networkinfo](../../index.md)/[com.isupatches.android.wisefy.networkinfo](index.md)
+
+# Package com.isupatches.android.wisefy.networkinfo
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [NetworkInfoApi](-network-info-api/index.md) | [androidJvm]
interface [NetworkInfoApi](-network-info-api/index.md)
A set of synchronous APIs for getting information about the device's current network and network connection status. |
+| [NetworkInfoApiAsync](-network-info-api-async/index.md) | [androidJvm]
interface [NetworkInfoApiAsync](-network-info-api-async/index.md)
A set of asynchronous APIs for getting information about the device's current network and connection status. |
+| [NetworkInfoDelegate](-network-info-delegate/index.md) | [androidJvm]
interface [NetworkInfoDelegate](-network-info-delegate/index.md) : [NetworkInfoApi](-network-info-api/index.md), [NetworkInfoApiAsync](-network-info-api-async/index.md)
A delegate for synchronous and asynchronous APIs for getting information about the device's current network and connection status. |
+| [WisefyNetworkInfoDelegate](-wisefy-network-info-delegate/index.md) | [androidJvm]
class [WisefyNetworkInfoDelegate](-wisefy-network-info-delegate/index.md)(connectivityManager: [ConnectivityManager](https://developer.android.com/reference/kotlin/android/net/ConnectivityManager.html), logger: [WisefyLogger](../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md), sdkUtil: [SdkUtil](../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md), wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), networkConnectionStatusProvider: suspend () -> [NetworkConnectionStatus](../../../core/core/com.isupatches.android.wisefy.core.entities/-network-connection-status/index.md)?, coroutineDispatcherProvider: [CoroutineDispatcherProvider](../../../core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/index.md), scope: CoroutineScope, networkConnectionMutex: Mutex, adapter: [NetworkInfoApi](-network-info-api/index.md) = DefaultNetworkInfoAdapter( connectivityManager = connectivityManager, wifiManager = wifiManager, sdkUtil = sdkUtil, logger = logger, networkConnectionStatusProvider = networkConnectionStatusProvider )) : [NetworkInfoDelegate](-network-info-delegate/index.md)
An internal Wisefy delegate for getting information about a network, the device's current network, and the device's IP through the Android OS. |
diff --git a/dokka/package-list b/dokka/package-list
new file mode 100644
index 00000000..893e3c5a
--- /dev/null
+++ b/dokka/package-list
@@ -0,0 +1,577 @@
+$dokka.format:gfm-v1
+$dokka.linkExtension:md
+$dokka.location:com.isupatches.android.wisefy.accesspoints.callbacks////PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.callbacks/index.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints.callbacks/GetAccessPointsCallbacks///PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.callbacks/-get-access-points-callbacks/index.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints.callbacks/GetAccessPointsCallbacks/onNearbyAccessPointsRetrieved/#kotlin.collections.List[com.isupatches.android.wisefy.accesspoints.entities.AccessPointData]/PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.callbacks/-get-access-points-callbacks/on-nearby-access-points-retrieved.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints.callbacks/GetAccessPointsCallbacks/onNoNearbyAccessPoints/#/PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.callbacks/-get-access-points-callbacks/on-no-nearby-access-points.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints.entities////PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/index.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints.entities//containSecurityCapability/com.isupatches.android.wisefy.accesspoints.entities.AccessPointData#com.isupatches.android.wisefy.accesspoints.entities.SecurityCapability/PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/contain-security-capability.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints.entities/AccessPointData///PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/index.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints.entities/AccessPointData/AccessPointData/#android.net.wifi.ScanResult#kotlin.String#kotlin.String#kotlin.Int#kotlin.Int#kotlin.Boolean#kotlin.Boolean/PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/-access-point-data.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints.entities/AccessPointData/bssid/#/PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/bssid.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints.entities/AccessPointData/frequency/#/PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/frequency.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints.entities/AccessPointData/is5gHz/#/PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/is5g-hz.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints.entities/AccessPointData/isSecure/#/PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/is-secure.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints.entities/AccessPointData/rawValue/#/PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/raw-value.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints.entities/AccessPointData/rssi/#/PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/rssi.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints.entities/AccessPointData/ssid/#/PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-access-point-data/ssid.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints.entities/GetAccessPointsQuery.All///PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-all/index.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints.entities/GetAccessPointsQuery.All/All/#kotlin.Boolean/PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-all/-all.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints.entities/GetAccessPointsQuery.All/filterDuplicates/#/PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-all/filter-duplicates.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints.entities/GetAccessPointsQuery.ByBSSID///PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-by-b-s-s-i-d/index.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints.entities/GetAccessPointsQuery.ByBSSID/ByBSSID/#kotlin.String#kotlin.Int?#kotlin.Boolean/PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-by-b-s-s-i-d/-by-b-s-s-i-d.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints.entities/GetAccessPointsQuery.ByBSSID/filterDuplicates/#/PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-by-b-s-s-i-d/filter-duplicates.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints.entities/GetAccessPointsQuery.ByBSSID/regex/#/PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-by-b-s-s-i-d/regex.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints.entities/GetAccessPointsQuery.ByBSSID/timeoutInMillis/#/PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-by-b-s-s-i-d/timeout-in-millis.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints.entities/GetAccessPointsQuery.BySSID///PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-by-s-s-i-d/index.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints.entities/GetAccessPointsQuery.BySSID/BySSID/#kotlin.String#kotlin.Int?#kotlin.Boolean/PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-by-s-s-i-d/-by-s-s-i-d.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints.entities/GetAccessPointsQuery.BySSID/filterDuplicates/#/PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-by-s-s-i-d/filter-duplicates.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints.entities/GetAccessPointsQuery.BySSID/regex/#/PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-by-s-s-i-d/regex.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints.entities/GetAccessPointsQuery.BySSID/timeoutInMillis/#/PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/-by-s-s-i-d/timeout-in-millis.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints.entities/GetAccessPointsQuery///PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/index.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints.entities/GetAccessPointsQuery/filterDuplicates/#/PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-query/filter-duplicates.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints.entities/GetAccessPointsResult.AccessPoints///PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-result/-access-points/index.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints.entities/GetAccessPointsResult.AccessPoints/AccessPoints/#kotlin.collections.List[com.isupatches.android.wisefy.accesspoints.entities.AccessPointData]/PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-result/-access-points/-access-points.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints.entities/GetAccessPointsResult.AccessPoints/value/#/PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-result/-access-points/value.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints.entities/GetAccessPointsResult.Empty///PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-result/-empty/index.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints.entities/GetAccessPointsResult///PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-get-access-points-result/index.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints.entities/SecurityCapability.Companion///PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-security-capability/-companion/index.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints.entities/SecurityCapability.Companion/ALL/#/PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-security-capability/-companion/-a-l-l.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints.entities/SecurityCapability.EAP///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-security-capability/-e-a-p/index.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints.entities/SecurityCapability.PSK///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-security-capability/-p-s-k/index.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints.entities/SecurityCapability.WEP///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-security-capability/-w-e-p/index.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints.entities/SecurityCapability.WPA///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-security-capability/-w-p-a/index.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints.entities/SecurityCapability.WPA2///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-security-capability/-w-p-a2/index.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints.entities/SecurityCapability.WPA3///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-security-capability/-w-p-a3/index.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints.entities/SecurityCapability///PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-security-capability/index.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints.entities/SecurityCapability/stringValue/#/PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints.entities/-security-capability/string-value.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints////PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints/index.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints/AccessPointsApi///PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints/-access-points-api/index.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints/AccessPointsApi/getAccessPoints/#com.isupatches.android.wisefy.accesspoints.entities.GetAccessPointsQuery/PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints/-access-points-api/get-access-points.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints/AccessPointsApiAsync///PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints/-access-points-api-async/index.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints/AccessPointsApiAsync/getAccessPoints/#com.isupatches.android.wisefy.accesspoints.entities.GetAccessPointsQuery#com.isupatches.android.wisefy.accesspoints.callbacks.GetAccessPointsCallbacks?/PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints/-access-points-api-async/get-access-points.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints/AccessPointsDelegate///PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints/-access-points-delegate/index.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints/WisefyAccessPointsDelegate.Companion///PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-delegate/-companion/index.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints/WisefyAccessPointsDelegate///PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-delegate/index.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints/WisefyAccessPointsDelegate/WisefyAccessPointsDelegate/#com.isupatches.android.wisefy.core.logging.WisefyLogger#android.net.wifi.WifiManager#com.isupatches.android.wisefy.core.coroutines.CoroutineDispatcherProvider#kotlinx.coroutines.CoroutineScope#com.isupatches.android.wisefy.accesspoints.AccessPointsApi/PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-delegate/-wisefy-access-points-delegate.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints/WisefyAccessPointsDelegate/getAccessPoints/#com.isupatches.android.wisefy.accesspoints.entities.GetAccessPointsQuery#com.isupatches.android.wisefy.accesspoints.callbacks.GetAccessPointsCallbacks?/PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-delegate/get-access-points.md
+$dokka.location:com.isupatches.android.wisefy.accesspoints/WisefyAccessPointsDelegate/getAccessPoints/#com.isupatches.android.wisefy.accesspoints.entities.GetAccessPointsQuery/PointingToDeclaration/accesspoints/accesspoints/com.isupatches.android.wisefy.accesspoints/-wisefy-access-points-delegate/get-access-points.md
+$dokka.location:com.isupatches.android.wisefy.addnetwork.callbacks////PointingToDeclaration/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.callbacks/index.md
+$dokka.location:com.isupatches.android.wisefy.addnetwork.callbacks/AddNetworkCallbacks///PointingToDeclaration/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.callbacks/-add-network-callbacks/index.md
+$dokka.location:com.isupatches.android.wisefy.addnetwork.callbacks/AddNetworkCallbacks/onFailureAddingNetwork/#com.isupatches.android.wisefy.addnetwork.entities.AddNetworkResult.Failure/PointingToDeclaration/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.callbacks/-add-network-callbacks/on-failure-adding-network.md
+$dokka.location:com.isupatches.android.wisefy.addnetwork.callbacks/AddNetworkCallbacks/onSuccessAddingNetwork/#com.isupatches.android.wisefy.addnetwork.entities.AddNetworkResult.Success/PointingToDeclaration/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.callbacks/-add-network-callbacks/on-success-adding-network.md
+$dokka.location:com.isupatches.android.wisefy.addnetwork.entities////PointingToDeclaration/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/index.md
+$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/AddNetworkRequest.Open///PointingToDeclaration/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-open/index.md
+$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/AddNetworkRequest.Open/Open/#kotlin.String#kotlin.String?/PointingToDeclaration/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-open/-open.md
+$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/AddNetworkRequest.Open/bssid/#/PointingToDeclaration/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-open/bssid.md
+$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/AddNetworkRequest.Open/ssid/#/PointingToDeclaration/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-open/ssid.md
+$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/AddNetworkRequest.WPA2///PointingToDeclaration/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-w-p-a2/index.md
+$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/AddNetworkRequest.WPA2/WPA2/#kotlin.String#kotlin.String#kotlin.String?/PointingToDeclaration/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-w-p-a2/-w-p-a2.md
+$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/AddNetworkRequest.WPA2/bssid/#/PointingToDeclaration/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-w-p-a2/bssid.md
+$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/AddNetworkRequest.WPA2/passphrase/#/PointingToDeclaration/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-w-p-a2/passphrase.md
+$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/AddNetworkRequest.WPA2/ssid/#/PointingToDeclaration/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-w-p-a2/ssid.md
+$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/AddNetworkRequest.WPA3///PointingToDeclaration/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-w-p-a3/index.md
+$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/AddNetworkRequest.WPA3/WPA3/#kotlin.String#kotlin.String#kotlin.String?/PointingToDeclaration/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-w-p-a3/-w-p-a3.md
+$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/AddNetworkRequest.WPA3/bssid/#/PointingToDeclaration/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-w-p-a3/bssid.md
+$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/AddNetworkRequest.WPA3/passphrase/#/PointingToDeclaration/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-w-p-a3/passphrase.md
+$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/AddNetworkRequest.WPA3/ssid/#/PointingToDeclaration/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/-w-p-a3/ssid.md
+$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/AddNetworkRequest///PointingToDeclaration/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-request/index.md
+$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/AddNetworkResult.Failure.Assertion///PointingToDeclaration/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-failure/-assertion/index.md
+$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/AddNetworkResult.Failure.Assertion/Assertion/#kotlin.String/PointingToDeclaration/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-failure/-assertion/-assertion.md
+$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/AddNetworkResult.Failure.Assertion/message/#/PointingToDeclaration/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-failure/-assertion/message.md
+$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/AddNetworkResult.Failure.ResultCode///PointingToDeclaration/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-failure/-result-code/index.md
+$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/AddNetworkResult.Failure.ResultCode/ResultCode/#kotlin.Int/PointingToDeclaration/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-failure/-result-code/-result-code.md
+$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/AddNetworkResult.Failure.ResultCode/value/#/PointingToDeclaration/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-failure/-result-code/value.md
+$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/AddNetworkResult.Failure///PointingToDeclaration/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-failure/index.md
+$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/AddNetworkResult.Success.ResultCode///PointingToDeclaration/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-success/-result-code/index.md
+$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/AddNetworkResult.Success.ResultCode/ResultCode/#kotlin.Int/PointingToDeclaration/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-success/-result-code/-result-code.md
+$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/AddNetworkResult.Success.ResultCode/value/#/PointingToDeclaration/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-success/-result-code/value.md
+$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/AddNetworkResult.Success///PointingToDeclaration/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/-success/index.md
+$dokka.location:com.isupatches.android.wisefy.addnetwork.entities/AddNetworkResult///PointingToDeclaration/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork.entities/-add-network-result/index.md
+$dokka.location:com.isupatches.android.wisefy.addnetwork////PointingToDeclaration/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork/index.md
+$dokka.location:com.isupatches.android.wisefy.addnetwork/AddNetworkApi///PointingToDeclaration/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork/-add-network-api/index.md
+$dokka.location:com.isupatches.android.wisefy.addnetwork/AddNetworkApi/addNetwork/#com.isupatches.android.wisefy.addnetwork.entities.AddNetworkRequest/PointingToDeclaration/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork/-add-network-api/add-network.md
+$dokka.location:com.isupatches.android.wisefy.addnetwork/AddNetworkApiAsync///PointingToDeclaration/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork/-add-network-api-async/index.md
+$dokka.location:com.isupatches.android.wisefy.addnetwork/AddNetworkApiAsync/addNetwork/#com.isupatches.android.wisefy.addnetwork.entities.AddNetworkRequest#com.isupatches.android.wisefy.addnetwork.callbacks.AddNetworkCallbacks?/PointingToDeclaration/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork/-add-network-api-async/add-network.md
+$dokka.location:com.isupatches.android.wisefy.addnetwork/AddNetworkDelegate///PointingToDeclaration/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork/-add-network-delegate/index.md
+$dokka.location:com.isupatches.android.wisefy.addnetwork/WisefyAddNetworkDelegate.Companion///PointingToDeclaration/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-delegate/-companion/index.md
+$dokka.location:com.isupatches.android.wisefy.addnetwork/WisefyAddNetworkDelegate///PointingToDeclaration/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-delegate/index.md
+$dokka.location:com.isupatches.android.wisefy.addnetwork/WisefyAddNetworkDelegate/WisefyAddNetworkDelegate/#com.isupatches.android.wisefy.core.assertions.WisefyAssertions#com.isupatches.android.wisefy.core.logging.WisefyLogger#com.isupatches.android.wisefy.core.util.SdkUtil#android.net.wifi.WifiManager#com.isupatches.android.wisefy.core.coroutines.CoroutineDispatcherProvider#kotlinx.coroutines.CoroutineScope#kotlinx.coroutines.sync.Mutex#com.isupatches.android.wisefy.addnetwork.AddNetworkApi/PointingToDeclaration/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-delegate/-wisefy-add-network-delegate.md
+$dokka.location:com.isupatches.android.wisefy.addnetwork/WisefyAddNetworkDelegate/addNetwork/#com.isupatches.android.wisefy.addnetwork.entities.AddNetworkRequest#com.isupatches.android.wisefy.addnetwork.callbacks.AddNetworkCallbacks?/PointingToDeclaration/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-delegate/add-network.md
+$dokka.location:com.isupatches.android.wisefy.addnetwork/WisefyAddNetworkDelegate/addNetwork/#com.isupatches.android.wisefy.addnetwork.entities.AddNetworkRequest/PointingToDeclaration/addnetwork/addnetwork/com.isupatches.android.wisefy.addnetwork/-wisefy-add-network-delegate/add-network.md
+$dokka.location:com.isupatches.android.wisefy.core.assertions////PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.assertions/index.md
+$dokka.location:com.isupatches.android.wisefy.core.assertions/WisefyAssertions///PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/index.md
+$dokka.location:com.isupatches.android.wisefy.core.assertions/WisefyAssertions/WisefyAssertions/#kotlin.Boolean/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/-wisefy-assertions.md
+$dokka.location:com.isupatches.android.wisefy.core.assertions/WisefyAssertions/fail/#kotlin.String/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/fail.md
+$dokka.location:com.isupatches.android.wisefy.core.base////PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.base/index.md
+$dokka.location:com.isupatches.android.wisefy.core.base/BaseWisefyCallbacks///PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/index.md
+$dokka.location:com.isupatches.android.wisefy.core.base/BaseWisefyCallbacks/onWisefyAsyncFailure/#com.isupatches.android.wisefy.core.exceptions.WisefyException/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/on-wisefy-async-failure.md
+$dokka.location:com.isupatches.android.wisefy.core.constants////PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.constants/index.md
+$dokka.location:com.isupatches.android.wisefy.core.constants//MAX_FREQUENCY_5GHZ/#/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.constants/-m-a-x_-f-r-e-q-u-e-n-c-y_5-g-h-z.md
+$dokka.location:com.isupatches.android.wisefy.core.constants//MIN_FREQUENCY_5GHZ/#/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.constants/-m-i-n_-f-r-e-q-u-e-n-c-y_5-g-h-z.md
+$dokka.location:com.isupatches.android.wisefy.core.constants/AssertionMessages.AddNetwork.WPA3Network///PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-add-network/-w-p-a3-network/index.md
+$dokka.location:com.isupatches.android.wisefy.core.constants/AssertionMessages.AddNetwork.WPA3Network/USED_PRE_ANDROID_29/#/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-add-network/-w-p-a3-network/-u-s-e-d_-p-r-e_-a-n-d-r-o-i-d_29.md
+$dokka.location:com.isupatches.android.wisefy.core.constants/AssertionMessages.AddNetwork///PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-add-network/index.md
+$dokka.location:com.isupatches.android.wisefy.core.constants/AssertionMessages.AndroidQ///PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-android-q/index.md
+$dokka.location:com.isupatches.android.wisefy.core.constants/AssertionMessages.AndroidQ/SAVED_NETWORK_FUNCTIONALITY_UNAVAILABLE_ANDROID_Q/#/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-android-q/-s-a-v-e-d_-n-e-t-w-o-r-k_-f-u-n-c-t-i-o-n-a-l-i-t-y_-u-n-a-v-a-i-l-a-b-l-e_-a-n-d-r-o-i-d_-q.md
+$dokka.location:com.isupatches.android.wisefy.core.constants/AssertionMessages.NetworkConnection.ChangeNetwork///PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-network-connection/-change-network/index.md
+$dokka.location:com.isupatches.android.wisefy.core.constants/AssertionMessages.NetworkConnection.ChangeNetwork/USED_BEFORE_ANDROID_Q/#/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-network-connection/-change-network/-u-s-e-d_-b-e-f-o-r-e_-a-n-d-r-o-i-d_-q.md
+$dokka.location:com.isupatches.android.wisefy.core.constants/AssertionMessages.NetworkConnection.ConnectToNetwork///PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-network-connection/-connect-to-network/index.md
+$dokka.location:com.isupatches.android.wisefy.core.constants/AssertionMessages.NetworkConnection.ConnectToNetwork/USED_ANDROID_Q_OR_HIGHER/#/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-network-connection/-connect-to-network/-u-s-e-d_-a-n-d-r-o-i-d_-q_-o-r_-h-i-g-h-e-r.md
+$dokka.location:com.isupatches.android.wisefy.core.constants/AssertionMessages.NetworkConnection.DisconnectFromCurrentNetwork///PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-network-connection/-disconnect-from-current-network/index.md
+$dokka.location:com.isupatches.android.wisefy.core.constants/AssertionMessages.NetworkConnection.DisconnectFromCurrentNetwork/USED_ANDROID_Q_OR_HIGHER/#/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-network-connection/-disconnect-from-current-network/-u-s-e-d_-a-n-d-r-o-i-d_-q_-o-r_-h-i-g-h-e-r.md
+$dokka.location:com.isupatches.android.wisefy.core.constants/AssertionMessages.NetworkConnection///PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-network-connection/index.md
+$dokka.location:com.isupatches.android.wisefy.core.constants/AssertionMessages.Signal///PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-signal/index.md
+$dokka.location:com.isupatches.android.wisefy.core.constants/AssertionMessages.Signal/INCORRECT_CALCULATE_BARS_USED_ANDROID_R_OR_HIGHER/#/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-signal/-i-n-c-o-r-r-e-c-t_-c-a-l-c-u-l-a-t-e_-b-a-r-s_-u-s-e-d_-a-n-d-r-o-i-d_-r_-o-r_-h-i-g-h-e-r.md
+$dokka.location:com.isupatches.android.wisefy.core.constants/AssertionMessages.Signal/INCORRECT_CALCULATE_BARS_USED_PRE_ANDROID_R/#/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-signal/-i-n-c-o-r-r-e-c-t_-c-a-l-c-u-l-a-t-e_-b-a-r-s_-u-s-e-d_-p-r-e_-a-n-d-r-o-i-d_-r.md
+$dokka.location:com.isupatches.android.wisefy.core.constants/AssertionMessages.Wifi///PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-wifi/index.md
+$dokka.location:com.isupatches.android.wisefy.core.constants/AssertionMessages.Wifi/ANDROID_29_REQUEST_USED_ON_PRE_ANDROID_29/#/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-wifi/-a-n-d-r-o-i-d_29_-r-e-q-u-e-s-t_-u-s-e-d_-o-n_-p-r-e_-a-n-d-r-o-i-d_29.md
+$dokka.location:com.isupatches.android.wisefy.core.constants/AssertionMessages.Wifi/DEFAULT_REQUEST_USED_ANDROID_29_OR_HIGHER/#/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/-wifi/-d-e-f-a-u-l-t_-r-e-q-u-e-s-t_-u-s-e-d_-a-n-d-r-o-i-d_29_-o-r_-h-i-g-h-e-r.md
+$dokka.location:com.isupatches.android.wisefy.core.constants/AssertionMessages///PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.constants/-assertion-messages/index.md
+$dokka.location:com.isupatches.android.wisefy.core.constants/DeprecationMessages.NetworkConnection///PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.constants/-deprecation-messages/-network-connection/index.md
+$dokka.location:com.isupatches.android.wisefy.core.constants/DeprecationMessages.NetworkConnection/CONNECT_TO_NETWORK/#/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.constants/-deprecation-messages/-network-connection/-c-o-n-n-e-c-t_-t-o_-n-e-t-w-o-r-k.md
+$dokka.location:com.isupatches.android.wisefy.core.constants/DeprecationMessages.NetworkConnection/DISCONNECT_FROM_CURRENT_NETWORK/#/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.constants/-deprecation-messages/-network-connection/-d-i-s-c-o-n-n-e-c-t_-f-r-o-m_-c-u-r-r-e-n-t_-n-e-t-w-o-r-k.md
+$dokka.location:com.isupatches.android.wisefy.core.constants/DeprecationMessages.Signal///PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.constants/-deprecation-messages/-signal/index.md
+$dokka.location:com.isupatches.android.wisefy.core.constants/DeprecationMessages.Signal/CALCULATE_BARS/#/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.constants/-deprecation-messages/-signal/-c-a-l-c-u-l-a-t-e_-b-a-r-s.md
+$dokka.location:com.isupatches.android.wisefy.core.constants/DeprecationMessages///PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.constants/-deprecation-messages/index.md
+$dokka.location:com.isupatches.android.wisefy.core.coroutines////PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.coroutines/index.md
+$dokka.location:com.isupatches.android.wisefy.core.coroutines//createBaseCoroutineExceptionHandler/#com.isupatches.android.wisefy.core.base.BaseWisefyCallbacks?/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.coroutines/create-base-coroutine-exception-handler.md
+$dokka.location:com.isupatches.android.wisefy.core.coroutines/CoroutineDispatcherProvider///PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/index.md
+$dokka.location:com.isupatches.android.wisefy.core.coroutines/CoroutineDispatcherProvider/CoroutineDispatcherProvider/#/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/-coroutine-dispatcher-provider.md
+$dokka.location:com.isupatches.android.wisefy.core.coroutines/CoroutineDispatcherProvider/io/#/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/io.md
+$dokka.location:com.isupatches.android.wisefy.core.coroutines/CoroutineDispatcherProvider/main/#/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/main.md
+$dokka.location:com.isupatches.android.wisefy.core.entities////PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.entities/index.md
+$dokka.location:com.isupatches.android.wisefy.core.entities/NetworkConnectionStatus.AVAILABLE///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}core/core/com.isupatches.android.wisefy.core.entities/-network-connection-status/-a-v-a-i-l-a-b-l-e/index.md
+$dokka.location:com.isupatches.android.wisefy.core.entities/NetworkConnectionStatus.LOSING///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}core/core/com.isupatches.android.wisefy.core.entities/-network-connection-status/-l-o-s-i-n-g/index.md
+$dokka.location:com.isupatches.android.wisefy.core.entities/NetworkConnectionStatus.LOST///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}core/core/com.isupatches.android.wisefy.core.entities/-network-connection-status/-l-o-s-t/index.md
+$dokka.location:com.isupatches.android.wisefy.core.entities/NetworkConnectionStatus.UNAVAILABLE///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}core/core/com.isupatches.android.wisefy.core.entities/-network-connection-status/-u-n-a-v-a-i-l-a-b-l-e/index.md
+$dokka.location:com.isupatches.android.wisefy.core.entities/NetworkConnectionStatus///PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.entities/-network-connection-status/index.md
+$dokka.location:com.isupatches.android.wisefy.core.exceptions////PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.exceptions/index.md
+$dokka.location:com.isupatches.android.wisefy.core.exceptions/WisefyException///PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.exceptions/-wisefy-exception/index.md
+$dokka.location:com.isupatches.android.wisefy.core.exceptions/WisefyException/WisefyException/#kotlin.String#kotlin.Throwable?/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.exceptions/-wisefy-exception/-wisefy-exception.md
+$dokka.location:com.isupatches.android.wisefy.core.logging////PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.logging/index.md
+$dokka.location:com.isupatches.android.wisefy.core.logging/DefaultWisefyLogger///PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.logging/-default-wisefy-logger/index.md
+$dokka.location:com.isupatches.android.wisefy.core.logging/DefaultWisefyLogger/DefaultWisefyLogger/#/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.logging/-default-wisefy-logger/-default-wisefy-logger.md
+$dokka.location:com.isupatches.android.wisefy.core.logging/DefaultWisefyLogger/d/#kotlin.String#kotlin.String#kotlin.Array[kotlin.Any]/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.logging/-default-wisefy-logger/d.md
+$dokka.location:com.isupatches.android.wisefy.core.logging/DefaultWisefyLogger/e/#kotlin.String#kotlin.String#kotlin.Array[kotlin.Any]/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.logging/-default-wisefy-logger/e.md
+$dokka.location:com.isupatches.android.wisefy.core.logging/DefaultWisefyLogger/e/#kotlin.String#kotlin.Throwable#kotlin.String#kotlin.Array[kotlin.Any]/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.logging/-default-wisefy-logger/e.md
+$dokka.location:com.isupatches.android.wisefy.core.logging/DefaultWisefyLogger/i/#kotlin.String#kotlin.String#kotlin.Array[kotlin.Any]/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.logging/-default-wisefy-logger/i.md
+$dokka.location:com.isupatches.android.wisefy.core.logging/DefaultWisefyLogger/v/#kotlin.String#kotlin.String#kotlin.Array[kotlin.Any]/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.logging/-default-wisefy-logger/v.md
+$dokka.location:com.isupatches.android.wisefy.core.logging/DefaultWisefyLogger/w/#kotlin.String#kotlin.String#kotlin.Array[kotlin.Any]/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.logging/-default-wisefy-logger/w.md
+$dokka.location:com.isupatches.android.wisefy.core.logging/DefaultWisefyLogger/wtf/#kotlin.String#kotlin.String#kotlin.Array[kotlin.Any]/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.logging/-default-wisefy-logger/wtf.md
+$dokka.location:com.isupatches.android.wisefy.core.logging/DefaultWisefyLogger/wtf/#kotlin.String#kotlin.Throwable#kotlin.String#kotlin.Array[kotlin.Any]/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.logging/-default-wisefy-logger/wtf.md
+$dokka.location:com.isupatches.android.wisefy.core.logging/WisefyLogger///PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md
+$dokka.location:com.isupatches.android.wisefy.core.logging/WisefyLogger/d/#kotlin.String#kotlin.String#kotlin.Array[kotlin.Any]/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/d.md
+$dokka.location:com.isupatches.android.wisefy.core.logging/WisefyLogger/e/#kotlin.String#kotlin.String#kotlin.Array[kotlin.Any]/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/e.md
+$dokka.location:com.isupatches.android.wisefy.core.logging/WisefyLogger/e/#kotlin.String#kotlin.Throwable#kotlin.String#kotlin.Array[kotlin.Any]/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/e.md
+$dokka.location:com.isupatches.android.wisefy.core.logging/WisefyLogger/i/#kotlin.String#kotlin.String#kotlin.Array[kotlin.Any]/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/i.md
+$dokka.location:com.isupatches.android.wisefy.core.logging/WisefyLogger/v/#kotlin.String#kotlin.String#kotlin.Array[kotlin.Any]/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/v.md
+$dokka.location:com.isupatches.android.wisefy.core.logging/WisefyLogger/w/#kotlin.String#kotlin.String#kotlin.Array[kotlin.Any]/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/w.md
+$dokka.location:com.isupatches.android.wisefy.core.logging/WisefyLogger/wtf/#kotlin.String#kotlin.String#kotlin.Array[kotlin.Any]/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/wtf.md
+$dokka.location:com.isupatches.android.wisefy.core.logging/WisefyLogger/wtf/#kotlin.String#kotlin.Throwable#kotlin.String#kotlin.Array[kotlin.Any]/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/wtf.md
+$dokka.location:com.isupatches.android.wisefy.core.util////PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.util/index.md
+$dokka.location:com.isupatches.android.wisefy.core.util//withTimeout/#kotlin.Int#kotlin.Function0[kotlin.Boolean]/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.util/with-timeout.md
+$dokka.location:com.isupatches.android.wisefy.core.util//withTimeoutAsync/#kotlin.Int#kotlin.coroutines.SuspendFunction0[kotlin.Boolean]/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.util/with-timeout-async.md
+$dokka.location:com.isupatches.android.wisefy.core.util/SdkUtil///PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md
+$dokka.location:com.isupatches.android.wisefy.core.util/SdkUtil/isAtLeastP/#/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.util/-sdk-util/is-at-least-p.md
+$dokka.location:com.isupatches.android.wisefy.core.util/SdkUtil/isAtLeastQ/#/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.util/-sdk-util/is-at-least-q.md
+$dokka.location:com.isupatches.android.wisefy.core.util/SdkUtil/isAtLeastR/#/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.util/-sdk-util/is-at-least-r.md
+$dokka.location:com.isupatches.android.wisefy.core.util/SdkUtil/isAtLeastS/#/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.util/-sdk-util/is-at-least-s.md
+$dokka.location:com.isupatches.android.wisefy.core.util/SdkUtil/isAtLeastT/#/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.util/-sdk-util/is-at-least-t.md
+$dokka.location:com.isupatches.android.wisefy.core.util/SdkUtilImpl///PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.util/-sdk-util-impl/index.md
+$dokka.location:com.isupatches.android.wisefy.core.util/SdkUtilImpl/SdkUtilImpl/#/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.util/-sdk-util-impl/-sdk-util-impl.md
+$dokka.location:com.isupatches.android.wisefy.core.util/SdkUtilImpl/isAtLeastP/#/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.util/-sdk-util-impl/is-at-least-p.md
+$dokka.location:com.isupatches.android.wisefy.core.util/SdkUtilImpl/isAtLeastQ/#/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.util/-sdk-util-impl/is-at-least-q.md
+$dokka.location:com.isupatches.android.wisefy.core.util/SdkUtilImpl/isAtLeastR/#/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.util/-sdk-util-impl/is-at-least-r.md
+$dokka.location:com.isupatches.android.wisefy.core.util/SdkUtilImpl/isAtLeastS/#/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.util/-sdk-util-impl/is-at-least-s.md
+$dokka.location:com.isupatches.android.wisefy.core.util/SdkUtilImpl/isAtLeastT/#/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.util/-sdk-util-impl/is-at-least-t.md
+$dokka.location:com.isupatches.android.wisefy.core.wifimanager.legacy////PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.wifimanager.legacy/index.md
+$dokka.location:com.isupatches.android.wisefy.core.wifimanager.legacy//createOpenNetworkConfiguration/#kotlin.String#kotlin.String?/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.wifimanager.legacy/create-open-network-configuration.md
+$dokka.location:com.isupatches.android.wisefy.core.wifimanager.legacy//createWPA2NetworkConfiguration/#kotlin.String#kotlin.String#kotlin.String?/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.wifimanager.legacy/create-w-p-a2-network-configuration.md
+$dokka.location:com.isupatches.android.wisefy.core.wifimanager////PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.wifimanager/index.md
+$dokka.location:com.isupatches.android.wisefy.core.wifimanager//createOpenNetworkSuggestion/#kotlin.String#kotlin.String?/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.wifimanager/create-open-network-suggestion.md
+$dokka.location:com.isupatches.android.wisefy.core.wifimanager//createWPA2NetworkSuggestion/#kotlin.String#kotlin.String#kotlin.String?/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.wifimanager/create-w-p-a2-network-suggestion.md
+$dokka.location:com.isupatches.android.wisefy.core.wifimanager//createWPA3NetworkSuggestion/#kotlin.String#kotlin.String#kotlin.String?/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core.wifimanager/create-w-p-a3-network-suggestion.md
+$dokka.location:com.isupatches.android.wisefy.core////PointingToDeclaration/core/core/com.isupatches.android.wisefy.core/index.md
+$dokka.location:com.isupatches.android.wisefy.core//bssidWithoutQuotes/android.net.wifi.ScanResult#/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core/bssid-without-quotes.md
+$dokka.location:com.isupatches.android.wisefy.core//bssidWithoutQuotes/android.net.wifi.WifiConfiguration#/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core/bssid-without-quotes.md
+$dokka.location:com.isupatches.android.wisefy.core//bssidWithoutQuotes/android.net.wifi.WifiInfo#/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core/bssid-without-quotes.md
+$dokka.location:com.isupatches.android.wisefy.core//bssidWithoutQuotes/android.net.wifi.WifiNetworkSuggestion#/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core/bssid-without-quotes.md
+$dokka.location:com.isupatches.android.wisefy.core//hasBSSIDMatchingRegex/android.net.wifi.ScanResult#kotlin.String/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core/has-b-s-s-i-d-matching-regex.md
+$dokka.location:com.isupatches.android.wisefy.core//hasBSSIDMatchingRegex/android.net.wifi.WifiConfiguration#kotlin.String/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core/has-b-s-s-i-d-matching-regex.md
+$dokka.location:com.isupatches.android.wisefy.core//hasBSSIDMatchingRegex/android.net.wifi.WifiNetworkSuggestion#kotlin.String/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core/has-b-s-s-i-d-matching-regex.md
+$dokka.location:com.isupatches.android.wisefy.core//hasSSIDMatchingRegex/android.net.wifi.ScanResult#kotlin.String/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core/has-s-s-i-d-matching-regex.md
+$dokka.location:com.isupatches.android.wisefy.core//hasSSIDMatchingRegex/android.net.wifi.WifiConfiguration#kotlin.String/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core/has-s-s-i-d-matching-regex.md
+$dokka.location:com.isupatches.android.wisefy.core//hasSSIDMatchingRegex/android.net.wifi.WifiNetworkSuggestion#kotlin.String/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core/has-s-s-i-d-matching-regex.md
+$dokka.location:com.isupatches.android.wisefy.core//ssidWithoutQuotes/android.net.wifi.ScanResult#/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core/ssid-without-quotes.md
+$dokka.location:com.isupatches.android.wisefy.core//ssidWithoutQuotes/android.net.wifi.WifiConfiguration#/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core/ssid-without-quotes.md
+$dokka.location:com.isupatches.android.wisefy.core//ssidWithoutQuotes/android.net.wifi.WifiInfo#/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core/ssid-without-quotes.md
+$dokka.location:com.isupatches.android.wisefy.core//ssidWithoutQuotes/android.net.wifi.WifiNetworkSuggestion#/PointingToDeclaration/core/core/com.isupatches.android.wisefy.core/ssid-without-quotes.md
+$dokka.location:com.isupatches.android.wisefy.ktx////PointingToDeclaration/ktx/ktx/com.isupatches.android.wisefy.ktx/index.md
+$dokka.location:com.isupatches.android.wisefy.ktx//addNetworkAsync/com.isupatches.android.wisefy.WisefyApi#com.isupatches.android.wisefy.addnetwork.entities.AddNetworkRequest/PointingToDeclaration/ktx/ktx/com.isupatches.android.wisefy.ktx/add-network-async.md
+$dokka.location:com.isupatches.android.wisefy.ktx//changeNetworkAsync/com.isupatches.android.wisefy.WisefyApi#com.isupatches.android.wisefy.networkconnection.entities.ChangeNetworkRequest/PointingToDeclaration/ktx/ktx/com.isupatches.android.wisefy.ktx/change-network-async.md
+$dokka.location:com.isupatches.android.wisefy.ktx//disableWifiAsync/com.isupatches.android.wisefy.WisefyApi#com.isupatches.android.wisefy.wifi.entities.DisableWifiRequest/PointingToDeclaration/ktx/ktx/com.isupatches.android.wisefy.ktx/disable-wifi-async.md
+$dokka.location:com.isupatches.android.wisefy.ktx//enableWifiAsync/com.isupatches.android.wisefy.WisefyApi#com.isupatches.android.wisefy.wifi.entities.EnableWifiRequest/PointingToDeclaration/ktx/ktx/com.isupatches.android.wisefy.ktx/enable-wifi-async.md
+$dokka.location:com.isupatches.android.wisefy.ktx//getAccessPointsAsync/com.isupatches.android.wisefy.WisefyApi#com.isupatches.android.wisefy.accesspoints.entities.GetAccessPointsQuery/PointingToDeclaration/ktx/ktx/com.isupatches.android.wisefy.ktx/get-access-points-async.md
+$dokka.location:com.isupatches.android.wisefy.ktx//getCurrentNetworkAsync/com.isupatches.android.wisefy.WisefyApi#com.isupatches.android.wisefy.networkinfo.entities.GetCurrentNetworkQuery/PointingToDeclaration/ktx/ktx/com.isupatches.android.wisefy.ktx/get-current-network-async.md
+$dokka.location:com.isupatches.android.wisefy.ktx//getNetworkConnectionStatusAsync/com.isupatches.android.wisefy.WisefyApi#com.isupatches.android.wisefy.networkinfo.entities.GetNetworkConnectionStatusQuery/PointingToDeclaration/ktx/ktx/com.isupatches.android.wisefy.ktx/get-network-connection-status-async.md
+$dokka.location:com.isupatches.android.wisefy.ktx//getSavedNetworksAsync/com.isupatches.android.wisefy.WisefyApi#com.isupatches.android.wisefy.savednetworks.entities.GetSavedNetworksQuery/PointingToDeclaration/ktx/ktx/com.isupatches.android.wisefy.ktx/get-saved-networks-async.md
+$dokka.location:com.isupatches.android.wisefy.ktx//isNetworkSavedAsync/com.isupatches.android.wisefy.WisefyApi#com.isupatches.android.wisefy.savednetworks.entities.IsNetworkSavedQuery/PointingToDeclaration/ktx/ktx/com.isupatches.android.wisefy.ktx/is-network-saved-async.md
+$dokka.location:com.isupatches.android.wisefy.ktx//isWifiEnabledAsync/com.isupatches.android.wisefy.WisefyApi#com.isupatches.android.wisefy.wifi.entities.IsWifiEnabledQuery/PointingToDeclaration/ktx/ktx/com.isupatches.android.wisefy.ktx/is-wifi-enabled-async.md
+$dokka.location:com.isupatches.android.wisefy.ktx//removeNetworkAsync/com.isupatches.android.wisefy.WisefyApi#com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkRequest/PointingToDeclaration/ktx/ktx/com.isupatches.android.wisefy.ktx/remove-network-async.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.callbacks////PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.callbacks/index.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.callbacks/ChangeNetworkCallbacks///PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.callbacks/-change-network-callbacks/index.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.callbacks/ChangeNetworkCallbacks/onFailureChangingNetworks/#com.isupatches.android.wisefy.networkconnection.entities.ChangeNetworkResult.Failure/PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.callbacks/-change-network-callbacks/on-failure-changing-networks.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.callbacks/ChangeNetworkCallbacks/onSuccessChangingNetworks/#com.isupatches.android.wisefy.networkconnection.entities.ChangeNetworkResult.Success/PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.callbacks/-change-network-callbacks/on-success-changing-networks.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.callbacks/ConnectToNetworkCallbacks///PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.callbacks/-connect-to-network-callbacks/index.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.callbacks/ConnectToNetworkCallbacks/onFailureConnectingToNetwork/#com.isupatches.android.wisefy.networkconnection.entities.ConnectToNetworkResult.Failure/PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.callbacks/-connect-to-network-callbacks/on-failure-connecting-to-network.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.callbacks/ConnectToNetworkCallbacks/onSuccessConnectingToNetwork/#com.isupatches.android.wisefy.networkconnection.entities.ConnectToNetworkResult.Success/PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.callbacks/-connect-to-network-callbacks/on-success-connecting-to-network.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.callbacks/DisconnectFromCurrentNetworkCallbacks///PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.callbacks/-disconnect-from-current-network-callbacks/index.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.callbacks/DisconnectFromCurrentNetworkCallbacks/onFailureDisconnectingFromCurrentNetwork/#com.isupatches.android.wisefy.networkconnection.entities.DisconnectFromCurrentNetworkResult.Failure/PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.callbacks/-disconnect-from-current-network-callbacks/on-failure-disconnecting-from-current-network.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.callbacks/DisconnectFromCurrentNetworkCallbacks/onSuccessDisconnectingFromCurrentNetwork/#com.isupatches.android.wisefy.networkconnection.entities.DisconnectFromCurrentNetworkResult.Success/PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.callbacks/-disconnect-from-current-network-callbacks/on-success-disconnecting-from-current-network.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.entities////PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/index.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/ChangeNetworkRequest///PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-change-network-request/index.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/ChangeNetworkRequest/ChangeNetworkRequest/#android.content.Context/PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-change-network-request/-change-network-request.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/ChangeNetworkRequest/context/#/PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-change-network-request/context.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/ChangeNetworkResult.Failure.Assertion///PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-change-network-result/-failure/-assertion/index.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/ChangeNetworkResult.Failure.Assertion/Assertion/#kotlin.String/PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-change-network-result/-failure/-assertion/-assertion.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/ChangeNetworkResult.Failure.Assertion/message/#/PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-change-network-result/-failure/-assertion/message.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/ChangeNetworkResult.Failure///PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-change-network-result/-failure/index.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/ChangeNetworkResult.Success.InternetConnectivityPanelOpened///PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-change-network-result/-success/-internet-connectivity-panel-opened/index.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/ChangeNetworkResult.Success///PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-change-network-result/-success/index.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/ChangeNetworkResult///PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-change-network-result/index.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/ConnectToNetworkRequest.BSSID///PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/-b-s-s-i-d/index.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/ConnectToNetworkRequest.BSSID/BSSID/#kotlin.String#kotlin.Int/PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/-b-s-s-i-d/-b-s-s-i-d.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/ConnectToNetworkRequest.BSSID/bssid/#/PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/-b-s-s-i-d/bssid.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/ConnectToNetworkRequest.BSSID/timeoutInMillis/#/PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/-b-s-s-i-d/timeout-in-millis.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/ConnectToNetworkRequest.SSID///PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/-s-s-i-d/index.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/ConnectToNetworkRequest.SSID/SSID/#kotlin.String#kotlin.Int/PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/-s-s-i-d/-s-s-i-d.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/ConnectToNetworkRequest.SSID/ssid/#/PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/-s-s-i-d/ssid.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/ConnectToNetworkRequest.SSID/timeoutInMillis/#/PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/-s-s-i-d/timeout-in-millis.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/ConnectToNetworkRequest///PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/index.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/ConnectToNetworkRequest/timeoutInMillis/#/PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-request/timeout-in-millis.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/ConnectToNetworkResult.Failure.Assertion///PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/-failure/-assertion/index.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/ConnectToNetworkResult.Failure.Assertion/Assertion/#kotlin.String/PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/-failure/-assertion/-assertion.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/ConnectToNetworkResult.Failure.Assertion/message/#/PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/-failure/-assertion/message.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/ConnectToNetworkResult.Failure.False///PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/-failure/-false/index.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/ConnectToNetworkResult.Failure.NetworkNotFound///PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/-failure/-network-not-found/index.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/ConnectToNetworkResult.Failure///PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/-failure/index.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/ConnectToNetworkResult.Success.True///PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/-success/-true/index.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/ConnectToNetworkResult.Success///PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/-success/index.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/ConnectToNetworkResult///PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-connect-to-network-result/index.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/DisconnectFromCurrentNetworkRequest///PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-request/index.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/DisconnectFromCurrentNetworkRequest/DisconnectFromCurrentNetworkRequest/#/PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-request/-disconnect-from-current-network-request.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/DisconnectFromCurrentNetworkResult.Failure.Assertion///PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-result/-failure/-assertion/index.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/DisconnectFromCurrentNetworkResult.Failure.Assertion/Assertion/#kotlin.String/PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-result/-failure/-assertion/-assertion.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/DisconnectFromCurrentNetworkResult.Failure.Assertion/message/#/PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-result/-failure/-assertion/message.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/DisconnectFromCurrentNetworkResult.Failure.False///PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-result/-failure/-false/index.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/DisconnectFromCurrentNetworkResult.Failure///PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-result/-failure/index.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/DisconnectFromCurrentNetworkResult.Success.True///PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-result/-success/-true/index.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/DisconnectFromCurrentNetworkResult.Success///PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-result/-success/index.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection.entities/DisconnectFromCurrentNetworkResult///PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection.entities/-disconnect-from-current-network-result/index.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection////PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/index.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection/NetworkConnectionApi///PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-network-connection-api/index.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection/NetworkConnectionApi/changeNetwork/#com.isupatches.android.wisefy.networkconnection.entities.ChangeNetworkRequest/PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-network-connection-api/change-network.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection/NetworkConnectionApi/connectToNetwork/#com.isupatches.android.wisefy.networkconnection.entities.ConnectToNetworkRequest/PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-network-connection-api/connect-to-network.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection/NetworkConnectionApi/disconnectFromCurrentNetwork/#com.isupatches.android.wisefy.networkconnection.entities.DisconnectFromCurrentNetworkRequest/PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-network-connection-api/disconnect-from-current-network.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection/NetworkConnectionApiAsync///PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-network-connection-api-async/index.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection/NetworkConnectionApiAsync/changeNetwork/#com.isupatches.android.wisefy.networkconnection.entities.ChangeNetworkRequest#com.isupatches.android.wisefy.networkconnection.callbacks.ChangeNetworkCallbacks?/PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-network-connection-api-async/change-network.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection/NetworkConnectionApiAsync/connectToNetwork/#com.isupatches.android.wisefy.networkconnection.entities.ConnectToNetworkRequest#com.isupatches.android.wisefy.networkconnection.callbacks.ConnectToNetworkCallbacks?/PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-network-connection-api-async/connect-to-network.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection/NetworkConnectionApiAsync/disconnectFromCurrentNetwork/#com.isupatches.android.wisefy.networkconnection.entities.DisconnectFromCurrentNetworkRequest#com.isupatches.android.wisefy.networkconnection.callbacks.DisconnectFromCurrentNetworkCallbacks?/PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-network-connection-api-async/disconnect-from-current-network.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection/NetworkConnectionDelegate///PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-network-connection-delegate/index.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection/WisefyNetworkConnectionDelegate.Companion///PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-delegate/-companion/index.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection/WisefyNetworkConnectionDelegate///PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-delegate/index.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection/WisefyNetworkConnectionDelegate/WisefyNetworkConnectionDelegate/#com.isupatches.android.wisefy.core.assertions.WisefyAssertions#android.net.ConnectivityManager#com.isupatches.android.wisefy.core.logging.WisefyLogger#com.isupatches.android.wisefy.core.util.SdkUtil#android.net.wifi.WifiManager#kotlin.coroutines.SuspendFunction0[com.isupatches.android.wisefy.core.entities.NetworkConnectionStatus?]#com.isupatches.android.wisefy.core.coroutines.CoroutineDispatcherProvider#kotlinx.coroutines.CoroutineScope#kotlinx.coroutines.sync.Mutex#com.isupatches.android.wisefy.networkconnection.NetworkConnectionApi/PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-delegate/-wisefy-network-connection-delegate.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection/WisefyNetworkConnectionDelegate/changeNetwork/#com.isupatches.android.wisefy.networkconnection.entities.ChangeNetworkRequest#com.isupatches.android.wisefy.networkconnection.callbacks.ChangeNetworkCallbacks?/PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-delegate/change-network.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection/WisefyNetworkConnectionDelegate/changeNetwork/#com.isupatches.android.wisefy.networkconnection.entities.ChangeNetworkRequest/PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-delegate/change-network.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection/WisefyNetworkConnectionDelegate/connectToNetwork/#com.isupatches.android.wisefy.networkconnection.entities.ConnectToNetworkRequest#com.isupatches.android.wisefy.networkconnection.callbacks.ConnectToNetworkCallbacks?/PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-delegate/connect-to-network.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection/WisefyNetworkConnectionDelegate/connectToNetwork/#com.isupatches.android.wisefy.networkconnection.entities.ConnectToNetworkRequest/PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-delegate/connect-to-network.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection/WisefyNetworkConnectionDelegate/disconnectFromCurrentNetwork/#com.isupatches.android.wisefy.networkconnection.entities.DisconnectFromCurrentNetworkRequest#com.isupatches.android.wisefy.networkconnection.callbacks.DisconnectFromCurrentNetworkCallbacks?/PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-delegate/disconnect-from-current-network.md
+$dokka.location:com.isupatches.android.wisefy.networkconnection/WisefyNetworkConnectionDelegate/disconnectFromCurrentNetwork/#com.isupatches.android.wisefy.networkconnection.entities.DisconnectFromCurrentNetworkRequest/PointingToDeclaration/networkconnection/networkconnection/com.isupatches.android.wisefy.networkconnection/-wisefy-network-connection-delegate/disconnect-from-current-network.md
+$dokka.location:com.isupatches.android.wisefy.networkinfo.callbacks////PointingToDeclaration/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.callbacks/index.md
+$dokka.location:com.isupatches.android.wisefy.networkinfo.callbacks/GetCurrentNetworkCallbacks///PointingToDeclaration/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.callbacks/-get-current-network-callbacks/index.md
+$dokka.location:com.isupatches.android.wisefy.networkinfo.callbacks/GetCurrentNetworkCallbacks/onCurrentNetworkRetrieved/#com.isupatches.android.wisefy.networkinfo.entities.NetworkData/PointingToDeclaration/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.callbacks/-get-current-network-callbacks/on-current-network-retrieved.md
+$dokka.location:com.isupatches.android.wisefy.networkinfo.callbacks/GetNetworkConnectionStatusCallbacks///PointingToDeclaration/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.callbacks/-get-network-connection-status-callbacks/index.md
+$dokka.location:com.isupatches.android.wisefy.networkinfo.callbacks/GetNetworkConnectionStatusCallbacks/onDeviceNetworkConnectionStatusRetrieved/#com.isupatches.android.wisefy.networkinfo.entities.NetworkConnectionStatusData/PointingToDeclaration/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.callbacks/-get-network-connection-status-callbacks/on-device-network-connection-status-retrieved.md
+$dokka.location:com.isupatches.android.wisefy.networkinfo.entities////PointingToDeclaration/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/index.md
+$dokka.location:com.isupatches.android.wisefy.networkinfo.entities/GetCurrentNetworkQuery///PointingToDeclaration/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-current-network-query/index.md
+$dokka.location:com.isupatches.android.wisefy.networkinfo.entities/GetCurrentNetworkQuery/GetCurrentNetworkQuery/#/PointingToDeclaration/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-current-network-query/-get-current-network-query.md
+$dokka.location:com.isupatches.android.wisefy.networkinfo.entities/GetCurrentNetworkResult///PointingToDeclaration/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-current-network-result/index.md
+$dokka.location:com.isupatches.android.wisefy.networkinfo.entities/GetCurrentNetworkResult/GetCurrentNetworkResult/#com.isupatches.android.wisefy.networkinfo.entities.NetworkData/PointingToDeclaration/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-current-network-result/-get-current-network-result.md
+$dokka.location:com.isupatches.android.wisefy.networkinfo.entities/GetCurrentNetworkResult/value/#/PointingToDeclaration/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-current-network-result/value.md
+$dokka.location:com.isupatches.android.wisefy.networkinfo.entities/GetNetworkConnectionStatusQuery///PointingToDeclaration/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-network-connection-status-query/index.md
+$dokka.location:com.isupatches.android.wisefy.networkinfo.entities/GetNetworkConnectionStatusQuery/GetNetworkConnectionStatusQuery/#/PointingToDeclaration/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-network-connection-status-query/-get-network-connection-status-query.md
+$dokka.location:com.isupatches.android.wisefy.networkinfo.entities/GetNetworkConnectionStatusResult///PointingToDeclaration/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-network-connection-status-result/index.md
+$dokka.location:com.isupatches.android.wisefy.networkinfo.entities/GetNetworkConnectionStatusResult/GetNetworkConnectionStatusResult/#com.isupatches.android.wisefy.networkinfo.entities.NetworkConnectionStatusData/PointingToDeclaration/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-network-connection-status-result/-get-network-connection-status-result.md
+$dokka.location:com.isupatches.android.wisefy.networkinfo.entities/GetNetworkConnectionStatusResult/value/#/PointingToDeclaration/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-get-network-connection-status-result/value.md
+$dokka.location:com.isupatches.android.wisefy.networkinfo.entities/NetworkConnectionStatusData///PointingToDeclaration/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-connection-status-data/index.md
+$dokka.location:com.isupatches.android.wisefy.networkinfo.entities/NetworkConnectionStatusData/NetworkConnectionStatusData/#kotlin.Boolean#kotlin.Boolean#kotlin.Boolean#kotlin.Boolean#kotlin.String?#kotlin.String?#kotlin.String?/PointingToDeclaration/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-connection-status-data/-network-connection-status-data.md
+$dokka.location:com.isupatches.android.wisefy.networkinfo.entities/NetworkConnectionStatusData/bssidOfNetworkConnectedTo/#/PointingToDeclaration/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-connection-status-data/bssid-of-network-connected-to.md
+$dokka.location:com.isupatches.android.wisefy.networkinfo.entities/NetworkConnectionStatusData/ip/#/PointingToDeclaration/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-connection-status-data/ip.md
+$dokka.location:com.isupatches.android.wisefy.networkinfo.entities/NetworkConnectionStatusData/isConnected/#/PointingToDeclaration/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-connection-status-data/is-connected.md
+$dokka.location:com.isupatches.android.wisefy.networkinfo.entities/NetworkConnectionStatusData/isConnectedToMobileNetwork/#/PointingToDeclaration/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-connection-status-data/is-connected-to-mobile-network.md
+$dokka.location:com.isupatches.android.wisefy.networkinfo.entities/NetworkConnectionStatusData/isConnectedToWifiNetwork/#/PointingToDeclaration/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-connection-status-data/is-connected-to-wifi-network.md
+$dokka.location:com.isupatches.android.wisefy.networkinfo.entities/NetworkConnectionStatusData/isRoaming/#/PointingToDeclaration/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-connection-status-data/is-roaming.md
+$dokka.location:com.isupatches.android.wisefy.networkinfo.entities/NetworkConnectionStatusData/ssidOfNetworkConnectedTo/#/PointingToDeclaration/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-connection-status-data/ssid-of-network-connected-to.md
+$dokka.location:com.isupatches.android.wisefy.networkinfo.entities/NetworkData///PointingToDeclaration/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-data/index.md
+$dokka.location:com.isupatches.android.wisefy.networkinfo.entities/NetworkData/NetworkData/#android.net.Network?#android.net.wifi.WifiInfo?#android.net.NetworkCapabilities?#android.net.LinkProperties?/PointingToDeclaration/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-data/-network-data.md
+$dokka.location:com.isupatches.android.wisefy.networkinfo.entities/NetworkData/capabilities/#/PointingToDeclaration/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-data/capabilities.md
+$dokka.location:com.isupatches.android.wisefy.networkinfo.entities/NetworkData/connectionInfo/#/PointingToDeclaration/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-data/connection-info.md
+$dokka.location:com.isupatches.android.wisefy.networkinfo.entities/NetworkData/linkProperties/#/PointingToDeclaration/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-data/link-properties.md
+$dokka.location:com.isupatches.android.wisefy.networkinfo.entities/NetworkData/network/#/PointingToDeclaration/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo.entities/-network-data/network.md
+$dokka.location:com.isupatches.android.wisefy.networkinfo////PointingToDeclaration/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/index.md
+$dokka.location:com.isupatches.android.wisefy.networkinfo/NetworkInfoApi///PointingToDeclaration/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-network-info-api/index.md
+$dokka.location:com.isupatches.android.wisefy.networkinfo/NetworkInfoApi/getCurrentNetwork/#com.isupatches.android.wisefy.networkinfo.entities.GetCurrentNetworkQuery/PointingToDeclaration/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-network-info-api/get-current-network.md
+$dokka.location:com.isupatches.android.wisefy.networkinfo/NetworkInfoApi/getNetworkConnectionStatus/#com.isupatches.android.wisefy.networkinfo.entities.GetNetworkConnectionStatusQuery/PointingToDeclaration/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-network-info-api/get-network-connection-status.md
+$dokka.location:com.isupatches.android.wisefy.networkinfo/NetworkInfoApiAsync///PointingToDeclaration/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-network-info-api-async/index.md
+$dokka.location:com.isupatches.android.wisefy.networkinfo/NetworkInfoApiAsync/getCurrentNetwork/#com.isupatches.android.wisefy.networkinfo.entities.GetCurrentNetworkQuery#com.isupatches.android.wisefy.networkinfo.callbacks.GetCurrentNetworkCallbacks?/PointingToDeclaration/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-network-info-api-async/get-current-network.md
+$dokka.location:com.isupatches.android.wisefy.networkinfo/NetworkInfoApiAsync/getNetworkConnectionStatus/#com.isupatches.android.wisefy.networkinfo.entities.GetNetworkConnectionStatusQuery#com.isupatches.android.wisefy.networkinfo.callbacks.GetNetworkConnectionStatusCallbacks?/PointingToDeclaration/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-network-info-api-async/get-network-connection-status.md
+$dokka.location:com.isupatches.android.wisefy.networkinfo/NetworkInfoDelegate///PointingToDeclaration/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-network-info-delegate/index.md
+$dokka.location:com.isupatches.android.wisefy.networkinfo/WisefyNetworkInfoDelegate.Companion///PointingToDeclaration/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-delegate/-companion/index.md
+$dokka.location:com.isupatches.android.wisefy.networkinfo/WisefyNetworkInfoDelegate///PointingToDeclaration/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-delegate/index.md
+$dokka.location:com.isupatches.android.wisefy.networkinfo/WisefyNetworkInfoDelegate/WisefyNetworkInfoDelegate/#android.net.ConnectivityManager#com.isupatches.android.wisefy.core.logging.WisefyLogger#com.isupatches.android.wisefy.core.util.SdkUtil#android.net.wifi.WifiManager#kotlin.coroutines.SuspendFunction0[com.isupatches.android.wisefy.core.entities.NetworkConnectionStatus?]#com.isupatches.android.wisefy.core.coroutines.CoroutineDispatcherProvider#kotlinx.coroutines.CoroutineScope#kotlinx.coroutines.sync.Mutex#com.isupatches.android.wisefy.networkinfo.NetworkInfoApi/PointingToDeclaration/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-delegate/-wisefy-network-info-delegate.md
+$dokka.location:com.isupatches.android.wisefy.networkinfo/WisefyNetworkInfoDelegate/getCurrentNetwork/#com.isupatches.android.wisefy.networkinfo.entities.GetCurrentNetworkQuery#com.isupatches.android.wisefy.networkinfo.callbacks.GetCurrentNetworkCallbacks?/PointingToDeclaration/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-delegate/get-current-network.md
+$dokka.location:com.isupatches.android.wisefy.networkinfo/WisefyNetworkInfoDelegate/getCurrentNetwork/#com.isupatches.android.wisefy.networkinfo.entities.GetCurrentNetworkQuery/PointingToDeclaration/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-delegate/get-current-network.md
+$dokka.location:com.isupatches.android.wisefy.networkinfo/WisefyNetworkInfoDelegate/getNetworkConnectionStatus/#com.isupatches.android.wisefy.networkinfo.entities.GetNetworkConnectionStatusQuery#com.isupatches.android.wisefy.networkinfo.callbacks.GetNetworkConnectionStatusCallbacks?/PointingToDeclaration/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-delegate/get-network-connection-status.md
+$dokka.location:com.isupatches.android.wisefy.networkinfo/WisefyNetworkInfoDelegate/getNetworkConnectionStatus/#com.isupatches.android.wisefy.networkinfo.entities.GetNetworkConnectionStatusQuery/PointingToDeclaration/networkinfo/networkinfo/com.isupatches.android.wisefy.networkinfo/-wisefy-network-info-delegate/get-network-connection-status.md
+$dokka.location:com.isupatches.android.wisefy.removenetwork.callbacks////PointingToDeclaration/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.callbacks/index.md
+$dokka.location:com.isupatches.android.wisefy.removenetwork.callbacks/RemoveNetworkCallbacks///PointingToDeclaration/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.callbacks/-remove-network-callbacks/index.md
+$dokka.location:com.isupatches.android.wisefy.removenetwork.callbacks/RemoveNetworkCallbacks/onFailureRemovingNetwork/#com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkResult.Failure/PointingToDeclaration/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.callbacks/-remove-network-callbacks/on-failure-removing-network.md
+$dokka.location:com.isupatches.android.wisefy.removenetwork.callbacks/RemoveNetworkCallbacks/onSuccessRemovingNetwork/#com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkResult.Success/PointingToDeclaration/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.callbacks/-remove-network-callbacks/on-success-removing-network.md
+$dokka.location:com.isupatches.android.wisefy.removenetwork.entities////PointingToDeclaration/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/index.md
+$dokka.location:com.isupatches.android.wisefy.removenetwork.entities/RemoveNetworkRequest.BSSID///PointingToDeclaration/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-request/-b-s-s-i-d/index.md
+$dokka.location:com.isupatches.android.wisefy.removenetwork.entities/RemoveNetworkRequest.BSSID/BSSID/#kotlin.String/PointingToDeclaration/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-request/-b-s-s-i-d/-b-s-s-i-d.md
+$dokka.location:com.isupatches.android.wisefy.removenetwork.entities/RemoveNetworkRequest.BSSID/bssid/#/PointingToDeclaration/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-request/-b-s-s-i-d/bssid.md
+$dokka.location:com.isupatches.android.wisefy.removenetwork.entities/RemoveNetworkRequest.SSID///PointingToDeclaration/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-request/-s-s-i-d/index.md
+$dokka.location:com.isupatches.android.wisefy.removenetwork.entities/RemoveNetworkRequest.SSID/SSID/#kotlin.String/PointingToDeclaration/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-request/-s-s-i-d/-s-s-i-d.md
+$dokka.location:com.isupatches.android.wisefy.removenetwork.entities/RemoveNetworkRequest.SSID/ssid/#/PointingToDeclaration/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-request/-s-s-i-d/ssid.md
+$dokka.location:com.isupatches.android.wisefy.removenetwork.entities/RemoveNetworkRequest///PointingToDeclaration/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-request/index.md
+$dokka.location:com.isupatches.android.wisefy.removenetwork.entities/RemoveNetworkResult.Failure.Assertion///PointingToDeclaration/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-failure/-assertion/index.md
+$dokka.location:com.isupatches.android.wisefy.removenetwork.entities/RemoveNetworkResult.Failure.Assertion/Assertion/#kotlin.String/PointingToDeclaration/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-failure/-assertion/-assertion.md
+$dokka.location:com.isupatches.android.wisefy.removenetwork.entities/RemoveNetworkResult.Failure.Assertion/message/#/PointingToDeclaration/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-failure/-assertion/message.md
+$dokka.location:com.isupatches.android.wisefy.removenetwork.entities/RemoveNetworkResult.Failure.False///PointingToDeclaration/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-failure/-false/index.md
+$dokka.location:com.isupatches.android.wisefy.removenetwork.entities/RemoveNetworkResult.Failure.ResultCode///PointingToDeclaration/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-failure/-result-code/index.md
+$dokka.location:com.isupatches.android.wisefy.removenetwork.entities/RemoveNetworkResult.Failure.ResultCode/ResultCode/#kotlin.Int/PointingToDeclaration/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-failure/-result-code/-result-code.md
+$dokka.location:com.isupatches.android.wisefy.removenetwork.entities/RemoveNetworkResult.Failure.ResultCode/value/#/PointingToDeclaration/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-failure/-result-code/value.md
+$dokka.location:com.isupatches.android.wisefy.removenetwork.entities/RemoveNetworkResult.Failure///PointingToDeclaration/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-failure/index.md
+$dokka.location:com.isupatches.android.wisefy.removenetwork.entities/RemoveNetworkResult.Success.ResultCode///PointingToDeclaration/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-success/-result-code/index.md
+$dokka.location:com.isupatches.android.wisefy.removenetwork.entities/RemoveNetworkResult.Success.ResultCode/ResultCode/#kotlin.Int/PointingToDeclaration/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-success/-result-code/-result-code.md
+$dokka.location:com.isupatches.android.wisefy.removenetwork.entities/RemoveNetworkResult.Success.ResultCode/value/#/PointingToDeclaration/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-success/-result-code/value.md
+$dokka.location:com.isupatches.android.wisefy.removenetwork.entities/RemoveNetworkResult.Success.True///PointingToDeclaration/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-success/-true/index.md
+$dokka.location:com.isupatches.android.wisefy.removenetwork.entities/RemoveNetworkResult.Success///PointingToDeclaration/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-success/index.md
+$dokka.location:com.isupatches.android.wisefy.removenetwork.entities/RemoveNetworkResult///PointingToDeclaration/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/index.md
+$dokka.location:com.isupatches.android.wisefy.removenetwork////PointingToDeclaration/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork/index.md
+$dokka.location:com.isupatches.android.wisefy.removenetwork/RemoveNetworkApi///PointingToDeclaration/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork/-remove-network-api/index.md
+$dokka.location:com.isupatches.android.wisefy.removenetwork/RemoveNetworkApi/removeNetwork/#com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkRequest/PointingToDeclaration/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork/-remove-network-api/remove-network.md
+$dokka.location:com.isupatches.android.wisefy.removenetwork/RemoveNetworkApiAsync///PointingToDeclaration/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork/-remove-network-api-async/index.md
+$dokka.location:com.isupatches.android.wisefy.removenetwork/RemoveNetworkApiAsync/removeNetwork/#com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkRequest#com.isupatches.android.wisefy.removenetwork.callbacks.RemoveNetworkCallbacks?/PointingToDeclaration/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork/-remove-network-api-async/remove-network.md
+$dokka.location:com.isupatches.android.wisefy.removenetwork/RemoveNetworkDelegate///PointingToDeclaration/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork/-remove-network-delegate/index.md
+$dokka.location:com.isupatches.android.wisefy.removenetwork/WisefyRemoveNetworkDelegate.Companion///PointingToDeclaration/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork/-wisefy-remove-network-delegate/-companion/index.md
+$dokka.location:com.isupatches.android.wisefy.removenetwork/WisefyRemoveNetworkDelegate///PointingToDeclaration/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork/-wisefy-remove-network-delegate/index.md
+$dokka.location:com.isupatches.android.wisefy.removenetwork/WisefyRemoveNetworkDelegate/WisefyRemoveNetworkDelegate/#com.isupatches.android.wisefy.core.assertions.WisefyAssertions#com.isupatches.android.wisefy.core.logging.WisefyLogger#com.isupatches.android.wisefy.core.util.SdkUtil#android.net.wifi.WifiManager#com.isupatches.android.wisefy.core.coroutines.CoroutineDispatcherProvider#kotlinx.coroutines.CoroutineScope#kotlinx.coroutines.sync.Mutex#com.isupatches.android.wisefy.removenetwork.RemoveNetworkApi/PointingToDeclaration/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork/-wisefy-remove-network-delegate/-wisefy-remove-network-delegate.md
+$dokka.location:com.isupatches.android.wisefy.removenetwork/WisefyRemoveNetworkDelegate/removeNetwork/#com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkRequest#com.isupatches.android.wisefy.removenetwork.callbacks.RemoveNetworkCallbacks?/PointingToDeclaration/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork/-wisefy-remove-network-delegate/remove-network.md
+$dokka.location:com.isupatches.android.wisefy.removenetwork/WisefyRemoveNetworkDelegate/removeNetwork/#com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkRequest/PointingToDeclaration/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork/-wisefy-remove-network-delegate/remove-network.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks.callbacks////PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.callbacks/index.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks.callbacks/GetSavedNetworksCallbacks///PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.callbacks/-get-saved-networks-callbacks/index.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks.callbacks/GetSavedNetworksCallbacks/onNoSavedNetworksFound/#/PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.callbacks/-get-saved-networks-callbacks/on-no-saved-networks-found.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks.callbacks/GetSavedNetworksCallbacks/onSavedNetworksRetrieved/#kotlin.collections.List[com.isupatches.android.wisefy.savednetworks.entities.SavedNetworkData]/PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.callbacks/-get-saved-networks-callbacks/on-saved-networks-retrieved.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks.callbacks/IsNetworkSavedCallbacks///PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.callbacks/-is-network-saved-callbacks/index.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks.callbacks/IsNetworkSavedCallbacks/onNetworkIsNotSaved/#/PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.callbacks/-is-network-saved-callbacks/on-network-is-not-saved.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks.callbacks/IsNetworkSavedCallbacks/onNetworkIsSaved/#/PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.callbacks/-is-network-saved-callbacks/on-network-is-saved.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks.entities////PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/index.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks.entities/GetSavedNetworksQuery.All///PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/-all/index.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks.entities/GetSavedNetworksQuery.ByBSSID///PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/-by-b-s-s-i-d/index.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks.entities/GetSavedNetworksQuery.ByBSSID/ByBSSID/#kotlin.String/PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/-by-b-s-s-i-d/-by-b-s-s-i-d.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks.entities/GetSavedNetworksQuery.ByBSSID/regex/#/PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/-by-b-s-s-i-d/regex.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks.entities/GetSavedNetworksQuery.BySSID///PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/-by-s-s-i-d/index.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks.entities/GetSavedNetworksQuery.BySSID/BySSID/#kotlin.String/PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/-by-s-s-i-d/-by-s-s-i-d.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks.entities/GetSavedNetworksQuery.BySSID/regex/#/PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/-by-s-s-i-d/regex.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks.entities/GetSavedNetworksQuery///PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/index.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks.entities/GetSavedNetworksResult.Empty///PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-result/-empty/index.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks.entities/GetSavedNetworksResult.SavedNetworks///PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-result/-saved-networks/index.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks.entities/GetSavedNetworksResult.SavedNetworks/SavedNetworks/#kotlin.collections.List[com.isupatches.android.wisefy.savednetworks.entities.SavedNetworkData]/PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-result/-saved-networks/-saved-networks.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks.entities/GetSavedNetworksResult.SavedNetworks/value/#/PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-result/-saved-networks/value.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks.entities/GetSavedNetworksResult///PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-result/index.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks.entities/IsNetworkSavedQuery.BSSID///PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-query/-b-s-s-i-d/index.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks.entities/IsNetworkSavedQuery.BSSID/BSSID/#kotlin.String/PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-query/-b-s-s-i-d/-b-s-s-i-d.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks.entities/IsNetworkSavedQuery.BSSID/regex/#/PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-query/-b-s-s-i-d/regex.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks.entities/IsNetworkSavedQuery.SSID///PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-query/-s-s-i-d/index.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks.entities/IsNetworkSavedQuery.SSID/SSID/#kotlin.String/PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-query/-s-s-i-d/-s-s-i-d.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks.entities/IsNetworkSavedQuery.SSID/regex/#/PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-query/-s-s-i-d/regex.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks.entities/IsNetworkSavedQuery///PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-query/index.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks.entities/IsNetworkSavedResult.False///PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-result/-false/index.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks.entities/IsNetworkSavedResult.True///PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-result/-true/index.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks.entities/IsNetworkSavedResult///PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-result/index.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks.entities/SavedNetworkData.Configuration///PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-configuration/index.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks.entities/SavedNetworkData.Configuration/Configuration/#android.net.wifi.WifiConfiguration/PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-configuration/-configuration.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks.entities/SavedNetworkData.Configuration/rawValue/#/PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-configuration/raw-value.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks.entities/SavedNetworkData.Suggestion///PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-suggestion/index.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks.entities/SavedNetworkData.Suggestion/Suggestion/#android.net.wifi.WifiNetworkSuggestion/PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-suggestion/-suggestion.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks.entities/SavedNetworkData.Suggestion/rawValue/#/PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-suggestion/raw-value.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks.entities/SavedNetworkData///PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks////PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/index.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks/SavedNetworkApi///PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-saved-network-api/index.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks/SavedNetworkApi/getSavedNetworks/#com.isupatches.android.wisefy.savednetworks.entities.GetSavedNetworksQuery/PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-saved-network-api/get-saved-networks.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks/SavedNetworkApi/isNetworkSaved/#com.isupatches.android.wisefy.savednetworks.entities.IsNetworkSavedQuery/PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-saved-network-api/is-network-saved.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks/SavedNetworkApiAsync///PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-saved-network-api-async/index.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks/SavedNetworkApiAsync/getSavedNetworks/#com.isupatches.android.wisefy.savednetworks.entities.GetSavedNetworksQuery#com.isupatches.android.wisefy.savednetworks.callbacks.GetSavedNetworksCallbacks?/PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-saved-network-api-async/get-saved-networks.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks/SavedNetworkApiAsync/isNetworkSaved/#com.isupatches.android.wisefy.savednetworks.entities.IsNetworkSavedQuery#com.isupatches.android.wisefy.savednetworks.callbacks.IsNetworkSavedCallbacks?/PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-saved-network-api-async/is-network-saved.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks/SavedNetworkDelegate///PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-saved-network-delegate/index.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks/WisefySavedNetworkDelegate.Companion///PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-delegate/-companion/index.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks/WisefySavedNetworkDelegate///PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-delegate/index.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks/WisefySavedNetworkDelegate/WisefySavedNetworkDelegate/#com.isupatches.android.wisefy.core.assertions.WisefyAssertions#com.isupatches.android.wisefy.core.logging.WisefyLogger#com.isupatches.android.wisefy.core.util.SdkUtil#android.net.wifi.WifiManager#com.isupatches.android.wisefy.core.coroutines.CoroutineDispatcherProvider#kotlinx.coroutines.CoroutineScope#kotlinx.coroutines.sync.Mutex#com.isupatches.android.wisefy.savednetworks.SavedNetworkApi/PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-delegate/-wisefy-saved-network-delegate.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks/WisefySavedNetworkDelegate/getSavedNetworks/#com.isupatches.android.wisefy.savednetworks.entities.GetSavedNetworksQuery#com.isupatches.android.wisefy.savednetworks.callbacks.GetSavedNetworksCallbacks?/PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-delegate/get-saved-networks.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks/WisefySavedNetworkDelegate/getSavedNetworks/#com.isupatches.android.wisefy.savednetworks.entities.GetSavedNetworksQuery/PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-delegate/get-saved-networks.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks/WisefySavedNetworkDelegate/isNetworkSaved/#com.isupatches.android.wisefy.savednetworks.entities.IsNetworkSavedQuery#com.isupatches.android.wisefy.savednetworks.callbacks.IsNetworkSavedCallbacks?/PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-delegate/is-network-saved.md
+$dokka.location:com.isupatches.android.wisefy.savednetworks/WisefySavedNetworkDelegate/isNetworkSaved/#com.isupatches.android.wisefy.savednetworks.entities.IsNetworkSavedQuery/PointingToDeclaration/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-delegate/is-network-saved.md
+$dokka.location:com.isupatches.android.wisefy.signal.entities////PointingToDeclaration/signal/signal/com.isupatches.android.wisefy.signal.entities/index.md
+$dokka.location:com.isupatches.android.wisefy.signal.entities/CalculateSignalLevelRequest.Android30AndAbove///PointingToDeclaration/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-request/-android30-and-above/index.md
+$dokka.location:com.isupatches.android.wisefy.signal.entities/CalculateSignalLevelRequest.Android30AndAbove/Android30AndAbove/#kotlin.Int/PointingToDeclaration/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-request/-android30-and-above/-android30-and-above.md
+$dokka.location:com.isupatches.android.wisefy.signal.entities/CalculateSignalLevelRequest.Android30AndAbove/rssiLevel/#/PointingToDeclaration/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-request/-android30-and-above/rssi-level.md
+$dokka.location:com.isupatches.android.wisefy.signal.entities/CalculateSignalLevelRequest.BelowAndroid30///PointingToDeclaration/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-request/-below-android30/index.md
+$dokka.location:com.isupatches.android.wisefy.signal.entities/CalculateSignalLevelRequest.BelowAndroid30/BelowAndroid30/#kotlin.Int#kotlin.Int/PointingToDeclaration/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-request/-below-android30/-below-android30.md
+$dokka.location:com.isupatches.android.wisefy.signal.entities/CalculateSignalLevelRequest.BelowAndroid30/numLevels/#/PointingToDeclaration/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-request/-below-android30/num-levels.md
+$dokka.location:com.isupatches.android.wisefy.signal.entities/CalculateSignalLevelRequest.BelowAndroid30/rssiLevel/#/PointingToDeclaration/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-request/-below-android30/rssi-level.md
+$dokka.location:com.isupatches.android.wisefy.signal.entities/CalculateSignalLevelRequest///PointingToDeclaration/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-request/index.md
+$dokka.location:com.isupatches.android.wisefy.signal.entities/CalculateSignalLevelResult.Failure.Assertion///PointingToDeclaration/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-result/-failure/-assertion/index.md
+$dokka.location:com.isupatches.android.wisefy.signal.entities/CalculateSignalLevelResult.Failure.Assertion/Assertion/#kotlin.String/PointingToDeclaration/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-result/-failure/-assertion/-assertion.md
+$dokka.location:com.isupatches.android.wisefy.signal.entities/CalculateSignalLevelResult.Failure.Assertion/message/#/PointingToDeclaration/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-result/-failure/-assertion/message.md
+$dokka.location:com.isupatches.android.wisefy.signal.entities/CalculateSignalLevelResult.Failure///PointingToDeclaration/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-result/-failure/index.md
+$dokka.location:com.isupatches.android.wisefy.signal.entities/CalculateSignalLevelResult.Success///PointingToDeclaration/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-result/-success/index.md
+$dokka.location:com.isupatches.android.wisefy.signal.entities/CalculateSignalLevelResult.Success/Success/#kotlin.Int/PointingToDeclaration/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-result/-success/-success.md
+$dokka.location:com.isupatches.android.wisefy.signal.entities/CalculateSignalLevelResult.Success/value/#/PointingToDeclaration/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-result/-success/value.md
+$dokka.location:com.isupatches.android.wisefy.signal.entities/CalculateSignalLevelResult///PointingToDeclaration/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-result/index.md
+$dokka.location:com.isupatches.android.wisefy.signal.entities/CompareSignalLevelRequest///PointingToDeclaration/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-request/index.md
+$dokka.location:com.isupatches.android.wisefy.signal.entities/CompareSignalLevelRequest/CompareSignalLevelRequest/#kotlin.Int#kotlin.Int/PointingToDeclaration/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-request/-compare-signal-level-request.md
+$dokka.location:com.isupatches.android.wisefy.signal.entities/CompareSignalLevelRequest/rssi1/#/PointingToDeclaration/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-request/rssi1.md
+$dokka.location:com.isupatches.android.wisefy.signal.entities/CompareSignalLevelRequest/rssi2/#/PointingToDeclaration/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-request/rssi2.md
+$dokka.location:com.isupatches.android.wisefy.signal.entities/CompareSignalLevelResult.Success.FirstRSSIValueIsStronger///PointingToDeclaration/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/-success/-first-r-s-s-i-value-is-stronger/index.md
+$dokka.location:com.isupatches.android.wisefy.signal.entities/CompareSignalLevelResult.Success.FirstRSSIValueIsStronger/FirstRSSIValueIsStronger/#kotlin.Int/PointingToDeclaration/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/-success/-first-r-s-s-i-value-is-stronger/-first-r-s-s-i-value-is-stronger.md
+$dokka.location:com.isupatches.android.wisefy.signal.entities/CompareSignalLevelResult.Success.FirstRSSIValueIsStronger/value/#/PointingToDeclaration/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/-success/-first-r-s-s-i-value-is-stronger/value.md
+$dokka.location:com.isupatches.android.wisefy.signal.entities/CompareSignalLevelResult.Success.FirstRSSIValueIsWeaker///PointingToDeclaration/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/-success/-first-r-s-s-i-value-is-weaker/index.md
+$dokka.location:com.isupatches.android.wisefy.signal.entities/CompareSignalLevelResult.Success.FirstRSSIValueIsWeaker/FirstRSSIValueIsWeaker/#kotlin.Int/PointingToDeclaration/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/-success/-first-r-s-s-i-value-is-weaker/-first-r-s-s-i-value-is-weaker.md
+$dokka.location:com.isupatches.android.wisefy.signal.entities/CompareSignalLevelResult.Success.FirstRSSIValueIsWeaker/value/#/PointingToDeclaration/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/-success/-first-r-s-s-i-value-is-weaker/value.md
+$dokka.location:com.isupatches.android.wisefy.signal.entities/CompareSignalLevelResult.Success.RSSIValuesAreEqual///PointingToDeclaration/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/-success/-r-s-s-i-values-are-equal/index.md
+$dokka.location:com.isupatches.android.wisefy.signal.entities/CompareSignalLevelResult.Success.RSSIValuesAreEqual/RSSIValuesAreEqual/#kotlin.Int/PointingToDeclaration/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/-success/-r-s-s-i-values-are-equal/-r-s-s-i-values-are-equal.md
+$dokka.location:com.isupatches.android.wisefy.signal.entities/CompareSignalLevelResult.Success.RSSIValuesAreEqual/value/#/PointingToDeclaration/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/-success/-r-s-s-i-values-are-equal/value.md
+$dokka.location:com.isupatches.android.wisefy.signal.entities/CompareSignalLevelResult.Success///PointingToDeclaration/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/-success/index.md
+$dokka.location:com.isupatches.android.wisefy.signal.entities/CompareSignalLevelResult.Success/value/#/PointingToDeclaration/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/-success/value.md
+$dokka.location:com.isupatches.android.wisefy.signal.entities/CompareSignalLevelResult///PointingToDeclaration/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/index.md
+$dokka.location:com.isupatches.android.wisefy.signal////PointingToDeclaration/signal/signal/com.isupatches.android.wisefy.signal/index.md
+$dokka.location:com.isupatches.android.wisefy.signal/SignalApi///PointingToDeclaration/signal/signal/com.isupatches.android.wisefy.signal/-signal-api/index.md
+$dokka.location:com.isupatches.android.wisefy.signal/SignalApi/calculateSignalLevel/#com.isupatches.android.wisefy.signal.entities.CalculateSignalLevelRequest/PointingToDeclaration/signal/signal/com.isupatches.android.wisefy.signal/-signal-api/calculate-signal-level.md
+$dokka.location:com.isupatches.android.wisefy.signal/SignalApi/compareSignalLevel/#com.isupatches.android.wisefy.signal.entities.CompareSignalLevelRequest/PointingToDeclaration/signal/signal/com.isupatches.android.wisefy.signal/-signal-api/compare-signal-level.md
+$dokka.location:com.isupatches.android.wisefy.signal/SignalDelegate///PointingToDeclaration/signal/signal/com.isupatches.android.wisefy.signal/-signal-delegate/index.md
+$dokka.location:com.isupatches.android.wisefy.signal/WisefySignalDelegate.Companion///PointingToDeclaration/signal/signal/com.isupatches.android.wisefy.signal/-wisefy-signal-delegate/-companion/index.md
+$dokka.location:com.isupatches.android.wisefy.signal/WisefySignalDelegate///PointingToDeclaration/signal/signal/com.isupatches.android.wisefy.signal/-wisefy-signal-delegate/index.md
+$dokka.location:com.isupatches.android.wisefy.signal/WisefySignalDelegate/WisefySignalDelegate/#com.isupatches.android.wisefy.core.assertions.WisefyAssertions#com.isupatches.android.wisefy.core.logging.WisefyLogger#com.isupatches.android.wisefy.core.util.SdkUtil#android.net.wifi.WifiManager#com.isupatches.android.wisefy.signal.SignalApi/PointingToDeclaration/signal/signal/com.isupatches.android.wisefy.signal/-wisefy-signal-delegate/-wisefy-signal-delegate.md
+$dokka.location:com.isupatches.android.wisefy.signal/WisefySignalDelegate/calculateSignalLevel/#com.isupatches.android.wisefy.signal.entities.CalculateSignalLevelRequest/PointingToDeclaration/signal/signal/com.isupatches.android.wisefy.signal/-wisefy-signal-delegate/calculate-signal-level.md
+$dokka.location:com.isupatches.android.wisefy.signal/WisefySignalDelegate/compareSignalLevel/#com.isupatches.android.wisefy.signal.entities.CompareSignalLevelRequest/PointingToDeclaration/signal/signal/com.isupatches.android.wisefy.signal/-wisefy-signal-delegate/compare-signal-level.md
+$dokka.location:com.isupatches.android.wisefy.wifi.callbacks////PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi.callbacks/index.md
+$dokka.location:com.isupatches.android.wisefy.wifi.callbacks/DisableWifiCallbacks///PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi.callbacks/-disable-wifi-callbacks/index.md
+$dokka.location:com.isupatches.android.wisefy.wifi.callbacks/DisableWifiCallbacks/onFailureDisablingWifi/#com.isupatches.android.wisefy.wifi.entities.DisableWifiResult.Failure/PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi.callbacks/-disable-wifi-callbacks/on-failure-disabling-wifi.md
+$dokka.location:com.isupatches.android.wisefy.wifi.callbacks/DisableWifiCallbacks/onSuccessDisablingWifi/#com.isupatches.android.wisefy.wifi.entities.DisableWifiResult.Success/PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi.callbacks/-disable-wifi-callbacks/on-success-disabling-wifi.md
+$dokka.location:com.isupatches.android.wisefy.wifi.callbacks/EnableWifiCallbacks///PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi.callbacks/-enable-wifi-callbacks/index.md
+$dokka.location:com.isupatches.android.wisefy.wifi.callbacks/EnableWifiCallbacks/onFailureEnablingWifi/#com.isupatches.android.wisefy.wifi.entities.EnableWifiResult.Failure/PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi.callbacks/-enable-wifi-callbacks/on-failure-enabling-wifi.md
+$dokka.location:com.isupatches.android.wisefy.wifi.callbacks/EnableWifiCallbacks/onSuccessEnablingWifi/#com.isupatches.android.wisefy.wifi.entities.EnableWifiResult.Success/PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi.callbacks/-enable-wifi-callbacks/on-success-enabling-wifi.md
+$dokka.location:com.isupatches.android.wisefy.wifi.callbacks/IsWifiEnabledCallbacks///PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi.callbacks/-is-wifi-enabled-callbacks/index.md
+$dokka.location:com.isupatches.android.wisefy.wifi.callbacks/IsWifiEnabledCallbacks/onWifiIsDisabled/#/PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi.callbacks/-is-wifi-enabled-callbacks/on-wifi-is-disabled.md
+$dokka.location:com.isupatches.android.wisefy.wifi.callbacks/IsWifiEnabledCallbacks/onWifiIsEnabled/#/PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi.callbacks/-is-wifi-enabled-callbacks/on-wifi-is-enabled.md
+$dokka.location:com.isupatches.android.wisefy.wifi.entities////PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/index.md
+$dokka.location:com.isupatches.android.wisefy.wifi.entities/DisableWifiRequest.Android29OrAbove///PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-request/-android29-or-above/index.md
+$dokka.location:com.isupatches.android.wisefy.wifi.entities/DisableWifiRequest.Android29OrAbove/Android29OrAbove/#android.content.Context/PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-request/-android29-or-above/-android29-or-above.md
+$dokka.location:com.isupatches.android.wisefy.wifi.entities/DisableWifiRequest.Android29OrAbove/context/#/PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-request/-android29-or-above/context.md
+$dokka.location:com.isupatches.android.wisefy.wifi.entities/DisableWifiRequest.Default///PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-request/-default/index.md
+$dokka.location:com.isupatches.android.wisefy.wifi.entities/DisableWifiRequest///PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-request/index.md
+$dokka.location:com.isupatches.android.wisefy.wifi.entities/DisableWifiResult.Failure.Assertion///PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/-failure/-assertion/index.md
+$dokka.location:com.isupatches.android.wisefy.wifi.entities/DisableWifiResult.Failure.Assertion/Assertion/#kotlin.String/PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/-failure/-assertion/-assertion.md
+$dokka.location:com.isupatches.android.wisefy.wifi.entities/DisableWifiResult.Failure.Assertion/message/#/PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/-failure/-assertion/message.md
+$dokka.location:com.isupatches.android.wisefy.wifi.entities/DisableWifiResult.Failure.UnableToDisable///PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/-failure/-unable-to-disable/index.md
+$dokka.location:com.isupatches.android.wisefy.wifi.entities/DisableWifiResult.Failure///PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/-failure/index.md
+$dokka.location:com.isupatches.android.wisefy.wifi.entities/DisableWifiResult.Success.Disabled///PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/-success/-disabled/index.md
+$dokka.location:com.isupatches.android.wisefy.wifi.entities/DisableWifiResult.Success.WifiSettingScreenOpened///PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/-success/-wifi-setting-screen-opened/index.md
+$dokka.location:com.isupatches.android.wisefy.wifi.entities/DisableWifiResult.Success///PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/-success/index.md
+$dokka.location:com.isupatches.android.wisefy.wifi.entities/DisableWifiResult///PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/index.md
+$dokka.location:com.isupatches.android.wisefy.wifi.entities/EnableWifiRequest.Android29OrAbove///PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-request/-android29-or-above/index.md
+$dokka.location:com.isupatches.android.wisefy.wifi.entities/EnableWifiRequest.Android29OrAbove/Android29OrAbove/#android.content.Context/PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-request/-android29-or-above/-android29-or-above.md
+$dokka.location:com.isupatches.android.wisefy.wifi.entities/EnableWifiRequest.Android29OrAbove/context/#/PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-request/-android29-or-above/context.md
+$dokka.location:com.isupatches.android.wisefy.wifi.entities/EnableWifiRequest.Default///PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-request/-default/index.md
+$dokka.location:com.isupatches.android.wisefy.wifi.entities/EnableWifiRequest///PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-request/index.md
+$dokka.location:com.isupatches.android.wisefy.wifi.entities/EnableWifiResult.Failure.Assertion///PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/-failure/-assertion/index.md
+$dokka.location:com.isupatches.android.wisefy.wifi.entities/EnableWifiResult.Failure.Assertion/Assertion/#kotlin.String/PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/-failure/-assertion/-assertion.md
+$dokka.location:com.isupatches.android.wisefy.wifi.entities/EnableWifiResult.Failure.Assertion/message/#/PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/-failure/-assertion/message.md
+$dokka.location:com.isupatches.android.wisefy.wifi.entities/EnableWifiResult.Failure.UnableToEnable///PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/-failure/-unable-to-enable/index.md
+$dokka.location:com.isupatches.android.wisefy.wifi.entities/EnableWifiResult.Failure///PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/-failure/index.md
+$dokka.location:com.isupatches.android.wisefy.wifi.entities/EnableWifiResult.Success.Enabled///PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/-success/-enabled/index.md
+$dokka.location:com.isupatches.android.wisefy.wifi.entities/EnableWifiResult.Success.WifiSettingScreenOpened///PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/-success/-wifi-setting-screen-opened/index.md
+$dokka.location:com.isupatches.android.wisefy.wifi.entities/EnableWifiResult.Success///PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/-success/index.md
+$dokka.location:com.isupatches.android.wisefy.wifi.entities/EnableWifiResult///PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/index.md
+$dokka.location:com.isupatches.android.wisefy.wifi.entities/IsWifiEnabledQuery///PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-is-wifi-enabled-query/index.md
+$dokka.location:com.isupatches.android.wisefy.wifi.entities/IsWifiEnabledQuery/IsWifiEnabledQuery/#/PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-is-wifi-enabled-query/-is-wifi-enabled-query.md
+$dokka.location:com.isupatches.android.wisefy.wifi.entities/IsWifiEnabledResult.False///PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-is-wifi-enabled-result/-false/index.md
+$dokka.location:com.isupatches.android.wisefy.wifi.entities/IsWifiEnabledResult.True///PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-is-wifi-enabled-result/-true/index.md
+$dokka.location:com.isupatches.android.wisefy.wifi.entities/IsWifiEnabledResult///PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-is-wifi-enabled-result/index.md
+$dokka.location:com.isupatches.android.wisefy.wifi////PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi/index.md
+$dokka.location:com.isupatches.android.wisefy.wifi/WifiApi///PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi/-wifi-api/index.md
+$dokka.location:com.isupatches.android.wisefy.wifi/WifiApi/disableWifi/#com.isupatches.android.wisefy.wifi.entities.DisableWifiRequest/PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi/-wifi-api/disable-wifi.md
+$dokka.location:com.isupatches.android.wisefy.wifi/WifiApi/enableWifi/#com.isupatches.android.wisefy.wifi.entities.EnableWifiRequest/PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi/-wifi-api/enable-wifi.md
+$dokka.location:com.isupatches.android.wisefy.wifi/WifiApi/isWifiEnabled/#com.isupatches.android.wisefy.wifi.entities.IsWifiEnabledQuery/PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi/-wifi-api/is-wifi-enabled.md
+$dokka.location:com.isupatches.android.wisefy.wifi/WifiApiAsync///PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi/-wifi-api-async/index.md
+$dokka.location:com.isupatches.android.wisefy.wifi/WifiApiAsync/disableWifi/#com.isupatches.android.wisefy.wifi.entities.DisableWifiRequest#com.isupatches.android.wisefy.wifi.callbacks.DisableWifiCallbacks?/PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi/-wifi-api-async/disable-wifi.md
+$dokka.location:com.isupatches.android.wisefy.wifi/WifiApiAsync/enableWifi/#com.isupatches.android.wisefy.wifi.entities.EnableWifiRequest#com.isupatches.android.wisefy.wifi.callbacks.EnableWifiCallbacks?/PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi/-wifi-api-async/enable-wifi.md
+$dokka.location:com.isupatches.android.wisefy.wifi/WifiApiAsync/isWifiEnabled/#com.isupatches.android.wisefy.wifi.entities.IsWifiEnabledQuery#com.isupatches.android.wisefy.wifi.callbacks.IsWifiEnabledCallbacks?/PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi/-wifi-api-async/is-wifi-enabled.md
+$dokka.location:com.isupatches.android.wisefy.wifi/WifiDelegate///PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi/-wifi-delegate/index.md
+$dokka.location:com.isupatches.android.wisefy.wifi/WisefyWifiDelegate.Companion///PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi/-wisefy-wifi-delegate/-companion/index.md
+$dokka.location:com.isupatches.android.wisefy.wifi/WisefyWifiDelegate///PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi/-wisefy-wifi-delegate/index.md
+$dokka.location:com.isupatches.android.wisefy.wifi/WisefyWifiDelegate/WisefyWifiDelegate/#com.isupatches.android.wisefy.core.assertions.WisefyAssertions#com.isupatches.android.wisefy.core.logging.WisefyLogger#com.isupatches.android.wisefy.core.util.SdkUtil#android.net.wifi.WifiManager#com.isupatches.android.wisefy.core.coroutines.CoroutineDispatcherProvider#kotlinx.coroutines.CoroutineScope#kotlinx.coroutines.sync.Mutex#com.isupatches.android.wisefy.wifi.WifiApi/PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi/-wisefy-wifi-delegate/-wisefy-wifi-delegate.md
+$dokka.location:com.isupatches.android.wisefy.wifi/WisefyWifiDelegate/disableWifi/#com.isupatches.android.wisefy.wifi.entities.DisableWifiRequest#com.isupatches.android.wisefy.wifi.callbacks.DisableWifiCallbacks?/PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi/-wisefy-wifi-delegate/disable-wifi.md
+$dokka.location:com.isupatches.android.wisefy.wifi/WisefyWifiDelegate/disableWifi/#com.isupatches.android.wisefy.wifi.entities.DisableWifiRequest/PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi/-wisefy-wifi-delegate/disable-wifi.md
+$dokka.location:com.isupatches.android.wisefy.wifi/WisefyWifiDelegate/enableWifi/#com.isupatches.android.wisefy.wifi.entities.EnableWifiRequest#com.isupatches.android.wisefy.wifi.callbacks.EnableWifiCallbacks?/PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi/-wisefy-wifi-delegate/enable-wifi.md
+$dokka.location:com.isupatches.android.wisefy.wifi/WisefyWifiDelegate/enableWifi/#com.isupatches.android.wisefy.wifi.entities.EnableWifiRequest/PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi/-wisefy-wifi-delegate/enable-wifi.md
+$dokka.location:com.isupatches.android.wisefy.wifi/WisefyWifiDelegate/isWifiEnabled/#com.isupatches.android.wisefy.wifi.entities.IsWifiEnabledQuery#com.isupatches.android.wisefy.wifi.callbacks.IsWifiEnabledCallbacks?/PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi/-wisefy-wifi-delegate/is-wifi-enabled.md
+$dokka.location:com.isupatches.android.wisefy.wifi/WisefyWifiDelegate/isWifiEnabled/#com.isupatches.android.wisefy.wifi.entities.IsWifiEnabledQuery/PointingToDeclaration/wifi/wifi/com.isupatches.android.wisefy.wifi/-wisefy-wifi-delegate/is-wifi-enabled.md
+module:accesspoints
+com.isupatches.android.wisefy.accesspoints
+com.isupatches.android.wisefy.accesspoints.callbacks
+com.isupatches.android.wisefy.accesspoints.entities
+module:addnetwork
+com.isupatches.android.wisefy.addnetwork
+com.isupatches.android.wisefy.addnetwork.callbacks
+com.isupatches.android.wisefy.addnetwork.entities
+module:core
+com.isupatches.android.wisefy.core
+com.isupatches.android.wisefy.core.assertions
+com.isupatches.android.wisefy.core.base
+com.isupatches.android.wisefy.core.constants
+com.isupatches.android.wisefy.core.coroutines
+com.isupatches.android.wisefy.core.entities
+com.isupatches.android.wisefy.core.exceptions
+com.isupatches.android.wisefy.core.logging
+com.isupatches.android.wisefy.core.util
+com.isupatches.android.wisefy.core.wifimanager
+com.isupatches.android.wisefy.core.wifimanager.legacy
+module:ktx
+com.isupatches.android.wisefy.ktx
+module:networkconnection
+com.isupatches.android.wisefy.networkconnection
+com.isupatches.android.wisefy.networkconnection.callbacks
+com.isupatches.android.wisefy.networkconnection.entities
+module:networkinfo
+com.isupatches.android.wisefy.networkinfo
+com.isupatches.android.wisefy.networkinfo.callbacks
+com.isupatches.android.wisefy.networkinfo.entities
+module:removenetwork
+com.isupatches.android.wisefy.removenetwork
+com.isupatches.android.wisefy.removenetwork.callbacks
+com.isupatches.android.wisefy.removenetwork.entities
+module:savednetworks
+com.isupatches.android.wisefy.savednetworks
+com.isupatches.android.wisefy.savednetworks.callbacks
+com.isupatches.android.wisefy.savednetworks.entities
+module:signal
+com.isupatches.android.wisefy.signal
+com.isupatches.android.wisefy.signal.entities
+module:wifi
+com.isupatches.android.wisefy.wifi
+com.isupatches.android.wisefy.wifi.callbacks
+com.isupatches.android.wisefy.wifi.entities
diff --git a/dokka/removenetwork/index.md b/dokka/removenetwork/index.md
new file mode 100644
index 00000000..92656b51
--- /dev/null
+++ b/dokka/removenetwork/index.md
@@ -0,0 +1,11 @@
+//[removenetwork](index.md)
+
+# removenetwork
+
+## Packages
+
+| Name |
+|---|
+| [com.isupatches.android.wisefy.removenetwork](removenetwork/com.isupatches.android.wisefy.removenetwork/index.md) |
+| [com.isupatches.android.wisefy.removenetwork.callbacks](removenetwork/com.isupatches.android.wisefy.removenetwork.callbacks/index.md) |
+| [com.isupatches.android.wisefy.removenetwork.entities](removenetwork/com.isupatches.android.wisefy.removenetwork.entities/index.md) |
diff --git a/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.callbacks/-remove-network-callbacks/index.md b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.callbacks/-remove-network-callbacks/index.md
new file mode 100644
index 00000000..a6c3ccef
--- /dev/null
+++ b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.callbacks/-remove-network-callbacks/index.md
@@ -0,0 +1,32 @@
+//[removenetwork](../../../index.md)/[com.isupatches.android.wisefy.removenetwork.callbacks](../index.md)/[RemoveNetworkCallbacks](index.md)
+
+# RemoveNetworkCallbacks
+
+[androidJvm]\
+interface [RemoveNetworkCallbacks](index.md) : [BaseWisefyCallbacks](../../../../core/core/com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/index.md)
+
+A set of callbacks for removing a network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.core.base.BaseWisefyCallbacks](../../../../core/core/com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/index.md) | |
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [onFailureRemovingNetwork](on-failure-removing-network.md) | [androidJvm]
abstract fun [onFailureRemovingNetwork](on-failure-removing-network.md)(result: [RemoveNetworkResult.Failure](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-failure/index.md))
A callback triggered when there is a failure removing a network. |
+| [onSuccessRemovingNetwork](on-success-removing-network.md) | [androidJvm]
abstract fun [onSuccessRemovingNetwork](on-success-removing-network.md)(result: [RemoveNetworkResult.Success](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-success/index.md))
A callback triggered when there is a success removing a network. |
+| [onWisefyAsyncFailure](index.md#-2014443064%2FFunctions%2F-1763229663) | [androidJvm]
abstract fun [onWisefyAsyncFailure](index.md#-2014443064%2FFunctions%2F-1763229663)(exception: [WisefyException](../../../../core/core/com.isupatches.android.wisefy.core.exceptions/-wisefy-exception/index.md)) |
diff --git a/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.callbacks/-remove-network-callbacks/on-failure-removing-network.md b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.callbacks/-remove-network-callbacks/on-failure-removing-network.md
new file mode 100644
index 00000000..f5b6f19b
--- /dev/null
+++ b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.callbacks/-remove-network-callbacks/on-failure-removing-network.md
@@ -0,0 +1,32 @@
+//[removenetwork](../../../index.md)/[com.isupatches.android.wisefy.removenetwork.callbacks](../index.md)/[RemoveNetworkCallbacks](index.md)/[onFailureRemovingNetwork](on-failure-removing-network.md)
+
+# onFailureRemovingNetwork
+
+[androidJvm]\
+abstract fun [onFailureRemovingNetwork](on-failure-removing-network.md)(result: [RemoveNetworkResult.Failure](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-failure/index.md))
+
+A callback triggered when there is a failure removing a network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkResult](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| result | The result of removing the network |
diff --git a/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.callbacks/-remove-network-callbacks/on-success-removing-network.md b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.callbacks/-remove-network-callbacks/on-success-removing-network.md
new file mode 100644
index 00000000..d746ba80
--- /dev/null
+++ b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.callbacks/-remove-network-callbacks/on-success-removing-network.md
@@ -0,0 +1,32 @@
+//[removenetwork](../../../index.md)/[com.isupatches.android.wisefy.removenetwork.callbacks](../index.md)/[RemoveNetworkCallbacks](index.md)/[onSuccessRemovingNetwork](on-success-removing-network.md)
+
+# onSuccessRemovingNetwork
+
+[androidJvm]\
+abstract fun [onSuccessRemovingNetwork](on-success-removing-network.md)(result: [RemoveNetworkResult.Success](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-success/index.md))
+
+A callback triggered when there is a success removing a network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkResult](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| result | The result of removing the network |
diff --git a/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.callbacks/index.md b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.callbacks/index.md
new file mode 100644
index 00000000..95454c1e
--- /dev/null
+++ b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.callbacks/index.md
@@ -0,0 +1,9 @@
+//[removenetwork](../../index.md)/[com.isupatches.android.wisefy.removenetwork.callbacks](index.md)
+
+# Package com.isupatches.android.wisefy.removenetwork.callbacks
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [RemoveNetworkCallbacks](-remove-network-callbacks/index.md) | [androidJvm]
interface [RemoveNetworkCallbacks](-remove-network-callbacks/index.md) : [BaseWisefyCallbacks](../../../core/core/com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/index.md)
A set of callbacks for removing a network. |
diff --git a/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-request/-b-s-s-i-d/-b-s-s-i-d.md b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-request/-b-s-s-i-d/-b-s-s-i-d.md
new file mode 100644
index 00000000..61415ed6
--- /dev/null
+++ b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-request/-b-s-s-i-d/-b-s-s-i-d.md
@@ -0,0 +1,6 @@
+//[removenetwork](../../../../index.md)/[com.isupatches.android.wisefy.removenetwork.entities](../../index.md)/[RemoveNetworkRequest](../index.md)/[BSSID](index.md)/[BSSID](-b-s-s-i-d.md)
+
+# BSSID
+
+[androidJvm]\
+fun [BSSID](-b-s-s-i-d.md)(bssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html))
diff --git a/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-request/-b-s-s-i-d/bssid.md b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-request/-b-s-s-i-d/bssid.md
new file mode 100644
index 00000000..3632c43a
--- /dev/null
+++ b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-request/-b-s-s-i-d/bssid.md
@@ -0,0 +1,6 @@
+//[removenetwork](../../../../index.md)/[com.isupatches.android.wisefy.removenetwork.entities](../../index.md)/[RemoveNetworkRequest](../index.md)/[BSSID](index.md)/[bssid](bssid.md)
+
+# bssid
+
+[androidJvm]\
+val [bssid](bssid.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-request/-b-s-s-i-d/index.md b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-request/-b-s-s-i-d/index.md
new file mode 100644
index 00000000..b89f08c0
--- /dev/null
+++ b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-request/-b-s-s-i-d/index.md
@@ -0,0 +1,41 @@
+//[removenetwork](../../../../index.md)/[com.isupatches.android.wisefy.removenetwork.entities](../../index.md)/[RemoveNetworkRequest](../index.md)/[BSSID](index.md)
+
+# BSSID
+
+[androidJvm]\
+data class [BSSID](index.md)(val bssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) : [RemoveNetworkRequest](../index.md)
+
+A data representation to remove a network by BSSID.
+
+*NOTE*
+
+-
+ The request will only remove the first network whose SSID matches
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkRequest](../index.md) | |
+
+## Constructors
+
+| | |
+|---|---|
+| [BSSID](-b-s-s-i-d.md) | [androidJvm]
fun [BSSID](-b-s-s-i-d.md)(bssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [bssid](bssid.md) | [androidJvm]
val [bssid](bssid.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
The BSSID value of the network to remove |
diff --git a/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-request/-s-s-i-d/-s-s-i-d.md b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-request/-s-s-i-d/-s-s-i-d.md
new file mode 100644
index 00000000..0df2457d
--- /dev/null
+++ b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-request/-s-s-i-d/-s-s-i-d.md
@@ -0,0 +1,6 @@
+//[removenetwork](../../../../index.md)/[com.isupatches.android.wisefy.removenetwork.entities](../../index.md)/[RemoveNetworkRequest](../index.md)/[SSID](index.md)/[SSID](-s-s-i-d.md)
+
+# SSID
+
+[androidJvm]\
+fun [SSID](-s-s-i-d.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html))
diff --git a/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-request/-s-s-i-d/index.md b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-request/-s-s-i-d/index.md
new file mode 100644
index 00000000..ffb3565c
--- /dev/null
+++ b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-request/-s-s-i-d/index.md
@@ -0,0 +1,41 @@
+//[removenetwork](../../../../index.md)/[com.isupatches.android.wisefy.removenetwork.entities](../../index.md)/[RemoveNetworkRequest](../index.md)/[SSID](index.md)
+
+# SSID
+
+[androidJvm]\
+data class [SSID](index.md)(val ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) : [RemoveNetworkRequest](../index.md)
+
+A data representation to remove a network by SSID.
+
+*NOTE*
+
+-
+ The request will only remove the first network whose SSID matches
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkRequest](../index.md) | |
+
+## Constructors
+
+| | |
+|---|---|
+| [SSID](-s-s-i-d.md) | [androidJvm]
fun [SSID](-s-s-i-d.md)(ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [ssid](ssid.md) | [androidJvm]
val [ssid](ssid.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
The SSID value of the network to remove |
diff --git a/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-request/-s-s-i-d/ssid.md b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-request/-s-s-i-d/ssid.md
new file mode 100644
index 00000000..88ee80c6
--- /dev/null
+++ b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-request/-s-s-i-d/ssid.md
@@ -0,0 +1,6 @@
+//[removenetwork](../../../../index.md)/[com.isupatches.android.wisefy.removenetwork.entities](../../index.md)/[RemoveNetworkRequest](../index.md)/[SSID](index.md)/[ssid](ssid.md)
+
+# ssid
+
+[androidJvm]\
+val [ssid](ssid.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-request/index.md b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-request/index.md
new file mode 100644
index 00000000..d23a5405
--- /dev/null
+++ b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-request/index.md
@@ -0,0 +1,30 @@
+//[removenetwork](../../../index.md)/[com.isupatches.android.wisefy.removenetwork.entities](../index.md)/[RemoveNetworkRequest](index.md)
+
+# RemoveNetworkRequest
+
+[androidJvm]\
+sealed class [RemoveNetworkRequest](index.md)
+
+A set of classes and objects that are used to represent requests for removing a network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [BSSID](-b-s-s-i-d/index.md) | [androidJvm]
data class [BSSID](-b-s-s-i-d/index.md)(val bssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) : [RemoveNetworkRequest](index.md)
A data representation to remove a network by BSSID. |
+| [SSID](-s-s-i-d/index.md) | [androidJvm]
data class [SSID](-s-s-i-d/index.md)(val ssid: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) : [RemoveNetworkRequest](index.md)
A data representation to remove a network by SSID. |
+
+## Inheritors
+
+| Name |
+|---|
+| [SSID](-s-s-i-d/index.md) |
+| [BSSID](-b-s-s-i-d/index.md) |
diff --git a/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-failure/-assertion/-assertion.md b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-failure/-assertion/-assertion.md
new file mode 100644
index 00000000..ad9e92db
--- /dev/null
+++ b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-failure/-assertion/-assertion.md
@@ -0,0 +1,6 @@
+//[removenetwork](../../../../../index.md)/[com.isupatches.android.wisefy.removenetwork.entities](../../../index.md)/[RemoveNetworkResult](../../index.md)/[Failure](../index.md)/[Assertion](index.md)/[Assertion](-assertion.md)
+
+# Assertion
+
+[androidJvm]\
+fun [Assertion](-assertion.md)(message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html))
diff --git a/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-failure/-assertion/index.md b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-failure/-assertion/index.md
new file mode 100644
index 00000000..87def233
--- /dev/null
+++ b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-failure/-assertion/index.md
@@ -0,0 +1,38 @@
+//[removenetwork](../../../../../index.md)/[com.isupatches.android.wisefy.removenetwork.entities](../../../index.md)/[RemoveNetworkResult](../../index.md)/[Failure](../index.md)/[Assertion](index.md)
+
+# Assertion
+
+[androidJvm]\
+data class [Assertion](index.md)(val message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) : [RemoveNetworkResult.Failure](../index.md)
+
+A representation of a failure removing a network due to hitting an unexpected path causing an assertion.
+
+*NOTE* This is for developer specific feedback and should NEVER actually be hit unless there is a bug.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkResult.Failure](../index.md) | |
+
+## Constructors
+
+| | |
+|---|---|
+| [Assertion](-assertion.md) | [androidJvm]
fun [Assertion](-assertion.md)(message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [message](message.md) | [androidJvm]
val [message](message.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
A text description describing the assertion error hit |
diff --git a/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-failure/-assertion/message.md b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-failure/-assertion/message.md
new file mode 100644
index 00000000..8a3ab167
--- /dev/null
+++ b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-failure/-assertion/message.md
@@ -0,0 +1,6 @@
+//[removenetwork](../../../../../index.md)/[com.isupatches.android.wisefy.removenetwork.entities](../../../index.md)/[RemoveNetworkResult](../../index.md)/[Failure](../index.md)/[Assertion](index.md)/[message](message.md)
+
+# message
+
+[androidJvm]\
+val [message](message.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-failure/-false/index.md b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-failure/-false/index.md
new file mode 100644
index 00000000..c91c6269
--- /dev/null
+++ b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-failure/-false/index.md
@@ -0,0 +1,29 @@
+//[removenetwork](../../../../../index.md)/[com.isupatches.android.wisefy.removenetwork.entities](../../../index.md)/[RemoveNetworkResult](../../index.md)/[Failure](../index.md)/[False](index.md)
+
+# False
+
+[androidJvm]\
+object [False](index.md) : [RemoveNetworkResult.Failure](../index.md)
+
+A data representation of a failure removing a network on older Android OS levels.
+
+*NOTE*
+
+-
+ Returns for this are defined the same as `removeNetwork`: https://developer.android.com/reference/android/net/wifi/WifiManager#removeNetwork(int)
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkResult.Failure](../index.md) | |
diff --git a/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-failure/-result-code/-result-code.md b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-failure/-result-code/-result-code.md
new file mode 100644
index 00000000..555854c3
--- /dev/null
+++ b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-failure/-result-code/-result-code.md
@@ -0,0 +1,6 @@
+//[removenetwork](../../../../../index.md)/[com.isupatches.android.wisefy.removenetwork.entities](../../../index.md)/[RemoveNetworkResult](../../index.md)/[Failure](../index.md)/[ResultCode](index.md)/[ResultCode](-result-code.md)
+
+# ResultCode
+
+[androidJvm]\
+fun [ResultCode](-result-code.md)(value: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html))
diff --git a/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-failure/-result-code/index.md b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-failure/-result-code/index.md
new file mode 100644
index 00000000..14080ab2
--- /dev/null
+++ b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-failure/-result-code/index.md
@@ -0,0 +1,41 @@
+//[removenetwork](../../../../../index.md)/[com.isupatches.android.wisefy.removenetwork.entities](../../../index.md)/[RemoveNetworkResult](../../index.md)/[Failure](../index.md)/[ResultCode](index.md)
+
+# ResultCode
+
+[androidJvm]\
+data class [ResultCode](index.md)(val value: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)) : [RemoveNetworkResult.Failure](../index.md)
+
+A data representation of a failure removing a network based on Android OS level returns.
+
+*NOTE*
+
+-
+ Returns for this are the same as `removeNetworkSuggestion` found here: https://developer.android.com/reference/android/net/wifi/WifiManager#removeNetworkSuggestions(java.util.List%3Candroid.net.wifi.WifiNetworkSuggestion%3E,%20int)
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkResult.Failure](../index.md) | |
+
+## Constructors
+
+| | |
+|---|---|
+| [ResultCode](-result-code.md) | [androidJvm]
fun [ResultCode](-result-code.md)(value: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)) |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [value](value.md) | [androidJvm]
val [value](value.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
The raw value of the result code from the Android OS |
diff --git a/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-failure/-result-code/value.md b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-failure/-result-code/value.md
new file mode 100644
index 00000000..66ee745d
--- /dev/null
+++ b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-failure/-result-code/value.md
@@ -0,0 +1,6 @@
+//[removenetwork](../../../../../index.md)/[com.isupatches.android.wisefy.removenetwork.entities](../../../index.md)/[RemoveNetworkResult](../../index.md)/[Failure](../index.md)/[ResultCode](index.md)/[value](value.md)
+
+# value
+
+[androidJvm]\
+val [value](value.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-failure/index.md b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-failure/index.md
new file mode 100644
index 00000000..a503a81b
--- /dev/null
+++ b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-failure/index.md
@@ -0,0 +1,40 @@
+//[removenetwork](../../../../index.md)/[com.isupatches.android.wisefy.removenetwork.entities](../../index.md)/[RemoveNetworkResult](../index.md)/[Failure](index.md)
+
+# Failure
+
+[androidJvm]\
+sealed class [Failure](index.md) : [RemoveNetworkResult](../index.md)
+
+A set of classes that are used to denote a failure while attempting to remove a network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkResult](../index.md) | |
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [Assertion](-assertion/index.md) | [androidJvm]
data class [Assertion](-assertion/index.md)(val message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) : [RemoveNetworkResult.Failure](index.md)
A representation of a failure removing a network due to hitting an unexpected path causing an assertion. |
+| [False](-false/index.md) | [androidJvm]
object [False](-false/index.md) : [RemoveNetworkResult.Failure](index.md)
A data representation of a failure removing a network on older Android OS levels. |
+| [ResultCode](-result-code/index.md) | [androidJvm]
data class [ResultCode](-result-code/index.md)(val value: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)) : [RemoveNetworkResult.Failure](index.md)
A data representation of a failure removing a network based on Android OS level returns. |
+
+## Inheritors
+
+| Name |
+|---|
+| [False](-false/index.md) |
+| [ResultCode](-result-code/index.md) |
+| [Assertion](-assertion/index.md) |
diff --git a/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-success/-result-code/-result-code.md b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-success/-result-code/-result-code.md
new file mode 100644
index 00000000..dacca402
--- /dev/null
+++ b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-success/-result-code/-result-code.md
@@ -0,0 +1,6 @@
+//[removenetwork](../../../../../index.md)/[com.isupatches.android.wisefy.removenetwork.entities](../../../index.md)/[RemoveNetworkResult](../../index.md)/[Success](../index.md)/[ResultCode](index.md)/[ResultCode](-result-code.md)
+
+# ResultCode
+
+[androidJvm]\
+fun [ResultCode](-result-code.md)(value: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html))
diff --git a/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-success/-result-code/index.md b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-success/-result-code/index.md
new file mode 100644
index 00000000..0d9e1e97
--- /dev/null
+++ b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-success/-result-code/index.md
@@ -0,0 +1,41 @@
+//[removenetwork](../../../../../index.md)/[com.isupatches.android.wisefy.removenetwork.entities](../../../index.md)/[RemoveNetworkResult](../../index.md)/[Success](../index.md)/[ResultCode](index.md)
+
+# ResultCode
+
+[androidJvm]\
+data class [ResultCode](index.md)(val value: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)) : [RemoveNetworkResult.Success](../index.md)
+
+A data representation of a success removing a network based on Android OS level returns.
+
+*NOTE*
+
+-
+ Returns for this are the same as `removeNetworkSuggestion` found here: https://developer.android.com/reference/android/net/wifi/WifiManager#removeNetworkSuggestions(java.util.List%3Candroid.net.wifi.WifiNetworkSuggestion%3E,%20int)
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkResult.Success](../index.md) | |
+
+## Constructors
+
+| | |
+|---|---|
+| [ResultCode](-result-code.md) | [androidJvm]
fun [ResultCode](-result-code.md)(value: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)) |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [value](value.md) | [androidJvm]
val [value](value.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
The raw value of the result code from the Android OS |
diff --git a/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-success/-result-code/value.md b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-success/-result-code/value.md
new file mode 100644
index 00000000..f2c097f7
--- /dev/null
+++ b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-success/-result-code/value.md
@@ -0,0 +1,6 @@
+//[removenetwork](../../../../../index.md)/[com.isupatches.android.wisefy.removenetwork.entities](../../../index.md)/[RemoveNetworkResult](../../index.md)/[Success](../index.md)/[ResultCode](index.md)/[value](value.md)
+
+# value
+
+[androidJvm]\
+val [value](value.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-success/-true/index.md b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-success/-true/index.md
new file mode 100644
index 00000000..b267922f
--- /dev/null
+++ b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-success/-true/index.md
@@ -0,0 +1,29 @@
+//[removenetwork](../../../../../index.md)/[com.isupatches.android.wisefy.removenetwork.entities](../../../index.md)/[RemoveNetworkResult](../../index.md)/[Success](../index.md)/[True](index.md)
+
+# True
+
+[androidJvm]\
+object [True](index.md) : [RemoveNetworkResult.Success](../index.md)
+
+A data representation of a success removing a network on older Android OS levels.
+
+*NOTE*
+
+-
+ Returns for this are defined the same as `removeNetwork`: https://developer.android.com/reference/android/net/wifi/WifiManager#removeNetwork(int)
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkResult.Success](../index.md) | |
diff --git a/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-success/index.md b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-success/index.md
new file mode 100644
index 00000000..53f0251d
--- /dev/null
+++ b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/-success/index.md
@@ -0,0 +1,38 @@
+//[removenetwork](../../../../index.md)/[com.isupatches.android.wisefy.removenetwork.entities](../../index.md)/[RemoveNetworkResult](../index.md)/[Success](index.md)
+
+# Success
+
+[androidJvm]\
+sealed class [Success](index.md) : [RemoveNetworkResult](../index.md)
+
+A set of classes that are used to denote a success while attempting to remove a network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkResult](../index.md) | |
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [ResultCode](-result-code/index.md) | [androidJvm]
data class [ResultCode](-result-code/index.md)(val value: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)) : [RemoveNetworkResult.Success](index.md)
A data representation of a success removing a network based on Android OS level returns. |
+| [True](-true/index.md) | [androidJvm]
object [True](-true/index.md) : [RemoveNetworkResult.Success](index.md)
A data representation of a success removing a network on older Android OS levels. |
+
+## Inheritors
+
+| Name |
+|---|
+| [ResultCode](-result-code/index.md) |
+| [True](-true/index.md) |
diff --git a/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/index.md b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/index.md
new file mode 100644
index 00000000..0b1627db
--- /dev/null
+++ b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/index.md
@@ -0,0 +1,30 @@
+//[removenetwork](../../../index.md)/[com.isupatches.android.wisefy.removenetwork.entities](../index.md)/[RemoveNetworkResult](index.md)
+
+# RemoveNetworkResult
+
+[androidJvm]\
+sealed class [RemoveNetworkResult](index.md)
+
+A set of classes and objects that are used to represent a result while attempting to remove a network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [Failure](-failure/index.md) | [androidJvm]
sealed class [Failure](-failure/index.md) : [RemoveNetworkResult](index.md)
A set of classes that are used to denote a failure while attempting to remove a network. |
+| [Success](-success/index.md) | [androidJvm]
sealed class [Success](-success/index.md) : [RemoveNetworkResult](index.md)
A set of classes that are used to denote a success while attempting to remove a network. |
+
+## Inheritors
+
+| Name |
+|---|
+| [Success](-success/index.md) |
+| [Failure](-failure/index.md) |
diff --git a/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/index.md b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/index.md
new file mode 100644
index 00000000..eba744bb
--- /dev/null
+++ b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork.entities/index.md
@@ -0,0 +1,10 @@
+//[removenetwork](../../index.md)/[com.isupatches.android.wisefy.removenetwork.entities](index.md)
+
+# Package com.isupatches.android.wisefy.removenetwork.entities
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [RemoveNetworkRequest](-remove-network-request/index.md) | [androidJvm]
sealed class [RemoveNetworkRequest](-remove-network-request/index.md)
A set of classes and objects that are used to represent requests for removing a network. |
+| [RemoveNetworkResult](-remove-network-result/index.md) | [androidJvm]
sealed class [RemoveNetworkResult](-remove-network-result/index.md)
A set of classes and objects that are used to represent a result while attempting to remove a network. |
diff --git a/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork/-remove-network-api-async/index.md b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork/-remove-network-api-async/index.md
new file mode 100644
index 00000000..c54e731f
--- /dev/null
+++ b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork/-remove-network-api-async/index.md
@@ -0,0 +1,28 @@
+//[removenetwork](../../../index.md)/[com.isupatches.android.wisefy.removenetwork](../index.md)/[RemoveNetworkApiAsync](index.md)
+
+# RemoveNetworkApiAsync
+
+[androidJvm]\
+interface [RemoveNetworkApiAsync](index.md)
+
+A set of asynchronous APIs for removing a network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [removeNetwork](remove-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE"])
abstract fun [removeNetwork](remove-network.md)(request: [RemoveNetworkRequest](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-request/index.md), callbacks: [RemoveNetworkCallbacks](../../com.isupatches.android.wisefy.removenetwork.callbacks/-remove-network-callbacks/index.md)?)
An asynchronous API to remove a network. |
+
+## Inheritors
+
+| Name |
+|---|
+| [RemoveNetworkDelegate](../-remove-network-delegate/index.md) |
diff --git a/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork/-remove-network-api-async/remove-network.md b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork/-remove-network-api-async/remove-network.md
new file mode 100644
index 00000000..4b9676aa
--- /dev/null
+++ b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork/-remove-network-api-async/remove-network.md
@@ -0,0 +1,37 @@
+//[removenetwork](../../../index.md)/[com.isupatches.android.wisefy.removenetwork](../index.md)/[RemoveNetworkApiAsync](index.md)/[removeNetwork](remove-network.md)
+
+# removeNetwork
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE"])
+
+abstract fun [removeNetwork](remove-network.md)(request: [RemoveNetworkRequest](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-request/index.md), callbacks: [RemoveNetworkCallbacks](../../com.isupatches.android.wisefy.removenetwork.callbacks/-remove-network-callbacks/index.md)?)
+
+An asynchronous API to remove a network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkRequest](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-request/index.md) | |
+| [com.isupatches.android.wisefy.removenetwork.callbacks.RemoveNetworkCallbacks](../../com.isupatches.android.wisefy.removenetwork.callbacks/-remove-network-callbacks/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| request | The details of the request to remove a network |
+| callbacks | The callbacks for removing a network |
diff --git a/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork/-remove-network-api/index.md b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork/-remove-network-api/index.md
new file mode 100644
index 00000000..00122506
--- /dev/null
+++ b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork/-remove-network-api/index.md
@@ -0,0 +1,28 @@
+//[removenetwork](../../../index.md)/[com.isupatches.android.wisefy.removenetwork](../index.md)/[RemoveNetworkApi](index.md)
+
+# RemoveNetworkApi
+
+[androidJvm]\
+interface [RemoveNetworkApi](index.md)
+
+A set of synchronous APIs for removing a network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [removeNetwork](remove-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE"])
abstract fun [removeNetwork](remove-network.md)(request: [RemoveNetworkRequest](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-request/index.md)): [RemoveNetworkResult](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/index.md)
An synchronous API to remove a network. |
+
+## Inheritors
+
+| Name |
+|---|
+| [RemoveNetworkDelegate](../-remove-network-delegate/index.md) |
diff --git a/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork/-remove-network-api/remove-network.md b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork/-remove-network-api/remove-network.md
new file mode 100644
index 00000000..21caf77a
--- /dev/null
+++ b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork/-remove-network-api/remove-network.md
@@ -0,0 +1,40 @@
+//[removenetwork](../../../index.md)/[com.isupatches.android.wisefy.removenetwork](../index.md)/[RemoveNetworkApi](index.md)/[removeNetwork](remove-network.md)
+
+# removeNetwork
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE"])
+
+abstract fun [removeNetwork](remove-network.md)(request: [RemoveNetworkRequest](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-request/index.md)): [RemoveNetworkResult](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/index.md)
+
+An synchronous API to remove a network.
+
+#### Return
+
+RemoveNetworkResult - The result of removing a network
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkRequest](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-request/index.md) | |
+| [com.isupatches.android.wisefy.removenetwork.callbacks.RemoveNetworkCallbacks](../../com.isupatches.android.wisefy.removenetwork.callbacks/-remove-network-callbacks/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| request | The details of the request to remove a network |
diff --git a/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork/-remove-network-delegate/index.md b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork/-remove-network-delegate/index.md
new file mode 100644
index 00000000..8062dc97
--- /dev/null
+++ b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork/-remove-network-delegate/index.md
@@ -0,0 +1,37 @@
+//[removenetwork](../../../index.md)/[com.isupatches.android.wisefy.removenetwork](../index.md)/[RemoveNetworkDelegate](index.md)
+
+# RemoveNetworkDelegate
+
+[androidJvm]\
+interface [RemoveNetworkDelegate](index.md) : [RemoveNetworkApi](../-remove-network-api/index.md), [RemoveNetworkApiAsync](../-remove-network-api-async/index.md)
+
+A delegate for synchronous and asynchronous APIs for removing a network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.removenetwork.RemoveNetworkApi](../-remove-network-api/index.md) | |
+| [com.isupatches.android.wisefy.removenetwork.RemoveNetworkApiAsync](../-remove-network-api-async/index.md) | |
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [removeNetwork](../-remove-network-api/remove-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE"])
abstract fun [removeNetwork](../-remove-network-api/remove-network.md)(request: [RemoveNetworkRequest](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-request/index.md)): [RemoveNetworkResult](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/index.md)
An synchronous API to remove a network.
[androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE"])
abstract fun [removeNetwork](../-remove-network-api-async/remove-network.md)(request: [RemoveNetworkRequest](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-request/index.md), callbacks: [RemoveNetworkCallbacks](../../com.isupatches.android.wisefy.removenetwork.callbacks/-remove-network-callbacks/index.md)?)
An asynchronous API to remove a network. |
+
+## Inheritors
+
+| Name |
+|---|
+| [WisefyRemoveNetworkDelegate](../-wisefy-remove-network-delegate/index.md) |
diff --git a/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork/-wisefy-remove-network-delegate/-companion/index.md b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork/-wisefy-remove-network-delegate/-companion/index.md
new file mode 100644
index 00000000..a6025df5
--- /dev/null
+++ b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork/-wisefy-remove-network-delegate/-companion/index.md
@@ -0,0 +1,6 @@
+//[removenetwork](../../../../index.md)/[com.isupatches.android.wisefy.removenetwork](../../index.md)/[WisefyRemoveNetworkDelegate](../index.md)/[Companion](index.md)
+
+# Companion
+
+[androidJvm]\
+object [Companion](index.md)
diff --git a/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork/-wisefy-remove-network-delegate/-wisefy-remove-network-delegate.md b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork/-wisefy-remove-network-delegate/-wisefy-remove-network-delegate.md
new file mode 100644
index 00000000..9bc57f5d
--- /dev/null
+++ b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork/-wisefy-remove-network-delegate/-wisefy-remove-network-delegate.md
@@ -0,0 +1,21 @@
+//[removenetwork](../../../index.md)/[com.isupatches.android.wisefy.removenetwork](../index.md)/[WisefyRemoveNetworkDelegate](index.md)/[WisefyRemoveNetworkDelegate](-wisefy-remove-network-delegate.md)
+
+# WisefyRemoveNetworkDelegate
+
+[androidJvm]\
+fun [WisefyRemoveNetworkDelegate](-wisefy-remove-network-delegate.md)(assertions: [WisefyAssertions](../../../../core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/index.md), logger: [WisefyLogger](../../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md), sdkUtil: [SdkUtil](../../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md), wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), coroutineDispatcherProvider: [CoroutineDispatcherProvider](../../../../core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/index.md), scope: CoroutineScope, savedNetworkMutex: Mutex, adapter: [RemoveNetworkApi](../-remove-network-api/index.md) = when {
+ sdkUtil.isAtLeastR() -> Android30RemoveNetworkAdapter(logger, wifiManager)
+ sdkUtil.isAtLeastQ() -> Android29RemoveNetworkAdapter(assertions)
+ else -> DefaultRemoveNetworkAdapter(logger, wifiManager)
+ })
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| assertions | The [WisefyAssertions](../../../../core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/index.md) instance to use |
+| logger | The [WisefyLogger](../../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md) instance to use |
+| sdkUtil | The [SdkUtil](../../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md) instance to use |
+| wifiManager | The WifiManager instance to use |
diff --git a/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork/-wisefy-remove-network-delegate/index.md b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork/-wisefy-remove-network-delegate/index.md
new file mode 100644
index 00000000..e7f1347e
--- /dev/null
+++ b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork/-wisefy-remove-network-delegate/index.md
@@ -0,0 +1,60 @@
+//[removenetwork](../../../index.md)/[com.isupatches.android.wisefy.removenetwork](../index.md)/[WisefyRemoveNetworkDelegate](index.md)
+
+# WisefyRemoveNetworkDelegate
+
+[androidJvm]\
+class [WisefyRemoveNetworkDelegate](index.md)(assertions: [WisefyAssertions](../../../../core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/index.md), logger: [WisefyLogger](../../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md), sdkUtil: [SdkUtil](../../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md), wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), coroutineDispatcherProvider: [CoroutineDispatcherProvider](../../../../core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/index.md), scope: CoroutineScope, savedNetworkMutex: Mutex, adapter: [RemoveNetworkApi](../-remove-network-api/index.md) = when {
+ sdkUtil.isAtLeastR() -> Android30RemoveNetworkAdapter(logger, wifiManager)
+ sdkUtil.isAtLeastQ() -> Android29RemoveNetworkAdapter(assertions)
+ else -> DefaultRemoveNetworkAdapter(logger, wifiManager)
+ }) : [RemoveNetworkDelegate](../-remove-network-delegate/index.md)
+
+An internal Wisefy delegate for removing a network through the Android OS.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.core.coroutines.CoroutineDispatcherProvider](../../../../core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/index.md) | |
+| [com.isupatches.android.wisefy.core.util.SdkUtil](../../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md) | |
+| [com.isupatches.android.wisefy.core.assertions.WisefyAssertions](../../../../core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/index.md) | |
+| [com.isupatches.android.wisefy.core.logging.WisefyLogger](../../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| assertions | The [WisefyAssertions](../../../../core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/index.md) instance to use |
+| logger | The [WisefyLogger](../../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md) instance to use |
+| sdkUtil | The [SdkUtil](../../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md) instance to use |
+| wifiManager | The WifiManager instance to use |
+
+## Constructors
+
+| | |
+|---|---|
+| [WisefyRemoveNetworkDelegate](-wisefy-remove-network-delegate.md) | [androidJvm]
fun [WisefyRemoveNetworkDelegate](-wisefy-remove-network-delegate.md)(assertions: [WisefyAssertions](../../../../core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/index.md), logger: [WisefyLogger](../../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md), sdkUtil: [SdkUtil](../../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md), wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), coroutineDispatcherProvider: [CoroutineDispatcherProvider](../../../../core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/index.md), scope: CoroutineScope, savedNetworkMutex: Mutex, adapter: [RemoveNetworkApi](../-remove-network-api/index.md) = when { sdkUtil.isAtLeastR() -> Android30RemoveNetworkAdapter(logger, wifiManager) sdkUtil.isAtLeastQ() -> Android29RemoveNetworkAdapter(assertions) else -> DefaultRemoveNetworkAdapter(logger, wifiManager) }) |
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [Companion](-companion/index.md) | [androidJvm]
object [Companion](-companion/index.md) |
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [removeNetwork](remove-network.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE"])
open override fun [removeNetwork](remove-network.md)(request: [RemoveNetworkRequest](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-request/index.md)): [RemoveNetworkResult](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/index.md)
An synchronous API to remove a network.
[androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE"])
open override fun [removeNetwork](remove-network.md)(request: [RemoveNetworkRequest](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-request/index.md), callbacks: [RemoveNetworkCallbacks](../../com.isupatches.android.wisefy.removenetwork.callbacks/-remove-network-callbacks/index.md)?)
An asynchronous API to remove a network. |
diff --git a/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork/-wisefy-remove-network-delegate/remove-network.md b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork/-wisefy-remove-network-delegate/remove-network.md
new file mode 100644
index 00000000..606000bc
--- /dev/null
+++ b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork/-wisefy-remove-network-delegate/remove-network.md
@@ -0,0 +1,74 @@
+//[removenetwork](../../../index.md)/[com.isupatches.android.wisefy.removenetwork](../index.md)/[WisefyRemoveNetworkDelegate](index.md)/[removeNetwork](remove-network.md)
+
+# removeNetwork
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE"])
+
+open override fun [removeNetwork](remove-network.md)(request: [RemoveNetworkRequest](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-request/index.md)): [RemoveNetworkResult](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-result/index.md)
+
+An synchronous API to remove a network.
+
+#### Return
+
+RemoveNetworkResult - The result of removing a network
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkRequest](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-request/index.md) | |
+| [com.isupatches.android.wisefy.removenetwork.callbacks.RemoveNetworkCallbacks](../../com.isupatches.android.wisefy.removenetwork.callbacks/-remove-network-callbacks/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| request | The details of the request to remove a network |
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE"])
+
+open override fun [removeNetwork](remove-network.md)(request: [RemoveNetworkRequest](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-request/index.md), callbacks: [RemoveNetworkCallbacks](../../com.isupatches.android.wisefy.removenetwork.callbacks/-remove-network-callbacks/index.md)?)
+
+An asynchronous API to remove a network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkRequest](../../com.isupatches.android.wisefy.removenetwork.entities/-remove-network-request/index.md) | |
+| [com.isupatches.android.wisefy.removenetwork.callbacks.RemoveNetworkCallbacks](../../com.isupatches.android.wisefy.removenetwork.callbacks/-remove-network-callbacks/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| request | The details of the request to remove a network |
+| callbacks | The callbacks for removing a network |
diff --git a/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork/index.md b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork/index.md
new file mode 100644
index 00000000..33745b6c
--- /dev/null
+++ b/dokka/removenetwork/removenetwork/com.isupatches.android.wisefy.removenetwork/index.md
@@ -0,0 +1,12 @@
+//[removenetwork](../../index.md)/[com.isupatches.android.wisefy.removenetwork](index.md)
+
+# Package com.isupatches.android.wisefy.removenetwork
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [RemoveNetworkApi](-remove-network-api/index.md) | [androidJvm]
interface [RemoveNetworkApi](-remove-network-api/index.md)
A set of synchronous APIs for removing a network. |
+| [RemoveNetworkApiAsync](-remove-network-api-async/index.md) | [androidJvm]
interface [RemoveNetworkApiAsync](-remove-network-api-async/index.md)
A set of asynchronous APIs for removing a network. |
+| [RemoveNetworkDelegate](-remove-network-delegate/index.md) | [androidJvm]
interface [RemoveNetworkDelegate](-remove-network-delegate/index.md) : [RemoveNetworkApi](-remove-network-api/index.md), [RemoveNetworkApiAsync](-remove-network-api-async/index.md)
A delegate for synchronous and asynchronous APIs for removing a network. |
+| [WisefyRemoveNetworkDelegate](-wisefy-remove-network-delegate/index.md) | [androidJvm]
class [WisefyRemoveNetworkDelegate](-wisefy-remove-network-delegate/index.md)(assertions: [WisefyAssertions](../../../core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/index.md), logger: [WisefyLogger](../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md), sdkUtil: [SdkUtil](../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md), wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), coroutineDispatcherProvider: [CoroutineDispatcherProvider](../../../core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/index.md), scope: CoroutineScope, savedNetworkMutex: Mutex, adapter: [RemoveNetworkApi](-remove-network-api/index.md) = when { sdkUtil.isAtLeastR() -> Android30RemoveNetworkAdapter(logger, wifiManager) sdkUtil.isAtLeastQ() -> Android29RemoveNetworkAdapter(assertions) else -> DefaultRemoveNetworkAdapter(logger, wifiManager) }) : [RemoveNetworkDelegate](-remove-network-delegate/index.md)
An internal Wisefy delegate for removing a network through the Android OS. |
diff --git a/dokka/savednetworks/index.md b/dokka/savednetworks/index.md
new file mode 100644
index 00000000..f07a6835
--- /dev/null
+++ b/dokka/savednetworks/index.md
@@ -0,0 +1,11 @@
+//[savednetworks](index.md)
+
+# savednetworks
+
+## Packages
+
+| Name |
+|---|
+| [com.isupatches.android.wisefy.savednetworks](savednetworks/com.isupatches.android.wisefy.savednetworks/index.md) |
+| [com.isupatches.android.wisefy.savednetworks.callbacks](savednetworks/com.isupatches.android.wisefy.savednetworks.callbacks/index.md) |
+| [com.isupatches.android.wisefy.savednetworks.entities](savednetworks/com.isupatches.android.wisefy.savednetworks.entities/index.md) |
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.callbacks/-get-saved-networks-callbacks/index.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.callbacks/-get-saved-networks-callbacks/index.md
new file mode 100644
index 00000000..a0ece454
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.callbacks/-get-saved-networks-callbacks/index.md
@@ -0,0 +1,32 @@
+//[savednetworks](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.callbacks](../index.md)/[GetSavedNetworksCallbacks](index.md)
+
+# GetSavedNetworksCallbacks
+
+[androidJvm]\
+interface [GetSavedNetworksCallbacks](index.md) : [BaseWisefyCallbacks](../../../../core/core/com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/index.md)
+
+A set of callbacks for retrieving all of the saved networks on a device.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.core.base.BaseWisefyCallbacks](../../../../core/core/com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/index.md) | |
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [onNoSavedNetworksFound](on-no-saved-networks-found.md) | [androidJvm]
abstract fun [onNoSavedNetworksFound](on-no-saved-networks-found.md)()
A callback triggered when there are no saved networks on the device. |
+| [onSavedNetworksRetrieved](on-saved-networks-retrieved.md) | [androidJvm]
abstract fun [onSavedNetworksRetrieved](on-saved-networks-retrieved.md)(savedNetworks: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)>)
A callback triggered when there is a success retrieving all of the saved networks on the device. |
+| [onWisefyAsyncFailure](../-is-network-saved-callbacks/index.md#-2014443064%2FFunctions%2F-1378320381) | [androidJvm]
abstract fun [onWisefyAsyncFailure](../-is-network-saved-callbacks/index.md#-2014443064%2FFunctions%2F-1378320381)(exception: [WisefyException](../../../../core/core/com.isupatches.android.wisefy.core.exceptions/-wisefy-exception/index.md)) |
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.callbacks/-get-saved-networks-callbacks/on-no-saved-networks-found.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.callbacks/-get-saved-networks-callbacks/on-no-saved-networks-found.md
new file mode 100644
index 00000000..67066ff3
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.callbacks/-get-saved-networks-callbacks/on-no-saved-networks-found.md
@@ -0,0 +1,16 @@
+//[savednetworks](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.callbacks](../index.md)/[GetSavedNetworksCallbacks](index.md)/[onNoSavedNetworksFound](on-no-saved-networks-found.md)
+
+# onNoSavedNetworksFound
+
+[androidJvm]\
+abstract fun [onNoSavedNetworksFound](on-no-saved-networks-found.md)()
+
+A callback triggered when there are no saved networks on the device.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.callbacks/-get-saved-networks-callbacks/on-saved-networks-retrieved.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.callbacks/-get-saved-networks-callbacks/on-saved-networks-retrieved.md
new file mode 100644
index 00000000..b0ca80db
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.callbacks/-get-saved-networks-callbacks/on-saved-networks-retrieved.md
@@ -0,0 +1,32 @@
+//[savednetworks](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.callbacks](../index.md)/[GetSavedNetworksCallbacks](index.md)/[onSavedNetworksRetrieved](on-saved-networks-retrieved.md)
+
+# onSavedNetworksRetrieved
+
+[androidJvm]\
+abstract fun [onSavedNetworksRetrieved](on-saved-networks-retrieved.md)(savedNetworks: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md)>)
+
+A callback triggered when there is a success retrieving all of the saved networks on the device.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.savednetworks.entities.SavedNetworkData](../../com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| savedNetworks | The saved networks on the device |
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.callbacks/-is-network-saved-callbacks/index.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.callbacks/-is-network-saved-callbacks/index.md
new file mode 100644
index 00000000..2bff4f17
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.callbacks/-is-network-saved-callbacks/index.md
@@ -0,0 +1,32 @@
+//[savednetworks](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.callbacks](../index.md)/[IsNetworkSavedCallbacks](index.md)
+
+# IsNetworkSavedCallbacks
+
+[androidJvm]\
+interface [IsNetworkSavedCallbacks](index.md) : [BaseWisefyCallbacks](../../../../core/core/com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/index.md)
+
+A set of callbacks triggered while checking if a network is saved on the device.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.core.base.BaseWisefyCallbacks](../../../../core/core/com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/index.md) | |
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [onNetworkIsNotSaved](on-network-is-not-saved.md) | [androidJvm]
abstract fun [onNetworkIsNotSaved](on-network-is-not-saved.md)()
A callback triggered when there is no matching saved network. |
+| [onNetworkIsSaved](on-network-is-saved.md) | [androidJvm]
abstract fun [onNetworkIsSaved](on-network-is-saved.md)()
A callback triggered when there are matching saved networks. |
+| [onWisefyAsyncFailure](index.md#-2014443064%2FFunctions%2F-1378320381) | [androidJvm]
abstract fun [onWisefyAsyncFailure](index.md#-2014443064%2FFunctions%2F-1378320381)(exception: [WisefyException](../../../../core/core/com.isupatches.android.wisefy.core.exceptions/-wisefy-exception/index.md)) |
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.callbacks/-is-network-saved-callbacks/on-network-is-not-saved.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.callbacks/-is-network-saved-callbacks/on-network-is-not-saved.md
new file mode 100644
index 00000000..642cbf37
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.callbacks/-is-network-saved-callbacks/on-network-is-not-saved.md
@@ -0,0 +1,16 @@
+//[savednetworks](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.callbacks](../index.md)/[IsNetworkSavedCallbacks](index.md)/[onNetworkIsNotSaved](on-network-is-not-saved.md)
+
+# onNetworkIsNotSaved
+
+[androidJvm]\
+abstract fun [onNetworkIsNotSaved](on-network-is-not-saved.md)()
+
+A callback triggered when there is no matching saved network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.callbacks/-is-network-saved-callbacks/on-network-is-saved.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.callbacks/-is-network-saved-callbacks/on-network-is-saved.md
new file mode 100644
index 00000000..875ac7c4
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.callbacks/-is-network-saved-callbacks/on-network-is-saved.md
@@ -0,0 +1,16 @@
+//[savednetworks](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.callbacks](../index.md)/[IsNetworkSavedCallbacks](index.md)/[onNetworkIsSaved](on-network-is-saved.md)
+
+# onNetworkIsSaved
+
+[androidJvm]\
+abstract fun [onNetworkIsSaved](on-network-is-saved.md)()
+
+A callback triggered when there are matching saved networks.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.callbacks/index.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.callbacks/index.md
new file mode 100644
index 00000000..d371d293
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.callbacks/index.md
@@ -0,0 +1,10 @@
+//[savednetworks](../../index.md)/[com.isupatches.android.wisefy.savednetworks.callbacks](index.md)
+
+# Package com.isupatches.android.wisefy.savednetworks.callbacks
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [GetSavedNetworksCallbacks](-get-saved-networks-callbacks/index.md) | [androidJvm]
interface [GetSavedNetworksCallbacks](-get-saved-networks-callbacks/index.md) : [BaseWisefyCallbacks](../../../core/core/com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/index.md)
A set of callbacks for retrieving all of the saved networks on a device. |
+| [IsNetworkSavedCallbacks](-is-network-saved-callbacks/index.md) | [androidJvm]
interface [IsNetworkSavedCallbacks](-is-network-saved-callbacks/index.md) : [BaseWisefyCallbacks](../../../core/core/com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/index.md)
A set of callbacks triggered while checking if a network is saved on the device. |
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/-all/index.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/-all/index.md
new file mode 100644
index 00000000..ea50f221
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/-all/index.md
@@ -0,0 +1,24 @@
+//[savednetworks](../../../../index.md)/[com.isupatches.android.wisefy.savednetworks.entities](../../index.md)/[GetSavedNetworksQuery](../index.md)/[All](index.md)
+
+# All
+
+[androidJvm]\
+object [All](index.md) : [GetSavedNetworksQuery](../index.md)
+
+A data representation of a query to get all saved networks.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.savednetworks.entities.GetSavedNetworksQuery](../index.md) | |
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/-by-b-s-s-i-d/-by-b-s-s-i-d.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/-by-b-s-s-i-d/-by-b-s-s-i-d.md
new file mode 100644
index 00000000..3e8f7575
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/-by-b-s-s-i-d/-by-b-s-s-i-d.md
@@ -0,0 +1,6 @@
+//[savednetworks](../../../../index.md)/[com.isupatches.android.wisefy.savednetworks.entities](../../index.md)/[GetSavedNetworksQuery](../index.md)/[ByBSSID](index.md)/[ByBSSID](-by-b-s-s-i-d.md)
+
+# ByBSSID
+
+[androidJvm]\
+fun [ByBSSID](-by-b-s-s-i-d.md)(regex: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html))
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/-by-b-s-s-i-d/index.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/-by-b-s-s-i-d/index.md
new file mode 100644
index 00000000..47dfd0e2
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/-by-b-s-s-i-d/index.md
@@ -0,0 +1,36 @@
+//[savednetworks](../../../../index.md)/[com.isupatches.android.wisefy.savednetworks.entities](../../index.md)/[GetSavedNetworksQuery](../index.md)/[ByBSSID](index.md)
+
+# ByBSSID
+
+[androidJvm]\
+data class [ByBSSID](index.md)(val regex: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) : [GetSavedNetworksQuery](../index.md)
+
+A data representation of a query to get saved networks matching a given BSSID.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.savednetworks.entities.GetSavedNetworksQuery](../index.md) | |
+
+## Constructors
+
+| | |
+|---|---|
+| [ByBSSID](-by-b-s-s-i-d.md) | [androidJvm]
fun [ByBSSID](-by-b-s-s-i-d.md)(regex: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [regex](regex.md) | [androidJvm]
val [regex](regex.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
The regex to use when finding the network by BSSID |
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/-by-b-s-s-i-d/regex.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/-by-b-s-s-i-d/regex.md
new file mode 100644
index 00000000..85ac7606
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/-by-b-s-s-i-d/regex.md
@@ -0,0 +1,6 @@
+//[savednetworks](../../../../index.md)/[com.isupatches.android.wisefy.savednetworks.entities](../../index.md)/[GetSavedNetworksQuery](../index.md)/[ByBSSID](index.md)/[regex](regex.md)
+
+# regex
+
+[androidJvm]\
+val [regex](regex.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/-by-s-s-i-d/-by-s-s-i-d.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/-by-s-s-i-d/-by-s-s-i-d.md
new file mode 100644
index 00000000..d8c379cf
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/-by-s-s-i-d/-by-s-s-i-d.md
@@ -0,0 +1,6 @@
+//[savednetworks](../../../../index.md)/[com.isupatches.android.wisefy.savednetworks.entities](../../index.md)/[GetSavedNetworksQuery](../index.md)/[BySSID](index.md)/[BySSID](-by-s-s-i-d.md)
+
+# BySSID
+
+[androidJvm]\
+fun [BySSID](-by-s-s-i-d.md)(regex: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html))
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/-by-s-s-i-d/index.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/-by-s-s-i-d/index.md
new file mode 100644
index 00000000..f21fc4b5
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/-by-s-s-i-d/index.md
@@ -0,0 +1,36 @@
+//[savednetworks](../../../../index.md)/[com.isupatches.android.wisefy.savednetworks.entities](../../index.md)/[GetSavedNetworksQuery](../index.md)/[BySSID](index.md)
+
+# BySSID
+
+[androidJvm]\
+data class [BySSID](index.md)(val regex: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) : [GetSavedNetworksQuery](../index.md)
+
+A data representation of a query to get saved networks matching a given SSID.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.savednetworks.entities.GetSavedNetworksQuery](../index.md) | |
+
+## Constructors
+
+| | |
+|---|---|
+| [BySSID](-by-s-s-i-d.md) | [androidJvm]
fun [BySSID](-by-s-s-i-d.md)(regex: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [regex](regex.md) | [androidJvm]
val [regex](regex.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
The regex to use when finding the network by SSID |
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/-by-s-s-i-d/regex.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/-by-s-s-i-d/regex.md
new file mode 100644
index 00000000..ec7e7231
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/-by-s-s-i-d/regex.md
@@ -0,0 +1,6 @@
+//[savednetworks](../../../../index.md)/[com.isupatches.android.wisefy.savednetworks.entities](../../index.md)/[GetSavedNetworksQuery](../index.md)/[BySSID](index.md)/[regex](regex.md)
+
+# regex
+
+[androidJvm]\
+val [regex](regex.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/index.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/index.md
new file mode 100644
index 00000000..8ebf105b
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/index.md
@@ -0,0 +1,32 @@
+//[savednetworks](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.entities](../index.md)/[GetSavedNetworksQuery](index.md)
+
+# GetSavedNetworksQuery
+
+[androidJvm]\
+sealed class [GetSavedNetworksQuery](index.md)
+
+A data representation of a request to get all of the saved networks on the device.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [All](-all/index.md) | [androidJvm]
object [All](-all/index.md) : [GetSavedNetworksQuery](index.md)
A data representation of a query to get all saved networks. |
+| [ByBSSID](-by-b-s-s-i-d/index.md) | [androidJvm]
data class [ByBSSID](-by-b-s-s-i-d/index.md)(val regex: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) : [GetSavedNetworksQuery](index.md)
A data representation of a query to get saved networks matching a given BSSID. |
+| [BySSID](-by-s-s-i-d/index.md) | [androidJvm]
data class [BySSID](-by-s-s-i-d/index.md)(val regex: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) : [GetSavedNetworksQuery](index.md)
A data representation of a query to get saved networks matching a given SSID. |
+
+## Inheritors
+
+| Name |
+|---|
+| [All](-all/index.md) |
+| [BySSID](-by-s-s-i-d/index.md) |
+| [ByBSSID](-by-b-s-s-i-d/index.md) |
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-result/-empty/index.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-result/-empty/index.md
new file mode 100644
index 00000000..29fa1f0d
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-result/-empty/index.md
@@ -0,0 +1,24 @@
+//[savednetworks](../../../../index.md)/[com.isupatches.android.wisefy.savednetworks.entities](../../index.md)/[GetSavedNetworksResult](../index.md)/[Empty](index.md)
+
+# Empty
+
+[androidJvm]\
+object [Empty](index.md) : [GetSavedNetworksResult](../index.md)
+
+A data representation of no networks being saved on the device.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.savednetworks.entities.GetSavedNetworksResult](../index.md) | |
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-result/-saved-networks/-saved-networks.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-result/-saved-networks/-saved-networks.md
new file mode 100644
index 00000000..fa5a912d
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-result/-saved-networks/-saved-networks.md
@@ -0,0 +1,6 @@
+//[savednetworks](../../../../index.md)/[com.isupatches.android.wisefy.savednetworks.entities](../../index.md)/[GetSavedNetworksResult](../index.md)/[SavedNetworks](index.md)/[SavedNetworks](-saved-networks.md)
+
+# SavedNetworks
+
+[androidJvm]\
+fun [SavedNetworks](-saved-networks.md)(value: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../-saved-network-data/index.md)>)
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-result/-saved-networks/index.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-result/-saved-networks/index.md
new file mode 100644
index 00000000..11ff2a0b
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-result/-saved-networks/index.md
@@ -0,0 +1,37 @@
+//[savednetworks](../../../../index.md)/[com.isupatches.android.wisefy.savednetworks.entities](../../index.md)/[GetSavedNetworksResult](../index.md)/[SavedNetworks](index.md)
+
+# SavedNetworks
+
+[androidJvm]\
+data class [SavedNetworks](index.md)(val value: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../-saved-network-data/index.md)>) : [GetSavedNetworksResult](../index.md)
+
+A data representation of a success retrieving saved networks on the device.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.savednetworks.entities.GetSavedNetworksResult](../index.md) | |
+| [com.isupatches.android.wisefy.savednetworks.entities.SavedNetworkData](../../-saved-network-data/index.md) | |
+
+## Constructors
+
+| | |
+|---|---|
+| [SavedNetworks](-saved-networks.md) | [androidJvm]
fun [SavedNetworks](-saved-networks.md)(value: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../-saved-network-data/index.md)>) |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [value](value.md) | [androidJvm]
val [value](value.md): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../-saved-network-data/index.md)>
The saved networks retrieved |
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-result/-saved-networks/value.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-result/-saved-networks/value.md
new file mode 100644
index 00000000..6bd4c1d5
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-result/-saved-networks/value.md
@@ -0,0 +1,6 @@
+//[savednetworks](../../../../index.md)/[com.isupatches.android.wisefy.savednetworks.entities](../../index.md)/[GetSavedNetworksResult](../index.md)/[SavedNetworks](index.md)/[value](value.md)
+
+# value
+
+[androidJvm]\
+val [value](value.md): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../../-saved-network-data/index.md)>
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-result/index.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-result/index.md
new file mode 100644
index 00000000..2538a9cc
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-result/index.md
@@ -0,0 +1,30 @@
+//[savednetworks](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.entities](../index.md)/[GetSavedNetworksResult](index.md)
+
+# GetSavedNetworksResult
+
+[androidJvm]\
+sealed class [GetSavedNetworksResult](index.md)
+
+A set of classes and objects that are used to represent a result while getting all of the saved networks on the device.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [Empty](-empty/index.md) | [androidJvm]
object [Empty](-empty/index.md) : [GetSavedNetworksResult](index.md)
A data representation of no networks being saved on the device. |
+| [SavedNetworks](-saved-networks/index.md) | [androidJvm]
data class [SavedNetworks](-saved-networks/index.md)(val value: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[SavedNetworkData](../-saved-network-data/index.md)>) : [GetSavedNetworksResult](index.md)
A data representation of a success retrieving saved networks on the device. |
+
+## Inheritors
+
+| Name |
+|---|
+| [Empty](-empty/index.md) |
+| [SavedNetworks](-saved-networks/index.md) |
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-query/-b-s-s-i-d/-b-s-s-i-d.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-query/-b-s-s-i-d/-b-s-s-i-d.md
new file mode 100644
index 00000000..8f4633c7
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-query/-b-s-s-i-d/-b-s-s-i-d.md
@@ -0,0 +1,6 @@
+//[savednetworks](../../../../index.md)/[com.isupatches.android.wisefy.savednetworks.entities](../../index.md)/[IsNetworkSavedQuery](../index.md)/[BSSID](index.md)/[BSSID](-b-s-s-i-d.md)
+
+# BSSID
+
+[androidJvm]\
+fun [BSSID](-b-s-s-i-d.md)(regex: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html))
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-query/-b-s-s-i-d/index.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-query/-b-s-s-i-d/index.md
new file mode 100644
index 00000000..2efe3de6
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-query/-b-s-s-i-d/index.md
@@ -0,0 +1,36 @@
+//[savednetworks](../../../../index.md)/[com.isupatches.android.wisefy.savednetworks.entities](../../index.md)/[IsNetworkSavedQuery](../index.md)/[BSSID](index.md)
+
+# BSSID
+
+[androidJvm]\
+data class [BSSID](index.md)(val regex: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) : [IsNetworkSavedQuery](../index.md)
+
+A data representation to check if a network is saved by BSSID.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.savednetworks.entities.IsNetworkSavedQuery](../index.md) | |
+
+## Constructors
+
+| | |
+|---|---|
+| [BSSID](-b-s-s-i-d.md) | [androidJvm]
fun [BSSID](-b-s-s-i-d.md)(regex: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [regex](regex.md) | [androidJvm]
val [regex](regex.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
The regex to use when finding the network by BSSID |
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-query/-b-s-s-i-d/regex.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-query/-b-s-s-i-d/regex.md
new file mode 100644
index 00000000..9e05f161
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-query/-b-s-s-i-d/regex.md
@@ -0,0 +1,6 @@
+//[savednetworks](../../../../index.md)/[com.isupatches.android.wisefy.savednetworks.entities](../../index.md)/[IsNetworkSavedQuery](../index.md)/[BSSID](index.md)/[regex](regex.md)
+
+# regex
+
+[androidJvm]\
+val [regex](regex.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-query/-s-s-i-d/-s-s-i-d.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-query/-s-s-i-d/-s-s-i-d.md
new file mode 100644
index 00000000..2ac6510a
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-query/-s-s-i-d/-s-s-i-d.md
@@ -0,0 +1,6 @@
+//[savednetworks](../../../../index.md)/[com.isupatches.android.wisefy.savednetworks.entities](../../index.md)/[IsNetworkSavedQuery](../index.md)/[SSID](index.md)/[SSID](-s-s-i-d.md)
+
+# SSID
+
+[androidJvm]\
+fun [SSID](-s-s-i-d.md)(regex: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html))
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-query/-s-s-i-d/index.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-query/-s-s-i-d/index.md
new file mode 100644
index 00000000..08db0d62
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-query/-s-s-i-d/index.md
@@ -0,0 +1,36 @@
+//[savednetworks](../../../../index.md)/[com.isupatches.android.wisefy.savednetworks.entities](../../index.md)/[IsNetworkSavedQuery](../index.md)/[SSID](index.md)
+
+# SSID
+
+[androidJvm]\
+data class [SSID](index.md)(val regex: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) : [IsNetworkSavedQuery](../index.md)
+
+A data representation to check if a network is saved by SSID.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.savednetworks.entities.IsNetworkSavedQuery](../index.md) | |
+
+## Constructors
+
+| | |
+|---|---|
+| [SSID](-s-s-i-d.md) | [androidJvm]
fun [SSID](-s-s-i-d.md)(regex: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [regex](regex.md) | [androidJvm]
val [regex](regex.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
The regex to use when finding the network by SSID |
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-query/-s-s-i-d/regex.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-query/-s-s-i-d/regex.md
new file mode 100644
index 00000000..ef3583f6
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-query/-s-s-i-d/regex.md
@@ -0,0 +1,6 @@
+//[savednetworks](../../../../index.md)/[com.isupatches.android.wisefy.savednetworks.entities](../../index.md)/[IsNetworkSavedQuery](../index.md)/[SSID](index.md)/[regex](regex.md)
+
+# regex
+
+[androidJvm]\
+val [regex](regex.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-query/index.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-query/index.md
new file mode 100644
index 00000000..045529d8
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-query/index.md
@@ -0,0 +1,30 @@
+//[savednetworks](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.entities](../index.md)/[IsNetworkSavedQuery](index.md)
+
+# IsNetworkSavedQuery
+
+[androidJvm]\
+sealed class [IsNetworkSavedQuery](index.md)
+
+A set of classes and objects that are used to represent requests to see if a network is saved.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [BSSID](-b-s-s-i-d/index.md) | [androidJvm]
data class [BSSID](-b-s-s-i-d/index.md)(val regex: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) : [IsNetworkSavedQuery](index.md)
A data representation to check if a network is saved by BSSID. |
+| [SSID](-s-s-i-d/index.md) | [androidJvm]
data class [SSID](-s-s-i-d/index.md)(val regex: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) : [IsNetworkSavedQuery](index.md)
A data representation to check if a network is saved by SSID. |
+
+## Inheritors
+
+| Name |
+|---|
+| [SSID](-s-s-i-d/index.md) |
+| [BSSID](-b-s-s-i-d/index.md) |
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-result/-false/index.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-result/-false/index.md
new file mode 100644
index 00000000..33a3b252
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-result/-false/index.md
@@ -0,0 +1,24 @@
+//[savednetworks](../../../../index.md)/[com.isupatches.android.wisefy.savednetworks.entities](../../index.md)/[IsNetworkSavedResult](../index.md)/[False](index.md)
+
+# False
+
+[androidJvm]\
+object [False](index.md) : [IsNetworkSavedResult](../index.md)
+
+A data representation of the network not being saved on the device.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.savednetworks.entities.IsNetworkSavedResult](../index.md) | |
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-result/-true/index.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-result/-true/index.md
new file mode 100644
index 00000000..de76993b
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-result/-true/index.md
@@ -0,0 +1,24 @@
+//[savednetworks](../../../../index.md)/[com.isupatches.android.wisefy.savednetworks.entities](../../index.md)/[IsNetworkSavedResult](../index.md)/[True](index.md)
+
+# True
+
+[androidJvm]\
+object [True](index.md) : [IsNetworkSavedResult](../index.md)
+
+A data representation of the network being saved on the device.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.savednetworks.entities.IsNetworkSavedResult](../index.md) | |
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-result/index.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-result/index.md
new file mode 100644
index 00000000..761025ae
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-result/index.md
@@ -0,0 +1,30 @@
+//[savednetworks](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.entities](../index.md)/[IsNetworkSavedResult](index.md)
+
+# IsNetworkSavedResult
+
+[androidJvm]\
+sealed class [IsNetworkSavedResult](index.md)
+
+A set of classes and objects that are used to represent a result while seeing if a network is saved on the device.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [False](-false/index.md) | [androidJvm]
object [False](-false/index.md) : [IsNetworkSavedResult](index.md)
A data representation of the network not being saved on the device. |
+| [True](-true/index.md) | [androidJvm]
object [True](-true/index.md) : [IsNetworkSavedResult](index.md)
A data representation of the network being saved on the device. |
+
+## Inheritors
+
+| Name |
+|---|
+| [True](-true/index.md) |
+| [False](-false/index.md) |
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-configuration/-configuration.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-configuration/-configuration.md
new file mode 100644
index 00000000..b2f6d8ec
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-configuration/-configuration.md
@@ -0,0 +1,6 @@
+//[savednetworks](../../../../index.md)/[com.isupatches.android.wisefy.savednetworks.entities](../../index.md)/[SavedNetworkData](../index.md)/[Configuration](index.md)/[Configuration](-configuration.md)
+
+# Configuration
+
+[androidJvm]\
+fun [Configuration](-configuration.md)(rawValue: [WifiConfiguration](https://developer.android.com/reference/kotlin/android/net/wifi/WifiConfiguration.html))
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-configuration/index.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-configuration/index.md
new file mode 100644
index 00000000..9f33acd0
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-configuration/index.md
@@ -0,0 +1,36 @@
+//[savednetworks](../../../../index.md)/[com.isupatches.android.wisefy.savednetworks.entities](../../index.md)/[SavedNetworkData](../index.md)/[Configuration](index.md)
+
+# Configuration
+
+[androidJvm]\
+data class [Configuration](index.md)(val rawValue: [WifiConfiguration](https://developer.android.com/reference/kotlin/android/net/wifi/WifiConfiguration.html)) : [SavedNetworkData](../index.md)
+
+A data representation of a saved network configuration prior to Android Q.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.savednetworks.entities.SavedNetworkData](../index.md) | |
+
+## Constructors
+
+| | |
+|---|---|
+| [Configuration](-configuration.md) | [androidJvm]
fun [Configuration](-configuration.md)(rawValue: [WifiConfiguration](https://developer.android.com/reference/kotlin/android/net/wifi/WifiConfiguration.html)) |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [rawValue](raw-value.md) | [androidJvm]
val [rawValue](raw-value.md): [WifiConfiguration](https://developer.android.com/reference/kotlin/android/net/wifi/WifiConfiguration.html)
The raw value of the saved network as a configuration |
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-configuration/raw-value.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-configuration/raw-value.md
new file mode 100644
index 00000000..0fdf0d0b
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-configuration/raw-value.md
@@ -0,0 +1,6 @@
+//[savednetworks](../../../../index.md)/[com.isupatches.android.wisefy.savednetworks.entities](../../index.md)/[SavedNetworkData](../index.md)/[Configuration](index.md)/[rawValue](raw-value.md)
+
+# rawValue
+
+[androidJvm]\
+val [rawValue](raw-value.md): [WifiConfiguration](https://developer.android.com/reference/kotlin/android/net/wifi/WifiConfiguration.html)
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-suggestion/-suggestion.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-suggestion/-suggestion.md
new file mode 100644
index 00000000..97f288fb
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-suggestion/-suggestion.md
@@ -0,0 +1,6 @@
+//[savednetworks](../../../../index.md)/[com.isupatches.android.wisefy.savednetworks.entities](../../index.md)/[SavedNetworkData](../index.md)/[Suggestion](index.md)/[Suggestion](-suggestion.md)
+
+# Suggestion
+
+[androidJvm]\
+fun [Suggestion](-suggestion.md)(rawValue: [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html))
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-suggestion/index.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-suggestion/index.md
new file mode 100644
index 00000000..c3fc21e6
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-suggestion/index.md
@@ -0,0 +1,38 @@
+//[savednetworks](../../../../index.md)/[com.isupatches.android.wisefy.savednetworks.entities](../../index.md)/[SavedNetworkData](../index.md)/[Suggestion](index.md)
+
+# Suggestion
+
+[androidJvm]\
+@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
+
+data class [Suggestion](index.md)(val rawValue: [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html)) : [SavedNetworkData](../index.md)
+
+A data representation of a saved network suggestion starting at Android Q.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.savednetworks.entities.SavedNetworkData](../index.md) | |
+
+## Constructors
+
+| | |
+|---|---|
+| [Suggestion](-suggestion.md) | [androidJvm]
fun [Suggestion](-suggestion.md)(rawValue: [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html)) |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [rawValue](raw-value.md) | [androidJvm]
val [rawValue](raw-value.md): [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html)
The raw value of the saved network as a suggestion |
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-suggestion/raw-value.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-suggestion/raw-value.md
new file mode 100644
index 00000000..f6c5f371
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/-suggestion/raw-value.md
@@ -0,0 +1,6 @@
+//[savednetworks](../../../../index.md)/[com.isupatches.android.wisefy.savednetworks.entities](../../index.md)/[SavedNetworkData](../index.md)/[Suggestion](index.md)/[rawValue](raw-value.md)
+
+# rawValue
+
+[androidJvm]\
+val [rawValue](raw-value.md): [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html)
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md
new file mode 100644
index 00000000..ee2dceba
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/-saved-network-data/index.md
@@ -0,0 +1,30 @@
+//[savednetworks](../../../index.md)/[com.isupatches.android.wisefy.savednetworks.entities](../index.md)/[SavedNetworkData](index.md)
+
+# SavedNetworkData
+
+[androidJvm]\
+sealed class [SavedNetworkData](index.md)
+
+A set of classes and objects that are used to represent a saved network on the device.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [Configuration](-configuration/index.md) | [androidJvm]
data class [Configuration](-configuration/index.md)(val rawValue: [WifiConfiguration](https://developer.android.com/reference/kotlin/android/net/wifi/WifiConfiguration.html)) : [SavedNetworkData](index.md)
A data representation of a saved network configuration prior to Android Q. |
+| [Suggestion](-suggestion/index.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 29)
data class [Suggestion](-suggestion/index.md)(val rawValue: [WifiNetworkSuggestion](https://developer.android.com/reference/kotlin/android/net/wifi/WifiNetworkSuggestion.html)) : [SavedNetworkData](index.md)
A data representation of a saved network suggestion starting at Android Q. |
+
+## Inheritors
+
+| Name |
+|---|
+| [Configuration](-configuration/index.md) |
+| [Suggestion](-suggestion/index.md) |
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/index.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/index.md
new file mode 100644
index 00000000..847af31f
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks.entities/index.md
@@ -0,0 +1,13 @@
+//[savednetworks](../../index.md)/[com.isupatches.android.wisefy.savednetworks.entities](index.md)
+
+# Package com.isupatches.android.wisefy.savednetworks.entities
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [GetSavedNetworksQuery](-get-saved-networks-query/index.md) | [androidJvm]
sealed class [GetSavedNetworksQuery](-get-saved-networks-query/index.md)
A data representation of a request to get all of the saved networks on the device. |
+| [GetSavedNetworksResult](-get-saved-networks-result/index.md) | [androidJvm]
sealed class [GetSavedNetworksResult](-get-saved-networks-result/index.md)
A set of classes and objects that are used to represent a result while getting all of the saved networks on the device. |
+| [IsNetworkSavedQuery](-is-network-saved-query/index.md) | [androidJvm]
sealed class [IsNetworkSavedQuery](-is-network-saved-query/index.md)
A set of classes and objects that are used to represent requests to see if a network is saved. |
+| [IsNetworkSavedResult](-is-network-saved-result/index.md) | [androidJvm]
sealed class [IsNetworkSavedResult](-is-network-saved-result/index.md)
A set of classes and objects that are used to represent a result while seeing if a network is saved on the device. |
+| [SavedNetworkData](-saved-network-data/index.md) | [androidJvm]
sealed class [SavedNetworkData](-saved-network-data/index.md)
A set of classes and objects that are used to represent a saved network on the device. |
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-saved-network-api-async/get-saved-networks.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-saved-network-api-async/get-saved-networks.md
new file mode 100644
index 00000000..0474d73a
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-saved-network-api-async/get-saved-networks.md
@@ -0,0 +1,42 @@
+//[savednetworks](../../../index.md)/[com.isupatches.android.wisefy.savednetworks](../index.md)/[SavedNetworkApiAsync](index.md)/[getSavedNetworks](get-saved-networks.md)
+
+# getSavedNetworks
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_WIFI_STATE"])
+
+abstract fun [getSavedNetworks](get-saved-networks.md)(query: [GetSavedNetworksQuery](../../com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/index.md) = GetSavedNetworksQuery.All, callbacks: [GetSavedNetworksCallbacks](../../com.isupatches.android.wisefy.savednetworks.callbacks/-get-saved-networks-callbacks/index.md)?)
+
+An asynchronous API to get the saved networks on the device.
+
+*Notes*
+
+-
+ Locked by the savedNetworkMutex along with functions for adding, removing, and checking if a network is saved
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.savednetworks.entities.GetSavedNetworksQuery](../../com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/index.md) | |
+| [com.isupatches.android.wisefy.savednetworks.callbacks.GetSavedNetworksCallbacks](../../com.isupatches.android.wisefy.savednetworks.callbacks/-get-saved-networks-callbacks/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| query | The details of the query to get the saved networks on the device |
+| callbacks | The callbacks for when the result for getting saved networks on the device is returned |
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-saved-network-api-async/index.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-saved-network-api-async/index.md
new file mode 100644
index 00000000..6e631516
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-saved-network-api-async/index.md
@@ -0,0 +1,29 @@
+//[savednetworks](../../../index.md)/[com.isupatches.android.wisefy.savednetworks](../index.md)/[SavedNetworkApiAsync](index.md)
+
+# SavedNetworkApiAsync
+
+[androidJvm]\
+interface [SavedNetworkApiAsync](index.md)
+
+A set of asynchronous APIs for getting and searching for saved networks.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [getSavedNetworks](get-saved-networks.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_WIFI_STATE"])
abstract fun [getSavedNetworks](get-saved-networks.md)(query: [GetSavedNetworksQuery](../../com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/index.md) = GetSavedNetworksQuery.All, callbacks: [GetSavedNetworksCallbacks](../../com.isupatches.android.wisefy.savednetworks.callbacks/-get-saved-networks-callbacks/index.md)?)
An asynchronous API to get the saved networks on the device. |
+| [isNetworkSaved](is-network-saved.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_WIFI_STATE"])
abstract fun [isNetworkSaved](is-network-saved.md)(query: [IsNetworkSavedQuery](../../com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-query/index.md), callbacks: [IsNetworkSavedCallbacks](../../com.isupatches.android.wisefy.savednetworks.callbacks/-is-network-saved-callbacks/index.md)?)
An asynchronous API to check if a network is saved on the device. |
+
+## Inheritors
+
+| Name |
+|---|
+| [SavedNetworkDelegate](../-saved-network-delegate/index.md) |
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-saved-network-api-async/is-network-saved.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-saved-network-api-async/is-network-saved.md
new file mode 100644
index 00000000..b2ab5f18
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-saved-network-api-async/is-network-saved.md
@@ -0,0 +1,42 @@
+//[savednetworks](../../../index.md)/[com.isupatches.android.wisefy.savednetworks](../index.md)/[SavedNetworkApiAsync](index.md)/[isNetworkSaved](is-network-saved.md)
+
+# isNetworkSaved
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_WIFI_STATE"])
+
+abstract fun [isNetworkSaved](is-network-saved.md)(query: [IsNetworkSavedQuery](../../com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-query/index.md), callbacks: [IsNetworkSavedCallbacks](../../com.isupatches.android.wisefy.savednetworks.callbacks/-is-network-saved-callbacks/index.md)?)
+
+An asynchronous API to check if a network is saved on the device.
+
+*Notes*
+
+-
+ Locked by the savedNetworkMutex along with functions for adding, removing, and querying for saved networks
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.savednetworks.entities.IsNetworkSavedQuery](../../com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-query/index.md) | |
+| [com.isupatches.android.wisefy.savednetworks.callbacks.IsNetworkSavedCallbacks](../../com.isupatches.android.wisefy.savednetworks.callbacks/-is-network-saved-callbacks/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| query | The details of the query to check if a network is saved on the device |
+| callbacks | The callbacks for the result of whether the network is saved on the device |
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-saved-network-api/get-saved-networks.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-saved-network-api/get-saved-networks.md
new file mode 100644
index 00000000..f2768f35
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-saved-network-api/get-saved-networks.md
@@ -0,0 +1,40 @@
+//[savednetworks](../../../index.md)/[com.isupatches.android.wisefy.savednetworks](../index.md)/[SavedNetworkApi](index.md)/[getSavedNetworks](get-saved-networks.md)
+
+# getSavedNetworks
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_WIFI_STATE"])
+
+abstract fun [getSavedNetworks](get-saved-networks.md)(query: [GetSavedNetworksQuery](../../com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/index.md) = GetSavedNetworksQuery.All): [GetSavedNetworksResult](../../com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-result/index.md)
+
+A synchronous API to get all of the saved networks on the device.
+
+#### Return
+
+GetSavedNetworksResult - The result of getting the saved networks on the device
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.savednetworks.entities.GetSavedNetworksQuery](../../com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/index.md) | |
+| [com.isupatches.android.wisefy.savednetworks.entities.GetSavedNetworksResult](../../com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-result/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| query | The details of the query to get the saved networks on the device |
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-saved-network-api/index.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-saved-network-api/index.md
new file mode 100644
index 00000000..575aa63b
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-saved-network-api/index.md
@@ -0,0 +1,29 @@
+//[savednetworks](../../../index.md)/[com.isupatches.android.wisefy.savednetworks](../index.md)/[SavedNetworkApi](index.md)
+
+# SavedNetworkApi
+
+[androidJvm]\
+interface [SavedNetworkApi](index.md)
+
+A set of synchronous APIs for getting and searching for saved networks.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [getSavedNetworks](get-saved-networks.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_WIFI_STATE"])
abstract fun [getSavedNetworks](get-saved-networks.md)(query: [GetSavedNetworksQuery](../../com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/index.md) = GetSavedNetworksQuery.All): [GetSavedNetworksResult](../../com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-result/index.md)
A synchronous API to get all of the saved networks on the device. |
+| [isNetworkSaved](is-network-saved.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_WIFI_STATE"])
abstract fun [isNetworkSaved](is-network-saved.md)(query: [IsNetworkSavedQuery](../../com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-query/index.md)): [IsNetworkSavedResult](../../com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-result/index.md)
A synchronous API to check if a network is saved on the device. |
+
+## Inheritors
+
+| Name |
+|---|
+| [SavedNetworkDelegate](../-saved-network-delegate/index.md) |
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-saved-network-api/is-network-saved.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-saved-network-api/is-network-saved.md
new file mode 100644
index 00000000..dc984ed7
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-saved-network-api/is-network-saved.md
@@ -0,0 +1,40 @@
+//[savednetworks](../../../index.md)/[com.isupatches.android.wisefy.savednetworks](../index.md)/[SavedNetworkApi](index.md)/[isNetworkSaved](is-network-saved.md)
+
+# isNetworkSaved
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_WIFI_STATE"])
+
+abstract fun [isNetworkSaved](is-network-saved.md)(query: [IsNetworkSavedQuery](../../com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-query/index.md)): [IsNetworkSavedResult](../../com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-result/index.md)
+
+A synchronous API to check if a network is saved on the device.
+
+#### Return
+
+IsNetworkSavedResult - The result of checking if a network is saved on the device
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.savednetworks.entities.IsNetworkSavedQuery](../../com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-query/index.md) | |
+| [com.isupatches.android.wisefy.savednetworks.entities.IsNetworkSavedResult](../../com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-result/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| query | The details of the query to check if a network is saved on the device |
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-saved-network-delegate/index.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-saved-network-delegate/index.md
new file mode 100644
index 00000000..e4233828
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-saved-network-delegate/index.md
@@ -0,0 +1,38 @@
+//[savednetworks](../../../index.md)/[com.isupatches.android.wisefy.savednetworks](../index.md)/[SavedNetworkDelegate](index.md)
+
+# SavedNetworkDelegate
+
+[androidJvm]\
+interface [SavedNetworkDelegate](index.md) : [SavedNetworkApi](../-saved-network-api/index.md), [SavedNetworkApiAsync](../-saved-network-api-async/index.md)
+
+A delegate for synchronous and asynchronous APIs for getting and searching for saved networks.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.savednetworks.SavedNetworkApi](../-saved-network-api/index.md) | |
+| [com.isupatches.android.wisefy.savednetworks.SavedNetworkApiAsync](../-saved-network-api-async/index.md) | |
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [getSavedNetworks](../-saved-network-api/get-saved-networks.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_WIFI_STATE"])
abstract fun [getSavedNetworks](../-saved-network-api/get-saved-networks.md)(query: [GetSavedNetworksQuery](../../com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/index.md) = GetSavedNetworksQuery.All): [GetSavedNetworksResult](../../com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-result/index.md)
A synchronous API to get all of the saved networks on the device.
[androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_WIFI_STATE"])
abstract fun [getSavedNetworks](../-saved-network-api-async/get-saved-networks.md)(query: [GetSavedNetworksQuery](../../com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/index.md) = GetSavedNetworksQuery.All, callbacks: [GetSavedNetworksCallbacks](../../com.isupatches.android.wisefy.savednetworks.callbacks/-get-saved-networks-callbacks/index.md)?)
An asynchronous API to get the saved networks on the device. |
+| [isNetworkSaved](../-saved-network-api/is-network-saved.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_WIFI_STATE"])
abstract fun [isNetworkSaved](../-saved-network-api/is-network-saved.md)(query: [IsNetworkSavedQuery](../../com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-query/index.md)): [IsNetworkSavedResult](../../com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-result/index.md)
A synchronous API to check if a network is saved on the device.
[androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_WIFI_STATE"])
abstract fun [isNetworkSaved](../-saved-network-api-async/is-network-saved.md)(query: [IsNetworkSavedQuery](../../com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-query/index.md), callbacks: [IsNetworkSavedCallbacks](../../com.isupatches.android.wisefy.savednetworks.callbacks/-is-network-saved-callbacks/index.md)?)
An asynchronous API to check if a network is saved on the device. |
+
+## Inheritors
+
+| Name |
+|---|
+| [WisefySavedNetworkDelegate](../-wisefy-saved-network-delegate/index.md) |
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-delegate/-companion/index.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-delegate/-companion/index.md
new file mode 100644
index 00000000..ece462b6
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-delegate/-companion/index.md
@@ -0,0 +1,6 @@
+//[savednetworks](../../../../index.md)/[com.isupatches.android.wisefy.savednetworks](../../index.md)/[WisefySavedNetworkDelegate](../index.md)/[Companion](index.md)
+
+# Companion
+
+[androidJvm]\
+object [Companion](index.md)
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-delegate/-wisefy-saved-network-delegate.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-delegate/-wisefy-saved-network-delegate.md
new file mode 100644
index 00000000..47a3ccfc
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-delegate/-wisefy-saved-network-delegate.md
@@ -0,0 +1,21 @@
+//[savednetworks](../../../index.md)/[com.isupatches.android.wisefy.savednetworks](../index.md)/[WisefySavedNetworkDelegate](index.md)/[WisefySavedNetworkDelegate](-wisefy-saved-network-delegate.md)
+
+# WisefySavedNetworkDelegate
+
+[androidJvm]\
+fun [WisefySavedNetworkDelegate](-wisefy-saved-network-delegate.md)(assertions: [WisefyAssertions](../../../../core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/index.md), logger: [WisefyLogger](../../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md), sdkUtil: [SdkUtil](../../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md), wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), coroutineDispatcherProvider: [CoroutineDispatcherProvider](../../../../core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/index.md), scope: CoroutineScope, savedNetworkMutex: Mutex, adapter: [SavedNetworkApi](../-saved-network-api/index.md) = when {
+ sdkUtil.isAtLeastR() -> Android30SavedNetworkAdapter(wifiManager, logger)
+ sdkUtil.isAtLeastQ() -> Android29SavedNetworkAdapter(assertions)
+ else -> DefaultSavedNetworkAdapter(wifiManager, logger)
+ })
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| assertions | The [WisefyAssertions](../../../../core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/index.md) instance to use |
+| logger | The [WisefyLogger](../../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md) instance to use |
+| sdkUtil | The [SdkUtil](../../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md) instance to use |
+| wifiManager | The WifiManager instance to use |
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-delegate/get-saved-networks.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-delegate/get-saved-networks.md
new file mode 100644
index 00000000..fef37b2b
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-delegate/get-saved-networks.md
@@ -0,0 +1,79 @@
+//[savednetworks](../../../index.md)/[com.isupatches.android.wisefy.savednetworks](../index.md)/[WisefySavedNetworkDelegate](index.md)/[getSavedNetworks](get-saved-networks.md)
+
+# getSavedNetworks
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_WIFI_STATE"])
+
+open override fun [getSavedNetworks](get-saved-networks.md)(query: [GetSavedNetworksQuery](../../com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/index.md)): [GetSavedNetworksResult](../../com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-result/index.md)
+
+A synchronous API to get all of the saved networks on the device.
+
+#### Return
+
+GetSavedNetworksResult - The result of getting the saved networks on the device
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.savednetworks.entities.GetSavedNetworksQuery](../../com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/index.md) | |
+| [com.isupatches.android.wisefy.savednetworks.entities.GetSavedNetworksResult](../../com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-result/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| query | The details of the query to get the saved networks on the device |
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_WIFI_STATE"])
+
+open override fun [getSavedNetworks](get-saved-networks.md)(query: [GetSavedNetworksQuery](../../com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/index.md), callbacks: [GetSavedNetworksCallbacks](../../com.isupatches.android.wisefy.savednetworks.callbacks/-get-saved-networks-callbacks/index.md)?)
+
+An asynchronous API to get the saved networks on the device.
+
+*Notes*
+
+-
+ Locked by the savedNetworkMutex along with functions for adding, removing, and checking if a network is saved
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.savednetworks.entities.GetSavedNetworksQuery](../../com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/index.md) | |
+| [com.isupatches.android.wisefy.savednetworks.callbacks.GetSavedNetworksCallbacks](../../com.isupatches.android.wisefy.savednetworks.callbacks/-get-saved-networks-callbacks/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| query | The details of the query to get the saved networks on the device |
+| callbacks | The callbacks for when the result for getting saved networks on the device is returned |
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-delegate/index.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-delegate/index.md
new file mode 100644
index 00000000..fceb4580
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-delegate/index.md
@@ -0,0 +1,70 @@
+//[savednetworks](../../../index.md)/[com.isupatches.android.wisefy.savednetworks](../index.md)/[WisefySavedNetworkDelegate](index.md)
+
+# WisefySavedNetworkDelegate
+
+[androidJvm]\
+class [WisefySavedNetworkDelegate](index.md)(assertions: [WisefyAssertions](../../../../core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/index.md), logger: [WisefyLogger](../../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md), sdkUtil: [SdkUtil](../../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md), wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), coroutineDispatcherProvider: [CoroutineDispatcherProvider](../../../../core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/index.md), scope: CoroutineScope, savedNetworkMutex: Mutex, adapter: [SavedNetworkApi](../-saved-network-api/index.md) = when {
+ sdkUtil.isAtLeastR() -> Android30SavedNetworkAdapter(wifiManager, logger)
+ sdkUtil.isAtLeastQ() -> Android29SavedNetworkAdapter(assertions)
+ else -> DefaultSavedNetworkAdapter(wifiManager, logger)
+ }) : [SavedNetworkDelegate](../-saved-network-delegate/index.md)
+
+An internal Wisefy delegate for getting and searching for saved networks.
+
+*Notes*
+
+-
+ These functions share a mutex with add/remove network
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| com.isupatches.android.wisefy.savednetworks.os.adapters.Android29SavedNetworkAdapter | |
+| com.isupatches.android.wisefy.savednetworks.os.adapters.Android30SavedNetworkAdapter | |
+| [com.isupatches.android.wisefy.core.coroutines.CoroutineDispatcherProvider](../../../../core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/index.md) | |
+| com.isupatches.android.wisefy.savednetworks.os.adapters.DefaultSavedNetworkAdapter | |
+| [com.isupatches.android.wisefy.core.assertions.WisefyAssertions](../../../../core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/index.md) | |
+| [com.isupatches.android.wisefy.core.logging.WisefyLogger](../../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md) | |
+| [com.isupatches.android.wisefy.savednetworks.SavedNetworkApi](../-saved-network-api/index.md) | |
+| [com.isupatches.android.wisefy.core.util.SdkUtil](../../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| assertions | The [WisefyAssertions](../../../../core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/index.md) instance to use |
+| logger | The [WisefyLogger](../../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md) instance to use |
+| sdkUtil | The [SdkUtil](../../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md) instance to use |
+| wifiManager | The WifiManager instance to use |
+
+## Constructors
+
+| | |
+|---|---|
+| [WisefySavedNetworkDelegate](-wisefy-saved-network-delegate.md) | [androidJvm]
fun [WisefySavedNetworkDelegate](-wisefy-saved-network-delegate.md)(assertions: [WisefyAssertions](../../../../core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/index.md), logger: [WisefyLogger](../../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md), sdkUtil: [SdkUtil](../../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md), wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), coroutineDispatcherProvider: [CoroutineDispatcherProvider](../../../../core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/index.md), scope: CoroutineScope, savedNetworkMutex: Mutex, adapter: [SavedNetworkApi](../-saved-network-api/index.md) = when { sdkUtil.isAtLeastR() -> Android30SavedNetworkAdapter(wifiManager, logger) sdkUtil.isAtLeastQ() -> Android29SavedNetworkAdapter(assertions) else -> DefaultSavedNetworkAdapter(wifiManager, logger) }) |
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [Companion](-companion/index.md) | [androidJvm]
object [Companion](-companion/index.md) |
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [getSavedNetworks](get-saved-networks.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_WIFI_STATE"])
open override fun [getSavedNetworks](get-saved-networks.md)(query: [GetSavedNetworksQuery](../../com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/index.md)): [GetSavedNetworksResult](../../com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-result/index.md)
A synchronous API to get all of the saved networks on the device.
[androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_WIFI_STATE"])
open override fun [getSavedNetworks](get-saved-networks.md)(query: [GetSavedNetworksQuery](../../com.isupatches.android.wisefy.savednetworks.entities/-get-saved-networks-query/index.md), callbacks: [GetSavedNetworksCallbacks](../../com.isupatches.android.wisefy.savednetworks.callbacks/-get-saved-networks-callbacks/index.md)?)
An asynchronous API to get the saved networks on the device. |
+| [isNetworkSaved](is-network-saved.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_WIFI_STATE"])
open override fun [isNetworkSaved](is-network-saved.md)(query: [IsNetworkSavedQuery](../../com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-query/index.md)): [IsNetworkSavedResult](../../com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-result/index.md)
A synchronous API to check if a network is saved on the device.
[androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_WIFI_STATE"])
open override fun [isNetworkSaved](is-network-saved.md)(query: [IsNetworkSavedQuery](../../com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-query/index.md), callbacks: [IsNetworkSavedCallbacks](../../com.isupatches.android.wisefy.savednetworks.callbacks/-is-network-saved-callbacks/index.md)?)
An asynchronous API to check if a network is saved on the device. |
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-delegate/is-network-saved.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-delegate/is-network-saved.md
new file mode 100644
index 00000000..a25ae258
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/-wisefy-saved-network-delegate/is-network-saved.md
@@ -0,0 +1,79 @@
+//[savednetworks](../../../index.md)/[com.isupatches.android.wisefy.savednetworks](../index.md)/[WisefySavedNetworkDelegate](index.md)/[isNetworkSaved](is-network-saved.md)
+
+# isNetworkSaved
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_WIFI_STATE"])
+
+open override fun [isNetworkSaved](is-network-saved.md)(query: [IsNetworkSavedQuery](../../com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-query/index.md)): [IsNetworkSavedResult](../../com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-result/index.md)
+
+A synchronous API to check if a network is saved on the device.
+
+#### Return
+
+IsNetworkSavedResult - The result of checking if a network is saved on the device
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.savednetworks.entities.IsNetworkSavedQuery](../../com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-query/index.md) | |
+| [com.isupatches.android.wisefy.savednetworks.entities.IsNetworkSavedResult](../../com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-result/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| query | The details of the query to check if a network is saved on the device |
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(allOf = ["android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_WIFI_STATE"])
+
+open override fun [isNetworkSaved](is-network-saved.md)(query: [IsNetworkSavedQuery](../../com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-query/index.md), callbacks: [IsNetworkSavedCallbacks](../../com.isupatches.android.wisefy.savednetworks.callbacks/-is-network-saved-callbacks/index.md)?)
+
+An asynchronous API to check if a network is saved on the device.
+
+*Notes*
+
+-
+ Locked by the savedNetworkMutex along with functions for adding, removing, and querying for saved networks
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.savednetworks.entities.IsNetworkSavedQuery](../../com.isupatches.android.wisefy.savednetworks.entities/-is-network-saved-query/index.md) | |
+| [com.isupatches.android.wisefy.savednetworks.callbacks.IsNetworkSavedCallbacks](../../com.isupatches.android.wisefy.savednetworks.callbacks/-is-network-saved-callbacks/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| query | The details of the query to check if a network is saved on the device |
+| callbacks | The callbacks for the result of whether the network is saved on the device |
diff --git a/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/index.md b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/index.md
new file mode 100644
index 00000000..36c22ee2
--- /dev/null
+++ b/dokka/savednetworks/savednetworks/com.isupatches.android.wisefy.savednetworks/index.md
@@ -0,0 +1,12 @@
+//[savednetworks](../../index.md)/[com.isupatches.android.wisefy.savednetworks](index.md)
+
+# Package com.isupatches.android.wisefy.savednetworks
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [SavedNetworkApi](-saved-network-api/index.md) | [androidJvm]
interface [SavedNetworkApi](-saved-network-api/index.md)
A set of synchronous APIs for getting and searching for saved networks. |
+| [SavedNetworkApiAsync](-saved-network-api-async/index.md) | [androidJvm]
interface [SavedNetworkApiAsync](-saved-network-api-async/index.md)
A set of asynchronous APIs for getting and searching for saved networks. |
+| [SavedNetworkDelegate](-saved-network-delegate/index.md) | [androidJvm]
interface [SavedNetworkDelegate](-saved-network-delegate/index.md) : [SavedNetworkApi](-saved-network-api/index.md), [SavedNetworkApiAsync](-saved-network-api-async/index.md)
A delegate for synchronous and asynchronous APIs for getting and searching for saved networks. |
+| [WisefySavedNetworkDelegate](-wisefy-saved-network-delegate/index.md) | [androidJvm]
class [WisefySavedNetworkDelegate](-wisefy-saved-network-delegate/index.md)(assertions: [WisefyAssertions](../../../core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/index.md), logger: [WisefyLogger](../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md), sdkUtil: [SdkUtil](../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md), wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), coroutineDispatcherProvider: [CoroutineDispatcherProvider](../../../core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/index.md), scope: CoroutineScope, savedNetworkMutex: Mutex, adapter: [SavedNetworkApi](-saved-network-api/index.md) = when { sdkUtil.isAtLeastR() -> Android30SavedNetworkAdapter(wifiManager, logger) sdkUtil.isAtLeastQ() -> Android29SavedNetworkAdapter(assertions) else -> DefaultSavedNetworkAdapter(wifiManager, logger) }) : [SavedNetworkDelegate](-saved-network-delegate/index.md)
An internal Wisefy delegate for getting and searching for saved networks. |
diff --git a/dokka/signal/index.md b/dokka/signal/index.md
new file mode 100644
index 00000000..dd323cc8
--- /dev/null
+++ b/dokka/signal/index.md
@@ -0,0 +1,10 @@
+//[signal](index.md)
+
+# signal
+
+## Packages
+
+| Name |
+|---|
+| [com.isupatches.android.wisefy.signal](signal/com.isupatches.android.wisefy.signal/index.md) |
+| [com.isupatches.android.wisefy.signal.entities](signal/com.isupatches.android.wisefy.signal.entities/index.md) |
diff --git a/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-request/-android30-and-above/-android30-and-above.md b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-request/-android30-and-above/-android30-and-above.md
new file mode 100644
index 00000000..26e6c669
--- /dev/null
+++ b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-request/-android30-and-above/-android30-and-above.md
@@ -0,0 +1,6 @@
+//[signal](../../../../index.md)/[com.isupatches.android.wisefy.signal.entities](../../index.md)/[CalculateSignalLevelRequest](../index.md)/[Android30AndAbove](index.md)/[Android30AndAbove](-android30-and-above.md)
+
+# Android30AndAbove
+
+[androidJvm]\
+fun [Android30AndAbove](-android30-and-above.md)(rssiLevel: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html))
diff --git a/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-request/-android30-and-above/index.md b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-request/-android30-and-above/index.md
new file mode 100644
index 00000000..1b066c49
--- /dev/null
+++ b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-request/-android30-and-above/index.md
@@ -0,0 +1,38 @@
+//[signal](../../../../index.md)/[com.isupatches.android.wisefy.signal.entities](../../index.md)/[CalculateSignalLevelRequest](../index.md)/[Android30AndAbove](index.md)
+
+# Android30AndAbove
+
+[androidJvm]\
+@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
+
+data class [Android30AndAbove](index.md)(val rssiLevel: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)) : [CalculateSignalLevelRequest](../index.md)
+
+A data representation of a request on Android 30 or higher devices to calculate the number of signal strength bars based on the RSSI level of a network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.signal.entities.CalculateSignalLevelRequest](../index.md) | |
+
+## Constructors
+
+| | |
+|---|---|
+| [Android30AndAbove](-android30-and-above.md) | [androidJvm]
fun [Android30AndAbove](-android30-and-above.md)(rssiLevel: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)) |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [rssiLevel](rssi-level.md) | [androidJvm]
val [rssiLevel](rssi-level.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
The RSSI level of the network |
diff --git a/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-request/-android30-and-above/rssi-level.md b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-request/-android30-and-above/rssi-level.md
new file mode 100644
index 00000000..06d6e3df
--- /dev/null
+++ b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-request/-android30-and-above/rssi-level.md
@@ -0,0 +1,6 @@
+//[signal](../../../../index.md)/[com.isupatches.android.wisefy.signal.entities](../../index.md)/[CalculateSignalLevelRequest](../index.md)/[Android30AndAbove](index.md)/[rssiLevel](rssi-level.md)
+
+# rssiLevel
+
+[androidJvm]\
+val [rssiLevel](rssi-level.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-request/-below-android30/-below-android30.md b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-request/-below-android30/-below-android30.md
new file mode 100644
index 00000000..4b1c5665
--- /dev/null
+++ b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-request/-below-android30/-below-android30.md
@@ -0,0 +1,6 @@
+//[signal](../../../../index.md)/[com.isupatches.android.wisefy.signal.entities](../../index.md)/[CalculateSignalLevelRequest](../index.md)/[BelowAndroid30](index.md)/[BelowAndroid30](-below-android30.md)
+
+# BelowAndroid30
+
+[androidJvm]\
+fun [BelowAndroid30](-below-android30.md)(rssiLevel: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), numLevels: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html))
diff --git a/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-request/-below-android30/index.md b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-request/-below-android30/index.md
new file mode 100644
index 00000000..dd6d4143
--- /dev/null
+++ b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-request/-below-android30/index.md
@@ -0,0 +1,37 @@
+//[signal](../../../../index.md)/[com.isupatches.android.wisefy.signal.entities](../../index.md)/[CalculateSignalLevelRequest](../index.md)/[BelowAndroid30](index.md)
+
+# BelowAndroid30
+
+[androidJvm]\
+data class [BelowAndroid30](index.md)(val rssiLevel: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), val numLevels: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)) : [CalculateSignalLevelRequest](../index.md)
+
+A data representation of a request on pre-Android 30 devices to calculate the number of signal bars based on the RSSI level of a network and the desired amount of bars.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.signal.entities.CalculateSignalLevelRequest](../index.md) | |
+
+## Constructors
+
+| | |
+|---|---|
+| [BelowAndroid30](-below-android30.md) | [androidJvm]
fun [BelowAndroid30](-below-android30.md)(rssiLevel: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), numLevels: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)) |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [numLevels](num-levels.md) | [androidJvm]
val [numLevels](num-levels.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
The desired number of signal strength bars |
+| [rssiLevel](rssi-level.md) | [androidJvm]
val [rssiLevel](rssi-level.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
The RSSI level of the network |
diff --git a/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-request/-below-android30/num-levels.md b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-request/-below-android30/num-levels.md
new file mode 100644
index 00000000..849c12d5
--- /dev/null
+++ b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-request/-below-android30/num-levels.md
@@ -0,0 +1,6 @@
+//[signal](../../../../index.md)/[com.isupatches.android.wisefy.signal.entities](../../index.md)/[CalculateSignalLevelRequest](../index.md)/[BelowAndroid30](index.md)/[numLevels](num-levels.md)
+
+# numLevels
+
+[androidJvm]\
+val [numLevels](num-levels.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-request/-below-android30/rssi-level.md b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-request/-below-android30/rssi-level.md
new file mode 100644
index 00000000..a1026e3c
--- /dev/null
+++ b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-request/-below-android30/rssi-level.md
@@ -0,0 +1,6 @@
+//[signal](../../../../index.md)/[com.isupatches.android.wisefy.signal.entities](../../index.md)/[CalculateSignalLevelRequest](../index.md)/[BelowAndroid30](index.md)/[rssiLevel](rssi-level.md)
+
+# rssiLevel
+
+[androidJvm]\
+val [rssiLevel](rssi-level.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-request/index.md b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-request/index.md
new file mode 100644
index 00000000..f7e1b763
--- /dev/null
+++ b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-request/index.md
@@ -0,0 +1,30 @@
+//[signal](../../../index.md)/[com.isupatches.android.wisefy.signal.entities](../index.md)/[CalculateSignalLevelRequest](index.md)
+
+# CalculateSignalLevelRequest
+
+[androidJvm]\
+sealed class [CalculateSignalLevelRequest](index.md)
+
+A set of classes and objects that are used to represent requests to calculate the number of signal strength bars based on the RSSI level of a network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [Android30AndAbove](-android30-and-above/index.md) | [androidJvm]
@[RequiresApi](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi.html)(value = 30)
data class [Android30AndAbove](-android30-and-above/index.md)(val rssiLevel: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)) : [CalculateSignalLevelRequest](index.md)
A data representation of a request on Android 30 or higher devices to calculate the number of signal strength bars based on the RSSI level of a network. |
+| [BelowAndroid30](-below-android30/index.md) | [androidJvm]
data class [BelowAndroid30](-below-android30/index.md)(val rssiLevel: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), val numLevels: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)) : [CalculateSignalLevelRequest](index.md)
A data representation of a request on pre-Android 30 devices to calculate the number of signal bars based on the RSSI level of a network and the desired amount of bars. |
+
+## Inheritors
+
+| Name |
+|---|
+| [BelowAndroid30](-below-android30/index.md) |
+| [Android30AndAbove](-android30-and-above/index.md) |
diff --git a/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-result/-failure/-assertion/-assertion.md b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-result/-failure/-assertion/-assertion.md
new file mode 100644
index 00000000..1792249b
--- /dev/null
+++ b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-result/-failure/-assertion/-assertion.md
@@ -0,0 +1,6 @@
+//[signal](../../../../../index.md)/[com.isupatches.android.wisefy.signal.entities](../../../index.md)/[CalculateSignalLevelResult](../../index.md)/[Failure](../index.md)/[Assertion](index.md)/[Assertion](-assertion.md)
+
+# Assertion
+
+[androidJvm]\
+fun [Assertion](-assertion.md)(message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html))
diff --git a/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-result/-failure/-assertion/index.md b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-result/-failure/-assertion/index.md
new file mode 100644
index 00000000..133cc502
--- /dev/null
+++ b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-result/-failure/-assertion/index.md
@@ -0,0 +1,38 @@
+//[signal](../../../../../index.md)/[com.isupatches.android.wisefy.signal.entities](../../../index.md)/[CalculateSignalLevelResult](../../index.md)/[Failure](../index.md)/[Assertion](index.md)
+
+# Assertion
+
+[androidJvm]\
+data class [Assertion](index.md)(val message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) : [CalculateSignalLevelResult.Failure](../index.md)
+
+A representation of a failure to calculate the sign level of a network due to hitting an unexpected path causing an assertion.
+
+*NOTE* This is for developer specific feedback and should NEVER actually be hit unless there is a bug.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.signal.entities.CalculateSignalLevelResult.Failure](../index.md) | |
+
+## Constructors
+
+| | |
+|---|---|
+| [Assertion](-assertion.md) | [androidJvm]
fun [Assertion](-assertion.md)(message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [message](message.md) | [androidJvm]
val [message](message.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
A text description describing the assertion error hit |
diff --git a/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-result/-failure/-assertion/message.md b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-result/-failure/-assertion/message.md
new file mode 100644
index 00000000..18adb9ff
--- /dev/null
+++ b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-result/-failure/-assertion/message.md
@@ -0,0 +1,6 @@
+//[signal](../../../../../index.md)/[com.isupatches.android.wisefy.signal.entities](../../../index.md)/[CalculateSignalLevelResult](../../index.md)/[Failure](../index.md)/[Assertion](index.md)/[message](message.md)
+
+# message
+
+[androidJvm]\
+val [message](message.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-result/-failure/index.md b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-result/-failure/index.md
new file mode 100644
index 00000000..714c85b2
--- /dev/null
+++ b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-result/-failure/index.md
@@ -0,0 +1,36 @@
+//[signal](../../../../index.md)/[com.isupatches.android.wisefy.signal.entities](../../index.md)/[CalculateSignalLevelResult](../index.md)/[Failure](index.md)
+
+# Failure
+
+[androidJvm]\
+sealed class [Failure](index.md) : [CalculateSignalLevelResult](../index.md)
+
+A set of classes that denote a failure while attempting to calculate the sign level of a network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.signal.entities.CalculateSignalLevelResult](../index.md) | |
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [Assertion](-assertion/index.md) | [androidJvm]
data class [Assertion](-assertion/index.md)(val message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) : [CalculateSignalLevelResult.Failure](index.md)
A representation of a failure to calculate the sign level of a network due to hitting an unexpected path causing an assertion. |
+
+## Inheritors
+
+| Name |
+|---|
+| [Assertion](-assertion/index.md) |
diff --git a/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-result/-success/-success.md b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-result/-success/-success.md
new file mode 100644
index 00000000..7f28a43d
--- /dev/null
+++ b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-result/-success/-success.md
@@ -0,0 +1,6 @@
+//[signal](../../../../index.md)/[com.isupatches.android.wisefy.signal.entities](../../index.md)/[CalculateSignalLevelResult](../index.md)/[Success](index.md)/[Success](-success.md)
+
+# Success
+
+[androidJvm]\
+fun [Success](-success.md)(value: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html))
diff --git a/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-result/-success/index.md b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-result/-success/index.md
new file mode 100644
index 00000000..0e12e275
--- /dev/null
+++ b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-result/-success/index.md
@@ -0,0 +1,36 @@
+//[signal](../../../../index.md)/[com.isupatches.android.wisefy.signal.entities](../../index.md)/[CalculateSignalLevelResult](../index.md)/[Success](index.md)
+
+# Success
+
+[androidJvm]\
+data class [Success](index.md)(val value: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)) : [CalculateSignalLevelResult](../index.md)
+
+A representation of a success while attempting to calculate the sign level of a network.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.signal.entities.CalculateSignalLevelResult](../index.md) | |
+
+## Constructors
+
+| | |
+|---|---|
+| [Success](-success.md) | [androidJvm]
fun [Success](-success.md)(value: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)) |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [value](value.md) | [androidJvm]
val [value](value.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
The number of signal bars for the network based on its RSSI level |
diff --git a/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-result/-success/value.md b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-result/-success/value.md
new file mode 100644
index 00000000..bda9e6c1
--- /dev/null
+++ b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-result/-success/value.md
@@ -0,0 +1,6 @@
+//[signal](../../../../index.md)/[com.isupatches.android.wisefy.signal.entities](../../index.md)/[CalculateSignalLevelResult](../index.md)/[Success](index.md)/[value](value.md)
+
+# value
+
+[androidJvm]\
+val [value](value.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-result/index.md b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-result/index.md
new file mode 100644
index 00000000..f50489bf
--- /dev/null
+++ b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-result/index.md
@@ -0,0 +1,30 @@
+//[signal](../../../index.md)/[com.isupatches.android.wisefy.signal.entities](../index.md)/[CalculateSignalLevelResult](index.md)
+
+# CalculateSignalLevelResult
+
+[androidJvm]\
+sealed class [CalculateSignalLevelResult](index.md)
+
+A set of classes and objects that are used to represent a result while calculating the number of signal bars based on an RSSI level.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [Failure](-failure/index.md) | [androidJvm]
sealed class [Failure](-failure/index.md) : [CalculateSignalLevelResult](index.md)
A set of classes that denote a failure while attempting to calculate the sign level of a network. |
+| [Success](-success/index.md) | [androidJvm]
data class [Success](-success/index.md)(val value: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)) : [CalculateSignalLevelResult](index.md)
A representation of a success while attempting to calculate the sign level of a network. |
+
+## Inheritors
+
+| Name |
+|---|
+| [Success](-success/index.md) |
+| [Failure](-failure/index.md) |
diff --git a/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-request/-compare-signal-level-request.md b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-request/-compare-signal-level-request.md
new file mode 100644
index 00000000..f0d8476d
--- /dev/null
+++ b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-request/-compare-signal-level-request.md
@@ -0,0 +1,6 @@
+//[signal](../../../index.md)/[com.isupatches.android.wisefy.signal.entities](../index.md)/[CompareSignalLevelRequest](index.md)/[CompareSignalLevelRequest](-compare-signal-level-request.md)
+
+# CompareSignalLevelRequest
+
+[androidJvm]\
+fun [CompareSignalLevelRequest](-compare-signal-level-request.md)(rssi1: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), rssi2: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html))
diff --git a/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-request/index.md b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-request/index.md
new file mode 100644
index 00000000..4de55fe4
--- /dev/null
+++ b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-request/index.md
@@ -0,0 +1,29 @@
+//[signal](../../../index.md)/[com.isupatches.android.wisefy.signal.entities](../index.md)/[CompareSignalLevelRequest](index.md)
+
+# CompareSignalLevelRequest
+
+[androidJvm]\
+data class [CompareSignalLevelRequest](index.md)(val rssi1: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), val rssi2: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html))
+
+A data representation of a request to compare the RSSI level of two networks.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Constructors
+
+| | |
+|---|---|
+| [CompareSignalLevelRequest](-compare-signal-level-request.md) | [androidJvm]
fun [CompareSignalLevelRequest](-compare-signal-level-request.md)(rssi1: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), rssi2: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)) |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [rssi1](rssi1.md) | [androidJvm]
val [rssi1](rssi1.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
The RSSI level of the first network |
+| [rssi2](rssi2.md) | [androidJvm]
val [rssi2](rssi2.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
The RSSI level of the second network |
diff --git a/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-request/rssi1.md b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-request/rssi1.md
new file mode 100644
index 00000000..4d43751c
--- /dev/null
+++ b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-request/rssi1.md
@@ -0,0 +1,6 @@
+//[signal](../../../index.md)/[com.isupatches.android.wisefy.signal.entities](../index.md)/[CompareSignalLevelRequest](index.md)/[rssi1](rssi1.md)
+
+# rssi1
+
+[androidJvm]\
+val [rssi1](rssi1.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-request/rssi2.md b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-request/rssi2.md
new file mode 100644
index 00000000..9430ce42
--- /dev/null
+++ b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-request/rssi2.md
@@ -0,0 +1,6 @@
+//[signal](../../../index.md)/[com.isupatches.android.wisefy.signal.entities](../index.md)/[CompareSignalLevelRequest](index.md)/[rssi2](rssi2.md)
+
+# rssi2
+
+[androidJvm]\
+val [rssi2](rssi2.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/-success/-first-r-s-s-i-value-is-stronger/-first-r-s-s-i-value-is-stronger.md b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/-success/-first-r-s-s-i-value-is-stronger/-first-r-s-s-i-value-is-stronger.md
new file mode 100644
index 00000000..7ecc505c
--- /dev/null
+++ b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/-success/-first-r-s-s-i-value-is-stronger/-first-r-s-s-i-value-is-stronger.md
@@ -0,0 +1,6 @@
+//[signal](../../../../../index.md)/[com.isupatches.android.wisefy.signal.entities](../../../index.md)/[CompareSignalLevelResult](../../index.md)/[Success](../index.md)/[FirstRSSIValueIsStronger](index.md)/[FirstRSSIValueIsStronger](-first-r-s-s-i-value-is-stronger.md)
+
+# FirstRSSIValueIsStronger
+
+[androidJvm]\
+fun [FirstRSSIValueIsStronger](-first-r-s-s-i-value-is-stronger.md)(value: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html))
diff --git a/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/-success/-first-r-s-s-i-value-is-stronger/index.md b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/-success/-first-r-s-s-i-value-is-stronger/index.md
new file mode 100644
index 00000000..89699904
--- /dev/null
+++ b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/-success/-first-r-s-s-i-value-is-stronger/index.md
@@ -0,0 +1,36 @@
+//[signal](../../../../../index.md)/[com.isupatches.android.wisefy.signal.entities](../../../index.md)/[CompareSignalLevelResult](../../index.md)/[Success](../index.md)/[FirstRSSIValueIsStronger](index.md)
+
+# FirstRSSIValueIsStronger
+
+[androidJvm]\
+data class [FirstRSSIValueIsStronger](index.md)(val value: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)) : [CompareSignalLevelResult.Success](../index.md)
+
+A representation of when the first network has an RSSI value that is stronger than the second network's RSSI.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.signal.entities.CompareSignalLevelResult.Success](../index.md) | |
+
+## Constructors
+
+| | |
+|---|---|
+| [FirstRSSIValueIsStronger](-first-r-s-s-i-value-is-stronger.md) | [androidJvm]
fun [FirstRSSIValueIsStronger](-first-r-s-s-i-value-is-stronger.md)(value: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)) |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [value](value.md) | [androidJvm]
open override val [value](value.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
The difference between the first and second networks RSSI value (expected to be positive) |
diff --git a/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/-success/-first-r-s-s-i-value-is-stronger/value.md b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/-success/-first-r-s-s-i-value-is-stronger/value.md
new file mode 100644
index 00000000..5d553a00
--- /dev/null
+++ b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/-success/-first-r-s-s-i-value-is-stronger/value.md
@@ -0,0 +1,6 @@
+//[signal](../../../../../index.md)/[com.isupatches.android.wisefy.signal.entities](../../../index.md)/[CompareSignalLevelResult](../../index.md)/[Success](../index.md)/[FirstRSSIValueIsStronger](index.md)/[value](value.md)
+
+# value
+
+[androidJvm]\
+open override val [value](value.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/-success/-first-r-s-s-i-value-is-weaker/-first-r-s-s-i-value-is-weaker.md b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/-success/-first-r-s-s-i-value-is-weaker/-first-r-s-s-i-value-is-weaker.md
new file mode 100644
index 00000000..7bfe25ec
--- /dev/null
+++ b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/-success/-first-r-s-s-i-value-is-weaker/-first-r-s-s-i-value-is-weaker.md
@@ -0,0 +1,6 @@
+//[signal](../../../../../index.md)/[com.isupatches.android.wisefy.signal.entities](../../../index.md)/[CompareSignalLevelResult](../../index.md)/[Success](../index.md)/[FirstRSSIValueIsWeaker](index.md)/[FirstRSSIValueIsWeaker](-first-r-s-s-i-value-is-weaker.md)
+
+# FirstRSSIValueIsWeaker
+
+[androidJvm]\
+fun [FirstRSSIValueIsWeaker](-first-r-s-s-i-value-is-weaker.md)(value: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html))
diff --git a/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/-success/-first-r-s-s-i-value-is-weaker/index.md b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/-success/-first-r-s-s-i-value-is-weaker/index.md
new file mode 100644
index 00000000..df6f79ef
--- /dev/null
+++ b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/-success/-first-r-s-s-i-value-is-weaker/index.md
@@ -0,0 +1,36 @@
+//[signal](../../../../../index.md)/[com.isupatches.android.wisefy.signal.entities](../../../index.md)/[CompareSignalLevelResult](../../index.md)/[Success](../index.md)/[FirstRSSIValueIsWeaker](index.md)
+
+# FirstRSSIValueIsWeaker
+
+[androidJvm]\
+data class [FirstRSSIValueIsWeaker](index.md)(val value: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)) : [CompareSignalLevelResult.Success](../index.md)
+
+A representation of when the first network has an RSSI value that is weaker than the second network's RSSI.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.signal.entities.CompareSignalLevelResult.Success](../index.md) | |
+
+## Constructors
+
+| | |
+|---|---|
+| [FirstRSSIValueIsWeaker](-first-r-s-s-i-value-is-weaker.md) | [androidJvm]
fun [FirstRSSIValueIsWeaker](-first-r-s-s-i-value-is-weaker.md)(value: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)) |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [value](value.md) | [androidJvm]
open override val [value](value.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
The difference between the first and second networks RSSI value (expected to be negative) |
diff --git a/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/-success/-first-r-s-s-i-value-is-weaker/value.md b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/-success/-first-r-s-s-i-value-is-weaker/value.md
new file mode 100644
index 00000000..7fc056ee
--- /dev/null
+++ b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/-success/-first-r-s-s-i-value-is-weaker/value.md
@@ -0,0 +1,6 @@
+//[signal](../../../../../index.md)/[com.isupatches.android.wisefy.signal.entities](../../../index.md)/[CompareSignalLevelResult](../../index.md)/[Success](../index.md)/[FirstRSSIValueIsWeaker](index.md)/[value](value.md)
+
+# value
+
+[androidJvm]\
+open override val [value](value.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/-success/-r-s-s-i-values-are-equal/-r-s-s-i-values-are-equal.md b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/-success/-r-s-s-i-values-are-equal/-r-s-s-i-values-are-equal.md
new file mode 100644
index 00000000..65a548ab
--- /dev/null
+++ b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/-success/-r-s-s-i-values-are-equal/-r-s-s-i-values-are-equal.md
@@ -0,0 +1,6 @@
+//[signal](../../../../../index.md)/[com.isupatches.android.wisefy.signal.entities](../../../index.md)/[CompareSignalLevelResult](../../index.md)/[Success](../index.md)/[RSSIValuesAreEqual](index.md)/[RSSIValuesAreEqual](-r-s-s-i-values-are-equal.md)
+
+# RSSIValuesAreEqual
+
+[androidJvm]\
+fun [RSSIValuesAreEqual](-r-s-s-i-values-are-equal.md)(value: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html))
diff --git a/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/-success/-r-s-s-i-values-are-equal/index.md b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/-success/-r-s-s-i-values-are-equal/index.md
new file mode 100644
index 00000000..e2fc9935
--- /dev/null
+++ b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/-success/-r-s-s-i-values-are-equal/index.md
@@ -0,0 +1,36 @@
+//[signal](../../../../../index.md)/[com.isupatches.android.wisefy.signal.entities](../../../index.md)/[CompareSignalLevelResult](../../index.md)/[Success](../index.md)/[RSSIValuesAreEqual](index.md)
+
+# RSSIValuesAreEqual
+
+[androidJvm]\
+data class [RSSIValuesAreEqual](index.md)(val value: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)) : [CompareSignalLevelResult.Success](../index.md)
+
+A representation of when the first network has an RSSI value that is equal to the second network's RSSI.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.signal.entities.CompareSignalLevelResult.Success](../index.md) | |
+
+## Constructors
+
+| | |
+|---|---|
+| [RSSIValuesAreEqual](-r-s-s-i-values-are-equal.md) | [androidJvm]
fun [RSSIValuesAreEqual](-r-s-s-i-values-are-equal.md)(value: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)) |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [value](value.md) | [androidJvm]
open override val [value](value.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
The difference between the first and second networks RSSI value (always 0) |
diff --git a/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/-success/-r-s-s-i-values-are-equal/value.md b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/-success/-r-s-s-i-values-are-equal/value.md
new file mode 100644
index 00000000..648af5b8
--- /dev/null
+++ b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/-success/-r-s-s-i-values-are-equal/value.md
@@ -0,0 +1,6 @@
+//[signal](../../../../../index.md)/[com.isupatches.android.wisefy.signal.entities](../../../index.md)/[CompareSignalLevelResult](../../index.md)/[Success](../index.md)/[RSSIValuesAreEqual](index.md)/[value](value.md)
+
+# value
+
+[androidJvm]\
+open override val [value](value.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/-success/index.md b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/-success/index.md
new file mode 100644
index 00000000..ba669492
--- /dev/null
+++ b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/-success/index.md
@@ -0,0 +1,40 @@
+//[signal](../../../../index.md)/[com.isupatches.android.wisefy.signal.entities](../../index.md)/[CompareSignalLevelResult](../index.md)/[Success](index.md)
+
+# Success
+
+[androidJvm]\
+sealed class [Success](index.md) : [CompareSignalLevelResult](../index.md)
+
+A set of classes and objects that are used to represent a success while comparing the RSSI values of two networks.
+
+*Notes* See https://developer.android.com/reference/android/net/wifi/WifiManager#compareSignalLevel(int,%20int)
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [FirstRSSIValueIsStronger](-first-r-s-s-i-value-is-stronger/index.md) | [androidJvm]
data class [FirstRSSIValueIsStronger](-first-r-s-s-i-value-is-stronger/index.md)(val value: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)) : [CompareSignalLevelResult.Success](index.md)
A representation of when the first network has an RSSI value that is stronger than the second network's RSSI. |
+| [FirstRSSIValueIsWeaker](-first-r-s-s-i-value-is-weaker/index.md) | [androidJvm]
data class [FirstRSSIValueIsWeaker](-first-r-s-s-i-value-is-weaker/index.md)(val value: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)) : [CompareSignalLevelResult.Success](index.md)
A representation of when the first network has an RSSI value that is weaker than the second network's RSSI. |
+| [RSSIValuesAreEqual](-r-s-s-i-values-are-equal/index.md) | [androidJvm]
data class [RSSIValuesAreEqual](-r-s-s-i-values-are-equal/index.md)(val value: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)) : [CompareSignalLevelResult.Success](index.md)
A representation of when the first network has an RSSI value that is equal to the second network's RSSI. |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [value](value.md) | [androidJvm]
open val [value](value.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
The result of the comparison. This will be less than 0 if first RSSI value is weaker than the second RSSI, 0 if the two have the same strength, and greater than zero if the first RSSI is stronger than the second RSSI value. |
+
+## Inheritors
+
+| Name |
+|---|
+| [FirstRSSIValueIsWeaker](-first-r-s-s-i-value-is-weaker/index.md) |
+| [RSSIValuesAreEqual](-r-s-s-i-values-are-equal/index.md) |
+| [FirstRSSIValueIsStronger](-first-r-s-s-i-value-is-stronger/index.md) |
diff --git a/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/-success/value.md b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/-success/value.md
new file mode 100644
index 00000000..896c1d27
--- /dev/null
+++ b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/-success/value.md
@@ -0,0 +1,6 @@
+//[signal](../../../../index.md)/[com.isupatches.android.wisefy.signal.entities](../../index.md)/[CompareSignalLevelResult](../index.md)/[Success](index.md)/[value](value.md)
+
+# value
+
+[androidJvm]\
+open val [value](value.md): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)
diff --git a/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/index.md b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/index.md
new file mode 100644
index 00000000..c12f31b8
--- /dev/null
+++ b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/index.md
@@ -0,0 +1,28 @@
+//[signal](../../../index.md)/[com.isupatches.android.wisefy.signal.entities](../index.md)/[CompareSignalLevelResult](index.md)
+
+# CompareSignalLevelResult
+
+[androidJvm]\
+sealed class [CompareSignalLevelResult](index.md)
+
+A set of classes and objects that are used to represent a result while comparing the RSSI values of two networks.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [Success](-success/index.md) | [androidJvm]
sealed class [Success](-success/index.md) : [CompareSignalLevelResult](index.md)
A set of classes and objects that are used to represent a success while comparing the RSSI values of two networks. |
+
+## Inheritors
+
+| Name |
+|---|
+| [Success](-success/index.md) |
diff --git a/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/index.md b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/index.md
new file mode 100644
index 00000000..857de019
--- /dev/null
+++ b/dokka/signal/signal/com.isupatches.android.wisefy.signal.entities/index.md
@@ -0,0 +1,12 @@
+//[signal](../../index.md)/[com.isupatches.android.wisefy.signal.entities](index.md)
+
+# Package com.isupatches.android.wisefy.signal.entities
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [CalculateSignalLevelRequest](-calculate-signal-level-request/index.md) | [androidJvm]
sealed class [CalculateSignalLevelRequest](-calculate-signal-level-request/index.md)
A set of classes and objects that are used to represent requests to calculate the number of signal strength bars based on the RSSI level of a network. |
+| [CalculateSignalLevelResult](-calculate-signal-level-result/index.md) | [androidJvm]
sealed class [CalculateSignalLevelResult](-calculate-signal-level-result/index.md)
A set of classes and objects that are used to represent a result while calculating the number of signal bars based on an RSSI level. |
+| [CompareSignalLevelRequest](-compare-signal-level-request/index.md) | [androidJvm]
data class [CompareSignalLevelRequest](-compare-signal-level-request/index.md)(val rssi1: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), val rssi2: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html))
A data representation of a request to compare the RSSI level of two networks. |
+| [CompareSignalLevelResult](-compare-signal-level-result/index.md) | [androidJvm]
sealed class [CompareSignalLevelResult](-compare-signal-level-result/index.md)
A set of classes and objects that are used to represent a result while comparing the RSSI values of two networks. |
diff --git a/dokka/signal/signal/com.isupatches.android.wisefy.signal/-signal-api/calculate-signal-level.md b/dokka/signal/signal/com.isupatches.android.wisefy.signal/-signal-api/calculate-signal-level.md
new file mode 100644
index 00000000..70eab954
--- /dev/null
+++ b/dokka/signal/signal/com.isupatches.android.wisefy.signal/-signal-api/calculate-signal-level.md
@@ -0,0 +1,37 @@
+//[signal](../../../index.md)/[com.isupatches.android.wisefy.signal](../index.md)/[SignalApi](index.md)/[calculateSignalLevel](calculate-signal-level.md)
+
+# calculateSignalLevel
+
+[androidJvm]\
+abstract fun [calculateSignalLevel](calculate-signal-level.md)(request: [CalculateSignalLevelRequest](../../com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-request/index.md)): [CalculateSignalLevelResult](../../com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-result/index.md)
+
+A synchronous API to calculate the number of signal strength bars for a network.
+
+#### Return
+
+CalculateBarsResult - The result of calculating the signal strength bars for a network
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.signal.entities.CalculateSignalLevelRequest](../../com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-request/index.md) | |
+| [com.isupatches.android.wisefy.signal.entities.CalculateSignalLevelResult](../../com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-result/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| request | The details of the request to calculate the number of signal strength bars for a network |
diff --git a/dokka/signal/signal/com.isupatches.android.wisefy.signal/-signal-api/compare-signal-level.md b/dokka/signal/signal/com.isupatches.android.wisefy.signal/-signal-api/compare-signal-level.md
new file mode 100644
index 00000000..0b29ff3b
--- /dev/null
+++ b/dokka/signal/signal/com.isupatches.android.wisefy.signal/-signal-api/compare-signal-level.md
@@ -0,0 +1,37 @@
+//[signal](../../../index.md)/[com.isupatches.android.wisefy.signal](../index.md)/[SignalApi](index.md)/[compareSignalLevel](compare-signal-level.md)
+
+# compareSignalLevel
+
+[androidJvm]\
+abstract fun [compareSignalLevel](compare-signal-level.md)(request: [CompareSignalLevelRequest](../../com.isupatches.android.wisefy.signal.entities/-compare-signal-level-request/index.md)): [CompareSignalLevelResult](../../com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/index.md)
+
+A synchronous API to compare the signal strength of two networks.
+
+#### Return
+
+CompareSignalLevelResult - The result of comparing the RSSI levels of two networks
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.signal.entities.CompareSignalLevelRequest](../../com.isupatches.android.wisefy.signal.entities/-compare-signal-level-request/index.md) | |
+| [com.isupatches.android.wisefy.signal.entities.CompareSignalLevelResult](../../com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| request | The details of the request to compare the signal strength of two networks |
diff --git a/dokka/signal/signal/com.isupatches.android.wisefy.signal/-signal-api/index.md b/dokka/signal/signal/com.isupatches.android.wisefy.signal/-signal-api/index.md
new file mode 100644
index 00000000..8c1b9674
--- /dev/null
+++ b/dokka/signal/signal/com.isupatches.android.wisefy.signal/-signal-api/index.md
@@ -0,0 +1,29 @@
+//[signal](../../../index.md)/[com.isupatches.android.wisefy.signal](../index.md)/[SignalApi](index.md)
+
+# SignalApi
+
+[androidJvm]\
+interface [SignalApi](index.md)
+
+A set of synchronous APIs for signal strength functionality.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [calculateSignalLevel](calculate-signal-level.md) | [androidJvm]
abstract fun [calculateSignalLevel](calculate-signal-level.md)(request: [CalculateSignalLevelRequest](../../com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-request/index.md)): [CalculateSignalLevelResult](../../com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-result/index.md)
A synchronous API to calculate the number of signal strength bars for a network. |
+| [compareSignalLevel](compare-signal-level.md) | [androidJvm]
abstract fun [compareSignalLevel](compare-signal-level.md)(request: [CompareSignalLevelRequest](../../com.isupatches.android.wisefy.signal.entities/-compare-signal-level-request/index.md)): [CompareSignalLevelResult](../../com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/index.md)
A synchronous API to compare the signal strength of two networks. |
+
+## Inheritors
+
+| Name |
+|---|
+| [SignalDelegate](../-signal-delegate/index.md) |
diff --git a/dokka/signal/signal/com.isupatches.android.wisefy.signal/-signal-delegate/index.md b/dokka/signal/signal/com.isupatches.android.wisefy.signal/-signal-delegate/index.md
new file mode 100644
index 00000000..0b1eadcf
--- /dev/null
+++ b/dokka/signal/signal/com.isupatches.android.wisefy.signal/-signal-delegate/index.md
@@ -0,0 +1,42 @@
+//[signal](../../../index.md)/[com.isupatches.android.wisefy.signal](../index.md)/[SignalDelegate](index.md)
+
+# SignalDelegate
+
+[androidJvm]\
+interface [SignalDelegate](index.md) : [SignalApi](../-signal-api/index.md)
+
+A delegate for synchronous signal strength APIs.
+
+*Notes*
+
+-
+ No async APIs because [SignalApi](../-signal-api/index.md) operates directly on input from the client (f.e. raw RSSI values)
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.signal.SignalApi](../-signal-api/index.md) | |
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [calculateSignalLevel](../-signal-api/calculate-signal-level.md) | [androidJvm]
abstract fun [calculateSignalLevel](../-signal-api/calculate-signal-level.md)(request: [CalculateSignalLevelRequest](../../com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-request/index.md)): [CalculateSignalLevelResult](../../com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-result/index.md)
A synchronous API to calculate the number of signal strength bars for a network. |
+| [compareSignalLevel](../-signal-api/compare-signal-level.md) | [androidJvm]
abstract fun [compareSignalLevel](../-signal-api/compare-signal-level.md)(request: [CompareSignalLevelRequest](../../com.isupatches.android.wisefy.signal.entities/-compare-signal-level-request/index.md)): [CompareSignalLevelResult](../../com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/index.md)
A synchronous API to compare the signal strength of two networks. |
+
+## Inheritors
+
+| Name |
+|---|
+| [WisefySignalDelegate](../-wisefy-signal-delegate/index.md) |
diff --git a/dokka/signal/signal/com.isupatches.android.wisefy.signal/-wisefy-signal-delegate/-companion/index.md b/dokka/signal/signal/com.isupatches.android.wisefy.signal/-wisefy-signal-delegate/-companion/index.md
new file mode 100644
index 00000000..af3655d1
--- /dev/null
+++ b/dokka/signal/signal/com.isupatches.android.wisefy.signal/-wisefy-signal-delegate/-companion/index.md
@@ -0,0 +1,6 @@
+//[signal](../../../../index.md)/[com.isupatches.android.wisefy.signal](../../index.md)/[WisefySignalDelegate](../index.md)/[Companion](index.md)
+
+# Companion
+
+[androidJvm]\
+object [Companion](index.md)
diff --git a/dokka/signal/signal/com.isupatches.android.wisefy.signal/-wisefy-signal-delegate/-wisefy-signal-delegate.md b/dokka/signal/signal/com.isupatches.android.wisefy.signal/-wisefy-signal-delegate/-wisefy-signal-delegate.md
new file mode 100644
index 00000000..d759b28b
--- /dev/null
+++ b/dokka/signal/signal/com.isupatches.android.wisefy.signal/-wisefy-signal-delegate/-wisefy-signal-delegate.md
@@ -0,0 +1,21 @@
+//[signal](../../../index.md)/[com.isupatches.android.wisefy.signal](../index.md)/[WisefySignalDelegate](index.md)/[WisefySignalDelegate](-wisefy-signal-delegate.md)
+
+# WisefySignalDelegate
+
+[androidJvm]\
+fun [WisefySignalDelegate](-wisefy-signal-delegate.md)(assertions: [WisefyAssertions](../../../../core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/index.md), logger: [WisefyLogger](../../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md), sdkUtil: [SdkUtil](../../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md), wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), adapter: [SignalApi](../-signal-api/index.md) = if (sdkUtil.isAtLeastR()) {
+ Android30SignalAdapter(wifiManager, logger, assertions)
+ } else {
+ DefaultSignalAdapter(logger, assertions)
+ })
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| assertions | The [WisefyAssertions](../../../../core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/index.md) instance to use |
+| logger | The [WisefyLogger](../../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md) instance to use |
+| sdkUtil | The [SdkUtil](../../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md) instance to use |
+| wifiManager | The WifiManager instance to use |
diff --git a/dokka/signal/signal/com.isupatches.android.wisefy.signal/-wisefy-signal-delegate/calculate-signal-level.md b/dokka/signal/signal/com.isupatches.android.wisefy.signal/-wisefy-signal-delegate/calculate-signal-level.md
new file mode 100644
index 00000000..9ead28e8
--- /dev/null
+++ b/dokka/signal/signal/com.isupatches.android.wisefy.signal/-wisefy-signal-delegate/calculate-signal-level.md
@@ -0,0 +1,37 @@
+//[signal](../../../index.md)/[com.isupatches.android.wisefy.signal](../index.md)/[WisefySignalDelegate](index.md)/[calculateSignalLevel](calculate-signal-level.md)
+
+# calculateSignalLevel
+
+[androidJvm]\
+open override fun [calculateSignalLevel](calculate-signal-level.md)(request: [CalculateSignalLevelRequest](../../com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-request/index.md)): [CalculateSignalLevelResult](../../com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-result/index.md)
+
+A synchronous API to calculate the number of signal strength bars for a network.
+
+#### Return
+
+CalculateBarsResult - The result of calculating the signal strength bars for a network
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.signal.entities.CalculateSignalLevelRequest](../../com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-request/index.md) | |
+| [com.isupatches.android.wisefy.signal.entities.CalculateSignalLevelResult](../../com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-result/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| request | The details of the request to calculate the number of signal strength bars for a network |
diff --git a/dokka/signal/signal/com.isupatches.android.wisefy.signal/-wisefy-signal-delegate/compare-signal-level.md b/dokka/signal/signal/com.isupatches.android.wisefy.signal/-wisefy-signal-delegate/compare-signal-level.md
new file mode 100644
index 00000000..50636e2e
--- /dev/null
+++ b/dokka/signal/signal/com.isupatches.android.wisefy.signal/-wisefy-signal-delegate/compare-signal-level.md
@@ -0,0 +1,37 @@
+//[signal](../../../index.md)/[com.isupatches.android.wisefy.signal](../index.md)/[WisefySignalDelegate](index.md)/[compareSignalLevel](compare-signal-level.md)
+
+# compareSignalLevel
+
+[androidJvm]\
+open override fun [compareSignalLevel](compare-signal-level.md)(request: [CompareSignalLevelRequest](../../com.isupatches.android.wisefy.signal.entities/-compare-signal-level-request/index.md)): [CompareSignalLevelResult](../../com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/index.md)
+
+A synchronous API to compare the signal strength of two networks.
+
+#### Return
+
+CompareSignalLevelResult - The result of comparing the RSSI levels of two networks
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.signal.entities.CompareSignalLevelRequest](../../com.isupatches.android.wisefy.signal.entities/-compare-signal-level-request/index.md) | |
+| [com.isupatches.android.wisefy.signal.entities.CompareSignalLevelResult](../../com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| request | The details of the request to compare the signal strength of two networks |
diff --git a/dokka/signal/signal/com.isupatches.android.wisefy.signal/-wisefy-signal-delegate/index.md b/dokka/signal/signal/com.isupatches.android.wisefy.signal/-wisefy-signal-delegate/index.md
new file mode 100644
index 00000000..75a86055
--- /dev/null
+++ b/dokka/signal/signal/com.isupatches.android.wisefy.signal/-wisefy-signal-delegate/index.md
@@ -0,0 +1,64 @@
+//[signal](../../../index.md)/[com.isupatches.android.wisefy.signal](../index.md)/[WisefySignalDelegate](index.md)
+
+# WisefySignalDelegate
+
+[androidJvm]\
+class [WisefySignalDelegate](index.md)(assertions: [WisefyAssertions](../../../../core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/index.md), logger: [WisefyLogger](../../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md), sdkUtil: [SdkUtil](../../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md), wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), adapter: [SignalApi](../-signal-api/index.md) = if (sdkUtil.isAtLeastR()) {
+ Android30SignalAdapter(wifiManager, logger, assertions)
+ } else {
+ DefaultSignalAdapter(logger, assertions)
+ }) : [SignalDelegate](../-signal-delegate/index.md)
+
+An internal Wisefy delegate for signal strength functionality.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| com.isupatches.android.wisefy.signal.os.adapters.Android30SignalAdapter | |
+| com.isupatches.android.wisefy.signal.os.adapters.DefaultSignalAdapter | |
+| [com.isupatches.android.wisefy.signal.SignalApi](../-signal-api/index.md) | |
+| [com.isupatches.android.wisefy.signal.SignalDelegate](../-signal-delegate/index.md) | |
+| [com.isupatches.android.wisefy.core.util.SdkUtil](../../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md) | |
+| [com.isupatches.android.wisefy.core.assertions.WisefyAssertions](../../../../core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/index.md) | |
+| [com.isupatches.android.wisefy.core.logging.WisefyLogger](../../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| assertions | The [WisefyAssertions](../../../../core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/index.md) instance to use |
+| logger | The [WisefyLogger](../../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md) instance to use |
+| sdkUtil | The [SdkUtil](../../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md) instance to use |
+| wifiManager | The WifiManager instance to use |
+
+## Constructors
+
+| | |
+|---|---|
+| [WisefySignalDelegate](-wisefy-signal-delegate.md) | [androidJvm]
fun [WisefySignalDelegate](-wisefy-signal-delegate.md)(assertions: [WisefyAssertions](../../../../core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/index.md), logger: [WisefyLogger](../../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md), sdkUtil: [SdkUtil](../../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md), wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), adapter: [SignalApi](../-signal-api/index.md) = if (sdkUtil.isAtLeastR()) { Android30SignalAdapter(wifiManager, logger, assertions) } else { DefaultSignalAdapter(logger, assertions) }) |
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [Companion](-companion/index.md) | [androidJvm]
object [Companion](-companion/index.md) |
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [calculateSignalLevel](calculate-signal-level.md) | [androidJvm]
open override fun [calculateSignalLevel](calculate-signal-level.md)(request: [CalculateSignalLevelRequest](../../com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-request/index.md)): [CalculateSignalLevelResult](../../com.isupatches.android.wisefy.signal.entities/-calculate-signal-level-result/index.md)
A synchronous API to calculate the number of signal strength bars for a network. |
+| [compareSignalLevel](compare-signal-level.md) | [androidJvm]
open override fun [compareSignalLevel](compare-signal-level.md)(request: [CompareSignalLevelRequest](../../com.isupatches.android.wisefy.signal.entities/-compare-signal-level-request/index.md)): [CompareSignalLevelResult](../../com.isupatches.android.wisefy.signal.entities/-compare-signal-level-result/index.md)
A synchronous API to compare the signal strength of two networks. |
diff --git a/dokka/signal/signal/com.isupatches.android.wisefy.signal/index.md b/dokka/signal/signal/com.isupatches.android.wisefy.signal/index.md
new file mode 100644
index 00000000..a3fa98e8
--- /dev/null
+++ b/dokka/signal/signal/com.isupatches.android.wisefy.signal/index.md
@@ -0,0 +1,11 @@
+//[signal](../../index.md)/[com.isupatches.android.wisefy.signal](index.md)
+
+# Package com.isupatches.android.wisefy.signal
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [SignalApi](-signal-api/index.md) | [androidJvm]
interface [SignalApi](-signal-api/index.md)
A set of synchronous APIs for signal strength functionality. |
+| [SignalDelegate](-signal-delegate/index.md) | [androidJvm]
interface [SignalDelegate](-signal-delegate/index.md) : [SignalApi](-signal-api/index.md)
A delegate for synchronous signal strength APIs. |
+| [WisefySignalDelegate](-wisefy-signal-delegate/index.md) | [androidJvm]
class [WisefySignalDelegate](-wisefy-signal-delegate/index.md)(assertions: [WisefyAssertions](../../../core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/index.md), logger: [WisefyLogger](../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md), sdkUtil: [SdkUtil](../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md), wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), adapter: [SignalApi](-signal-api/index.md) = if (sdkUtil.isAtLeastR()) { Android30SignalAdapter(wifiManager, logger, assertions) } else { DefaultSignalAdapter(logger, assertions) }) : [SignalDelegate](-signal-delegate/index.md)
An internal Wisefy delegate for signal strength functionality. |
diff --git a/dokka/wifi/index.md b/dokka/wifi/index.md
new file mode 100644
index 00000000..a12e260e
--- /dev/null
+++ b/dokka/wifi/index.md
@@ -0,0 +1,11 @@
+//[wifi](index.md)
+
+# wifi
+
+## Packages
+
+| Name |
+|---|
+| [com.isupatches.android.wisefy.wifi](wifi/com.isupatches.android.wisefy.wifi/index.md) |
+| [com.isupatches.android.wisefy.wifi.callbacks](wifi/com.isupatches.android.wisefy.wifi.callbacks/index.md) |
+| [com.isupatches.android.wisefy.wifi.entities](wifi/com.isupatches.android.wisefy.wifi.entities/index.md) |
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.callbacks/-disable-wifi-callbacks/index.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.callbacks/-disable-wifi-callbacks/index.md
new file mode 100644
index 00000000..74edd71f
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.callbacks/-disable-wifi-callbacks/index.md
@@ -0,0 +1,32 @@
+//[wifi](../../../index.md)/[com.isupatches.android.wisefy.wifi.callbacks](../index.md)/[DisableWifiCallbacks](index.md)
+
+# DisableWifiCallbacks
+
+[androidJvm]\
+interface [DisableWifiCallbacks](index.md) : [BaseWisefyCallbacks](../../../../core/core/com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/index.md)
+
+A set of callbacks for disabling wifi.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.core.base.BaseWisefyCallbacks](../../../../core/core/com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/index.md) | |
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [onFailureDisablingWifi](on-failure-disabling-wifi.md) | [androidJvm]
abstract fun [onFailureDisablingWifi](on-failure-disabling-wifi.md)(result: [DisableWifiResult.Failure](../../com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/-failure/index.md))
A callback triggered when there is a failure disabling wifi. |
+| [onSuccessDisablingWifi](on-success-disabling-wifi.md) | [androidJvm]
abstract fun [onSuccessDisablingWifi](on-success-disabling-wifi.md)(result: [DisableWifiResult.Success](../../com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/-success/index.md))
A callback triggered when wifi is successfully disabled. |
+| [onWisefyAsyncFailure](../-is-wifi-enabled-callbacks/index.md#-2014443064%2FFunctions%2F-1859834656) | [androidJvm]
abstract fun [onWisefyAsyncFailure](../-is-wifi-enabled-callbacks/index.md#-2014443064%2FFunctions%2F-1859834656)(exception: [WisefyException](../../../../core/core/com.isupatches.android.wisefy.core.exceptions/-wisefy-exception/index.md)) |
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.callbacks/-disable-wifi-callbacks/on-failure-disabling-wifi.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.callbacks/-disable-wifi-callbacks/on-failure-disabling-wifi.md
new file mode 100644
index 00000000..efa8cf75
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.callbacks/-disable-wifi-callbacks/on-failure-disabling-wifi.md
@@ -0,0 +1,32 @@
+//[wifi](../../../index.md)/[com.isupatches.android.wisefy.wifi.callbacks](../index.md)/[DisableWifiCallbacks](index.md)/[onFailureDisablingWifi](on-failure-disabling-wifi.md)
+
+# onFailureDisablingWifi
+
+[androidJvm]\
+abstract fun [onFailureDisablingWifi](on-failure-disabling-wifi.md)(result: [DisableWifiResult.Failure](../../com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/-failure/index.md))
+
+A callback triggered when there is a failure disabling wifi.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.wifi.entities.DisableWifiResult.Failure](../../com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/-failure/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| result | The details from the failure while attempting to disable wifi |
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.callbacks/-disable-wifi-callbacks/on-success-disabling-wifi.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.callbacks/-disable-wifi-callbacks/on-success-disabling-wifi.md
new file mode 100644
index 00000000..eefd2a19
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.callbacks/-disable-wifi-callbacks/on-success-disabling-wifi.md
@@ -0,0 +1,32 @@
+//[wifi](../../../index.md)/[com.isupatches.android.wisefy.wifi.callbacks](../index.md)/[DisableWifiCallbacks](index.md)/[onSuccessDisablingWifi](on-success-disabling-wifi.md)
+
+# onSuccessDisablingWifi
+
+[androidJvm]\
+abstract fun [onSuccessDisablingWifi](on-success-disabling-wifi.md)(result: [DisableWifiResult.Success](../../com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/-success/index.md))
+
+A callback triggered when wifi is successfully disabled.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.wifi.entities.DisableWifiResult.Success](../../com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/-success/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| result | The details from the successful attempt disabling wifi |
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.callbacks/-enable-wifi-callbacks/index.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.callbacks/-enable-wifi-callbacks/index.md
new file mode 100644
index 00000000..d41af391
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.callbacks/-enable-wifi-callbacks/index.md
@@ -0,0 +1,32 @@
+//[wifi](../../../index.md)/[com.isupatches.android.wisefy.wifi.callbacks](../index.md)/[EnableWifiCallbacks](index.md)
+
+# EnableWifiCallbacks
+
+[androidJvm]\
+interface [EnableWifiCallbacks](index.md) : [BaseWisefyCallbacks](../../../../core/core/com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/index.md)
+
+A set of callbacks for enabling wifi.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.core.base.BaseWisefyCallbacks](../../../../core/core/com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/index.md) | |
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [onFailureEnablingWifi](on-failure-enabling-wifi.md) | [androidJvm]
abstract fun [onFailureEnablingWifi](on-failure-enabling-wifi.md)(result: [EnableWifiResult.Failure](../../com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/-failure/index.md))
A callback triggered when there is a failure enabling wifi. |
+| [onSuccessEnablingWifi](on-success-enabling-wifi.md) | [androidJvm]
abstract fun [onSuccessEnablingWifi](on-success-enabling-wifi.md)(result: [EnableWifiResult.Success](../../com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/-success/index.md))
A callback triggered when wifi is successfully enabled. |
+| [onWisefyAsyncFailure](../-is-wifi-enabled-callbacks/index.md#-2014443064%2FFunctions%2F-1859834656) | [androidJvm]
abstract fun [onWisefyAsyncFailure](../-is-wifi-enabled-callbacks/index.md#-2014443064%2FFunctions%2F-1859834656)(exception: [WisefyException](../../../../core/core/com.isupatches.android.wisefy.core.exceptions/-wisefy-exception/index.md)) |
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.callbacks/-enable-wifi-callbacks/on-failure-enabling-wifi.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.callbacks/-enable-wifi-callbacks/on-failure-enabling-wifi.md
new file mode 100644
index 00000000..cae32f64
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.callbacks/-enable-wifi-callbacks/on-failure-enabling-wifi.md
@@ -0,0 +1,32 @@
+//[wifi](../../../index.md)/[com.isupatches.android.wisefy.wifi.callbacks](../index.md)/[EnableWifiCallbacks](index.md)/[onFailureEnablingWifi](on-failure-enabling-wifi.md)
+
+# onFailureEnablingWifi
+
+[androidJvm]\
+abstract fun [onFailureEnablingWifi](on-failure-enabling-wifi.md)(result: [EnableWifiResult.Failure](../../com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/-failure/index.md))
+
+A callback triggered when there is a failure enabling wifi.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.wifi.entities.EnableWifiResult.Failure](../../com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/-failure/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| result | The details from the failure while attempting to enabling wifi |
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.callbacks/-enable-wifi-callbacks/on-success-enabling-wifi.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.callbacks/-enable-wifi-callbacks/on-success-enabling-wifi.md
new file mode 100644
index 00000000..7ffd435d
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.callbacks/-enable-wifi-callbacks/on-success-enabling-wifi.md
@@ -0,0 +1,32 @@
+//[wifi](../../../index.md)/[com.isupatches.android.wisefy.wifi.callbacks](../index.md)/[EnableWifiCallbacks](index.md)/[onSuccessEnablingWifi](on-success-enabling-wifi.md)
+
+# onSuccessEnablingWifi
+
+[androidJvm]\
+abstract fun [onSuccessEnablingWifi](on-success-enabling-wifi.md)(result: [EnableWifiResult.Success](../../com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/-success/index.md))
+
+A callback triggered when wifi is successfully enabled.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.wifi.entities.EnableWifiResult.Success](../../com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/-success/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| result | The details from the successful attempt enabling wifi |
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.callbacks/-is-wifi-enabled-callbacks/index.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.callbacks/-is-wifi-enabled-callbacks/index.md
new file mode 100644
index 00000000..c3810a65
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.callbacks/-is-wifi-enabled-callbacks/index.md
@@ -0,0 +1,32 @@
+//[wifi](../../../index.md)/[com.isupatches.android.wisefy.wifi.callbacks](../index.md)/[IsWifiEnabledCallbacks](index.md)
+
+# IsWifiEnabledCallbacks
+
+[androidJvm]\
+interface [IsWifiEnabledCallbacks](index.md) : [BaseWisefyCallbacks](../../../../core/core/com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/index.md)
+
+A set of callbacks for checking the current state of wifi.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.core.base.BaseWisefyCallbacks](../../../../core/core/com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/index.md) | |
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [onWifiIsDisabled](on-wifi-is-disabled.md) | [androidJvm]
abstract fun [onWifiIsDisabled](on-wifi-is-disabled.md)()
A callback triggered when wifi is disabled. |
+| [onWifiIsEnabled](on-wifi-is-enabled.md) | [androidJvm]
abstract fun [onWifiIsEnabled](on-wifi-is-enabled.md)()
A callback triggered when wifi is enabled. |
+| [onWisefyAsyncFailure](index.md#-2014443064%2FFunctions%2F-1859834656) | [androidJvm]
abstract fun [onWisefyAsyncFailure](index.md#-2014443064%2FFunctions%2F-1859834656)(exception: [WisefyException](../../../../core/core/com.isupatches.android.wisefy.core.exceptions/-wisefy-exception/index.md)) |
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.callbacks/-is-wifi-enabled-callbacks/on-wifi-is-disabled.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.callbacks/-is-wifi-enabled-callbacks/on-wifi-is-disabled.md
new file mode 100644
index 00000000..317bf284
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.callbacks/-is-wifi-enabled-callbacks/on-wifi-is-disabled.md
@@ -0,0 +1,16 @@
+//[wifi](../../../index.md)/[com.isupatches.android.wisefy.wifi.callbacks](../index.md)/[IsWifiEnabledCallbacks](index.md)/[onWifiIsDisabled](on-wifi-is-disabled.md)
+
+# onWifiIsDisabled
+
+[androidJvm]\
+abstract fun [onWifiIsDisabled](on-wifi-is-disabled.md)()
+
+A callback triggered when wifi is disabled.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.callbacks/-is-wifi-enabled-callbacks/on-wifi-is-enabled.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.callbacks/-is-wifi-enabled-callbacks/on-wifi-is-enabled.md
new file mode 100644
index 00000000..bede7de9
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.callbacks/-is-wifi-enabled-callbacks/on-wifi-is-enabled.md
@@ -0,0 +1,16 @@
+//[wifi](../../../index.md)/[com.isupatches.android.wisefy.wifi.callbacks](../index.md)/[IsWifiEnabledCallbacks](index.md)/[onWifiIsEnabled](on-wifi-is-enabled.md)
+
+# onWifiIsEnabled
+
+[androidJvm]\
+abstract fun [onWifiIsEnabled](on-wifi-is-enabled.md)()
+
+A callback triggered when wifi is enabled.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.callbacks/index.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.callbacks/index.md
new file mode 100644
index 00000000..a74c1902
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.callbacks/index.md
@@ -0,0 +1,11 @@
+//[wifi](../../index.md)/[com.isupatches.android.wisefy.wifi.callbacks](index.md)
+
+# Package com.isupatches.android.wisefy.wifi.callbacks
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [DisableWifiCallbacks](-disable-wifi-callbacks/index.md) | [androidJvm]
interface [DisableWifiCallbacks](-disable-wifi-callbacks/index.md) : [BaseWisefyCallbacks](../../../core/core/com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/index.md)
A set of callbacks for disabling wifi. |
+| [EnableWifiCallbacks](-enable-wifi-callbacks/index.md) | [androidJvm]
interface [EnableWifiCallbacks](-enable-wifi-callbacks/index.md) : [BaseWisefyCallbacks](../../../core/core/com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/index.md)
A set of callbacks for enabling wifi. |
+| [IsWifiEnabledCallbacks](-is-wifi-enabled-callbacks/index.md) | [androidJvm]
interface [IsWifiEnabledCallbacks](-is-wifi-enabled-callbacks/index.md) : [BaseWisefyCallbacks](../../../core/core/com.isupatches.android.wisefy.core.base/-base-wisefy-callbacks/index.md)
A set of callbacks for checking the current state of wifi. |
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-request/-android29-or-above/-android29-or-above.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-request/-android29-or-above/-android29-or-above.md
new file mode 100644
index 00000000..888861ec
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-request/-android29-or-above/-android29-or-above.md
@@ -0,0 +1,6 @@
+//[wifi](../../../../index.md)/[com.isupatches.android.wisefy.wifi.entities](../../index.md)/[DisableWifiRequest](../index.md)/[Android29OrAbove](index.md)/[Android29OrAbove](-android29-or-above.md)
+
+# Android29OrAbove
+
+[androidJvm]\
+fun [Android29OrAbove](-android29-or-above.md)(context: [Context](https://developer.android.com/reference/kotlin/android/content/Context.html))
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-request/-android29-or-above/context.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-request/-android29-or-above/context.md
new file mode 100644
index 00000000..953c4c0f
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-request/-android29-or-above/context.md
@@ -0,0 +1,6 @@
+//[wifi](../../../../index.md)/[com.isupatches.android.wisefy.wifi.entities](../../index.md)/[DisableWifiRequest](../index.md)/[Android29OrAbove](index.md)/[context](context.md)
+
+# context
+
+[androidJvm]\
+val [context](context.md): [Context](https://developer.android.com/reference/kotlin/android/content/Context.html)
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-request/-android29-or-above/index.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-request/-android29-or-above/index.md
new file mode 100644
index 00000000..3a3dd5f4
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-request/-android29-or-above/index.md
@@ -0,0 +1,36 @@
+//[wifi](../../../../index.md)/[com.isupatches.android.wisefy.wifi.entities](../../index.md)/[DisableWifiRequest](../index.md)/[Android29OrAbove](index.md)
+
+# Android29OrAbove
+
+[androidJvm]\
+data class [Android29OrAbove](index.md)(val context: [Context](https://developer.android.com/reference/kotlin/android/content/Context.html)) : [DisableWifiRequest](../index.md)
+
+A representation of a request to disable wifi on an Android Q / SDK 29 or higher device.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.wifi.entities.DisableWifiRequest](../index.md) | |
+
+## Constructors
+
+| | |
+|---|---|
+| [Android29OrAbove](-android29-or-above.md) | [androidJvm]
fun [Android29OrAbove](-android29-or-above.md)(context: [Context](https://developer.android.com/reference/kotlin/android/content/Context.html)) |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [context](context.md) | [androidJvm]
val [context](context.md): [Context](https://developer.android.com/reference/kotlin/android/content/Context.html)
The reference to the context to place the request to disable wifi on Android Q / SDK 29 or higher devices. |
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-request/-default/index.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-request/-default/index.md
new file mode 100644
index 00000000..b9e4622a
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-request/-default/index.md
@@ -0,0 +1,24 @@
+//[wifi](../../../../index.md)/[com.isupatches.android.wisefy.wifi.entities](../../index.md)/[DisableWifiRequest](../index.md)/[Default](index.md)
+
+# Default
+
+[androidJvm]\
+object [Default](index.md) : [DisableWifiRequest](../index.md)
+
+A representation of a request to disable wifi on a device before Android Q / SDK 29.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.wifi.entities.DisableWifiRequest](../index.md) | |
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-request/index.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-request/index.md
new file mode 100644
index 00000000..4bc3be91
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-request/index.md
@@ -0,0 +1,30 @@
+//[wifi](../../../index.md)/[com.isupatches.android.wisefy.wifi.entities](../index.md)/[DisableWifiRequest](index.md)
+
+# DisableWifiRequest
+
+[androidJvm]\
+sealed class [DisableWifiRequest](index.md)
+
+A set of classes and objects that represent requests to disable wifi.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [Android29OrAbove](-android29-or-above/index.md) | [androidJvm]
data class [Android29OrAbove](-android29-or-above/index.md)(val context: [Context](https://developer.android.com/reference/kotlin/android/content/Context.html)) : [DisableWifiRequest](index.md)
A representation of a request to disable wifi on an Android Q / SDK 29 or higher device. |
+| [Default](-default/index.md) | [androidJvm]
object [Default](-default/index.md) : [DisableWifiRequest](index.md)
A representation of a request to disable wifi on a device before Android Q / SDK 29. |
+
+## Inheritors
+
+| Name |
+|---|
+| [Default](-default/index.md) |
+| [Android29OrAbove](-android29-or-above/index.md) |
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/-failure/-assertion/-assertion.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/-failure/-assertion/-assertion.md
new file mode 100644
index 00000000..395727bc
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/-failure/-assertion/-assertion.md
@@ -0,0 +1,6 @@
+//[wifi](../../../../../index.md)/[com.isupatches.android.wisefy.wifi.entities](../../../index.md)/[DisableWifiResult](../../index.md)/[Failure](../index.md)/[Assertion](index.md)/[Assertion](-assertion.md)
+
+# Assertion
+
+[androidJvm]\
+fun [Assertion](-assertion.md)(message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html))
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/-failure/-assertion/index.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/-failure/-assertion/index.md
new file mode 100644
index 00000000..8bce0ccf
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/-failure/-assertion/index.md
@@ -0,0 +1,38 @@
+//[wifi](../../../../../index.md)/[com.isupatches.android.wisefy.wifi.entities](../../../index.md)/[DisableWifiResult](../../index.md)/[Failure](../index.md)/[Assertion](index.md)
+
+# Assertion
+
+[androidJvm]\
+data class [Assertion](index.md)(val message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) : [DisableWifiResult.Failure](../index.md)
+
+A representation of a failure disabling wifi due to hitting an unexpected path causing an assertion.
+
+*NOTE* This is for developer specific feedback and should NEVER actually be hit unless there is a bug.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.wifi.entities.DisableWifiResult.Failure](../index.md) | |
+
+## Constructors
+
+| | |
+|---|---|
+| [Assertion](-assertion.md) | [androidJvm]
fun [Assertion](-assertion.md)(message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [message](message.md) | [androidJvm]
val [message](message.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
A text description describing the assertion error hit |
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/-failure/-assertion/message.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/-failure/-assertion/message.md
new file mode 100644
index 00000000..23e4a334
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/-failure/-assertion/message.md
@@ -0,0 +1,6 @@
+//[wifi](../../../../../index.md)/[com.isupatches.android.wisefy.wifi.entities](../../../index.md)/[DisableWifiResult](../../index.md)/[Failure](../index.md)/[Assertion](index.md)/[message](message.md)
+
+# message
+
+[androidJvm]\
+val [message](message.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/-failure/-unable-to-disable/index.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/-failure/-unable-to-disable/index.md
new file mode 100644
index 00000000..2d9ef607
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/-failure/-unable-to-disable/index.md
@@ -0,0 +1,24 @@
+//[wifi](../../../../../index.md)/[com.isupatches.android.wisefy.wifi.entities](../../../index.md)/[DisableWifiResult](../../index.md)/[Failure](../index.md)/[UnableToDisable](index.md)
+
+# UnableToDisable
+
+[androidJvm]\
+object [UnableToDisable](index.md) : [DisableWifiResult.Failure](../index.md)
+
+A representation of when there is a failure disabling wifi on pre-Android Q / SDK 29 devices.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.wifi.entities.DisableWifiResult.Failure](../index.md) | |
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/-failure/index.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/-failure/index.md
new file mode 100644
index 00000000..fedcf3d5
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/-failure/index.md
@@ -0,0 +1,38 @@
+//[wifi](../../../../index.md)/[com.isupatches.android.wisefy.wifi.entities](../../index.md)/[DisableWifiResult](../index.md)/[Failure](index.md)
+
+# Failure
+
+[androidJvm]\
+sealed class [Failure](index.md) : [DisableWifiResult](../index.md)
+
+A set of classes and objects that are data representations of a failure when disabling Wifi.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.wifi.entities.DisableWifiResult](../index.md) | |
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [Assertion](-assertion/index.md) | [androidJvm]
data class [Assertion](-assertion/index.md)(val message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) : [DisableWifiResult.Failure](index.md)
A representation of a failure disabling wifi due to hitting an unexpected path causing an assertion. |
+| [UnableToDisable](-unable-to-disable/index.md) | [androidJvm]
object [UnableToDisable](-unable-to-disable/index.md) : [DisableWifiResult.Failure](index.md)
A representation of when there is a failure disabling wifi on pre-Android Q / SDK 29 devices. |
+
+## Inheritors
+
+| Name |
+|---|
+| [UnableToDisable](-unable-to-disable/index.md) |
+| [Assertion](-assertion/index.md) |
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/-success/-disabled/index.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/-success/-disabled/index.md
new file mode 100644
index 00000000..a95a2826
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/-success/-disabled/index.md
@@ -0,0 +1,24 @@
+//[wifi](../../../../../index.md)/[com.isupatches.android.wisefy.wifi.entities](../../../index.md)/[DisableWifiResult](../../index.md)/[Success](../index.md)/[Disabled](index.md)
+
+# Disabled
+
+[androidJvm]\
+object [Disabled](index.md) : [DisableWifiResult.Success](../index.md)
+
+A representation of when wifi is successfully disabled on pre-Android Q / SDK 29 devices.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.wifi.entities.DisableWifiResult.Success](../index.md) | |
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/-success/-wifi-setting-screen-opened/index.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/-success/-wifi-setting-screen-opened/index.md
new file mode 100644
index 00000000..2bc1b55e
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/-success/-wifi-setting-screen-opened/index.md
@@ -0,0 +1,24 @@
+//[wifi](../../../../../index.md)/[com.isupatches.android.wisefy.wifi.entities](../../../index.md)/[DisableWifiResult](../../index.md)/[Success](../index.md)/[WifiSettingScreenOpened](index.md)
+
+# WifiSettingScreenOpened
+
+[androidJvm]\
+object [WifiSettingScreenOpened](index.md) : [DisableWifiResult.Success](../index.md)
+
+A representation of when the wifi settings screen is opened on Android Q / SDK 29 or higher devices for the user to manually disable wifi.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.wifi.entities.DisableWifiResult.Success](../index.md) | |
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/-success/index.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/-success/index.md
new file mode 100644
index 00000000..0bb0889d
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/-success/index.md
@@ -0,0 +1,38 @@
+//[wifi](../../../../index.md)/[com.isupatches.android.wisefy.wifi.entities](../../index.md)/[DisableWifiResult](../index.md)/[Success](index.md)
+
+# Success
+
+[androidJvm]\
+sealed class [Success](index.md) : [DisableWifiResult](../index.md)
+
+A data representation for when there is a success disabling Wifi.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.wifi.entities.DisableWifiResult](../index.md) | |
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [Disabled](-disabled/index.md) | [androidJvm]
object [Disabled](-disabled/index.md) : [DisableWifiResult.Success](index.md)
A representation of when wifi is successfully disabled on pre-Android Q / SDK 29 devices. |
+| [WifiSettingScreenOpened](-wifi-setting-screen-opened/index.md) | [androidJvm]
object [WifiSettingScreenOpened](-wifi-setting-screen-opened/index.md) : [DisableWifiResult.Success](index.md)
A representation of when the wifi settings screen is opened on Android Q / SDK 29 or higher devices for the user to manually disable wifi. |
+
+## Inheritors
+
+| Name |
+|---|
+| [Disabled](-disabled/index.md) |
+| [WifiSettingScreenOpened](-wifi-setting-screen-opened/index.md) |
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/index.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/index.md
new file mode 100644
index 00000000..b90d62dd
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/index.md
@@ -0,0 +1,30 @@
+//[wifi](../../../index.md)/[com.isupatches.android.wisefy.wifi.entities](../index.md)/[DisableWifiResult](index.md)
+
+# DisableWifiResult
+
+[androidJvm]\
+sealed class [DisableWifiResult](index.md)
+
+A set of classes and objects that are data representations of a result when disabling Wifi.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [Failure](-failure/index.md) | [androidJvm]
sealed class [Failure](-failure/index.md) : [DisableWifiResult](index.md)
A set of classes and objects that are data representations of a failure when disabling Wifi. |
+| [Success](-success/index.md) | [androidJvm]
sealed class [Success](-success/index.md) : [DisableWifiResult](index.md)
A data representation for when there is a success disabling Wifi. |
+
+## Inheritors
+
+| Name |
+|---|
+| [Success](-success/index.md) |
+| [Failure](-failure/index.md) |
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-request/-android29-or-above/-android29-or-above.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-request/-android29-or-above/-android29-or-above.md
new file mode 100644
index 00000000..f2b68f35
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-request/-android29-or-above/-android29-or-above.md
@@ -0,0 +1,6 @@
+//[wifi](../../../../index.md)/[com.isupatches.android.wisefy.wifi.entities](../../index.md)/[EnableWifiRequest](../index.md)/[Android29OrAbove](index.md)/[Android29OrAbove](-android29-or-above.md)
+
+# Android29OrAbove
+
+[androidJvm]\
+fun [Android29OrAbove](-android29-or-above.md)(context: [Context](https://developer.android.com/reference/kotlin/android/content/Context.html))
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-request/-android29-or-above/context.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-request/-android29-or-above/context.md
new file mode 100644
index 00000000..dad67e11
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-request/-android29-or-above/context.md
@@ -0,0 +1,6 @@
+//[wifi](../../../../index.md)/[com.isupatches.android.wisefy.wifi.entities](../../index.md)/[EnableWifiRequest](../index.md)/[Android29OrAbove](index.md)/[context](context.md)
+
+# context
+
+[androidJvm]\
+val [context](context.md): [Context](https://developer.android.com/reference/kotlin/android/content/Context.html)
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-request/-android29-or-above/index.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-request/-android29-or-above/index.md
new file mode 100644
index 00000000..d23ebcb5
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-request/-android29-or-above/index.md
@@ -0,0 +1,36 @@
+//[wifi](../../../../index.md)/[com.isupatches.android.wisefy.wifi.entities](../../index.md)/[EnableWifiRequest](../index.md)/[Android29OrAbove](index.md)
+
+# Android29OrAbove
+
+[androidJvm]\
+data class [Android29OrAbove](index.md)(val context: [Context](https://developer.android.com/reference/kotlin/android/content/Context.html)) : [EnableWifiRequest](../index.md)
+
+A representation of a request to enable wifi on an Android Q / SDK 29 or higher device.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.wifi.entities.DisableWifiRequest](../../-disable-wifi-request/index.md) | |
+
+## Constructors
+
+| | |
+|---|---|
+| [Android29OrAbove](-android29-or-above.md) | [androidJvm]
fun [Android29OrAbove](-android29-or-above.md)(context: [Context](https://developer.android.com/reference/kotlin/android/content/Context.html)) |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [context](context.md) | [androidJvm]
val [context](context.md): [Context](https://developer.android.com/reference/kotlin/android/content/Context.html)
The reference to the context to place the request to enable wifi on Android Q / SDK 29 or higher devices. |
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-request/-default/index.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-request/-default/index.md
new file mode 100644
index 00000000..9f933621
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-request/-default/index.md
@@ -0,0 +1,24 @@
+//[wifi](../../../../index.md)/[com.isupatches.android.wisefy.wifi.entities](../../index.md)/[EnableWifiRequest](../index.md)/[Default](index.md)
+
+# Default
+
+[androidJvm]\
+object [Default](index.md) : [EnableWifiRequest](../index.md)
+
+A representation of a request to enable wifi on a device before Android Q / SDK 29.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.wifi.entities.DisableWifiRequest](../../-disable-wifi-request/index.md) | |
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-request/index.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-request/index.md
new file mode 100644
index 00000000..16aa47c9
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-request/index.md
@@ -0,0 +1,30 @@
+//[wifi](../../../index.md)/[com.isupatches.android.wisefy.wifi.entities](../index.md)/[EnableWifiRequest](index.md)
+
+# EnableWifiRequest
+
+[androidJvm]\
+sealed class [EnableWifiRequest](index.md)
+
+A set of classes and objects that represent requests to enable wifi.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [Android29OrAbove](-android29-or-above/index.md) | [androidJvm]
data class [Android29OrAbove](-android29-or-above/index.md)(val context: [Context](https://developer.android.com/reference/kotlin/android/content/Context.html)) : [EnableWifiRequest](index.md)
A representation of a request to enable wifi on an Android Q / SDK 29 or higher device. |
+| [Default](-default/index.md) | [androidJvm]
object [Default](-default/index.md) : [EnableWifiRequest](index.md)
A representation of a request to enable wifi on a device before Android Q / SDK 29. |
+
+## Inheritors
+
+| Name |
+|---|
+| [Default](-default/index.md) |
+| [Android29OrAbove](-android29-or-above/index.md) |
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/-failure/-assertion/-assertion.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/-failure/-assertion/-assertion.md
new file mode 100644
index 00000000..7586651d
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/-failure/-assertion/-assertion.md
@@ -0,0 +1,6 @@
+//[wifi](../../../../../index.md)/[com.isupatches.android.wisefy.wifi.entities](../../../index.md)/[EnableWifiResult](../../index.md)/[Failure](../index.md)/[Assertion](index.md)/[Assertion](-assertion.md)
+
+# Assertion
+
+[androidJvm]\
+fun [Assertion](-assertion.md)(message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html))
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/-failure/-assertion/index.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/-failure/-assertion/index.md
new file mode 100644
index 00000000..5a301e8e
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/-failure/-assertion/index.md
@@ -0,0 +1,38 @@
+//[wifi](../../../../../index.md)/[com.isupatches.android.wisefy.wifi.entities](../../../index.md)/[EnableWifiResult](../../index.md)/[Failure](../index.md)/[Assertion](index.md)
+
+# Assertion
+
+[androidJvm]\
+data class [Assertion](index.md)(val message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) : [EnableWifiResult.Failure](../index.md)
+
+A representation of a failure enabling wifi due to hitting an unexpected path causing an assertion.
+
+*NOTE* This is for developer specific feedback and should NEVER actually be hit unless there is a bug.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.wifi.entities.EnableWifiResult.Failure](../index.md) | |
+
+## Constructors
+
+| | |
+|---|---|
+| [Assertion](-assertion.md) | [androidJvm]
fun [Assertion](-assertion.md)(message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) |
+
+## Properties
+
+| Name | Summary |
+|---|---|
+| [message](message.md) | [androidJvm]
val [message](message.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
A text description describing the assertion error hit |
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/-failure/-assertion/message.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/-failure/-assertion/message.md
new file mode 100644
index 00000000..52d2080c
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/-failure/-assertion/message.md
@@ -0,0 +1,6 @@
+//[wifi](../../../../../index.md)/[com.isupatches.android.wisefy.wifi.entities](../../../index.md)/[EnableWifiResult](../../index.md)/[Failure](../index.md)/[Assertion](index.md)/[message](message.md)
+
+# message
+
+[androidJvm]\
+val [message](message.md): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/-failure/-unable-to-enable/index.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/-failure/-unable-to-enable/index.md
new file mode 100644
index 00000000..195601b1
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/-failure/-unable-to-enable/index.md
@@ -0,0 +1,24 @@
+//[wifi](../../../../../index.md)/[com.isupatches.android.wisefy.wifi.entities](../../../index.md)/[EnableWifiResult](../../index.md)/[Failure](../index.md)/[UnableToEnable](index.md)
+
+# UnableToEnable
+
+[androidJvm]\
+object [UnableToEnable](index.md) : [EnableWifiResult.Failure](../index.md)
+
+A representation of when there is a failure enabling wifi on pre-Android Q / SDK 29 devices.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.wifi.entities.EnableWifiResult.Failure](../index.md) | |
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/-failure/index.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/-failure/index.md
new file mode 100644
index 00000000..d97c030c
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/-failure/index.md
@@ -0,0 +1,38 @@
+//[wifi](../../../../index.md)/[com.isupatches.android.wisefy.wifi.entities](../../index.md)/[EnableWifiResult](../index.md)/[Failure](index.md)
+
+# Failure
+
+[androidJvm]\
+sealed class [Failure](index.md) : [EnableWifiResult](../index.md)
+
+A set of classes and objects that are data representations of a failure when enabling Wifi.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.wifi.entities.EnableWifiResult](../index.md) | |
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [Assertion](-assertion/index.md) | [androidJvm]
data class [Assertion](-assertion/index.md)(val message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) : [EnableWifiResult.Failure](index.md)
A representation of a failure enabling wifi due to hitting an unexpected path causing an assertion. |
+| [UnableToEnable](-unable-to-enable/index.md) | [androidJvm]
object [UnableToEnable](-unable-to-enable/index.md) : [EnableWifiResult.Failure](index.md)
A representation of when there is a failure enabling wifi on pre-Android Q / SDK 29 devices. |
+
+## Inheritors
+
+| Name |
+|---|
+| [UnableToEnable](-unable-to-enable/index.md) |
+| [Assertion](-assertion/index.md) |
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/-success/-enabled/index.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/-success/-enabled/index.md
new file mode 100644
index 00000000..df0be725
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/-success/-enabled/index.md
@@ -0,0 +1,24 @@
+//[wifi](../../../../../index.md)/[com.isupatches.android.wisefy.wifi.entities](../../../index.md)/[EnableWifiResult](../../index.md)/[Success](../index.md)/[Enabled](index.md)
+
+# Enabled
+
+[androidJvm]\
+object [Enabled](index.md) : [EnableWifiResult.Success](../index.md)
+
+A representation of when wifi is successfully enable on pre-Android Q / SDK 29 devices.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.wifi.entities.EnableWifiResult.Success](../index.md) | |
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/-success/-wifi-setting-screen-opened/index.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/-success/-wifi-setting-screen-opened/index.md
new file mode 100644
index 00000000..4e74d5ae
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/-success/-wifi-setting-screen-opened/index.md
@@ -0,0 +1,24 @@
+//[wifi](../../../../../index.md)/[com.isupatches.android.wisefy.wifi.entities](../../../index.md)/[EnableWifiResult](../../index.md)/[Success](../index.md)/[WifiSettingScreenOpened](index.md)
+
+# WifiSettingScreenOpened
+
+[androidJvm]\
+object [WifiSettingScreenOpened](index.md) : [EnableWifiResult.Success](../index.md)
+
+A representation of when the wifi settings screen is opened on Android Q / SDK 29 or higher devices for the user to manually enable wifi.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.wifi.entities.EnableWifiResult.Success](../index.md) | |
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/-success/index.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/-success/index.md
new file mode 100644
index 00000000..2ff28770
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/-success/index.md
@@ -0,0 +1,38 @@
+//[wifi](../../../../index.md)/[com.isupatches.android.wisefy.wifi.entities](../../index.md)/[EnableWifiResult](../index.md)/[Success](index.md)
+
+# Success
+
+[androidJvm]\
+sealed class [Success](index.md) : [EnableWifiResult](../index.md)
+
+A data representation for when there is a success enabling Wifi.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.wifi.entities.EnableWifiResult](../index.md) | |
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [Enabled](-enabled/index.md) | [androidJvm]
object [Enabled](-enabled/index.md) : [EnableWifiResult.Success](index.md)
A representation of when wifi is successfully enable on pre-Android Q / SDK 29 devices. |
+| [WifiSettingScreenOpened](-wifi-setting-screen-opened/index.md) | [androidJvm]
object [WifiSettingScreenOpened](-wifi-setting-screen-opened/index.md) : [EnableWifiResult.Success](index.md)
A representation of when the wifi settings screen is opened on Android Q / SDK 29 or higher devices for the user to manually enable wifi. |
+
+## Inheritors
+
+| Name |
+|---|
+| [Enabled](-enabled/index.md) |
+| [WifiSettingScreenOpened](-wifi-setting-screen-opened/index.md) |
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/index.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/index.md
new file mode 100644
index 00000000..873f5dec
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/index.md
@@ -0,0 +1,30 @@
+//[wifi](../../../index.md)/[com.isupatches.android.wisefy.wifi.entities](../index.md)/[EnableWifiResult](index.md)
+
+# EnableWifiResult
+
+[androidJvm]\
+sealed class [EnableWifiResult](index.md)
+
+A set of classes and objects that are data representations of a result when enabling Wifi.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [Failure](-failure/index.md) | [androidJvm]
sealed class [Failure](-failure/index.md) : [EnableWifiResult](index.md)
A set of classes and objects that are data representations of a failure when enabling Wifi. |
+| [Success](-success/index.md) | [androidJvm]
sealed class [Success](-success/index.md) : [EnableWifiResult](index.md)
A data representation for when there is a success enabling Wifi. |
+
+## Inheritors
+
+| Name |
+|---|
+| [Success](-success/index.md) |
+| [Failure](-failure/index.md) |
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-is-wifi-enabled-query/-is-wifi-enabled-query.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-is-wifi-enabled-query/-is-wifi-enabled-query.md
new file mode 100644
index 00000000..438c3b63
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-is-wifi-enabled-query/-is-wifi-enabled-query.md
@@ -0,0 +1,6 @@
+//[wifi](../../../index.md)/[com.isupatches.android.wisefy.wifi.entities](../index.md)/[IsWifiEnabledQuery](index.md)/[IsWifiEnabledQuery](-is-wifi-enabled-query.md)
+
+# IsWifiEnabledQuery
+
+[androidJvm]\
+fun [IsWifiEnabledQuery](-is-wifi-enabled-query.md)()
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-is-wifi-enabled-query/index.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-is-wifi-enabled-query/index.md
new file mode 100644
index 00000000..07f77552
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-is-wifi-enabled-query/index.md
@@ -0,0 +1,22 @@
+//[wifi](../../../index.md)/[com.isupatches.android.wisefy.wifi.entities](../index.md)/[IsWifiEnabledQuery](index.md)
+
+# IsWifiEnabledQuery
+
+[androidJvm]\
+class [IsWifiEnabledQuery](index.md)
+
+A class that is used to represent a query to check if wifi is enabled.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Constructors
+
+| | |
+|---|---|
+| [IsWifiEnabledQuery](-is-wifi-enabled-query.md) | [androidJvm]
fun [IsWifiEnabledQuery](-is-wifi-enabled-query.md)() |
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-is-wifi-enabled-result/-false/index.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-is-wifi-enabled-result/-false/index.md
new file mode 100644
index 00000000..02015fa4
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-is-wifi-enabled-result/-false/index.md
@@ -0,0 +1,24 @@
+//[wifi](../../../../index.md)/[com.isupatches.android.wisefy.wifi.entities](../../index.md)/[IsWifiEnabledResult](../index.md)/[False](index.md)
+
+# False
+
+[androidJvm]\
+object [False](index.md) : [IsWifiEnabledResult](../index.md)
+
+A data representation for when wifi is disabled.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.wifi.entities.EnableWifiResult](../../-enable-wifi-result/index.md) | |
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-is-wifi-enabled-result/-true/index.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-is-wifi-enabled-result/-true/index.md
new file mode 100644
index 00000000..8a4ed7e9
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-is-wifi-enabled-result/-true/index.md
@@ -0,0 +1,24 @@
+//[wifi](../../../../index.md)/[com.isupatches.android.wisefy.wifi.entities](../../index.md)/[IsWifiEnabledResult](../index.md)/[True](index.md)
+
+# True
+
+[androidJvm]\
+object [True](index.md) : [IsWifiEnabledResult](../index.md)
+
+A data representation for when wifi is enabled.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.wifi.entities.EnableWifiResult](../../-enable-wifi-result/index.md) | |
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-is-wifi-enabled-result/index.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-is-wifi-enabled-result/index.md
new file mode 100644
index 00000000..e0571b4b
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/-is-wifi-enabled-result/index.md
@@ -0,0 +1,30 @@
+//[wifi](../../../index.md)/[com.isupatches.android.wisefy.wifi.entities](../index.md)/[IsWifiEnabledResult](index.md)
+
+# IsWifiEnabledResult
+
+[androidJvm]\
+sealed class [IsWifiEnabledResult](index.md)
+
+A set of classes and objects that are data representations of a result when checking if Wifi is enabled.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [False](-false/index.md) | [androidJvm]
object [False](-false/index.md) : [IsWifiEnabledResult](index.md)
A data representation for when wifi is disabled. |
+| [True](-true/index.md) | [androidJvm]
object [True](-true/index.md) : [IsWifiEnabledResult](index.md)
A data representation for when wifi is enabled. |
+
+## Inheritors
+
+| Name |
+|---|
+| [True](-true/index.md) |
+| [False](-false/index.md) |
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/index.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/index.md
new file mode 100644
index 00000000..87b31afd
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi.entities/index.md
@@ -0,0 +1,14 @@
+//[wifi](../../index.md)/[com.isupatches.android.wisefy.wifi.entities](index.md)
+
+# Package com.isupatches.android.wisefy.wifi.entities
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [DisableWifiRequest](-disable-wifi-request/index.md) | [androidJvm]
sealed class [DisableWifiRequest](-disable-wifi-request/index.md)
A set of classes and objects that represent requests to disable wifi. |
+| [DisableWifiResult](-disable-wifi-result/index.md) | [androidJvm]
sealed class [DisableWifiResult](-disable-wifi-result/index.md)
A set of classes and objects that are data representations of a result when disabling Wifi. |
+| [EnableWifiRequest](-enable-wifi-request/index.md) | [androidJvm]
sealed class [EnableWifiRequest](-enable-wifi-request/index.md)
A set of classes and objects that represent requests to enable wifi. |
+| [EnableWifiResult](-enable-wifi-result/index.md) | [androidJvm]
sealed class [EnableWifiResult](-enable-wifi-result/index.md)
A set of classes and objects that are data representations of a result when enabling Wifi. |
+| [IsWifiEnabledQuery](-is-wifi-enabled-query/index.md) | [androidJvm]
class [IsWifiEnabledQuery](-is-wifi-enabled-query/index.md)
A class that is used to represent a query to check if wifi is enabled. |
+| [IsWifiEnabledResult](-is-wifi-enabled-result/index.md) | [androidJvm]
sealed class [IsWifiEnabledResult](-is-wifi-enabled-result/index.md)
A set of classes and objects that are data representations of a result when checking if Wifi is enabled. |
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi/-wifi-api-async/disable-wifi.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi/-wifi-api-async/disable-wifi.md
new file mode 100644
index 00000000..051392cc
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi/-wifi-api-async/disable-wifi.md
@@ -0,0 +1,44 @@
+//[wifi](../../../index.md)/[com.isupatches.android.wisefy.wifi](../index.md)/[WifiApiAsync](index.md)/[disableWifi](disable-wifi.md)
+
+# disableWifi
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.CHANGE_WIFI_STATE")
+
+abstract fun [disableWifi](disable-wifi.md)(request: [DisableWifiRequest](../../com.isupatches.android.wisefy.wifi.entities/-disable-wifi-request/index.md), callbacks: [DisableWifiCallbacks](../../com.isupatches.android.wisefy.wifi.callbacks/-disable-wifi-callbacks/index.md)?)
+
+An asynchronous API to disable wifi.
+
+*NOTES*
+
+-
+ Locked by the wifiMutex along with functions for enabling wifi and checking if wifi is enabled
+-
+ Will open the Wifi settings screen on Android Q / SDK 29 or higher
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.wifi.entities.DisableWifiRequest](../../com.isupatches.android.wisefy.wifi.entities/-disable-wifi-request/index.md) | |
+| [com.isupatches.android.wisefy.wifi.callbacks.DisableWifiCallbacks](../../com.isupatches.android.wisefy.wifi.callbacks/-disable-wifi-callbacks/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| request | The details of the request to disable wifi |
+| callbacks | The callbacks for results when disabling wifi |
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi/-wifi-api-async/enable-wifi.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi/-wifi-api-async/enable-wifi.md
new file mode 100644
index 00000000..33a0ebef
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi/-wifi-api-async/enable-wifi.md
@@ -0,0 +1,44 @@
+//[wifi](../../../index.md)/[com.isupatches.android.wisefy.wifi](../index.md)/[WifiApiAsync](index.md)/[enableWifi](enable-wifi.md)
+
+# enableWifi
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.CHANGE_WIFI_STATE")
+
+abstract fun [enableWifi](enable-wifi.md)(request: [EnableWifiRequest](../../com.isupatches.android.wisefy.wifi.entities/-enable-wifi-request/index.md), callbacks: [EnableWifiCallbacks](../../com.isupatches.android.wisefy.wifi.callbacks/-enable-wifi-callbacks/index.md)?)
+
+An asynchronous API to enable Wifi.
+
+*NOTES*
+
+-
+ Locked by the wifiMutex along with functions for disabling wifi and checking if wifi is enabled
+-
+ Will open the wifi settings screen on Android Q / SDK 29 or higher
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.wifi.entities.EnableWifiRequest](../../com.isupatches.android.wisefy.wifi.entities/-enable-wifi-request/index.md) | |
+| [com.isupatches.android.wisefy.wifi.callbacks.EnableWifiCallbacks](../../com.isupatches.android.wisefy.wifi.callbacks/-enable-wifi-callbacks/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| request | The details of the request to enable wifi |
+| callbacks | The callbacks for results when enabling wifi |
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi/-wifi-api-async/index.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi/-wifi-api-async/index.md
new file mode 100644
index 00000000..369b0106
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi/-wifi-api-async/index.md
@@ -0,0 +1,30 @@
+//[wifi](../../../index.md)/[com.isupatches.android.wisefy.wifi](../index.md)/[WifiApiAsync](index.md)
+
+# WifiApiAsync
+
+[androidJvm]\
+interface [WifiApiAsync](index.md)
+
+A set of asynchronous APIs for enabling and disabling wifi.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [disableWifi](disable-wifi.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.CHANGE_WIFI_STATE")
abstract fun [disableWifi](disable-wifi.md)(request: [DisableWifiRequest](../../com.isupatches.android.wisefy.wifi.entities/-disable-wifi-request/index.md), callbacks: [DisableWifiCallbacks](../../com.isupatches.android.wisefy.wifi.callbacks/-disable-wifi-callbacks/index.md)?)
An asynchronous API to disable wifi. |
+| [enableWifi](enable-wifi.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.CHANGE_WIFI_STATE")
abstract fun [enableWifi](enable-wifi.md)(request: [EnableWifiRequest](../../com.isupatches.android.wisefy.wifi.entities/-enable-wifi-request/index.md), callbacks: [EnableWifiCallbacks](../../com.isupatches.android.wisefy.wifi.callbacks/-enable-wifi-callbacks/index.md)?)
An asynchronous API to enable Wifi. |
+| [isWifiEnabled](is-wifi-enabled.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.ACCESS_WIFI_STATE")
abstract fun [isWifiEnabled](is-wifi-enabled.md)(query: [IsWifiEnabledQuery](../../com.isupatches.android.wisefy.wifi.entities/-is-wifi-enabled-query/index.md) = IsWifiEnabledQuery(), callbacks: [IsWifiEnabledCallbacks](../../com.isupatches.android.wisefy.wifi.callbacks/-is-wifi-enabled-callbacks/index.md)?)
An asynchronous API to check the current state of wifi (f.e. enabled or disabled). |
+
+## Inheritors
+
+| Name |
+|---|
+| [WifiDelegate](../-wifi-delegate/index.md) |
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi/-wifi-api-async/is-wifi-enabled.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi/-wifi-api-async/is-wifi-enabled.md
new file mode 100644
index 00000000..e2232339
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi/-wifi-api-async/is-wifi-enabled.md
@@ -0,0 +1,42 @@
+//[wifi](../../../index.md)/[com.isupatches.android.wisefy.wifi](../index.md)/[WifiApiAsync](index.md)/[isWifiEnabled](is-wifi-enabled.md)
+
+# isWifiEnabled
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.ACCESS_WIFI_STATE")
+
+abstract fun [isWifiEnabled](is-wifi-enabled.md)(query: [IsWifiEnabledQuery](../../com.isupatches.android.wisefy.wifi.entities/-is-wifi-enabled-query/index.md) = IsWifiEnabledQuery(), callbacks: [IsWifiEnabledCallbacks](../../com.isupatches.android.wisefy.wifi.callbacks/-is-wifi-enabled-callbacks/index.md)?)
+
+An asynchronous API to check the current state of wifi (f.e. enabled or disabled).
+
+*NOTES*
+
+-
+ Locked by the wifiMutex along with functions for enabling and disabling wifi
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.wifi.entities.IsWifiEnabledQuery](../../com.isupatches.android.wisefy.wifi.entities/-is-wifi-enabled-query/index.md) | |
+| [com.isupatches.android.wisefy.wifi.callbacks.IsWifiEnabledCallbacks](../../com.isupatches.android.wisefy.wifi.callbacks/-is-wifi-enabled-callbacks/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| query | The details of the query to check the current state of wifi |
+| callbacks | The callbacks for results when checking the current state of wifi |
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi/-wifi-api/disable-wifi.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi/-wifi-api/disable-wifi.md
new file mode 100644
index 00000000..c28834ca
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi/-wifi-api/disable-wifi.md
@@ -0,0 +1,40 @@
+//[wifi](../../../index.md)/[com.isupatches.android.wisefy.wifi](../index.md)/[WifiApi](index.md)/[disableWifi](disable-wifi.md)
+
+# disableWifi
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.CHANGE_WIFI_STATE")
+
+abstract fun [disableWifi](disable-wifi.md)(request: [DisableWifiRequest](../../com.isupatches.android.wisefy.wifi.entities/-disable-wifi-request/index.md)): [DisableWifiResult](../../com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/index.md)
+
+A synchronous API to disable wifi.
+
+#### Return
+
+DisableWifiResult - The result of disabling wifi
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.wifi.entities.DisableWifiRequest](../../com.isupatches.android.wisefy.wifi.entities/-disable-wifi-request/index.md) | |
+| [com.isupatches.android.wisefy.wifi.entities.DisableWifiResult](../../com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| request | The details of the request to disable wifi
*NOTES*
- Will open the Wifi settings screen on Android Q / SDK 29 or higher |
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi/-wifi-api/enable-wifi.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi/-wifi-api/enable-wifi.md
new file mode 100644
index 00000000..d8aeb72a
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi/-wifi-api/enable-wifi.md
@@ -0,0 +1,45 @@
+//[wifi](../../../index.md)/[com.isupatches.android.wisefy.wifi](../index.md)/[WifiApi](index.md)/[enableWifi](enable-wifi.md)
+
+# enableWifi
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.CHANGE_WIFI_STATE")
+
+abstract fun [enableWifi](enable-wifi.md)(request: [EnableWifiRequest](../../com.isupatches.android.wisefy.wifi.entities/-enable-wifi-request/index.md)): [EnableWifiResult](../../com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/index.md)
+
+A synchronous API to enable wifi.
+
+*NOTES*
+
+-
+ Will open the Wifi settings screen on Android Q / SDK 29 or higher
+
+#### Return
+
+EnableWifiResult - The result of enabling wifi
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.wifi.entities.EnableWifiRequest](../../com.isupatches.android.wisefy.wifi.entities/-enable-wifi-request/index.md) | |
+| [com.isupatches.android.wisefy.wifi.entities.EnableWifiResult](../../com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| request | The details of the request to enable wifi |
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi/-wifi-api/index.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi/-wifi-api/index.md
new file mode 100644
index 00000000..d2abc0ff
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi/-wifi-api/index.md
@@ -0,0 +1,30 @@
+//[wifi](../../../index.md)/[com.isupatches.android.wisefy.wifi](../index.md)/[WifiApi](index.md)
+
+# WifiApi
+
+[androidJvm]\
+interface [WifiApi](index.md)
+
+A set of synchronous APIs for enabling, disabling, and checking the state of wifi.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [disableWifi](disable-wifi.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.CHANGE_WIFI_STATE")
abstract fun [disableWifi](disable-wifi.md)(request: [DisableWifiRequest](../../com.isupatches.android.wisefy.wifi.entities/-disable-wifi-request/index.md)): [DisableWifiResult](../../com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/index.md)
A synchronous API to disable wifi. |
+| [enableWifi](enable-wifi.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.CHANGE_WIFI_STATE")
abstract fun [enableWifi](enable-wifi.md)(request: [EnableWifiRequest](../../com.isupatches.android.wisefy.wifi.entities/-enable-wifi-request/index.md)): [EnableWifiResult](../../com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/index.md)
A synchronous API to enable wifi. |
+| [isWifiEnabled](is-wifi-enabled.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.ACCESS_WIFI_STATE")
abstract fun [isWifiEnabled](is-wifi-enabled.md)(query: [IsWifiEnabledQuery](../../com.isupatches.android.wisefy.wifi.entities/-is-wifi-enabled-query/index.md) = IsWifiEnabledQuery()): [IsWifiEnabledResult](../../com.isupatches.android.wisefy.wifi.entities/-is-wifi-enabled-result/index.md)
A synchronous API to check if wifi is enabled. |
+
+## Inheritors
+
+| Name |
+|---|
+| [WifiDelegate](../-wifi-delegate/index.md) |
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi/-wifi-api/is-wifi-enabled.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi/-wifi-api/is-wifi-enabled.md
new file mode 100644
index 00000000..d02bb452
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi/-wifi-api/is-wifi-enabled.md
@@ -0,0 +1,40 @@
+//[wifi](../../../index.md)/[com.isupatches.android.wisefy.wifi](../index.md)/[WifiApi](index.md)/[isWifiEnabled](is-wifi-enabled.md)
+
+# isWifiEnabled
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.ACCESS_WIFI_STATE")
+
+abstract fun [isWifiEnabled](is-wifi-enabled.md)(query: [IsWifiEnabledQuery](../../com.isupatches.android.wisefy.wifi.entities/-is-wifi-enabled-query/index.md) = IsWifiEnabledQuery()): [IsWifiEnabledResult](../../com.isupatches.android.wisefy.wifi.entities/-is-wifi-enabled-result/index.md)
+
+A synchronous API to check if wifi is enabled.
+
+#### Return
+
+IsWifiEnabledResult - The result of checking if wifi is enabled
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.wifi.entities.IsWifiEnabledQuery](../../com.isupatches.android.wisefy.wifi.entities/-is-wifi-enabled-query/index.md) | |
+| [com.isupatches.android.wisefy.wifi.entities.IsWifiEnabledResult](../../com.isupatches.android.wisefy.wifi.entities/-is-wifi-enabled-result/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| query | The details of the query to check if wifi is enabled |
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi/-wifi-delegate/index.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi/-wifi-delegate/index.md
new file mode 100644
index 00000000..0eb3101c
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi/-wifi-delegate/index.md
@@ -0,0 +1,39 @@
+//[wifi](../../../index.md)/[com.isupatches.android.wisefy.wifi](../index.md)/[WifiDelegate](index.md)
+
+# WifiDelegate
+
+[androidJvm]\
+interface [WifiDelegate](index.md) : [WifiApi](../-wifi-api/index.md), [WifiApiAsync](../-wifi-api-async/index.md)
+
+A delegate for synchronous and asynchronous APIs to enable, disable and check the state of wifi.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.wifi.WifiApi](../-wifi-api/index.md) | |
+| [com.isupatches.android.wisefy.wifi.WifiApiAsync](../-wifi-api-async/index.md) | |
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [disableWifi](../-wifi-api/disable-wifi.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.CHANGE_WIFI_STATE")
abstract fun [disableWifi](../-wifi-api/disable-wifi.md)(request: [DisableWifiRequest](../../com.isupatches.android.wisefy.wifi.entities/-disable-wifi-request/index.md)): [DisableWifiResult](../../com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/index.md)
A synchronous API to disable wifi.
[androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.CHANGE_WIFI_STATE")
abstract fun [disableWifi](../-wifi-api-async/disable-wifi.md)(request: [DisableWifiRequest](../../com.isupatches.android.wisefy.wifi.entities/-disable-wifi-request/index.md), callbacks: [DisableWifiCallbacks](../../com.isupatches.android.wisefy.wifi.callbacks/-disable-wifi-callbacks/index.md)?)
An asynchronous API to disable wifi. |
+| [enableWifi](../-wifi-api/enable-wifi.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.CHANGE_WIFI_STATE")
abstract fun [enableWifi](../-wifi-api/enable-wifi.md)(request: [EnableWifiRequest](../../com.isupatches.android.wisefy.wifi.entities/-enable-wifi-request/index.md)): [EnableWifiResult](../../com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/index.md)
A synchronous API to enable wifi.
[androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.CHANGE_WIFI_STATE")
abstract fun [enableWifi](../-wifi-api-async/enable-wifi.md)(request: [EnableWifiRequest](../../com.isupatches.android.wisefy.wifi.entities/-enable-wifi-request/index.md), callbacks: [EnableWifiCallbacks](../../com.isupatches.android.wisefy.wifi.callbacks/-enable-wifi-callbacks/index.md)?)
An asynchronous API to enable Wifi. |
+| [isWifiEnabled](../-wifi-api/is-wifi-enabled.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.ACCESS_WIFI_STATE")
abstract fun [isWifiEnabled](../-wifi-api/is-wifi-enabled.md)(query: [IsWifiEnabledQuery](../../com.isupatches.android.wisefy.wifi.entities/-is-wifi-enabled-query/index.md) = IsWifiEnabledQuery()): [IsWifiEnabledResult](../../com.isupatches.android.wisefy.wifi.entities/-is-wifi-enabled-result/index.md)
A synchronous API to check if wifi is enabled.
[androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.ACCESS_WIFI_STATE")
abstract fun [isWifiEnabled](../-wifi-api-async/is-wifi-enabled.md)(query: [IsWifiEnabledQuery](../../com.isupatches.android.wisefy.wifi.entities/-is-wifi-enabled-query/index.md) = IsWifiEnabledQuery(), callbacks: [IsWifiEnabledCallbacks](../../com.isupatches.android.wisefy.wifi.callbacks/-is-wifi-enabled-callbacks/index.md)?)
An asynchronous API to check the current state of wifi (f.e. enabled or disabled). |
+
+## Inheritors
+
+| Name |
+|---|
+| [WisefyWifiDelegate](../-wisefy-wifi-delegate/index.md) |
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi/-wisefy-wifi-delegate/-companion/index.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi/-wisefy-wifi-delegate/-companion/index.md
new file mode 100644
index 00000000..bba5f742
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi/-wisefy-wifi-delegate/-companion/index.md
@@ -0,0 +1,6 @@
+//[wifi](../../../../index.md)/[com.isupatches.android.wisefy.wifi](../../index.md)/[WisefyWifiDelegate](../index.md)/[Companion](index.md)
+
+# Companion
+
+[androidJvm]\
+object [Companion](index.md)
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi/-wisefy-wifi-delegate/-wisefy-wifi-delegate.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi/-wisefy-wifi-delegate/-wisefy-wifi-delegate.md
new file mode 100644
index 00000000..96219f90
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi/-wisefy-wifi-delegate/-wisefy-wifi-delegate.md
@@ -0,0 +1,21 @@
+//[wifi](../../../index.md)/[com.isupatches.android.wisefy.wifi](../index.md)/[WisefyWifiDelegate](index.md)/[WisefyWifiDelegate](-wisefy-wifi-delegate.md)
+
+# WisefyWifiDelegate
+
+[androidJvm]\
+fun [WisefyWifiDelegate](-wisefy-wifi-delegate.md)(assertions: [WisefyAssertions](../../../../core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/index.md), logger: [WisefyLogger](../../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md), sdkUtil: [SdkUtil](../../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md), wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), coroutineDispatcherProvider: [CoroutineDispatcherProvider](../../../../core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/index.md), scope: CoroutineScope, wifiMutex: Mutex, adapter: [WifiApi](../-wifi-api/index.md) = if (sdkUtil.isAtLeastQ()) {
+ Android29WifiAdapter(wifiManager, logger, assertions)
+ } else {
+ DefaultWifiAdapter(wifiManager, logger, assertions)
+ })
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| assertions | The [WisefyAssertions](../../../../core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/index.md) instance to use |
+| logger | The [WisefyLogger](../../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md) instance to use |
+| sdkUtil | The [SdkUtil](../../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md) instance to use |
+| wifiManager | The WifiManager instance to use |
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi/-wisefy-wifi-delegate/disable-wifi.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi/-wisefy-wifi-delegate/disable-wifi.md
new file mode 100644
index 00000000..f9d00ed5
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi/-wisefy-wifi-delegate/disable-wifi.md
@@ -0,0 +1,81 @@
+//[wifi](../../../index.md)/[com.isupatches.android.wisefy.wifi](../index.md)/[WisefyWifiDelegate](index.md)/[disableWifi](disable-wifi.md)
+
+# disableWifi
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.CHANGE_WIFI_STATE")
+
+open override fun [disableWifi](disable-wifi.md)(request: [DisableWifiRequest](../../com.isupatches.android.wisefy.wifi.entities/-disable-wifi-request/index.md)): [DisableWifiResult](../../com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/index.md)
+
+A synchronous API to disable wifi.
+
+#### Return
+
+DisableWifiResult - The result of disabling wifi
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.wifi.entities.DisableWifiRequest](../../com.isupatches.android.wisefy.wifi.entities/-disable-wifi-request/index.md) | |
+| [com.isupatches.android.wisefy.wifi.entities.DisableWifiResult](../../com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| request | The details of the request to disable wifi
*NOTES*
- Will open the Wifi settings screen on Android Q / SDK 29 or higher |
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.CHANGE_WIFI_STATE")
+
+open override fun [disableWifi](disable-wifi.md)(request: [DisableWifiRequest](../../com.isupatches.android.wisefy.wifi.entities/-disable-wifi-request/index.md), callbacks: [DisableWifiCallbacks](../../com.isupatches.android.wisefy.wifi.callbacks/-disable-wifi-callbacks/index.md)?)
+
+An asynchronous API to disable wifi.
+
+*NOTES*
+
+-
+ Locked by the wifiMutex along with functions for enabling wifi and checking if wifi is enabled
+-
+ Will open the Wifi settings screen on Android Q / SDK 29 or higher
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.wifi.entities.DisableWifiRequest](../../com.isupatches.android.wisefy.wifi.entities/-disable-wifi-request/index.md) | |
+| [com.isupatches.android.wisefy.wifi.callbacks.DisableWifiCallbacks](../../com.isupatches.android.wisefy.wifi.callbacks/-disable-wifi-callbacks/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| request | The details of the request to disable wifi |
+| callbacks | The callbacks for results when disabling wifi |
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi/-wisefy-wifi-delegate/enable-wifi.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi/-wisefy-wifi-delegate/enable-wifi.md
new file mode 100644
index 00000000..d304f59f
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi/-wisefy-wifi-delegate/enable-wifi.md
@@ -0,0 +1,86 @@
+//[wifi](../../../index.md)/[com.isupatches.android.wisefy.wifi](../index.md)/[WisefyWifiDelegate](index.md)/[enableWifi](enable-wifi.md)
+
+# enableWifi
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.CHANGE_WIFI_STATE")
+
+open override fun [enableWifi](enable-wifi.md)(request: [EnableWifiRequest](../../com.isupatches.android.wisefy.wifi.entities/-enable-wifi-request/index.md)): [EnableWifiResult](../../com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/index.md)
+
+A synchronous API to enable wifi.
+
+*NOTES*
+
+-
+ Will open the Wifi settings screen on Android Q / SDK 29 or higher
+
+#### Return
+
+EnableWifiResult - The result of enabling wifi
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.wifi.entities.EnableWifiRequest](../../com.isupatches.android.wisefy.wifi.entities/-enable-wifi-request/index.md) | |
+| [com.isupatches.android.wisefy.wifi.entities.EnableWifiResult](../../com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| request | The details of the request to enable wifi |
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.CHANGE_WIFI_STATE")
+
+open override fun [enableWifi](enable-wifi.md)(request: [EnableWifiRequest](../../com.isupatches.android.wisefy.wifi.entities/-enable-wifi-request/index.md), callbacks: [EnableWifiCallbacks](../../com.isupatches.android.wisefy.wifi.callbacks/-enable-wifi-callbacks/index.md)?)
+
+An asynchronous API to enable Wifi.
+
+*NOTES*
+
+-
+ Locked by the wifiMutex along with functions for disabling wifi and checking if wifi is enabled
+-
+ Will open the wifi settings screen on Android Q / SDK 29 or higher
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.wifi.entities.EnableWifiRequest](../../com.isupatches.android.wisefy.wifi.entities/-enable-wifi-request/index.md) | |
+| [com.isupatches.android.wisefy.wifi.callbacks.EnableWifiCallbacks](../../com.isupatches.android.wisefy.wifi.callbacks/-enable-wifi-callbacks/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| request | The details of the request to enable wifi |
+| callbacks | The callbacks for results when enabling wifi |
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi/-wisefy-wifi-delegate/index.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi/-wisefy-wifi-delegate/index.md
new file mode 100644
index 00000000..e411707a
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi/-wisefy-wifi-delegate/index.md
@@ -0,0 +1,65 @@
+//[wifi](../../../index.md)/[com.isupatches.android.wisefy.wifi](../index.md)/[WisefyWifiDelegate](index.md)
+
+# WisefyWifiDelegate
+
+[androidJvm]\
+class [WisefyWifiDelegate](index.md)(assertions: [WisefyAssertions](../../../../core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/index.md), logger: [WisefyLogger](../../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md), sdkUtil: [SdkUtil](../../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md), wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), coroutineDispatcherProvider: [CoroutineDispatcherProvider](../../../../core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/index.md), scope: CoroutineScope, wifiMutex: Mutex, adapter: [WifiApi](../-wifi-api/index.md) = if (sdkUtil.isAtLeastQ()) {
+ Android29WifiAdapter(wifiManager, logger, assertions)
+ } else {
+ DefaultWifiAdapter(wifiManager, logger, assertions)
+ }) : [WifiDelegate](../-wifi-delegate/index.md)
+
+An internal Wisefy delegate for enabling, disabling, and checking the state of wifi.
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| com.isupatches.android.wisefy.wifi.os.adapters.Android29WifiAdapter | |
+| [com.isupatches.android.wisefy.core.coroutines.CoroutineDispatcherProvider](../../../../core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/index.md) | |
+| com.isupatches.android.wisefy.wifi.os.adapters.DefaultWifiAdapter | |
+| [com.isupatches.android.wisefy.core.util.SdkUtil](../../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md) | |
+| [com.isupatches.android.wisefy.wifi.WifiDelegate](../-wifi-delegate/index.md) | |
+| [com.isupatches.android.wisefy.core.assertions.WisefyAssertions](../../../../core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/index.md) | |
+| [com.isupatches.android.wisefy.core.logging.WisefyLogger](../../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| assertions | The [WisefyAssertions](../../../../core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/index.md) instance to use |
+| logger | The [WisefyLogger](../../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md) instance to use |
+| sdkUtil | The [SdkUtil](../../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md) instance to use |
+| wifiManager | The WifiManager instance to use |
+
+## Constructors
+
+| | |
+|---|---|
+| [WisefyWifiDelegate](-wisefy-wifi-delegate.md) | [androidJvm]
fun [WisefyWifiDelegate](-wisefy-wifi-delegate.md)(assertions: [WisefyAssertions](../../../../core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/index.md), logger: [WisefyLogger](../../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md), sdkUtil: [SdkUtil](../../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md), wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), coroutineDispatcherProvider: [CoroutineDispatcherProvider](../../../../core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/index.md), scope: CoroutineScope, wifiMutex: Mutex, adapter: [WifiApi](../-wifi-api/index.md) = if (sdkUtil.isAtLeastQ()) { Android29WifiAdapter(wifiManager, logger, assertions) } else { DefaultWifiAdapter(wifiManager, logger, assertions) }) |
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [Companion](-companion/index.md) | [androidJvm]
object [Companion](-companion/index.md) |
+
+## Functions
+
+| Name | Summary |
+|---|---|
+| [disableWifi](disable-wifi.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.CHANGE_WIFI_STATE")
open override fun [disableWifi](disable-wifi.md)(request: [DisableWifiRequest](../../com.isupatches.android.wisefy.wifi.entities/-disable-wifi-request/index.md)): [DisableWifiResult](../../com.isupatches.android.wisefy.wifi.entities/-disable-wifi-result/index.md)
A synchronous API to disable wifi.
[androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.CHANGE_WIFI_STATE")
open override fun [disableWifi](disable-wifi.md)(request: [DisableWifiRequest](../../com.isupatches.android.wisefy.wifi.entities/-disable-wifi-request/index.md), callbacks: [DisableWifiCallbacks](../../com.isupatches.android.wisefy.wifi.callbacks/-disable-wifi-callbacks/index.md)?)
An asynchronous API to disable wifi. |
+| [enableWifi](enable-wifi.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.CHANGE_WIFI_STATE")
open override fun [enableWifi](enable-wifi.md)(request: [EnableWifiRequest](../../com.isupatches.android.wisefy.wifi.entities/-enable-wifi-request/index.md)): [EnableWifiResult](../../com.isupatches.android.wisefy.wifi.entities/-enable-wifi-result/index.md)
A synchronous API to enable wifi.
[androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.CHANGE_WIFI_STATE")
open override fun [enableWifi](enable-wifi.md)(request: [EnableWifiRequest](../../com.isupatches.android.wisefy.wifi.entities/-enable-wifi-request/index.md), callbacks: [EnableWifiCallbacks](../../com.isupatches.android.wisefy.wifi.callbacks/-enable-wifi-callbacks/index.md)?)
An asynchronous API to enable Wifi. |
+| [isWifiEnabled](is-wifi-enabled.md) | [androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.ACCESS_WIFI_STATE")
open override fun [isWifiEnabled](is-wifi-enabled.md)(query: [IsWifiEnabledQuery](../../com.isupatches.android.wisefy.wifi.entities/-is-wifi-enabled-query/index.md)): [IsWifiEnabledResult](../../com.isupatches.android.wisefy.wifi.entities/-is-wifi-enabled-result/index.md)
A synchronous API to check if wifi is enabled.
[androidJvm]
@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.ACCESS_WIFI_STATE")
open override fun [isWifiEnabled](is-wifi-enabled.md)(query: [IsWifiEnabledQuery](../../com.isupatches.android.wisefy.wifi.entities/-is-wifi-enabled-query/index.md), callbacks: [IsWifiEnabledCallbacks](../../com.isupatches.android.wisefy.wifi.callbacks/-is-wifi-enabled-callbacks/index.md)?)
An asynchronous API to check the current state of wifi (f.e. enabled or disabled). |
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi/-wisefy-wifi-delegate/is-wifi-enabled.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi/-wisefy-wifi-delegate/is-wifi-enabled.md
new file mode 100644
index 00000000..5f82d9f0
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi/-wisefy-wifi-delegate/is-wifi-enabled.md
@@ -0,0 +1,79 @@
+//[wifi](../../../index.md)/[com.isupatches.android.wisefy.wifi](../index.md)/[WisefyWifiDelegate](index.md)/[isWifiEnabled](is-wifi-enabled.md)
+
+# isWifiEnabled
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.ACCESS_WIFI_STATE")
+
+open override fun [isWifiEnabled](is-wifi-enabled.md)(query: [IsWifiEnabledQuery](../../com.isupatches.android.wisefy.wifi.entities/-is-wifi-enabled-query/index.md)): [IsWifiEnabledResult](../../com.isupatches.android.wisefy.wifi.entities/-is-wifi-enabled-result/index.md)
+
+A synchronous API to check if wifi is enabled.
+
+#### Return
+
+IsWifiEnabledResult - The result of checking if wifi is enabled
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.wifi.entities.IsWifiEnabledQuery](../../com.isupatches.android.wisefy.wifi.entities/-is-wifi-enabled-query/index.md) | |
+| [com.isupatches.android.wisefy.wifi.entities.IsWifiEnabledResult](../../com.isupatches.android.wisefy.wifi.entities/-is-wifi-enabled-result/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| query | The details of the query to check if wifi is enabled |
+
+[androidJvm]\
+
+@[RequiresPermission](https://developer.android.com/reference/kotlin/androidx/annotation/RequiresPermission.html)(value = "android.permission.ACCESS_WIFI_STATE")
+
+open override fun [isWifiEnabled](is-wifi-enabled.md)(query: [IsWifiEnabledQuery](../../com.isupatches.android.wisefy.wifi.entities/-is-wifi-enabled-query/index.md), callbacks: [IsWifiEnabledCallbacks](../../com.isupatches.android.wisefy.wifi.callbacks/-is-wifi-enabled-callbacks/index.md)?)
+
+An asynchronous API to check the current state of wifi (f.e. enabled or disabled).
+
+*NOTES*
+
+-
+ Locked by the wifiMutex along with functions for enabling and disabling wifi
+
+#### Author
+
+Patches Barrett
+
+#### Since
+
+12/2022, version 5.0.0
+
+## See also
+
+androidJvm
+
+| | |
+|---|---|
+| [com.isupatches.android.wisefy.wifi.entities.IsWifiEnabledQuery](../../com.isupatches.android.wisefy.wifi.entities/-is-wifi-enabled-query/index.md) | |
+| [com.isupatches.android.wisefy.wifi.callbacks.IsWifiEnabledCallbacks](../../com.isupatches.android.wisefy.wifi.callbacks/-is-wifi-enabled-callbacks/index.md) | |
+
+## Parameters
+
+androidJvm
+
+| | |
+|---|---|
+| query | The details of the query to check the current state of wifi |
+| callbacks | The callbacks for results when checking the current state of wifi |
diff --git a/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi/index.md b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi/index.md
new file mode 100644
index 00000000..ee369955
--- /dev/null
+++ b/dokka/wifi/wifi/com.isupatches.android.wisefy.wifi/index.md
@@ -0,0 +1,12 @@
+//[wifi](../../index.md)/[com.isupatches.android.wisefy.wifi](index.md)
+
+# Package com.isupatches.android.wisefy.wifi
+
+## Types
+
+| Name | Summary |
+|---|---|
+| [WifiApi](-wifi-api/index.md) | [androidJvm]
interface [WifiApi](-wifi-api/index.md)
A set of synchronous APIs for enabling, disabling, and checking the state of wifi. |
+| [WifiApiAsync](-wifi-api-async/index.md) | [androidJvm]
interface [WifiApiAsync](-wifi-api-async/index.md)
A set of asynchronous APIs for enabling and disabling wifi. |
+| [WifiDelegate](-wifi-delegate/index.md) | [androidJvm]
interface [WifiDelegate](-wifi-delegate/index.md) : [WifiApi](-wifi-api/index.md), [WifiApiAsync](-wifi-api-async/index.md)
A delegate for synchronous and asynchronous APIs to enable, disable and check the state of wifi. |
+| [WisefyWifiDelegate](-wisefy-wifi-delegate/index.md) | [androidJvm]
class [WisefyWifiDelegate](-wisefy-wifi-delegate/index.md)(assertions: [WisefyAssertions](../../../core/core/com.isupatches.android.wisefy.core.assertions/-wisefy-assertions/index.md), logger: [WisefyLogger](../../../core/core/com.isupatches.android.wisefy.core.logging/-wisefy-logger/index.md), sdkUtil: [SdkUtil](../../../core/core/com.isupatches.android.wisefy.core.util/-sdk-util/index.md), wifiManager: [WifiManager](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager.html), coroutineDispatcherProvider: [CoroutineDispatcherProvider](../../../core/core/com.isupatches.android.wisefy.core.coroutines/-coroutine-dispatcher-provider/index.md), scope: CoroutineScope, wifiMutex: Mutex, adapter: [WifiApi](-wifi-api/index.md) = if (sdkUtil.isAtLeastQ()) { Android29WifiAdapter(wifiManager, logger, assertions) } else { DefaultWifiAdapter(wifiManager, logger, assertions) }) : [WifiDelegate](-wifi-delegate/index.md)
An internal Wisefy delegate for enabling, disabling, and checking the state of wifi. |
diff --git a/gradle.properties b/gradle.properties
index 386d53af..3c7a8bd3 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,6 +1,23 @@
-# Android X: https://developer.android.com/topic/libraries/support-library/androidx-rn
-android.enableJetifier=true
+# Project-wide Gradle settings.
+# IDE (e.g. Android Studio) users:
+# Gradle settings configured through the IDE *will override*
+# any settings specified in this file.
+# For more details on how to configure your build environment visit
+# http://www.gradle.org/docs/current/userguide/build_environment.html
+# Specifies the JVM arguments used for the daemon process.
+# The setting is particularly useful for tweaking memory settings.
+org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
+# When configured, Gradle will run in incubating parallel mode.
+# This option should only be used with decoupled projects. More details, visit
+# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
+# org.gradle.parallel=true
+# AndroidX package structure to make it clearer which packages are bundled with the
+# Android operating system, and which are packaged with your app"s APK
+# https://developer.android.com/topic/libraries/support-library/androidx-rn
android.useAndroidX=true
-
-org.gradle.caching=false
-org.gradle.jvmargs=-Xmx2g -XX:MaxPermSize=1g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
+# Kotlin code style for this project: "official" or "obsolete":
+kotlin.code.style=official
+# Enables namespacing of each library's R class so that its R class includes only the
+# resources declared in the library itself and none from the library's dependencies,
+# thereby reducing the size of the R class for that library
+android.nonTransitiveRClass=true
diff --git a/gradle/cpd.gradle.kts b/gradle/cpd.gradle.kts
index 4253ae20..1d34e03e 100644
--- a/gradle/cpd.gradle.kts
+++ b/gradle/cpd.gradle.kts
@@ -4,7 +4,7 @@ import de.aaschmid.gradle.plugins.cpd.CpdPlugin
buildscript {
repositories {
- mavenCentral()
+ maven(url = "https://plugins.gradle.org/m2/")
}
dependencies {
diff --git a/gradle/dexcount.gradle.kts b/gradle/dexcount.gradle.kts
index 56076839..54d89775 100644
--- a/gradle/dexcount.gradle.kts
+++ b/gradle/dexcount.gradle.kts
@@ -1,6 +1,4 @@
-import com.getkeepsafe.dexcount.DexCountExtension
import com.getkeepsafe.dexcount.DexMethodCountPlugin
-import com.getkeepsafe.dexcount.OutputFormat
buildscript {
repositories {
@@ -14,13 +12,3 @@ buildscript {
}
plugins.apply(DexMethodCountPlugin::class)
-
-configure {
- format = OutputFormat.TREE
- includeClasses = true
- includeFieldCount = true
- includeTotalMethodCount = true
- orderByMethodCount = true
- verbose = false
- runOnEachPackage = true
-}
diff --git a/gradle/ktlint.gradle.kts b/gradle/ktlint.gradle.kts
index f57df092..77e32298 100644
--- a/gradle/ktlint.gradle.kts
+++ b/gradle/ktlint.gradle.kts
@@ -1,30 +1,21 @@
-import org.jlleitschuh.gradle.ktlint.KtlintExtension
-import org.jlleitschuh.gradle.ktlint.KtlintPlugin
-import org.jlleitschuh.gradle.ktlint.reporter.ReporterType.CHECKSTYLE
-import org.jlleitschuh.gradle.ktlint.reporter.ReporterType.PLAIN
+import org.jmailen.gradle.kotlinter.KotlinterPlugin
buildscript {
repositories {
- mavenCentral()
- maven("https://plugins.gradle.org/m2/")
+ maven(url = "https://plugins.gradle.org/m2/")
}
dependencies {
val versions = com.isupatches.android.wisefy.build.Versions
- classpath("org.jlleitschuh.gradle:ktlint-gradle:${versions.KTLINT_PLUGIN}")
+ classpath("org.jmailen.gradle:kotlinter-gradle:${versions.KOTLINTER_PLUGIN}")
}
}
-plugins.apply(KtlintPlugin::class)
+plugins.apply(KotlinterPlugin::class)
-configure {
- version.set(com.isupatches.android.wisefy.build.Versions.KTLINT)
- debug.set(false)
- verbose.set(true)
- android.set(true)
- reporters {
- reporter(PLAIN)
- reporter(CHECKSTYLE)
- }
- ignoreFailures.set(false)
-}
+//configure {
+// ignoreFailures = false
+// reporters = arrayOf("checkstyle", "plain")
+// experimentalRules = false
+// disabledRules = emptyArray()
+//}
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
index 7454180f..41d9927a 100644
Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index ac0b842f..8fad3f5a 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.2-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/proguard/r8-app-common.pro b/proguard/r8-app-common.pro
new file mode 100644
index 00000000..6a71c2dc
--- /dev/null
+++ b/proguard/r8-app-common.pro
@@ -0,0 +1,13 @@
+-keepattributes *Annotation*, EnclosingMethod, InnerClasses, Signature
+
+# Kotlin
+-keep class kotlin.collections.CollectionsKt { *; }
+-keepclassmembers class **$WhenMappings {
+ ;
+}
+-keepclassmembers class kotlin.Metadata {
+ public ;
+}
+-assumenosideeffects class kotlin.jvm.internal.Intrinsics {
+ static void checkParameterIsNotNull(java.lang.Object, java.lang.String);
+}
diff --git a/proguard/r8-app-debug.pro b/proguard/r8-app-debug.pro
new file mode 100644
index 00000000..6441e8de
--- /dev/null
+++ b/proguard/r8-app-debug.pro
@@ -0,0 +1,9 @@
+-include r8-common.pro
+-include r8-app-common.pro
+
+-verbose
+-dontobfuscate
+
+-keepattributes SourceFile, LineNumberTable
+
+-keep class com.isupatches.android.wisefy.sample.DebugMainApplication { *; }
diff --git a/proguard/r8-app-release.pro b/proguard/r8-app-release.pro
new file mode 100644
index 00000000..a5aacbb7
--- /dev/null
+++ b/proguard/r8-app-release.pro
@@ -0,0 +1,2 @@
+-include r8-common.pro
+-include r8-app-common.pro
diff --git a/proguard/r8-app-test.pro b/proguard/r8-app-test.pro
new file mode 100644
index 00000000..362fba6d
--- /dev/null
+++ b/proguard/r8-app-test.pro
@@ -0,0 +1 @@
+-include r8-app-debug.pro
diff --git a/proguard/r8-common.pro b/proguard/r8-common.pro
new file mode 100644
index 00000000..7fbd31d5
--- /dev/null
+++ b/proguard/r8-common.pro
@@ -0,0 +1,3 @@
+-include r8-common.pro
+
+-dontnote
diff --git a/wisefy/consumer-proguard-rules.pro b/proguard/r8-lib-common.pro
similarity index 100%
rename from wisefy/consumer-proguard-rules.pro
rename to proguard/r8-lib-common.pro
diff --git a/proguard/r8-lib-consumer.pro b/proguard/r8-lib-consumer.pro
new file mode 100644
index 00000000..52b380ba
--- /dev/null
+++ b/proguard/r8-lib-consumer.pro
@@ -0,0 +1,2 @@
+-include r8-common.pro
+-include r8-lib-common.pro
\ No newline at end of file
diff --git a/proguard/r8-lib-debug.pro b/proguard/r8-lib-debug.pro
new file mode 100644
index 00000000..0e193363
--- /dev/null
+++ b/proguard/r8-lib-debug.pro
@@ -0,0 +1,5 @@
+-include r8-common.pro
+-include r8-lib-common.pro
+
+-verbose
+-dontobfuscate
diff --git a/proguard/r8-lib-release.pro b/proguard/r8-lib-release.pro
new file mode 100644
index 00000000..d7dc9474
--- /dev/null
+++ b/proguard/r8-lib-release.pro
@@ -0,0 +1,2 @@
+-include r8-common.pro
+-include r8-lib-common.pro
diff --git a/proguard/r8-lib-test.pro b/proguard/r8-lib-test.pro
new file mode 100644
index 00000000..ff33b9b8
--- /dev/null
+++ b/proguard/r8-lib-test.pro
@@ -0,0 +1 @@
+-include r8-lib-debug.pro
diff --git a/settings.gradle.kts b/settings.gradle.kts
index 45263d6a..bf1fd730 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -1,3 +1,16 @@
rootProject.name = "android-wisefy"
-include(":app", ":wisefy")
+include(
+ ":app",
+ ":wisefy",
+ ":wisefy:core",
+ ":wisefy:accesspoints",
+ ":wisefy:addnetwork",
+ ":wisefy:ktx",
+ ":wisefy:networkconnection",
+ ":wisefy:networkinfo",
+ ":wisefy:savednetworks",
+ ":wisefy:removenetwork",
+ ":wisefy:signal",
+ ":wisefy:wifi"
+)
diff --git a/wisefy/accesspoints/.gitignore b/wisefy/accesspoints/.gitignore
new file mode 100644
index 00000000..796b96d1
--- /dev/null
+++ b/wisefy/accesspoints/.gitignore
@@ -0,0 +1 @@
+/build
diff --git a/wisefy/accesspoints/build.gradle.kts b/wisefy/accesspoints/build.gradle.kts
new file mode 100644
index 00000000..c1769e38
--- /dev/null
+++ b/wisefy/accesspoints/build.gradle.kts
@@ -0,0 +1,26 @@
+import com.isupatches.android.wisefy.build.BuildVersions
+import com.isupatches.android.wisefy.build.Dependencies
+import com.isupatches.android.wisefy.build.PublishingConstants
+
+plugins {
+ id("com.android.library")
+ id("com.isupatches.android.wisefy.build.plugins.BaseGradleModulePlugin")
+ id("com.isupatches.android.wisefy.build.plugins.DocumentationPlugin")
+ id("com.isupatches.android.wisefy.build.plugins.PublishingPlugin")
+ id("kotlin-android")
+}
+
+group = PublishingConstants.GROUP_ID
+version = BuildVersions.MODULE_VERSION_NAME
+
+android {
+ namespace = "com.isupatches.android.wisefy.accesspoints"
+ testNamespace = "com.isupatches.android.wisefy.accesspoints.test"
+}
+
+dependencies {
+ implementation(project(":wisefy:core"))
+
+ // Kotlin
+ implementation(Dependencies.Kotlin.COROUTINES)
+}
diff --git a/wisefy/accesspoints/gradle.lockfile b/wisefy/accesspoints/gradle.lockfile
new file mode 100644
index 00000000..00ca553d
--- /dev/null
+++ b/wisefy/accesspoints/gradle.lockfile
@@ -0,0 +1,49 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.annotation:annotation-experimental:1.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.annotation:annotation:1.5.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.appcompat:appcompat-resources:1.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.appcompat:appcompat:1.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.arch.core:core-runtime:2.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.collection:collection:1.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.concurrent:concurrent-futures:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.core:core-ktx:1.8.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.core:core:1.8.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.cursoradapter:cursoradapter:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.customview:customview:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.drawerlayout:drawerlayout:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.emoji2:emoji2-views-helper:1.2.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.emoji2:emoji2:1.2.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.fragment:fragment:1.3.6=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.interpolator:interpolator:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-process:2.4.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel-savedstate:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.loader:loader:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.resourceinspection:resourceinspection-annotation:1.0.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.savedstate:savedstate:1.2.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.startup:startup-runtime:1.1.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.tracing:tracing:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.vectordrawable:vectordrawable-animated:1.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.vectordrawable:vectordrawable:1.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+com.google.guava:listenablefuture:1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jacoco:org.jacoco.agent:0.8.8=debugRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.7.10=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.21=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.21=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib:1.7.10=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.4=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.4=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains:annotations:13.0=debugRuntimeClasspath,releaseRuntimeClasspath
+empty=
diff --git a/wisefy/accesspoints/src/main/AndroidManifest.xml b/wisefy/accesspoints/src/main/AndroidManifest.xml
new file mode 100644
index 00000000..7587d9c3
--- /dev/null
+++ b/wisefy/accesspoints/src/main/AndroidManifest.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/wisefy/accesspoints/src/main/java/com/isupatches/android/wisefy/accesspoints/AccessPointsApi.kt b/wisefy/accesspoints/src/main/java/com/isupatches/android/wisefy/accesspoints/AccessPointsApi.kt
new file mode 100644
index 00000000..b1267aba
--- /dev/null
+++ b/wisefy/accesspoints/src/main/java/com/isupatches/android/wisefy/accesspoints/AccessPointsApi.kt
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.accesspoints
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import androidx.annotation.RequiresPermission
+import com.isupatches.android.wisefy.accesspoints.entities.GetAccessPointsQuery
+import com.isupatches.android.wisefy.accesspoints.entities.GetAccessPointsResult
+
+/**
+ * A set of synchronous APIs for getting and searching for nearby access points.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+interface AccessPointsApi {
+
+ /**
+ * A synchronous API to query for a list of nearby access points.
+ *
+ * @param query The details of the query to get nearby access points
+ *
+ * @see GetAccessPointsQuery
+ * @see GetAccessPointsResult
+ *
+ * @return GetNearbyAccessPointsResult - The result of getting nearby access points
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @RequiresPermission(ACCESS_FINE_LOCATION)
+ fun getAccessPoints(query: GetAccessPointsQuery): GetAccessPointsResult
+}
diff --git a/wisefy/accesspoints/src/main/java/com/isupatches/android/wisefy/accesspoints/AccessPointsApiAsync.kt b/wisefy/accesspoints/src/main/java/com/isupatches/android/wisefy/accesspoints/AccessPointsApiAsync.kt
new file mode 100644
index 00000000..b5837300
--- /dev/null
+++ b/wisefy/accesspoints/src/main/java/com/isupatches/android/wisefy/accesspoints/AccessPointsApiAsync.kt
@@ -0,0 +1,45 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.accesspoints
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import androidx.annotation.RequiresPermission
+import com.isupatches.android.wisefy.accesspoints.callbacks.GetAccessPointsCallbacks
+import com.isupatches.android.wisefy.accesspoints.entities.GetAccessPointsQuery
+
+/**
+ * A set of asynchronous APIs for getting and searching for nearby access points.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+interface AccessPointsApiAsync {
+
+ /**
+ * An asynchronous API to query for a list of nearby access points.
+ *
+ * @param query The details of the query to get nearby access points
+ * @param callbacks The optional callbacks for when nearby access points are returned
+ *
+ * @see GetAccessPointsQuery
+ * @see GetAccessPointsCallbacks
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @RequiresPermission(ACCESS_FINE_LOCATION)
+ fun getAccessPoints(query: GetAccessPointsQuery, callbacks: GetAccessPointsCallbacks?)
+}
diff --git a/wisefy/accesspoints/src/main/java/com/isupatches/android/wisefy/accesspoints/AccessPointsDelegate.kt b/wisefy/accesspoints/src/main/java/com/isupatches/android/wisefy/accesspoints/AccessPointsDelegate.kt
new file mode 100644
index 00000000..c98ab647
--- /dev/null
+++ b/wisefy/accesspoints/src/main/java/com/isupatches/android/wisefy/accesspoints/AccessPointsDelegate.kt
@@ -0,0 +1,27 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.accesspoints
+
+/**
+ * A delegate for synchronous and asynchronous access point APIs.
+ *
+ * @see AccessPointsApi
+ * @see AccessPointsApiAsync
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+interface AccessPointsDelegate : AccessPointsApi, AccessPointsApiAsync
diff --git a/wisefy/accesspoints/src/main/java/com/isupatches/android/wisefy/accesspoints/WisefyAccessPointsDelegate.kt b/wisefy/accesspoints/src/main/java/com/isupatches/android/wisefy/accesspoints/WisefyAccessPointsDelegate.kt
new file mode 100644
index 00000000..cc6fe99d
--- /dev/null
+++ b/wisefy/accesspoints/src/main/java/com/isupatches/android/wisefy/accesspoints/WisefyAccessPointsDelegate.kt
@@ -0,0 +1,88 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.accesspoints
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import android.net.wifi.WifiManager
+import androidx.annotation.RequiresPermission
+import com.isupatches.android.wisefy.accesspoints.callbacks.GetAccessPointsCallbacks
+import com.isupatches.android.wisefy.accesspoints.entities.GetAccessPointsQuery
+import com.isupatches.android.wisefy.accesspoints.entities.GetAccessPointsResult
+import com.isupatches.android.wisefy.accesspoints.os.adapters.DefaultAccessPointsAdapter
+import com.isupatches.android.wisefy.core.coroutines.CoroutineDispatcherProvider
+import com.isupatches.android.wisefy.core.coroutines.createBaseCoroutineExceptionHandler
+import com.isupatches.android.wisefy.core.logging.WisefyLogger
+import kotlinx.coroutines.CoroutineScope
+import kotlinx.coroutines.launch
+import kotlinx.coroutines.withContext
+
+/**
+ * An internal Wisefy delegate for getting and searching for nearby access points.
+ *
+ * @param logger The [WisefyLogger] instance to use
+ * @param wifiManager The WifiManager instance to use
+ * @property coroutineDispatcherProvider The [CoroutineDispatcherProvider] instance to use
+ * @property scope The coroutine scope to use
+ * @property adapter The adapter instance to use for access point queries (determined based on the Android OS level)
+ *
+ * @see AccessPointsApi
+ * @see AccessPointsDelegate
+ * @see CoroutineDispatcherProvider
+ * @see DefaultAccessPointsAdapter
+ * @see WisefyLogger
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+class WisefyAccessPointsDelegate(
+ logger: WisefyLogger,
+ wifiManager: WifiManager,
+ private val coroutineDispatcherProvider: CoroutineDispatcherProvider,
+ private val scope: CoroutineScope,
+ private val adapter: AccessPointsApi = DefaultAccessPointsAdapter(wifiManager, logger)
+) : AccessPointsDelegate {
+
+ init {
+ logger.d(LOG_TAG, "WisefyAccessPointsDelegate adapter is: ${adapter::class.java.simpleName}")
+ }
+
+ @RequiresPermission(ACCESS_FINE_LOCATION)
+ override fun getAccessPoints(query: GetAccessPointsQuery): GetAccessPointsResult {
+ return adapter.getAccessPoints(query)
+ }
+
+ @RequiresPermission(ACCESS_FINE_LOCATION)
+ override fun getAccessPoints(
+ query: GetAccessPointsQuery,
+ callbacks: GetAccessPointsCallbacks?
+ ) {
+ scope.launch(createBaseCoroutineExceptionHandler(callbacks)) {
+ val result = adapter.getAccessPoints(query)
+ withContext(coroutineDispatcherProvider.main) {
+ when (result) {
+ is GetAccessPointsResult.Empty -> callbacks?.onNoNearbyAccessPoints()
+ is GetAccessPointsResult.AccessPoints -> {
+ callbacks?.onNearbyAccessPointsRetrieved(result.value)
+ }
+ }
+ }
+ }
+ }
+
+ companion object {
+ private const val LOG_TAG = "WisefyAccessPointsDelegate"
+ }
+}
diff --git a/wisefy/accesspoints/src/main/java/com/isupatches/android/wisefy/accesspoints/callbacks/GetAccessPointsCallbacks.kt b/wisefy/accesspoints/src/main/java/com/isupatches/android/wisefy/accesspoints/callbacks/GetAccessPointsCallbacks.kt
new file mode 100644
index 00000000..cb4f2e7b
--- /dev/null
+++ b/wisefy/accesspoints/src/main/java/com/isupatches/android/wisefy/accesspoints/callbacks/GetAccessPointsCallbacks.kt
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.accesspoints.callbacks
+
+import com.isupatches.android.wisefy.accesspoints.entities.AccessPointData
+import com.isupatches.android.wisefy.accesspoints.entities.GetAccessPointsQuery
+import com.isupatches.android.wisefy.core.base.BaseWisefyCallbacks
+
+/**
+ * A set of callbacks for querying access points.
+ *
+ * @see BaseWisefyCallbacks
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+interface GetAccessPointsCallbacks : BaseWisefyCallbacks {
+
+ /**
+ * A callback triggered when there are access points matching the [GetAccessPointsQuery].
+ *
+ * *NOTES*
+ * - Will not return an empty list due to [onNoNearbyAccessPoints]
+ *
+ * @param accessPoints The non-empty list of access points found by the query
+ *
+ * @see AccessPointData
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ fun onNearbyAccessPointsRetrieved(accessPoints: List)
+
+ /**
+ * A callback triggered when there are no access points found for the [GetAccessPointsQuery].
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ fun onNoNearbyAccessPoints()
+}
diff --git a/wisefy/accesspoints/src/main/java/com/isupatches/android/wisefy/accesspoints/entities/AccessPointData.kt b/wisefy/accesspoints/src/main/java/com/isupatches/android/wisefy/accesspoints/entities/AccessPointData.kt
new file mode 100644
index 00000000..297aee8b
--- /dev/null
+++ b/wisefy/accesspoints/src/main/java/com/isupatches/android/wisefy/accesspoints/entities/AccessPointData.kt
@@ -0,0 +1,65 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.accesspoints.entities
+
+import android.net.wifi.ScanResult
+import com.isupatches.android.wisefy.core.constants.MAX_FREQUENCY_5GHZ
+import com.isupatches.android.wisefy.core.constants.MIN_FREQUENCY_5GHZ
+
+/**
+ * A data representation of an Access Point.
+ *
+ * @property rawValue The direct Android OS information about the access point
+ * @property ssid A convenience property to expose the SSID of the access point from the [rawValue]
+ * @property bssid A convenience property to expose the BSSID of the access point from the [rawValue]
+ * @property frequency A convenience property to expose the frequency of the access point from the [rawValue]
+ * @property rssi A convenience property to expose the RSSI level of the access point from the [rawValue]
+ * @property is5gHz A convenience property to check if the access point is 5gHz based on its [rawValue]
+ * @property isSecure A convenience property to check if the access point has any of the [SecurityCapability] values
+ * listed based on its [rawValue]
+ *
+ * @see SecurityCapability
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+data class AccessPointData(
+ val rawValue: ScanResult,
+ val ssid: String,
+ val bssid: String,
+ val frequency: Int = rawValue.frequency,
+ val rssi: Int = rawValue.level,
+ val is5gHz: Boolean = frequency in MIN_FREQUENCY_5GHZ + 1 until MAX_FREQUENCY_5GHZ,
+ val isSecure: Boolean = SecurityCapability.ALL.any { rawValue.capabilities.contains(it.stringValue) }
+)
+
+/**
+ * An extension function to check if the given access point has a certain [SecurityCapability] based on its rawValue.
+ *
+ * @receiver [AccessPointData]
+ *
+ * @param securityCapability The given [SecurityCapability] to check the access point for
+ *
+ * @see SecurityCapability
+ *
+ * @return Boolean - True if the access point contains the [SecurityCapability], otherwise false
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+fun AccessPointData.containSecurityCapability(securityCapability: SecurityCapability): Boolean {
+ return rawValue.capabilities.contains(securityCapability.stringValue)
+}
diff --git a/wisefy/accesspoints/src/main/java/com/isupatches/android/wisefy/accesspoints/entities/GetAccessPointsQuery.kt b/wisefy/accesspoints/src/main/java/com/isupatches/android/wisefy/accesspoints/entities/GetAccessPointsQuery.kt
new file mode 100644
index 00000000..4c5ba56a
--- /dev/null
+++ b/wisefy/accesspoints/src/main/java/com/isupatches/android/wisefy/accesspoints/entities/GetAccessPointsQuery.kt
@@ -0,0 +1,78 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.accesspoints.entities
+
+/**
+ * A set of classes or objects that represent a query for access points.
+ *
+ * @property filterDuplicates Whether nearby access points with the same SSID but lower RSSI levels should be excluded
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+sealed class GetAccessPointsQuery(open val filterDuplicates: Boolean) {
+
+ /**
+ * A representation of a query to get all nearby access points.
+ *
+ * @property filterDuplicates Whether nearby access points with the same SSID but lower RSSI levels should be
+ * excluded
+ *
+ * @see GetAccessPointsQuery
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ data class All(override val filterDuplicates: Boolean = true) : GetAccessPointsQuery(filterDuplicates)
+
+ /**
+ * A representation of a query to get access points filtered by a regex for their SSID.
+ *
+ * @property regex The regex to use when matching the SSID
+ * @property timeoutInMillis The optional timeout in milliseconds to wait for matching access points
+ * @property filterDuplicates Whether nearby access points with the same SSID but lower RSSI levels should be
+ * excluded
+ *
+ * @see GetAccessPointsQuery
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ data class BySSID(
+ val regex: String,
+ val timeoutInMillis: Int? = null,
+ override val filterDuplicates: Boolean = true
+ ) : GetAccessPointsQuery(filterDuplicates)
+
+ /**
+ * A representation of a query to get access points filtered by a regex for their BSSID.
+ *
+ * @property regex The regex to use when matching the BSSID
+ * @property timeoutInMillis The optional timeout in milliseconds to wait for matching access points
+ * @property filterDuplicates Whether nearby access points with the same SSID but lower RSSI levels should be
+ * excluded
+ *
+ * @see GetAccessPointsQuery
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ data class ByBSSID(
+ val regex: String,
+ val timeoutInMillis: Int? = null,
+ override val filterDuplicates: Boolean = true
+ ) : GetAccessPointsQuery(filterDuplicates)
+}
diff --git a/wisefy/accesspoints/src/main/java/com/isupatches/android/wisefy/accesspoints/entities/GetAccessPointsResult.kt b/wisefy/accesspoints/src/main/java/com/isupatches/android/wisefy/accesspoints/entities/GetAccessPointsResult.kt
new file mode 100644
index 00000000..05db67aa
--- /dev/null
+++ b/wisefy/accesspoints/src/main/java/com/isupatches/android/wisefy/accesspoints/entities/GetAccessPointsResult.kt
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.accesspoints.entities
+
+/**
+ * A set of classes and objects that represent a result while querying for access points.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+sealed class GetAccessPointsResult {
+
+ /**
+ * A representation for when there are no access points matching the [GetAccessPointsQuery].
+ *
+ * @see GetAccessPointsResult
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ object Empty : GetAccessPointsResult()
+
+ /**
+ * A representation for when there are one or more access points matching the [GetAccessPointsQuery].
+ *
+ * @property value This list of matching access points
+ *
+ * @see AccessPointData
+ * @see GetAccessPointsResult
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ data class AccessPoints(val value: List) : GetAccessPointsResult()
+}
diff --git a/wisefy/accesspoints/src/main/java/com/isupatches/android/wisefy/accesspoints/entities/SecurityCapability.kt b/wisefy/accesspoints/src/main/java/com/isupatches/android/wisefy/accesspoints/entities/SecurityCapability.kt
new file mode 100644
index 00000000..6a7dbe9c
--- /dev/null
+++ b/wisefy/accesspoints/src/main/java/com/isupatches/android/wisefy/accesspoints/entities/SecurityCapability.kt
@@ -0,0 +1,86 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.accesspoints.entities
+
+/**
+ * A set of supported security capabilities.
+ *
+ * @property stringValue The string value of the security capability
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+enum class SecurityCapability(val stringValue: String) {
+ /**
+ * A representation of the EAP security capability.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ EAP("EAP"),
+
+ /**
+ * A representation of the PSK security capability.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ PSK("PSK"),
+
+ /**
+ * A representation of the WEP security capability.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ WEP("WEP"),
+
+ /**
+ * A representation of the WPA security capability.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ WPA("WPA"),
+
+ /**
+ * A representation of the WPA2 security capability.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ WPA2("WPA2"),
+
+ /**
+ * A representation of the WPA3 security capability.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ WPA3("WPA3");
+
+ companion object {
+ /**
+ * A list comprised of all of the representations of security capabilities.
+ *
+ * @see SecurityCapability
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ val ALL: List = values().asList()
+ }
+}
diff --git a/wisefy/accesspoints/src/main/java/com/isupatches/android/wisefy/accesspoints/os/adapters/DefaultAccessPointsAdapter.kt b/wisefy/accesspoints/src/main/java/com/isupatches/android/wisefy/accesspoints/os/adapters/DefaultAccessPointsAdapter.kt
new file mode 100644
index 00000000..506d9ebb
--- /dev/null
+++ b/wisefy/accesspoints/src/main/java/com/isupatches/android/wisefy/accesspoints/os/adapters/DefaultAccessPointsAdapter.kt
@@ -0,0 +1,70 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.accesspoints.os.adapters
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import android.net.wifi.WifiManager
+import androidx.annotation.RequiresPermission
+import com.isupatches.android.wisefy.accesspoints.AccessPointsApi
+import com.isupatches.android.wisefy.accesspoints.entities.GetAccessPointsQuery
+import com.isupatches.android.wisefy.accesspoints.entities.GetAccessPointsResult
+import com.isupatches.android.wisefy.accesspoints.os.apis.DefaultAccessPointsApi
+import com.isupatches.android.wisefy.accesspoints.os.impls.DefaultAccessPointsApiImpl
+import com.isupatches.android.wisefy.core.logging.WisefyLogger
+
+/**
+ * A default adapter for querying for access points.
+ *
+ * @param wifiManager The WifiManager instance to use
+ * @param logger The [WisefyLogger] instance to use
+ * @property api The OS level API instance to use
+ *
+ * @see AccessPointsApi
+ * @see DefaultAccessPointsApi
+ * @see DefaultAccessPointsApiImpl
+ * @see WisefyLogger
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+internal class DefaultAccessPointsAdapter(
+ wifiManager: WifiManager,
+ logger: WisefyLogger,
+ private val api: DefaultAccessPointsApi = DefaultAccessPointsApiImpl(wifiManager, logger)
+) : AccessPointsApi {
+
+ @RequiresPermission(ACCESS_FINE_LOCATION)
+ override fun getAccessPoints(query: GetAccessPointsQuery): GetAccessPointsResult {
+ val accessPoints = when (query) {
+ is GetAccessPointsQuery.All -> api.getNearbyAccessPoints(filterDuplicates = query.filterDuplicates)
+ is GetAccessPointsQuery.BySSID -> api.searchForAccessPointsBySSID(
+ regex = query.regex,
+ timeoutInMillis = query.timeoutInMillis,
+ filterDuplicates = query.filterDuplicates
+ )
+ is GetAccessPointsQuery.ByBSSID -> api.searchForAccessPointsByBSSID(
+ regex = query.regex,
+ timeoutInMillis = query.timeoutInMillis,
+ filterDuplicates = query.filterDuplicates
+ )
+ }
+ return if (accessPoints.isNotEmpty()) {
+ GetAccessPointsResult.AccessPoints(value = accessPoints)
+ } else {
+ GetAccessPointsResult.Empty
+ }
+ }
+}
diff --git a/wisefy/accesspoints/src/main/java/com/isupatches/android/wisefy/accesspoints/os/apis/DefaultAccessPointsApi.kt b/wisefy/accesspoints/src/main/java/com/isupatches/android/wisefy/accesspoints/os/apis/DefaultAccessPointsApi.kt
new file mode 100644
index 00000000..4b943d83
--- /dev/null
+++ b/wisefy/accesspoints/src/main/java/com/isupatches/android/wisefy/accesspoints/os/apis/DefaultAccessPointsApi.kt
@@ -0,0 +1,86 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.accesspoints.os.apis
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import androidx.annotation.RequiresPermission
+import com.isupatches.android.wisefy.accesspoints.entities.AccessPointData
+
+/**
+ * A default internal API for querying access points through the Android OS.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+internal interface DefaultAccessPointsApi {
+
+ /**
+ * An internal API to get a list of nearby access points.
+ *
+ * @param filterDuplicates Whether access points with the same SSID but lower RSSI levels should be excluded
+ *
+ * @see AccessPointData
+ *
+ * @return List - List of access points or empty list if there are none
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @RequiresPermission(ACCESS_FINE_LOCATION)
+ fun getNearbyAccessPoints(filterDuplicates: Boolean): List
+
+ /**
+ * An internal API to search for nearby access points filtered by SSID.
+ *
+ * @param regex The regex to use when matching the access point's SSID
+ * @param timeoutInMillis The optional timeout in milliseconds to wait for matching access points
+ * @param filterDuplicates Whether access points with the same SSID but lower RSSI levels should be excluded
+ *
+ * @see AccessPointData
+ *
+ * @return List - The list of matching access points or empty list if there are no matches
+ * *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @RequiresPermission(ACCESS_FINE_LOCATION)
+ fun searchForAccessPointsBySSID(
+ regex: String,
+ timeoutInMillis: Int?,
+ filterDuplicates: Boolean
+ ): List
+
+ /**
+ * An internal API to search for nearby access points by BSSID.
+ *
+ * @param regex The regex to use when matching the access point's BSSID
+ * @param timeoutInMillis The optional timeout in milliseconds to wait for matching access points
+ * @param filterDuplicates Whether access points with the same SSID but lower RSSI levels should be excluded
+ *
+ * @see AccessPointData
+ *
+ * @return List - The list of matching access points or empty list if there are no matches
+ * *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @RequiresPermission(ACCESS_FINE_LOCATION)
+ fun searchForAccessPointsByBSSID(
+ regex: String,
+ timeoutInMillis: Int?,
+ filterDuplicates: Boolean
+ ): List
+}
diff --git a/wisefy/accesspoints/src/main/java/com/isupatches/android/wisefy/accesspoints/os/impls/DefaultAccessPointsApiImpl.kt b/wisefy/accesspoints/src/main/java/com/isupatches/android/wisefy/accesspoints/os/impls/DefaultAccessPointsApiImpl.kt
new file mode 100644
index 00000000..1db90a5b
--- /dev/null
+++ b/wisefy/accesspoints/src/main/java/com/isupatches/android/wisefy/accesspoints/os/impls/DefaultAccessPointsApiImpl.kt
@@ -0,0 +1,181 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.accesspoints.os.impls
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import android.Manifest.permission.ACCESS_WIFI_STATE
+import android.net.wifi.ScanResult
+import android.net.wifi.WifiManager
+import androidx.annotation.RequiresPermission
+import com.isupatches.android.wisefy.accesspoints.entities.AccessPointData
+import com.isupatches.android.wisefy.accesspoints.os.apis.DefaultAccessPointsApi
+import com.isupatches.android.wisefy.core.bssidWithoutQuotes
+import com.isupatches.android.wisefy.core.hasBSSIDMatchingRegex
+import com.isupatches.android.wisefy.core.hasSSIDMatchingRegex
+import com.isupatches.android.wisefy.core.logging.WisefyLogger
+import com.isupatches.android.wisefy.core.ssidWithoutQuotes
+import com.isupatches.android.wisefy.core.util.withTimeout
+
+/**
+ * A default internal implementation for querying for access points through the Android OS.
+ *
+ * @property wifiManager The WifiManager instance to use
+ * @property logger The [WisefyLogger] instance to use
+ *
+ * @see DefaultAccessPointsApi
+ * @see WisefyLogger
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+internal class DefaultAccessPointsApiImpl(
+ private val wifiManager: WifiManager,
+ private val logger: WisefyLogger
+) : DefaultAccessPointsApi {
+
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+ override fun getNearbyAccessPoints(filterDuplicates: Boolean): List {
+ val allAccessPoints = getLastScanResults()
+ if (allAccessPoints.isEmpty()) {
+ return emptyList()
+ }
+
+ return if (filterDuplicates) {
+ removeEntriesWithLowerSignalStrength(accessPoints = allAccessPoints)
+ } else {
+ allAccessPoints.map { scanResult ->
+ AccessPointData(
+ rawValue = scanResult,
+ ssid = scanResult.ssidWithoutQuotes,
+ bssid = scanResult.bssidWithoutQuotes
+ )
+ }
+ }
+ }
+
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+ override fun searchForAccessPointsBySSID(
+ regex: String,
+ timeoutInMillis: Int?,
+ filterDuplicates: Boolean
+ ): List {
+ return searchForMultipleAccessPoints(
+ filterDuplicates = filterDuplicates,
+ timeoutInMillis = timeoutInMillis
+ ) { accessPoint ->
+ accessPoint.hasSSIDMatchingRegex(regex)
+ }
+ }
+
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+ override fun searchForAccessPointsByBSSID(
+ regex: String,
+ timeoutInMillis: Int?,
+ filterDuplicates: Boolean
+ ): List {
+ return searchForMultipleAccessPoints(
+ filterDuplicates = filterDuplicates,
+ timeoutInMillis = timeoutInMillis
+ ) { accessPoint ->
+ accessPoint.hasBSSIDMatchingRegex(regex)
+ }
+ }
+
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+ private fun filterAccessPoints(
+ filterDuplicates: Boolean,
+ matcher: (ScanResult) -> Boolean
+ ): List {
+ val allAccessPoints = getLastScanResults()
+ if (allAccessPoints.isEmpty()) {
+ return emptyList()
+ }
+ return if (filterDuplicates) {
+ removeEntriesWithLowerSignalStrength(allAccessPoints.filter(matcher))
+ } else {
+ allAccessPoints.filter(matcher).map {
+ AccessPointData(rawValue = it, ssid = it.ssidWithoutQuotes, bssid = it.bssidWithoutQuotes)
+ }
+ }
+ }
+
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+ private fun getLastScanResults(): List {
+ // For SDK 23 and above, devices will be limited on ability to trigger scans and it's been
+ // indicated by Android Google docs that eventually apps will no longer be able to trigger a
+ // scan to prevent abusive apps, therefore for WiseFy we're going to just use the last
+ // set of scan results...the downside is this may take some time to be updated.
+ return wifiManager.scanResults ?: emptyList()
+ }
+
+ private fun removeEntriesWithLowerSignalStrength(accessPoints: List): List {
+ val accessPointsToReturn = mutableMapOf()
+ accessPoints.forEach { accessPoint ->
+ if (accessPointsToReturn.containsKey(accessPoint.ssidWithoutQuotes)) {
+ val previousAccessPoint = requireNotNull(accessPointsToReturn[accessPoint.ssidWithoutQuotes])
+ val comparisonResult = WifiManager.compareSignalLevel(accessPoint.level, previousAccessPoint.rssi)
+ logger.d(
+ LOG_TAG,
+ "Comparing. SSID 1: %s, RSSI 1: %d, SSID 2: %s, RSSI 2: %d, comparison result: %d",
+ accessPoint.ssidWithoutQuotes,
+ accessPoint.level,
+ previousAccessPoint.ssid,
+ previousAccessPoint.rssi,
+ comparisonResult
+ )
+ if (comparisonResult > 0) {
+ logger.d(LOG_TAG, "Found network with same SSID but higher RSSI, swapping")
+ accessPointsToReturn[accessPoint.ssidWithoutQuotes] = AccessPointData(
+ rawValue = accessPoint,
+ ssid = accessPoint.ssidWithoutQuotes,
+ bssid = accessPoint.bssidWithoutQuotes
+ )
+ }
+ } else {
+ val accessPointData = AccessPointData(
+ rawValue = accessPoint,
+ ssid = accessPoint.ssidWithoutQuotes,
+ bssid = accessPoint.bssidWithoutQuotes
+ )
+ logger.d(LOG_TAG, "Found new network. $accessPointData")
+ accessPointsToReturn[accessPoint.ssidWithoutQuotes] = accessPointData
+ }
+ }
+ return accessPointsToReturn.values.toList()
+ }
+
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+ private fun searchForMultipleAccessPoints(
+ filterDuplicates: Boolean,
+ timeoutInMillis: Int?,
+ matcher: (ScanResult) -> Boolean
+ ): List {
+ var filteredAccessPoints: List = emptyList()
+ if (timeoutInMillis != null) {
+ withTimeout(timeoutInMillis) {
+ filteredAccessPoints = filterAccessPoints(filterDuplicates, matcher)
+ filteredAccessPoints.isNotEmpty()
+ }
+ } else {
+ filteredAccessPoints = filterAccessPoints(filterDuplicates, matcher)
+ }
+ return filteredAccessPoints
+ }
+
+ companion object {
+ private const val LOG_TAG = "DefaultAccessPointsApiImpl"
+ }
+}
diff --git a/wisefy/addnetwork/.gitignore b/wisefy/addnetwork/.gitignore
new file mode 100644
index 00000000..796b96d1
--- /dev/null
+++ b/wisefy/addnetwork/.gitignore
@@ -0,0 +1 @@
+/build
diff --git a/wisefy/addnetwork/build.gradle.kts b/wisefy/addnetwork/build.gradle.kts
new file mode 100644
index 00000000..d6666c58
--- /dev/null
+++ b/wisefy/addnetwork/build.gradle.kts
@@ -0,0 +1,26 @@
+import com.isupatches.android.wisefy.build.BuildVersions
+import com.isupatches.android.wisefy.build.Dependencies
+import com.isupatches.android.wisefy.build.PublishingConstants
+
+plugins {
+ id("com.android.library")
+ id("com.isupatches.android.wisefy.build.plugins.BaseGradleModulePlugin")
+ id("com.isupatches.android.wisefy.build.plugins.DocumentationPlugin")
+ id("com.isupatches.android.wisefy.build.plugins.PublishingPlugin")
+ id("kotlin-android")
+}
+
+group = PublishingConstants.GROUP_ID
+version = BuildVersions.MODULE_VERSION_NAME
+
+android {
+ namespace = "com.isupatches.android.wisefy.addnetwork"
+ testNamespace = "com.isupatches.android.wisefy.addnetwork.test"
+}
+
+dependencies {
+ implementation(project(":wisefy:core"))
+
+ // Kotlin
+ implementation(Dependencies.Kotlin.COROUTINES)
+}
diff --git a/wisefy/addnetwork/gradle.lockfile b/wisefy/addnetwork/gradle.lockfile
new file mode 100644
index 00000000..00ca553d
--- /dev/null
+++ b/wisefy/addnetwork/gradle.lockfile
@@ -0,0 +1,49 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.annotation:annotation-experimental:1.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.annotation:annotation:1.5.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.appcompat:appcompat-resources:1.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.appcompat:appcompat:1.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.arch.core:core-runtime:2.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.collection:collection:1.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.concurrent:concurrent-futures:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.core:core-ktx:1.8.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.core:core:1.8.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.cursoradapter:cursoradapter:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.customview:customview:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.drawerlayout:drawerlayout:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.emoji2:emoji2-views-helper:1.2.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.emoji2:emoji2:1.2.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.fragment:fragment:1.3.6=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.interpolator:interpolator:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-process:2.4.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel-savedstate:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.loader:loader:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.resourceinspection:resourceinspection-annotation:1.0.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.savedstate:savedstate:1.2.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.startup:startup-runtime:1.1.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.tracing:tracing:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.vectordrawable:vectordrawable-animated:1.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.vectordrawable:vectordrawable:1.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+com.google.guava:listenablefuture:1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jacoco:org.jacoco.agent:0.8.8=debugRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.7.10=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.21=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.21=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib:1.7.10=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.4=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.4=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains:annotations:13.0=debugRuntimeClasspath,releaseRuntimeClasspath
+empty=
diff --git a/wisefy/addnetwork/src/main/AndroidManifest.xml b/wisefy/addnetwork/src/main/AndroidManifest.xml
new file mode 100644
index 00000000..743c0c9b
--- /dev/null
+++ b/wisefy/addnetwork/src/main/AndroidManifest.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/wisefy/addnetwork/src/main/java/com/isupatches/android/wisefy/addnetwork/AddNetworkApi.kt b/wisefy/addnetwork/src/main/java/com/isupatches/android/wisefy/addnetwork/AddNetworkApi.kt
new file mode 100644
index 00000000..f076e819
--- /dev/null
+++ b/wisefy/addnetwork/src/main/java/com/isupatches/android/wisefy/addnetwork/AddNetworkApi.kt
@@ -0,0 +1,47 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.addnetwork
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import android.Manifest.permission.CHANGE_WIFI_STATE
+import androidx.annotation.RequiresPermission
+import com.isupatches.android.wisefy.addnetwork.entities.AddNetworkRequest
+import com.isupatches.android.wisefy.addnetwork.entities.AddNetworkResult
+
+/**
+ * A set of synchronous APIs related to adding networks.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+interface AddNetworkApi {
+
+ /**
+ * A synchronous API for adding a network.
+ *
+ * @param request The details of the request to add a network
+ *
+ * @see AddNetworkRequest
+ * @see AddNetworkResult
+ *
+ * @return AddNetworkResult - The result while adding a network
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
+ fun addNetwork(request: AddNetworkRequest): AddNetworkResult
+}
diff --git a/wisefy/addnetwork/src/main/java/com/isupatches/android/wisefy/addnetwork/AddNetworkApiAsync.kt b/wisefy/addnetwork/src/main/java/com/isupatches/android/wisefy/addnetwork/AddNetworkApiAsync.kt
new file mode 100644
index 00000000..b9797ec2
--- /dev/null
+++ b/wisefy/addnetwork/src/main/java/com/isupatches/android/wisefy/addnetwork/AddNetworkApiAsync.kt
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.addnetwork
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import android.Manifest.permission.CHANGE_WIFI_STATE
+import androidx.annotation.RequiresPermission
+import com.isupatches.android.wisefy.addnetwork.callbacks.AddNetworkCallbacks
+import com.isupatches.android.wisefy.addnetwork.entities.AddNetworkRequest
+
+/**
+ * A set of asynchronous APIs related to adding networks.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+interface AddNetworkApiAsync {
+
+ /**
+ * An asynchronous API for adding a network.
+ *
+ * @param request The details of the request to add a network
+ * @param callbacks The optional callbacks for when the result for adding a network is returned
+ *
+ * @see AddNetworkRequest
+ * @see AddNetworkCallbacks
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
+ fun addNetwork(request: AddNetworkRequest, callbacks: AddNetworkCallbacks?)
+}
diff --git a/wisefy/addnetwork/src/main/java/com/isupatches/android/wisefy/addnetwork/AddNetworkDelegate.kt b/wisefy/addnetwork/src/main/java/com/isupatches/android/wisefy/addnetwork/AddNetworkDelegate.kt
new file mode 100644
index 00000000..59d73c94
--- /dev/null
+++ b/wisefy/addnetwork/src/main/java/com/isupatches/android/wisefy/addnetwork/AddNetworkDelegate.kt
@@ -0,0 +1,27 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.addnetwork
+
+/**
+ * A delegate for synchronous and asynchronous APIs to add networks.
+ *
+ * @see AddNetworkApi
+ * @see AddNetworkApiAsync
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+interface AddNetworkDelegate : AddNetworkApi, AddNetworkApiAsync
diff --git a/wisefy/addnetwork/src/main/java/com/isupatches/android/wisefy/addnetwork/WisefyAddNetworkDelegate.kt b/wisefy/addnetwork/src/main/java/com/isupatches/android/wisefy/addnetwork/WisefyAddNetworkDelegate.kt
new file mode 100644
index 00000000..35931394
--- /dev/null
+++ b/wisefy/addnetwork/src/main/java/com/isupatches/android/wisefy/addnetwork/WisefyAddNetworkDelegate.kt
@@ -0,0 +1,106 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.addnetwork
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import android.Manifest.permission.CHANGE_WIFI_STATE
+import android.net.wifi.WifiManager
+import androidx.annotation.RequiresPermission
+import com.isupatches.android.wisefy.addnetwork.callbacks.AddNetworkCallbacks
+import com.isupatches.android.wisefy.addnetwork.entities.AddNetworkRequest
+import com.isupatches.android.wisefy.addnetwork.entities.AddNetworkResult
+import com.isupatches.android.wisefy.addnetwork.os.adapters.Android29AddNetworkAdapter
+import com.isupatches.android.wisefy.addnetwork.os.adapters.Android30AddNetworkAdapter
+import com.isupatches.android.wisefy.addnetwork.os.adapters.DefaultAddNetworkAdapter
+import com.isupatches.android.wisefy.core.assertions.WisefyAssertions
+import com.isupatches.android.wisefy.core.coroutines.CoroutineDispatcherProvider
+import com.isupatches.android.wisefy.core.coroutines.createBaseCoroutineExceptionHandler
+import com.isupatches.android.wisefy.core.logging.WisefyLogger
+import com.isupatches.android.wisefy.core.util.SdkUtil
+import kotlinx.coroutines.CoroutineScope
+import kotlinx.coroutines.launch
+import kotlinx.coroutines.sync.Mutex
+import kotlinx.coroutines.sync.withLock
+import kotlinx.coroutines.withContext
+
+/**
+ * An internal Wisefy delegate for adding networks.
+ *
+ * @param assertions The [WisefyAssertions] instance to use
+ * @param logger The [WisefyLogger] instance to use
+ * @param sdkUtil The [SdkUtil] instance to use
+ * @param wifiManager The WifiManager instance to use
+ * @property coroutineDispatcherProvider The [CoroutineDispatcherProvider] instance to use
+ * @property scope The coroutine scope to use
+ * @property savedNetworkMutex The mutex for all read/write operations involving saved networks
+ * @property adapter The adapter instance to use for adding a network (determined based on the Android OS level)
+ *
+ * @see AddNetworkApi
+ * @see AddNetworkDelegate
+ * @see Android30AddNetworkAdapter
+ * @see Android29AddNetworkAdapter
+ * @see CoroutineDispatcherProvider
+ * @see DefaultAddNetworkAdapter
+ * @see SdkUtil
+ * @see WisefyAssertions
+ * @see WisefyLogger
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+class WisefyAddNetworkDelegate(
+ assertions: WisefyAssertions,
+ logger: WisefyLogger,
+ sdkUtil: SdkUtil,
+ wifiManager: WifiManager,
+ private val coroutineDispatcherProvider: CoroutineDispatcherProvider,
+ private val scope: CoroutineScope,
+ private val savedNetworkMutex: Mutex,
+ private val adapter: AddNetworkApi = when {
+ sdkUtil.isAtLeastR() -> Android30AddNetworkAdapter(wifiManager, logger, assertions)
+ sdkUtil.isAtLeastQ() -> Android29AddNetworkAdapter(assertions)
+ else -> DefaultAddNetworkAdapter(wifiManager, logger, assertions)
+ }
+) : AddNetworkDelegate {
+
+ init {
+ logger.d(LOG_TAG, "WisefyAddNetworkDelegate adapter is: ${adapter::class.java.simpleName}")
+ }
+
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
+ override fun addNetwork(request: AddNetworkRequest): AddNetworkResult {
+ return adapter.addNetwork(request)
+ }
+
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
+ override fun addNetwork(request: AddNetworkRequest, callbacks: AddNetworkCallbacks?) {
+ scope.launch(createBaseCoroutineExceptionHandler(callbacks)) {
+ savedNetworkMutex.withLock {
+ val result = adapter.addNetwork(request)
+ withContext(coroutineDispatcherProvider.main) {
+ when (result) {
+ is AddNetworkResult.Success -> callbacks?.onSuccessAddingNetwork(result)
+ is AddNetworkResult.Failure -> callbacks?.onFailureAddingNetwork(result)
+ }
+ }
+ }
+ }
+ }
+
+ companion object {
+ private const val LOG_TAG = "WisefyAddNetworkDelegate"
+ }
+}
diff --git a/wisefy/addnetwork/src/main/java/com/isupatches/android/wisefy/addnetwork/callbacks/AddNetworkCallbacks.kt b/wisefy/addnetwork/src/main/java/com/isupatches/android/wisefy/addnetwork/callbacks/AddNetworkCallbacks.kt
new file mode 100644
index 00000000..bd4487a6
--- /dev/null
+++ b/wisefy/addnetwork/src/main/java/com/isupatches/android/wisefy/addnetwork/callbacks/AddNetworkCallbacks.kt
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.addnetwork.callbacks
+
+import com.isupatches.android.wisefy.addnetwork.entities.AddNetworkResult
+import com.isupatches.android.wisefy.core.base.BaseWisefyCallbacks
+
+/**
+ * A set of callbacks for adding a network.
+ *
+ * @see BaseWisefyCallbacks
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+interface AddNetworkCallbacks : BaseWisefyCallbacks {
+
+ /**
+ * A callback triggered when there is a failure adding a network.
+ *
+ * @param result The details from the failure while attempting to add the network
+ *
+ * @see AddNetworkResult.Failure
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ fun onFailureAddingNetwork(result: AddNetworkResult.Failure)
+
+ /**
+ * A callback triggered when there is a success while adding a network.
+ *
+ * @param result The details from the successful attempt adding a network
+ *
+ * @see AddNetworkResult.Success
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ fun onSuccessAddingNetwork(result: AddNetworkResult.Success)
+}
diff --git a/wisefy/addnetwork/src/main/java/com/isupatches/android/wisefy/addnetwork/entities/AddNetworkRequest.kt b/wisefy/addnetwork/src/main/java/com/isupatches/android/wisefy/addnetwork/entities/AddNetworkRequest.kt
new file mode 100644
index 00000000..0705dc4a
--- /dev/null
+++ b/wisefy/addnetwork/src/main/java/com/isupatches/android/wisefy/addnetwork/entities/AddNetworkRequest.kt
@@ -0,0 +1,70 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.addnetwork.entities
+
+import android.os.Build
+import androidx.annotation.RequiresApi
+
+/**
+ * A set of classes and objects that represent requests to add a network.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+sealed class AddNetworkRequest {
+
+ /**
+ * A representation of a request to add an open network.
+ *
+ * @property ssid The SSID of the open network to add
+ * @property bssid The optional BSSID for the open network being added
+ *
+ * @see AddNetworkRequest
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ data class Open(val ssid: String, val bssid: String? = null) : AddNetworkRequest()
+
+ /**
+ * A representation of a request to add a WPA2 network.
+ *
+ * @property ssid The SSID of the WPA2 network to add
+ * @property passphrase The password or passphrase for the WPA2 network to add
+ * @property bssid The optional BSSID for the WPA2 network being added
+ *
+ * @see AddNetworkRequest
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ data class WPA2(val ssid: String, val passphrase: String, val bssid: String? = null) : AddNetworkRequest()
+
+ /**
+ * A representation of a request to add a WPA3 network.
+ *
+ * @property ssid The SSID of the WPA3 network to add
+ * @property passphrase The password or passphrase for the WPA3 network to add
+ * @property bssid The optional BSSID for the WPA3 network being added
+ *
+ * @see AddNetworkRequest
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @RequiresApi(Build.VERSION_CODES.Q)
+ data class WPA3(val ssid: String, val passphrase: String, val bssid: String? = null) : AddNetworkRequest()
+}
diff --git a/wisefy/addnetwork/src/main/java/com/isupatches/android/wisefy/addnetwork/entities/AddNetworkResult.kt b/wisefy/addnetwork/src/main/java/com/isupatches/android/wisefy/addnetwork/entities/AddNetworkResult.kt
new file mode 100644
index 00000000..82717c67
--- /dev/null
+++ b/wisefy/addnetwork/src/main/java/com/isupatches/android/wisefy/addnetwork/entities/AddNetworkResult.kt
@@ -0,0 +1,105 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.addnetwork.entities
+
+/**
+ * A set of classes and objects that represent a result while attempting to add a network.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+sealed class AddNetworkResult {
+
+ /**
+ * A set of classes and objects that denote a success while attempting to add a network.
+ *
+ * @see AddNetworkResult
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ sealed class Success : AddNetworkResult() {
+
+ /**
+ * A representation of a success while attempting to add a network based on result codes returned from the
+ * Android OS.
+ *
+ * *NOTES*
+ * This could be instances such as:
+ * - Returning the id of the new network for the case of legacy wifiManager.addNetwork()
+ * https://developer.android.com/reference/android/net/wifi/WifiManager#addNetwork(android.net.wifi.WifiConfiguration))
+ * - STATUS_NETWORK_SUGGESTIONS_SUCCESS for SDK 29
+ * https://developer.android.com/reference/android/net/wifi/WifiManager#STATUS_NETWORK_SUGGESTIONS_SUCCESS
+ * - As of Android 11, in-place modifications are allowed so there will be no
+ * STATUS_NETWORK_SUGGESTIONS_ERROR_ADD_DUPLICATE return
+ *
+ * @property value The value of the result code from the Android OS
+ *
+ * @see Success
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ data class ResultCode(val value: Int) : Success()
+ }
+
+ /**
+ * A set of classes that denote a failure while attempting to add a network.
+ *
+ * @see AddNetworkResult
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ sealed class Failure : AddNetworkResult() {
+
+ /**
+ * A representation of a failure while attempting to add a network based on result codes returned from the
+ * Android OS.
+ *
+ * *NOTE*
+ * This could be instances such as:
+ * - Returning -1 for the case of legacy wifiManager.addNetwork()
+ * https://developer.android.com/reference/android/net/wifi/WifiManager#addNetwork(android.net.wifi.WifiConfiguration))
+ * - Any of the failure codes for wifiManager.addNetworkSuggestions() for SDK 29
+ * https://developer.android.com/reference/android/net/wifi/WifiManager#addNetworkSuggestions(java.util.List%3Candroid.net.wifi.WifiNetworkSuggestion%3E)
+ * - As of Android 11, in-place modifications are allowed so there will be no
+ * STATUS_NETWORK_SUGGESTIONS_ERROR_ADD_DUPLICATE return
+ *
+ * @property value The raw value of the result code from the Android OS
+ *
+ * @see Failure
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ data class ResultCode(val value: Int) : Failure()
+
+ /**
+ * A representation of a failure to add a network due to hitting an unexpected path causing an assertion.
+ *
+ * *NOTE* This is for developer specific feedback and should NEVER actually be hit unless there is a bug.
+ *
+ * @property message A text description describing the assertion error hit
+ *
+ * @see Failure
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ data class Assertion(val message: String) : Failure()
+ }
+}
diff --git a/wisefy/addnetwork/src/main/java/com/isupatches/android/wisefy/addnetwork/os/adapters/Android29AddNetworkAdapter.kt b/wisefy/addnetwork/src/main/java/com/isupatches/android/wisefy/addnetwork/os/adapters/Android29AddNetworkAdapter.kt
new file mode 100644
index 00000000..7f0d5ee8
--- /dev/null
+++ b/wisefy/addnetwork/src/main/java/com/isupatches/android/wisefy/addnetwork/os/adapters/Android29AddNetworkAdapter.kt
@@ -0,0 +1,47 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.addnetwork.os.adapters
+
+import android.os.Build
+import androidx.annotation.RequiresApi
+import com.isupatches.android.wisefy.addnetwork.AddNetworkApi
+import com.isupatches.android.wisefy.addnetwork.entities.AddNetworkRequest
+import com.isupatches.android.wisefy.addnetwork.entities.AddNetworkResult
+import com.isupatches.android.wisefy.core.assertions.WisefyAssertions
+import com.isupatches.android.wisefy.core.constants.AssertionMessages
+
+/**
+ * An Android 29 specific adapter for adding networks.
+ *
+ * @property assertions The [WisefyAssertions] instance to use
+ *
+ * @see AddNetworkApi
+ * @see WisefyAssertions
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+@RequiresApi(Build.VERSION_CODES.Q)
+internal class Android29AddNetworkAdapter(
+ private val assertions: WisefyAssertions
+) : AddNetworkApi {
+
+ override fun addNetwork(request: AddNetworkRequest): AddNetworkResult {
+ val message = AssertionMessages.AndroidQ.SAVED_NETWORK_FUNCTIONALITY_UNAVAILABLE_ANDROID_Q
+ assertions.fail(message)
+ return AddNetworkResult.Failure.Assertion(message)
+ }
+}
diff --git a/wisefy/addnetwork/src/main/java/com/isupatches/android/wisefy/addnetwork/os/adapters/Android30AddNetworkAdapter.kt b/wisefy/addnetwork/src/main/java/com/isupatches/android/wisefy/addnetwork/os/adapters/Android30AddNetworkAdapter.kt
new file mode 100644
index 00000000..99e3dc56
--- /dev/null
+++ b/wisefy/addnetwork/src/main/java/com/isupatches/android/wisefy/addnetwork/os/adapters/Android30AddNetworkAdapter.kt
@@ -0,0 +1,85 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.addnetwork.os.adapters
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import android.Manifest.permission.CHANGE_WIFI_STATE
+import android.net.wifi.WifiManager
+import android.os.Build
+import androidx.annotation.RequiresApi
+import androidx.annotation.RequiresPermission
+import com.isupatches.android.wisefy.addnetwork.AddNetworkApi
+import com.isupatches.android.wisefy.addnetwork.entities.AddNetworkRequest
+import com.isupatches.android.wisefy.addnetwork.entities.AddNetworkResult
+import com.isupatches.android.wisefy.addnetwork.os.apis.Android30AddNetworkApi
+import com.isupatches.android.wisefy.addnetwork.os.impls.Android30AddNetworkApiImpl
+import com.isupatches.android.wisefy.core.assertions.WisefyAssertions
+import com.isupatches.android.wisefy.core.logging.WisefyLogger
+
+/**
+ * An Android 30 or higher adapter for adding networks.
+ *
+ * @param wifiManager The WifiManager instance to use
+ * @param logger The [WisefyLogger] instance to use
+ * @property assertions The [WisefyAssertions] instance to use
+ * @property api The OS level API instance to use
+ *
+ * @see AddNetworkApi
+ * @see Android30AddNetworkApi
+ * @see Android30AddNetworkApiImpl
+ * @see WisefyAssertions
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+@RequiresApi(Build.VERSION_CODES.R)
+internal class Android30AddNetworkAdapter(
+ wifiManager: WifiManager,
+ logger: WisefyLogger,
+ private val assertions: WisefyAssertions,
+ private val api: Android30AddNetworkApi = Android30AddNetworkApiImpl(wifiManager, logger)
+) : AddNetworkApi {
+
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
+ override fun addNetwork(request: AddNetworkRequest): AddNetworkResult {
+ return when (request) {
+ is AddNetworkRequest.Open -> {
+ val result = api.addOpenNetwork(request.ssid, request.bssid)
+ if (result == WifiManager.STATUS_NETWORK_SUGGESTIONS_SUCCESS) {
+ AddNetworkResult.Success.ResultCode(result)
+ } else {
+ AddNetworkResult.Failure.ResultCode(result)
+ }
+ }
+ is AddNetworkRequest.WPA2 -> {
+ val result = api.addWPA2Network(request.ssid, request.passphrase, request.bssid)
+ if (result == WifiManager.STATUS_NETWORK_SUGGESTIONS_SUCCESS) {
+ AddNetworkResult.Success.ResultCode(result)
+ } else {
+ AddNetworkResult.Failure.ResultCode(result)
+ }
+ }
+ is AddNetworkRequest.WPA3 -> {
+ val result = api.addWPA3Network(request.ssid, request.passphrase, request.bssid)
+ if (result == WifiManager.STATUS_NETWORK_SUGGESTIONS_SUCCESS) {
+ AddNetworkResult.Success.ResultCode(result)
+ } else {
+ AddNetworkResult.Failure.ResultCode(result)
+ }
+ }
+ }
+ }
+}
diff --git a/wisefy/addnetwork/src/main/java/com/isupatches/android/wisefy/addnetwork/os/adapters/DefaultAddNetworkAdapter.kt b/wisefy/addnetwork/src/main/java/com/isupatches/android/wisefy/addnetwork/os/adapters/DefaultAddNetworkAdapter.kt
new file mode 100644
index 00000000..0d581251
--- /dev/null
+++ b/wisefy/addnetwork/src/main/java/com/isupatches/android/wisefy/addnetwork/os/adapters/DefaultAddNetworkAdapter.kt
@@ -0,0 +1,85 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.addnetwork.os.adapters
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import android.Manifest.permission.CHANGE_WIFI_STATE
+import android.net.wifi.WifiManager
+import androidx.annotation.RequiresPermission
+import com.isupatches.android.wisefy.addnetwork.AddNetworkApi
+import com.isupatches.android.wisefy.addnetwork.entities.AddNetworkRequest
+import com.isupatches.android.wisefy.addnetwork.entities.AddNetworkResult
+import com.isupatches.android.wisefy.addnetwork.os.apis.DefaultAddNetworkApi
+import com.isupatches.android.wisefy.addnetwork.os.impls.DefaultAddNetworkApiImpl
+import com.isupatches.android.wisefy.core.assertions.WisefyAssertions
+import com.isupatches.android.wisefy.core.constants.AssertionMessages
+import com.isupatches.android.wisefy.core.logging.WisefyLogger
+
+/**
+ * A default adapter for adding networks.
+ *
+ * @param wifiManager The WifiManager instance to use
+ * @param logger The [WisefyLogger] instance to use
+ * @property assertions The [WisefyAssertions] instance to use
+ * @property api The OS level API instance to use
+ *
+ * @see AddNetworkApi
+ * @see DefaultAddNetworkApi
+ * @see DefaultAddNetworkApiImpl
+ * @see WisefyAssertions
+ * @see WisefyLogger
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+internal class DefaultAddNetworkAdapter(
+ wifiManager: WifiManager,
+ logger: WisefyLogger,
+ private val assertions: WisefyAssertions,
+ private val api: DefaultAddNetworkApi = DefaultAddNetworkApiImpl(wifiManager, logger)
+) : AddNetworkApi {
+
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
+ override fun addNetwork(request: AddNetworkRequest): AddNetworkResult {
+ return when (request) {
+ is AddNetworkRequest.Open -> {
+ val resultCode = api.addOpenNetwork(request.ssid, request.bssid)
+ if (resultCode > WIFI_MANAGER_ADD_NETWORK_FAILURE) {
+ AddNetworkResult.Success.ResultCode(resultCode)
+ } else {
+ AddNetworkResult.Failure.ResultCode(resultCode)
+ }
+ }
+ is AddNetworkRequest.WPA2 -> {
+ val resultCode = api.addWPA2Network(request.ssid, request.passphrase, request.bssid)
+ if (resultCode > WIFI_MANAGER_ADD_NETWORK_FAILURE) {
+ AddNetworkResult.Success.ResultCode(resultCode)
+ } else {
+ AddNetworkResult.Failure.ResultCode(resultCode)
+ }
+ }
+ is AddNetworkRequest.WPA3 -> {
+ val message = AssertionMessages.AddNetwork.WPA3Network.USED_PRE_ANDROID_29
+ assertions.fail(message = message)
+ AddNetworkResult.Failure.Assertion(message = message)
+ }
+ }
+ }
+
+ companion object {
+ private const val WIFI_MANAGER_ADD_NETWORK_FAILURE = -1
+ }
+}
diff --git a/wisefy/addnetwork/src/main/java/com/isupatches/android/wisefy/addnetwork/os/apis/Android30AddNetworkApi.kt b/wisefy/addnetwork/src/main/java/com/isupatches/android/wisefy/addnetwork/os/apis/Android30AddNetworkApi.kt
new file mode 100644
index 00000000..13b76ffe
--- /dev/null
+++ b/wisefy/addnetwork/src/main/java/com/isupatches/android/wisefy/addnetwork/os/apis/Android30AddNetworkApi.kt
@@ -0,0 +1,79 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.addnetwork.os.apis
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import android.Manifest.permission.CHANGE_WIFI_STATE
+import android.os.Build
+import androidx.annotation.RequiresApi
+import androidx.annotation.RequiresPermission
+
+/**
+ * An internal Android 30 or higher API for adding networks through the Android OS.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+@RequiresApi(Build.VERSION_CODES.R)
+internal interface Android30AddNetworkApi {
+
+ /**
+ * An API to add an open network for Android 30.
+ *
+ * @param ssid The SSID of the open network to add
+ * @param bssid The optional BSSID for the open network being added
+ *
+ * @return Int - The result code for adding the open network suggestion
+ * https://developer.android.com/reference/android/net/wifi/WifiManager#addNetworkSuggestions(java.util.List%3Candroid.net.wifi.WifiNetworkSuggestion%3E)
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
+ fun addOpenNetwork(ssid: String, bssid: String?): Int
+
+ /**
+ * An API to add a WPA2 network for Android 30.
+ *
+ * @param ssid The SSID of the WPA2 network to add
+ * @param passphrase The passphrase to authenticate with the WPA2 network
+ * @param bssid The optional BSSID for the WPA2 network being added
+ *
+ * @return Int - The result code for adding the WPA2 network suggestion
+ * https://developer.android.com/reference/android/net/wifi/WifiManager#addNetworkSuggestions(java.util.List%3Candroid.net.wifi.WifiNetworkSuggestion%3E)
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
+ fun addWPA2Network(ssid: String, passphrase: String, bssid: String?): Int
+
+ /**
+ * An API to add a WPA3 network for Android 30.
+ *
+ * @param ssid The SSID of the WPA3 network to add
+ * @param passphrase The passphrase to authenticate with the WPA3 network
+ * @param bssid The optional BSSID for the WPA3 network being added
+ *
+ * @return Int - The result code for adding the WPA3 network suggestion
+ * https://developer.android.com/reference/android/net/wifi/WifiManager#addNetworkSuggestions(java.util.List%3Candroid.net.wifi.WifiNetworkSuggestion%3E)
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
+ fun addWPA3Network(ssid: String, passphrase: String, bssid: String?): Int
+}
diff --git a/wisefy/addnetwork/src/main/java/com/isupatches/android/wisefy/addnetwork/os/apis/DefaultAddNetworkApi.kt b/wisefy/addnetwork/src/main/java/com/isupatches/android/wisefy/addnetwork/os/apis/DefaultAddNetworkApi.kt
new file mode 100644
index 00000000..704fa865
--- /dev/null
+++ b/wisefy/addnetwork/src/main/java/com/isupatches/android/wisefy/addnetwork/os/apis/DefaultAddNetworkApi.kt
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.addnetwork.os.apis
+
+/**
+ * A default internal API for adding networks through the Android OS.
+ *
+ * @author Patches Barrett
+ * @since 11/2022, version 5.0.0
+ */
+internal interface DefaultAddNetworkApi {
+
+ /**
+ * A default API to add an open network.
+ *
+ * @param ssid The SSID of the open network to add
+ * @param bssid The optional BSSID for the open network being added
+ *
+ * @return Int - The result code for adding the open network configuration
+ * https://developer.android.com/reference/android/net/wifi/WifiManager#addNetwork(android.net.wifi.WifiConfiguration)
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ fun addOpenNetwork(ssid: String, bssid: String?): Int
+
+ /**
+ * A default API to add a WPA2 network.
+ *
+ * @param ssid The SSID of the WPA2 network to add
+ * @param passphrase The passphrase to authenticate with the WPA2 network
+ * @param bssid The optional BSSID for the WPA2 network being added
+ *
+ * @return Int - The result code for adding the WPA2 network configuration
+ * https://developer.android.com/reference/android/net/wifi/WifiManager#addNetwork(android.net.wifi.WifiConfiguration)
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ fun addWPA2Network(ssid: String, passphrase: String, bssid: String?): Int
+}
diff --git a/wisefy/addnetwork/src/main/java/com/isupatches/android/wisefy/addnetwork/os/impls/Android30AddNetworkApiImpl.kt b/wisefy/addnetwork/src/main/java/com/isupatches/android/wisefy/addnetwork/os/impls/Android30AddNetworkApiImpl.kt
new file mode 100644
index 00000000..b85500a9
--- /dev/null
+++ b/wisefy/addnetwork/src/main/java/com/isupatches/android/wisefy/addnetwork/os/impls/Android30AddNetworkApiImpl.kt
@@ -0,0 +1,74 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.addnetwork.os.impls
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import android.Manifest.permission.CHANGE_WIFI_STATE
+import android.net.wifi.WifiManager
+import android.net.wifi.WifiNetworkSuggestion
+import android.os.Build
+import androidx.annotation.RequiresApi
+import androidx.annotation.RequiresPermission
+import com.isupatches.android.wisefy.addnetwork.os.apis.Android30AddNetworkApi
+import com.isupatches.android.wisefy.core.logging.WisefyLogger
+import com.isupatches.android.wisefy.core.wifimanager.createOpenNetworkSuggestion
+import com.isupatches.android.wisefy.core.wifimanager.createWPA2NetworkSuggestion
+import com.isupatches.android.wisefy.core.wifimanager.createWPA3NetworkSuggestion
+
+/**
+ * An internal Android 30 or higher implementation for adding networks through the Android OS.
+ *
+ * @property wifiManager The WifiManager instance to use
+ * @property logger The [WisefyLogger] instance to use
+ *
+ * @see Android30AddNetworkApi
+ * @see WisefyLogger
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+@RequiresApi(Build.VERSION_CODES.R)
+internal class Android30AddNetworkApiImpl(
+ private val wifiManager: WifiManager,
+ private val logger: WisefyLogger
+) : Android30AddNetworkApi {
+
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
+ override fun addOpenNetwork(ssid: String, bssid: String?): Int {
+ return addNetworkSuggestion(suggestion = createOpenNetworkSuggestion(ssid, bssid))
+ }
+
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
+ override fun addWPA2Network(ssid: String, passphrase: String, bssid: String?): Int {
+ return addNetworkSuggestion(suggestion = createWPA2NetworkSuggestion(ssid, passphrase, bssid))
+ }
+
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
+ override fun addWPA3Network(ssid: String, passphrase: String, bssid: String?): Int {
+ return addNetworkSuggestion(suggestion = createWPA3NetworkSuggestion(ssid, passphrase, bssid))
+ }
+
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
+ private fun addNetworkSuggestion(suggestion: WifiNetworkSuggestion): Int {
+ val result = wifiManager.addNetworkSuggestions(listOf(suggestion))
+ logger.d(LOG_TAG, "Add network suggestion. Result: $result, suggestion: $suggestion")
+ return result
+ }
+
+ companion object {
+ private const val LOG_TAG = "Android30AddNetworkApiImpl"
+ }
+}
diff --git a/wisefy/addnetwork/src/main/java/com/isupatches/android/wisefy/addnetwork/os/impls/DefaultAddNetworkApiImpl.kt b/wisefy/addnetwork/src/main/java/com/isupatches/android/wisefy/addnetwork/os/impls/DefaultAddNetworkApiImpl.kt
new file mode 100644
index 00000000..55b7528b
--- /dev/null
+++ b/wisefy/addnetwork/src/main/java/com/isupatches/android/wisefy/addnetwork/os/impls/DefaultAddNetworkApiImpl.kt
@@ -0,0 +1,64 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.addnetwork.os.impls
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import android.net.wifi.WifiManager
+import androidx.annotation.RequiresPermission
+import com.isupatches.android.wisefy.addnetwork.os.apis.DefaultAddNetworkApi
+import com.isupatches.android.wisefy.core.logging.WisefyLogger
+import com.isupatches.android.wisefy.core.wifimanager.legacy.createOpenNetworkConfiguration
+import com.isupatches.android.wisefy.core.wifimanager.legacy.createWPA2NetworkConfiguration
+
+/**
+ * A default internal implementation for adding networks through the Android OS.
+ *
+ * @property wifiManager The WifiManager instance to use
+ * @property logger The [WisefyLogger] instance to use
+ *
+ * @see DefaultAddNetworkApi
+ * @see WisefyLogger
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+internal class DefaultAddNetworkApiImpl(
+ private val wifiManager: WifiManager,
+ private val logger: WisefyLogger
+) : DefaultAddNetworkApi {
+
+ @RequiresPermission(ACCESS_FINE_LOCATION)
+ override fun addOpenNetwork(ssid: String, bssid: String?): Int {
+ return addNetworkConfiguration(configuration = createOpenNetworkConfiguration(ssid, bssid))
+ }
+
+ @RequiresPermission(ACCESS_FINE_LOCATION)
+ override fun addWPA2Network(ssid: String, passphrase: String, bssid: String?): Int {
+ return addNetworkConfiguration(configuration = createWPA2NetworkConfiguration(ssid, passphrase, bssid))
+ }
+
+ @Suppress("Deprecation")
+ @RequiresPermission(ACCESS_FINE_LOCATION)
+ private fun addNetworkConfiguration(configuration: android.net.wifi.WifiConfiguration): Int {
+ val result = wifiManager.addNetwork(configuration)
+ logger.d(LOG_TAG, "Add network. Result: $result, configuration: $configuration")
+ return result
+ }
+
+ companion object {
+ private const val LOG_TAG = "DefaultAddNetworkApiImpl"
+ }
+}
diff --git a/wisefy/build.gradle.kts b/wisefy/build.gradle.kts
index 444ca459..6751f5a7 100644
--- a/wisefy/build.gradle.kts
+++ b/wisefy/build.gradle.kts
@@ -8,24 +8,48 @@ plugins {
id("com.isupatches.android.wisefy.build.plugins.DocumentationPlugin")
id("com.isupatches.android.wisefy.build.plugins.PublishingPlugin")
id("kotlin-android")
- id("kotlin-kapt")
}
group = GROUP_ID
version = BuildVersions.MODULE_VERSION_NAME
android {
- buildFeatures {
- viewBinding = true
- }
+ namespace = "com.isupatches.android.wisefy"
+ testNamespace = "com.isupatches.android.wisefy.test"
}
dependencies {
- // AndroidX
- implementation(Dependencies.AndroidX.APPCOMPAT)
- implementation(Dependencies.AndroidX.ANNOTATION)
- // Kotlin
- implementation(Dependencies.Kotlin.STD_LIB)
+ /*
+ * These should be uncommented to build wisefy / wisefy-ktx against released artifacts for wisefy features.
+ * These will be necessary to allow the gradle.lockfiles to pick-up on the versions of each sub-dependency in-use.
+ *
+ * See:
+ * - https://docs.gradle.org/current/userguide/single_versions.html
+ * - https://docs.gradle.org/current/userguide/dependency_locking.html
+ */
+ api("com.isupatches.android.wisefy:accesspoints:[5.0,6.0)")
+ api("com.isupatches.android.wisefy:addnetwork:[5.0,6.0)")
+ api("com.isupatches.android.wisefy:core:[5.0,6.0)")
+ api("com.isupatches.android.wisefy:networkconnection:[5.0,6.0)")
+ api("com.isupatches.android.wisefy:networkinfo:[5.0,6.0)")
+ api("com.isupatches.android.wisefy:removenetwork:[5.0,6.0)")
+ api("com.isupatches.android.wisefy:savednetworks:[5.0,6.0)")
+ api("com.isupatches.android.wisefy:signal:[5.0,6.0)")
+ api("com.isupatches.android.wisefy:wifi:[5.0,6.0)")
+
+ /*
+ * These should be uncommented to build wisefy / wisefy-ktx directly from source code
+ */
+// api(project(":wisefy:accesspoints"))
+// api(project(":wisefy:addnetwork"))
+// api(project(":wisefy:core"))
+// api(project(":wisefy:networkconnection"))
+// api(project(":wisefy:networkinfo"))
+// api(project(":wisefy:removenetwork"))
+// api(project(":wisefy:savednetworks"))
+// api(project(":wisefy:signal"))
+// api(project(":wisefy:wifi"))
+
implementation(Dependencies.Kotlin.COROUTINES)
}
diff --git a/wisefy/core/.gitignore b/wisefy/core/.gitignore
new file mode 100644
index 00000000..796b96d1
--- /dev/null
+++ b/wisefy/core/.gitignore
@@ -0,0 +1 @@
+/build
diff --git a/wisefy/core/build.gradle.kts b/wisefy/core/build.gradle.kts
new file mode 100644
index 00000000..59fb83e3
--- /dev/null
+++ b/wisefy/core/build.gradle.kts
@@ -0,0 +1,23 @@
+import com.isupatches.android.wisefy.build.BuildVersions
+import com.isupatches.android.wisefy.build.Dependencies
+import com.isupatches.android.wisefy.build.PublishingConstants
+
+plugins {
+ id("com.android.library")
+ id("com.isupatches.android.wisefy.build.plugins.BaseGradleModulePlugin")
+ id("com.isupatches.android.wisefy.build.plugins.DocumentationPlugin")
+ id("com.isupatches.android.wisefy.build.plugins.PublishingPlugin")
+ id("kotlin-android")
+}
+
+group = PublishingConstants.GROUP_ID
+version = BuildVersions.MODULE_VERSION_NAME
+
+android {
+ namespace = "com.isupatches.android.wisefy.core"
+ testNamespace = "com.isupatches.android.wisefy.core.test"
+}
+
+dependencies {
+ implementation(Dependencies.Kotlin.COROUTINES)
+}
diff --git a/wisefy/core/gradle.lockfile b/wisefy/core/gradle.lockfile
new file mode 100644
index 00000000..00ca553d
--- /dev/null
+++ b/wisefy/core/gradle.lockfile
@@ -0,0 +1,49 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.annotation:annotation-experimental:1.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.annotation:annotation:1.5.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.appcompat:appcompat-resources:1.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.appcompat:appcompat:1.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.arch.core:core-runtime:2.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.collection:collection:1.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.concurrent:concurrent-futures:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.core:core-ktx:1.8.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.core:core:1.8.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.cursoradapter:cursoradapter:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.customview:customview:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.drawerlayout:drawerlayout:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.emoji2:emoji2-views-helper:1.2.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.emoji2:emoji2:1.2.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.fragment:fragment:1.3.6=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.interpolator:interpolator:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-process:2.4.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel-savedstate:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.loader:loader:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.resourceinspection:resourceinspection-annotation:1.0.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.savedstate:savedstate:1.2.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.startup:startup-runtime:1.1.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.tracing:tracing:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.vectordrawable:vectordrawable-animated:1.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.vectordrawable:vectordrawable:1.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+com.google.guava:listenablefuture:1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jacoco:org.jacoco.agent:0.8.8=debugRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.7.10=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.21=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.21=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib:1.7.10=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.4=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.4=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains:annotations:13.0=debugRuntimeClasspath,releaseRuntimeClasspath
+empty=
diff --git a/wisefy/core/src/main/AndroidManifest.xml b/wisefy/core/src/main/AndroidManifest.xml
new file mode 100644
index 00000000..8072ee00
--- /dev/null
+++ b/wisefy/core/src/main/AndroidManifest.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/AccessPointHelper.kt b/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/AccessPointHelper.kt
new file mode 100644
index 00000000..94b11ea4
--- /dev/null
+++ b/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/AccessPointHelper.kt
@@ -0,0 +1,77 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.core
+
+import android.net.wifi.ScanResult
+import android.os.Build
+import com.isupatches.android.wisefy.core.constants.QUOTE
+
+/**
+ * A helper function to determine if the SSID for the [ScanResult] matches a given regex.
+ *
+ * @param regex The regex to check if the SSID of the access point matches
+ *
+ * @return Boolean - True if the SSID of the [ScanResult] matches, otherwise false
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+fun ScanResult.hasSSIDMatchingRegex(regex: String): Boolean {
+ return ssidWithoutQuotes.matches(regex.toRegex())
+}
+
+/**
+ * A helper function to determine if the BSSID for the [ScanResult] matches a given regex.
+ *
+ * @param regex The regex to check if the BSSID of the access point matches
+ *
+ * @return Boolean - True if the BSSID of the [ScanResult] matches, otherwise false
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+fun ScanResult.hasBSSIDMatchingRegex(regex: String): Boolean {
+ return bssidWithoutQuotes.matches(regex.toRegex())
+}
+
+/**
+ * A convenience property to expose the SSID of a [ScanResult] taking into account any SDK level considerations and with
+ * stripping unnecessary quotes.
+ *
+ * @return String - The value of the [ScanResult]'s SSID with quotes removed
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+val ScanResult.ssidWithoutQuotes: String
+ get() = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
+ wifiSsid?.toString()?.replace(QUOTE, "")
+ } else {
+ @Suppress("Deprecation")
+ SSID?.replace(QUOTE, "")
+ } ?: ""
+
+/**
+ * A convenience property to expose the BSSID of a [ScanResult] taking into account any SDK level considerations and
+ * with stripping unnecessary quotes.
+ *
+ * @return String - The value of the [ScanResult]'s BSSID with quotes removed
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+val ScanResult.bssidWithoutQuotes: String
+ get() = BSSID?.replace(QUOTE, "") ?: ""
diff --git a/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/NetworkInfoHelper.kt b/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/NetworkInfoHelper.kt
new file mode 100644
index 00000000..9cfcc449
--- /dev/null
+++ b/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/NetworkInfoHelper.kt
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.core
+
+import android.net.wifi.WifiInfo
+import com.isupatches.android.wisefy.core.constants.QUOTE
+
+/**
+ * A convenience property to expose the SSID of a [WifiInfo] taking into account any SDK level considerations and with
+ * stripping unnecessary quotes.
+ *
+ * @return String - The value of the [WifiInfo]'s SSID with quotes removed
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+val WifiInfo.ssidWithoutQuotes: String
+ get() = ssid?.replace(QUOTE, "") ?: ""
+
+/**
+ * A convenience property to expose the BSSID of a [WifiInfo] taking into account any SDK level considerations and
+ * with stripping unnecessary quotes.
+ *
+ * @return String - The value of the [WifiInfo]'s BSSID with quotes removed
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+val WifiInfo.bssidWithoutQuotes: String
+ get() = bssid?.replace(QUOTE, "") ?: ""
diff --git a/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/SavedNetworkHelper.kt b/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/SavedNetworkHelper.kt
new file mode 100644
index 00000000..d1410545
--- /dev/null
+++ b/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/SavedNetworkHelper.kt
@@ -0,0 +1,133 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.core
+
+import android.net.wifi.WifiNetworkSuggestion
+import android.os.Build
+import androidx.annotation.RequiresApi
+import com.isupatches.android.wisefy.core.constants.QUOTE
+
+/**
+ * A helper function to determine if the SSID for the [android.net.wifi.WifiConfiguration] matches a given regex.
+ *
+ * @param regex The regex to check if the SSID of the access point matches
+ *
+ * @return Boolean - True if the SSID of the [android.net.wifi.WifiConfiguration] matches, otherwise false
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+@Suppress("Deprecation")
+fun android.net.wifi.WifiConfiguration.hasSSIDMatchingRegex(regex: String): Boolean {
+ return ssidWithoutQuotes.matches(regex.toRegex())
+}
+
+/**
+ * A helper function to determine if the BSSID for the [android.net.wifi.WifiConfiguration] matches a given regex.
+ *
+ * @param regex The regex to check if the BSSID of the access point matches
+ *
+ * @return Boolean - True if the BSSID of the [android.net.wifi.WifiConfiguration] matches, otherwise false
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+@Suppress("Deprecation")
+fun android.net.wifi.WifiConfiguration.hasBSSIDMatchingRegex(regex: String): Boolean {
+ return bssidWithoutQuotes.matches(regex.toRegex())
+}
+
+/**
+ * A convenience property to expose the SSID of a [android.net.wifi.WifiConfiguration] taking into account any SDK level
+ * considerations and with stripping unnecessary quotes.
+ *
+ * @return String - The value of the [android.net.wifi.WifiConfiguration]'s SSID with quotes removed
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+@Suppress("Deprecation")
+val android.net.wifi.WifiConfiguration.ssidWithoutQuotes: String
+ get() = SSID?.replace(QUOTE, "") ?: ""
+
+/**
+ * A convenience property to expose the BSSID of a [android.net.wifi.WifiConfiguration] taking into account any SDK
+ * level considerations and with stripping unnecessary quotes.
+ *
+ * @return String - The value of the [android.net.wifi.WifiConfiguration]'s BSSID with quotes removed
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+@Suppress("Deprecation")
+val android.net.wifi.WifiConfiguration.bssidWithoutQuotes: String
+ get() = BSSID?.replace(QUOTE, "") ?: ""
+
+/**
+ * A helper function to determine if the SSID for the [WifiNetworkSuggestion] matches a given regex.
+ *
+ * @param regex The regex to check if the SSID of the access point matches
+ *
+ * @return Boolean - True if the SSID of the [WifiNetworkSuggestion] matches, otherwise false
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+@RequiresApi(Build.VERSION_CODES.R)
+fun WifiNetworkSuggestion.hasSSIDMatchingRegex(regex: String): Boolean {
+ return ssidWithoutQuotes.matches(regex.toRegex())
+}
+
+/**
+ * A helper function to determine if the BSSID for the [WifiNetworkSuggestion] matches a given regex.
+ *
+ * @param regex The regex to check if the BSSID of the access point matches
+ *
+ * @return Boolean - True if the BSSID of the [WifiNetworkSuggestion] matches, otherwise false
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+@RequiresApi(Build.VERSION_CODES.R)
+fun WifiNetworkSuggestion.hasBSSIDMatchingRegex(regex: String): Boolean {
+ return bssidWithoutQuotes.matches(regex.toRegex())
+}
+
+/**
+ * A convenience property to expose the SSID of a [WifiNetworkSuggestion] taking into account any SDK level
+ * considerations and with stripping unnecessary quotes.
+ *
+ * @return String - The value of the [WifiNetworkSuggestion]'s SSID with quotes removed
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+val WifiNetworkSuggestion.ssidWithoutQuotes: String
+ @RequiresApi(Build.VERSION_CODES.R)
+ get() = ssid?.replace(QUOTE, "") ?: ""
+
+/**
+ * A convenience property to expose the BSSID of a [WifiNetworkSuggestion] taking into account any SDK level
+ * considerations and with stripping unnecessary quotes.
+ *
+ * @return String - The value of the [WifiNetworkSuggestion]'s BSSID with quotes removed
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+val WifiNetworkSuggestion.bssidWithoutQuotes: String
+ @RequiresApi(Build.VERSION_CODES.R)
+ get() = bssid?.toString()?.replace(QUOTE, "") ?: ""
diff --git a/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/assertions/WisefyAssertions.kt b/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/assertions/WisefyAssertions.kt
new file mode 100644
index 00000000..2111eeb0
--- /dev/null
+++ b/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/assertions/WisefyAssertions.kt
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.core.assertions
+
+/**
+ * An assertion class that will allow Wisefy to assert for dev feedback to know about improper implementation or use.
+ *
+ * *Note* This should be used in cases such as debug builds and for cases that are recoverable or less noticeable from
+ * the end user perspective. Typically this will be enabled by setting [throwOnAssertions] to be the same as something
+ * like BuildConfig.DEBUG.
+ *
+ * @property throwOnAssertions If enabled, assertions will throw an IllegalArgumentException, otherwise they are no-op
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+class WisefyAssertions(private val throwOnAssertions: Boolean) {
+
+ /**
+ * An assertion function that will only throw if assertions are enabled.
+ *
+ * @param message The message for the exception to throw
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @Throws(IllegalStateException::class)
+ fun fail(message: String) {
+ if (throwOnAssertions) {
+ error(message)
+ }
+ }
+}
diff --git a/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/base/BaseWisefyCallbacks.kt b/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/base/BaseWisefyCallbacks.kt
new file mode 100644
index 00000000..bc5e0911
--- /dev/null
+++ b/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/base/BaseWisefyCallbacks.kt
@@ -0,0 +1,39 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.core.base
+
+import com.isupatches.android.wisefy.core.exceptions.WisefyException
+
+/**
+ * A base interface for all callbacks to enforce any common APIs.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+interface BaseWisefyCallbacks {
+
+ /**
+ * A callback called when there is a thrown exception in the library.
+ *
+ * @param exception The exception that was thrown within the library
+ *
+ * @see WisefyException
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ fun onWisefyAsyncFailure(exception: WisefyException)
+}
diff --git a/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/constants/AssertionMessages.kt b/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/constants/AssertionMessages.kt
new file mode 100644
index 00000000..12022643
--- /dev/null
+++ b/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/constants/AssertionMessages.kt
@@ -0,0 +1,188 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.core.constants
+
+/**
+ * A singleton that houses all of the assertion messages present throughout the app.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+object AssertionMessages {
+
+ /**
+ * A singleton that houses the assertion messages present for the add network features.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ object AddNetwork {
+
+ /**
+ * A singleton that houses the assertion messages present for functions adding a WPA3 network.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ object WPA3Network {
+
+ /**
+ * A string value for the assertion message for trying to add a WPA3 network before Android Q / SDK 29.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ const val USED_PRE_ANDROID_29: String = "WPA3 networks are not supported until Android Q / SDK 29"
+ }
+ }
+
+ /**
+ * A singleton that houses the assertion messages present for Android Q.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ object AndroidQ {
+
+ /**
+ * A string value for the assertion message for trying to work with saved networks on Android Q / SDK 29.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ const val SAVED_NETWORK_FUNCTIONALITY_UNAVAILABLE_ANDROID_Q: String =
+ "Saved network functionality is not supported on Android Q / SDK 29"
+ }
+
+ /**
+ * A singleton that houses the assertion messages present for the network connection features.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ object NetworkConnection {
+
+ /**
+ * A singleton that houses the assertion messages present for the changeNetwork API.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ object ChangeNetwork {
+
+ /**
+ * A string value for the assertion message for calling the changeNetwork API before Android Q.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ const val USED_BEFORE_ANDROID_Q: String = "Change network API used before Android Q / SDK 29"
+ }
+
+ /**
+ * A singleton that houses the assertion messages present for the connectToNetwork API.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ object ConnectToNetwork {
+
+ /**
+ * A string value for the assertion message for calling the connectToNetwork API on Android Q / SDK 29
+ * or higher.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ const val USED_ANDROID_Q_OR_HIGHER: String = "Connect to network API used on Android Q / SDK 29 or higher"
+ }
+
+ /**
+ * A singleton that houses the assertion messages present for the disconnectFromCurrentNetwork API.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ object DisconnectFromCurrentNetwork {
+
+ /**
+ * A string value for the assertion message for calling the disconnectFromCurrentNetwork API on Android Q /
+ * SDK 29 or higher.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ const val USED_ANDROID_Q_OR_HIGHER: String = "Connect to network API used on Android Q / SDK 29 or higher"
+ }
+ }
+
+ /**
+ * A singleton that houses the assertion messages present for the signal features.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ object Signal {
+
+ /**
+ * A string value for the assertion message for using calculateBars(rssiLevel: Int) before Android 30.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ const val INCORRECT_CALCULATE_BARS_USED_ANDROID_R_OR_HIGHER: String =
+ "calculateBars(rssiLevel: Int): Int should be used for Android R / SDK 30 or higher"
+
+ /**
+ * A string value for the assertion message for using calculateBars(rssiLevel: Int, targetNumberOfBars: Int)
+ * on Android 30+.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ const val INCORRECT_CALCULATE_BARS_USED_PRE_ANDROID_R: String =
+ "calculateBars(rssiLevel: Int): Int is not available until Android R / SDK 30"
+ }
+
+ /**
+ * A singleton that houses the assertion messages present for the wifi features.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ object Wifi {
+
+ /**
+ * A string value for trying to open the wifi settings screen to enable or disable wifi on pre-Android Q /
+ * SDK 29 devices.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ const val ANDROID_29_REQUEST_USED_ON_PRE_ANDROID_29: String = "Before Android Q / SDK 29, apps can enable and" +
+ "disable wifi without having to redirect to the wifi settings screen"
+
+ /**
+ * A string value for trying to enable or disable wifi without opening the wifi setting screen on Android Q /
+ * SDK 29 devices.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ const val DEFAULT_REQUEST_USED_ANDROID_29_OR_HIGHER: String = "Starting with Android Q / SDK 29, app cannot" +
+ "enable or disable wifi so the user must be directed the wifi settings screen"
+ }
+}
diff --git a/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/constants/DeprecationMessages.kt b/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/constants/DeprecationMessages.kt
new file mode 100644
index 00000000..7bfe18fa
--- /dev/null
+++ b/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/constants/DeprecationMessages.kt
@@ -0,0 +1,69 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.core.constants
+
+/**
+ * A singleton that houses all of the deprecation messages present throughout the app.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+object DeprecationMessages {
+
+ /**
+ * A singleton that houses the deprecation messages present for the signal features.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ object Signal {
+
+ /**
+ * A string value for the deprecation message for calculateBars(rssiLevel: Int, targetNumberOfBars: Int).
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ const val CALCULATE_BARS: String = "Please replace calculateBars(rssiLevel: Int, targetNumberOfBars: Int) " +
+ "with calculateBars(rssiLevel: Int)"
+ }
+
+ /**
+ * A singleton that houses the deprecation messages present for the network connection features.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ object NetworkConnection {
+
+ /**
+ * A string value for the deprecation message for disconnectFromCurrentNetwork.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ const val DISCONNECT_FROM_CURRENT_NETWORK: String = "As of Android Q / SDK, applications cannot directly " +
+ "disconnect from the current network."
+
+ /**
+ * A string value for the deprecation message for connectToNetwork.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ const val CONNECT_TO_NETWORK: String = "As of Android Q / SDK, applications cannot directly connect to networks"
+ }
+}
diff --git a/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/constants/Frequency.kt b/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/constants/Frequency.kt
new file mode 100644
index 00000000..895082e9
--- /dev/null
+++ b/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/constants/Frequency.kt
@@ -0,0 +1,32 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.core.constants
+
+/**
+ * A constant for the minimum frequency for a 5G network.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+const val MIN_FREQUENCY_5GHZ: Int = 4900
+
+/**
+ * A constant for the maximum frequency for a 5G network.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+const val MAX_FREQUENCY_5GHZ: Int = 5900
diff --git a/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/constants/Symbols.kt b/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/constants/Symbols.kt
new file mode 100644
index 00000000..ef12aa4c
--- /dev/null
+++ b/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/constants/Symbols.kt
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.core.constants
+
+/**
+ * A constant for the string representation of a quote.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+internal const val QUOTE: String = "\""
diff --git a/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/coroutines/CoroutineDispatcherProvider.kt b/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/coroutines/CoroutineDispatcherProvider.kt
new file mode 100644
index 00000000..811d84b2
--- /dev/null
+++ b/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/coroutines/CoroutineDispatcherProvider.kt
@@ -0,0 +1,45 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.core.coroutines
+
+import kotlinx.coroutines.CoroutineDispatcher
+import kotlinx.coroutines.Dispatchers
+
+/**
+ * A class that contains references to various coroutines dispatchers (primarily used to swap them out in tests if
+ * needed).
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+class CoroutineDispatcherProvider {
+
+ /**
+ * A reference to the I/O dispatcher for background operations.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ val io: CoroutineDispatcher = Dispatchers.IO
+
+ /**
+ * A reference to the main dispatcher for UI operations.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ val main: CoroutineDispatcher = Dispatchers.Main
+}
diff --git a/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/coroutines/CoroutineExceptionHandler.kt b/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/coroutines/CoroutineExceptionHandler.kt
new file mode 100644
index 00000000..67d3f6ce
--- /dev/null
+++ b/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/coroutines/CoroutineExceptionHandler.kt
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.core.coroutines
+
+import com.isupatches.android.wisefy.core.base.BaseWisefyCallbacks
+import com.isupatches.android.wisefy.core.exceptions.WisefyException
+import kotlinx.coroutines.CoroutineExceptionHandler
+
+/**
+ * A function to create a standardized coroutines exception handler for async operations within the library.
+ * This helps return exceptions in a standardized way for all async callbacks.
+ *
+ * *Notes* Converts a throwable to a [WisefyException] with the cause being the caught throwable
+ *
+ * @param callbacks The callback interface that implements BaseWisefyCallbacks to return exceptions to
+ *
+ * @see BaseWisefyCallbacks
+ * @see WisefyException
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+fun createBaseCoroutineExceptionHandler(callbacks: BaseWisefyCallbacks?): CoroutineExceptionHandler {
+ return CoroutineExceptionHandler { _, throwable ->
+ callbacks?.onWisefyAsyncFailure(WisefyException(message = "Internal Wisefy error", throwable = throwable))
+ }
+}
diff --git a/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/entities/NetworkConnectionStatus.kt b/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/entities/NetworkConnectionStatus.kt
new file mode 100644
index 00000000..19fc817a
--- /dev/null
+++ b/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/entities/NetworkConnectionStatus.kt
@@ -0,0 +1,42 @@
+package com.isupatches.android.wisefy.core.entities
+
+/**
+ * A set of states representing the status of a network connection.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+enum class NetworkConnectionStatus {
+
+ /**
+ * A representation of when network connectivity is available.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ AVAILABLE,
+
+ /**
+ * A representation of when network connectivity starting going from available to unavailable.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ LOSING,
+
+ /**
+ * A representation of when network connectivity has gone from available to unavailable.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ LOST,
+
+ /**
+ * A representation of when network connectivity is unavailable.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ UNAVAILABLE
+}
diff --git a/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/exceptions/WisefyException.kt b/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/exceptions/WisefyException.kt
new file mode 100644
index 00000000..958d964d
--- /dev/null
+++ b/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/exceptions/WisefyException.kt
@@ -0,0 +1,28 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.core.exceptions
+
+/**
+ * A Wisefy specific throwable to help clients narrow their catch clauses down to a specific type if needed.
+ * This also standardizes how Wisefy returns errors from the async operations.
+ *
+ * @param message The optional message for the exception
+ * @param throwable The optional cause of the exception
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+class WisefyException(message: String, throwable: Throwable?) : Throwable(message, throwable)
diff --git a/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/logging/DefaultWisefyLogger.kt b/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/logging/DefaultWisefyLogger.kt
new file mode 100644
index 00000000..025c1750
--- /dev/null
+++ b/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/logging/DefaultWisefyLogger.kt
@@ -0,0 +1,141 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.core.logging
+
+/**
+ * A no-op, default implementation of [WisefyLogger].
+ *
+ * @see WisefyLogger
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+class DefaultWisefyLogger : WisefyLogger {
+
+ /**
+ * A function that logs an information message.
+ *
+ * @param tag The tag for the log message
+ * @param message The message to log (can include placeholders)
+ * @param args The formatting arguments for the log message
+ *
+ * @return Int - 0 bytes logged
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ override fun i(tag: String, message: String, vararg args: Any): Int = 0
+
+ /**
+ * A function that logs a verbose message.
+ *
+ * @param tag The tag for the log message
+ * @param message The message to log (can include placeholders)
+ * @param args The formatting arguments for the log message
+ *
+ * @return Int - 0 bytes logged
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ override fun v(tag: String, message: String, vararg args: Any): Int = 0
+
+ /**
+ * A function that logs a debug message.
+ *
+ * @param tag The tag for the log message
+ * @param message The message to log (can include placeholders)
+ * @param args The formatting arguments for the log message
+ *
+ * @return Int - 0 bytes logged
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ override fun d(tag: String, message: String, vararg args: Any): Int = 0
+
+ /**
+ * A function that logs a warning message.
+ *
+ * @param tag The tag for the log message
+ * @param message The message to log (can include placeholders)
+ * @param args The formatting arguments for the log message
+ *
+ * @return Int - 0 bytes logged
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ override fun w(tag: String, message: String, vararg args: Any): Int = 0
+
+ /**
+ * A function that logs an error message.
+ *
+ * @param tag The tag for the log message
+ * @param message The message to log (can include placeholders)
+ * @param args The formatting arguments for the log message
+ *
+ * @return Int - 0 bytes logged
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ override fun e(tag: String, message: String, vararg args: Any): Int = 0
+
+ /**
+ * A function that logs an error message.
+ *
+ * @param tag The tag for the log message
+ * @param throwable An exception to include with the error log
+ * @param message The message to log (can include placeholders)
+ * @param args The formatting arguments for the log message
+ *
+ * @return Int - 0 bytes logged
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ override fun e(tag: String, throwable: Throwable, message: String, vararg args: Any): Int = 0
+
+ /**
+ * A function that logs a "what a terrible failure" message.
+ *
+ * @param tag The tag for the log message
+ * @param message The message to log (can include placeholders)
+ * @param args The formatting arguments for the log message
+ *
+ * @return Int - 0 bytes logged
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ override fun wtf(tag: String, message: String, vararg args: Any): Int = 0
+
+ /**
+ * A function that logs a "what a terrible failure" message.
+ *
+ * @param tag The tag for the log message
+ * @param throwable An exception to include with the "what a terrible failure" log
+ * @param message The message to log (can include placeholders)
+ * @param args The formatting arguments for the log message
+ *
+ * @return Int - 0 bytes logged
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ override fun wtf(tag: String, throwable: Throwable, message: String, vararg args: Any): Int = 0
+}
diff --git a/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/logging/WisefyLogger.kt b/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/logging/WisefyLogger.kt
new file mode 100644
index 00000000..89c4d701
--- /dev/null
+++ b/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/logging/WisefyLogger.kt
@@ -0,0 +1,139 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.core.logging
+
+/**
+ * A logging interface that can be provided to Wisefy to log messages.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+interface WisefyLogger {
+
+ /**
+ * A function that logs an information message.
+ *
+ * @param tag The tag for the log message
+ * @param message The message to log (can include placeholders)
+ * @param args The formatting arguments for the log message
+ *
+ * @return Int - The amount of bytes logged
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ fun i(tag: String, message: String, vararg args: Any): Int
+
+ /**
+ * A function that logs a verbose message.
+ *
+ * @param tag The tag for the log message
+ * @param message The message to log (can include placeholders)
+ * @param args The formatting arguments for the log message
+ *
+ * @return Int - The amount of bytes logged
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ fun v(tag: String, message: String, vararg args: Any): Int
+
+ /**
+ * A function that logs a debug message.
+ *
+ * @param tag The tag for the log message
+ * @param message The message to log (can include placeholders)
+ * @param args The formatting arguments for the log message
+ *
+ * @return Int - The amount of bytes logged
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ fun d(tag: String, message: String, vararg args: Any): Int
+
+ /**
+ * A function that logs a warning message.
+ *
+ * @param tag The tag for the log message
+ * @param message The message to log (can include placeholders)
+ * @param args The formatting arguments for the log message
+ *
+ * @return Int - The amount of bytes logged
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ fun w(tag: String, message: String, vararg args: Any): Int
+
+ /**
+ * A function that logs an error message.
+ *
+ * @param tag The tag for the log message
+ * @param message The message to log (can include placeholders)
+ * @param args The formatting arguments for the log message
+ *
+ * @return Int - The amount of bytes logged
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ fun e(tag: String, message: String, vararg args: Any): Int
+
+ /**
+ * A function that logs an error message.
+ *
+ * @param tag The tag for the log message
+ * @param throwable An exception to include with the error log
+ * @param message The message to log (can include placeholders)
+ * @param args The formatting arguments for the log message
+ *
+ * @return Int - The amount of bytes logged
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ fun e(tag: String, throwable: Throwable, message: String, vararg args: Any): Int
+
+ /**
+ * A function that logs a "what a terrible failure" message.
+ *
+ * @param tag The tag for the log message
+ * @param message The message to log (can include placeholders)
+ * @param args The formatting arguments for the log message
+ *
+ * @return Int - The amount of bytes logged
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ fun wtf(tag: String, message: String, vararg args: Any): Int
+
+ /**
+ * A function that logs a "what a terrible failure" message.
+ *
+ * @param tag The tag for the log message
+ * @param throwable An exception to include with the "what a terrible failure" log
+ * @param message The message to log (can include placeholders)
+ * @param args The formatting arguments for the log message
+ *
+ * @return Int - The amount of bytes logged
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ fun wtf(tag: String, throwable: Throwable, message: String, vararg args: Any): Int
+}
diff --git a/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/util/SdkUtil.kt b/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/util/SdkUtil.kt
new file mode 100644
index 00000000..bfdeb66e
--- /dev/null
+++ b/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/util/SdkUtil.kt
@@ -0,0 +1,108 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.core.util
+
+import android.os.Build
+import androidx.annotation.ChecksSdkIntAtLeast
+
+/**
+ * An interface that helps the library determine the SDK level of the device.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+interface SdkUtil {
+
+ /**
+ * A function that will check whether the device is on at least Android P.
+ *
+ * @return Boolean - True if the device's SDK is at least Android P, otherwise false
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @ChecksSdkIntAtLeast(api = Build.VERSION_CODES.P)
+ fun isAtLeastP(): Boolean
+
+ /**
+ * A function that will check whether the device is on at least Android Q.
+ *
+ * @return Boolean - True if the device's SDK is at least Android Q, otherwise false
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @ChecksSdkIntAtLeast(api = Build.VERSION_CODES.Q)
+ fun isAtLeastQ(): Boolean
+
+ /**
+ * A function that will check whether the device is on at least Android R.
+ *
+ * @return Boolean - True if the device's SDK is at least Android R, otherwise false
+ *
+ * @author Patches Barrett
+ * @since 11/2022, version 5.0.0
+ */
+ @ChecksSdkIntAtLeast(api = Build.VERSION_CODES.R)
+ fun isAtLeastR(): Boolean
+
+ /**
+ * A function that will check whether the device is on at least Android S.
+ *
+ * @return Boolean - True if the device's SDK is at least Android S, otherwise false
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @ChecksSdkIntAtLeast(api = Build.VERSION_CODES.S)
+ fun isAtLeastS(): Boolean
+
+ /**
+ * A function that will check whether the device is on at least Android T.
+ *
+ * @return Boolean - True if the device's SDK is at least Android T, otherwise false
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @ChecksSdkIntAtLeast(api = Build.VERSION_CODES.TIRAMISU)
+ fun isAtLeastT(): Boolean
+}
+
+/**
+ * A default implementation of [SdkUtil] that helps the library determine the SDK level of the device.
+ *
+ * @see SdkUtil
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+class SdkUtilImpl : SdkUtil {
+ @ChecksSdkIntAtLeast(api = Build.VERSION_CODES.P)
+ override fun isAtLeastP(): Boolean = Build.VERSION.SDK_INT >= Build.VERSION_CODES.P
+
+ @ChecksSdkIntAtLeast(api = Build.VERSION_CODES.Q)
+ override fun isAtLeastQ(): Boolean = Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q
+
+ @ChecksSdkIntAtLeast(api = Build.VERSION_CODES.R)
+ override fun isAtLeastR(): Boolean = Build.VERSION.SDK_INT >= Build.VERSION_CODES.R
+
+ @ChecksSdkIntAtLeast(api = Build.VERSION_CODES.S)
+ override fun isAtLeastS(): Boolean = Build.VERSION.SDK_INT >= Build.VERSION_CODES.S
+
+ @ChecksSdkIntAtLeast(api = Build.VERSION_CODES.TIRAMISU)
+ override fun isAtLeastT(): Boolean = Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU
+}
diff --git a/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/util/TimeoutUtil.kt b/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/util/TimeoutUtil.kt
new file mode 100644
index 00000000..aec95b7c
--- /dev/null
+++ b/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/util/TimeoutUtil.kt
@@ -0,0 +1,89 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.core.util
+
+private const val BASE_DELAY_IN_MS = 1000L
+
+/**
+ * A convenience function that will wait for a given time until the provided function returns true.
+ *
+ * Usage example:
+ * withTimeout(timeoutInMillis) {
+ * filteredAccessPoints = filterAccessPoints(filterDuplicates, matcher)
+ * // Stops loop at end of timeout or if we have a non-empty list of access points
+ * filteredAccessPoints.isNotEmpty()
+ * }
+ *
+ * @param timeoutInMillis The allotted time for the code to execute before aborting
+ * @param block A code block that should return true to exit the loop, otherwise false to continue until the time
+ * limit is met
+ *
+ * @return Boolean - True if the condition was met before the timeout was reached, otherwise false
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+fun withTimeout(timeoutInMillis: Int, block: () -> Boolean): Boolean {
+ var currentTime: Long
+ val endTime = System.currentTimeMillis() + timeoutInMillis
+ do {
+ if (block()) {
+ return true
+ }
+ sleep()
+ currentTime = System.currentTimeMillis()
+ } while (currentTime < endTime)
+ return false
+}
+
+/**
+ * A convenience function that will wait for a given time until the provided function returns true.
+ *
+ * Usage example:
+ * withTimeoutAsync(timeoutInMillis) {
+ * // Stops loop at the end of the timeout or when connected to network with a matching SSID
+ * isCurrentNetworkConnectedBySSID(ssid)
+ * }
+ *
+ * @param timeoutInMillis The allotted time for the code to execute before aborting
+ * @param block A suspendable code block that should return true to exit the loop, otherwise false to continue until
+ * the time limit is met
+ *
+ * @return Boolean - True if the condition was met before the timeout was reached, otherwise false
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+suspend fun withTimeoutAsync(timeoutInMillis: Int, block: suspend () -> Boolean): Boolean {
+ var currentTime: Long
+ val endTime = System.currentTimeMillis() + timeoutInMillis
+ do {
+ if (block()) {
+ return true
+ }
+ sleep()
+ currentTime = System.currentTimeMillis()
+ } while (currentTime < endTime)
+ return false
+}
+
+private fun sleep(timeToSleepInMillis: Long = BASE_DELAY_IN_MS) {
+ try {
+ Thread.sleep(timeToSleepInMillis)
+ } catch (ie: InterruptedException) {
+ // Do nothing
+ }
+}
diff --git a/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/wifimanager/WifiSuggestionUtil.kt b/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/wifimanager/WifiSuggestionUtil.kt
new file mode 100644
index 00000000..3f0aa709
--- /dev/null
+++ b/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/wifimanager/WifiSuggestionUtil.kt
@@ -0,0 +1,102 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.core.wifimanager
+
+import android.net.MacAddress
+import android.net.wifi.WifiNetworkSuggestion
+import android.os.Build
+import androidx.annotation.RequiresApi
+
+/**
+ * A function that will create the network configuration for a WPA2 network.
+ *
+ * @param ssid The SSID of the open network
+ * @param bssid The optional BSSID for the open network
+ *
+ * @return WifiNetworkSuggestion - The network suggestion for the open network
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+@RequiresApi(Build.VERSION_CODES.Q)
+fun createOpenNetworkSuggestion(
+ ssid: String,
+ bssid: String?
+): WifiNetworkSuggestion {
+ val builder = WifiNetworkSuggestion.Builder()
+ .setSsid(ssid)
+ .setIsAppInteractionRequired(true) // Optional (Needs location permission)
+ if (!bssid.isNullOrBlank()) {
+ builder.setBssid(MacAddress.fromString(bssid))
+ }
+ return builder.build()
+}
+
+/**
+ * A function that will create the network configuration for a WPA2 network.
+ *
+ * @param ssid The SSID of the WPA2 network
+ * @param passphrase The passphrase of the WPA2 network
+ * @param bssid The optional BSSID for the WPA2 network
+ *
+ * @return WifiNetworkSuggestion - The network suggestion for the WPA2 network
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+@RequiresApi(Build.VERSION_CODES.Q)
+fun createWPA2NetworkSuggestion(
+ ssid: String,
+ passphrase: String,
+ bssid: String?
+): WifiNetworkSuggestion {
+ val builder = WifiNetworkSuggestion.Builder()
+ .setSsid(ssid)
+ .setWpa2Passphrase(passphrase)
+ .setIsAppInteractionRequired(true) // Optional (Needs location permission)
+ if (!bssid.isNullOrBlank()) {
+ builder.setBssid(MacAddress.fromString(bssid))
+ }
+ return builder.build()
+}
+
+/**
+ * A function that will create the network configuration for a WPA2 network.
+ *
+ * @param ssid The SSID of the WPA3 network
+ * @param passphrase The passphrase of the WPA3 network
+ * @param bssid The optional BSSID for the WPA3 network
+ *
+ * @return WifiNetworkSuggestion - The network suggestion for the WPA3 network
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+@RequiresApi(Build.VERSION_CODES.Q)
+fun createWPA3NetworkSuggestion(
+ ssid: String,
+ passphrase: String,
+ bssid: String?
+): WifiNetworkSuggestion {
+ val builder = WifiNetworkSuggestion.Builder()
+ .setSsid(ssid)
+ .setWpa3Passphrase(passphrase)
+ .setIsAppInteractionRequired(true) // Optional (Needs location permission)
+ if (!bssid.isNullOrBlank()) {
+ builder.setBssid(MacAddress.fromString(bssid))
+ }
+ return builder.build()
+}
diff --git a/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/wifimanager/legacy/WifiConfigurationUtil.kt b/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/wifimanager/legacy/WifiConfigurationUtil.kt
new file mode 100644
index 00000000..21afd146
--- /dev/null
+++ b/wisefy/core/src/main/java/com/isupatches/android/wisefy/core/wifimanager/legacy/WifiConfigurationUtil.kt
@@ -0,0 +1,97 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+@file:Suppress("Deprecation")
+
+package com.isupatches.android.wisefy.core.wifimanager.legacy
+
+import android.net.wifi.WifiConfiguration
+import com.isupatches.android.wisefy.core.constants.QUOTE
+import java.util.Locale
+
+/**
+ * A function that will create the network configuration for an open network.
+ *
+ * @param ssid The SSID of the open network
+ * @param bssid The optional BSSID for the open network being added
+ *
+ * @return WifiConfiguration - The network configuration for the open network
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+fun createOpenNetworkConfiguration(ssid: String, bssid: String?): WifiConfiguration {
+ return WifiConfiguration().apply {
+ SSID = convertSSIDForConfig(ssid)
+ if (!bssid.isNullOrBlank()) {
+ BSSID = convertSSIDForConfig(bssid)
+ }
+ allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE)
+
+ // Allowed auth algorithms
+ allowedAuthAlgorithms.clear()
+
+ // Allowed protocols
+ allowedProtocols.set(WifiConfiguration.Protocol.RSN)
+
+ // Allowed Group Ciphers
+ allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP)
+ allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP)
+
+ // Allowed Pairwise Ciphers
+ allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP)
+ }
+}
+
+/**
+ * A function that will create the network configuration for a WPA2 network.
+ *
+ * @param ssid The SSID of the WPA2 network
+ * @param passphrase The passphrase of the WPA2 network
+ * @param bssid The optional BSSID for the WPA2 network being added
+ *
+ * @return WifiConfiguration - The network configuration for the WPA2 network
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+fun createWPA2NetworkConfiguration(ssid: String, passphrase: String, bssid: String?): WifiConfiguration {
+ return WifiConfiguration().apply {
+ SSID = convertSSIDForConfig(ssid)
+ if (!bssid.isNullOrBlank()) {
+ BSSID = convertSSIDForConfig(bssid)
+ }
+ preSharedKey = QUOTE + passphrase + QUOTE
+ allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK)
+ status = WifiConfiguration.Status.ENABLED
+
+ // Allowed protocols
+ allowedProtocols.set(WifiConfiguration.Protocol.RSN)
+
+ // Allowed Group Ciphers
+ allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP)
+ allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP)
+
+ // Allowed Pairwise Ciphers
+ allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP)
+ }
+}
+
+private fun convertSSIDForConfig(ssid: String): String = "%s%s%s".format(
+ Locale.US,
+ QUOTE,
+ ssid,
+ QUOTE
+)
diff --git a/wisefy/gradle.lockfile b/wisefy/gradle.lockfile
new file mode 100644
index 00000000..2067c0f6
--- /dev/null
+++ b/wisefy/gradle.lockfile
@@ -0,0 +1,58 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.annotation:annotation-experimental:1.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.annotation:annotation:1.5.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.appcompat:appcompat-resources:1.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.appcompat:appcompat:1.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.arch.core:core-runtime:2.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.collection:collection:1.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.concurrent:concurrent-futures:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.core:core-ktx:1.8.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.core:core:1.8.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.cursoradapter:cursoradapter:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.customview:customview:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.drawerlayout:drawerlayout:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.emoji2:emoji2-views-helper:1.2.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.emoji2:emoji2:1.2.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.fragment:fragment:1.3.6=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.interpolator:interpolator:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-process:2.4.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel-savedstate:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.loader:loader:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.resourceinspection:resourceinspection-annotation:1.0.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.savedstate:savedstate:1.2.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.startup:startup-runtime:1.1.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.tracing:tracing:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.vectordrawable:vectordrawable-animated:1.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.vectordrawable:vectordrawable:1.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+com.google.guava:listenablefuture:1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+com.isupatches.android.wisefy:accesspoints:5.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+com.isupatches.android.wisefy:addnetwork:5.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+com.isupatches.android.wisefy:core:5.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+com.isupatches.android.wisefy:networkconnection:5.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+com.isupatches.android.wisefy:networkinfo:5.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+com.isupatches.android.wisefy:removenetwork:5.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+com.isupatches.android.wisefy:savednetworks:5.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+com.isupatches.android.wisefy:signal:5.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+com.isupatches.android.wisefy:wifi:5.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jacoco:org.jacoco.agent:0.8.8=debugRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.7.10=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.21=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.21=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib:1.7.10=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.4=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.4=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains:annotations:13.0=debugRuntimeClasspath,releaseRuntimeClasspath
+empty=
diff --git a/wisefy/ktx/.gitignore b/wisefy/ktx/.gitignore
new file mode 100644
index 00000000..796b96d1
--- /dev/null
+++ b/wisefy/ktx/.gitignore
@@ -0,0 +1 @@
+/build
diff --git a/wisefy/ktx/build.gradle.kts b/wisefy/ktx/build.gradle.kts
new file mode 100644
index 00000000..5f9ce917
--- /dev/null
+++ b/wisefy/ktx/build.gradle.kts
@@ -0,0 +1,26 @@
+import com.isupatches.android.wisefy.build.BuildVersions
+import com.isupatches.android.wisefy.build.Dependencies
+import com.isupatches.android.wisefy.build.PublishingConstants
+
+plugins {
+ id("com.android.library")
+ id("com.isupatches.android.wisefy.build.plugins.BaseGradleModulePlugin")
+ id("com.isupatches.android.wisefy.build.plugins.DocumentationPlugin")
+ id("com.isupatches.android.wisefy.build.plugins.PublishingPlugin")
+ id("kotlin-android")
+}
+
+group = PublishingConstants.GROUP_ID
+version = BuildVersions.MODULE_VERSION_NAME
+
+android {
+ namespace = "com.isupatches.android.wisefy.ktx"
+ testNamespace = "com.isupatches.android.wisefy.ktx.test"
+}
+
+dependencies {
+ api(project(":wisefy"))
+
+ // Kotlin
+ implementation(Dependencies.Kotlin.COROUTINES)
+}
diff --git a/wisefy/ktx/gradle.lockfile b/wisefy/ktx/gradle.lockfile
new file mode 100644
index 00000000..2067c0f6
--- /dev/null
+++ b/wisefy/ktx/gradle.lockfile
@@ -0,0 +1,58 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.annotation:annotation-experimental:1.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.annotation:annotation:1.5.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.appcompat:appcompat-resources:1.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.appcompat:appcompat:1.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.arch.core:core-runtime:2.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.collection:collection:1.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.concurrent:concurrent-futures:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.core:core-ktx:1.8.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.core:core:1.8.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.cursoradapter:cursoradapter:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.customview:customview:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.drawerlayout:drawerlayout:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.emoji2:emoji2-views-helper:1.2.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.emoji2:emoji2:1.2.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.fragment:fragment:1.3.6=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.interpolator:interpolator:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-process:2.4.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel-savedstate:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.loader:loader:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.resourceinspection:resourceinspection-annotation:1.0.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.savedstate:savedstate:1.2.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.startup:startup-runtime:1.1.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.tracing:tracing:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.vectordrawable:vectordrawable-animated:1.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.vectordrawable:vectordrawable:1.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+com.google.guava:listenablefuture:1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+com.isupatches.android.wisefy:accesspoints:5.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+com.isupatches.android.wisefy:addnetwork:5.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+com.isupatches.android.wisefy:core:5.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+com.isupatches.android.wisefy:networkconnection:5.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+com.isupatches.android.wisefy:networkinfo:5.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+com.isupatches.android.wisefy:removenetwork:5.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+com.isupatches.android.wisefy:savednetworks:5.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+com.isupatches.android.wisefy:signal:5.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+com.isupatches.android.wisefy:wifi:5.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jacoco:org.jacoco.agent:0.8.8=debugRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.7.10=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.21=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.21=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib:1.7.10=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.4=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.4=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains:annotations:13.0=debugRuntimeClasspath,releaseRuntimeClasspath
+empty=
diff --git a/wisefy/ktx/src/main/AndroidManifest.xml b/wisefy/ktx/src/main/AndroidManifest.xml
new file mode 100644
index 00000000..69e9b3b0
--- /dev/null
+++ b/wisefy/ktx/src/main/AndroidManifest.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/wisefy/ktx/src/main/java/com/isupatches/android/wisefy/ktx/AccessPoints.kt b/wisefy/ktx/src/main/java/com/isupatches/android/wisefy/ktx/AccessPoints.kt
new file mode 100644
index 00000000..208e7989
--- /dev/null
+++ b/wisefy/ktx/src/main/java/com/isupatches/android/wisefy/ktx/AccessPoints.kt
@@ -0,0 +1,67 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.ktx
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import androidx.annotation.RequiresPermission
+import com.isupatches.android.wisefy.WisefyApi
+import com.isupatches.android.wisefy.accesspoints.callbacks.GetAccessPointsCallbacks
+import com.isupatches.android.wisefy.accesspoints.entities.AccessPointData
+import com.isupatches.android.wisefy.accesspoints.entities.GetAccessPointsQuery
+import com.isupatches.android.wisefy.accesspoints.entities.GetAccessPointsResult
+import com.isupatches.android.wisefy.core.exceptions.WisefyException
+import kotlin.coroutines.suspendCoroutine
+
+/**
+ * A coroutine extension for getting all nearby access points.
+ *
+ * @receiver [WisefyApi]
+ *
+ * @param query The details of the query to get all nearby access points
+ *
+ * @see GetAccessPointsQuery
+ * @see GetAccessPointsResult
+ *
+ * @return GetNearbyAccessPointsResult - The result of getting all nearby access points
+ *
+ * @throws WisefyException
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+@Throws(WisefyException::class)
+@RequiresPermission(ACCESS_FINE_LOCATION)
+suspend fun WisefyApi.getAccessPointsAsync(
+ query: GetAccessPointsQuery = GetAccessPointsQuery.All()
+): GetAccessPointsResult =
+ suspendCoroutine { continuation ->
+ getAccessPoints(
+ query = query,
+ callbacks = object : GetAccessPointsCallbacks {
+ override fun onNoNearbyAccessPoints() {
+ continuation.resumeWith(Result.success(GetAccessPointsResult.Empty))
+ }
+
+ override fun onNearbyAccessPointsRetrieved(accessPoints: List) {
+ continuation.resumeWith(Result.success(GetAccessPointsResult.AccessPoints(accessPoints)))
+ }
+
+ override fun onWisefyAsyncFailure(exception: WisefyException) {
+ continuation.resumeWith(Result.failure(exception))
+ }
+ }
+ )
+ }
diff --git a/wisefy/ktx/src/main/java/com/isupatches/android/wisefy/ktx/AddNetwork.kt b/wisefy/ktx/src/main/java/com/isupatches/android/wisefy/ktx/AddNetwork.kt
new file mode 100644
index 00000000..5e162214
--- /dev/null
+++ b/wisefy/ktx/src/main/java/com/isupatches/android/wisefy/ktx/AddNetwork.kt
@@ -0,0 +1,68 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.ktx
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import android.Manifest.permission.CHANGE_WIFI_STATE
+import androidx.annotation.RequiresPermission
+import com.isupatches.android.wisefy.WisefyApi
+import com.isupatches.android.wisefy.addnetwork.callbacks.AddNetworkCallbacks
+import com.isupatches.android.wisefy.addnetwork.entities.AddNetworkRequest
+import com.isupatches.android.wisefy.addnetwork.entities.AddNetworkResult
+import com.isupatches.android.wisefy.core.exceptions.WisefyException
+import kotlin.coroutines.suspendCoroutine
+
+/**
+ * A coroutine extension for adding a network.
+ *
+ * *Notes*
+ * - Locked by the savedNetworkMutex along with functions for removing, querying, and checking if a network is saved
+ *
+ * @receiver [WisefyApi]
+ *
+ * @param request The details of the request to add a network
+ *
+ * @see AddNetworkRequest
+ * @see AddNetworkResult
+ *
+ * @return AddNetworkResult - The result when adding a network
+ *
+ * @throws WisefyException
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+@Throws(WisefyException::class)
+@RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
+suspend fun WisefyApi.addNetworkAsync(request: AddNetworkRequest): AddNetworkResult =
+ suspendCoroutine { continuation ->
+ addNetwork(
+ request = request,
+ callbacks = object : AddNetworkCallbacks {
+ override fun onSuccessAddingNetwork(result: AddNetworkResult.Success) {
+ continuation.resumeWith(Result.success(result))
+ }
+
+ override fun onFailureAddingNetwork(result: AddNetworkResult.Failure) {
+ continuation.resumeWith(Result.success(result))
+ }
+
+ override fun onWisefyAsyncFailure(exception: WisefyException) {
+ continuation.resumeWith(Result.failure(exception))
+ }
+ }
+ )
+ }
diff --git a/wisefy/ktx/src/main/java/com/isupatches/android/wisefy/ktx/NetworkConnection.kt b/wisefy/ktx/src/main/java/com/isupatches/android/wisefy/ktx/NetworkConnection.kt
new file mode 100644
index 00000000..6db244cd
--- /dev/null
+++ b/wisefy/ktx/src/main/java/com/isupatches/android/wisefy/ktx/NetworkConnection.kt
@@ -0,0 +1,68 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.ktx
+
+import android.os.Build
+import androidx.annotation.RequiresApi
+import com.isupatches.android.wisefy.WisefyApi
+import com.isupatches.android.wisefy.core.exceptions.WisefyException
+import com.isupatches.android.wisefy.networkconnection.callbacks.ChangeNetworkCallbacks
+import com.isupatches.android.wisefy.networkconnection.entities.ChangeNetworkRequest
+import com.isupatches.android.wisefy.networkconnection.entities.ChangeNetworkResult
+import kotlin.coroutines.suspendCoroutine
+
+/**
+ * A coroutine extension for changing the current network.
+ *
+ * *Notes*
+ * - Locked by the networkConnectionMutex along with functions for connecting, disconnecting, getting the device's
+ * current network connection status, and getting the device's current network
+ *
+ * @receiver [WisefyApi]
+ *
+ * @param request The details of the request to change the current network
+ *
+ * @see ChangeNetworkRequest
+ * @see ChangeNetworkResult
+ *
+ * @return ChangeNetworkResult - The result when changing the current network
+ *
+ * @throws WisefyException
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+@RequiresApi(Build.VERSION_CODES.Q)
+@Throws(WisefyException::class)
+suspend fun WisefyApi.changeNetworkAsync(request: ChangeNetworkRequest): ChangeNetworkResult =
+ suspendCoroutine { continuation ->
+ changeNetwork(
+ request = request,
+ callbacks = object : ChangeNetworkCallbacks {
+ override fun onFailureChangingNetworks(result: ChangeNetworkResult.Failure) {
+ continuation.resumeWith(Result.success(result))
+ }
+
+ override fun onSuccessChangingNetworks(result: ChangeNetworkResult.Success) {
+ continuation.resumeWith(Result.success(result))
+ }
+
+ override fun onWisefyAsyncFailure(exception: WisefyException) {
+ continuation.resumeWith(Result.failure(exception))
+ }
+ }
+ )
+ }
diff --git a/wisefy/ktx/src/main/java/com/isupatches/android/wisefy/ktx/NetworkInfo.kt b/wisefy/ktx/src/main/java/com/isupatches/android/wisefy/ktx/NetworkInfo.kt
new file mode 100644
index 00000000..ad0c79e2
--- /dev/null
+++ b/wisefy/ktx/src/main/java/com/isupatches/android/wisefy/ktx/NetworkInfo.kt
@@ -0,0 +1,112 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.ktx
+
+import android.Manifest.permission.ACCESS_NETWORK_STATE
+import androidx.annotation.RequiresPermission
+import com.isupatches.android.wisefy.WisefyApi
+import com.isupatches.android.wisefy.core.exceptions.WisefyException
+import com.isupatches.android.wisefy.networkinfo.callbacks.GetCurrentNetworkCallbacks
+import com.isupatches.android.wisefy.networkinfo.callbacks.GetNetworkConnectionStatusCallbacks
+import com.isupatches.android.wisefy.networkinfo.entities.GetCurrentNetworkQuery
+import com.isupatches.android.wisefy.networkinfo.entities.GetCurrentNetworkResult
+import com.isupatches.android.wisefy.networkinfo.entities.GetNetworkConnectionStatusQuery
+import com.isupatches.android.wisefy.networkinfo.entities.GetNetworkConnectionStatusResult
+import com.isupatches.android.wisefy.networkinfo.entities.NetworkConnectionStatusData
+import com.isupatches.android.wisefy.networkinfo.entities.NetworkData
+import kotlin.coroutines.suspendCoroutine
+
+/**
+ * A coroutine extension for getting the device's current network.
+ *
+ * *Notes*
+ * - Locked by the networkConnectionMutex along with functions for connecting, disconnecting, changing, and getting
+ * the device's current network connection status
+ *
+ * @receiver [WisefyApi]
+ *
+ * @param query The details of the query to get the device's current network
+ *
+ * @see GetCurrentNetworkQuery
+ * @see GetCurrentNetworkResult
+ *
+ * @return GetCurrentNetworkResult - The result when getting device's current network
+ *
+ * @throws WisefyException
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+@RequiresPermission(ACCESS_NETWORK_STATE)
+@Throws(WisefyException::class)
+suspend fun WisefyApi.getCurrentNetworkAsync(
+ query: GetCurrentNetworkQuery = GetCurrentNetworkQuery()
+): GetCurrentNetworkResult = suspendCoroutine { continuation ->
+ getCurrentNetwork(
+ query = query,
+ callbacks = object : GetCurrentNetworkCallbacks {
+ override fun onCurrentNetworkRetrieved(network: NetworkData) {
+ continuation.resumeWith(Result.success(GetCurrentNetworkResult(network)))
+ }
+
+ override fun onWisefyAsyncFailure(exception: WisefyException) {
+ continuation.resumeWith(Result.failure(exception))
+ }
+ }
+ )
+}
+
+/**
+ * A coroutine extension for getting the device's current network connection status.
+ *
+ * *Notes*
+ * - Locked by the networkConnectionMutex along with functions for connecting, disconnecting, changing, and getting the
+ * device's current network
+ *
+ * @receiver [WisefyApi]
+ *
+ * @param query The details of the query to get the device's current network connection status
+ *
+ * @see GetNetworkConnectionStatusQuery
+ * @see GetNetworkConnectionStatusResult
+ *
+ * @return GetNetworkConnectionStatusResult - The result when getting device's current network connection status
+ *
+ * @throws WisefyException
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+@Throws(WisefyException::class)
+@RequiresPermission(ACCESS_NETWORK_STATE)
+suspend fun WisefyApi.getNetworkConnectionStatusAsync(
+ query: GetNetworkConnectionStatusQuery = GetNetworkConnectionStatusQuery()
+): GetNetworkConnectionStatusResult = suspendCoroutine { continuation ->
+ getNetworkConnectionStatus(
+ query = query,
+ callbacks = object : GetNetworkConnectionStatusCallbacks {
+ override fun onDeviceNetworkConnectionStatusRetrieved(
+ networkConnectionStatus: NetworkConnectionStatusData
+ ) {
+ continuation.resumeWith(Result.success(GetNetworkConnectionStatusResult(networkConnectionStatus)))
+ }
+
+ override fun onWisefyAsyncFailure(exception: WisefyException) {
+ continuation.resumeWith(Result.failure(exception))
+ }
+ }
+ )
+}
diff --git a/wisefy/ktx/src/main/java/com/isupatches/android/wisefy/ktx/RemoveNetwork.kt b/wisefy/ktx/src/main/java/com/isupatches/android/wisefy/ktx/RemoveNetwork.kt
new file mode 100644
index 00000000..85f9ab0d
--- /dev/null
+++ b/wisefy/ktx/src/main/java/com/isupatches/android/wisefy/ktx/RemoveNetwork.kt
@@ -0,0 +1,69 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.ktx
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import android.Manifest.permission.ACCESS_WIFI_STATE
+import android.Manifest.permission.CHANGE_WIFI_STATE
+import androidx.annotation.RequiresPermission
+import com.isupatches.android.wisefy.WisefyApi
+import com.isupatches.android.wisefy.core.exceptions.WisefyException
+import com.isupatches.android.wisefy.removenetwork.callbacks.RemoveNetworkCallbacks
+import com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkRequest
+import com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkResult
+import kotlin.coroutines.suspendCoroutine
+
+/**
+ * A coroutine extension for removing a network.
+ *
+ * *Notes*
+ * - Locked by the savedNetworkMutex along with functions for adding, querying, and checking if a network is saved
+ *
+ * @receiver [WisefyApi]
+ *
+ * @param request The details of the request to remove a network
+ *
+ * @see RemoveNetworkRequest
+ * @see RemoveNetworkResult
+ *
+ * @return RemoveNetworkResult - The result of removing a network
+ *
+ * @throws WisefyException
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+@Throws(WisefyException::class)
+@RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE, CHANGE_WIFI_STATE])
+suspend fun WisefyApi.removeNetworkAsync(request: RemoveNetworkRequest): RemoveNetworkResult =
+ suspendCoroutine { continuation ->
+ removeNetwork(
+ request = request,
+ callbacks = object : RemoveNetworkCallbacks {
+ override fun onSuccessRemovingNetwork(result: RemoveNetworkResult.Success) {
+ continuation.resumeWith(Result.success(result))
+ }
+
+ override fun onFailureRemovingNetwork(result: RemoveNetworkResult.Failure) {
+ continuation.resumeWith(Result.success(result))
+ }
+
+ override fun onWisefyAsyncFailure(exception: WisefyException) {
+ continuation.resumeWith(Result.failure(exception))
+ }
+ }
+ )
+ }
diff --git a/wisefy/ktx/src/main/java/com/isupatches/android/wisefy/ktx/SavedNetworks.kt b/wisefy/ktx/src/main/java/com/isupatches/android/wisefy/ktx/SavedNetworks.kt
new file mode 100644
index 00000000..49adb566
--- /dev/null
+++ b/wisefy/ktx/src/main/java/com/isupatches/android/wisefy/ktx/SavedNetworks.kt
@@ -0,0 +1,116 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.ktx
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import android.Manifest.permission.ACCESS_WIFI_STATE
+import androidx.annotation.RequiresPermission
+import com.isupatches.android.wisefy.WisefyApi
+import com.isupatches.android.wisefy.core.exceptions.WisefyException
+import com.isupatches.android.wisefy.savednetworks.callbacks.GetSavedNetworksCallbacks
+import com.isupatches.android.wisefy.savednetworks.callbacks.IsNetworkSavedCallbacks
+import com.isupatches.android.wisefy.savednetworks.entities.GetSavedNetworksQuery
+import com.isupatches.android.wisefy.savednetworks.entities.GetSavedNetworksResult
+import com.isupatches.android.wisefy.savednetworks.entities.IsNetworkSavedQuery
+import com.isupatches.android.wisefy.savednetworks.entities.IsNetworkSavedResult
+import com.isupatches.android.wisefy.savednetworks.entities.SavedNetworkData
+import kotlin.coroutines.suspendCoroutine
+
+/**
+ * A coroutine extension for getting all of the saved networks on a device.
+ *
+ * *Notes*
+ * - Locked by the savedNetworkMutex along with functions for adding, removing, and checking if a network is saved
+ *
+ * @receiver [WisefyApi]
+ *
+ * @param query The details of the query to get all saved networks on the device
+ *
+ * @see GetSavedNetworksQuery
+ * @see GetSavedNetworksResult
+ *
+ * @return GetSavedNetworksResult - The result of getting the saved networks on the device
+ *
+ * @throws WisefyException
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+@Throws(WisefyException::class)
+@RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+suspend fun WisefyApi.getSavedNetworksAsync(
+ query: GetSavedNetworksQuery = GetSavedNetworksQuery.All
+): GetSavedNetworksResult =
+ suspendCoroutine { continuation ->
+ getSavedNetworks(
+ query = query,
+ callbacks = object : GetSavedNetworksCallbacks {
+ override fun onNoSavedNetworksFound() {
+ continuation.resumeWith(Result.success(GetSavedNetworksResult.Empty))
+ }
+
+ override fun onSavedNetworksRetrieved(savedNetworks: List) {
+ continuation.resumeWith(Result.success(GetSavedNetworksResult.SavedNetworks(savedNetworks)))
+ }
+
+ override fun onWisefyAsyncFailure(exception: WisefyException) {
+ continuation.resumeWith(Result.failure(exception))
+ }
+ }
+ )
+ }
+
+/**
+ * A coroutine extension for checking if a network is saved on a device.
+ *
+ * *Notes*
+ * - Locked by the savedNetworkMutex along with functions for adding, removing, and querying for saved networks
+ *
+ * @receiver [WisefyApi]
+ *
+ * @param query The details of the request to check if a network is saved on a device
+ *
+ * @see IsNetworkSavedQuery
+ * @see IsNetworkSavedResult
+ *
+ * @return IsNetworkSavedResult - The result of checking if a network is saved on the device.
+ *
+ * @throws WisefyException
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+@Throws(WisefyException::class)
+@RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+suspend fun WisefyApi.isNetworkSavedAsync(query: IsNetworkSavedQuery): IsNetworkSavedResult =
+ suspendCoroutine { continuation ->
+ isNetworkSaved(
+ query = query,
+ callbacks = object : IsNetworkSavedCallbacks {
+ override fun onNetworkIsSaved() {
+ continuation.resumeWith(Result.success(IsNetworkSavedResult.True))
+ }
+
+ override fun onNetworkIsNotSaved() {
+ continuation.resumeWith(Result.success(IsNetworkSavedResult.False))
+ }
+
+ override fun onWisefyAsyncFailure(exception: WisefyException) {
+ continuation.resumeWith(Result.failure(exception))
+ }
+ }
+ )
+ }
diff --git a/wisefy/ktx/src/main/java/com/isupatches/android/wisefy/ktx/Wifi.kt b/wisefy/ktx/src/main/java/com/isupatches/android/wisefy/ktx/Wifi.kt
new file mode 100644
index 00000000..8c881764
--- /dev/null
+++ b/wisefy/ktx/src/main/java/com/isupatches/android/wisefy/ktx/Wifi.kt
@@ -0,0 +1,160 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.ktx
+
+import android.Manifest.permission.ACCESS_WIFI_STATE
+import android.Manifest.permission.CHANGE_WIFI_STATE
+import androidx.annotation.RequiresPermission
+import com.isupatches.android.wisefy.WisefyApi
+import com.isupatches.android.wisefy.core.exceptions.WisefyException
+import com.isupatches.android.wisefy.wifi.callbacks.DisableWifiCallbacks
+import com.isupatches.android.wisefy.wifi.callbacks.EnableWifiCallbacks
+import com.isupatches.android.wisefy.wifi.callbacks.IsWifiEnabledCallbacks
+import com.isupatches.android.wisefy.wifi.entities.DisableWifiRequest
+import com.isupatches.android.wisefy.wifi.entities.DisableWifiResult
+import com.isupatches.android.wisefy.wifi.entities.EnableWifiRequest
+import com.isupatches.android.wisefy.wifi.entities.EnableWifiResult
+import com.isupatches.android.wisefy.wifi.entities.IsWifiEnabledQuery
+import com.isupatches.android.wisefy.wifi.entities.IsWifiEnabledResult
+import kotlin.coroutines.suspendCoroutine
+
+/**
+ * A coroutine extension for disabling wifi.
+ *
+ * *NOTES*
+ * - Locked by the wifiMutex along with functions for enabling wifi and checking if wifi is enabled
+ * - Will open the wifi settings screen on Android Q / SDK 29 or higher
+ *
+ * @receiver [WisefyApi]
+ *
+ * @param request The details of the request to disable wifi
+ *
+ * @see DisableWifiRequest
+ * @see DisableWifiResult
+ *
+ * @return DisableWifiResult - The result of disabling wifi
+ *
+ * @throws WisefyException
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+@Throws(WisefyException::class)
+@RequiresPermission(CHANGE_WIFI_STATE)
+suspend fun WisefyApi.disableWifiAsync(request: DisableWifiRequest): DisableWifiResult =
+ suspendCoroutine { continuation ->
+ disableWifi(
+ request = request,
+ callbacks = object : DisableWifiCallbacks {
+ override fun onSuccessDisablingWifi(result: DisableWifiResult.Success) {
+ continuation.resumeWith(Result.success(result))
+ }
+
+ override fun onFailureDisablingWifi(result: DisableWifiResult.Failure) {
+ continuation.resumeWith(Result.success(result))
+ }
+
+ override fun onWisefyAsyncFailure(exception: WisefyException) {
+ continuation.resumeWith(Result.failure(exception))
+ }
+ }
+ )
+ }
+
+/**
+ * A coroutine extension for enabling wifi.
+ *
+ * *NOTES*
+ * - Locked by the wifiMutex along with functions for disabling wifi and checking if wifi is enabled
+ * - Will open the wifi settings screen on Android Q / SDK 29 or higher
+ *
+ * @receiver [WisefyApi]
+ *
+ * @param request The details of the request to enable wifi
+ *
+ * @see EnableWifiRequest
+ * @see EnableWifiResult
+ *
+ * @return EnableWifiResult - The result of enabling wifi
+ *
+ * @throws WisefyException
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+@Throws(WisefyException::class)
+@RequiresPermission(CHANGE_WIFI_STATE)
+suspend fun WisefyApi.enableWifiAsync(request: EnableWifiRequest): EnableWifiResult =
+ suspendCoroutine { continuation ->
+ enableWifi(
+ request = request,
+ callbacks = object : EnableWifiCallbacks {
+ override fun onSuccessEnablingWifi(result: EnableWifiResult.Success) {
+ continuation.resumeWith(Result.success(result))
+ }
+
+ override fun onFailureEnablingWifi(result: EnableWifiResult.Failure) {
+ continuation.resumeWith(Result.success(result))
+ }
+
+ override fun onWisefyAsyncFailure(exception: WisefyException) {
+ continuation.resumeWith(Result.failure(exception))
+ }
+ }
+ )
+ }
+
+/**
+ * A coroutine extension for checking the current state of wifi.
+ *
+ * *NOTES*
+ * - Locked by the wifiMutex along with functions for enabling and disabling wifi
+ *
+ * @receiver [WisefyApi]
+ *
+ * @param query The details of the query to check the current state of wifi
+ *
+ * @see IsWifiEnabledQuery
+ * @see IsWifiEnabledResult
+ *
+ * @return IsWifiEnabledResult - The result of checking if wifi is enabled
+ *
+ * @throws WisefyException
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+@Throws(WisefyException::class)
+@RequiresPermission(ACCESS_WIFI_STATE)
+suspend fun WisefyApi.isWifiEnabledAsync(query: IsWifiEnabledQuery = IsWifiEnabledQuery()): IsWifiEnabledResult =
+ suspendCoroutine { continuation ->
+ isWifiEnabled(
+ query = query,
+ callbacks = object : IsWifiEnabledCallbacks {
+ override fun onWifiIsEnabled() {
+ continuation.resumeWith(Result.success(IsWifiEnabledResult.True))
+ }
+
+ override fun onWifiIsDisabled() {
+ continuation.resumeWith(Result.success(IsWifiEnabledResult.False))
+ }
+
+ override fun onWisefyAsyncFailure(exception: WisefyException) {
+ continuation.resumeWith(Result.failure(exception))
+ }
+ }
+ )
+ }
diff --git a/wisefy/networkconnection/.gitignore b/wisefy/networkconnection/.gitignore
new file mode 100644
index 00000000..796b96d1
--- /dev/null
+++ b/wisefy/networkconnection/.gitignore
@@ -0,0 +1 @@
+/build
diff --git a/wisefy/networkconnection/build.gradle.kts b/wisefy/networkconnection/build.gradle.kts
new file mode 100644
index 00000000..eb974b0e
--- /dev/null
+++ b/wisefy/networkconnection/build.gradle.kts
@@ -0,0 +1,26 @@
+import com.isupatches.android.wisefy.build.BuildVersions
+import com.isupatches.android.wisefy.build.Dependencies
+import com.isupatches.android.wisefy.build.PublishingConstants
+
+plugins {
+ id("com.android.library")
+ id("com.isupatches.android.wisefy.build.plugins.BaseGradleModulePlugin")
+ id("com.isupatches.android.wisefy.build.plugins.DocumentationPlugin")
+ id("com.isupatches.android.wisefy.build.plugins.PublishingPlugin")
+ id("kotlin-android")
+}
+
+group = PublishingConstants.GROUP_ID
+version = BuildVersions.MODULE_VERSION_NAME
+
+android {
+ namespace = "com.isupatches.android.wisefy.networkconnection"
+ testNamespace = "com.isupatches.android.wisefy.networkconnection.test"
+}
+
+dependencies {
+ implementation(project(":wisefy:core"))
+
+ // Kotlin
+ implementation(Dependencies.Kotlin.COROUTINES)
+}
diff --git a/wisefy/networkconnection/gradle.lockfile b/wisefy/networkconnection/gradle.lockfile
new file mode 100644
index 00000000..00ca553d
--- /dev/null
+++ b/wisefy/networkconnection/gradle.lockfile
@@ -0,0 +1,49 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.annotation:annotation-experimental:1.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.annotation:annotation:1.5.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.appcompat:appcompat-resources:1.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.appcompat:appcompat:1.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.arch.core:core-runtime:2.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.collection:collection:1.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.concurrent:concurrent-futures:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.core:core-ktx:1.8.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.core:core:1.8.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.cursoradapter:cursoradapter:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.customview:customview:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.drawerlayout:drawerlayout:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.emoji2:emoji2-views-helper:1.2.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.emoji2:emoji2:1.2.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.fragment:fragment:1.3.6=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.interpolator:interpolator:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-process:2.4.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel-savedstate:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.loader:loader:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.resourceinspection:resourceinspection-annotation:1.0.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.savedstate:savedstate:1.2.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.startup:startup-runtime:1.1.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.tracing:tracing:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.vectordrawable:vectordrawable-animated:1.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.vectordrawable:vectordrawable:1.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+com.google.guava:listenablefuture:1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jacoco:org.jacoco.agent:0.8.8=debugRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.7.10=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.21=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.21=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib:1.7.10=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.4=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.4=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains:annotations:13.0=debugRuntimeClasspath,releaseRuntimeClasspath
+empty=
diff --git a/wisefy/networkconnection/src/main/AndroidManifest.xml b/wisefy/networkconnection/src/main/AndroidManifest.xml
new file mode 100644
index 00000000..e60d2cba
--- /dev/null
+++ b/wisefy/networkconnection/src/main/AndroidManifest.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/NetworkConnectionApi.kt b/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/NetworkConnectionApi.kt
new file mode 100644
index 00000000..7356e084
--- /dev/null
+++ b/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/NetworkConnectionApi.kt
@@ -0,0 +1,89 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.networkconnection
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import android.Manifest.permission.ACCESS_NETWORK_STATE
+import android.Manifest.permission.ACCESS_WIFI_STATE
+import android.os.Build
+import androidx.annotation.RequiresApi
+import androidx.annotation.RequiresPermission
+import com.isupatches.android.wisefy.core.constants.DeprecationMessages
+import com.isupatches.android.wisefy.networkconnection.entities.ChangeNetworkRequest
+import com.isupatches.android.wisefy.networkconnection.entities.ChangeNetworkResult
+import com.isupatches.android.wisefy.networkconnection.entities.ConnectToNetworkRequest
+import com.isupatches.android.wisefy.networkconnection.entities.ConnectToNetworkResult
+import com.isupatches.android.wisefy.networkconnection.entities.DisconnectFromCurrentNetworkRequest
+import com.isupatches.android.wisefy.networkconnection.entities.DisconnectFromCurrentNetworkResult
+
+/**
+ * A set of synchronous APIs for connecting to and disconnecting from a network.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+interface NetworkConnectionApi {
+
+ /**
+ * An synchronous API to change the network the device is connected to.
+ *
+ * *Notes*
+ * - Will open up the internet connectivity panel
+ *
+ * @param request The details of the request to change the device's network
+ *
+ * @see ChangeNetworkRequest
+ * @see ChangeNetworkResult
+ *
+ * @return ChangeNetworkResult - The result of changing the device's network
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @RequiresApi(Build.VERSION_CODES.Q)
+ fun changeNetwork(request: ChangeNetworkRequest): ChangeNetworkResult
+
+ /**
+ * A synchronous API to connect to a network.
+ *
+ * @param request The details of the request to connect to a network
+ *
+ * @see ConnectToNetworkRequest
+ * @see ConnectToNetworkResult
+ *
+ * @return ConnectToNetworkResult - The result of connecting to a network
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @Deprecated(DeprecationMessages.NetworkConnection.CONNECT_TO_NETWORK)
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE, ACCESS_NETWORK_STATE])
+ fun connectToNetwork(request: ConnectToNetworkRequest): ConnectToNetworkResult
+
+ /**
+ * A synchronous API to disconnect from the current network.
+ *
+ * @see DisconnectFromCurrentNetworkRequest
+ * @see DisconnectFromCurrentNetworkResult
+ *
+ * @return DisconnectFromCurrentNetworkResult - The result of disconnecting from the current network
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @Deprecated(DeprecationMessages.NetworkConnection.DISCONNECT_FROM_CURRENT_NETWORK)
+ fun disconnectFromCurrentNetwork(request: DisconnectFromCurrentNetworkRequest): DisconnectFromCurrentNetworkResult
+}
diff --git a/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/NetworkConnectionApiAsync.kt b/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/NetworkConnectionApiAsync.kt
new file mode 100644
index 00000000..f5bf61bb
--- /dev/null
+++ b/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/NetworkConnectionApiAsync.kt
@@ -0,0 +1,101 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.networkconnection
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import android.Manifest.permission.ACCESS_NETWORK_STATE
+import android.Manifest.permission.ACCESS_WIFI_STATE
+import android.os.Build
+import androidx.annotation.RequiresApi
+import androidx.annotation.RequiresPermission
+import com.isupatches.android.wisefy.core.constants.DeprecationMessages
+import com.isupatches.android.wisefy.networkconnection.callbacks.ChangeNetworkCallbacks
+import com.isupatches.android.wisefy.networkconnection.callbacks.ConnectToNetworkCallbacks
+import com.isupatches.android.wisefy.networkconnection.callbacks.DisconnectFromCurrentNetworkCallbacks
+import com.isupatches.android.wisefy.networkconnection.entities.ChangeNetworkRequest
+import com.isupatches.android.wisefy.networkconnection.entities.ConnectToNetworkRequest
+import com.isupatches.android.wisefy.networkconnection.entities.DisconnectFromCurrentNetworkRequest
+
+/**
+ * A set of asynchronous APIs for connecting to and disconnecting from a network.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+interface NetworkConnectionApiAsync {
+
+ /**
+ * An asynchronous API to change the network the device is connected to.
+ *
+ * *Notes*
+ * - Locked by the networkConnectionMutex along with functions for connecting, disconnecting, getting the device's
+ * current network connection status, and getting the device's current network
+ * - Will open up the internet connectivity panel
+ *
+ * @param request The details of the request to change the device's network
+ * @param callbacks The callbacks for changing the device's network
+ *
+ * @see ChangeNetworkCallbacks
+ * @see ChangeNetworkRequest
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @RequiresApi(Build.VERSION_CODES.Q)
+ fun changeNetwork(request: ChangeNetworkRequest, callbacks: ChangeNetworkCallbacks?)
+
+ /**
+ * An asynchronous API to connect to a network.
+ *
+ * *Notes*
+ * - Locked by the networkConnectionMutex along with functions for disconnecting, changing, getting the device's
+ * current network connection status, and getting the device's current network
+ *
+ * @param request The details of the request to connect to a network
+ * @param callbacks The callbacks for connecting to a network
+ *
+ * @see ConnectToNetworkCallbacks
+ * @see ConnectToNetworkRequest
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @Deprecated(DeprecationMessages.NetworkConnection.CONNECT_TO_NETWORK)
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE, ACCESS_NETWORK_STATE])
+ fun connectToNetwork(request: ConnectToNetworkRequest, callbacks: ConnectToNetworkCallbacks?)
+
+ /**
+ * An asynchronous API to disconnect from the current network.
+ *
+ * *Notes*
+ * - Locked by the networkConnectionMutex along with functions for connecting, changing, getting the device's
+ * current network connection status, and getting the device's current network
+ *
+ * @param request The details of the request to disconnect from the current network
+ * @param callbacks The callbacks for disconnecting from a network
+ *
+ * @see DisconnectFromCurrentNetworkRequest
+ * @see DisconnectFromCurrentNetworkCallbacks
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @Deprecated(DeprecationMessages.NetworkConnection.DISCONNECT_FROM_CURRENT_NETWORK)
+ fun disconnectFromCurrentNetwork(
+ request: DisconnectFromCurrentNetworkRequest,
+ callbacks: DisconnectFromCurrentNetworkCallbacks?
+ )
+}
diff --git a/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/NetworkConnectionDelegate.kt b/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/NetworkConnectionDelegate.kt
new file mode 100644
index 00000000..0ed9ced2
--- /dev/null
+++ b/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/NetworkConnectionDelegate.kt
@@ -0,0 +1,27 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.networkconnection
+
+/**
+ * A delegate for synchronous and asynchronous APIs to connect to and disconnect from networks.
+ *
+ * @see NetworkConnectionApi
+ * @see NetworkConnectionApiAsync
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+interface NetworkConnectionDelegate : NetworkConnectionApi, NetworkConnectionApiAsync
diff --git a/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/WisefyNetworkConnectionDelegate.kt b/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/WisefyNetworkConnectionDelegate.kt
new file mode 100644
index 00000000..5a8484fa
--- /dev/null
+++ b/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/WisefyNetworkConnectionDelegate.kt
@@ -0,0 +1,187 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.networkconnection
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import android.Manifest.permission.ACCESS_NETWORK_STATE
+import android.Manifest.permission.ACCESS_WIFI_STATE
+import android.net.ConnectivityManager
+import android.net.wifi.WifiManager
+import android.os.Build
+import androidx.annotation.RequiresApi
+import androidx.annotation.RequiresPermission
+import com.isupatches.android.wisefy.core.assertions.WisefyAssertions
+import com.isupatches.android.wisefy.core.constants.DeprecationMessages
+import com.isupatches.android.wisefy.core.coroutines.CoroutineDispatcherProvider
+import com.isupatches.android.wisefy.core.coroutines.createBaseCoroutineExceptionHandler
+import com.isupatches.android.wisefy.core.entities.NetworkConnectionStatus
+import com.isupatches.android.wisefy.core.logging.WisefyLogger
+import com.isupatches.android.wisefy.core.util.SdkUtil
+import com.isupatches.android.wisefy.networkconnection.callbacks.ChangeNetworkCallbacks
+import com.isupatches.android.wisefy.networkconnection.callbacks.ConnectToNetworkCallbacks
+import com.isupatches.android.wisefy.networkconnection.callbacks.DisconnectFromCurrentNetworkCallbacks
+import com.isupatches.android.wisefy.networkconnection.entities.ChangeNetworkRequest
+import com.isupatches.android.wisefy.networkconnection.entities.ChangeNetworkResult
+import com.isupatches.android.wisefy.networkconnection.entities.ConnectToNetworkRequest
+import com.isupatches.android.wisefy.networkconnection.entities.ConnectToNetworkResult
+import com.isupatches.android.wisefy.networkconnection.entities.DisconnectFromCurrentNetworkRequest
+import com.isupatches.android.wisefy.networkconnection.entities.DisconnectFromCurrentNetworkResult
+import com.isupatches.android.wisefy.networkconnection.os.adapters.Android29NetworkConnectionAdapter
+import com.isupatches.android.wisefy.networkconnection.os.adapters.DefaultNetworkConnectionAdapter
+import kotlinx.coroutines.CoroutineScope
+import kotlinx.coroutines.launch
+import kotlinx.coroutines.sync.Mutex
+import kotlinx.coroutines.sync.withLock
+import kotlinx.coroutines.withContext
+
+/**
+ * An internal Wisefy delegate for getting and searching for nearby access points through the Android OS.
+ *
+ * @param assertions The [WisefyAssertions] instance to use
+ * @param connectivityManager The ConnectivityManager instance to use
+ * @param logger The [WisefyLogger] instance to use
+ * @param sdkUtil The [SdkUtil] instance to use
+ * @param wifiManager The WifiManager instance to use
+ * @param networkConnectionStatusProvider The on-demand way to retrieve the current network connection status
+ * @property coroutineDispatcherProvider The instance of the coroutine dispatcher provider to use
+ * @property scope The coroutine scope to use
+ * @property networkConnectionMutex The mutex for all read/write operations involving connecting, disconnecting, and
+ * getting the device's current network and connection status
+ * @property adapter The adapter instance to use for connecting, disconnecting, and changing networks
+ * (determined based on the Android OS level)
+ *
+ * @see Android29NetworkConnectionAdapter
+ * @see CoroutineDispatcherProvider
+ * @see DefaultNetworkConnectionAdapter
+ * @see NetworkConnectionDelegate
+ * @see NetworkConnectionStatus
+ * @see SdkUtil
+ * @see WisefyAssertions
+ * @see WisefyLogger
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+class WisefyNetworkConnectionDelegate(
+ assertions: WisefyAssertions,
+ connectivityManager: ConnectivityManager,
+ logger: WisefyLogger,
+ sdkUtil: SdkUtil,
+ wifiManager: WifiManager,
+ networkConnectionStatusProvider: suspend () -> NetworkConnectionStatus?,
+ private val coroutineDispatcherProvider: CoroutineDispatcherProvider,
+ private val scope: CoroutineScope,
+ private val networkConnectionMutex: Mutex,
+ private val adapter: NetworkConnectionApi = if (sdkUtil.isAtLeastQ()) {
+ Android29NetworkConnectionAdapter(
+ logger,
+ assertions
+ )
+ } else {
+ DefaultNetworkConnectionAdapter(
+ connectivityManager,
+ wifiManager,
+ logger,
+ sdkUtil,
+ networkConnectionStatusProvider,
+ assertions
+ )
+ }
+) : NetworkConnectionDelegate {
+
+ init {
+ logger.d(LOG_TAG, "WisefyNetworkConnectionDelegate adapter is: ${adapter::class.java.simpleName}")
+ }
+
+ @RequiresApi(Build.VERSION_CODES.Q)
+ override fun changeNetwork(request: ChangeNetworkRequest): ChangeNetworkResult {
+ return adapter.changeNetwork(request)
+ }
+
+ @RequiresApi(Build.VERSION_CODES.Q)
+ override fun changeNetwork(request: ChangeNetworkRequest, callbacks: ChangeNetworkCallbacks?) {
+ scope.launch(createBaseCoroutineExceptionHandler(callbacks)) {
+ networkConnectionMutex.withLock {
+ val result = adapter.changeNetwork(request)
+ withContext(coroutineDispatcherProvider.main) {
+ when (result) {
+ is ChangeNetworkResult.Success -> callbacks?.onSuccessChangingNetworks(result)
+ is ChangeNetworkResult.Failure -> callbacks?.onFailureChangingNetworks(result)
+ }
+ }
+ }
+ }
+ }
+
+ @Deprecated(DeprecationMessages.NetworkConnection.CONNECT_TO_NETWORK)
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE, ACCESS_NETWORK_STATE])
+ override fun connectToNetwork(request: ConnectToNetworkRequest): ConnectToNetworkResult {
+ @Suppress("Deprecation")
+ return adapter.connectToNetwork(request)
+ }
+
+ @Deprecated(DeprecationMessages.NetworkConnection.CONNECT_TO_NETWORK)
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE, ACCESS_NETWORK_STATE])
+ override fun connectToNetwork(request: ConnectToNetworkRequest, callbacks: ConnectToNetworkCallbacks?) {
+ scope.launch(createBaseCoroutineExceptionHandler(callbacks)) {
+ networkConnectionMutex.withLock {
+ @Suppress("Deprecation")
+ val result = adapter.connectToNetwork(request)
+ withContext(coroutineDispatcherProvider.main) {
+ when (result) {
+ is ConnectToNetworkResult.Success -> callbacks?.onSuccessConnectingToNetwork(result)
+ is ConnectToNetworkResult.Failure -> callbacks?.onFailureConnectingToNetwork(result)
+ }
+ }
+ }
+ }
+ }
+
+ @Deprecated(DeprecationMessages.NetworkConnection.DISCONNECT_FROM_CURRENT_NETWORK)
+ override fun disconnectFromCurrentNetwork(
+ request: DisconnectFromCurrentNetworkRequest
+ ): DisconnectFromCurrentNetworkResult {
+ @Suppress("Deprecation")
+ return adapter.disconnectFromCurrentNetwork(request)
+ }
+
+ @Deprecated(DeprecationMessages.NetworkConnection.DISCONNECT_FROM_CURRENT_NETWORK)
+ override fun disconnectFromCurrentNetwork(
+ request: DisconnectFromCurrentNetworkRequest,
+ callbacks: DisconnectFromCurrentNetworkCallbacks?
+ ) {
+ scope.launch(createBaseCoroutineExceptionHandler(callbacks)) {
+ networkConnectionMutex.withLock {
+ @Suppress("Deprecation")
+ val result = adapter.disconnectFromCurrentNetwork(request)
+ withContext(coroutineDispatcherProvider.main) {
+ when (result) {
+ is DisconnectFromCurrentNetworkResult.Success -> {
+ callbacks?.onSuccessDisconnectingFromCurrentNetwork(result)
+ }
+ is DisconnectFromCurrentNetworkResult.Failure -> {
+ callbacks?.onFailureDisconnectingFromCurrentNetwork(result)
+ }
+ }
+ }
+ }
+ }
+ }
+
+ companion object {
+ private const val LOG_TAG = "WisefyNetworkConnectionDelegate"
+ }
+}
diff --git a/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/callbacks/ChangeNetworkCallbacks.kt b/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/callbacks/ChangeNetworkCallbacks.kt
new file mode 100644
index 00000000..2734574d
--- /dev/null
+++ b/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/callbacks/ChangeNetworkCallbacks.kt
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.networkconnection.callbacks
+
+import com.isupatches.android.wisefy.core.base.BaseWisefyCallbacks
+import com.isupatches.android.wisefy.networkconnection.entities.ChangeNetworkResult
+
+/**
+ * A set of callbacks for changing the current network.
+ *
+ * @see BaseWisefyCallbacks
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+interface ChangeNetworkCallbacks : BaseWisefyCallbacks {
+
+ /**
+ * A callback triggered when there is a failure changing the current network.
+ *
+ * @param result The details from the failure while attempting to change the current network
+ *
+ * @see ChangeNetworkResult.Failure
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ fun onFailureChangingNetworks(result: ChangeNetworkResult.Failure)
+
+ /**
+ * A callback triggered when there is a success while changing the current network.
+ *
+ * @param result The details from the successful attempt changing the current network
+ *
+ * @see ChangeNetworkResult.Success
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ fun onSuccessChangingNetworks(result: ChangeNetworkResult.Success)
+}
diff --git a/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/callbacks/ConnectToNetworkCallbacks.kt b/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/callbacks/ConnectToNetworkCallbacks.kt
new file mode 100644
index 00000000..30774f30
--- /dev/null
+++ b/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/callbacks/ConnectToNetworkCallbacks.kt
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.networkconnection.callbacks
+
+import com.isupatches.android.wisefy.core.base.BaseWisefyCallbacks
+import com.isupatches.android.wisefy.networkconnection.entities.ConnectToNetworkResult
+
+/**
+ * A set of callbacks for connecting to a network.
+ *
+ * @see BaseWisefyCallbacks
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+interface ConnectToNetworkCallbacks : BaseWisefyCallbacks {
+
+ /**
+ * A callback triggered when there is a failure connecting to a network.
+ *
+ * @param result The details from the failure while attempting to connect to a network
+ *
+ * @see ConnectToNetworkResult.Failure
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ fun onFailureConnectingToNetwork(result: ConnectToNetworkResult.Failure)
+
+ /**
+ * A callback triggered when there is a success while connecting to a network.
+ *
+ * @param result The details from the successful attempt connecting to a network
+ *
+ * @see ConnectToNetworkResult.Success
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ fun onSuccessConnectingToNetwork(result: ConnectToNetworkResult.Success)
+}
diff --git a/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/callbacks/DisconnectFromCurrentNetworkCallbacks.kt b/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/callbacks/DisconnectFromCurrentNetworkCallbacks.kt
new file mode 100644
index 00000000..82e5a3a9
--- /dev/null
+++ b/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/callbacks/DisconnectFromCurrentNetworkCallbacks.kt
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.networkconnection.callbacks
+
+import com.isupatches.android.wisefy.core.base.BaseWisefyCallbacks
+import com.isupatches.android.wisefy.networkconnection.entities.DisconnectFromCurrentNetworkResult
+
+/**
+ * A set of callbacks for disconnecting from the current network.
+ *
+ * @see BaseWisefyCallbacks
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+interface DisconnectFromCurrentNetworkCallbacks : BaseWisefyCallbacks {
+
+ /**
+ * A callback triggered when there is a failure disconnecting from the current network.
+ *
+ * @param result The details from the failure while attempting to disconnect from the current network
+ *
+ * @see DisconnectFromCurrentNetworkResult.Failure
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ fun onFailureDisconnectingFromCurrentNetwork(result: DisconnectFromCurrentNetworkResult.Failure)
+
+ /**
+ * A callback triggered when there is a success while disconnecting from the current network.
+ *
+ * @param result The details from the successful attempt disconnecting from the current network
+ *
+ * @see DisconnectFromCurrentNetworkResult.Success
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ fun onSuccessDisconnectingFromCurrentNetwork(result: DisconnectFromCurrentNetworkResult.Success)
+}
diff --git a/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/entities/ChangeNetworkRequest.kt b/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/entities/ChangeNetworkRequest.kt
new file mode 100644
index 00000000..d7df1724
--- /dev/null
+++ b/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/entities/ChangeNetworkRequest.kt
@@ -0,0 +1,28 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.networkconnection.entities
+
+import android.content.Context
+
+/**
+ * A representation of a request to change the device's current network.
+ *
+ * @property context The context used to open the internet connectivity panel
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+data class ChangeNetworkRequest(val context: Context)
diff --git a/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/entities/ChangeNetworkResult.kt b/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/entities/ChangeNetworkResult.kt
new file mode 100644
index 00000000..8c48ac3a
--- /dev/null
+++ b/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/entities/ChangeNetworkResult.kt
@@ -0,0 +1,73 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.networkconnection.entities
+
+/**
+ * A set of classes and objects that are representations of a result while changing the device's current network.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+sealed class ChangeNetworkResult {
+
+ /**
+ * A set of classes and objects that are representations of a success while changing the device's current network.
+ *
+ * @see ChangeNetworkResult
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ sealed class Success : ChangeNetworkResult() {
+
+ /**
+ * A representation of a success changing the device's current network by opening the internet connectivity
+ * panel.
+ *
+ * @see Success
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ object InternetConnectivityPanelOpened : Success()
+ }
+
+ /**
+ * A set of classes and objects that are representations of a failure while changing the device's current network.
+ *
+ * @see ChangeNetworkResult
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ sealed class Failure : ChangeNetworkResult() {
+
+ /**
+ * A representation of a failure changing the device's current network due to hitting an unexpected path
+ * causing an assertion.
+ *
+ * *NOTE* This is for developer specific feedback and should NEVER actually be hit unless there is a bug.
+ *
+ * @property message A text description describing the assertion error hit
+ *
+ * @see Failure
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ data class Assertion(val message: String) : Failure()
+ }
+}
diff --git a/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/entities/ConnectToNetworkRequest.kt b/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/entities/ConnectToNetworkRequest.kt
new file mode 100644
index 00000000..7acbfbb3
--- /dev/null
+++ b/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/entities/ConnectToNetworkRequest.kt
@@ -0,0 +1,61 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.networkconnection.entities
+
+/**
+ * A set of classes and objects that are used in requests to connect to a network.
+ *
+ * @property timeoutInMillis The timeout in milliseconds to wait for a connection to the network
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+sealed class ConnectToNetworkRequest(
+ open val timeoutInMillis: Int
+) {
+
+ /**
+ * A representation of a request to connect to a network by SSID.
+ *
+ * @property ssid The SSID of the network to connect to or disconnect from
+ * @property timeoutInMillis The timeout in milliseconds to wait for a connection to the network
+ *
+ * @see ConnectToNetworkRequest
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ data class SSID(
+ val ssid: String,
+ override val timeoutInMillis: Int
+ ) : ConnectToNetworkRequest(timeoutInMillis)
+
+ /**
+ * A representation of a request to connect to a network by BSSID.
+ *
+ * @property bssid The BSSID of the network to connect to or disconnect from
+ * @property timeoutInMillis The timeout in milliseconds to wait for a connection to the network
+ *
+ * @see ConnectToNetworkRequest
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ data class BSSID(
+ val bssid: String,
+ override val timeoutInMillis: Int
+ ) : ConnectToNetworkRequest(timeoutInMillis)
+}
diff --git a/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/entities/ConnectToNetworkResult.kt b/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/entities/ConnectToNetworkResult.kt
new file mode 100644
index 00000000..f61afc2a
--- /dev/null
+++ b/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/entities/ConnectToNetworkResult.kt
@@ -0,0 +1,91 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.networkconnection.entities
+
+/**
+ * A set of classes and objects that are data representations of a result when connecting to a network.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+sealed class ConnectToNetworkResult {
+
+ /**
+ * A set of classes and objects that are data representations of a success when connecting to a network.
+ *
+ * @see ConnectToNetworkResult
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ sealed class Success : ConnectToNetworkResult() {
+
+ /**
+ * A data representation for when there is a success connecting to a network.
+ *
+ * @see Success
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ object True : Success()
+ }
+
+ /**
+ * A set of classes that are data representations of a failure when connecting to a network.
+ *
+ * @see ConnectToNetworkResult
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ sealed class Failure : ConnectToNetworkResult() {
+
+ /**
+ * A data representation for when there is a failure connecting to a network.
+ *
+ * @see Failure
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ object False : Failure()
+
+ /**
+ * A data representation for when there is no network found to connect to.
+ *
+ * @see Failure
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ object NetworkNotFound : Failure()
+
+ /**
+ * A representation of a failure connecting to a network due to hitting an unexpected path causing an assertion.
+ *
+ * *NOTE* This is for developer specific feedback and should NEVER actually be hit unless there is a bug.
+ *
+ * @property message A text description describing the assertion error hit
+ *
+ * @see Failure
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ data class Assertion(val message: String) : Failure()
+ }
+}
diff --git a/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/entities/DisconnectFromCurrentNetworkRequest.kt b/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/entities/DisconnectFromCurrentNetworkRequest.kt
new file mode 100644
index 00000000..d71895ed
--- /dev/null
+++ b/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/entities/DisconnectFromCurrentNetworkRequest.kt
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.networkconnection.entities
+
+/**
+ * A representation of a request to disconnect from the current network.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+class DisconnectFromCurrentNetworkRequest
diff --git a/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/entities/DisconnectFromCurrentNetworkResult.kt b/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/entities/DisconnectFromCurrentNetworkResult.kt
new file mode 100644
index 00000000..ea7931bd
--- /dev/null
+++ b/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/entities/DisconnectFromCurrentNetworkResult.kt
@@ -0,0 +1,82 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.networkconnection.entities
+
+/**
+ * A set of classes and objects that are representations of a result when disconnecting from the current network.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+sealed class DisconnectFromCurrentNetworkResult {
+
+ /**
+ * A set of classes objects that are representations of a success when disconnecting from the current network.
+ *
+ * @see DisconnectFromCurrentNetworkResult
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ sealed class Success : DisconnectFromCurrentNetworkResult() {
+
+ /**
+ * A data representation for when there is a success disconnecting from the current network.
+ *
+ * @see Success
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ object True : Success()
+ }
+
+ /**
+ * A set of classes and objects that are representations of a failure when disconnecting from the current network.
+ *
+ * @see DisconnectFromCurrentNetworkResult
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ sealed class Failure : DisconnectFromCurrentNetworkResult() {
+
+ /**
+ * A data representation for when there is a failure disconnecting from the current network.
+ *
+ * @see Failure
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ object False : Failure()
+
+ /**
+ * A representation of a failure disconnecting from the current network due to hitting an unexpected path
+ * causing an assertion.
+ *
+ * *NOTE* This is for developer specific feedback and should NEVER actually be hit unless there is a bug.
+ *
+ * @property message A text description describing the assertion error hit
+ *
+ * @see Failure
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ data class Assertion(val message: String) : Failure()
+ }
+}
diff --git a/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/os/adapters/Android29NetworkConnectionAdapter.kt b/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/os/adapters/Android29NetworkConnectionAdapter.kt
new file mode 100644
index 00000000..d475336e
--- /dev/null
+++ b/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/os/adapters/Android29NetworkConnectionAdapter.kt
@@ -0,0 +1,76 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.networkconnection.os.adapters
+
+import android.os.Build
+import androidx.annotation.RequiresApi
+import com.isupatches.android.wisefy.core.assertions.WisefyAssertions
+import com.isupatches.android.wisefy.core.constants.AssertionMessages
+import com.isupatches.android.wisefy.core.constants.DeprecationMessages
+import com.isupatches.android.wisefy.core.logging.WisefyLogger
+import com.isupatches.android.wisefy.networkconnection.NetworkConnectionApi
+import com.isupatches.android.wisefy.networkconnection.entities.ChangeNetworkRequest
+import com.isupatches.android.wisefy.networkconnection.entities.ChangeNetworkResult
+import com.isupatches.android.wisefy.networkconnection.entities.ConnectToNetworkRequest
+import com.isupatches.android.wisefy.networkconnection.entities.ConnectToNetworkResult
+import com.isupatches.android.wisefy.networkconnection.entities.DisconnectFromCurrentNetworkRequest
+import com.isupatches.android.wisefy.networkconnection.entities.DisconnectFromCurrentNetworkResult
+import com.isupatches.android.wisefy.networkconnection.os.apis.Android29NetworkConnectionApi
+import com.isupatches.android.wisefy.networkconnection.os.impls.Android29NetworkConnectionApiImpl
+
+/**
+ * An Android 29 or higher adapter for connecting to or disconnecting from a network.
+ *
+ * @param logger The [WisefyLogger] instance to use
+ * @property assertions The [WisefyAssertions] instance to use
+ * @property api The OS level API instance to use
+ *
+ * @see Android29NetworkConnectionApi
+ * @see Android29NetworkConnectionApiImpl
+ * @see NetworkConnectionApi
+ * @see WisefyLogger
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+@RequiresApi(Build.VERSION_CODES.Q)
+internal class Android29NetworkConnectionAdapter(
+ logger: WisefyLogger,
+ private val assertions: WisefyAssertions,
+ private val api: Android29NetworkConnectionApi = Android29NetworkConnectionApiImpl(logger = logger)
+) : NetworkConnectionApi {
+
+ override fun changeNetwork(request: ChangeNetworkRequest): ChangeNetworkResult {
+ api.openInternetConnectivityPanel(request.context)
+ return ChangeNetworkResult.Success.InternetConnectivityPanelOpened
+ }
+
+ @Deprecated(DeprecationMessages.NetworkConnection.CONNECT_TO_NETWORK)
+ override fun connectToNetwork(request: ConnectToNetworkRequest): ConnectToNetworkResult {
+ val message = AssertionMessages.NetworkConnection.ConnectToNetwork.USED_ANDROID_Q_OR_HIGHER
+ assertions.fail(message)
+ return ConnectToNetworkResult.Failure.Assertion(message)
+ }
+
+ @Deprecated(DeprecationMessages.NetworkConnection.DISCONNECT_FROM_CURRENT_NETWORK)
+ override fun disconnectFromCurrentNetwork(
+ request: DisconnectFromCurrentNetworkRequest
+ ): DisconnectFromCurrentNetworkResult {
+ val message = AssertionMessages.NetworkConnection.DisconnectFromCurrentNetwork.USED_ANDROID_Q_OR_HIGHER
+ assertions.fail(message)
+ return DisconnectFromCurrentNetworkResult.Failure.Assertion(message)
+ }
+}
diff --git a/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/os/adapters/DefaultNetworkConnectionAdapter.kt b/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/os/adapters/DefaultNetworkConnectionAdapter.kt
new file mode 100644
index 00000000..966a5df1
--- /dev/null
+++ b/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/os/adapters/DefaultNetworkConnectionAdapter.kt
@@ -0,0 +1,108 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.networkconnection.os.adapters
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import android.Manifest.permission.ACCESS_NETWORK_STATE
+import android.Manifest.permission.ACCESS_WIFI_STATE
+import android.net.ConnectivityManager
+import android.net.wifi.WifiManager
+import androidx.annotation.RequiresPermission
+import com.isupatches.android.wisefy.core.assertions.WisefyAssertions
+import com.isupatches.android.wisefy.core.constants.AssertionMessages
+import com.isupatches.android.wisefy.core.constants.DeprecationMessages
+import com.isupatches.android.wisefy.core.entities.NetworkConnectionStatus
+import com.isupatches.android.wisefy.core.logging.WisefyLogger
+import com.isupatches.android.wisefy.core.util.SdkUtil
+import com.isupatches.android.wisefy.networkconnection.NetworkConnectionApi
+import com.isupatches.android.wisefy.networkconnection.entities.ChangeNetworkRequest
+import com.isupatches.android.wisefy.networkconnection.entities.ChangeNetworkResult
+import com.isupatches.android.wisefy.networkconnection.entities.ConnectToNetworkRequest
+import com.isupatches.android.wisefy.networkconnection.entities.ConnectToNetworkResult
+import com.isupatches.android.wisefy.networkconnection.entities.DisconnectFromCurrentNetworkRequest
+import com.isupatches.android.wisefy.networkconnection.entities.DisconnectFromCurrentNetworkResult
+import com.isupatches.android.wisefy.networkconnection.os.apis.DefaultNetworkConnectionApi
+import com.isupatches.android.wisefy.networkconnection.os.impls.DefaultNetworkConnectionApiImpl
+import kotlinx.coroutines.runBlocking
+
+/**
+ * A default adapter for connecting to or disconnecting from a network.
+ *
+ * @param connectivityManager The ConnectivityManager instance to use
+ * @param wifiManager The WifiManager instance to use
+ * @param logger The [WisefyLogger] instance to use
+ * @param sdkUtil The [SdkUtil] instance to use
+ * @param networkConnectionStatusProvider The on-demand way to retrieve the current network connection status
+ * @property assertions The [WisefyAssertions] instance to use
+ * @property api The OS level API instance to use
+ *
+ * @see DefaultNetworkConnectionApi
+ * @see DefaultNetworkConnectionApiImpl
+ * @see NetworkConnectionApi
+ * @see WisefyLogger
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+internal class DefaultNetworkConnectionAdapter(
+ connectivityManager: ConnectivityManager,
+ wifiManager: WifiManager,
+ logger: WisefyLogger,
+ sdkUtil: SdkUtil,
+ networkConnectionStatusProvider: suspend () -> NetworkConnectionStatus?,
+ private val assertions: WisefyAssertions,
+ private val api: DefaultNetworkConnectionApi = DefaultNetworkConnectionApiImpl(
+ connectivityManager,
+ wifiManager,
+ logger,
+ sdkUtil,
+ networkConnectionStatusProvider
+ )
+) : NetworkConnectionApi {
+
+ override fun changeNetwork(request: ChangeNetworkRequest): ChangeNetworkResult {
+ val message = AssertionMessages.NetworkConnection.ChangeNetwork.USED_BEFORE_ANDROID_Q
+ assertions.fail(message)
+ return ChangeNetworkResult.Failure.Assertion(message)
+ }
+
+ @Deprecated(DeprecationMessages.NetworkConnection.CONNECT_TO_NETWORK)
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE, ACCESS_NETWORK_STATE])
+ override fun connectToNetwork(request: ConnectToNetworkRequest): ConnectToNetworkResult {
+ val result = runBlocking {
+ when (request) {
+ is ConnectToNetworkRequest.SSID -> api.connectToNetworkBySSID(request.ssid, request.timeoutInMillis)
+ is ConnectToNetworkRequest.BSSID -> api.connectToNetworkByBSSID(request.bssid, request.timeoutInMillis)
+ }
+ }
+ return when (result) {
+ true -> ConnectToNetworkResult.Success.True
+ false -> ConnectToNetworkResult.Failure.False
+ null -> ConnectToNetworkResult.Failure.NetworkNotFound
+ }
+ }
+
+ @Deprecated(DeprecationMessages.NetworkConnection.DISCONNECT_FROM_CURRENT_NETWORK)
+ override fun disconnectFromCurrentNetwork(
+ request: DisconnectFromCurrentNetworkRequest
+ ): DisconnectFromCurrentNetworkResult {
+ return if (api.disconnectFromCurrentNetwork()) {
+ DisconnectFromCurrentNetworkResult.Success.True
+ } else {
+ DisconnectFromCurrentNetworkResult.Failure.False
+ }
+ }
+}
diff --git a/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/os/apis/Android29NetworkConnectionApi.kt b/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/os/apis/Android29NetworkConnectionApi.kt
new file mode 100644
index 00000000..4d1da634
--- /dev/null
+++ b/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/os/apis/Android29NetworkConnectionApi.kt
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.networkconnection.os.apis
+
+import android.content.Context
+import android.os.Build
+import androidx.annotation.RequiresApi
+
+/**
+ * An Android 29 or higher internal API for connecting to and disconnecting from a network through the Android OS.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+@RequiresApi(Build.VERSION_CODES.Q)
+internal interface Android29NetworkConnectionApi {
+
+ /**
+ * An API to manually change the device's current network by opening up the internet connectivity panel.
+ *
+ * @param context The context to use to open the internet connectivity panel
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ fun openInternetConnectivityPanel(context: Context)
+}
diff --git a/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/os/apis/DefaultNetworkConnectionApi.kt b/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/os/apis/DefaultNetworkConnectionApi.kt
new file mode 100644
index 00000000..e3b42fc6
--- /dev/null
+++ b/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/os/apis/DefaultNetworkConnectionApi.kt
@@ -0,0 +1,68 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.networkconnection.os.apis
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import android.Manifest.permission.ACCESS_NETWORK_STATE
+import android.Manifest.permission.ACCESS_WIFI_STATE
+import androidx.annotation.RequiresPermission
+
+/**
+ * A default internal API for connecting to and disconnecting from a network through the Android OS.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+internal interface DefaultNetworkConnectionApi {
+
+ /**
+ * A default internal API to connect to a network through the Android OS.
+ *
+ * @param ssid The SSID of the network to connect to
+ * @param timeoutInMillis The timeout in milliseconds to wait for a connection/disconnection for the network
+ *
+ * @return Boolean or null - Whether or not connecting to the network was successful, null if no network found
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE, ACCESS_NETWORK_STATE])
+ suspend fun connectToNetworkBySSID(ssid: String, timeoutInMillis: Int): Boolean?
+
+ /**
+ * A default internal API to connect to a network through the Android OS.
+ *
+ * @param bssid The BSSID of the network to connect to
+ * @param timeoutInMillis The timeout in milliseconds to wait for a connection/disconnection for the network
+ *
+ * @return Boolean or null - Whether or not connecting to the network was successful, null if no network found
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE, ACCESS_NETWORK_STATE])
+ suspend fun connectToNetworkByBSSID(bssid: String, timeoutInMillis: Int): Boolean?
+
+ /**
+ * A default internal API to disconnect from the current network through the Android OS.
+ *
+ * @return Boolean - Whether or not disconnecting from the current network was successful
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ fun disconnectFromCurrentNetwork(): Boolean
+}
diff --git a/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/os/impls/Android29NetworkConnectionApiImpl.kt b/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/os/impls/Android29NetworkConnectionApiImpl.kt
new file mode 100644
index 00000000..1a206a35
--- /dev/null
+++ b/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/os/impls/Android29NetworkConnectionApiImpl.kt
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.networkconnection.os.impls
+
+import android.content.Context
+import android.content.Intent
+import android.os.Build
+import android.provider.Settings
+import androidx.annotation.RequiresApi
+import com.isupatches.android.wisefy.core.logging.WisefyLogger
+import com.isupatches.android.wisefy.networkconnection.os.apis.Android29NetworkConnectionApi
+
+/**
+ * An Android 29 or higher implementation for connecting to or disconnecting from a network through the Android OS.
+ *
+ * @property logger The [WisefyLogger] instance to use
+ *
+ * @see Android29NetworkConnectionApi
+ * @see WisefyLogger
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+@RequiresApi(Build.VERSION_CODES.Q)
+internal class Android29NetworkConnectionApiImpl(
+ private val logger: WisefyLogger
+) : Android29NetworkConnectionApi {
+
+ override fun openInternetConnectivityPanel(context: Context) {
+ logger.d(LOG_TAG, "Opening internet connectivity panel")
+ context.startActivity(
+ Intent(Settings.Panel.ACTION_INTERNET_CONNECTIVITY).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
+ )
+ }
+
+ companion object {
+ private const val LOG_TAG = "Android29NetworkConnectionApiImpl"
+ }
+}
diff --git a/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/os/impls/DefaultNetworkConnectionApiImpl.kt b/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/os/impls/DefaultNetworkConnectionApiImpl.kt
new file mode 100644
index 00000000..9f2dd387
--- /dev/null
+++ b/wisefy/networkconnection/src/main/java/com/isupatches/android/wisefy/networkconnection/os/impls/DefaultNetworkConnectionApiImpl.kt
@@ -0,0 +1,148 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.networkconnection.os.impls
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import android.Manifest.permission.ACCESS_NETWORK_STATE
+import android.Manifest.permission.ACCESS_WIFI_STATE
+import android.net.ConnectivityManager
+import android.net.wifi.WifiInfo
+import android.net.wifi.WifiManager
+import androidx.annotation.RequiresPermission
+import com.isupatches.android.wisefy.core.bssidWithoutQuotes
+import com.isupatches.android.wisefy.core.entities.NetworkConnectionStatus
+import com.isupatches.android.wisefy.core.logging.WisefyLogger
+import com.isupatches.android.wisefy.core.ssidWithoutQuotes
+import com.isupatches.android.wisefy.core.util.SdkUtil
+import com.isupatches.android.wisefy.core.util.withTimeoutAsync
+import com.isupatches.android.wisefy.networkconnection.os.apis.DefaultNetworkConnectionApi
+
+/**
+ * A default implementation for connecting to or disconnecting from a network through the Android OS.
+ *
+ * @property connectivityManager The ConnectivityManager instance to use
+ * @property wifiManager The WifiManager instance to use
+ * @property logger The [WisefyLogger] instance to use
+ * @property sdkUtil The [SdkUtil] instance to use
+ * @property networkConnectionStatusProvider The on-demand way to retrieve the current network connection status
+ *
+ * @see DefaultNetworkConnectionApi
+ * @see NetworkConnectionStatus
+ * @see SdkUtil
+ * @see WisefyLogger
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+internal class DefaultNetworkConnectionApiImpl(
+ private val connectivityManager: ConnectivityManager,
+ private val wifiManager: WifiManager,
+ private val logger: WisefyLogger,
+ private val sdkUtil: SdkUtil,
+ private val networkConnectionStatusProvider: suspend () -> NetworkConnectionStatus?
+) : DefaultNetworkConnectionApi {
+
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE, ACCESS_NETWORK_STATE])
+ override suspend fun connectToNetworkBySSID(ssid: String, timeoutInMillis: Int): Boolean? {
+ @Suppress("Deprecation")
+ val savedNetwork = wifiManager.configuredNetworks.firstOrNull { it.ssidWithoutQuotes == ssid }
+ return savedNetwork?.let {
+ @Suppress("Deprecation")
+ connect(networkId = it.networkId)
+ waitForConnectionToSSID(ssid = ssid, timeoutInMillis = timeoutInMillis)
+ }
+ }
+
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE, ACCESS_NETWORK_STATE])
+ override suspend fun connectToNetworkByBSSID(bssid: String, timeoutInMillis: Int): Boolean? {
+ @Suppress("Deprecation")
+ val savedNetwork = wifiManager.configuredNetworks.firstOrNull { it.bssidWithoutQuotes == bssid }
+ return savedNetwork?.let {
+ @Suppress("Deprecation")
+ connect(networkId = it.networkId)
+ waitForConnectionToBSSID(bssid = bssid, timeoutInMillis = timeoutInMillis)
+ }
+ }
+
+ @Suppress("Deprecation")
+ override fun disconnectFromCurrentNetwork(): Boolean {
+ val result = wifiManager.disconnect()
+ logger.d(LOG_TAG, "Disconnecting from network. result: $result")
+ return result
+ }
+
+ @Suppress("Deprecation")
+ private fun connect(networkId: Int) {
+ val disconnectResult = wifiManager.disconnect()
+ val enableNetworkResult = wifiManager.enableNetwork(networkId, true)
+ val reconnectResult = wifiManager.reconnect()
+ logger.d(
+ LOG_TAG,
+ "Connecting to network with id: $networkId. disconnectResult: $disconnectResult, enableNetworkResult: " +
+ "$enableNetworkResult, reconnectResult: $reconnectResult"
+ )
+ }
+
+ @RequiresPermission(ACCESS_NETWORK_STATE)
+ private suspend fun isCurrentNetworkConnectedBySSID(ssid: String): Boolean {
+ return when (networkConnectionStatusProvider()) {
+ NetworkConnectionStatus.AVAILABLE -> getNetworkTransportInfo()?.ssidWithoutQuotes == ssid
+ NetworkConnectionStatus.LOSING,
+ NetworkConnectionStatus.LOST,
+ NetworkConnectionStatus.UNAVAILABLE,
+ null -> false
+ }
+ }
+
+ @RequiresPermission(ACCESS_NETWORK_STATE)
+ private fun getNetworkTransportInfo(): WifiInfo? {
+ return if (sdkUtil.isAtLeastS()) {
+ connectivityManager.getNetworkCapabilities(connectivityManager.activeNetwork)?.transportInfo as? WifiInfo
+ } else {
+ @Suppress("Deprecation")
+ wifiManager.connectionInfo
+ }
+ }
+
+ @RequiresPermission(ACCESS_NETWORK_STATE)
+ private suspend fun isCurrentNetworkConnectedByBSSID(bssid: String): Boolean {
+ return when (networkConnectionStatusProvider()) {
+ NetworkConnectionStatus.AVAILABLE -> getNetworkTransportInfo()?.bssidWithoutQuotes == bssid
+ NetworkConnectionStatus.LOSING,
+ NetworkConnectionStatus.LOST,
+ NetworkConnectionStatus.UNAVAILABLE,
+ null -> false
+ }
+ }
+
+ @RequiresPermission(ACCESS_NETWORK_STATE)
+ private suspend fun waitForConnectionToSSID(ssid: String, timeoutInMillis: Int): Boolean {
+ return withTimeoutAsync(timeoutInMillis) {
+ isCurrentNetworkConnectedBySSID(ssid)
+ }
+ }
+
+ @RequiresPermission(ACCESS_NETWORK_STATE)
+ private suspend fun waitForConnectionToBSSID(bssid: String, timeoutInMillis: Int): Boolean {
+ return withTimeoutAsync(timeoutInMillis) {
+ isCurrentNetworkConnectedByBSSID(bssid)
+ }
+ }
+
+ companion object {
+ private const val LOG_TAG = "DefaultNetworkConnectionApiImpl"
+ }
+}
diff --git a/wisefy/networkinfo/.gitignore b/wisefy/networkinfo/.gitignore
new file mode 100644
index 00000000..796b96d1
--- /dev/null
+++ b/wisefy/networkinfo/.gitignore
@@ -0,0 +1 @@
+/build
diff --git a/wisefy/networkinfo/build.gradle.kts b/wisefy/networkinfo/build.gradle.kts
new file mode 100644
index 00000000..f59f7722
--- /dev/null
+++ b/wisefy/networkinfo/build.gradle.kts
@@ -0,0 +1,26 @@
+import com.isupatches.android.wisefy.build.BuildVersions
+import com.isupatches.android.wisefy.build.Dependencies
+import com.isupatches.android.wisefy.build.PublishingConstants
+
+plugins {
+ id("com.android.library")
+ id("com.isupatches.android.wisefy.build.plugins.BaseGradleModulePlugin")
+ id("com.isupatches.android.wisefy.build.plugins.DocumentationPlugin")
+ id("com.isupatches.android.wisefy.build.plugins.PublishingPlugin")
+ id("kotlin-android")
+}
+
+group = PublishingConstants.GROUP_ID
+version = BuildVersions.MODULE_VERSION_NAME
+
+android {
+ namespace = "com.isupatches.android.wisefy.networkinfo"
+ testNamespace = "com.isupatches.android.wisefy.networkinfo.test"
+}
+
+dependencies {
+ implementation(project(":wisefy:core"))
+
+ // Kotlin
+ implementation(Dependencies.Kotlin.COROUTINES)
+}
diff --git a/wisefy/networkinfo/gradle.lockfile b/wisefy/networkinfo/gradle.lockfile
new file mode 100644
index 00000000..00ca553d
--- /dev/null
+++ b/wisefy/networkinfo/gradle.lockfile
@@ -0,0 +1,49 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.annotation:annotation-experimental:1.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.annotation:annotation:1.5.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.appcompat:appcompat-resources:1.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.appcompat:appcompat:1.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.arch.core:core-runtime:2.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.collection:collection:1.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.concurrent:concurrent-futures:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.core:core-ktx:1.8.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.core:core:1.8.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.cursoradapter:cursoradapter:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.customview:customview:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.drawerlayout:drawerlayout:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.emoji2:emoji2-views-helper:1.2.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.emoji2:emoji2:1.2.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.fragment:fragment:1.3.6=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.interpolator:interpolator:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-process:2.4.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel-savedstate:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.loader:loader:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.resourceinspection:resourceinspection-annotation:1.0.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.savedstate:savedstate:1.2.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.startup:startup-runtime:1.1.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.tracing:tracing:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.vectordrawable:vectordrawable-animated:1.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.vectordrawable:vectordrawable:1.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+com.google.guava:listenablefuture:1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jacoco:org.jacoco.agent:0.8.8=debugRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.7.10=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.21=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.21=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib:1.7.10=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.4=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.4=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains:annotations:13.0=debugRuntimeClasspath,releaseRuntimeClasspath
+empty=
diff --git a/wisefy/networkinfo/src/main/AndroidManifest.xml b/wisefy/networkinfo/src/main/AndroidManifest.xml
new file mode 100644
index 00000000..611d9abc
--- /dev/null
+++ b/wisefy/networkinfo/src/main/AndroidManifest.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/NetworkInfoApi.kt b/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/NetworkInfoApi.kt
new file mode 100644
index 00000000..d3c2c180
--- /dev/null
+++ b/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/NetworkInfoApi.kt
@@ -0,0 +1,68 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.networkinfo
+
+import android.Manifest.permission.ACCESS_NETWORK_STATE
+import androidx.annotation.RequiresPermission
+import com.isupatches.android.wisefy.networkinfo.entities.GetCurrentNetworkQuery
+import com.isupatches.android.wisefy.networkinfo.entities.GetCurrentNetworkResult
+import com.isupatches.android.wisefy.networkinfo.entities.GetNetworkConnectionStatusQuery
+import com.isupatches.android.wisefy.networkinfo.entities.GetNetworkConnectionStatusResult
+
+/**
+ * A set of synchronous APIs for getting information about the device's current network and network connection status.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+interface NetworkInfoApi {
+
+ /**
+ * A synchronous API to get the device's current network.
+ *
+ * @param query The details of the query to get the device's current network
+ *
+ * @see GetCurrentNetworkQuery
+ * @see GetCurrentNetworkResult
+ *
+ * @return GetCurrentNetworkResult - The result of getting the device's current network
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @RequiresPermission(ACCESS_NETWORK_STATE)
+ fun getCurrentNetwork(
+ query: GetCurrentNetworkQuery = GetCurrentNetworkQuery()
+ ): GetCurrentNetworkResult
+
+ /**
+ * A synchronous API to get the device's current network connection status.
+ *
+ * @param query The details of the query to get the device's current network connection status
+ *
+ * @see GetNetworkConnectionStatusQuery
+ * @see GetNetworkConnectionStatusResult
+ *
+ * @return GetNetworkConnectionStatusResult - The result of getting the device's current network connection status
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @RequiresPermission(ACCESS_NETWORK_STATE)
+ fun getNetworkConnectionStatus(
+ query: GetNetworkConnectionStatusQuery = GetNetworkConnectionStatusQuery()
+ ): GetNetworkConnectionStatusResult
+}
diff --git a/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/NetworkInfoApiAsync.kt b/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/NetworkInfoApiAsync.kt
new file mode 100644
index 00000000..080e5d95
--- /dev/null
+++ b/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/NetworkInfoApiAsync.kt
@@ -0,0 +1,76 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.networkinfo
+
+import android.Manifest.permission.ACCESS_NETWORK_STATE
+import androidx.annotation.RequiresPermission
+import com.isupatches.android.wisefy.networkinfo.callbacks.GetCurrentNetworkCallbacks
+import com.isupatches.android.wisefy.networkinfo.callbacks.GetNetworkConnectionStatusCallbacks
+import com.isupatches.android.wisefy.networkinfo.entities.GetCurrentNetworkQuery
+import com.isupatches.android.wisefy.networkinfo.entities.GetNetworkConnectionStatusQuery
+
+/**
+ * A set of asynchronous APIs for getting information about the device's current network and connection status.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+interface NetworkInfoApiAsync {
+
+ /**
+ * An asynchronous API to get the device's current network.
+ *
+ * *Notes*
+ * - Locked by the networkConnectionMutex along with functions for connecting, disconnecting, changing and getting
+ * the device's current network connection status
+ *
+ * @param query The details of the query to get the device's current network
+ * @param callbacks The callbacks for retrieving the device's current network
+ *
+ * @see GetCurrentNetworkQuery
+ * @see GetCurrentNetworkCallbacks
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @RequiresPermission(ACCESS_NETWORK_STATE)
+ fun getCurrentNetwork(
+ query: GetCurrentNetworkQuery = GetCurrentNetworkQuery(),
+ callbacks: GetCurrentNetworkCallbacks?
+ )
+
+ /**
+ * An asynchronous API to get the device's current network connection status.
+ *
+ * *Notes*
+ * - Locked by the networkConnectionMutex along with functions for connecting, disconnecting, changing, and getting
+ * the device's current network
+ *
+ * @param query The details of the query to get the device's current network connection status
+ * @param callbacks The callbacks for retrieving the device's current network connection status
+ *
+ * @see GetNetworkConnectionStatusQuery
+ * @see GetNetworkConnectionStatusCallbacks
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @RequiresPermission(ACCESS_NETWORK_STATE)
+ fun getNetworkConnectionStatus(
+ query: GetNetworkConnectionStatusQuery = GetNetworkConnectionStatusQuery(),
+ callbacks: GetNetworkConnectionStatusCallbacks?
+ )
+}
diff --git a/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/NetworkInfoDelegate.kt b/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/NetworkInfoDelegate.kt
new file mode 100644
index 00000000..82df4c2d
--- /dev/null
+++ b/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/NetworkInfoDelegate.kt
@@ -0,0 +1,28 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.networkinfo
+
+/**
+ * A delegate for synchronous and asynchronous APIs for getting information about the device's current network and
+ * connection status.
+ *
+ * @see NetworkInfoApi
+ * @see NetworkInfoApiAsync
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+interface NetworkInfoDelegate : NetworkInfoApi, NetworkInfoApiAsync
diff --git a/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/WisefyNetworkInfoDelegate.kt b/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/WisefyNetworkInfoDelegate.kt
new file mode 100644
index 00000000..0cda84c9
--- /dev/null
+++ b/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/WisefyNetworkInfoDelegate.kt
@@ -0,0 +1,125 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.networkinfo
+
+import android.Manifest.permission.ACCESS_NETWORK_STATE
+import android.net.ConnectivityManager
+import android.net.wifi.WifiManager
+import androidx.annotation.RequiresPermission
+import com.isupatches.android.wisefy.core.coroutines.CoroutineDispatcherProvider
+import com.isupatches.android.wisefy.core.coroutines.createBaseCoroutineExceptionHandler
+import com.isupatches.android.wisefy.core.entities.NetworkConnectionStatus
+import com.isupatches.android.wisefy.core.logging.WisefyLogger
+import com.isupatches.android.wisefy.core.util.SdkUtil
+import com.isupatches.android.wisefy.networkinfo.callbacks.GetCurrentNetworkCallbacks
+import com.isupatches.android.wisefy.networkinfo.callbacks.GetNetworkConnectionStatusCallbacks
+import com.isupatches.android.wisefy.networkinfo.entities.GetCurrentNetworkQuery
+import com.isupatches.android.wisefy.networkinfo.entities.GetCurrentNetworkResult
+import com.isupatches.android.wisefy.networkinfo.entities.GetNetworkConnectionStatusQuery
+import com.isupatches.android.wisefy.networkinfo.entities.GetNetworkConnectionStatusResult
+import com.isupatches.android.wisefy.networkinfo.os.adapters.DefaultNetworkInfoAdapter
+import kotlinx.coroutines.CoroutineScope
+import kotlinx.coroutines.launch
+import kotlinx.coroutines.sync.Mutex
+import kotlinx.coroutines.sync.withLock
+import kotlinx.coroutines.withContext
+
+/**
+ * An internal Wisefy delegate for getting information about a network, the device's current network,
+ * and the device's IP through the Android OS.
+ *
+ * @param connectivityManager The ConnectivityManager instance to use
+ * @param logger The [WisefyLogger] instance to use
+ * @param sdkUtil The [SdkUtil] instance to use
+ * @param wifiManager The WifiManager instance to use
+ * @param networkConnectionStatusProvider The on-demand way to retrieve the current network connection status
+ * @property coroutineDispatcherProvider The instance of the coroutine dispatcher provider to use
+ * @property scope The coroutine scope to use
+ * @property networkConnectionMutex The mutex for all read/write operations involving connecting, disconnecting, and
+ * getting the device's current network and connection status
+ * @property adapter The adapter instance to use for getting the device's current network and connection status
+ * (determined based on the Android OS level)
+ *
+ * @see CoroutineDispatcherProvider
+ * @see DefaultNetworkInfoAdapter
+ * @see NetworkInfoApi
+ * @see NetworkConnectionStatus
+ * @see NetworkInfoDelegate
+ * @see SdkUtil
+ * @see WisefyLogger
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+class WisefyNetworkInfoDelegate(
+ connectivityManager: ConnectivityManager,
+ logger: WisefyLogger,
+ sdkUtil: SdkUtil,
+ wifiManager: WifiManager,
+ networkConnectionStatusProvider: suspend () -> NetworkConnectionStatus?,
+ private val coroutineDispatcherProvider: CoroutineDispatcherProvider,
+ private val scope: CoroutineScope,
+ private val networkConnectionMutex: Mutex,
+ private val adapter: NetworkInfoApi = DefaultNetworkInfoAdapter(
+ connectivityManager = connectivityManager,
+ wifiManager = wifiManager,
+ sdkUtil = sdkUtil,
+ logger = logger,
+ networkConnectionStatusProvider = networkConnectionStatusProvider
+ )
+) : NetworkInfoDelegate {
+
+ init {
+ logger.d(LOG_TAG, "WisefyNetworkInfoDelegate adapter is: ${adapter::class.java.simpleName}")
+ }
+
+ override fun getCurrentNetwork(query: GetCurrentNetworkQuery): GetCurrentNetworkResult {
+ return adapter.getCurrentNetwork(query)
+ }
+
+ override fun getCurrentNetwork(query: GetCurrentNetworkQuery, callbacks: GetCurrentNetworkCallbacks?) {
+ scope.launch(createBaseCoroutineExceptionHandler(callbacks)) {
+ networkConnectionMutex.withLock {
+ val currentNetwork = adapter.getCurrentNetwork(query)
+ withContext(coroutineDispatcherProvider.main) {
+ callbacks?.onCurrentNetworkRetrieved(currentNetwork.value)
+ }
+ }
+ }
+ }
+
+ @RequiresPermission(ACCESS_NETWORK_STATE)
+ override fun getNetworkConnectionStatus(query: GetNetworkConnectionStatusQuery): GetNetworkConnectionStatusResult {
+ return adapter.getNetworkConnectionStatus(query)
+ }
+
+ @RequiresPermission(ACCESS_NETWORK_STATE)
+ override fun getNetworkConnectionStatus(
+ query: GetNetworkConnectionStatusQuery,
+ callbacks: GetNetworkConnectionStatusCallbacks?
+ ) {
+ scope.launch(createBaseCoroutineExceptionHandler(callbacks)) {
+ val result = adapter.getNetworkConnectionStatus(query)
+ withContext(coroutineDispatcherProvider.main) {
+ callbacks?.onDeviceNetworkConnectionStatusRetrieved(result.value)
+ }
+ }
+ }
+
+ companion object {
+ private const val LOG_TAG = "WisefyNetworkInfoDelegate"
+ }
+}
diff --git a/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/callbacks/GetCurrentNetworkCallbacks.kt b/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/callbacks/GetCurrentNetworkCallbacks.kt
new file mode 100644
index 00000000..78d7412f
--- /dev/null
+++ b/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/callbacks/GetCurrentNetworkCallbacks.kt
@@ -0,0 +1,42 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.networkinfo.callbacks
+
+import com.isupatches.android.wisefy.core.base.BaseWisefyCallbacks
+import com.isupatches.android.wisefy.networkinfo.entities.NetworkData
+
+/**
+ * A set of callbacks for retrieving the device's current network.
+ *
+ * @see BaseWisefyCallbacks
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+interface GetCurrentNetworkCallbacks : BaseWisefyCallbacks {
+
+ /**
+ * A callback triggered when there is a success getting the device's current network.
+ *
+ * @param network The current network data for the device
+ *
+ * @see NetworkData
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ fun onCurrentNetworkRetrieved(network: NetworkData)
+}
diff --git a/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/callbacks/GetNetworkConnectionStatusCallbacks.kt b/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/callbacks/GetNetworkConnectionStatusCallbacks.kt
new file mode 100644
index 00000000..9db06e83
--- /dev/null
+++ b/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/callbacks/GetNetworkConnectionStatusCallbacks.kt
@@ -0,0 +1,42 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.networkinfo.callbacks
+
+import com.isupatches.android.wisefy.core.base.BaseWisefyCallbacks
+import com.isupatches.android.wisefy.networkinfo.entities.NetworkConnectionStatusData
+
+/**
+ * A set of callbacks for retrieving the device's current network connection status.
+ *
+ * @see BaseWisefyCallbacks
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+interface GetNetworkConnectionStatusCallbacks : BaseWisefyCallbacks {
+
+ /**
+ * A callback triggered when there is a success getting the device's current network connection status.
+ *
+ * @param networkConnectionStatus The current network connection status of the device
+ *
+ * @see NetworkConnectionStatusData
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ fun onDeviceNetworkConnectionStatusRetrieved(networkConnectionStatus: NetworkConnectionStatusData)
+}
diff --git a/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/entities/GetCurrentNetworkQuery.kt b/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/entities/GetCurrentNetworkQuery.kt
new file mode 100644
index 00000000..fa4f313f
--- /dev/null
+++ b/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/entities/GetCurrentNetworkQuery.kt
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.networkinfo.entities
+
+/**
+ * A data representation of a request to get the device's current network.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+class GetCurrentNetworkQuery
diff --git a/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/entities/GetCurrentNetworkResult.kt b/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/entities/GetCurrentNetworkResult.kt
new file mode 100644
index 00000000..80847c1e
--- /dev/null
+++ b/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/entities/GetCurrentNetworkResult.kt
@@ -0,0 +1,28 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.networkinfo.entities
+
+/**
+ * A representation of a success while getting the device's current network from the Android OS.
+ *
+ * @property value The data about the device's current network
+ *
+ * @see NetworkData
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+data class GetCurrentNetworkResult(val value: NetworkData)
diff --git a/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/entities/GetNetworkConnectionStatusQuery.kt b/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/entities/GetNetworkConnectionStatusQuery.kt
new file mode 100644
index 00000000..feefbdce
--- /dev/null
+++ b/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/entities/GetNetworkConnectionStatusQuery.kt
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.networkinfo.entities
+
+/**
+ * A data representation of a request to get the device's current network connection status.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+class GetNetworkConnectionStatusQuery
diff --git a/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/entities/GetNetworkConnectionStatusResult.kt b/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/entities/GetNetworkConnectionStatusResult.kt
new file mode 100644
index 00000000..86aa4692
--- /dev/null
+++ b/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/entities/GetNetworkConnectionStatusResult.kt
@@ -0,0 +1,28 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.networkinfo.entities
+
+/**
+ * A representation of a success while getting the device's current network connection status from the Android OS.
+ *
+ * @property value The data about the device's current network connection status
+ *
+ * @see NetworkData
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+data class GetNetworkConnectionStatusResult(val value: NetworkConnectionStatusData)
diff --git a/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/entities/NetworkConnectionStatusData.kt b/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/entities/NetworkConnectionStatusData.kt
new file mode 100644
index 00000000..b101ac24
--- /dev/null
+++ b/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/entities/NetworkConnectionStatusData.kt
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.networkinfo.entities
+
+/**
+ * A data representation of the current network connection status from Android OS level returns.
+ *
+ * @property isConnected If the device is connected to a mobile or wifi network
+ * @property isConnectedToMobileNetwork If the device is connected to a mobile network
+ * @property isConnectedToWifiNetwork If the device is connected to a wifi network
+ * @property isRoaming If the device is roaming
+ * @property ssidOfNetworkConnectedTo The current SSID that the device is connected to, or null
+ * @property bssidOfNetworkConnectedTo The current BSSID that the device is connected to, or null
+ * @property ip The IP address of the device from it's current network, or null
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+data class NetworkConnectionStatusData(
+ val isConnected: Boolean,
+ val isConnectedToMobileNetwork: Boolean,
+ val isConnectedToWifiNetwork: Boolean,
+ val isRoaming: Boolean,
+ val ssidOfNetworkConnectedTo: String?,
+ val bssidOfNetworkConnectedTo: String?,
+ val ip: String?
+)
diff --git a/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/entities/NetworkData.kt b/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/entities/NetworkData.kt
new file mode 100644
index 00000000..5ada635f
--- /dev/null
+++ b/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/entities/NetworkData.kt
@@ -0,0 +1,39 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.networkinfo.entities
+
+import android.net.LinkProperties
+import android.net.Network
+import android.net.NetworkCapabilities
+import android.net.wifi.WifiInfo
+
+/**
+ * A data representation of the current network from Android OS level returns.
+ *
+ * @property network The raw value of the current network from the Android OS
+ * @property connectionInfo The raw value of the current connection info from the Android OS
+ * @property capabilities The raw value of he network capabilities from the Android OS
+ * @property linkProperties The raw value of the link properties from the Android OS
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+data class NetworkData(
+ val network: Network?,
+ val connectionInfo: WifiInfo?,
+ val capabilities: NetworkCapabilities?,
+ val linkProperties: LinkProperties?
+)
diff --git a/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/os/adapters/DefaultNetworkInfoAdapter.kt b/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/os/adapters/DefaultNetworkInfoAdapter.kt
new file mode 100644
index 00000000..61e5aa8f
--- /dev/null
+++ b/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/os/adapters/DefaultNetworkInfoAdapter.kt
@@ -0,0 +1,99 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.networkinfo.os.adapters
+
+import android.Manifest
+import android.net.ConnectivityManager
+import android.net.wifi.WifiManager
+import androidx.annotation.RequiresPermission
+import com.isupatches.android.wisefy.core.entities.NetworkConnectionStatus
+import com.isupatches.android.wisefy.core.logging.WisefyLogger
+import com.isupatches.android.wisefy.core.util.SdkUtil
+import com.isupatches.android.wisefy.networkinfo.NetworkInfoApi
+import com.isupatches.android.wisefy.networkinfo.entities.GetCurrentNetworkQuery
+import com.isupatches.android.wisefy.networkinfo.entities.GetCurrentNetworkResult
+import com.isupatches.android.wisefy.networkinfo.entities.GetNetworkConnectionStatusQuery
+import com.isupatches.android.wisefy.networkinfo.entities.GetNetworkConnectionStatusResult
+import com.isupatches.android.wisefy.networkinfo.entities.NetworkConnectionStatusData
+import com.isupatches.android.wisefy.networkinfo.entities.NetworkData
+import com.isupatches.android.wisefy.networkinfo.os.apis.DefaultNetworkInfoApi
+import com.isupatches.android.wisefy.networkinfo.os.impls.DefaultNetworkInfoApiImpl
+import kotlinx.coroutines.runBlocking
+
+/**
+ * A default adapter for getting information about a network, the device's current network, and the device's IP.
+ *
+ * @param connectivityManager The ConnectivityManager instance to use
+ * @param sdkUtil The [SdkUtil] instance to use
+ * @param logger The [WisefyLogger] instance to use
+ * @param networkConnectionStatusProvider The on-demand way to retrieve the current network connection status
+ * @property wifiManager The WifiManager instance to use
+ * @property api The OS level API instance to use
+ *
+ * @see DefaultNetworkInfoApi
+ * @see DefaultNetworkInfoApiImpl
+ * @see NetworkConnectionStatus
+ * @see NetworkInfoApi
+ * @see SdkUtil
+ * @see WisefyLogger
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+internal class DefaultNetworkInfoAdapter(
+ connectivityManager: ConnectivityManager,
+ sdkUtil: SdkUtil,
+ logger: WisefyLogger,
+ networkConnectionStatusProvider: suspend () -> NetworkConnectionStatus?,
+ private val wifiManager: WifiManager,
+ private val api: DefaultNetworkInfoApi = DefaultNetworkInfoApiImpl(
+ wifiManager = wifiManager,
+ connectivityManager = connectivityManager,
+ sdkUtil = sdkUtil,
+ logger = logger,
+ networkConnectionStatusProvider = networkConnectionStatusProvider
+ )
+) : NetworkInfoApi {
+
+ override fun getCurrentNetwork(query: GetCurrentNetworkQuery): GetCurrentNetworkResult {
+ val currentNetwork = api.getCurrentNetwork()
+ @Suppress("Deprecation")
+ return GetCurrentNetworkResult(
+ value = NetworkData(
+ network = currentNetwork,
+ connectionInfo = wifiManager.connectionInfo,
+ capabilities = currentNetwork?.let { api.getNetworkCapabilities(it) },
+ linkProperties = currentNetwork?.let { api.getLinkProperties(it) }
+ )
+ )
+ }
+
+ @RequiresPermission(Manifest.permission.ACCESS_NETWORK_STATE)
+ override fun getNetworkConnectionStatus(query: GetNetworkConnectionStatusQuery): GetNetworkConnectionStatusResult {
+ val isDeviceConnected = runBlocking { api.isDeviceConnected() }
+ return GetNetworkConnectionStatusResult(
+ value = NetworkConnectionStatusData(
+ isConnected = isDeviceConnected,
+ isConnectedToMobileNetwork = isDeviceConnected && api.isTransportTypeMobile(),
+ isConnectedToWifiNetwork = isDeviceConnected && api.isTransportTypeWifi(),
+ isRoaming = api.isDeviceRoaming(),
+ ssidOfNetworkConnectedTo = api.getSSIDOfTheNetworkTheDeviceIsConnectedTo(),
+ bssidOfNetworkConnectedTo = api.getBSSIDOfTheNetworkTheDeviceIsConnectedTo(),
+ ip = api.getIP()
+ )
+ )
+ }
+}
diff --git a/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/os/apis/DefaultNetworkInfoApi.kt b/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/os/apis/DefaultNetworkInfoApi.kt
new file mode 100644
index 00000000..8b92600c
--- /dev/null
+++ b/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/os/apis/DefaultNetworkInfoApi.kt
@@ -0,0 +1,146 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.networkinfo.os.apis
+
+import android.Manifest.permission.ACCESS_NETWORK_STATE
+import android.net.LinkProperties
+import android.net.Network
+import android.net.NetworkCapabilities
+import androidx.annotation.RequiresPermission
+
+/**
+ * A default internal API for getting information about the device's current network and connection status.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+internal interface DefaultNetworkInfoApi {
+
+ /**
+ * An internal API that is used to get the device's current network from the Android OS.
+ *
+ * @return Network or null - The current network or null if the device is not connected to one
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @RequiresPermission(ACCESS_NETWORK_STATE)
+ fun getCurrentNetwork(): Network?
+
+ /**
+ * An internal API that is used to get the network capabilities of a network from the Android OS.
+ *
+ * @param network The network to get the capabilities of
+ *
+ * @return NetworkCapabilities or null - The network capabilities from the the Android OS (can be null)
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @RequiresPermission(ACCESS_NETWORK_STATE)
+ fun getNetworkCapabilities(network: Network): NetworkCapabilities?
+
+ /**
+ * An internal API that is used to get the link properties of a network from the Android OS.
+ *
+ * @param network The network to get the link properties of
+ *
+ * @return NetworkCapabilities or null - The link properties from the the Android OS (can be null)
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @RequiresPermission(ACCESS_NETWORK_STATE)
+ fun getLinkProperties(network: Network): LinkProperties?
+
+ /**
+ * An internal API that is used to get the SSID of the current network the device is connected to.
+ *
+ * @return String or null - The SSID of the network the device is connected to (or null if not connected to one)
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @RequiresPermission(ACCESS_NETWORK_STATE)
+ fun getSSIDOfTheNetworkTheDeviceIsConnectedTo(): String?
+
+ /**
+ * An internal API that is used to get the BSSID of the current network the device is connected to.
+ *
+ * @return String or null - The BSSID of the network the device is connected to (or null if not connected to one)
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @RequiresPermission(ACCESS_NETWORK_STATE)
+ fun getBSSIDOfTheNetworkTheDeviceIsConnectedTo(): String?
+
+ /**
+ * An internal API that is used to get the IP address of the device from the network it is currently connected to.
+ *
+ * @return String or null - The IP of the device from the network the device is connected to (or null if not
+ * connected to one)
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @RequiresPermission(ACCESS_NETWORK_STATE)
+ fun getIP(): String?
+
+ /**
+ * An internal API that is used to check if the device is currently connected to a Wifi or mobile network.
+ *
+ * @return Boolean - Whether the device is connected to a Wifi or mobile network. True if connected to a Wifi or
+ * mobile network, otherwise false
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ suspend fun isDeviceConnected(): Boolean
+
+ /**
+ * An internal API that is used to check if the device is currently roaming.
+ *
+ * @return Boolean - Whether the network is roaming. True if roaming, otherwise false
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @RequiresPermission(ACCESS_NETWORK_STATE)
+ fun isDeviceRoaming(): Boolean
+
+ /**
+ * An internal API that is used to check if the device is currently connected to a mobile network.
+ *
+ * @return Boolean - True if the device is connected to mobile network, otherwise false
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @RequiresPermission(ACCESS_NETWORK_STATE)
+ fun isTransportTypeMobile(): Boolean
+
+ /**
+ * An internal API that is used to check if the device is currently connected to a wifi network.
+ *
+ * @return Boolean - True if the device is connected to wifi network, otherwise false
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @RequiresPermission(ACCESS_NETWORK_STATE)
+ fun isTransportTypeWifi(): Boolean
+}
diff --git a/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/os/impls/DefaultNetworkInfoApiImpl.kt b/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/os/impls/DefaultNetworkInfoApiImpl.kt
new file mode 100644
index 00000000..3e8f07af
--- /dev/null
+++ b/wisefy/networkinfo/src/main/java/com/isupatches/android/wisefy/networkinfo/os/impls/DefaultNetworkInfoApiImpl.kt
@@ -0,0 +1,158 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.networkinfo.os.impls
+
+import android.Manifest.permission.ACCESS_NETWORK_STATE
+import android.net.ConnectivityManager
+import android.net.LinkProperties
+import android.net.Network
+import android.net.NetworkCapabilities
+import android.net.wifi.WifiInfo
+import android.net.wifi.WifiManager
+import androidx.annotation.RequiresPermission
+import com.isupatches.android.wisefy.core.bssidWithoutQuotes
+import com.isupatches.android.wisefy.core.entities.NetworkConnectionStatus
+import com.isupatches.android.wisefy.core.logging.WisefyLogger
+import com.isupatches.android.wisefy.core.ssidWithoutQuotes
+import com.isupatches.android.wisefy.core.util.SdkUtil
+import com.isupatches.android.wisefy.networkinfo.os.apis.DefaultNetworkInfoApi
+import java.math.BigInteger
+import java.net.InetAddress
+import java.net.UnknownHostException
+
+/**
+ * A default implementation for getting information about the device's current network and connection status.
+ *
+ * @property wifiManager The WifiManager instance to use
+ * @property connectivityManager The ConnectivityManager instance to use
+ * @property sdkUtil The [SdkUtil] instance to use
+ * @property logger The [WisefyLogger] instance to use
+ * @property networkConnectionStatusProvider The on-demand way to retrieve the current network connection status
+ *
+ * @see DefaultNetworkInfoApi
+ * @see NetworkConnectionStatus
+ * @see SdkUtil
+ * @see WisefyLogger
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+internal class DefaultNetworkInfoApiImpl(
+ private val wifiManager: WifiManager,
+ private val connectivityManager: ConnectivityManager,
+ private val sdkUtil: SdkUtil,
+ private val logger: WisefyLogger,
+ private val networkConnectionStatusProvider: suspend () -> NetworkConnectionStatus?
+) : DefaultNetworkInfoApi {
+
+ @RequiresPermission(ACCESS_NETWORK_STATE)
+ override fun getCurrentNetwork(): Network? {
+ return connectivityManager.activeNetwork
+ }
+
+ @RequiresPermission(ACCESS_NETWORK_STATE)
+ override fun getNetworkCapabilities(network: Network): NetworkCapabilities? {
+ return connectivityManager.getNetworkCapabilities(network)
+ }
+
+ @RequiresPermission(ACCESS_NETWORK_STATE)
+ override fun getLinkProperties(network: Network): LinkProperties? {
+ return connectivityManager.getLinkProperties(network)
+ }
+
+ @RequiresPermission(ACCESS_NETWORK_STATE)
+ override fun getSSIDOfTheNetworkTheDeviceIsConnectedTo(): String? {
+ return getNetworkTransportInfo()?.ssidWithoutQuotes
+ }
+
+ @RequiresPermission(ACCESS_NETWORK_STATE)
+ override fun getBSSIDOfTheNetworkTheDeviceIsConnectedTo(): String? {
+ return getNetworkTransportInfo()?.bssidWithoutQuotes
+ }
+
+ @RequiresPermission(ACCESS_NETWORK_STATE)
+ override fun getIP(): String? {
+ val inetAddress = if (sdkUtil.isAtLeastS()) {
+ connectivityManager.getLinkProperties(connectivityManager.activeNetwork)?.dhcpServerAddress
+ } else {
+ @Suppress("Deprecation")
+ InetAddress.getByAddress(
+ BigInteger.valueOf(wifiManager.connectionInfo.ipAddress.toLong()).toByteArray()
+ )
+ }
+ return try {
+ inetAddress?.hostAddress
+ } catch (uhe: UnknownHostException) {
+ logger.e(LOG_TAG, uhe, "UnknownHostException while gathering IP (sync)")
+ null
+ }
+ }
+
+ override suspend fun isDeviceConnected(): Boolean {
+ return networkConnectionStatusProvider() == NetworkConnectionStatus.AVAILABLE
+ }
+
+ @RequiresPermission(ACCESS_NETWORK_STATE)
+ override fun isDeviceRoaming(): Boolean {
+ return if (sdkUtil.isAtLeastP()) {
+ // NET_CAPABILITY_NOT_ROAMING only available for P and above devices :'(
+ !(getActiveNetworkCapabilities()?.hasCapability(NetworkCapabilities.NET_CAPABILITY_NOT_ROAMING) ?: false)
+ } else {
+ @Suppress("Deprecation")
+ val networkInfo = connectivityManager.activeNetworkInfo
+ @Suppress("Deprecation")
+ networkInfo != null && networkInfo.isRoaming
+ }
+ }
+
+ override fun isTransportTypeMobile(): Boolean {
+ return doesNetworkHaveTransportTypeAndInternetCapability(
+ transportType = NetworkCapabilities.TRANSPORT_CELLULAR
+ )
+ }
+
+ override fun isTransportTypeWifi(): Boolean {
+ return doesNetworkHaveTransportTypeAndInternetCapability(
+ transportType = NetworkCapabilities.TRANSPORT_WIFI
+ )
+ }
+
+ @RequiresPermission(ACCESS_NETWORK_STATE)
+ private fun getNetworkTransportInfo(): WifiInfo? {
+ return if (sdkUtil.isAtLeastS()) {
+ connectivityManager.getNetworkCapabilities(connectivityManager.activeNetwork)?.transportInfo as? WifiInfo
+ } else {
+ @Suppress("Deprecation")
+ wifiManager.connectionInfo
+ }
+ }
+
+ @RequiresPermission(ACCESS_NETWORK_STATE)
+ private fun doesNetworkHaveTransportTypeAndInternetCapability(transportType: Int): Boolean {
+ return getActiveNetworkCapabilities()?.let {
+ it.hasTransport(transportType) && it.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
+ } ?: false
+ }
+
+ @RequiresPermission(ACCESS_NETWORK_STATE)
+ private fun getActiveNetworkCapabilities(): NetworkCapabilities? {
+ return connectivityManager.getNetworkCapabilities(connectivityManager.activeNetwork)
+ }
+
+ companion object {
+ private const val LOG_TAG = "DefaultNetworkInfoApiImpl"
+ }
+}
diff --git a/wisefy/proguard-rules.pro b/wisefy/proguard-rules.pro
deleted file mode 100644
index f4d23484..00000000
--- a/wisefy/proguard-rules.pro
+++ /dev/null
@@ -1,8 +0,0 @@
--verbose
-
--dontobfuscate
-
--keep class com.isupatches.android.wisefy.** { *; }
-
-# Java lang for AGP
--dontwarn java.lang.instrument.ClassFileTransformer
diff --git a/wisefy/proguard-test-rules.pro b/wisefy/proguard-test-rules.pro
deleted file mode 100644
index f22ec8b2..00000000
--- a/wisefy/proguard-test-rules.pro
+++ /dev/null
@@ -1 +0,0 @@
--include proguard-rules.pro
diff --git a/wisefy/removenetwork/.gitignore b/wisefy/removenetwork/.gitignore
new file mode 100644
index 00000000..796b96d1
--- /dev/null
+++ b/wisefy/removenetwork/.gitignore
@@ -0,0 +1 @@
+/build
diff --git a/wisefy/removenetwork/build.gradle.kts b/wisefy/removenetwork/build.gradle.kts
new file mode 100644
index 00000000..00724420
--- /dev/null
+++ b/wisefy/removenetwork/build.gradle.kts
@@ -0,0 +1,26 @@
+import com.isupatches.android.wisefy.build.BuildVersions
+import com.isupatches.android.wisefy.build.Dependencies
+import com.isupatches.android.wisefy.build.PublishingConstants
+
+plugins {
+ id("com.android.library")
+ id("com.isupatches.android.wisefy.build.plugins.BaseGradleModulePlugin")
+ id("com.isupatches.android.wisefy.build.plugins.DocumentationPlugin")
+ id("com.isupatches.android.wisefy.build.plugins.PublishingPlugin")
+ id("kotlin-android")
+}
+
+group = PublishingConstants.GROUP_ID
+version = BuildVersions.MODULE_VERSION_NAME
+
+android {
+ namespace = "com.isupatches.android.wisefy.removenetwork"
+ testNamespace = "com.isupatches.android.wisefy.removenetwork.test"
+}
+
+dependencies {
+ implementation(project(":wisefy:core"))
+
+ // Kotlin
+ implementation(Dependencies.Kotlin.COROUTINES)
+}
diff --git a/wisefy/removenetwork/gradle.lockfile b/wisefy/removenetwork/gradle.lockfile
new file mode 100644
index 00000000..00ca553d
--- /dev/null
+++ b/wisefy/removenetwork/gradle.lockfile
@@ -0,0 +1,49 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.annotation:annotation-experimental:1.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.annotation:annotation:1.5.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.appcompat:appcompat-resources:1.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.appcompat:appcompat:1.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.arch.core:core-runtime:2.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.collection:collection:1.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.concurrent:concurrent-futures:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.core:core-ktx:1.8.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.core:core:1.8.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.cursoradapter:cursoradapter:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.customview:customview:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.drawerlayout:drawerlayout:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.emoji2:emoji2-views-helper:1.2.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.emoji2:emoji2:1.2.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.fragment:fragment:1.3.6=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.interpolator:interpolator:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-process:2.4.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel-savedstate:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.loader:loader:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.resourceinspection:resourceinspection-annotation:1.0.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.savedstate:savedstate:1.2.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.startup:startup-runtime:1.1.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.tracing:tracing:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.vectordrawable:vectordrawable-animated:1.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.vectordrawable:vectordrawable:1.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+com.google.guava:listenablefuture:1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jacoco:org.jacoco.agent:0.8.8=debugRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.7.10=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.21=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.21=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib:1.7.10=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.4=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.4=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains:annotations:13.0=debugRuntimeClasspath,releaseRuntimeClasspath
+empty=
diff --git a/wisefy/removenetwork/src/main/AndroidManifest.xml b/wisefy/removenetwork/src/main/AndroidManifest.xml
new file mode 100644
index 00000000..a7e58cbe
--- /dev/null
+++ b/wisefy/removenetwork/src/main/AndroidManifest.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/wisefy/removenetwork/src/main/java/com/isupatches/android/wisefy/removenetwork/RemoveNetworkApi.kt b/wisefy/removenetwork/src/main/java/com/isupatches/android/wisefy/removenetwork/RemoveNetworkApi.kt
new file mode 100644
index 00000000..1cc14114
--- /dev/null
+++ b/wisefy/removenetwork/src/main/java/com/isupatches/android/wisefy/removenetwork/RemoveNetworkApi.kt
@@ -0,0 +1,49 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.removenetwork
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import android.Manifest.permission.ACCESS_WIFI_STATE
+import android.Manifest.permission.CHANGE_WIFI_STATE
+import androidx.annotation.RequiresPermission
+import com.isupatches.android.wisefy.removenetwork.callbacks.RemoveNetworkCallbacks
+import com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkRequest
+import com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkResult
+
+/**
+ * A set of synchronous APIs for removing a network.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+interface RemoveNetworkApi {
+
+ /**
+ * An synchronous API to remove a network.
+ *
+ * @param request The details of the request to remove a network
+ *
+ * @see RemoveNetworkRequest
+ * @see RemoveNetworkCallbacks
+ *
+ * @return RemoveNetworkResult - The result of removing a network
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE, CHANGE_WIFI_STATE])
+ fun removeNetwork(request: RemoveNetworkRequest): RemoveNetworkResult
+}
diff --git a/wisefy/removenetwork/src/main/java/com/isupatches/android/wisefy/removenetwork/RemoveNetworkApiAsync.kt b/wisefy/removenetwork/src/main/java/com/isupatches/android/wisefy/removenetwork/RemoveNetworkApiAsync.kt
new file mode 100644
index 00000000..4ba393d3
--- /dev/null
+++ b/wisefy/removenetwork/src/main/java/com/isupatches/android/wisefy/removenetwork/RemoveNetworkApiAsync.kt
@@ -0,0 +1,47 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.removenetwork
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import android.Manifest.permission.ACCESS_WIFI_STATE
+import android.Manifest.permission.CHANGE_WIFI_STATE
+import androidx.annotation.RequiresPermission
+import com.isupatches.android.wisefy.removenetwork.callbacks.RemoveNetworkCallbacks
+import com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkRequest
+
+/**
+ * A set of asynchronous APIs for removing a network.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+interface RemoveNetworkApiAsync {
+
+ /**
+ * An asynchronous API to remove a network.
+ *
+ * @param request The details of the request to remove a network
+ * @param callbacks The callbacks for removing a network
+ *
+ * @see RemoveNetworkRequest
+ * @see RemoveNetworkCallbacks
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE, CHANGE_WIFI_STATE])
+ fun removeNetwork(request: RemoveNetworkRequest, callbacks: RemoveNetworkCallbacks?)
+}
diff --git a/wisefy/removenetwork/src/main/java/com/isupatches/android/wisefy/removenetwork/RemoveNetworkDelegate.kt b/wisefy/removenetwork/src/main/java/com/isupatches/android/wisefy/removenetwork/RemoveNetworkDelegate.kt
new file mode 100644
index 00000000..2f940ae5
--- /dev/null
+++ b/wisefy/removenetwork/src/main/java/com/isupatches/android/wisefy/removenetwork/RemoveNetworkDelegate.kt
@@ -0,0 +1,27 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.removenetwork
+
+/**
+ * A delegate for synchronous and asynchronous APIs for removing a network.
+ *
+ * @see RemoveNetworkApi
+ * @see RemoveNetworkApiAsync
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+interface RemoveNetworkDelegate : RemoveNetworkApi, RemoveNetworkApiAsync
diff --git a/wisefy/removenetwork/src/main/java/com/isupatches/android/wisefy/removenetwork/WisefyRemoveNetworkDelegate.kt b/wisefy/removenetwork/src/main/java/com/isupatches/android/wisefy/removenetwork/WisefyRemoveNetworkDelegate.kt
new file mode 100644
index 00000000..a82b543e
--- /dev/null
+++ b/wisefy/removenetwork/src/main/java/com/isupatches/android/wisefy/removenetwork/WisefyRemoveNetworkDelegate.kt
@@ -0,0 +1,103 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.removenetwork
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import android.Manifest.permission.ACCESS_WIFI_STATE
+import android.Manifest.permission.CHANGE_WIFI_STATE
+import android.net.wifi.WifiManager
+import androidx.annotation.RequiresPermission
+import com.isupatches.android.wisefy.core.assertions.WisefyAssertions
+import com.isupatches.android.wisefy.core.coroutines.CoroutineDispatcherProvider
+import com.isupatches.android.wisefy.core.coroutines.createBaseCoroutineExceptionHandler
+import com.isupatches.android.wisefy.core.logging.WisefyLogger
+import com.isupatches.android.wisefy.core.util.SdkUtil
+import com.isupatches.android.wisefy.removenetwork.callbacks.RemoveNetworkCallbacks
+import com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkRequest
+import com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkResult
+import com.isupatches.android.wisefy.removenetwork.os.adapters.Android29RemoveNetworkAdapter
+import com.isupatches.android.wisefy.removenetwork.os.adapters.Android30RemoveNetworkAdapter
+import com.isupatches.android.wisefy.removenetwork.os.adapters.DefaultRemoveNetworkAdapter
+import kotlinx.coroutines.CoroutineScope
+import kotlinx.coroutines.launch
+import kotlinx.coroutines.sync.Mutex
+import kotlinx.coroutines.sync.withLock
+import kotlinx.coroutines.withContext
+
+/**
+ * An internal Wisefy delegate for removing a network through the Android OS.
+ *
+ * @param assertions The [WisefyAssertions] instance to use
+ * @param logger The [WisefyLogger] instance to use
+ * @param sdkUtil The [SdkUtil] instance to use
+ * @param wifiManager The WifiManager instance to use
+ * @property coroutineDispatcherProvider The instance of the coroutine dispatcher provider to use
+ * @property scope The coroutine scope to use
+ * @property savedNetworkMutex A mutex shared with add/remove network to ensure synchronization between saved network
+ * reads and writes
+ * @property adapter The adapter instance to use for removing a network (determined based on the Android OS level)
+ *
+ * @see CoroutineDispatcherProvider
+ * @see SdkUtil
+ * @see WisefyAssertions
+ * @see WisefyLogger
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+class WisefyRemoveNetworkDelegate(
+ assertions: WisefyAssertions,
+ logger: WisefyLogger,
+ sdkUtil: SdkUtil,
+ wifiManager: WifiManager,
+ private val coroutineDispatcherProvider: CoroutineDispatcherProvider,
+ private val scope: CoroutineScope,
+ private val savedNetworkMutex: Mutex,
+ private val adapter: RemoveNetworkApi = when {
+ sdkUtil.isAtLeastR() -> Android30RemoveNetworkAdapter(logger, wifiManager)
+ sdkUtil.isAtLeastQ() -> Android29RemoveNetworkAdapter(assertions)
+ else -> DefaultRemoveNetworkAdapter(logger, wifiManager)
+ }
+) : RemoveNetworkDelegate {
+
+ init {
+ logger.d(LOG_TAG, "WisefyRemoveNetworkDelegate adapter is: ${adapter::class.java.simpleName}")
+ }
+
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE, CHANGE_WIFI_STATE])
+ override fun removeNetwork(request: RemoveNetworkRequest): RemoveNetworkResult {
+ return adapter.removeNetwork(request)
+ }
+
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE, CHANGE_WIFI_STATE])
+ override fun removeNetwork(request: RemoveNetworkRequest, callbacks: RemoveNetworkCallbacks?) {
+ scope.launch(createBaseCoroutineExceptionHandler(callbacks)) {
+ savedNetworkMutex.withLock {
+ val result = adapter.removeNetwork(request)
+ withContext(coroutineDispatcherProvider.main) {
+ when (result) {
+ is RemoveNetworkResult.Success -> callbacks?.onSuccessRemovingNetwork(result)
+ is RemoveNetworkResult.Failure -> callbacks?.onFailureRemovingNetwork(result)
+ }
+ }
+ }
+ }
+ }
+
+ companion object {
+ private const val LOG_TAG = "WisefyRemoveNetworkDelegate"
+ }
+}
diff --git a/wisefy/removenetwork/src/main/java/com/isupatches/android/wisefy/removenetwork/callbacks/RemoveNetworkCallbacks.kt b/wisefy/removenetwork/src/main/java/com/isupatches/android/wisefy/removenetwork/callbacks/RemoveNetworkCallbacks.kt
new file mode 100644
index 00000000..ef2b1bb1
--- /dev/null
+++ b/wisefy/removenetwork/src/main/java/com/isupatches/android/wisefy/removenetwork/callbacks/RemoveNetworkCallbacks.kt
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.removenetwork.callbacks
+
+import com.isupatches.android.wisefy.core.base.BaseWisefyCallbacks
+import com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkResult
+
+/**
+ * A set of callbacks for removing a network.
+ *
+ * @see BaseWisefyCallbacks
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+interface RemoveNetworkCallbacks : BaseWisefyCallbacks {
+
+ /**
+ * A callback triggered when there is a failure removing a network.
+ *
+ * @param result The result of removing the network
+ *
+ * @see RemoveNetworkResult
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ fun onFailureRemovingNetwork(result: RemoveNetworkResult.Failure)
+
+ /**
+ * A callback triggered when there is a success removing a network.
+ *
+ * @param result The result of removing the network
+ *
+ * @see RemoveNetworkResult
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ fun onSuccessRemovingNetwork(result: RemoveNetworkResult.Success)
+}
diff --git a/wisefy/removenetwork/src/main/java/com/isupatches/android/wisefy/removenetwork/entities/RemoveNetworkRequest.kt b/wisefy/removenetwork/src/main/java/com/isupatches/android/wisefy/removenetwork/entities/RemoveNetworkRequest.kt
new file mode 100644
index 00000000..fc44b6c9
--- /dev/null
+++ b/wisefy/removenetwork/src/main/java/com/isupatches/android/wisefy/removenetwork/entities/RemoveNetworkRequest.kt
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.removenetwork.entities
+
+/**
+ * A set of classes and objects that are used to represent requests for removing a network.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+sealed class RemoveNetworkRequest {
+
+ /**
+ * A data representation to remove a network by SSID.
+ *
+ * *NOTE*
+ * - The request will only remove the first network whose SSID matches
+ *
+ * @property ssid The SSID value of the network to remove
+ *
+ * @see RemoveNetworkRequest
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ data class SSID(val ssid: String) : RemoveNetworkRequest()
+
+ /**
+ * A data representation to remove a network by BSSID.
+ *
+ * *NOTE*
+ * - The request will only remove the first network whose SSID matches
+ *
+ * @property bssid The BSSID value of the network to remove
+ *
+ * @see RemoveNetworkRequest
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ data class BSSID(val bssid: String) : RemoveNetworkRequest()
+}
diff --git a/wisefy/removenetwork/src/main/java/com/isupatches/android/wisefy/removenetwork/entities/RemoveNetworkResult.kt b/wisefy/removenetwork/src/main/java/com/isupatches/android/wisefy/removenetwork/entities/RemoveNetworkResult.kt
new file mode 100644
index 00000000..cc3152d1
--- /dev/null
+++ b/wisefy/removenetwork/src/main/java/com/isupatches/android/wisefy/removenetwork/entities/RemoveNetworkResult.kt
@@ -0,0 +1,121 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.removenetwork.entities
+
+/**
+ * A set of classes and objects that are used to represent a result while attempting to remove a network.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+sealed class RemoveNetworkResult {
+
+ /**
+ * A set of classes that are used to denote a success while attempting to remove a network.
+ *
+ * @see RemoveNetworkResult
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ sealed class Success : RemoveNetworkResult() {
+
+ /**
+ * A data representation of a success removing a network based on Android OS level returns.
+ *
+ * *NOTE*
+ * - Returns for this are the same as `removeNetworkSuggestion` found here:
+ * https://developer.android.com/reference/android/net/wifi/WifiManager#removeNetworkSuggestions(java.util.List%3Candroid.net.wifi.WifiNetworkSuggestion%3E,%20int)
+ *
+ * @property value The raw value of the result code from the Android OS
+ *
+ * @see Success
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ data class ResultCode(val value: Int) : Success()
+
+ /**
+ * A data representation of a success removing a network on older Android OS levels.
+ *
+ * *NOTE*
+ * - Returns for this are defined the same as `removeNetwork`:
+ * https://developer.android.com/reference/android/net/wifi/WifiManager#removeNetwork(int)
+ *
+ * @see Success
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ object True : Success()
+ }
+
+ /**
+ * A set of classes that are used to denote a failure while attempting to remove a network.
+ *
+ * @see RemoveNetworkResult
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ sealed class Failure : RemoveNetworkResult() {
+
+ /**
+ * A data representation of a failure removing a network on older Android OS levels.
+ *
+ * *NOTE*
+ * - Returns for this are defined the same as `removeNetwork`:
+ * https://developer.android.com/reference/android/net/wifi/WifiManager#removeNetwork(int)
+ *
+ * @see Failure
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ object False : Failure()
+
+ /**
+ * A data representation of a failure removing a network based on Android OS level returns.
+ *
+ * *NOTE*
+ * - Returns for this are the same as `removeNetworkSuggestion` found here:
+ * https://developer.android.com/reference/android/net/wifi/WifiManager#removeNetworkSuggestions(java.util.List%3Candroid.net.wifi.WifiNetworkSuggestion%3E,%20int)
+ *
+ * @property value The raw value of the result code from the Android OS
+ *
+ * @see Failure
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ data class ResultCode(val value: Int) : Failure()
+
+ /**
+ * A representation of a failure removing a network due to hitting an unexpected path causing an assertion.
+ *
+ * *NOTE* This is for developer specific feedback and should NEVER actually be hit unless there is a bug.
+ *
+ * @property message A text description describing the assertion error hit
+ *
+ * @see Failure
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ data class Assertion(val message: String) : Failure()
+ }
+}
diff --git a/wisefy/removenetwork/src/main/java/com/isupatches/android/wisefy/removenetwork/os/adapters/Android29RemoveNetworkAdapter.kt b/wisefy/removenetwork/src/main/java/com/isupatches/android/wisefy/removenetwork/os/adapters/Android29RemoveNetworkAdapter.kt
new file mode 100644
index 00000000..8776c40a
--- /dev/null
+++ b/wisefy/removenetwork/src/main/java/com/isupatches/android/wisefy/removenetwork/os/adapters/Android29RemoveNetworkAdapter.kt
@@ -0,0 +1,47 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.removenetwork.os.adapters
+
+import android.os.Build
+import androidx.annotation.RequiresApi
+import com.isupatches.android.wisefy.core.assertions.WisefyAssertions
+import com.isupatches.android.wisefy.core.constants.AssertionMessages
+import com.isupatches.android.wisefy.removenetwork.RemoveNetworkApi
+import com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkRequest
+import com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkResult
+
+/**
+ * An Android 29 specific adapter for removing a network.
+ *
+ * @property assertions The [WisefyAssertions] instance to use
+ *
+ * @see RemoveNetworkApi
+ * @see WisefyAssertions
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+@RequiresApi(Build.VERSION_CODES.Q)
+internal class Android29RemoveNetworkAdapter(
+ private val assertions: WisefyAssertions
+) : RemoveNetworkApi {
+
+ override fun removeNetwork(request: RemoveNetworkRequest): RemoveNetworkResult {
+ val message = AssertionMessages.AndroidQ.SAVED_NETWORK_FUNCTIONALITY_UNAVAILABLE_ANDROID_Q
+ assertions.fail(message)
+ return RemoveNetworkResult.Failure.Assertion(message)
+ }
+}
diff --git a/wisefy/removenetwork/src/main/java/com/isupatches/android/wisefy/removenetwork/os/adapters/Android30RemoveNetworkAdapter.kt b/wisefy/removenetwork/src/main/java/com/isupatches/android/wisefy/removenetwork/os/adapters/Android30RemoveNetworkAdapter.kt
new file mode 100644
index 00000000..899120b6
--- /dev/null
+++ b/wisefy/removenetwork/src/main/java/com/isupatches/android/wisefy/removenetwork/os/adapters/Android30RemoveNetworkAdapter.kt
@@ -0,0 +1,65 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.removenetwork.os.adapters
+
+import android.Manifest.permission.CHANGE_WIFI_STATE
+import android.net.wifi.WifiManager
+import android.net.wifi.WifiManager.STATUS_NETWORK_SUGGESTIONS_SUCCESS
+import android.os.Build
+import androidx.annotation.RequiresApi
+import androidx.annotation.RequiresPermission
+import com.isupatches.android.wisefy.core.logging.WisefyLogger
+import com.isupatches.android.wisefy.removenetwork.RemoveNetworkApi
+import com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkRequest
+import com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkResult
+import com.isupatches.android.wisefy.removenetwork.os.apis.Android30RemoveNetworkApi
+import com.isupatches.android.wisefy.removenetwork.os.impls.Android30RemoveNetworkApiImpl
+
+/**
+ * An Android 30 or higher adapter for removing a network.
+ *
+ * @param logger The [WisefyLogger] instance to use
+ * @property wifiManager The WifiManager instance to use
+ * @property api The OS level API instance to use
+ *
+ * @see Android30RemoveNetworkApi
+ * @see Android30RemoveNetworkApiImpl
+ * @see RemoveNetworkApi
+ * @see WisefyLogger
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+@RequiresApi(Build.VERSION_CODES.R)
+internal class Android30RemoveNetworkAdapter(
+ logger: WisefyLogger,
+ private val wifiManager: WifiManager,
+ private val api: Android30RemoveNetworkApi = Android30RemoveNetworkApiImpl(wifiManager, logger)
+) : RemoveNetworkApi {
+
+ @RequiresPermission(CHANGE_WIFI_STATE)
+ override fun removeNetwork(request: RemoveNetworkRequest): RemoveNetworkResult {
+ val result = when (request) {
+ is RemoveNetworkRequest.SSID -> api.removeNetworkBySSID(request.ssid)
+ is RemoveNetworkRequest.BSSID -> api.removeNetworkByBSSID(request.bssid)
+ }
+ return if (result == STATUS_NETWORK_SUGGESTIONS_SUCCESS) {
+ RemoveNetworkResult.Success.ResultCode(result)
+ } else {
+ RemoveNetworkResult.Failure.ResultCode(result)
+ }
+ }
+}
diff --git a/wisefy/removenetwork/src/main/java/com/isupatches/android/wisefy/removenetwork/os/adapters/DefaultRemoveNetworkAdapter.kt b/wisefy/removenetwork/src/main/java/com/isupatches/android/wisefy/removenetwork/os/adapters/DefaultRemoveNetworkAdapter.kt
new file mode 100644
index 00000000..4ab86d4f
--- /dev/null
+++ b/wisefy/removenetwork/src/main/java/com/isupatches/android/wisefy/removenetwork/os/adapters/DefaultRemoveNetworkAdapter.kt
@@ -0,0 +1,62 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.removenetwork.os.adapters
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import android.Manifest.permission.ACCESS_WIFI_STATE
+import android.net.wifi.WifiManager
+import androidx.annotation.RequiresPermission
+import com.isupatches.android.wisefy.core.logging.WisefyLogger
+import com.isupatches.android.wisefy.removenetwork.RemoveNetworkApi
+import com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkRequest
+import com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkResult
+import com.isupatches.android.wisefy.removenetwork.os.apis.DefaultRemoveNetworkApi
+import com.isupatches.android.wisefy.removenetwork.os.impls.DefaultRemoveNetworkApiImpl
+
+/**
+ * A default adapter for removing a network.
+ *
+ * @param logger The [WisefyLogger] instance to use
+ * @param wifiManager The WifiManager instance to use
+ * @property api The OS level API instance to use
+ *
+ * @see DefaultRemoveNetworkApi
+ * @see DefaultRemoveNetworkApiImpl
+ * @see RemoveNetworkApi
+ * @see WisefyLogger
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+internal class DefaultRemoveNetworkAdapter(
+ logger: WisefyLogger,
+ wifiManager: WifiManager,
+ private val api: DefaultRemoveNetworkApi = DefaultRemoveNetworkApiImpl(wifiManager, logger)
+) : RemoveNetworkApi {
+
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+ override fun removeNetwork(request: RemoveNetworkRequest): RemoveNetworkResult {
+ val result = when (request) {
+ is RemoveNetworkRequest.SSID -> api.removeNetworkBySSID(request.ssid)
+ is RemoveNetworkRequest.BSSID -> api.removeNetworkByBSSID(request.bssid)
+ }
+ return if (result) {
+ RemoveNetworkResult.Success.True
+ } else {
+ RemoveNetworkResult.Failure.False
+ }
+ }
+}
diff --git a/wisefy/removenetwork/src/main/java/com/isupatches/android/wisefy/removenetwork/os/apis/Android30RemoveNetworkApi.kt b/wisefy/removenetwork/src/main/java/com/isupatches/android/wisefy/removenetwork/os/apis/Android30RemoveNetworkApi.kt
new file mode 100644
index 00000000..6b7bff02
--- /dev/null
+++ b/wisefy/removenetwork/src/main/java/com/isupatches/android/wisefy/removenetwork/os/apis/Android30RemoveNetworkApi.kt
@@ -0,0 +1,67 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.removenetwork.os.apis
+
+import android.Manifest.permission.CHANGE_WIFI_STATE
+import android.os.Build
+import androidx.annotation.RequiresApi
+import androidx.annotation.RequiresPermission
+
+/**
+ * An Android 30 or higher API for removing a network through the Android OS.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+@RequiresApi(Build.VERSION_CODES.R)
+internal interface Android30RemoveNetworkApi {
+
+ /**
+ * An Android 30 API for removing a network by SSID.
+ *
+ * *NOTE*
+ * - Only removes the first network whose SSID matches
+ * - Returns for this are the same as `removeNetworkSuggestion` found here:
+ * https://developer.android.com/reference/android/net/wifi/WifiManager#removeNetworkSuggestions(java.util.List%3Candroid.net.wifi.WifiNetworkSuggestion%3E,%20int)
+ *
+ * @param ssid The SSID of the network to remove
+ *
+ * @return Int - The result while removing the network a network
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @RequiresPermission(CHANGE_WIFI_STATE)
+ fun removeNetworkBySSID(ssid: String): Int
+
+ /**
+ * An Android 30 API for removing a network by BSSID.
+ *
+ * *NOTE*
+ * - Only removes the first network whose BSSID matches
+ * - Returns for this are the same as `removeNetworkSuggestion` found here:
+ * https://developer.android.com/reference/android/net/wifi/WifiManager#removeNetworkSuggestions(java.util.List%3Candroid.net.wifi.WifiNetworkSuggestion%3E,%20int)
+ *
+ * @param bssid The BSSID of the network to remove
+ *
+ * @return Int - The result while removing the network a network
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @RequiresPermission(CHANGE_WIFI_STATE)
+ fun removeNetworkByBSSID(bssid: String): Int
+}
diff --git a/wisefy/removenetwork/src/main/java/com/isupatches/android/wisefy/removenetwork/os/apis/DefaultRemoveNetworkApi.kt b/wisefy/removenetwork/src/main/java/com/isupatches/android/wisefy/removenetwork/os/apis/DefaultRemoveNetworkApi.kt
new file mode 100644
index 00000000..723d7128
--- /dev/null
+++ b/wisefy/removenetwork/src/main/java/com/isupatches/android/wisefy/removenetwork/os/apis/DefaultRemoveNetworkApi.kt
@@ -0,0 +1,65 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.removenetwork.os.apis
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import android.Manifest.permission.ACCESS_WIFI_STATE
+import androidx.annotation.RequiresPermission
+
+/**
+ * A default internal API for removing a network through the Android OS.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+internal interface DefaultRemoveNetworkApi {
+
+ /**
+ * An Android 30 API for removing a network by SSID.
+ *
+ * *NOTE*
+ * - Only removes the first network whose SSID matches
+ * - Returns for this are the same as `removeNetwork` found here:
+ * https://developer.android.com/reference/android/net/wifi/WifiManager#removeNetwork(int)
+ *
+ * @param ssid The SSID of the network to remove
+ *
+ * @return Int - The result while removing the network a network
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+ fun removeNetworkBySSID(ssid: String): Boolean
+
+ /**
+ * An Android 30 API for removing a network by BSSID.
+ *
+ * *NOTE*
+ * - Only removes the first network whose BSSID matches
+ * - Returns for this are the same as `removeNetwork` found here:
+ * https://developer.android.com/reference/android/net/wifi/WifiManager#removeNetwork(int)
+ *
+ * @param bssid The BSSID of the network to remove
+ *
+ * @return Int - The result while removing the network a network
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+ fun removeNetworkByBSSID(bssid: String): Boolean
+}
diff --git a/wisefy/removenetwork/src/main/java/com/isupatches/android/wisefy/removenetwork/os/impls/Android30RemoveNetworkApiImpl.kt b/wisefy/removenetwork/src/main/java/com/isupatches/android/wisefy/removenetwork/os/impls/Android30RemoveNetworkApiImpl.kt
new file mode 100644
index 00000000..72499390
--- /dev/null
+++ b/wisefy/removenetwork/src/main/java/com/isupatches/android/wisefy/removenetwork/os/impls/Android30RemoveNetworkApiImpl.kt
@@ -0,0 +1,72 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.removenetwork.os.impls
+
+import android.Manifest.permission.CHANGE_WIFI_STATE
+import android.net.wifi.WifiManager
+import android.net.wifi.WifiNetworkSuggestion
+import android.os.Build
+import androidx.annotation.RequiresApi
+import androidx.annotation.RequiresPermission
+import com.isupatches.android.wisefy.core.bssidWithoutQuotes
+import com.isupatches.android.wisefy.core.logging.WisefyLogger
+import com.isupatches.android.wisefy.core.ssidWithoutQuotes
+import com.isupatches.android.wisefy.removenetwork.os.apis.Android30RemoveNetworkApi
+
+/**
+ * An Android 30 or higher implementation for removing a network.
+ *
+ * @property wifiManager The WifiManager instance to use
+ * @property logger The [WisefyLogger] instance to use
+ *
+ * @see Android30RemoveNetworkApi
+ * @see WisefyLogger
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+@RequiresApi(Build.VERSION_CODES.R)
+internal class Android30RemoveNetworkApiImpl(
+ private val wifiManager: WifiManager,
+ private val logger: WisefyLogger
+) : Android30RemoveNetworkApi {
+
+ @RequiresPermission(CHANGE_WIFI_STATE)
+ override fun removeNetworkBySSID(ssid: String): Int {
+ val networkToRemove = wifiManager.networkSuggestions.firstOrNull {
+ it.ssidWithoutQuotes.equals(ssid, ignoreCase = true)
+ }
+ return removeNetworkSuggestion(networkSuggestion = networkToRemove)
+ }
+
+ @RequiresPermission(CHANGE_WIFI_STATE)
+ override fun removeNetworkByBSSID(bssid: String): Int {
+ val networkToRemove = wifiManager.networkSuggestions.firstOrNull {
+ it.bssidWithoutQuotes.equals(bssid, ignoreCase = true)
+ }
+ return removeNetworkSuggestion(networkSuggestion = networkToRemove)
+ }
+
+ private fun removeNetworkSuggestion(networkSuggestion: WifiNetworkSuggestion?): Int {
+ val result = networkSuggestion?.let { wifiManager.removeNetworkSuggestions(listOf(it)) } ?: -1
+ logger.d(LOG_TAG, "Removing network suggestion. Result: $result, networkSuggestion: $networkSuggestion")
+ return result
+ }
+
+ companion object {
+ private const val LOG_TAG = "Android30RemoveNetworkApiImpl"
+ }
+}
diff --git a/wisefy/removenetwork/src/main/java/com/isupatches/android/wisefy/removenetwork/os/impls/DefaultRemoveNetworkApiImpl.kt b/wisefy/removenetwork/src/main/java/com/isupatches/android/wisefy/removenetwork/os/impls/DefaultRemoveNetworkApiImpl.kt
new file mode 100644
index 00000000..ddd31413
--- /dev/null
+++ b/wisefy/removenetwork/src/main/java/com/isupatches/android/wisefy/removenetwork/os/impls/DefaultRemoveNetworkApiImpl.kt
@@ -0,0 +1,72 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.removenetwork.os.impls
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import android.Manifest.permission.ACCESS_WIFI_STATE
+import android.net.wifi.WifiManager
+import androidx.annotation.RequiresPermission
+import com.isupatches.android.wisefy.core.bssidWithoutQuotes
+import com.isupatches.android.wisefy.core.logging.WisefyLogger
+import com.isupatches.android.wisefy.core.ssidWithoutQuotes
+import com.isupatches.android.wisefy.removenetwork.os.apis.DefaultRemoveNetworkApi
+
+/**
+ * A default implementation for removing a network.
+ *
+ * @property wifiManager The WifiManager instance to use
+ * @property logger The [WisefyLogger] instnace to use
+ *
+ * @see DefaultRemoveNetworkApi
+ * @see WisefyLogger
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+internal class DefaultRemoveNetworkApiImpl(
+ private val wifiManager: WifiManager,
+ private val logger: WisefyLogger
+) : DefaultRemoveNetworkApi {
+
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+ override fun removeNetworkBySSID(ssid: String): Boolean {
+ @Suppress("Deprecation")
+ val networkToRemove = wifiManager.configuredNetworks.firstOrNull {
+ it.ssidWithoutQuotes.equals(ssid, ignoreCase = true)
+ }
+ return removeNetworkConfiguration(wifiConfiguration = networkToRemove)
+ }
+
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+ override fun removeNetworkByBSSID(bssid: String): Boolean {
+ @Suppress("Deprecation")
+ val networkToRemove = wifiManager.configuredNetworks.firstOrNull {
+ it.bssidWithoutQuotes.equals(bssid, ignoreCase = true)
+ }
+ return removeNetworkConfiguration(wifiConfiguration = networkToRemove)
+ }
+
+ @Suppress("Deprecation")
+ private fun removeNetworkConfiguration(wifiConfiguration: android.net.wifi.WifiConfiguration?): Boolean {
+ val result = wifiConfiguration?.let { wifiManager.removeNetwork(it.networkId) } ?: false
+ logger.d(LOG_TAG, "Removing network suggestion. Result: $result, wifiConfiguration: $wifiConfiguration")
+ return result
+ }
+
+ companion object {
+ private const val LOG_TAG = "DefaultRemoveNetworkApiImpl"
+ }
+}
diff --git a/wisefy/savednetworks/.gitignore b/wisefy/savednetworks/.gitignore
new file mode 100644
index 00000000..796b96d1
--- /dev/null
+++ b/wisefy/savednetworks/.gitignore
@@ -0,0 +1 @@
+/build
diff --git a/wisefy/savednetworks/build.gradle.kts b/wisefy/savednetworks/build.gradle.kts
new file mode 100644
index 00000000..9d4a3a28
--- /dev/null
+++ b/wisefy/savednetworks/build.gradle.kts
@@ -0,0 +1,26 @@
+import com.isupatches.android.wisefy.build.BuildVersions
+import com.isupatches.android.wisefy.build.Dependencies
+import com.isupatches.android.wisefy.build.PublishingConstants
+
+plugins {
+ id("com.android.library")
+ id("com.isupatches.android.wisefy.build.plugins.BaseGradleModulePlugin")
+ id("com.isupatches.android.wisefy.build.plugins.DocumentationPlugin")
+ id("com.isupatches.android.wisefy.build.plugins.PublishingPlugin")
+ id("kotlin-android")
+}
+
+group = PublishingConstants.GROUP_ID
+version = BuildVersions.MODULE_VERSION_NAME
+
+android {
+ namespace = "com.isupatches.android.wisefy.savednetworks"
+ testNamespace = "com.isupatches.android.wisefy.savednetworks.test"
+}
+
+dependencies {
+ implementation(project(":wisefy:core"))
+
+ // Kotlin
+ implementation(Dependencies.Kotlin.COROUTINES)
+}
diff --git a/wisefy/savednetworks/gradle.lockfile b/wisefy/savednetworks/gradle.lockfile
new file mode 100644
index 00000000..00ca553d
--- /dev/null
+++ b/wisefy/savednetworks/gradle.lockfile
@@ -0,0 +1,49 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.annotation:annotation-experimental:1.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.annotation:annotation:1.5.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.appcompat:appcompat-resources:1.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.appcompat:appcompat:1.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.arch.core:core-runtime:2.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.collection:collection:1.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.concurrent:concurrent-futures:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.core:core-ktx:1.8.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.core:core:1.8.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.cursoradapter:cursoradapter:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.customview:customview:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.drawerlayout:drawerlayout:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.emoji2:emoji2-views-helper:1.2.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.emoji2:emoji2:1.2.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.fragment:fragment:1.3.6=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.interpolator:interpolator:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-process:2.4.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel-savedstate:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.loader:loader:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.resourceinspection:resourceinspection-annotation:1.0.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.savedstate:savedstate:1.2.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.startup:startup-runtime:1.1.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.tracing:tracing:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.vectordrawable:vectordrawable-animated:1.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.vectordrawable:vectordrawable:1.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+com.google.guava:listenablefuture:1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jacoco:org.jacoco.agent:0.8.8=debugRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.7.10=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.21=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.21=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib:1.7.10=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.4=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.4=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains:annotations:13.0=debugRuntimeClasspath,releaseRuntimeClasspath
+empty=
diff --git a/wisefy/savednetworks/src/main/AndroidManifest.xml b/wisefy/savednetworks/src/main/AndroidManifest.xml
new file mode 100644
index 00000000..4cef0e94
--- /dev/null
+++ b/wisefy/savednetworks/src/main/AndroidManifest.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/SavedNetworkApi.kt b/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/SavedNetworkApi.kt
new file mode 100644
index 00000000..cca6fdec
--- /dev/null
+++ b/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/SavedNetworkApi.kt
@@ -0,0 +1,65 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.savednetworks
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import android.Manifest.permission.ACCESS_WIFI_STATE
+import androidx.annotation.RequiresPermission
+import com.isupatches.android.wisefy.savednetworks.entities.GetSavedNetworksQuery
+import com.isupatches.android.wisefy.savednetworks.entities.GetSavedNetworksResult
+import com.isupatches.android.wisefy.savednetworks.entities.IsNetworkSavedQuery
+import com.isupatches.android.wisefy.savednetworks.entities.IsNetworkSavedResult
+
+/**
+ * A set of synchronous APIs for getting and searching for saved networks.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+interface SavedNetworkApi {
+
+ /**
+ * A synchronous API to get all of the saved networks on the device.
+ *
+ * @param query The details of the query to get the saved networks on the device
+ *
+ * @see GetSavedNetworksQuery
+ * @see GetSavedNetworksResult
+ *
+ * @return GetSavedNetworksResult - The result of getting the saved networks on the device
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+ fun getSavedNetworks(query: GetSavedNetworksQuery = GetSavedNetworksQuery.All): GetSavedNetworksResult
+
+ /**
+ * A synchronous API to check if a network is saved on the device.
+ *
+ * @param query The details of the query to check if a network is saved on the device
+ *
+ * @see IsNetworkSavedQuery
+ * @see IsNetworkSavedResult
+ *
+ * @return IsNetworkSavedResult - The result of checking if a network is saved on the device
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+ fun isNetworkSaved(query: IsNetworkSavedQuery): IsNetworkSavedResult
+}
diff --git a/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/SavedNetworkApiAsync.kt b/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/SavedNetworkApiAsync.kt
new file mode 100644
index 00000000..fd6c82f2
--- /dev/null
+++ b/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/SavedNetworkApiAsync.kt
@@ -0,0 +1,72 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.savednetworks
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import android.Manifest.permission.ACCESS_WIFI_STATE
+import androidx.annotation.RequiresPermission
+import com.isupatches.android.wisefy.savednetworks.callbacks.GetSavedNetworksCallbacks
+import com.isupatches.android.wisefy.savednetworks.callbacks.IsNetworkSavedCallbacks
+import com.isupatches.android.wisefy.savednetworks.entities.GetSavedNetworksQuery
+import com.isupatches.android.wisefy.savednetworks.entities.IsNetworkSavedQuery
+
+/**
+ * A set of asynchronous APIs for getting and searching for saved networks.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+interface SavedNetworkApiAsync {
+
+ /**
+ * An asynchronous API to get the saved networks on the device.
+ *
+ * *Notes*
+ * - Locked by the savedNetworkMutex along with functions for adding, removing, and checking if a network is saved
+ *
+ * @param query The details of the query to get the saved networks on the device
+ * @param callbacks The callbacks for when the result for getting saved networks on the device is returned
+ *
+ * @see GetSavedNetworksQuery
+ * @see GetSavedNetworksCallbacks
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+ fun getSavedNetworks(
+ query: GetSavedNetworksQuery = GetSavedNetworksQuery.All,
+ callbacks: GetSavedNetworksCallbacks?
+ )
+
+ /**
+ * An asynchronous API to check if a network is saved on the device.
+ *
+ * *Notes*
+ * - Locked by the savedNetworkMutex along with functions for adding, removing, and querying for saved networks
+ *
+ * @param query The details of the query to check if a network is saved on the device
+ * @param callbacks The callbacks for the result of whether the network is saved on the device
+ *
+ * @see IsNetworkSavedQuery
+ * @see IsNetworkSavedCallbacks
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+ fun isNetworkSaved(query: IsNetworkSavedQuery, callbacks: IsNetworkSavedCallbacks?)
+}
diff --git a/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/SavedNetworkDelegate.kt b/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/SavedNetworkDelegate.kt
new file mode 100644
index 00000000..3e860392
--- /dev/null
+++ b/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/SavedNetworkDelegate.kt
@@ -0,0 +1,27 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.savednetworks
+
+/**
+ * A delegate for synchronous and asynchronous APIs for getting and searching for saved networks.
+ *
+ * @see SavedNetworkApi
+ * @see SavedNetworkApiAsync
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+interface SavedNetworkDelegate : SavedNetworkApi, SavedNetworkApiAsync
diff --git a/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/WisefySavedNetworkDelegate.kt b/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/WisefySavedNetworkDelegate.kt
new file mode 100644
index 00000000..16721122
--- /dev/null
+++ b/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/WisefySavedNetworkDelegate.kt
@@ -0,0 +1,135 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.savednetworks
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import android.Manifest.permission.ACCESS_WIFI_STATE
+import android.net.wifi.WifiManager
+import androidx.annotation.RequiresPermission
+import com.isupatches.android.wisefy.core.assertions.WisefyAssertions
+import com.isupatches.android.wisefy.core.coroutines.CoroutineDispatcherProvider
+import com.isupatches.android.wisefy.core.coroutines.createBaseCoroutineExceptionHandler
+import com.isupatches.android.wisefy.core.logging.WisefyLogger
+import com.isupatches.android.wisefy.core.util.SdkUtil
+import com.isupatches.android.wisefy.savednetworks.callbacks.GetSavedNetworksCallbacks
+import com.isupatches.android.wisefy.savednetworks.callbacks.IsNetworkSavedCallbacks
+import com.isupatches.android.wisefy.savednetworks.entities.GetSavedNetworksQuery
+import com.isupatches.android.wisefy.savednetworks.entities.GetSavedNetworksResult
+import com.isupatches.android.wisefy.savednetworks.entities.IsNetworkSavedQuery
+import com.isupatches.android.wisefy.savednetworks.entities.IsNetworkSavedResult
+import com.isupatches.android.wisefy.savednetworks.os.adapters.Android29SavedNetworkAdapter
+import com.isupatches.android.wisefy.savednetworks.os.adapters.Android30SavedNetworkAdapter
+import com.isupatches.android.wisefy.savednetworks.os.adapters.DefaultSavedNetworkAdapter
+import kotlinx.coroutines.CoroutineScope
+import kotlinx.coroutines.launch
+import kotlinx.coroutines.sync.Mutex
+import kotlinx.coroutines.sync.withLock
+import kotlinx.coroutines.withContext
+
+/**
+ * An internal Wisefy delegate for getting and searching for saved networks.
+ *
+ * *Notes*
+ * - These functions share a mutex with add/remove network
+ *
+ * @param assertions The [WisefyAssertions] instance to use
+ * @param logger The [WisefyLogger] instance to use
+ * @param sdkUtil The [SdkUtil] instance to use
+ * @param wifiManager The WifiManager instance to use
+ * @property coroutineDispatcherProvider The CoroutineDispatcherProvider instance to use
+ * @property scope The CoroutineScope to use
+ * @property savedNetworkMutex A mutex shared with add/remove network to ensure synchronization between saved network
+ * reads and writes
+ * @property adapter The adapter instance to use for querying for saved networks and checking if a network is saved
+ * (determined based on the Android OS level)
+ *
+ * @see Android29SavedNetworkAdapter
+ * @see Android30SavedNetworkAdapter
+ * @see CoroutineDispatcherProvider
+ * @see DefaultSavedNetworkAdapter
+ * @see WisefyAssertions
+ * @see WisefyLogger
+ * @see SavedNetworkApi
+ * @see SdkUtil
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+class WisefySavedNetworkDelegate(
+ assertions: WisefyAssertions,
+ logger: WisefyLogger,
+ sdkUtil: SdkUtil,
+ wifiManager: WifiManager,
+ private val coroutineDispatcherProvider: CoroutineDispatcherProvider,
+ private val scope: CoroutineScope,
+ private val savedNetworkMutex: Mutex,
+ private val adapter: SavedNetworkApi = when {
+ sdkUtil.isAtLeastR() -> Android30SavedNetworkAdapter(wifiManager, logger)
+ sdkUtil.isAtLeastQ() -> Android29SavedNetworkAdapter(assertions)
+ else -> DefaultSavedNetworkAdapter(wifiManager, logger)
+ }
+) : SavedNetworkDelegate {
+
+ init {
+ logger.d(LOG_TAG, "WisefySavedNetworkDelegate adapter is: ${adapter::class.java.simpleName}")
+ }
+
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+ override fun getSavedNetworks(query: GetSavedNetworksQuery): GetSavedNetworksResult {
+ return adapter.getSavedNetworks(query)
+ }
+
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+ override fun getSavedNetworks(query: GetSavedNetworksQuery, callbacks: GetSavedNetworksCallbacks?) {
+ scope.launch(createBaseCoroutineExceptionHandler(callbacks)) {
+ savedNetworkMutex.withLock {
+ val result = adapter.getSavedNetworks(query)
+ withContext(coroutineDispatcherProvider.main) {
+ when (result) {
+ is GetSavedNetworksResult.Empty -> callbacks?.onNoSavedNetworksFound()
+ is GetSavedNetworksResult.SavedNetworks -> {
+ callbacks?.onSavedNetworksRetrieved(result.value)
+ }
+ }
+ }
+ }
+ }
+ }
+
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+ override fun isNetworkSaved(query: IsNetworkSavedQuery): IsNetworkSavedResult {
+ return adapter.isNetworkSaved(query)
+ }
+
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+ override fun isNetworkSaved(query: IsNetworkSavedQuery, callbacks: IsNetworkSavedCallbacks?) {
+ scope.launch(createBaseCoroutineExceptionHandler(callbacks)) {
+ savedNetworkMutex.withLock {
+ val result = adapter.isNetworkSaved(query)
+ withContext(coroutineDispatcherProvider.main) {
+ when (result) {
+ is IsNetworkSavedResult.True -> callbacks?.onNetworkIsSaved()
+ is IsNetworkSavedResult.False -> callbacks?.onNetworkIsNotSaved()
+ }
+ }
+ }
+ }
+ }
+
+ companion object {
+ private const val LOG_TAG = "WisefySavedNetworkDelegate"
+ }
+}
diff --git a/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/callbacks/GetSavedNetworksCallbacks.kt b/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/callbacks/GetSavedNetworksCallbacks.kt
new file mode 100644
index 00000000..25c84fa6
--- /dev/null
+++ b/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/callbacks/GetSavedNetworksCallbacks.kt
@@ -0,0 +1,50 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.savednetworks.callbacks
+
+import com.isupatches.android.wisefy.core.base.BaseWisefyCallbacks
+import com.isupatches.android.wisefy.savednetworks.entities.SavedNetworkData
+
+/**
+ * A set of callbacks for retrieving all of the saved networks on a device.
+ *
+ * @see BaseWisefyCallbacks
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+interface GetSavedNetworksCallbacks : BaseWisefyCallbacks {
+
+ /**
+ * A callback triggered when there are no saved networks on the device.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ fun onNoSavedNetworksFound()
+
+ /**
+ * A callback triggered when there is a success retrieving all of the saved networks on the device.
+ *
+ * @param savedNetworks The saved networks on the device
+ *
+ * @see SavedNetworkData
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ fun onSavedNetworksRetrieved(savedNetworks: List)
+}
diff --git a/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/callbacks/IsNetworkSavedCallbacks.kt b/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/callbacks/IsNetworkSavedCallbacks.kt
new file mode 100644
index 00000000..7653cc3c
--- /dev/null
+++ b/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/callbacks/IsNetworkSavedCallbacks.kt
@@ -0,0 +1,45 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.savednetworks.callbacks
+
+import com.isupatches.android.wisefy.core.base.BaseWisefyCallbacks
+
+/**
+ * A set of callbacks triggered while checking if a network is saved on the device.
+ *
+ * @see BaseWisefyCallbacks
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+interface IsNetworkSavedCallbacks : BaseWisefyCallbacks {
+
+ /**
+ * A callback triggered when there are matching saved networks.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ fun onNetworkIsSaved()
+
+ /**
+ * A callback triggered when there is no matching saved network.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ fun onNetworkIsNotSaved()
+}
diff --git a/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/entities/GetSavedNetworksQuery.kt b/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/entities/GetSavedNetworksQuery.kt
new file mode 100644
index 00000000..35aafd50
--- /dev/null
+++ b/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/entities/GetSavedNetworksQuery.kt
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.savednetworks.entities
+
+/**
+ * A data representation of a request to get all of the saved networks on the device.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+sealed class GetSavedNetworksQuery {
+
+ /**
+ * A data representation of a query to get all saved networks.
+ *
+ * @see GetSavedNetworksQuery
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ object All : GetSavedNetworksQuery()
+
+ /**
+ * A data representation of a query to get saved networks matching a given SSID.
+ *
+ * @property regex The regex to use when finding the network by SSID
+ *
+ * @see GetSavedNetworksQuery
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ data class BySSID(val regex: String) : GetSavedNetworksQuery()
+
+ /**
+ * A data representation of a query to get saved networks matching a given BSSID.
+ *
+ * @property regex The regex to use when finding the network by BSSID
+ *
+ * @see GetSavedNetworksQuery
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ data class ByBSSID(val regex: String) : GetSavedNetworksQuery()
+}
diff --git a/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/entities/GetSavedNetworksResult.kt b/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/entities/GetSavedNetworksResult.kt
new file mode 100644
index 00000000..73ec1a18
--- /dev/null
+++ b/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/entities/GetSavedNetworksResult.kt
@@ -0,0 +1,49 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.savednetworks.entities
+
+/**
+ * A set of classes and objects that are used to represent a result while getting all of the saved networks on the
+ * device.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+sealed class GetSavedNetworksResult {
+
+ /**
+ * A data representation of no networks being saved on the device.
+ *
+ * @see GetSavedNetworksResult
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ object Empty : GetSavedNetworksResult()
+
+ /**
+ * A data representation of a success retrieving saved networks on the device.
+ *
+ * @property value The saved networks retrieved
+ *
+ * @see GetSavedNetworksResult
+ * @see SavedNetworkData
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ data class SavedNetworks(val value: List) : GetSavedNetworksResult()
+}
diff --git a/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/entities/IsNetworkSavedQuery.kt b/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/entities/IsNetworkSavedQuery.kt
new file mode 100644
index 00000000..6440f32d
--- /dev/null
+++ b/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/entities/IsNetworkSavedQuery.kt
@@ -0,0 +1,49 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.savednetworks.entities
+
+/**
+ * A set of classes and objects that are used to represent requests to see if a network is saved.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+sealed class IsNetworkSavedQuery {
+
+ /**
+ * A data representation to check if a network is saved by SSID.
+ *
+ * @property regex The regex to use when finding the network by SSID
+ *
+ * @see IsNetworkSavedQuery
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ data class SSID(val regex: String) : IsNetworkSavedQuery()
+
+ /**
+ * A data representation to check if a network is saved by BSSID.
+ *
+ * @property regex The regex to use when finding the network by BSSID
+ *
+ * @see IsNetworkSavedQuery
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ data class BSSID(val regex: String) : IsNetworkSavedQuery()
+}
diff --git a/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/entities/IsNetworkSavedResult.kt b/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/entities/IsNetworkSavedResult.kt
new file mode 100644
index 00000000..b58e4e9e
--- /dev/null
+++ b/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/entities/IsNetworkSavedResult.kt
@@ -0,0 +1,45 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.savednetworks.entities
+
+/**
+ * A set of classes and objects that are used to represent a result while seeing if a network is saved on the device.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+sealed class IsNetworkSavedResult {
+
+ /**
+ * A data representation of the network being saved on the device.
+ *
+ * @see IsNetworkSavedResult
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ object True : IsNetworkSavedResult()
+
+ /**
+ * A data representation of the network not being saved on the device.
+ *
+ * @see IsNetworkSavedResult
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ object False : IsNetworkSavedResult()
+}
diff --git a/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/entities/SavedNetworkData.kt b/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/entities/SavedNetworkData.kt
new file mode 100644
index 00000000..5c9d0e37
--- /dev/null
+++ b/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/entities/SavedNetworkData.kt
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.savednetworks.entities
+
+import android.net.wifi.WifiNetworkSuggestion
+import android.os.Build
+import androidx.annotation.RequiresApi
+
+/**
+ * A set of classes and objects that are used to represent a saved network on the device.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+sealed class SavedNetworkData {
+
+ /**
+ * A data representation of a saved network configuration prior to Android Q.
+ *
+ * @property rawValue The raw value of the saved network as a configuration
+ *
+ * @see SavedNetworkData
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @Suppress("Deprecation")
+ data class Configuration(val rawValue: android.net.wifi.WifiConfiguration) : SavedNetworkData()
+
+ /**
+ * A data representation of a saved network suggestion starting at Android Q.
+ *
+ * @property rawValue The raw value of the saved network as a suggestion
+ *
+ * @see SavedNetworkData
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @RequiresApi(Build.VERSION_CODES.Q)
+ data class Suggestion(val rawValue: WifiNetworkSuggestion) : SavedNetworkData()
+}
diff --git a/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/os/adapters/Android29SavedNetworkAdapter.kt b/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/os/adapters/Android29SavedNetworkAdapter.kt
new file mode 100644
index 00000000..e29e21fc
--- /dev/null
+++ b/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/os/adapters/Android29SavedNetworkAdapter.kt
@@ -0,0 +1,58 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.savednetworks.os.adapters
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import android.Manifest.permission.ACCESS_WIFI_STATE
+import android.os.Build
+import androidx.annotation.RequiresApi
+import androidx.annotation.RequiresPermission
+import com.isupatches.android.wisefy.core.assertions.WisefyAssertions
+import com.isupatches.android.wisefy.core.constants.AssertionMessages
+import com.isupatches.android.wisefy.savednetworks.SavedNetworkApi
+import com.isupatches.android.wisefy.savednetworks.entities.GetSavedNetworksQuery
+import com.isupatches.android.wisefy.savednetworks.entities.GetSavedNetworksResult
+import com.isupatches.android.wisefy.savednetworks.entities.IsNetworkSavedQuery
+import com.isupatches.android.wisefy.savednetworks.entities.IsNetworkSavedResult
+
+/**
+ * An Android 29 specific adapter for adding networks.
+ *
+ * @property assertions The [WisefyAssertions] instance to use
+ *
+ * @see SavedNetworkApi
+ * @see WisefyAssertions
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+@RequiresApi(Build.VERSION_CODES.Q)
+internal class Android29SavedNetworkAdapter(
+ private val assertions: WisefyAssertions
+) : SavedNetworkApi {
+
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+ override fun getSavedNetworks(query: GetSavedNetworksQuery): GetSavedNetworksResult {
+ assertions.fail(message = AssertionMessages.AndroidQ.SAVED_NETWORK_FUNCTIONALITY_UNAVAILABLE_ANDROID_Q)
+ return GetSavedNetworksResult.Empty
+ }
+
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+ override fun isNetworkSaved(query: IsNetworkSavedQuery): IsNetworkSavedResult {
+ assertions.fail(message = AssertionMessages.AndroidQ.SAVED_NETWORK_FUNCTIONALITY_UNAVAILABLE_ANDROID_Q)
+ return IsNetworkSavedResult.False
+ }
+}
diff --git a/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/os/adapters/Android30SavedNetworkAdapter.kt b/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/os/adapters/Android30SavedNetworkAdapter.kt
new file mode 100644
index 00000000..13f28505
--- /dev/null
+++ b/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/os/adapters/Android30SavedNetworkAdapter.kt
@@ -0,0 +1,86 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.savednetworks.os.adapters
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import android.Manifest.permission.ACCESS_WIFI_STATE
+import android.net.wifi.WifiManager
+import android.os.Build
+import androidx.annotation.RequiresApi
+import androidx.annotation.RequiresPermission
+import com.isupatches.android.wisefy.core.logging.WisefyLogger
+import com.isupatches.android.wisefy.savednetworks.SavedNetworkApi
+import com.isupatches.android.wisefy.savednetworks.entities.GetSavedNetworksQuery
+import com.isupatches.android.wisefy.savednetworks.entities.GetSavedNetworksResult
+import com.isupatches.android.wisefy.savednetworks.entities.IsNetworkSavedQuery
+import com.isupatches.android.wisefy.savednetworks.entities.IsNetworkSavedResult
+import com.isupatches.android.wisefy.savednetworks.entities.SavedNetworkData
+import com.isupatches.android.wisefy.savednetworks.os.apis.Android30SavedNetworkApi
+import com.isupatches.android.wisefy.savednetworks.os.impls.Android30SavedNetworkApiImpl
+
+/**
+ * An Android 30 or higher adapter for adding networks.
+ *
+ * @param wifiManager The WifiManager instance to use
+ * @param logger The [WisefyLogger] instance to use
+ * @property api The OS level API instance to use
+ *
+ * @see Android30SavedNetworkApi
+ * @see Android30SavedNetworkApiImpl
+ * @see SavedNetworkApi
+ * @see WisefyLogger
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+@RequiresApi(Build.VERSION_CODES.R)
+internal class Android30SavedNetworkAdapter(
+ wifiManager: WifiManager,
+ logger: WisefyLogger,
+ private val api: Android30SavedNetworkApi = Android30SavedNetworkApiImpl(wifiManager, logger)
+) : SavedNetworkApi {
+
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+ override fun getSavedNetworks(query: GetSavedNetworksQuery): GetSavedNetworksResult {
+ val savedNetworkSuggestions = when (query) {
+ is GetSavedNetworksQuery.All -> api.getSavedNetworks()
+ is GetSavedNetworksQuery.BySSID -> api.searchForSavedNetworksBySSID(query.regex)
+ is GetSavedNetworksQuery.ByBSSID -> api.searchForSavedNetworksByBSSID(query.regex)
+ }
+ return if (savedNetworkSuggestions.isNotEmpty()) {
+ GetSavedNetworksResult.SavedNetworks(
+ value = savedNetworkSuggestions.map { networkSuggestion ->
+ SavedNetworkData.Suggestion(networkSuggestion)
+ }
+ )
+ } else {
+ GetSavedNetworksResult.Empty
+ }
+ }
+
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+ override fun isNetworkSaved(query: IsNetworkSavedQuery): IsNetworkSavedResult {
+ val isNetworkSavedAsSuggestion = when (query) {
+ is IsNetworkSavedQuery.SSID -> api.searchForSavedNetworksBySSID(query.regex).isNotEmpty()
+ is IsNetworkSavedQuery.BSSID -> api.searchForSavedNetworksByBSSID(query.regex).isNotEmpty()
+ }
+ return if (isNetworkSavedAsSuggestion) {
+ IsNetworkSavedResult.True
+ } else {
+ IsNetworkSavedResult.False
+ }
+ }
+}
diff --git a/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/os/adapters/DefaultSavedNetworkAdapter.kt b/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/os/adapters/DefaultSavedNetworkAdapter.kt
new file mode 100644
index 00000000..59defbf4
--- /dev/null
+++ b/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/os/adapters/DefaultSavedNetworkAdapter.kt
@@ -0,0 +1,83 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.savednetworks.os.adapters
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import android.Manifest.permission.ACCESS_WIFI_STATE
+import android.net.wifi.WifiManager
+import androidx.annotation.RequiresPermission
+import com.isupatches.android.wisefy.core.logging.WisefyLogger
+import com.isupatches.android.wisefy.savednetworks.SavedNetworkApi
+import com.isupatches.android.wisefy.savednetworks.entities.GetSavedNetworksQuery
+import com.isupatches.android.wisefy.savednetworks.entities.GetSavedNetworksResult
+import com.isupatches.android.wisefy.savednetworks.entities.IsNetworkSavedQuery
+import com.isupatches.android.wisefy.savednetworks.entities.IsNetworkSavedResult
+import com.isupatches.android.wisefy.savednetworks.entities.SavedNetworkData
+import com.isupatches.android.wisefy.savednetworks.os.apis.DefaultSavedNetworkApi
+import com.isupatches.android.wisefy.savednetworks.os.impls.DefaultSavedNetworkApiImpl
+
+/**
+ * A default adapter for adding networks.
+ *
+ * @param wifiManager The WifiManager instance to use
+ * @param logger The [WisefyLogger] instance to use
+ * @property api The OS level API instance to use
+ *
+ * @see DefaultSavedNetworkApi
+ * @see DefaultSavedNetworkApiImpl
+ * @see SavedNetworkApi
+ * @see WisefyLogger
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+internal class DefaultSavedNetworkAdapter(
+ wifiManager: WifiManager,
+ logger: WisefyLogger,
+ private val api: DefaultSavedNetworkApi = DefaultSavedNetworkApiImpl(wifiManager, logger)
+) : SavedNetworkApi {
+
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+ override fun getSavedNetworks(query: GetSavedNetworksQuery): GetSavedNetworksResult {
+ val savedNetworkConfigurations = when (query) {
+ is GetSavedNetworksQuery.All -> api.getSavedNetworks()
+ is GetSavedNetworksQuery.BySSID -> api.searchForSavedNetworksBySSID(query.regex)
+ is GetSavedNetworksQuery.ByBSSID -> api.searchForSavedNetworksByBSSID(query.regex)
+ }
+ return if (savedNetworkConfigurations.isNotEmpty()) {
+ GetSavedNetworksResult.SavedNetworks(
+ value = savedNetworkConfigurations.map { networkSuggestion ->
+ SavedNetworkData.Configuration(networkSuggestion)
+ }
+ )
+ } else {
+ GetSavedNetworksResult.Empty
+ }
+ }
+
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+ override fun isNetworkSaved(query: IsNetworkSavedQuery): IsNetworkSavedResult {
+ val isNetworkSavedAsConfiguration = when (query) {
+ is IsNetworkSavedQuery.SSID -> api.searchForSavedNetworksBySSID(query.regex).isNotEmpty()
+ is IsNetworkSavedQuery.BSSID -> api.searchForSavedNetworksByBSSID(query.regex).isNotEmpty()
+ }
+ return if (isNetworkSavedAsConfiguration) {
+ IsNetworkSavedResult.True
+ } else {
+ IsNetworkSavedResult.False
+ }
+ }
+}
diff --git a/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/os/apis/Android30SavedNetworkApi.kt b/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/os/apis/Android30SavedNetworkApi.kt
new file mode 100644
index 00000000..ec98977b
--- /dev/null
+++ b/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/os/apis/Android30SavedNetworkApi.kt
@@ -0,0 +1,70 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.savednetworks.os.apis
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import android.Manifest.permission.ACCESS_WIFI_STATE
+import android.net.wifi.WifiNetworkSuggestion
+import android.os.Build
+import androidx.annotation.RequiresApi
+import androidx.annotation.RequiresPermission
+
+/**
+ * An Android 30 specific internal API for getting and searching for saved networks through the Android OS.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+@RequiresApi(Build.VERSION_CODES.R)
+internal interface Android30SavedNetworkApi {
+
+ /**
+ * An Android 30 specific internal API that is used to get all saved networks through the Android OS.
+ *
+ * @return List - The list of saved networks
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+ fun getSavedNetworks(): List
+
+ /**
+ * An Android 30 specific internal API that is used to search for saved networks by SSID through the Android OS.
+ *
+ * @param regexForSSID The regex to match for the saved network's SSID
+ *
+ * @return List - The list of matching saved networks
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+ fun searchForSavedNetworksBySSID(regexForSSID: String): List
+
+ /**
+ * An Android 30 specific internal API that is used to search for saved networks by BSSID through the Android OS.
+ *
+ * @param regexForBSSID The regex to match for the saved network's BSSID
+ *
+ * @return List - The list of matching saved networks
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+ fun searchForSavedNetworksByBSSID(regexForBSSID: String): List
+}
diff --git a/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/os/apis/DefaultSavedNetworkApi.kt b/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/os/apis/DefaultSavedNetworkApi.kt
new file mode 100644
index 00000000..1cf8bff1
--- /dev/null
+++ b/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/os/apis/DefaultSavedNetworkApi.kt
@@ -0,0 +1,69 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.savednetworks.os.apis
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import android.Manifest.permission.ACCESS_WIFI_STATE
+import androidx.annotation.RequiresPermission
+
+/**
+ * A default internal API for getting and searching for saved networks through the Android OS.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+internal interface DefaultSavedNetworkApi {
+
+ /**
+ * A default internal API that is used to get all saved networks through the Android OS.
+ *
+ * @return List - The list of saved networks
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @Suppress("Deprecation")
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+ fun getSavedNetworks(): List
+
+ /**
+ * A default internal API that is used to search for saved networks by SSID through the Android OS.
+ *
+ * @param regexForSSID The regex to match for the saved network's SSID
+ *
+ * @return List - The list of matching saved networks
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @Suppress("Deprecation")
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+ fun searchForSavedNetworksBySSID(regexForSSID: String): List
+
+ /**
+ * A default internal API that is used to search for saved networks by BSSID through the Android OS.
+ *
+ * @param regexForBSSID The regex to match for the saved network's BSSID
+ *
+ * @return List - The list of matching saved networks
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @Suppress("Deprecation")
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+ fun searchForSavedNetworksByBSSID(regexForBSSID: String): List
+}
diff --git a/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/os/impls/Android30SavedNetworkApiImpl.kt b/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/os/impls/Android30SavedNetworkApiImpl.kt
new file mode 100644
index 00000000..ea291ba2
--- /dev/null
+++ b/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/os/impls/Android30SavedNetworkApiImpl.kt
@@ -0,0 +1,68 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.savednetworks.os.impls
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import android.Manifest.permission.ACCESS_WIFI_STATE
+import android.net.wifi.WifiManager
+import android.net.wifi.WifiNetworkSuggestion
+import android.os.Build
+import androidx.annotation.RequiresApi
+import androidx.annotation.RequiresPermission
+import com.isupatches.android.wisefy.core.hasBSSIDMatchingRegex
+import com.isupatches.android.wisefy.core.hasSSIDMatchingRegex
+import com.isupatches.android.wisefy.core.logging.WisefyLogger
+import com.isupatches.android.wisefy.savednetworks.os.apis.Android30SavedNetworkApi
+
+/**
+ * An internal Android 30 or higher implementation for getting and searching for saved networks through the Android OS.
+ *
+ * @property wifiManager The WifiManager instance to use
+ * @property logger The [WisefyLogger] instance to use
+ *
+ * @see Android30SavedNetworkApi
+ * @see WisefyLogger
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+@RequiresApi(Build.VERSION_CODES.R)
+internal class Android30SavedNetworkApiImpl(
+ private val wifiManager: WifiManager,
+ private val logger: WisefyLogger
+) : Android30SavedNetworkApi {
+
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+ override fun getSavedNetworks(): List {
+ val savedNetworkSuggestions = wifiManager.networkSuggestions
+ logger.d(LOG_TAG, "Saved network suggestions: $savedNetworkSuggestions")
+ return savedNetworkSuggestions
+ }
+
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+ override fun searchForSavedNetworksBySSID(regexForSSID: String): List {
+ return getSavedNetworks().filter { it.hasSSIDMatchingRegex(regexForSSID) }
+ }
+
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+ override fun searchForSavedNetworksByBSSID(regexForBSSID: String): List {
+ return getSavedNetworks().filter { it.hasBSSIDMatchingRegex(regexForBSSID) }
+ }
+
+ companion object {
+ private const val LOG_TAG = "Android30SavedNetworkApiImpl"
+ }
+}
diff --git a/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/os/impls/DefaultSavedNetworkApiImpl.kt b/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/os/impls/DefaultSavedNetworkApiImpl.kt
new file mode 100644
index 00000000..25f92876
--- /dev/null
+++ b/wisefy/savednetworks/src/main/java/com/isupatches/android/wisefy/savednetworks/os/impls/DefaultSavedNetworkApiImpl.kt
@@ -0,0 +1,67 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.savednetworks.os.impls
+
+import android.Manifest.permission.ACCESS_FINE_LOCATION
+import android.Manifest.permission.ACCESS_WIFI_STATE
+import android.net.wifi.WifiManager
+import androidx.annotation.RequiresPermission
+import com.isupatches.android.wisefy.core.hasBSSIDMatchingRegex
+import com.isupatches.android.wisefy.core.hasSSIDMatchingRegex
+import com.isupatches.android.wisefy.core.logging.WisefyLogger
+import com.isupatches.android.wisefy.savednetworks.os.apis.DefaultSavedNetworkApi
+
+/**
+ * An internal default implementation for getting and searching for saved networks through the Android OS.
+ *
+ * @property wifiManager The WifiManager instance to use
+ * @property logger The [WisefyLogger] instance to use
+ *
+ * @see DefaultSavedNetworkApi
+ * @see WisefyLogger
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+internal class DefaultSavedNetworkApiImpl(
+ private val wifiManager: WifiManager,
+ private val logger: WisefyLogger
+) : DefaultSavedNetworkApi {
+
+ @Suppress("Deprecation")
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+ override fun getSavedNetworks(): List {
+ val savedNetworkConfigurations = wifiManager.configuredNetworks
+ logger.d(LOG_TAG, "Saved network configurations: $savedNetworkConfigurations")
+ return savedNetworkConfigurations
+ }
+
+ @Suppress("Deprecation")
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+ override fun searchForSavedNetworksBySSID(regexForSSID: String): List {
+ return getSavedNetworks().filter { it.hasSSIDMatchingRegex(regexForSSID) }
+ }
+
+ @Suppress("Deprecation")
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+ override fun searchForSavedNetworksByBSSID(regexForBSSID: String): List {
+ return getSavedNetworks().filter { it.hasBSSIDMatchingRegex(regexForBSSID) }
+ }
+
+ companion object {
+ private const val LOG_TAG = "DefaultSavedNetworkApiImpl"
+ }
+}
diff --git a/wisefy/signal/.gitignore b/wisefy/signal/.gitignore
new file mode 100644
index 00000000..796b96d1
--- /dev/null
+++ b/wisefy/signal/.gitignore
@@ -0,0 +1 @@
+/build
diff --git a/wisefy/signal/build.gradle.kts b/wisefy/signal/build.gradle.kts
new file mode 100644
index 00000000..65ecc23c
--- /dev/null
+++ b/wisefy/signal/build.gradle.kts
@@ -0,0 +1,26 @@
+import com.isupatches.android.wisefy.build.BuildVersions
+import com.isupatches.android.wisefy.build.Dependencies
+import com.isupatches.android.wisefy.build.PublishingConstants
+
+plugins {
+ id("com.android.library")
+ id("com.isupatches.android.wisefy.build.plugins.BaseGradleModulePlugin")
+ id("com.isupatches.android.wisefy.build.plugins.DocumentationPlugin")
+ id("com.isupatches.android.wisefy.build.plugins.PublishingPlugin")
+ id("kotlin-android")
+}
+
+group = PublishingConstants.GROUP_ID
+version = BuildVersions.MODULE_VERSION_NAME
+
+android {
+ namespace = "com.isupatches.android.wisefy.signal"
+ testNamespace = "com.isupatches.android.wisefy.signal.test"
+}
+
+dependencies {
+ implementation(project(":wisefy:core"))
+
+ // Kotlin
+ implementation(Dependencies.Kotlin.COROUTINES)
+}
diff --git a/wisefy/signal/gradle.lockfile b/wisefy/signal/gradle.lockfile
new file mode 100644
index 00000000..00ca553d
--- /dev/null
+++ b/wisefy/signal/gradle.lockfile
@@ -0,0 +1,49 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.annotation:annotation-experimental:1.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.annotation:annotation:1.5.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.appcompat:appcompat-resources:1.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.appcompat:appcompat:1.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.arch.core:core-runtime:2.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.collection:collection:1.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.concurrent:concurrent-futures:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.core:core-ktx:1.8.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.core:core:1.8.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.cursoradapter:cursoradapter:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.customview:customview:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.drawerlayout:drawerlayout:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.emoji2:emoji2-views-helper:1.2.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.emoji2:emoji2:1.2.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.fragment:fragment:1.3.6=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.interpolator:interpolator:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-process:2.4.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel-savedstate:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.5.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.loader:loader:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.resourceinspection:resourceinspection-annotation:1.0.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.savedstate:savedstate:1.2.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.startup:startup-runtime:1.1.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.tracing:tracing:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.vectordrawable:vectordrawable-animated:1.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.vectordrawable:vectordrawable:1.1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.1=debugRuntimeClasspath,releaseRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugRuntimeClasspath,releaseRuntimeClasspath
+com.google.guava:listenablefuture:1.0=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jacoco:org.jacoco.agent:0.8.8=debugRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.7.10=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.21=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.21=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib:1.7.10=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.4=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.4=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4=debugRuntimeClasspath,releaseRuntimeClasspath
+org.jetbrains:annotations:13.0=debugRuntimeClasspath,releaseRuntimeClasspath
+empty=
diff --git a/wisefy/signal/src/main/AndroidManifest.xml b/wisefy/signal/src/main/AndroidManifest.xml
new file mode 100644
index 00000000..8072ee00
--- /dev/null
+++ b/wisefy/signal/src/main/AndroidManifest.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/wisefy/signal/src/main/java/com/isupatches/android/wisefy/signal/SignalApi.kt b/wisefy/signal/src/main/java/com/isupatches/android/wisefy/signal/SignalApi.kt
new file mode 100644
index 00000000..0394d227
--- /dev/null
+++ b/wisefy/signal/src/main/java/com/isupatches/android/wisefy/signal/SignalApi.kt
@@ -0,0 +1,60 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.signal
+
+import com.isupatches.android.wisefy.signal.entities.CalculateSignalLevelRequest
+import com.isupatches.android.wisefy.signal.entities.CalculateSignalLevelResult
+import com.isupatches.android.wisefy.signal.entities.CompareSignalLevelRequest
+import com.isupatches.android.wisefy.signal.entities.CompareSignalLevelResult
+
+/**
+ * A set of synchronous APIs for signal strength functionality.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+interface SignalApi {
+
+ /**
+ * A synchronous API to calculate the number of signal strength bars for a network.
+ *
+ * @param request The details of the request to calculate the number of signal strength bars for a network
+ *
+ * @see CalculateSignalLevelRequest
+ * @see CalculateSignalLevelResult
+ *
+ * @return CalculateBarsResult - The result of calculating the signal strength bars for a network
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ fun calculateSignalLevel(request: CalculateSignalLevelRequest): CalculateSignalLevelResult
+
+ /**
+ * A synchronous API to compare the signal strength of two networks.
+ *
+ * @param request The details of the request to compare the signal strength of two networks
+ *
+ * @see CompareSignalLevelRequest
+ * @see CompareSignalLevelResult
+ *
+ * @return CompareSignalLevelResult - The result of comparing the RSSI levels of two networks
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ fun compareSignalLevel(request: CompareSignalLevelRequest): CompareSignalLevelResult
+}
diff --git a/wisefy/signal/src/main/java/com/isupatches/android/wisefy/signal/SignalDelegate.kt b/wisefy/signal/src/main/java/com/isupatches/android/wisefy/signal/SignalDelegate.kt
new file mode 100644
index 00000000..38b630d7
--- /dev/null
+++ b/wisefy/signal/src/main/java/com/isupatches/android/wisefy/signal/SignalDelegate.kt
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.signal
+
+/**
+ * A delegate for synchronous signal strength APIs.
+ *
+ * *Notes*
+ * - No async APIs because [SignalApi] operates directly on input from the client (f.e. raw RSSI values)
+ *
+ * @see SignalApi
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+interface SignalDelegate : SignalApi
diff --git a/wisefy/signal/src/main/java/com/isupatches/android/wisefy/signal/WisefySignalDelegate.kt b/wisefy/signal/src/main/java/com/isupatches/android/wisefy/signal/WisefySignalDelegate.kt
new file mode 100644
index 00000000..89f845db
--- /dev/null
+++ b/wisefy/signal/src/main/java/com/isupatches/android/wisefy/signal/WisefySignalDelegate.kt
@@ -0,0 +1,77 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.signal
+
+import android.net.wifi.WifiManager
+import com.isupatches.android.wisefy.core.assertions.WisefyAssertions
+import com.isupatches.android.wisefy.core.logging.WisefyLogger
+import com.isupatches.android.wisefy.core.util.SdkUtil
+import com.isupatches.android.wisefy.signal.entities.CalculateSignalLevelRequest
+import com.isupatches.android.wisefy.signal.entities.CalculateSignalLevelResult
+import com.isupatches.android.wisefy.signal.entities.CompareSignalLevelRequest
+import com.isupatches.android.wisefy.signal.entities.CompareSignalLevelResult
+import com.isupatches.android.wisefy.signal.os.adapters.Android30SignalAdapter
+import com.isupatches.android.wisefy.signal.os.adapters.DefaultSignalAdapter
+
+/**
+ * An internal Wisefy delegate for signal strength functionality.
+ *
+ * @param assertions The [WisefyAssertions] instance to use
+ * @param logger The [WisefyLogger] instance to use
+ * @param sdkUtil The [SdkUtil] instance to use
+ * @param wifiManager The WifiManager instance to use
+ * @property adapter The adapter instance to use for signal strength operations (determined based on the Android OS
+ * level)
+ *
+ * @see Android30SignalAdapter
+ * @see DefaultSignalAdapter
+ * @see SignalApi
+ * @see SignalDelegate
+ * @see SdkUtil
+ * @see WisefyAssertions
+ * @see WisefyLogger
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+class WisefySignalDelegate(
+ assertions: WisefyAssertions,
+ logger: WisefyLogger,
+ sdkUtil: SdkUtil,
+ wifiManager: WifiManager,
+ private val adapter: SignalApi = if (sdkUtil.isAtLeastR()) {
+ Android30SignalAdapter(wifiManager, logger, assertions)
+ } else {
+ DefaultSignalAdapter(logger, assertions)
+ }
+) : SignalDelegate {
+
+ init {
+ logger.d(LOG_TAG, "WisefySignalDelegate adapter is: ${adapter::class.java.simpleName}")
+ }
+
+ override fun calculateSignalLevel(request: CalculateSignalLevelRequest): CalculateSignalLevelResult {
+ return adapter.calculateSignalLevel(request)
+ }
+
+ override fun compareSignalLevel(request: CompareSignalLevelRequest): CompareSignalLevelResult {
+ return adapter.compareSignalLevel(request)
+ }
+
+ companion object {
+ private const val LOG_TAG = "WisefySignalDelegate"
+ }
+}
diff --git a/wisefy/signal/src/main/java/com/isupatches/android/wisefy/signal/entities/CalculateSignalLevelRequest.kt b/wisefy/signal/src/main/java/com/isupatches/android/wisefy/signal/entities/CalculateSignalLevelRequest.kt
new file mode 100644
index 00000000..ea2f5f5a
--- /dev/null
+++ b/wisefy/signal/src/main/java/com/isupatches/android/wisefy/signal/entities/CalculateSignalLevelRequest.kt
@@ -0,0 +1,57 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.signal.entities
+
+import android.os.Build
+import androidx.annotation.RequiresApi
+
+/**
+ * A set of classes and objects that are used to represent requests to calculate the number of signal strength bars
+ * based on the RSSI level of a network.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+sealed class CalculateSignalLevelRequest {
+
+ /**
+ * A data representation of a request on pre-Android 30 devices to calculate the number of signal bars based on the
+ * RSSI level of a network and the desired amount of bars.
+ *
+ * @property rssiLevel The RSSI level of the network
+ * @property numLevels The desired number of signal strength bars
+ *
+ * @see CalculateSignalLevelRequest
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ data class BelowAndroid30(val rssiLevel: Int, val numLevels: Int) : CalculateSignalLevelRequest()
+
+ /**
+ * A data representation of a request on Android 30 or higher devices to calculate the number of signal strength
+ * bars based on the RSSI level of a network.
+ *
+ * @property rssiLevel The RSSI level of the network
+ *
+ * @see CalculateSignalLevelRequest
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @RequiresApi(Build.VERSION_CODES.R)
+ data class Android30AndAbove(val rssiLevel: Int) : CalculateSignalLevelRequest()
+}
diff --git a/wisefy/signal/src/main/java/com/isupatches/android/wisefy/signal/entities/CalculateSignalLevelResult.kt b/wisefy/signal/src/main/java/com/isupatches/android/wisefy/signal/entities/CalculateSignalLevelResult.kt
new file mode 100644
index 00000000..6ef19c11
--- /dev/null
+++ b/wisefy/signal/src/main/java/com/isupatches/android/wisefy/signal/entities/CalculateSignalLevelResult.kt
@@ -0,0 +1,64 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.signal.entities
+
+/**
+ * A set of classes and objects that are used to represent a result while calculating the number of signal bars
+ * based on an RSSI level.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+sealed class CalculateSignalLevelResult {
+
+ /**
+ * A representation of a success while attempting to calculate the sign level of a network.
+ *
+ * @property value The number of signal bars for the network based on its RSSI level
+ *
+ * @see CalculateSignalLevelResult
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ data class Success(val value: Int) : CalculateSignalLevelResult()
+
+ /**
+ * A set of classes that denote a failure while attempting to calculate the sign level of a network.
+ *
+ * @see CalculateSignalLevelResult
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ sealed class Failure : CalculateSignalLevelResult() {
+
+ /**
+ * A representation of a failure to calculate the sign level of a network due to hitting an unexpected path
+ * causing an assertion.
+ *
+ * *NOTE* This is for developer specific feedback and should NEVER actually be hit unless there is a bug.
+ *
+ * @property message A text description describing the assertion error hit
+ *
+ * @see Failure
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ data class Assertion(val message: String) : Failure()
+ }
+}
diff --git a/wisefy/signal/src/main/java/com/isupatches/android/wisefy/signal/entities/CompareSignalLevelRequest.kt b/wisefy/signal/src/main/java/com/isupatches/android/wisefy/signal/entities/CompareSignalLevelRequest.kt
new file mode 100644
index 00000000..b465a488
--- /dev/null
+++ b/wisefy/signal/src/main/java/com/isupatches/android/wisefy/signal/entities/CompareSignalLevelRequest.kt
@@ -0,0 +1,27 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.signal.entities
+
+/**
+ * A data representation of a request to compare the RSSI level of two networks.
+ *
+ * @property rssi1 The RSSI level of the first network
+ * @property rssi2 The RSSI level of the second network
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+data class CompareSignalLevelRequest(val rssi1: Int, val rssi2: Int)
diff --git a/wisefy/signal/src/main/java/com/isupatches/android/wisefy/signal/entities/CompareSignalLevelResult.kt b/wisefy/signal/src/main/java/com/isupatches/android/wisefy/signal/entities/CompareSignalLevelResult.kt
new file mode 100644
index 00000000..4e647ae3
--- /dev/null
+++ b/wisefy/signal/src/main/java/com/isupatches/android/wisefy/signal/entities/CompareSignalLevelResult.kt
@@ -0,0 +1,78 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.signal.entities
+
+/**
+ * A set of classes and objects that are used to represent a result while comparing the RSSI values of two networks.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+sealed class CompareSignalLevelResult {
+
+ /**
+ * A set of classes and objects that are used to represent a success while comparing the RSSI values of two
+ * networks.
+ *
+ * *Notes*
+ * See https://developer.android.com/reference/android/net/wifi/WifiManager#compareSignalLevel(int,%20int)
+ *
+ * @property value The result of the comparison. This will be less than 0 if first RSSI value is weaker than the
+ * second RSSI, 0 if the two have the same strength, and greater than zero if the first RSSI is stronger than the
+ * second RSSI value.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ sealed class Success(open val value: Int) : CompareSignalLevelResult() {
+
+ /**
+ * A representation of when the first network has an RSSI value that is weaker than the second network's RSSI.
+ *
+ * @property value The difference between the first and second networks RSSI value (expected to be negative)
+ *
+ * @see Success
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ data class FirstRSSIValueIsWeaker(override val value: Int) : Success(value)
+
+ /**
+ * A representation of when the first network has an RSSI value that is equal to the second network's RSSI.
+ *
+ * @property value The difference between the first and second networks RSSI value (always 0)
+ *
+ * @see Success
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ data class RSSIValuesAreEqual(override val value: Int) : Success(value)
+
+ /**
+ * A representation of when the first network has an RSSI value that is stronger than the second network's RSSI.
+ *
+ * @property value The difference between the first and second networks RSSI value (expected to be positive)
+ *
+ * @see Success
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ data class FirstRSSIValueIsStronger(override val value: Int) : Success(value)
+ }
+}
diff --git a/wisefy/signal/src/main/java/com/isupatches/android/wisefy/signal/os/adapters/Android30SignalAdapter.kt b/wisefy/signal/src/main/java/com/isupatches/android/wisefy/signal/os/adapters/Android30SignalAdapter.kt
new file mode 100644
index 00000000..cc302c04
--- /dev/null
+++ b/wisefy/signal/src/main/java/com/isupatches/android/wisefy/signal/os/adapters/Android30SignalAdapter.kt
@@ -0,0 +1,76 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.signal.os.adapters
+
+import android.net.wifi.WifiManager
+import android.os.Build
+import androidx.annotation.RequiresApi
+import com.isupatches.android.wisefy.core.assertions.WisefyAssertions
+import com.isupatches.android.wisefy.core.constants.AssertionMessages
+import com.isupatches.android.wisefy.core.logging.WisefyLogger
+import com.isupatches.android.wisefy.signal.SignalApi
+import com.isupatches.android.wisefy.signal.entities.CalculateSignalLevelRequest
+import com.isupatches.android.wisefy.signal.entities.CalculateSignalLevelResult
+import com.isupatches.android.wisefy.signal.entities.CompareSignalLevelRequest
+import com.isupatches.android.wisefy.signal.entities.CompareSignalLevelResult
+import com.isupatches.android.wisefy.signal.os.apis.Android30SignalApi
+import com.isupatches.android.wisefy.signal.os.converters.toCompareSignalLevelResult
+import com.isupatches.android.wisefy.signal.os.impls.Android30SignalApiImpl
+
+/**
+ * An Android 30 or higher adapter for functions related to the signal strength of networks.
+ *
+ * @param wifiManager The WifiManager instance to use
+ * @param logger The [WisefyLogger] instance to use
+ * @property assertions The [WisefyAssertions] instance to use
+ * @property api The OS level API instance to use
+ *
+ * @see Android30SignalApi
+ * @see Android30SignalApiImpl
+ * @see SignalApi
+ * @see WisefyAssertions
+ * @see WisefyLogger
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+@RequiresApi(Build.VERSION_CODES.R)
+internal class Android30SignalAdapter(
+ wifiManager: WifiManager,
+ logger: WisefyLogger,
+ private val assertions: WisefyAssertions,
+ private val api: Android30SignalApi = Android30SignalApiImpl(wifiManager, logger)
+) : SignalApi {
+
+ override fun calculateSignalLevel(request: CalculateSignalLevelRequest): CalculateSignalLevelResult {
+ return when (request) {
+ is CalculateSignalLevelRequest.Android30AndAbove -> {
+ val result = api.calculateSignalLevel(request.rssiLevel)
+ CalculateSignalLevelResult.Success(value = result)
+ }
+ is CalculateSignalLevelRequest.BelowAndroid30 -> {
+ val message = AssertionMessages.Signal.INCORRECT_CALCULATE_BARS_USED_ANDROID_R_OR_HIGHER
+ assertions.fail(message = message)
+ CalculateSignalLevelResult.Failure.Assertion(message)
+ }
+ }
+ }
+
+ override fun compareSignalLevel(request: CompareSignalLevelRequest): CompareSignalLevelResult {
+ val comparisonResult = api.compareSignalLevel(request.rssi1, request.rssi2)
+ return comparisonResult.toCompareSignalLevelResult()
+ }
+}
diff --git a/wisefy/signal/src/main/java/com/isupatches/android/wisefy/signal/os/adapters/DefaultSignalAdapter.kt b/wisefy/signal/src/main/java/com/isupatches/android/wisefy/signal/os/adapters/DefaultSignalAdapter.kt
new file mode 100644
index 00000000..f9e4dc38
--- /dev/null
+++ b/wisefy/signal/src/main/java/com/isupatches/android/wisefy/signal/os/adapters/DefaultSignalAdapter.kt
@@ -0,0 +1,71 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.signal.os.adapters
+
+import com.isupatches.android.wisefy.core.assertions.WisefyAssertions
+import com.isupatches.android.wisefy.core.constants.AssertionMessages
+import com.isupatches.android.wisefy.core.logging.WisefyLogger
+import com.isupatches.android.wisefy.signal.SignalApi
+import com.isupatches.android.wisefy.signal.entities.CalculateSignalLevelRequest
+import com.isupatches.android.wisefy.signal.entities.CalculateSignalLevelResult
+import com.isupatches.android.wisefy.signal.entities.CompareSignalLevelRequest
+import com.isupatches.android.wisefy.signal.entities.CompareSignalLevelResult
+import com.isupatches.android.wisefy.signal.os.apis.DefaultSignalApi
+import com.isupatches.android.wisefy.signal.os.converters.toCompareSignalLevelResult
+import com.isupatches.android.wisefy.signal.os.impls.DefaultSignalApiImpl
+
+/**
+ * A default adapter for functions related to the signal strength of networks.
+ *
+ * @param logger The [WisefyLogger] instance to use
+ * @property assertions The [WisefyAssertions] instance to use
+ * @property api The OS level API instance to use
+ *
+ * @see DefaultSignalApi
+ * @see DefaultSignalApiImpl
+ * @see SignalApi
+ * @see WisefyAssertions
+ * @see WisefyLogger
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+internal class DefaultSignalAdapter(
+ logger: WisefyLogger,
+ private val assertions: WisefyAssertions,
+ private val api: DefaultSignalApi = DefaultSignalApiImpl(logger)
+) : SignalApi {
+
+ override fun calculateSignalLevel(request: CalculateSignalLevelRequest): CalculateSignalLevelResult {
+ return when (request) {
+ is CalculateSignalLevelRequest.BelowAndroid30 -> {
+ @Suppress("Deprecation")
+ val result = api.calculateSignalLevel(request.rssiLevel, request.numLevels)
+ CalculateSignalLevelResult.Success(value = result)
+ }
+ is CalculateSignalLevelRequest.Android30AndAbove -> {
+ val message = AssertionMessages.Signal.INCORRECT_CALCULATE_BARS_USED_PRE_ANDROID_R
+ assertions.fail(message = message)
+ CalculateSignalLevelResult.Failure.Assertion(message)
+ }
+ }
+ }
+
+ override fun compareSignalLevel(request: CompareSignalLevelRequest): CompareSignalLevelResult {
+ val comparisonResult = api.compareSignalLevel(request.rssi1, request.rssi2)
+ return comparisonResult.toCompareSignalLevelResult()
+ }
+}
diff --git a/wisefy/signal/src/main/java/com/isupatches/android/wisefy/signal/os/apis/Android30SignalApi.kt b/wisefy/signal/src/main/java/com/isupatches/android/wisefy/signal/os/apis/Android30SignalApi.kt
new file mode 100644
index 00000000..4df91fcc
--- /dev/null
+++ b/wisefy/signal/src/main/java/com/isupatches/android/wisefy/signal/os/apis/Android30SignalApi.kt
@@ -0,0 +1,58 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.signal.os.apis
+
+import android.os.Build
+import androidx.annotation.RequiresApi
+
+/**
+ * An Android 30 or higher API for functions related to the signal strength of networks.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+@RequiresApi(Build.VERSION_CODES.R)
+internal interface Android30SignalApi {
+
+ /**
+ * An Android 30 or higher API to calculate the bars of signal strength given the network's RSSI.
+ *
+ * @param rssiLevel The RSSI level of the network
+ *
+ * @return Int - The number of signal strength bars for the network given RSSI level.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ fun calculateSignalLevel(rssiLevel: Int): Int
+
+ /**
+ * An Android 30 or higher API to compare the RSSI levels of two networks.
+ *
+ * @param rssi1 The RSSI level of the first network
+ * @param rssi2 The RSSI level of the second network
+ *
+ * *Notes*
+ * See https://developer.android.com/reference/android/net/wifi/WifiManager#compareSignalLevel(int,%20int)
+ *
+ * @return Int - The result of the comparison. This will be less than 0 if first signal is weaker, 0 if the two
+ * have the same strength, and greater than zero if the second signal is stronger
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ fun compareSignalLevel(rssi1: Int, rssi2: Int): Int
+}
diff --git a/wisefy/signal/src/main/java/com/isupatches/android/wisefy/signal/os/apis/DefaultSignalApi.kt b/wisefy/signal/src/main/java/com/isupatches/android/wisefy/signal/os/apis/DefaultSignalApi.kt
new file mode 100644
index 00000000..2cd81a6b
--- /dev/null
+++ b/wisefy/signal/src/main/java/com/isupatches/android/wisefy/signal/os/apis/DefaultSignalApi.kt
@@ -0,0 +1,58 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.signal.os.apis
+
+import com.isupatches.android.wisefy.core.constants.DeprecationMessages
+
+/**
+ * A default API for functions related to the signal strength of networks.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+internal interface DefaultSignalApi {
+
+ /**
+ * A default API to calculate the bars of signal strength given the network's RSSI.
+ *
+ * @param rssiLevel The RSSI level of the network
+ * @param targetNumberOfBars The desired number of signal strength bars
+ *
+ * @return Int - The number of signal strength bars for the network given RSSI level and a desired number of bars.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ @Deprecated(DeprecationMessages.Signal.CALCULATE_BARS)
+ fun calculateSignalLevel(rssiLevel: Int, targetNumberOfBars: Int): Int
+
+ /**
+ * A default API to compare the RSSI levels of two networks.
+ *
+ * @param rssi1 The RSSI level of the first network
+ * @param rssi2 The RSSI level of the second network
+ *
+ * *Notes*
+ * See https://developer.android.com/reference/android/net/wifi/WifiManager#compareSignalLevel(int,%20int)
+ *
+ * @return Int - The result of the comparison. This will be less than 0 if first signal is weaker, 0 if the two
+ * have the same strength, and greater than zero if the second signal is stronger
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ fun compareSignalLevel(rssi1: Int, rssi2: Int): Int
+}
diff --git a/wisefy/signal/src/main/java/com/isupatches/android/wisefy/signal/os/converters/CompareSignalLevelConverters.kt b/wisefy/signal/src/main/java/com/isupatches/android/wisefy/signal/os/converters/CompareSignalLevelConverters.kt
new file mode 100644
index 00000000..c0942ba1
--- /dev/null
+++ b/wisefy/signal/src/main/java/com/isupatches/android/wisefy/signal/os/converters/CompareSignalLevelConverters.kt
@@ -0,0 +1,38 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.signal.os.converters
+
+import com.isupatches.android.wisefy.signal.entities.CompareSignalLevelResult
+
+/**
+ * A function that converts a raw Int result from WifiManager.compareSignalLevel into a [CompareSignalLevelResult].
+ *
+ * @receiver Int - The raw result from WifiManager.compareSignalLevel
+ *
+ * @see CompareSignalLevelResult
+ *
+ * @return CompareSignalLevelResult - A more readable variant of the result as any [CompareSignalLevelResult] type
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+internal fun Int.toCompareSignalLevelResult(): CompareSignalLevelResult {
+ return when {
+ this > 0 -> CompareSignalLevelResult.Success.FirstRSSIValueIsStronger(this)
+ this < 0 -> CompareSignalLevelResult.Success.FirstRSSIValueIsWeaker(this)
+ else -> CompareSignalLevelResult.Success.RSSIValuesAreEqual(0)
+ }
+}
diff --git a/wisefy/signal/src/main/java/com/isupatches/android/wisefy/signal/os/impls/Android30SignalApiImpl.kt b/wisefy/signal/src/main/java/com/isupatches/android/wisefy/signal/os/impls/Android30SignalApiImpl.kt
new file mode 100644
index 00000000..296decb7
--- /dev/null
+++ b/wisefy/signal/src/main/java/com/isupatches/android/wisefy/signal/os/impls/Android30SignalApiImpl.kt
@@ -0,0 +1,57 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.signal.os.impls
+
+import android.net.wifi.WifiManager
+import android.os.Build
+import androidx.annotation.RequiresApi
+import com.isupatches.android.wisefy.core.logging.WisefyLogger
+import com.isupatches.android.wisefy.signal.os.apis.Android30SignalApi
+
+/**
+ * An Android 30 or higher internal implementation for signal strength functionality through the Android OS.
+ *
+ * @property wifiManager The WifiManager instance to use
+ * @property logger The [WisefyLogger] instance to use
+ *
+ * @see Android30SignalApi
+ * @see WisefyLogger
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+@RequiresApi(Build.VERSION_CODES.R)
+internal class Android30SignalApiImpl(
+ private val wifiManager: WifiManager,
+ private val logger: WisefyLogger
+) : Android30SignalApi {
+
+ override fun calculateSignalLevel(rssiLevel: Int): Int {
+ val result = wifiManager.calculateSignalLevel(rssiLevel)
+ logger.d(LOG_TAG, "Result from calculateSignalLevel: $result")
+ return result
+ }
+
+ override fun compareSignalLevel(rssi1: Int, rssi2: Int): Int {
+ val result = WifiManager.compareSignalLevel(rssi1, rssi2)
+ logger.d(LOG_TAG, "Result from compareSignalLevel: $result")
+ return result
+ }
+
+ companion object {
+ private const val LOG_TAG = "Android30SignalApiImpl"
+ }
+}
diff --git a/wisefy/signal/src/main/java/com/isupatches/android/wisefy/signal/os/impls/DefaultSignalApiImpl.kt b/wisefy/signal/src/main/java/com/isupatches/android/wisefy/signal/os/impls/DefaultSignalApiImpl.kt
new file mode 100644
index 00000000..251ae6e0
--- /dev/null
+++ b/wisefy/signal/src/main/java/com/isupatches/android/wisefy/signal/os/impls/DefaultSignalApiImpl.kt
@@ -0,0 +1,58 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.signal.os.impls
+
+import android.net.wifi.WifiManager
+import com.isupatches.android.wisefy.core.constants.DeprecationMessages
+import com.isupatches.android.wisefy.core.logging.WisefyLogger
+import com.isupatches.android.wisefy.signal.os.apis.DefaultSignalApi
+
+/**
+ * A default implementation for signal strength functionality through the Android OS.
+ *
+ * @property logger The [WisefyLogger] instance to use
+ *
+ * @see DefaultSignalApi
+ * @see WisefyLogger
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+internal class DefaultSignalApiImpl(
+ private val logger: WisefyLogger
+) : DefaultSignalApi {
+
+ @Deprecated(
+ message = DeprecationMessages.Signal.CALCULATE_BARS,
+ replaceWith = ReplaceWith("this.calculateBars(rssiLevel)")
+ )
+ override fun calculateSignalLevel(rssiLevel: Int, targetNumberOfBars: Int): Int {
+ @Suppress("Deprecation")
+ val result = WifiManager.calculateSignalLevel(rssiLevel, targetNumberOfBars)
+ logger.d(LOG_TAG, "Result from calculateSignalLevel: $result")
+ return result
+ }
+
+ override fun compareSignalLevel(rssi1: Int, rssi2: Int): Int {
+ val result = WifiManager.compareSignalLevel(rssi1, rssi2)
+ logger.d(LOG_TAG, "Result from compareSignalLevel: $result")
+ return result
+ }
+
+ companion object {
+ private const val LOG_TAG = "DefaultSignalApiImpl"
+ }
+}
diff --git a/wisefy/src/main/AndroidManifest.xml b/wisefy/src/main/AndroidManifest.xml
index 7e4464e1..f76e7ec9 100644
--- a/wisefy/src/main/AndroidManifest.xml
+++ b/wisefy/src/main/AndroidManifest.xml
@@ -1,6 +1,10 @@
-
+
+
+
+
+
+
+
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/Wisefy.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/Wisefy.kt
index 3c69b071..5bb45363 100644
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/Wisefy.kt
+++ b/wisefy/src/main/java/com/isupatches/android/wisefy/Wisefy.kt
@@ -1,5 +1,5 @@
/*
- * Copyright 2021 Patches Klinefelter
+ * Copyright 2022 Patches Barrett
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,6 +14,7 @@
* limitations under the License.
*/
@file:JvmName("WiseFy")
+
package com.isupatches.android.wisefy
import android.Manifest.permission.ACCESS_FINE_LOCATION
@@ -22,119 +23,166 @@ import android.Manifest.permission.ACCESS_WIFI_STATE
import android.Manifest.permission.CHANGE_WIFI_STATE
import android.content.Context
import android.net.ConnectivityManager
-import android.net.wifi.WifiInfo
+import android.net.NetworkRequest
import android.net.wifi.WifiManager
import android.os.Build
-import android.os.Build.VERSION_CODES.LOLLIPOP
import androidx.annotation.RequiresApi
import androidx.annotation.RequiresPermission
import androidx.annotation.VisibleForTesting
-import com.isupatches.android.wisefy.accesspoints.AccessPointsUtil
-import com.isupatches.android.wisefy.accesspoints.WisefyAccessPointsUtil
-import com.isupatches.android.wisefy.accesspoints.entities.AccessPointData
-import com.isupatches.android.wisefy.accesspoints.entities.GetNearbyAccessPointsRequest
-import com.isupatches.android.wisefy.accesspoints.entities.GetRSSIRequest
-import com.isupatches.android.wisefy.accesspoints.entities.RSSIData
-import com.isupatches.android.wisefy.accesspoints.entities.SSIDData
-import com.isupatches.android.wisefy.accesspoints.entities.SearchForMultipleAccessPointsRequest
-import com.isupatches.android.wisefy.accesspoints.entities.SearchForMultipleSSIDsRequest
-import com.isupatches.android.wisefy.accesspoints.entities.SearchForSingleAccessPointRequest
-import com.isupatches.android.wisefy.accesspoints.entities.SearchForSingleSSIDRequest
-import com.isupatches.android.wisefy.addnetwork.AddNetworkUtil
-import com.isupatches.android.wisefy.addnetwork.WisefyAddNetworkUtil
+import com.isupatches.android.wisefy.Wisefy.Brains
+import com.isupatches.android.wisefy.accesspoints.AccessPointsDelegate
+import com.isupatches.android.wisefy.accesspoints.WisefyAccessPointsDelegate
+import com.isupatches.android.wisefy.accesspoints.callbacks.GetAccessPointsCallbacks
+import com.isupatches.android.wisefy.accesspoints.entities.GetAccessPointsQuery
+import com.isupatches.android.wisefy.accesspoints.entities.GetAccessPointsResult
+import com.isupatches.android.wisefy.addnetwork.AddNetworkDelegate
+import com.isupatches.android.wisefy.addnetwork.WisefyAddNetworkDelegate
+import com.isupatches.android.wisefy.addnetwork.callbacks.AddNetworkCallbacks
+import com.isupatches.android.wisefy.addnetwork.entities.AddNetworkRequest
import com.isupatches.android.wisefy.addnetwork.entities.AddNetworkResult
-import com.isupatches.android.wisefy.addnetwork.entities.AddOpenNetworkRequest
-import com.isupatches.android.wisefy.addnetwork.entities.AddWPA2NetworkRequest
-import com.isupatches.android.wisefy.addnetwork.entities.AddWPA3NetworkRequest
-import com.isupatches.android.wisefy.callbacks.AddNetworkCallbacks
-import com.isupatches.android.wisefy.callbacks.ConnectToNetworkCallbacks
-import com.isupatches.android.wisefy.callbacks.DisableWifiCallbacks
-import com.isupatches.android.wisefy.callbacks.DisconnectFromCurrentNetworkCallbacks
-import com.isupatches.android.wisefy.callbacks.EnableWifiCallbacks
-import com.isupatches.android.wisefy.callbacks.GetCurrentNetworkCallbacks
-import com.isupatches.android.wisefy.callbacks.GetCurrentNetworkInfoCallbacks
-import com.isupatches.android.wisefy.callbacks.GetFrequencyCallbacks
-import com.isupatches.android.wisefy.callbacks.GetIPCallbacks
-import com.isupatches.android.wisefy.callbacks.GetNearbyAccessPointCallbacks
-import com.isupatches.android.wisefy.callbacks.GetRSSICallbacks
-import com.isupatches.android.wisefy.callbacks.GetSavedNetworksCallbacks
-import com.isupatches.android.wisefy.callbacks.RemoveNetworkCallbacks
-import com.isupatches.android.wisefy.callbacks.SearchForAccessPointCallbacks
-import com.isupatches.android.wisefy.callbacks.SearchForAccessPointsCallbacks
-import com.isupatches.android.wisefy.callbacks.SearchForSSIDCallbacks
-import com.isupatches.android.wisefy.callbacks.SearchForSSIDsCallbacks
-import com.isupatches.android.wisefy.callbacks.SearchForSavedNetworkCallbacks
-import com.isupatches.android.wisefy.callbacks.SearchForSavedNetworksCallbacks
-import com.isupatches.android.wisefy.constants.DeprecationMessages
-import com.isupatches.android.wisefy.frequency.FrequencyUtil
-import com.isupatches.android.wisefy.frequency.WisefyFrequencyUtil
-import com.isupatches.android.wisefy.frequency.entities.FrequencyData
-import com.isupatches.android.wisefy.logging.WisefyLogger
-import com.isupatches.android.wisefy.networkconnection.NetworkConnectionUtil
-import com.isupatches.android.wisefy.networkconnection.WisefyNetworkConnectionUtil
-import com.isupatches.android.wisefy.networkconnection.entities.NetworkConnectionRequest
-import com.isupatches.android.wisefy.networkconnection.entities.NetworkConnectionResult
-import com.isupatches.android.wisefy.networkconnectionstatus.NetworkConnectionStatusUtil
-import com.isupatches.android.wisefy.networkconnectionstatus.WisefyNetworkConnectionStatusUtil
-import com.isupatches.android.wisefy.networkconnectionstatus.entities.IsNetworkConnectedToSSIDRequest
-import com.isupatches.android.wisefy.networkinfo.NetworkInfoUtil
-import com.isupatches.android.wisefy.networkinfo.WisefyNetworkInfoUtil
-import com.isupatches.android.wisefy.networkinfo.entities.CurrentNetworkData
-import com.isupatches.android.wisefy.networkinfo.entities.CurrentNetworkInfoData
-import com.isupatches.android.wisefy.networkinfo.entities.GetCurrentNetworkInfoRequest
-import com.isupatches.android.wisefy.networkinfo.entities.IPData
-import com.isupatches.android.wisefy.removenetwork.RemoveNetworkUtil
-import com.isupatches.android.wisefy.removenetwork.WisefyRemoveNetworkUtil
+import com.isupatches.android.wisefy.core.assertions.WisefyAssertions
+import com.isupatches.android.wisefy.core.constants.DeprecationMessages
+import com.isupatches.android.wisefy.core.coroutines.CoroutineDispatcherProvider
+import com.isupatches.android.wisefy.core.logging.DefaultWisefyLogger
+import com.isupatches.android.wisefy.core.logging.WisefyLogger
+import com.isupatches.android.wisefy.core.util.SdkUtilImpl
+import com.isupatches.android.wisefy.networkconnection.NetworkConnectionDelegate
+import com.isupatches.android.wisefy.networkconnection.WisefyNetworkConnectionDelegate
+import com.isupatches.android.wisefy.networkconnection.callbacks.ChangeNetworkCallbacks
+import com.isupatches.android.wisefy.networkconnection.callbacks.ConnectToNetworkCallbacks
+import com.isupatches.android.wisefy.networkconnection.callbacks.DisconnectFromCurrentNetworkCallbacks
+import com.isupatches.android.wisefy.networkconnection.entities.ChangeNetworkRequest
+import com.isupatches.android.wisefy.networkconnection.entities.ChangeNetworkResult
+import com.isupatches.android.wisefy.networkconnection.entities.ConnectToNetworkRequest
+import com.isupatches.android.wisefy.networkconnection.entities.ConnectToNetworkResult
+import com.isupatches.android.wisefy.networkconnection.entities.DisconnectFromCurrentNetworkRequest
+import com.isupatches.android.wisefy.networkconnection.entities.DisconnectFromCurrentNetworkResult
+import com.isupatches.android.wisefy.networkconnectionstatus.WisefyNetworkCallbacks
+import com.isupatches.android.wisefy.networkconnectionstatus.WisefyNetworkConnectionStatusManager
+import com.isupatches.android.wisefy.networkinfo.NetworkInfoDelegate
+import com.isupatches.android.wisefy.networkinfo.WisefyNetworkInfoDelegate
+import com.isupatches.android.wisefy.networkinfo.callbacks.GetCurrentNetworkCallbacks
+import com.isupatches.android.wisefy.networkinfo.callbacks.GetNetworkConnectionStatusCallbacks
+import com.isupatches.android.wisefy.networkinfo.entities.GetCurrentNetworkQuery
+import com.isupatches.android.wisefy.networkinfo.entities.GetCurrentNetworkResult
+import com.isupatches.android.wisefy.networkinfo.entities.GetNetworkConnectionStatusQuery
+import com.isupatches.android.wisefy.networkinfo.entities.GetNetworkConnectionStatusResult
+import com.isupatches.android.wisefy.removenetwork.RemoveNetworkDelegate
+import com.isupatches.android.wisefy.removenetwork.WisefyRemoveNetworkDelegate
+import com.isupatches.android.wisefy.removenetwork.callbacks.RemoveNetworkCallbacks
import com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkRequest
import com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkResult
-import com.isupatches.android.wisefy.savednetworks.SavedNetworkUtil
-import com.isupatches.android.wisefy.savednetworks.WisefySavedNetworkUtil
-import com.isupatches.android.wisefy.savednetworks.entities.SavedNetworkData
-import com.isupatches.android.wisefy.savednetworks.entities.SearchForSavedNetworkRequest
-import com.isupatches.android.wisefy.security.SecurityUtil
-import com.isupatches.android.wisefy.security.WisefySecurityUtil
-import com.isupatches.android.wisefy.signal.SignalUtil
-import com.isupatches.android.wisefy.signal.WisefySignalUtil
-import com.isupatches.android.wisefy.util.SdkUtilImpl
-import com.isupatches.android.wisefy.util.coroutines.CoroutineDispatcherProvider
-import com.isupatches.android.wisefy.wifi.WifiUtil
-import com.isupatches.android.wisefy.wifi.WisefyWifiUtil
-
+import com.isupatches.android.wisefy.savednetworks.SavedNetworkDelegate
+import com.isupatches.android.wisefy.savednetworks.WisefySavedNetworkDelegate
+import com.isupatches.android.wisefy.savednetworks.callbacks.GetSavedNetworksCallbacks
+import com.isupatches.android.wisefy.savednetworks.callbacks.IsNetworkSavedCallbacks
+import com.isupatches.android.wisefy.savednetworks.entities.GetSavedNetworksQuery
+import com.isupatches.android.wisefy.savednetworks.entities.GetSavedNetworksResult
+import com.isupatches.android.wisefy.savednetworks.entities.IsNetworkSavedQuery
+import com.isupatches.android.wisefy.savednetworks.entities.IsNetworkSavedResult
+import com.isupatches.android.wisefy.signal.SignalDelegate
+import com.isupatches.android.wisefy.signal.WisefySignalDelegate
+import com.isupatches.android.wisefy.signal.entities.CalculateSignalLevelRequest
+import com.isupatches.android.wisefy.signal.entities.CalculateSignalLevelResult
+import com.isupatches.android.wisefy.signal.entities.CompareSignalLevelRequest
+import com.isupatches.android.wisefy.signal.entities.CompareSignalLevelResult
+import com.isupatches.android.wisefy.wifi.WifiDelegate
+import com.isupatches.android.wisefy.wifi.WisefyWifiDelegate
+import com.isupatches.android.wisefy.wifi.callbacks.DisableWifiCallbacks
+import com.isupatches.android.wisefy.wifi.callbacks.EnableWifiCallbacks
+import com.isupatches.android.wisefy.wifi.callbacks.IsWifiEnabledCallbacks
+import com.isupatches.android.wisefy.wifi.entities.DisableWifiRequest
+import com.isupatches.android.wisefy.wifi.entities.DisableWifiResult
+import com.isupatches.android.wisefy.wifi.entities.EnableWifiRequest
+import com.isupatches.android.wisefy.wifi.entities.EnableWifiResult
+import com.isupatches.android.wisefy.wifi.entities.IsWifiEnabledQuery
+import com.isupatches.android.wisefy.wifi.entities.IsWifiEnabledResult
+import kotlinx.coroutines.CoroutineScope
+import kotlinx.coroutines.Job
+import kotlinx.coroutines.SupervisorJob
+import kotlinx.coroutines.cancelChildren
+import kotlinx.coroutines.launch
+import kotlinx.coroutines.sync.Mutex
+
+/**
+ * The private constructor used by [Brains] to create a Wisefy instance.
+ *
+ * @property accessPointsDelegate The [AccessPointsDelegate] instance to use
+ * @property addNetworkDelegate The [AddNetworkDelegate] instance to use
+ * @property networkConnectionDelegate The [NetworkConnectionDelegate] instance to use
+ * @property networkInfoDelegate The [NetworkInfoDelegate] instance to use
+ * @property removeNetworkDelegate The [RemoveNetworkDelegate] instance to use
+ * @property savedNetworkDelegate The [SavedNetworkDelegate] instance to use
+ * @property signalDelegate The [SignalDelegate] instance to use
+ * @property wifiDelegate The [WifiDelegate] instance to use
+ * @property scope The [CoroutineScope] to use for async operations
+ * @property connectivityManager The ConnectivityManager instance to use
+ * @property networkConnectionMutex The mutex for network connection operations
+ * @param logger The [WisefyLogger] instance to use
+ *
+ * @see AccessPointsDelegate
+ * @see AddNetworkDelegate
+ * @see NetworkConnectionDelegate
+ * @see NetworkInfoDelegate
+ * @see RemoveNetworkDelegate
+ * @see SignalDelegate
+ * @see WifiDelegate
+ * @see WisefyApi
+ * @see WisefyLogger
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
@Suppress("SyntheticAccessor")
class Wisefy private constructor(
- private val accessPointsUtil: AccessPointsUtil,
- private val addNetworkUtil: AddNetworkUtil,
- private val frequencyUtil: FrequencyUtil,
- private val networkConnectionUtil: NetworkConnectionUtil,
- private val networkConnectionStatusUtil: NetworkConnectionStatusUtil,
- private val networkInfoUtil: NetworkInfoUtil,
- private val removeNetworkUtil: RemoveNetworkUtil,
- private val savedNetworkUtil: SavedNetworkUtil,
- private val securityUtil: SecurityUtil,
- private val signalUtil: SignalUtil,
- private val wifiUtil: WifiUtil
+ private val accessPointsDelegate: AccessPointsDelegate,
+ private val addNetworkDelegate: AddNetworkDelegate,
+ private val networkConnectionDelegate: NetworkConnectionDelegate,
+ private val networkInfoDelegate: NetworkInfoDelegate,
+ private val removeNetworkDelegate: RemoveNetworkDelegate,
+ private val savedNetworkDelegate: SavedNetworkDelegate,
+ private val signalDelegate: SignalDelegate,
+ private val wifiDelegate: WifiDelegate,
+ private val scope: CoroutineScope,
+ private val connectivityManager: ConnectivityManager,
+ private val networkConnectionMutex: Mutex,
+ logger: WisefyLogger
) : WisefyApi {
+ /**
+ * The public builder to create a Wisefy instance.
+ *
+ * @param context The application context. Used for creating a [ConnectivityManager] and [wifiManager] instance
+ * to use within Wisefy
+ * @param throwOnAssertions Whether assertions will throw an [IllegalStateException] when hit or be no-op
+ * @property logger The [WisefyLogger] instance to use within Wisefy
+ *
+ * @see DefaultWisefyLogger
+ * @see WisefyLogger
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
class Brains @JvmOverloads constructor(
context: Context,
- logger: WisefyLogger? = null
+ throwOnAssertions: Boolean = false,
+ private var logger: WisefyLogger = DefaultWisefyLogger()
) {
- private var logger: WisefyLogger? = null
private var connectivityManager: ConnectivityManager
private var wifiManager: WifiManager
- private var accessPointsUtil: AccessPointsUtil
- private var addNetworkUtil: AddNetworkUtil
- private var frequencyUtil: FrequencyUtil
- private var networkConnectionUtil: NetworkConnectionUtil
- private var networkConnectionStatusUtil: NetworkConnectionStatusUtil
- private var networkInfoUtil: NetworkInfoUtil
- private var removeNetworkUtil: RemoveNetworkUtil
- private var savedNetworkUtil: SavedNetworkUtil
- private var securityUtil: SecurityUtil
- private var signalUtil: SignalUtil
- private var wifiUtil: WifiUtil
+ private var accessPointsDelegate: AccessPointsDelegate
+ private var addNetworkDelegate: AddNetworkDelegate
+ private var networkConnectionDelegate: NetworkConnectionDelegate
+ private var networkInfoDelegate: NetworkInfoDelegate
+ private var removeNetworkDelegate: RemoveNetworkDelegate
+ private var savedNetworkDelegate: SavedNetworkDelegate
+ private var signalDelegate: SignalDelegate
+ private var wifiDelegate: WifiDelegate
+ private var wisefyScope: CoroutineScope
+
+ private val networkConnectionMutex: Mutex
init {
connectivityManager = context.applicationContext.getSystemService(
@@ -144,482 +192,497 @@ class Wisefy private constructor(
val sdkUtil = SdkUtilImpl()
val coroutineDispatcherProvider = CoroutineDispatcherProvider()
-
- // Used by other utils
- savedNetworkUtil = WisefySavedNetworkUtil(
- coroutineDispatcherProvider = coroutineDispatcherProvider,
- logger = logger,
- sdkUtil = sdkUtil,
- wifiManager = wifiManager
- )
- networkConnectionStatusUtil = WisefyNetworkConnectionStatusUtil(
- connectivityManager = connectivityManager,
- logger = logger,
- sdkUtil = sdkUtil,
- wifiManager = wifiManager
- )
+ wisefyScope = CoroutineScope(SupervisorJob() + coroutineDispatcherProvider.io)
+ val assertions = WisefyAssertions(throwOnAssertions)
+
+ /*
+ * Used to ensure async conflicts don't happen with these features:
+ * - Connecting to a network
+ * - Disconnecting from a network
+ * - Getting the current network connection info
+ * - Getting the current network connection status
+ */
+ networkConnectionMutex = Mutex()
+
+ /*
+ * Used to ensure async conflicts don't happen with these features:
+ * - Adding a network
+ * - Removing a network
+ * - Checking if a network is saved
+ * - Searching for a saved network
+ */
+ val savedNetworkMutex = Mutex()
+
+ /*
+ * Used to ensure async conflicts don't happen with these features:
+ * - Enabling Wifi
+ * - Disabling Wifi
+ * - Checking if Wifi is enabled
+ */
+ val wifiMutex = Mutex()
// Not used by other utils
- accessPointsUtil = WisefyAccessPointsUtil(
- coroutineDispatcherProvider = coroutineDispatcherProvider,
- logger = logger,
- wifiManager = wifiManager
- )
- addNetworkUtil = WisefyAddNetworkUtil(
- coroutineDispatcherProvider = coroutineDispatcherProvider,
- logger = logger,
- sdkUtil = sdkUtil,
- wifiManager = wifiManager
+ accessPointsDelegate = WisefyAccessPointsDelegate(
+ logger,
+ wifiManager,
+ coroutineDispatcherProvider,
+ wisefyScope
)
- frequencyUtil = WisefyFrequencyUtil(
- coroutineDispatcherProvider = coroutineDispatcherProvider,
- logger = logger,
- wifiManager = wifiManager,
- connectivityManager = connectivityManager
+ addNetworkDelegate = WisefyAddNetworkDelegate(
+ assertions,
+ logger,
+ sdkUtil,
+ wifiManager,
+ coroutineDispatcherProvider,
+ wisefyScope,
+ savedNetworkMutex
)
- networkConnectionUtil = WisefyNetworkConnectionUtil(
- coroutineDispatcherProvider = coroutineDispatcherProvider,
- connectivityManager = connectivityManager,
- logger = logger,
- networkConnectionStatusUtil = networkConnectionStatusUtil,
- savedNetworkUtil = savedNetworkUtil,
- sdkUtil = sdkUtil,
- wifiManager = wifiManager
+ networkConnectionDelegate = WisefyNetworkConnectionDelegate(
+ assertions,
+ connectivityManager,
+ logger,
+ sdkUtil,
+ wifiManager,
+ {
+ WisefyNetworkConnectionStatusManager.getInstance(networkConnectionMutex)
+ .getNetworkConnectionStatus()
+ },
+ coroutineDispatcherProvider,
+ wisefyScope,
+ networkConnectionMutex
)
- networkInfoUtil = WisefyNetworkInfoUtil(
- coroutineDispatcherProvider = coroutineDispatcherProvider,
- connectivityManager = connectivityManager,
- logger = logger,
- wifiManager = wifiManager
+ networkInfoDelegate = WisefyNetworkInfoDelegate(
+ connectivityManager,
+ logger,
+ sdkUtil,
+ wifiManager,
+ {
+ WisefyNetworkConnectionStatusManager.getInstance(networkConnectionMutex)
+ .getNetworkConnectionStatus()
+ },
+ coroutineDispatcherProvider,
+ wisefyScope,
+ networkConnectionMutex
)
- removeNetworkUtil = WisefyRemoveNetworkUtil(
- coroutineDispatcherProvider = coroutineDispatcherProvider,
- logger = logger,
- savedNetworkUtil = savedNetworkUtil,
- sdkUtil = sdkUtil,
- wifiManager = wifiManager
+ removeNetworkDelegate = WisefyRemoveNetworkDelegate(
+ assertions,
+ logger,
+ sdkUtil,
+ wifiManager,
+ coroutineDispatcherProvider,
+ wisefyScope,
+ savedNetworkMutex
)
- securityUtil = WisefySecurityUtil(
- logger = logger
+ savedNetworkDelegate = WisefySavedNetworkDelegate(
+ assertions,
+ logger,
+ sdkUtil,
+ wifiManager,
+ coroutineDispatcherProvider,
+ wisefyScope,
+ savedNetworkMutex
)
- signalUtil = WisefySignalUtil(
- logger = logger,
- sdkUtil = sdkUtil,
- wifiManager = wifiManager
+ signalDelegate = WisefySignalDelegate(
+ assertions,
+ logger,
+ sdkUtil,
+ wifiManager
)
- wifiUtil = WisefyWifiUtil(
- coroutineDispatcherProvider = coroutineDispatcherProvider,
- logger = logger,
- sdkUtil = sdkUtil,
- wifiManager = wifiManager
+ wifiDelegate = WisefyWifiDelegate(
+ assertions,
+ logger,
+ sdkUtil,
+ wifiManager,
+ coroutineDispatcherProvider,
+ wisefyScope,
+ wifiMutex
)
}
+ /**
+ * A function to override the logger that Wisefy uses.
+ *
+ * @param logger The custom [WisefyLogger] instance to use
+ *
+ * @see WisefyLogger
+ *
+ * @return [Brains] - The builder instance
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
internal fun logger(logger: WisefyLogger): Brains = apply {
this.logger = logger
}
+ /**
+ * A function to override the [ConnectivityManager] that Wisefy uses.
+ *
+ * @param connectivityManager The custom [ConnectivityManager] instance to use
+ *
+ * @return [Brains] - The builder instance
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
@VisibleForTesting
internal fun customConnectivityManager(connectivityManager: ConnectivityManager): Brains = apply {
this.connectivityManager = connectivityManager
}
+ /**
+ * A function to override the [WifiManager] that Wisefy uses.
+ *
+ * @param wifiManager The custom [WifiManager] instance to use
+ *
+ * @return [Brains] - The builder instance
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
@VisibleForTesting
internal fun customWifiManager(wifiManager: WifiManager): Brains = apply {
this.wifiManager = wifiManager
}
+ /**
+ * A function to override the [AccessPointsDelegate] that Wisefy uses.
+ *
+ * @param accessPointsDelegate The custom [AccessPointsDelegate] instance to use
+ *
+ * @see AccessPointsDelegate
+ *
+ * @return [Brains] - The builder instance
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
@VisibleForTesting
- internal fun customAccessPointsUtil(accessPointsUtil: AccessPointsUtil): Brains = apply {
- this.accessPointsUtil = accessPointsUtil
- }
-
- @VisibleForTesting
- internal fun customAddNetworkUtil(addNetworkUtil: AddNetworkUtil): Brains = apply {
- this.addNetworkUtil = addNetworkUtil
- }
-
- @VisibleForTesting
- internal fun customFrequencyUtil(frequencyUtil: FrequencyUtil): Brains = apply {
- this.frequencyUtil = frequencyUtil
+ internal fun customAccessPointsDelegate(accessPointsDelegate: AccessPointsDelegate): Brains = apply {
+ this.accessPointsDelegate = accessPointsDelegate
}
+ /**
+ * A function to override the [AddNetworkDelegate] that Wisefy uses.
+ *
+ * @param addNetworkDelegate The custom [AddNetworkDelegate] instance to use
+ *
+ * @see AddNetworkDelegate
+ *
+ * @return [Brains] - The builder instance
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
@VisibleForTesting
- internal fun customNetworkConnectionUtil(networkConnectionUtil: NetworkConnectionUtil): Brains = apply {
- this.networkConnectionUtil = networkConnectionUtil
+ internal fun customAddNetworkDelegate(addNetworkDelegate: AddNetworkDelegate): Brains = apply {
+ this.addNetworkDelegate = addNetworkDelegate
}
+ /**
+ * A function to override the [NetworkConnectionDelegate] that Wisefy uses.
+ *
+ * @param networkConnectionDelegate The custom [NetworkConnectionDelegate] instance to use
+ *
+ * @see NetworkConnectionDelegate
+ *
+ * @return [Brains] - The builder instance
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
@VisibleForTesting
- internal fun customNetworkConnectionStatusUtil(
- networkConnectionStatusUtil: NetworkConnectionStatusUtil
+ internal fun customNetworkConnectionDelegate(
+ networkConnectionDelegate: NetworkConnectionDelegate
): Brains = apply {
- this.networkConnectionStatusUtil = networkConnectionStatusUtil
- }
-
- @VisibleForTesting
- internal fun customNetworkInfoUtil(networkInfoUtil: NetworkInfoUtil): Brains = apply {
- this.networkInfoUtil = networkInfoUtil
+ this.networkConnectionDelegate = networkConnectionDelegate
}
+ /**
+ * A function to override the [NetworkInfoDelegate] that Wisefy uses.
+ *
+ * @param networkInfoDelegate The custom [NetworkInfoDelegate] instance to use
+ *
+ * @see NetworkInfoDelegate
+ *
+ * @return [Brains] - The builder instance
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
@VisibleForTesting
- internal fun customRemoveNetworkUtil(removeNetworkUtil: RemoveNetworkUtil): Brains = apply {
- this.removeNetworkUtil = removeNetworkUtil
+ internal fun customNetworkInfoDelegate(networkInfoDelegate: NetworkInfoDelegate): Brains = apply {
+ this.networkInfoDelegate = networkInfoDelegate
}
+ /**
+ * A function to override the [RemoveNetworkDelegate] that Wisefy uses.
+ *
+ * @param removeNetworkDelegate The custom [RemoveNetworkDelegate] instance to use
+ *
+ * @see RemoveNetworkDelegate
+ *
+ * @return [Brains] - The builder instance
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
@VisibleForTesting
- internal fun customSavedNetworkUtil(savedNetworkUtil: SavedNetworkUtil): Brains = apply {
- this.savedNetworkUtil = savedNetworkUtil
+ internal fun customRemoveNetworkDelegate(removeNetworkDelegate: RemoveNetworkDelegate): Brains = apply {
+ this.removeNetworkDelegate = removeNetworkDelegate
}
+ /**
+ * A function to override the [SavedNetworkDelegate] that Wisefy uses.
+ *
+ * @param savedNetworkDelegate The custom [SavedNetworkDelegate] instance to use
+ *
+ * @see SavedNetworkDelegate
+ *
+ * @return [Brains] - The builder instance
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
@VisibleForTesting
- internal fun customSecurityUtil(securityUtil: SecurityUtil): Brains = apply {
- this.securityUtil = securityUtil
+ internal fun customSavedNetworkDelegate(savedNetworkDelegate: SavedNetworkDelegate): Brains = apply {
+ this.savedNetworkDelegate = savedNetworkDelegate
}
+ /**
+ * A function to override the [SignalDelegate] that Wisefy uses.
+ *
+ * @param signalDelegate The custom [SignalDelegate] instance to use
+ *
+ * @see SignalDelegate
+ *
+ * @return [Brains] - The builder instance
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
@VisibleForTesting
- internal fun customSignalUtil(signalUtil: SignalUtil): Brains = apply {
- this.signalUtil = signalUtil
+ internal fun customSignalDelegate(signalDelegate: SignalDelegate): Brains = apply {
+ this.signalDelegate = signalDelegate
}
+ /**
+ * A function to override the [WifiDelegate] that Wisefy uses.
+ *
+ * @param wifiDelegate The custom [WifiDelegate] instance to use
+ *
+ * @see WifiDelegate
+ *
+ * @return [Brains] - The builder instance
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
@VisibleForTesting
- internal fun customWifiUtil(wifiUtil: WifiUtil): Brains = apply {
- this.wifiUtil = wifiUtil
+ internal fun customWifiDelegate(wifiDelegate: WifiDelegate): Brains = apply {
+ this.wifiDelegate = wifiDelegate
}
+ /**
+ * A function on the [Brains] builder class that returns a Wisefy instance ([WisefyApi]) and the equivalent to a
+ * builder.build() call.
+ *
+ * @return WisefyApi - The Wisefy instance created by the [Wisefy.Brains] builder
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
fun getSmarts(): WisefyApi {
return Wisefy(
- accessPointsUtil = accessPointsUtil,
- addNetworkUtil = addNetworkUtil,
- frequencyUtil = frequencyUtil,
- networkConnectionUtil = networkConnectionUtil,
- networkConnectionStatusUtil = networkConnectionStatusUtil,
- networkInfoUtil = networkInfoUtil,
- removeNetworkUtil = removeNetworkUtil,
- savedNetworkUtil = savedNetworkUtil,
- securityUtil = securityUtil,
- signalUtil = signalUtil,
- wifiUtil = wifiUtil
+ accessPointsDelegate = accessPointsDelegate,
+ addNetworkDelegate = addNetworkDelegate,
+ networkConnectionDelegate = networkConnectionDelegate,
+ networkInfoDelegate = networkInfoDelegate,
+ removeNetworkDelegate = removeNetworkDelegate,
+ savedNetworkDelegate = savedNetworkDelegate,
+ signalDelegate = signalDelegate,
+ wifiDelegate = wifiDelegate,
+ scope = wisefyScope,
+ connectivityManager = connectivityManager,
+ networkConnectionMutex = networkConnectionMutex,
+ logger = logger
)
}
}
- override fun attachNetworkWatcher() {
- networkConnectionStatusUtil.attachNetworkWatcher()
- }
-
- override fun detachNetworkWatcher() {
- networkConnectionStatusUtil.detachNetworkWatcher()
- }
+ private val wisefyNetworkCallbacks = WisefyNetworkCallbacks(
+ logger = logger,
+ onNetworkConnectionStatusUpdated = { status ->
+ scope.launch {
+ WisefyNetworkConnectionStatusManager.getInstance(networkConnectionMutex)
+ .setNetworkConnectionStatus(status)
+ }
+ }
+ )
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- override fun addOpenNetwork(request: AddOpenNetworkRequest): AddNetworkResult {
- return addNetworkUtil.addOpenNetwork(request)
+ @RequiresPermission(ACCESS_NETWORK_STATE)
+ override fun init() {
+ val request = NetworkRequest.Builder().build()
+ connectivityManager.registerNetworkCallback(request, wisefyNetworkCallbacks)
}
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- override fun addOpenNetwork(request: AddOpenNetworkRequest, callbacks: AddNetworkCallbacks?) {
- addNetworkUtil.addOpenNetwork(request, callbacks)
+ override fun dump() {
+ scope.coroutineContext[Job]?.cancelChildren()
+ connectivityManager.unregisterNetworkCallback(wisefyNetworkCallbacks)
+ scope.launch {
+ WisefyNetworkConnectionStatusManager.getInstance(networkConnectionMutex).clear()
+ }
}
@RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- override fun addWPA2Network(request: AddWPA2NetworkRequest): AddNetworkResult {
- return addNetworkUtil.addWPA2Network(request)
+ override fun addNetwork(request: AddNetworkRequest): AddNetworkResult {
+ return addNetworkDelegate.addNetwork(request)
}
@RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- override fun addWPA2Network(request: AddWPA2NetworkRequest, callbacks: AddNetworkCallbacks?) {
- addNetworkUtil.addWPA2Network(request, callbacks)
+ override fun addNetwork(request: AddNetworkRequest, callbacks: AddNetworkCallbacks?) {
+ addNetworkDelegate.addNetwork(request, callbacks)
}
@RequiresApi(Build.VERSION_CODES.Q)
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- override fun addWPA3Network(request: AddWPA3NetworkRequest): AddNetworkResult {
- return addNetworkUtil.addWPA3Network(request)
+ override fun changeNetwork(request: ChangeNetworkRequest): ChangeNetworkResult {
+ return networkConnectionDelegate.changeNetwork(request)
}
@RequiresApi(Build.VERSION_CODES.Q)
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- override fun addWPA3Network(request: AddWPA3NetworkRequest, callbacks: AddNetworkCallbacks?) {
- addNetworkUtil.addWPA3Network(request, callbacks)
- }
-
- override fun calculateBars(rssiLevel: Int, targetNumberOfBars: Int): Int {
- return signalUtil.calculateBars(rssiLevel, targetNumberOfBars)
- }
-
- @RequiresApi(Build.VERSION_CODES.R)
- override fun calculateBars(rssiLevel: Int): Int {
- return signalUtil.calculateBars(rssiLevel)
+ override fun changeNetwork(request: ChangeNetworkRequest, callbacks: ChangeNetworkCallbacks?) {
+ networkConnectionDelegate.changeNetwork(request, callbacks)
}
- override fun compareSignalLevel(rssi1: Int, rssi2: Int): Int {
- return signalUtil.compareSignalLevel(rssi1, rssi2)
+ override fun calculateSignalLevel(request: CalculateSignalLevelRequest): CalculateSignalLevelResult {
+ return signalDelegate.calculateSignalLevel(request)
}
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun connectToNetwork(request: NetworkConnectionRequest): NetworkConnectionResult {
- return networkConnectionUtil.connectToNetwork(request)
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun connectToNetwork(request: NetworkConnectionRequest, callbacks: ConnectToNetworkCallbacks?) {
- networkConnectionUtil.connectToNetwork(request, callbacks)
+ override fun compareSignalLevel(request: CompareSignalLevelRequest): CompareSignalLevelResult {
+ return signalDelegate.compareSignalLevel(request)
}
- @Deprecated(DeprecationMessages.DISABLE_WIFI)
- override fun disableWifi(): Boolean {
- return wifiUtil.disableWifi()
+ @Deprecated(DeprecationMessages.NetworkConnection.CONNECT_TO_NETWORK)
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE, ACCESS_NETWORK_STATE])
+ override fun connectToNetwork(request: ConnectToNetworkRequest): ConnectToNetworkResult {
+ @Suppress("Deprecation")
+ return networkConnectionDelegate.connectToNetwork(request)
}
- @Deprecated(DeprecationMessages.DISABLE_WIFI)
- override fun disableWifi(callbacks: DisableWifiCallbacks?) {
- wifiUtil.disableWifi(callbacks)
+ @Deprecated(DeprecationMessages.NetworkConnection.CONNECT_TO_NETWORK)
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE, ACCESS_NETWORK_STATE])
+ override fun connectToNetwork(request: ConnectToNetworkRequest, callbacks: ConnectToNetworkCallbacks?) {
+ @Suppress("Deprecation")
+ networkConnectionDelegate.connectToNetwork(request, callbacks)
}
- override fun disconnectFromCurrentNetwork(): NetworkConnectionResult {
- return networkConnectionUtil.disconnectFromCurrentNetwork()
+ @RequiresPermission(CHANGE_WIFI_STATE)
+ override fun disableWifi(request: DisableWifiRequest): DisableWifiResult {
+ return wifiDelegate.disableWifi(request)
}
- override fun disconnectFromCurrentNetwork(callbacks: DisconnectFromCurrentNetworkCallbacks?) {
- networkConnectionUtil.disconnectFromCurrentNetwork(callbacks)
+ @RequiresPermission(CHANGE_WIFI_STATE)
+ override fun disableWifi(request: DisableWifiRequest, callbacks: DisableWifiCallbacks?) {
+ wifiDelegate.disableWifi(request, callbacks)
}
- @Deprecated(DeprecationMessages.ENABLE_WIFI)
- override fun enableWifi(): Boolean {
- return wifiUtil.enableWifi()
+ @Deprecated(DeprecationMessages.NetworkConnection.DISCONNECT_FROM_CURRENT_NETWORK)
+ override fun disconnectFromCurrentNetwork(
+ request: DisconnectFromCurrentNetworkRequest
+ ): DisconnectFromCurrentNetworkResult {
+ @Suppress("Deprecation")
+ return networkConnectionDelegate.disconnectFromCurrentNetwork(request)
}
- @Deprecated(DeprecationMessages.ENABLE_WIFI)
- override fun enableWifi(callbacks: EnableWifiCallbacks?) {
- wifiUtil.enableWifi(callbacks)
+ @Deprecated(DeprecationMessages.NetworkConnection.DISCONNECT_FROM_CURRENT_NETWORK)
+ override fun disconnectFromCurrentNetwork(
+ request: DisconnectFromCurrentNetworkRequest,
+ callbacks: DisconnectFromCurrentNetworkCallbacks?
+ ) {
+ @Suppress("Deprecation")
+ networkConnectionDelegate.disconnectFromCurrentNetwork(request, callbacks)
}
- override fun getCurrentNetwork(): CurrentNetworkData? {
- return networkInfoUtil.getCurrentNetwork()
+ @RequiresPermission(CHANGE_WIFI_STATE)
+ override fun enableWifi(request: EnableWifiRequest): EnableWifiResult {
+ return wifiDelegate.enableWifi(request)
}
- override fun getCurrentNetwork(callbacks: GetCurrentNetworkCallbacks?) {
- networkInfoUtil.getCurrentNetwork(callbacks)
+ @RequiresPermission(CHANGE_WIFI_STATE)
+ override fun enableWifi(request: EnableWifiRequest, callbacks: EnableWifiCallbacks?) {
+ wifiDelegate.enableWifi(request, callbacks)
}
@RequiresPermission(ACCESS_NETWORK_STATE)
- override fun getCurrentNetworkInfo(request: GetCurrentNetworkInfoRequest): CurrentNetworkInfoData? {
- return networkInfoUtil.getCurrentNetworkInfo(request)
+ override fun getCurrentNetwork(query: GetCurrentNetworkQuery): GetCurrentNetworkResult {
+ return networkInfoDelegate.getCurrentNetwork(query)
}
@RequiresPermission(ACCESS_NETWORK_STATE)
- override fun getCurrentNetworkInfo(
- callbacks: GetCurrentNetworkInfoCallbacks?,
- request: GetCurrentNetworkInfoRequest
- ) {
- networkInfoUtil.getCurrentNetworkInfo(callbacks, request)
+ override fun getCurrentNetwork(query: GetCurrentNetworkQuery, callbacks: GetCurrentNetworkCallbacks?) {
+ networkInfoDelegate.getCurrentNetwork(query, callbacks)
}
- @RequiresApi(LOLLIPOP)
@RequiresPermission(ACCESS_FINE_LOCATION)
- override fun getFrequency(): FrequencyData? {
- return frequencyUtil.getFrequency()
+ override fun getAccessPoints(query: GetAccessPointsQuery): GetAccessPointsResult {
+ return accessPointsDelegate.getAccessPoints(query)
}
- @RequiresApi(LOLLIPOP)
@RequiresPermission(ACCESS_FINE_LOCATION)
- override fun getFrequency(callbacks: GetFrequencyCallbacks?) {
- frequencyUtil.getFrequency(callbacks)
- }
-
- @RequiresApi(LOLLIPOP)
- override fun getFrequency(network: WifiInfo): FrequencyData {
- return frequencyUtil.getFrequency(network)
+ override fun getAccessPoints(query: GetAccessPointsQuery, callbacks: GetAccessPointsCallbacks?) {
+ accessPointsDelegate.getAccessPoints(query, callbacks)
}
@RequiresPermission(ACCESS_NETWORK_STATE)
- override fun getIP(): IPData? {
- return networkInfoUtil.getIP()
+ override fun getNetworkConnectionStatus(query: GetNetworkConnectionStatusQuery): GetNetworkConnectionStatusResult {
+ return networkInfoDelegate.getNetworkConnectionStatus(query)
}
@RequiresPermission(ACCESS_NETWORK_STATE)
- override fun getIP(callbacks: GetIPCallbacks?) {
- networkInfoUtil.getIP(callbacks)
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun getNearbyAccessPoints(request: GetNearbyAccessPointsRequest): List {
- return accessPointsUtil.getNearbyAccessPoints(request)
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun getNearbyAccessPoints(
- request: GetNearbyAccessPointsRequest,
- callbacks: GetNearbyAccessPointCallbacks?
+ override fun getNetworkConnectionStatus(
+ query: GetNetworkConnectionStatusQuery,
+ callbacks: GetNetworkConnectionStatusCallbacks?
) {
- accessPointsUtil.getNearbyAccessPoints(request, callbacks)
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun getRSSI(request: GetRSSIRequest): RSSIData? {
- return accessPointsUtil.getRSSI(request)
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun getRSSI(request: GetRSSIRequest, callbacks: GetRSSICallbacks?) {
- accessPointsUtil.getRSSI(request, callbacks)
+ networkInfoDelegate.getNetworkConnectionStatus(query, callbacks)
}
@RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
- override fun getSavedNetworks(): List {
- return savedNetworkUtil.getSavedNetworks()
+ override fun getSavedNetworks(query: GetSavedNetworksQuery): GetSavedNetworksResult {
+ return savedNetworkDelegate.getSavedNetworks(query)
}
@RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
- override fun getSavedNetworks(callbacks: GetSavedNetworksCallbacks?) {
- savedNetworkUtil.getSavedNetworks(callbacks)
- }
-
- override fun isDeviceConnectedToMobileNetwork(): Boolean {
- return networkConnectionStatusUtil.isDeviceConnectedToMobileNetwork()
- }
-
- override fun isDeviceConnectedToMobileOrWifiNetwork(): Boolean {
- return networkConnectionStatusUtil.isDeviceConnectedToMobileOrWifiNetwork()
- }
-
- override fun isDeviceConnectedToSSID(request: IsNetworkConnectedToSSIDRequest): Boolean {
- return networkConnectionStatusUtil.isDeviceConnectedToSSID(request)
- }
-
- override fun isDeviceConnectedToWifiNetwork(): Boolean {
- return networkConnectionStatusUtil.isDeviceConnectedToWifiNetwork()
- }
-
- override fun isDeviceRoaming(): Boolean {
- return networkConnectionStatusUtil.isDeviceRoaming()
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun isNetwork5gHz(): Boolean {
- return frequencyUtil.isNetwork5gHz()
- }
-
- override fun isNetwork5gHz(network: WifiInfo): Boolean {
- return frequencyUtil.isNetwork5gHz(network)
- }
-
- override fun isNetworkEAP(network: AccessPointData): Boolean {
- return securityUtil.isNetworkEAP(network)
- }
-
- override fun isNetworkPSK(network: AccessPointData): Boolean {
- return securityUtil.isNetworkPSK(network)
+ override fun getSavedNetworks(query: GetSavedNetworksQuery, callbacks: GetSavedNetworksCallbacks?) {
+ savedNetworkDelegate.getSavedNetworks(query, callbacks)
}
@RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
- override fun isNetworkSaved(request: SearchForSavedNetworkRequest): Boolean {
- return savedNetworkUtil.isNetworkSaved(request)
- }
-
- override fun isNetworkSecure(network: AccessPointData): Boolean {
- return securityUtil.isNetworkSecure(network)
- }
-
- override fun isNetworkWEP(network: AccessPointData): Boolean {
- return securityUtil.isNetworkWEP(network)
- }
-
- override fun isNetworkWPA(network: AccessPointData): Boolean {
- return securityUtil.isNetworkWPA(network)
+ override fun isNetworkSaved(query: IsNetworkSavedQuery): IsNetworkSavedResult {
+ return savedNetworkDelegate.isNetworkSaved(query)
}
- override fun isNetworkWPA2(network: AccessPointData): Boolean {
- return securityUtil.isNetworkWPA2(network)
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
+ override fun isNetworkSaved(query: IsNetworkSavedQuery, callbacks: IsNetworkSavedCallbacks?) {
+ return savedNetworkDelegate.isNetworkSaved(query, callbacks)
}
- override fun isNetworkWPA3(network: AccessPointData): Boolean {
- return securityUtil.isNetworkWPA3(network)
+ @RequiresPermission(ACCESS_WIFI_STATE)
+ override fun isWifiEnabled(query: IsWifiEnabledQuery): IsWifiEnabledResult {
+ return wifiDelegate.isWifiEnabled(query)
}
- override fun isWifiEnabled(): Boolean {
- return wifiUtil.isWifiEnabled()
+ @RequiresPermission(ACCESS_WIFI_STATE)
+ override fun isWifiEnabled(query: IsWifiEnabledQuery, callbacks: IsWifiEnabledCallbacks?) {
+ wifiDelegate.isWifiEnabled(query, callbacks)
}
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE, CHANGE_WIFI_STATE])
override fun removeNetwork(request: RemoveNetworkRequest): RemoveNetworkResult {
- return removeNetworkUtil.removeNetwork(request)
+ return removeNetworkDelegate.removeNetwork(request)
}
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
+ @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE, CHANGE_WIFI_STATE])
override fun removeNetwork(request: RemoveNetworkRequest, callbacks: RemoveNetworkCallbacks?) {
- removeNetworkUtil.removeNetwork(request, callbacks)
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun searchForAccessPoint(request: SearchForSingleAccessPointRequest): AccessPointData? {
- return accessPointsUtil.searchForAccessPoint(request)
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun searchForAccessPoint(
- request: SearchForSingleAccessPointRequest,
- callbacks: SearchForAccessPointCallbacks?
- ) {
- accessPointsUtil.searchForAccessPoint(request, callbacks)
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun searchForAccessPoints(request: SearchForMultipleAccessPointsRequest): List {
- return accessPointsUtil.searchForAccessPoints(request)
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun searchForAccessPoints(
- request: SearchForMultipleAccessPointsRequest,
- callbacks: SearchForAccessPointsCallbacks?
- ) {
- accessPointsUtil.searchForAccessPoints(request, callbacks)
- }
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
- override fun searchForSavedNetwork(request: SearchForSavedNetworkRequest): SavedNetworkData? {
- return savedNetworkUtil.searchForSavedNetwork(request)
- }
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
- override fun searchForSavedNetwork(
- request: SearchForSavedNetworkRequest,
- callbacks: SearchForSavedNetworkCallbacks?
- ) {
- savedNetworkUtil.searchForSavedNetwork(request, callbacks)
- }
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
- override fun searchForSavedNetworks(request: SearchForSavedNetworkRequest): List {
- return savedNetworkUtil.searchForSavedNetworks(request)
- }
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
- override fun searchForSavedNetworks(
- request: SearchForSavedNetworkRequest,
- callbacks: SearchForSavedNetworksCallbacks?
- ) {
- savedNetworkUtil.searchForSavedNetworks(request, callbacks)
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun searchForSSID(request: SearchForSingleSSIDRequest): SSIDData? {
- return accessPointsUtil.searchForSSID(request)
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun searchForSSID(request: SearchForSingleSSIDRequest, callbacks: SearchForSSIDCallbacks?) {
- accessPointsUtil.searchForSSID(request, callbacks)
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun searchForSSIDs(request: SearchForMultipleSSIDsRequest): List {
- return accessPointsUtil.searchForSSIDs(request)
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun searchForSSIDs(request: SearchForMultipleSSIDsRequest, callbacks: SearchForSSIDsCallbacks?) {
- accessPointsUtil.searchForSSIDs(request, callbacks)
+ removeNetworkDelegate.removeNetwork(request, callbacks)
}
}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/WisefyApi.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/WisefyApi.kt
index 0a0ac5c0..d90314c5 100644
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/WisefyApi.kt
+++ b/wisefy/src/main/java/com/isupatches/android/wisefy/WisefyApi.kt
@@ -1,5 +1,5 @@
/*
- * Copyright 2021 Patches Klinefelter
+ * Copyright 2022 Patches Barrett
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -19,65 +19,72 @@ import com.isupatches.android.wisefy.accesspoints.AccessPointsApi
import com.isupatches.android.wisefy.accesspoints.AccessPointsApiAsync
import com.isupatches.android.wisefy.addnetwork.AddNetworkApi
import com.isupatches.android.wisefy.addnetwork.AddNetworkApiAsync
-import com.isupatches.android.wisefy.frequency.FrequencyApi
-import com.isupatches.android.wisefy.frequency.FrequencyApiAsync
import com.isupatches.android.wisefy.networkconnection.NetworkConnectionApi
import com.isupatches.android.wisefy.networkconnection.NetworkConnectionApiAsync
-import com.isupatches.android.wisefy.networkconnectionstatus.NetworkConnectionStatusApi
import com.isupatches.android.wisefy.networkinfo.NetworkInfoApi
import com.isupatches.android.wisefy.networkinfo.NetworkInfoApiAsync
import com.isupatches.android.wisefy.removenetwork.RemoveNetworkApi
import com.isupatches.android.wisefy.removenetwork.RemoveNetworkApiAsync
import com.isupatches.android.wisefy.savednetworks.SavedNetworkApi
import com.isupatches.android.wisefy.savednetworks.SavedNetworkApiAsync
-import com.isupatches.android.wisefy.security.SecurityApi
import com.isupatches.android.wisefy.signal.SignalApi
import com.isupatches.android.wisefy.wifi.WifiApi
import com.isupatches.android.wisefy.wifi.WifiApiAsync
/**
- * The culmination of APIs that create WiseFy's public interface.
+ * The culmination of APIs that create Wisefy's public interface.
*
* @see AccessPointsApi
* @see AccessPointsApiAsync
* @see AddNetworkApi
* @see AddNetworkApiAsync
- * @see FrequencyApi
- * @see FrequencyApiAsync
* @see NetworkConnectionApi
* @see NetworkConnectionApiAsync
- * @see NetworkConnectionStatusApi
* @see NetworkInfoApi
* @see NetworkInfoApiAsync
* @see RemoveNetworkApi
* @see RemoveNetworkApiAsync
* @see SavedNetworkApi
* @see SavedNetworkApiAsync
- * @see SecurityApi
* @see SignalApi
* @see WifiApi
* @see WifiApiAsync
*
- * @author Patches Klinefelter
- * @since 07/2021
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
*/
interface WisefyApi :
AccessPointsApi,
AccessPointsApiAsync,
AddNetworkApi,
AddNetworkApiAsync,
- FrequencyApi,
- FrequencyApiAsync,
NetworkConnectionApi,
NetworkConnectionApiAsync,
- NetworkConnectionStatusApi,
NetworkInfoApi,
NetworkInfoApiAsync,
RemoveNetworkApi,
RemoveNetworkApiAsync,
SavedNetworkApi,
SavedNetworkApiAsync,
- SecurityApi,
SignalApi,
WifiApi,
- WifiApiAsync
+ WifiApiAsync {
+
+ /**
+ * The initialization function for Wisefy. This is recommended to be called in the `onCreate` of the activity for
+ * the application.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ fun init()
+
+ /**
+ * The cleanup function for Wisefy. This is recommended to be called in the `onDestroy` of the activity for the
+ * application.
+ *
+ * @author Patches Barrett
+ * @since 12/2022, version 5.0.0
+ */
+ fun dump()
+}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/accesspoints/AccessPointsApi.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/accesspoints/AccessPointsApi.kt
deleted file mode 100644
index eed78f63..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/accesspoints/AccessPointsApi.kt
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.accesspoints
-
-import android.Manifest.permission.ACCESS_FINE_LOCATION
-import androidx.annotation.RequiresPermission
-import com.isupatches.android.wisefy.accesspoints.entities.AccessPointData
-import com.isupatches.android.wisefy.accesspoints.entities.GetNearbyAccessPointsRequest
-import com.isupatches.android.wisefy.accesspoints.entities.GetRSSIRequest
-import com.isupatches.android.wisefy.accesspoints.entities.RSSIData
-import com.isupatches.android.wisefy.accesspoints.entities.SSIDData
-import com.isupatches.android.wisefy.accesspoints.entities.SearchForMultipleAccessPointsRequest
-import com.isupatches.android.wisefy.accesspoints.entities.SearchForMultipleSSIDsRequest
-import com.isupatches.android.wisefy.accesspoints.entities.SearchForSingleAccessPointRequest
-import com.isupatches.android.wisefy.accesspoints.entities.SearchForSingleSSIDRequest
-import com.isupatches.android.wisefy.callbacks.GetNearbyAccessPointCallbacks
-import com.isupatches.android.wisefy.callbacks.GetRSSICallbacks
-import com.isupatches.android.wisefy.callbacks.SearchForAccessPointCallbacks
-import com.isupatches.android.wisefy.callbacks.SearchForAccessPointsCallbacks
-import com.isupatches.android.wisefy.callbacks.SearchForSSIDCallbacks
-import com.isupatches.android.wisefy.callbacks.SearchForSSIDsCallbacks
-
-interface AccessPointsApi {
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- fun getNearbyAccessPoints(request: GetNearbyAccessPointsRequest): List
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- fun getRSSI(request: GetRSSIRequest): RSSIData?
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- fun searchForAccessPoint(request: SearchForSingleAccessPointRequest): AccessPointData?
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- fun searchForAccessPoints(request: SearchForMultipleAccessPointsRequest): List
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- fun searchForSSID(request: SearchForSingleSSIDRequest): SSIDData?
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- fun searchForSSIDs(request: SearchForMultipleSSIDsRequest): List
-}
-
-interface AccessPointsApiAsync {
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- fun getNearbyAccessPoints(request: GetNearbyAccessPointsRequest, callbacks: GetNearbyAccessPointCallbacks?)
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- fun getRSSI(request: GetRSSIRequest, callbacks: GetRSSICallbacks?)
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- fun searchForAccessPoint(request: SearchForSingleAccessPointRequest, callbacks: SearchForAccessPointCallbacks?)
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- fun searchForAccessPoints(request: SearchForMultipleAccessPointsRequest, callbacks: SearchForAccessPointsCallbacks?)
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- fun searchForSSID(request: SearchForSingleSSIDRequest, callbacks: SearchForSSIDCallbacks?)
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- fun searchForSSIDs(request: SearchForMultipleSSIDsRequest, callbacks: SearchForSSIDsCallbacks?)
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/accesspoints/WisefyAccessPointsUtil.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/accesspoints/WisefyAccessPointsUtil.kt
deleted file mode 100644
index 6d0e9a4f..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/accesspoints/WisefyAccessPointsUtil.kt
+++ /dev/null
@@ -1,178 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.accesspoints
-
-import android.Manifest.permission.ACCESS_FINE_LOCATION
-import android.net.wifi.WifiManager
-import androidx.annotation.RequiresPermission
-import com.isupatches.android.wisefy.accesspoints.delegates.LegacyAccessPointsDelegate
-import com.isupatches.android.wisefy.accesspoints.entities.AccessPointData
-import com.isupatches.android.wisefy.accesspoints.entities.GetNearbyAccessPointsRequest
-import com.isupatches.android.wisefy.accesspoints.entities.GetRSSIRequest
-import com.isupatches.android.wisefy.accesspoints.entities.RSSIData
-import com.isupatches.android.wisefy.accesspoints.entities.SSIDData
-import com.isupatches.android.wisefy.accesspoints.entities.SearchForMultipleAccessPointsRequest
-import com.isupatches.android.wisefy.accesspoints.entities.SearchForMultipleSSIDsRequest
-import com.isupatches.android.wisefy.accesspoints.entities.SearchForSingleAccessPointRequest
-import com.isupatches.android.wisefy.accesspoints.entities.SearchForSingleSSIDRequest
-import com.isupatches.android.wisefy.callbacks.GetNearbyAccessPointCallbacks
-import com.isupatches.android.wisefy.callbacks.GetRSSICallbacks
-import com.isupatches.android.wisefy.callbacks.SearchForAccessPointCallbacks
-import com.isupatches.android.wisefy.callbacks.SearchForAccessPointsCallbacks
-import com.isupatches.android.wisefy.callbacks.SearchForSSIDCallbacks
-import com.isupatches.android.wisefy.callbacks.SearchForSSIDsCallbacks
-import com.isupatches.android.wisefy.logging.WisefyLogger
-import com.isupatches.android.wisefy.util.coroutines.CoroutineDispatcherProvider
-import com.isupatches.android.wisefy.util.coroutines.createBaseCoroutineExceptionHandler
-import kotlinx.coroutines.CoroutineScope
-import kotlinx.coroutines.Job
-import kotlinx.coroutines.launch
-import kotlinx.coroutines.withContext
-
-internal interface AccessPointsUtil : AccessPointsApi, AccessPointsApiAsync
-
-private const val LOG_TAG = "WisefyAccessPointsUtil"
-
-internal class WisefyAccessPointsUtil(
- private val coroutineDispatcherProvider: CoroutineDispatcherProvider,
- logger: WisefyLogger?,
- wifiManager: WifiManager
-) : AccessPointsUtil {
-
- private val delegate = LegacyAccessPointsDelegate(wifiManager, logger)
- private val accessPointScope = CoroutineScope(Job() + coroutineDispatcherProvider.io)
-
- init {
- logger?.d(LOG_TAG, "WisefyAccessPointsUtil delegate is: ${delegate::class.java.simpleName}")
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun getNearbyAccessPoints(request: GetNearbyAccessPointsRequest): List {
- return delegate.getNearbyAccessPoints(request)
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun getNearbyAccessPoints(
- request: GetNearbyAccessPointsRequest,
- callbacks: GetNearbyAccessPointCallbacks?
- ) {
- accessPointScope.launch(createBaseCoroutineExceptionHandler(callbacks)) {
- val accessPoints = delegate.getNearbyAccessPoints(request)
- withContext(coroutineDispatcherProvider.main) {
- when {
- accessPoints.isNotEmpty() -> callbacks?.onNearbyAccessPointsRetrieved(accessPoints)
- else -> callbacks?.onNoNearbyAccessPoints()
- }
- }
- }
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun getRSSI(request: GetRSSIRequest): RSSIData? {
- return delegate.getRSSI(request)
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun getRSSI(request: GetRSSIRequest, callbacks: GetRSSICallbacks?) {
- accessPointScope.launch(createBaseCoroutineExceptionHandler(callbacks)) {
- val rssi = delegate.getRSSI(request)
- withContext(coroutineDispatcherProvider.main) {
- when {
- rssi != null -> callbacks?.onRSSIRetrieved(rssi)
- else -> callbacks?.onNoNetworkToRetrieveRSSI()
- }
- }
- }
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun searchForAccessPoint(request: SearchForSingleAccessPointRequest): AccessPointData? {
- return delegate.searchForAccessPoint(request)
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun searchForAccessPoint(
- request: SearchForSingleAccessPointRequest,
- callbacks: SearchForAccessPointCallbacks?
- ) {
- accessPointScope.launch(createBaseCoroutineExceptionHandler(callbacks)) {
- val accessPoint = delegate.searchForAccessPoint(request)
- withContext(coroutineDispatcherProvider.main) {
- when {
- accessPoint != null -> callbacks?.onAccessPointFound(accessPoint)
- else -> callbacks?.onNoAccessPointFound()
- }
- }
- }
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun searchForAccessPoints(request: SearchForMultipleAccessPointsRequest): List {
- return delegate.searchForAccessPoints(request)
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun searchForAccessPoints(
- request: SearchForMultipleAccessPointsRequest,
- callbacks: SearchForAccessPointsCallbacks?
- ) {
- accessPointScope.launch(createBaseCoroutineExceptionHandler(callbacks)) {
- val accessPoints = delegate.searchForAccessPoints(request)
- withContext(coroutineDispatcherProvider.main) {
- when {
- accessPoints.isNotEmpty() -> callbacks?.onAccessPointsFound(accessPoints)
- else -> callbacks?.onNoAccessPointsFound()
- }
- }
- }
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun searchForSSID(request: SearchForSingleSSIDRequest): SSIDData? {
- return delegate.searchForSSID(request)
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun searchForSSID(request: SearchForSingleSSIDRequest, callbacks: SearchForSSIDCallbacks?) {
- accessPointScope.launch(createBaseCoroutineExceptionHandler(callbacks)) {
- val ssid = delegate.searchForSSID(request)
- withContext(coroutineDispatcherProvider.main) {
- when {
- ssid != null -> callbacks?.onSSIDFound(ssid)
- else -> callbacks?.onSSIDNotFound()
- }
- }
- }
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun searchForSSIDs(request: SearchForMultipleSSIDsRequest): List {
- return delegate.searchForSSIDs(request)
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun searchForSSIDs(request: SearchForMultipleSSIDsRequest, callbacks: SearchForSSIDsCallbacks?) {
- accessPointScope.launch(createBaseCoroutineExceptionHandler(callbacks)) {
- val ssids = delegate.searchForSSIDs(request)
- withContext(coroutineDispatcherProvider.main) {
- when {
- ssids.isNotEmpty() -> callbacks?.onSSIDsFound(ssids)
- else -> callbacks?.onNoSSIDsFound()
- }
- }
- }
- }
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/accesspoints/delegates/LegacyAccessPointsApi.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/accesspoints/delegates/LegacyAccessPointsApi.kt
deleted file mode 100644
index 09289771..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/accesspoints/delegates/LegacyAccessPointsApi.kt
+++ /dev/null
@@ -1,269 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.accesspoints.delegates
-
-import android.Manifest.permission.ACCESS_FINE_LOCATION
-import android.net.wifi.ScanResult
-import android.net.wifi.WifiManager
-import androidx.annotation.RequiresPermission
-import com.isupatches.android.wisefy.accesspoints.entities.AccessPointData
-import com.isupatches.android.wisefy.accesspoints.entities.AccessPointMatchData
-import com.isupatches.android.wisefy.accesspoints.entities.GetNearbyAccessPointsRequest
-import com.isupatches.android.wisefy.accesspoints.entities.GetRSSIRequest
-import com.isupatches.android.wisefy.accesspoints.entities.RSSIData
-import com.isupatches.android.wisefy.accesspoints.entities.SSIDData
-import com.isupatches.android.wisefy.accesspoints.entities.SearchForMultipleAccessPointsRequest
-import com.isupatches.android.wisefy.accesspoints.entities.SearchForMultipleSSIDsRequest
-import com.isupatches.android.wisefy.accesspoints.entities.SearchForSingleAccessPointRequest
-import com.isupatches.android.wisefy.accesspoints.entities.SearchForSingleSSIDRequest
-import com.isupatches.android.wisefy.accesspoints.entities.toAccessPointMatchData
-import com.isupatches.android.wisefy.accesspoints.entities.toSearchForSingleAccessPointRequest
-import com.isupatches.android.wisefy.logging.WisefyLogger
-import com.isupatches.android.wisefy.util.rest
-import java.util.Locale
-import kotlin.collections.ArrayList
-
-internal interface LegacyAccessPointsApi {
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- fun getNearbyAccessPoints(request: GetNearbyAccessPointsRequest): List
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- fun getRSSI(request: GetRSSIRequest): RSSIData?
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- fun searchForAccessPoint(request: SearchForSingleAccessPointRequest): AccessPointData?
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- fun searchForAccessPoints(request: SearchForMultipleAccessPointsRequest): List
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- fun searchForSSID(request: SearchForSingleSSIDRequest): SSIDData?
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- fun searchForSSIDs(request: SearchForMultipleSSIDsRequest): List
-}
-
-private const val LOG_TAG = "LegacyAccessPointsApiImpl"
-
-internal class LegacyAccessPointsApiImpl(
- private val wifiManager: WifiManager,
- private val logger: WisefyLogger?
-) : LegacyAccessPointsApi {
-
- // For SDK 23 and above, devices will be limited on ability to trigger scans and it's been
- // indicated by Android Google docs that eventually apps will no longer be able to trigger a
- // scan to prevent abusive apps, therefore for WiseFy we're going to just use the last
- // set of scan results...the downside is this may take some time to be updated.
- private val scanResultsProvider by lazy { { wifiManager.scanResults } }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun getNearbyAccessPoints(request: GetNearbyAccessPointsRequest): List {
- val accessPointsTemp = scanResultsProvider()
- if (accessPointsTemp == null || accessPointsTemp.isEmpty()) {
- return emptyList()
- }
-
- return if (request.filterDuplicates) {
- removeEntriesWithLowerSignalStrength(accessPointsTemp)
- } else {
- accessPointsTemp.map { scanResult -> AccessPointData.ScanResult(value = scanResult) }
- }
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun getRSSI(request: GetRSSIRequest): RSSIData? {
- val scanData = searchForAccessPoint(request.toSearchForSingleAccessPointRequest())
- return (scanData as? AccessPointData.ScanResult)?.value?.level?.let {
- RSSIData(it)
- }
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun searchForAccessPoint(request: SearchForSingleAccessPointRequest): AccessPointData? {
- var scanPass = 1
- var currentTime: Long
- val endTime = System.currentTimeMillis() + request.timeoutInMillis
- var accessPointToReturn: ScanResult? = null
- do {
- currentTime = System.currentTimeMillis()
-
- val accessPointsTemp = scanResultsProvider()
-
- logger?.d(LOG_TAG, "Scanning SSIDs, pass %d", scanPass)
- if (accessPointsTemp != null && accessPointsTemp.isNotEmpty()) {
- var found = false
- for (accessPoint in accessPointsTemp) {
- if (request.filterDuplicates) {
- if (accessPointMatchesRegex(accessPoint, request.toAccessPointMatchData()) &&
- hasHighestSignalStrength(accessPointsTemp, accessPoint)
- ) {
- accessPointToReturn = accessPoint
- // Need to continue through rest of the list since
- // we don't know which one will have the highest
- break
- }
- } else {
- if (accessPointMatchesRegex(accessPoint, request.toAccessPointMatchData())) {
- accessPointToReturn = accessPoint
- found = true
- break
- }
- }
- }
-
- if (found) {
- break
- }
- } else {
- logger?.w(LOG_TAG, "Empty access point list")
- }
- logger?.d(LOG_TAG, "Current time: %d, end time: %d (findAccessPointByRegex)", currentTime, endTime)
- scanPass++
- rest()
- } while (currentTime < endTime)
- return accessPointToReturn?.let { AccessPointData.ScanResult(value = it) }
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun searchForAccessPoints(request: SearchForMultipleAccessPointsRequest): List {
- val matchingAccessPoints = ArrayList()
-
- val accessPointsTemp = scanResultsProvider()
-
- if (accessPointsTemp == null || accessPointsTemp.isEmpty()) {
- return emptyList()
- }
-
- for (accessPoint in accessPointsTemp) {
- if (accessPointMatchesRegex(accessPoint, request.toAccessPointMatchData())) {
- if (request.filterDuplicates) {
- if (hasHighestSignalStrength(accessPointsTemp, accessPoint)) {
- matchingAccessPoints.add(AccessPointData.ScanResult(value = accessPoint))
- }
- } else {
- matchingAccessPoints.add(AccessPointData.ScanResult(value = accessPoint))
- }
- }
- }
-
- return if (matchingAccessPoints.isNotEmpty()) matchingAccessPoints else emptyList()
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun searchForSSID(request: SearchForSingleSSIDRequest): SSIDData? {
- val scanData = searchForAccessPoint(request.toSearchForSingleAccessPointRequest())
- val accessPoint = (scanData as? AccessPointData.ScanResult)?.value
- return when (request) {
- is SearchForSingleSSIDRequest.SSID -> accessPoint?.SSID?.let { ssid ->
- SSIDData.SSID(ssid)
- }
- is SearchForSingleSSIDRequest.BSSID -> accessPoint?.BSSID?.let { bssid ->
- SSIDData.SSID(bssid)
- }
- }
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun searchForSSIDs(request: SearchForMultipleSSIDsRequest): List {
- val matchingSSIDs = ArrayList()
- val accessPointsTemp = scanResultsProvider() ?: emptyList()
- for (accessPoint in accessPointsTemp) {
- val potentialMatch = when (request) {
- is SearchForMultipleSSIDsRequest.SSID -> SSIDData.SSID(accessPoint.SSID)
- is SearchForMultipleSSIDsRequest.BSSID -> SSIDData.BSSID(accessPoint.BSSID)
- }
- if (accessPointMatchesRegex(accessPoint, request.toAccessPointMatchData()) &&
- !matchingSSIDs.contains(potentialMatch)
- ) {
- matchingSSIDs.add(potentialMatch)
- }
- }
- return if (matchingSSIDs.isNotEmpty()) matchingSSIDs else emptyList()
- }
-
- private fun accessPointMatchesRegex(accessPoint: ScanResult?, data: AccessPointMatchData): Boolean {
- logger?.d(
- LOG_TAG,
- "accessPoint. SSID: %s, BSSID: %s, match data: %s".format(
- Locale.US,
- accessPoint?.SSID,
- accessPoint?.BSSID,
- data
- )
- )
- return when (data) {
- is AccessPointMatchData.SSID -> accessPoint?.SSID?.matches(data.regexForSSID.toRegex()) ?: false
- is AccessPointMatchData.BSSID -> accessPoint?.BSSID?.matches(data.regexForBSSID.toRegex()) ?: false
- }
- }
-
- private fun hasHighestSignalStrength(
- accessPoints: List,
- currentAccessPoint: ScanResult
- ): Boolean {
- for (accessPoint in accessPoints) {
- if (accessPoint.SSID.equals(currentAccessPoint.SSID, ignoreCase = true)) {
- val comparisonResult = WifiManager.compareSignalLevel(accessPoint.level, currentAccessPoint.level)
- logger?.d(
- LOG_TAG,
- "Current RSSI: %d\nAccess point RSSI: %d\nComparison result: %d",
- currentAccessPoint.level, accessPoint.level, comparisonResult
- )
- if (comparisonResult > 0) {
- logger?.d(LOG_TAG, "Stronger signal strength found")
- return false
- }
- }
- }
- return true
- }
-
- private fun removeEntriesWithLowerSignalStrength(accessPoints: List): List {
- val accessPointsToReturn = ArrayList()
-
- for (accessPoint in accessPoints) {
- var found = false
- for (i in accessPointsToReturn.indices) {
- val accessPointData = accessPointsToReturn[i]
-
- logger?.d(LOG_TAG, "SSID 1: %s, SSID 2: %s", accessPoint.SSID, accessPointData.value.SSID)
- if (accessPoint.SSID.equals(accessPointData.value.SSID, ignoreCase = true)) {
- found = true
- val comparisonResult = WifiManager.compareSignalLevel(
- accessPoint.level,
- accessPointData.value.level
- )
- logger?.d(
- LOG_TAG,
- "Access point 1 RSSI: %d\nAccess point 2 RSSI: %d\nComparison result: %d",
- accessPointData.value.level, accessPoint.level, comparisonResult
- )
- if (comparisonResult > 0) {
- logger?.d(LOG_TAG, "New result has a higher or same signal strength, swapping")
- accessPointsToReturn[i] = AccessPointData.ScanResult(accessPoint)
- }
- }
- }
-
- if (!found) {
- logger?.d(LOG_TAG, "Found new wifi network")
- accessPointsToReturn.add(AccessPointData.ScanResult(accessPoint))
- }
- }
- return accessPointsToReturn
- }
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/accesspoints/delegates/LegacyAccessPointsDelegate.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/accesspoints/delegates/LegacyAccessPointsDelegate.kt
deleted file mode 100644
index 95c1f442..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/accesspoints/delegates/LegacyAccessPointsDelegate.kt
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.accesspoints.delegates
-
-import android.Manifest.permission.ACCESS_FINE_LOCATION
-import android.net.wifi.WifiManager
-import androidx.annotation.RequiresPermission
-import com.isupatches.android.wisefy.accesspoints.AccessPointsApi
-import com.isupatches.android.wisefy.accesspoints.entities.AccessPointData
-import com.isupatches.android.wisefy.accesspoints.entities.GetNearbyAccessPointsRequest
-import com.isupatches.android.wisefy.accesspoints.entities.GetRSSIRequest
-import com.isupatches.android.wisefy.accesspoints.entities.RSSIData
-import com.isupatches.android.wisefy.accesspoints.entities.SSIDData
-import com.isupatches.android.wisefy.accesspoints.entities.SearchForMultipleAccessPointsRequest
-import com.isupatches.android.wisefy.accesspoints.entities.SearchForMultipleSSIDsRequest
-import com.isupatches.android.wisefy.accesspoints.entities.SearchForSingleAccessPointRequest
-import com.isupatches.android.wisefy.accesspoints.entities.SearchForSingleSSIDRequest
-import com.isupatches.android.wisefy.logging.WisefyLogger
-
-internal class LegacyAccessPointsDelegate(
- wifiManager: WifiManager,
- logger: WisefyLogger?,
- private val impl: LegacyAccessPointsApi = LegacyAccessPointsApiImpl(wifiManager, logger)
-) : AccessPointsApi {
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun getNearbyAccessPoints(request: GetNearbyAccessPointsRequest): List {
- return impl.getNearbyAccessPoints(request)
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun getRSSI(request: GetRSSIRequest): RSSIData? {
- return impl.getRSSI(request)
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun searchForAccessPoint(request: SearchForSingleAccessPointRequest): AccessPointData? {
- return impl.searchForAccessPoint(request)
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun searchForAccessPoints(request: SearchForMultipleAccessPointsRequest): List {
- return impl.searchForAccessPoints(request)
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun searchForSSID(request: SearchForSingleSSIDRequest): SSIDData? {
- return impl.searchForSSID(request)
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun searchForSSIDs(request: SearchForMultipleSSIDsRequest): List {
- return impl.searchForSSIDs(request)
- }
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/accesspoints/entities/AccessPointData.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/accesspoints/entities/AccessPointData.kt
deleted file mode 100644
index f69f398f..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/accesspoints/entities/AccessPointData.kt
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.accesspoints.entities
-
-sealed class AccessPointData {
- data class ScanResult(
- val value: android.net.wifi.ScanResult
- ) : AccessPointData()
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/accesspoints/entities/AccessPointMatchData.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/accesspoints/entities/AccessPointMatchData.kt
deleted file mode 100644
index c1d98c37..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/accesspoints/entities/AccessPointMatchData.kt
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.accesspoints.entities
-
-internal sealed class AccessPointMatchData {
-
- data class SSID(
- val regexForSSID: String
- ) : AccessPointMatchData()
-
- data class BSSID(
- val regexForBSSID: String
- ) : AccessPointMatchData()
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/accesspoints/entities/GetNearbyAccessPointsRequest.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/accesspoints/entities/GetNearbyAccessPointsRequest.kt
deleted file mode 100644
index f5b9e171..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/accesspoints/entities/GetNearbyAccessPointsRequest.kt
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.accesspoints.entities
-
-sealed class GetNearbyAccessPointsRequest(
- open val filterDuplicates: Boolean
-) {
-
- data class All(
- override val filterDuplicates: Boolean = true
- ) : GetNearbyAccessPointsRequest(filterDuplicates)
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/accesspoints/entities/GetRSSIRequest.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/accesspoints/entities/GetRSSIRequest.kt
deleted file mode 100644
index b9564176..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/accesspoints/entities/GetRSSIRequest.kt
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- *
- */
-package com.isupatches.android.wisefy.accesspoints.entities
-
-sealed class GetRSSIRequest(
- open val takeHighest: Boolean,
- open val timeoutInMillis: Int
-) {
-
- data class SSID(
- val regexForSSID: String,
- override val timeoutInMillis: Int,
- override val takeHighest: Boolean = true
- ) : GetRSSIRequest(takeHighest, timeoutInMillis)
-
- data class BSSID(
- val regexForBSSID: String,
- override val timeoutInMillis: Int,
- override val takeHighest: Boolean = true
- ) : GetRSSIRequest(takeHighest, timeoutInMillis)
-}
-
-internal fun GetRSSIRequest.toSearchForSingleAccessPointRequest(): SearchForSingleAccessPointRequest {
- return when (this) {
- is GetRSSIRequest.SSID -> SearchForSingleAccessPointRequest.SSID(regexForSSID, timeoutInMillis, takeHighest)
- is GetRSSIRequest.BSSID -> SearchForSingleAccessPointRequest.BSSID(regexForBSSID, timeoutInMillis, takeHighest)
- }
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/accesspoints/entities/RSSIData.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/accesspoints/entities/RSSIData.kt
deleted file mode 100644
index a57cac9f..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/accesspoints/entities/RSSIData.kt
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.accesspoints.entities
-
-data class RSSIData(
- val value: Int?
-) : SSIDData()
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/accesspoints/entities/SSIDData.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/accesspoints/entities/SSIDData.kt
deleted file mode 100644
index a5f2b65f..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/accesspoints/entities/SSIDData.kt
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.accesspoints.entities
-
-sealed class SSIDData {
-
- data class SSID(
- val value: String
- ) : SSIDData()
-
- data class BSSID(
- val value: String
- ) : SSIDData()
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/accesspoints/entities/SearchForAccessPointRequest.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/accesspoints/entities/SearchForAccessPointRequest.kt
deleted file mode 100644
index 10e67c0a..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/accesspoints/entities/SearchForAccessPointRequest.kt
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.accesspoints.entities
-
-sealed class SearchForSingleAccessPointRequest(
- open val timeoutInMillis: Int,
- open val filterDuplicates: Boolean
-) {
-
- data class SSID(
- val regexForSSID: String,
- override val timeoutInMillis: Int,
- override val filterDuplicates: Boolean = true
- ) : SearchForSingleAccessPointRequest(timeoutInMillis, filterDuplicates)
-
- data class BSSID(
- val regexForBSSID: String,
- override val timeoutInMillis: Int,
- override val filterDuplicates: Boolean = true
- ) : SearchForSingleAccessPointRequest(timeoutInMillis, filterDuplicates)
-}
-
-sealed class SearchForMultipleAccessPointsRequest(open val filterDuplicates: Boolean) {
-
- data class SSID(
- val regexForSSID: String,
- override val filterDuplicates: Boolean = true
- ) : SearchForMultipleAccessPointsRequest(filterDuplicates)
-
- data class BSSID(
- val regexForBSSID: String,
- override val filterDuplicates: Boolean = true
- ) : SearchForMultipleAccessPointsRequest(filterDuplicates)
-}
-
-internal fun SearchForSingleAccessPointRequest.toAccessPointMatchData(): AccessPointMatchData {
- return when (this) {
- is SearchForSingleAccessPointRequest.SSID -> AccessPointMatchData.SSID(regexForSSID)
- is SearchForSingleAccessPointRequest.BSSID -> AccessPointMatchData.BSSID(regexForBSSID)
- }
-}
-
-internal fun SearchForMultipleAccessPointsRequest.toAccessPointMatchData(): AccessPointMatchData {
- return when (this) {
- is SearchForMultipleAccessPointsRequest.SSID -> AccessPointMatchData.SSID(regexForSSID)
- is SearchForMultipleAccessPointsRequest.BSSID -> AccessPointMatchData.BSSID(regexForBSSID)
- }
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/accesspoints/entities/SearchForSSIDRequest.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/accesspoints/entities/SearchForSSIDRequest.kt
deleted file mode 100644
index 02b2d828..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/accesspoints/entities/SearchForSSIDRequest.kt
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.accesspoints.entities
-
-sealed class SearchForSingleSSIDRequest(open val timeoutInMillis: Int) {
-
- data class SSID(
- val regexForSSID: String,
- override val timeoutInMillis: Int
- ) : SearchForSingleSSIDRequest(timeoutInMillis)
-
- data class BSSID(
- val regexForBSSID: String,
- override val timeoutInMillis: Int
- ) : SearchForSingleSSIDRequest(timeoutInMillis)
-}
-
-sealed class SearchForMultipleSSIDsRequest {
-
- data class SSID(
- val regexForSSID: String
- ) : SearchForMultipleSSIDsRequest()
-
- data class BSSID(
- val regexForBSSID: String
- ) : SearchForMultipleSSIDsRequest()
-}
-
-internal fun SearchForSingleSSIDRequest.toSearchForSingleAccessPointRequest(): SearchForSingleAccessPointRequest {
- return when (this) {
- is SearchForSingleSSIDRequest.SSID -> SearchForSingleAccessPointRequest.SSID(regexForSSID, timeoutInMillis)
- is SearchForSingleSSIDRequest.BSSID -> SearchForSingleAccessPointRequest.BSSID(regexForBSSID, timeoutInMillis)
- }
-}
-
-internal fun SearchForMultipleSSIDsRequest.toAccessPointMatchData(): AccessPointMatchData {
- return when (this) {
- is SearchForMultipleSSIDsRequest.SSID -> AccessPointMatchData.SSID(regexForSSID)
- is SearchForMultipleSSIDsRequest.BSSID -> AccessPointMatchData.BSSID(regexForBSSID)
- }
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/addnetwork/AddNetworkApi.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/addnetwork/AddNetworkApi.kt
deleted file mode 100644
index 766b7a31..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/addnetwork/AddNetworkApi.kt
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.addnetwork
-
-import android.Manifest.permission.ACCESS_FINE_LOCATION
-import android.Manifest.permission.CHANGE_WIFI_STATE
-import android.os.Build
-import androidx.annotation.RequiresApi
-import androidx.annotation.RequiresPermission
-import com.isupatches.android.wisefy.addnetwork.entities.AddNetworkResult
-import com.isupatches.android.wisefy.addnetwork.entities.AddOpenNetworkRequest
-import com.isupatches.android.wisefy.addnetwork.entities.AddWPA2NetworkRequest
-import com.isupatches.android.wisefy.addnetwork.entities.AddWPA3NetworkRequest
-import com.isupatches.android.wisefy.callbacks.AddNetworkCallbacks
-
-interface AddNetworkApi {
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- fun addOpenNetwork(request: AddOpenNetworkRequest): AddNetworkResult
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- fun addWPA2Network(request: AddWPA2NetworkRequest): AddNetworkResult
-
- @RequiresApi(Build.VERSION_CODES.Q)
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- fun addWPA3Network(request: AddWPA3NetworkRequest): AddNetworkResult
-}
-
-interface AddNetworkApiAsync {
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- fun addOpenNetwork(request: AddOpenNetworkRequest, callbacks: AddNetworkCallbacks?)
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- fun addWPA2Network(request: AddWPA2NetworkRequest, callbacks: AddNetworkCallbacks?)
-
- @RequiresApi(Build.VERSION_CODES.Q)
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- fun addWPA3Network(request: AddWPA3NetworkRequest, callbacks: AddNetworkCallbacks?)
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/addnetwork/WisefyAddNetworkUtil.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/addnetwork/WisefyAddNetworkUtil.kt
deleted file mode 100644
index 4198e96b..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/addnetwork/WisefyAddNetworkUtil.kt
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.addnetwork
-
-import android.Manifest.permission.ACCESS_FINE_LOCATION
-import android.Manifest.permission.CHANGE_WIFI_STATE
-import android.net.wifi.WifiManager
-import android.os.Build
-import androidx.annotation.RequiresApi
-import androidx.annotation.RequiresPermission
-import com.isupatches.android.wisefy.addnetwork.delegates.Android29AddNetworkDelegate
-import com.isupatches.android.wisefy.addnetwork.delegates.Android30AddNetworkDelegate
-import com.isupatches.android.wisefy.addnetwork.delegates.LegacyAddNetworkDelegate
-import com.isupatches.android.wisefy.addnetwork.entities.AddNetworkResult
-import com.isupatches.android.wisefy.addnetwork.entities.AddOpenNetworkRequest
-import com.isupatches.android.wisefy.addnetwork.entities.AddWPA2NetworkRequest
-import com.isupatches.android.wisefy.addnetwork.entities.AddWPA3NetworkRequest
-import com.isupatches.android.wisefy.callbacks.AddNetworkCallbacks
-import com.isupatches.android.wisefy.logging.WisefyLogger
-import com.isupatches.android.wisefy.util.SdkUtil
-import com.isupatches.android.wisefy.util.coroutines.CoroutineDispatcherProvider
-import com.isupatches.android.wisefy.util.coroutines.createBaseCoroutineExceptionHandler
-import kotlinx.coroutines.CoroutineScope
-import kotlinx.coroutines.Job
-import kotlinx.coroutines.launch
-import kotlinx.coroutines.withContext
-
-internal interface AddNetworkUtil : AddNetworkApi, AddNetworkApiAsync
-
-private const val LOG_TAG = "WisefyAddNetworkUtil"
-
-internal class WisefyAddNetworkUtil(
- private val coroutineDispatcherProvider: CoroutineDispatcherProvider,
- logger: WisefyLogger?,
- sdkUtil: SdkUtil,
- wifiManager: WifiManager
-) : AddNetworkUtil {
-
- private val addNetworkScope = CoroutineScope(Job() + coroutineDispatcherProvider.io)
-
- private val delegate = when {
- sdkUtil.isAtLeastR() -> Android30AddNetworkDelegate(wifiManager)
- sdkUtil.isAtLeastQ() -> Android29AddNetworkDelegate(wifiManager, logger)
- else -> LegacyAddNetworkDelegate(wifiManager)
- }
-
- init {
- logger?.d(LOG_TAG, "WisefyAddNetworkUtil delegate is: ${delegate::class.java.simpleName}")
- }
-
- /*
- * Legacy API requires ACCESS_FINE_LOCATION while API 29+ requires CHANGE_WIFI_STATE
- */
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- override fun addOpenNetwork(request: AddOpenNetworkRequest): AddNetworkResult {
- return delegate.addOpenNetwork(request)
- }
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- override fun addOpenNetwork(request: AddOpenNetworkRequest, callbacks: AddNetworkCallbacks?) {
- addNetworkScope.launch(createBaseCoroutineExceptionHandler(callbacks)) {
- val addNetworkResult = addOpenNetwork(request)
- withContext(coroutineDispatcherProvider.main) {
- when {
- addNetworkResult is AddNetworkResult.ResultCode && addNetworkResult.value == -1 -> {
- callbacks?.onFailureAddingNetwork(addNetworkResult)
- }
- else -> callbacks?.onNetworkAdded(addNetworkResult)
- }
- }
- }
- }
-
- /*
- * Legacy API requires ACCESS_FINE_LOCATION while API 29+ requires CHANGE_WIFI_STATE
- */
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- override fun addWPA2Network(request: AddWPA2NetworkRequest): AddNetworkResult {
- return delegate.addWPA2Network(request)
- }
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- override fun addWPA2Network(request: AddWPA2NetworkRequest, callbacks: AddNetworkCallbacks?) {
- addNetworkScope.launch(createBaseCoroutineExceptionHandler(callbacks)) {
- val addNetworkResult = addWPA2Network(request)
- withContext(coroutineDispatcherProvider.main) {
- when {
- addNetworkResult is AddNetworkResult.ResultCode && addNetworkResult.value == -1 -> {
- callbacks?.onFailureAddingNetwork(addNetworkResult)
- }
- else -> callbacks?.onNetworkAdded(addNetworkResult)
- }
- }
- }
- }
-
- /*
- * Legacy API requires ACCESS_FINE_LOCATION while API 29+ requires CHANGE_WIFI_STATE
- */
- @RequiresApi(Build.VERSION_CODES.Q)
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- override fun addWPA3Network(request: AddWPA3NetworkRequest): AddNetworkResult {
- return delegate.addWPA3Network(request)
- }
-
- @RequiresApi(Build.VERSION_CODES.Q)
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- override fun addWPA3Network(request: AddWPA3NetworkRequest, callbacks: AddNetworkCallbacks?) {
- addNetworkScope.launch(createBaseCoroutineExceptionHandler(callbacks)) {
- val addNetworkResult = addWPA3Network(request)
- withContext(coroutineDispatcherProvider.main) {
- when {
- addNetworkResult is AddNetworkResult.ResultCode && addNetworkResult.value == -1 -> {
- callbacks?.onFailureAddingNetwork(addNetworkResult)
- }
- else -> callbacks?.onNetworkAdded(addNetworkResult)
- }
- }
- }
- }
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/addnetwork/delegates/Android29AddNetworkApi.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/addnetwork/delegates/Android29AddNetworkApi.kt
deleted file mode 100644
index 45535a90..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/addnetwork/delegates/Android29AddNetworkApi.kt
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.addnetwork.delegates
-
-import android.Manifest.permission.ACCESS_FINE_LOCATION
-import android.Manifest.permission.CHANGE_WIFI_STATE
-import android.net.wifi.WifiManager
-import android.os.Build
-import androidx.annotation.RequiresApi
-import androidx.annotation.RequiresPermission
-import com.isupatches.android.wisefy.addnetwork.entities.AddNetworkResult
-import com.isupatches.android.wisefy.logging.WisefyLogger
-import com.isupatches.android.wisefy.util.createOpenNetworkSuggestionWithSSID
-import com.isupatches.android.wisefy.util.createWPA2NetworkSuggestionWithSSID
-import com.isupatches.android.wisefy.util.createWPA3NetworkSuggestionWithSSID
-
-@RequiresApi(Build.VERSION_CODES.Q)
-internal interface Android29AddNetworkApi {
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- fun addOpenNetwork(ssid: String): AddNetworkResult
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- fun addWPA2Network(ssid: String, passphrase: String): AddNetworkResult
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- fun addWPA3Network(ssid: String, passphrase: String): AddNetworkResult
-}
-
-private const val LOG_TAG = "Android29AddNetworkApiImpl"
-private const val ANDROID_Q_SAVE_NETWORK_WARNING =
- "There is no known way to save a network on Android Q similar to pre-Q or R+ behavior"
-
-@RequiresApi(Build.VERSION_CODES.Q)
-internal class Android29AddNetworkApiImpl(
- private val wifiManager: WifiManager,
- private val logger: WisefyLogger?
-) : Android29AddNetworkApi {
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- override fun addOpenNetwork(ssid: String): AddNetworkResult {
- logger?.w(LOG_TAG, ANDROID_Q_SAVE_NETWORK_WARNING)
- val suggestion = createOpenNetworkSuggestionWithSSID(ssid)
- val resultCode = wifiManager.addNetworkSuggestions(arrayListOf(suggestion))
- return AddNetworkResult.ResultCode(resultCode)
- }
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- override fun addWPA2Network(ssid: String, passphrase: String): AddNetworkResult {
- logger?.w(LOG_TAG, ANDROID_Q_SAVE_NETWORK_WARNING)
- val suggestion = createWPA2NetworkSuggestionWithSSID(ssid, passphrase)
- val resultCode = wifiManager.addNetworkSuggestions(listOf(suggestion))
- return AddNetworkResult.ResultCode(resultCode)
- }
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- override fun addWPA3Network(ssid: String, passphrase: String): AddNetworkResult {
- logger?.w(LOG_TAG, ANDROID_Q_SAVE_NETWORK_WARNING)
- val suggestion = createWPA3NetworkSuggestionWithSSID(ssid, passphrase)
- val resultCode = wifiManager.addNetworkSuggestions(arrayListOf(suggestion))
- return AddNetworkResult.ResultCode(resultCode)
- }
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/addnetwork/delegates/Android29AddNetworkDelegate.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/addnetwork/delegates/Android29AddNetworkDelegate.kt
deleted file mode 100644
index cebb7f70..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/addnetwork/delegates/Android29AddNetworkDelegate.kt
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.addnetwork.delegates
-
-import android.Manifest.permission.ACCESS_FINE_LOCATION
-import android.Manifest.permission.CHANGE_WIFI_STATE
-import android.net.wifi.WifiManager
-import android.os.Build
-import androidx.annotation.RequiresApi
-import androidx.annotation.RequiresPermission
-import com.isupatches.android.wisefy.addnetwork.AddNetworkApi
-import com.isupatches.android.wisefy.addnetwork.entities.AddNetworkResult
-import com.isupatches.android.wisefy.addnetwork.entities.AddOpenNetworkRequest
-import com.isupatches.android.wisefy.addnetwork.entities.AddWPA2NetworkRequest
-import com.isupatches.android.wisefy.addnetwork.entities.AddWPA3NetworkRequest
-import com.isupatches.android.wisefy.constants.ErrorMessages
-import com.isupatches.android.wisefy.logging.WisefyLogger
-import com.isupatches.android.wisefy.util.fail
-
-@RequiresApi(Build.VERSION_CODES.Q)
-internal class Android29AddNetworkDelegate(
- wifiManager: WifiManager,
- logger: WisefyLogger?,
- private val impl: Android29AddNetworkApi = Android29AddNetworkApiImpl(wifiManager, logger)
-) : AddNetworkApi {
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- override fun addOpenNetwork(request: AddOpenNetworkRequest): AddNetworkResult {
- return when (request) {
- is AddOpenNetworkRequest.Ssid -> {
- impl.addOpenNetwork(request.ssid)
- }
- is AddOpenNetworkRequest.SsidAndActivityResultLauncher -> {
- val message = ErrorMessages.AddNetwork.ActivityResultLauncher.USED_PRE_ANDROID_30
- fail(message)
- return AddNetworkResult.WrongSDKLevelError(message)
- }
- }
- }
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- override fun addWPA2Network(request: AddWPA2NetworkRequest): AddNetworkResult {
- return when (request) {
- is AddWPA2NetworkRequest.SsidAndPassphrase -> {
- impl.addWPA2Network(request.ssid, request.passphrase)
- }
- is AddWPA2NetworkRequest.SsidPassphraseAndActivityResultLauncher -> {
- val message = ErrorMessages.AddNetwork.ActivityResultLauncher.USED_PRE_ANDROID_30
- fail(message)
- return AddNetworkResult.WrongSDKLevelError(message)
- }
- }
- }
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- override fun addWPA3Network(request: AddWPA3NetworkRequest): AddNetworkResult {
- return when (request) {
- is AddWPA3NetworkRequest.SsidAndPassphrase -> {
- impl.addWPA3Network(request.ssid, request.passphrase)
- }
- is AddWPA3NetworkRequest.SsidPassphraseAndActivityResultLauncher -> {
- val message = ErrorMessages.AddNetwork.ActivityResultLauncher.USED_PRE_ANDROID_30
- fail(message)
- return AddNetworkResult.WrongSDKLevelError(message)
- }
- }
- }
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/addnetwork/delegates/Android30AddNetworkApi.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/addnetwork/delegates/Android30AddNetworkApi.kt
deleted file mode 100644
index 7f83a0d4..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/addnetwork/delegates/Android30AddNetworkApi.kt
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.addnetwork.delegates
-
-import android.Manifest.permission.ACCESS_FINE_LOCATION
-import android.Manifest.permission.CHANGE_WIFI_STATE
-import android.content.Intent
-import android.net.wifi.WifiManager
-import android.net.wifi.WifiNetworkSuggestion
-import android.os.Build
-import android.os.Bundle
-import android.provider.Settings
-import androidx.activity.result.ActivityResultLauncher
-import androidx.annotation.RequiresApi
-import androidx.annotation.RequiresPermission
-import com.isupatches.android.wisefy.addnetwork.entities.AddNetworkResult
-import com.isupatches.android.wisefy.util.createOpenNetworkSuggestionWithSSID
-import com.isupatches.android.wisefy.util.createWPA2NetworkSuggestionWithSSID
-import com.isupatches.android.wisefy.util.createWPA3NetworkSuggestionWithSSID
-
-internal interface Android30AddNetworkApi {
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- fun addOpenNetwork(
- ssid: String,
- activityResultLauncher: ActivityResultLauncher
- ): AddNetworkResult
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- fun addWPA2Network(
- ssid: String,
- passphrase: String,
- activityResultLauncher: ActivityResultLauncher
- ): AddNetworkResult
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- fun addWPA3Network(
- ssid: String,
- passphrase: String,
- activityResultLauncher: ActivityResultLauncher
- ): AddNetworkResult
-}
-
-@RequiresApi(Build.VERSION_CODES.R)
-internal class Android30AddNetworkApiImpl(
- private val wifiManager: WifiManager
-) : Android30AddNetworkApi {
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- override fun addOpenNetwork(
- ssid: String,
- activityResultLauncher: ActivityResultLauncher
- ): AddNetworkResult {
- val suggestion = createOpenNetworkSuggestionWithSSID(ssid)
- return launchIntent(suggestion, activityResultLauncher)
- }
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- override fun addWPA2Network(
- ssid: String,
- passphrase: String,
- activityResultLauncher: ActivityResultLauncher
- ): AddNetworkResult {
- val suggestion = createWPA2NetworkSuggestionWithSSID(ssid, passphrase)
- return launchIntent(suggestion, activityResultLauncher)
- }
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- override fun addWPA3Network(
- ssid: String,
- passphrase: String,
- activityResultLauncher: ActivityResultLauncher
- ): AddNetworkResult {
- val suggestion = createWPA3NetworkSuggestionWithSSID(ssid, passphrase)
- return launchIntent(suggestion, activityResultLauncher)
- }
-
- @RequiresPermission(CHANGE_WIFI_STATE)
- private fun launchIntent(
- suggestion: WifiNetworkSuggestion,
- activityResultLauncher: ActivityResultLauncher
- ): AddNetworkResult {
- wifiManager.addNetworkSuggestions(listOf(suggestion))
- val bundle = Bundle().apply {
- putParcelableArrayList(
- Settings.EXTRA_WIFI_NETWORK_LIST,
- arrayListOf(suggestion)
- )
- }
- val intent = Intent(Settings.ACTION_WIFI_ADD_NETWORKS).apply {
- putExtras(bundle)
- }
- activityResultLauncher.launch(intent)
- return AddNetworkResult.IntentLaunched
- }
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/addnetwork/delegates/Android30AddNetworkDelegate.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/addnetwork/delegates/Android30AddNetworkDelegate.kt
deleted file mode 100644
index def7f918..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/addnetwork/delegates/Android30AddNetworkDelegate.kt
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.addnetwork.delegates
-
-import android.Manifest.permission.ACCESS_FINE_LOCATION
-import android.Manifest.permission.CHANGE_WIFI_STATE
-import android.net.wifi.WifiManager
-import android.os.Build
-import androidx.annotation.RequiresApi
-import androidx.annotation.RequiresPermission
-import com.isupatches.android.wisefy.addnetwork.AddNetworkApi
-import com.isupatches.android.wisefy.addnetwork.entities.AddNetworkResult
-import com.isupatches.android.wisefy.addnetwork.entities.AddOpenNetworkRequest
-import com.isupatches.android.wisefy.addnetwork.entities.AddWPA2NetworkRequest
-import com.isupatches.android.wisefy.addnetwork.entities.AddWPA3NetworkRequest
-import com.isupatches.android.wisefy.constants.ErrorMessages
-import com.isupatches.android.wisefy.util.fail
-
-@RequiresApi(Build.VERSION_CODES.R)
-internal class Android30AddNetworkDelegate(
- wifiManager: WifiManager,
- private val impl: Android30AddNetworkApi = Android30AddNetworkApiImpl(wifiManager)
-) : AddNetworkApi {
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- override fun addOpenNetwork(request: AddOpenNetworkRequest): AddNetworkResult {
- return when (request) {
- is AddOpenNetworkRequest.SsidAndActivityResultLauncher -> {
- impl.addOpenNetwork(request.ssid, request.activityResultLauncher)
- }
- is AddOpenNetworkRequest.Ssid -> {
- val message = ErrorMessages.AddNetwork.ActivityResultLauncher.NOT_USED_ANDROID_30
- fail(message)
- return AddNetworkResult.WrongSDKLevelError(message)
- }
- }
- }
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- override fun addWPA2Network(request: AddWPA2NetworkRequest): AddNetworkResult {
- return when (request) {
- is AddWPA2NetworkRequest.SsidPassphraseAndActivityResultLauncher -> {
- impl.addWPA2Network(request.ssid, request.passphrase, request.activityResultLauncher)
- }
- is AddWPA2NetworkRequest.SsidAndPassphrase -> {
- val message = ErrorMessages.AddNetwork.ActivityResultLauncher.NOT_USED_ANDROID_30
- fail(message)
- return AddNetworkResult.WrongSDKLevelError(message)
- }
- }
- }
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- override fun addWPA3Network(request: AddWPA3NetworkRequest): AddNetworkResult {
- return when (request) {
- is AddWPA3NetworkRequest.SsidPassphraseAndActivityResultLauncher -> {
- impl.addWPA3Network(request.ssid, request.passphrase, request.activityResultLauncher)
- }
- is AddWPA3NetworkRequest.SsidAndPassphrase -> {
- val message = ErrorMessages.AddNetwork.ActivityResultLauncher.NOT_USED_ANDROID_30
- fail(message)
- return AddNetworkResult.WrongSDKLevelError(message)
- }
- }
- }
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/addnetwork/delegates/LegacyAddNetworkApi.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/addnetwork/delegates/LegacyAddNetworkApi.kt
deleted file mode 100644
index 0832af8b..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/addnetwork/delegates/LegacyAddNetworkApi.kt
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.addnetwork.delegates
-
-import android.Manifest.permission.ACCESS_FINE_LOCATION
-import android.net.wifi.WifiManager
-import androidx.annotation.RequiresPermission
-import com.isupatches.android.wisefy.addnetwork.entities.AddNetworkResult
-import com.isupatches.android.wisefy.util.legacy.generateOpenNetworkConfiguration
-import com.isupatches.android.wisefy.util.legacy.generateWPA2NetworkConfiguration
-
-internal interface LegacyAddNetworkApi {
- fun addOpenNetwork(ssid: String): AddNetworkResult
- fun addWPA2Network(ssid: String, passphrase: String): AddNetworkResult
-}
-
-internal class LegacyAddNetworkApiImpl(
- private val wifiManager: WifiManager
-) : LegacyAddNetworkApi {
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun addOpenNetwork(ssid: String): AddNetworkResult {
- val networkConfiguration = generateOpenNetworkConfiguration(ssid)
- val resultCode = wifiManager.addNetwork(networkConfiguration)
- return AddNetworkResult.ResultCode(resultCode)
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun addWPA2Network(ssid: String, passphrase: String): AddNetworkResult {
- val networkConfiguration = generateWPA2NetworkConfiguration(ssid, passphrase)
- val resultCode = wifiManager.addNetwork(networkConfiguration)
- return AddNetworkResult.ResultCode(resultCode)
- }
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/addnetwork/delegates/LegacyAddNetworkDelegate.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/addnetwork/delegates/LegacyAddNetworkDelegate.kt
deleted file mode 100644
index 531da258..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/addnetwork/delegates/LegacyAddNetworkDelegate.kt
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.addnetwork.delegates
-
-import android.Manifest.permission.ACCESS_FINE_LOCATION
-import android.net.wifi.WifiManager
-import androidx.annotation.RequiresPermission
-import com.isupatches.android.wisefy.addnetwork.AddNetworkApi
-import com.isupatches.android.wisefy.addnetwork.entities.AddNetworkResult
-import com.isupatches.android.wisefy.addnetwork.entities.AddOpenNetworkRequest
-import com.isupatches.android.wisefy.addnetwork.entities.AddWPA2NetworkRequest
-import com.isupatches.android.wisefy.addnetwork.entities.AddWPA3NetworkRequest
-import com.isupatches.android.wisefy.constants.ErrorMessages
-import com.isupatches.android.wisefy.util.fail
-
-internal class LegacyAddNetworkDelegate(
- wifiManager: WifiManager,
- private val impl: LegacyAddNetworkApi = LegacyAddNetworkApiImpl(wifiManager)
-) : AddNetworkApi {
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun addOpenNetwork(request: AddOpenNetworkRequest): AddNetworkResult {
- return when (request) {
- is AddOpenNetworkRequest.Ssid -> {
- impl.addOpenNetwork(request.ssid)
- }
- is AddOpenNetworkRequest.SsidAndActivityResultLauncher -> {
- val message = ErrorMessages.AddNetwork.ActivityResultLauncher.USED_PRE_ANDROID_30
- fail(message)
- return AddNetworkResult.WrongSDKLevelError(message)
- }
- }
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun addWPA2Network(request: AddWPA2NetworkRequest): AddNetworkResult {
- return when (request) {
- is AddWPA2NetworkRequest.SsidAndPassphrase -> {
- impl.addWPA2Network(request.ssid, request.passphrase)
- }
- is AddWPA2NetworkRequest.SsidPassphraseAndActivityResultLauncher -> {
- val message = ErrorMessages.AddNetwork.ActivityResultLauncher.USED_PRE_ANDROID_30
- fail(message)
- return AddNetworkResult.WrongSDKLevelError(message)
- }
- }
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun addWPA3Network(request: AddWPA3NetworkRequest): AddNetworkResult {
- val message = ErrorMessages.AddNetwork.WPA3Network.PRE_ANDROID_29
- fail(message)
- return AddNetworkResult.WrongSDKLevelError(message)
- }
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/addnetwork/entities/AddNetworkRequest.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/addnetwork/entities/AddNetworkRequest.kt
deleted file mode 100644
index 4950cc2e..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/addnetwork/entities/AddNetworkRequest.kt
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.addnetwork.entities
-
-import android.content.Intent
-import android.os.Build
-import androidx.activity.result.ActivityResultLauncher
-import androidx.annotation.RequiresApi
-
-sealed class AddOpenNetworkRequest {
- data class Ssid(
- val ssid: String
- ) : AddOpenNetworkRequest()
-
- @RequiresApi(Build.VERSION_CODES.R)
- data class SsidAndActivityResultLauncher(
- val ssid: String,
- val activityResultLauncher: ActivityResultLauncher
- ) : AddOpenNetworkRequest()
-}
-
-sealed class AddWPA2NetworkRequest {
- data class SsidAndPassphrase(
- val ssid: String,
- val passphrase: String
- ) : AddWPA2NetworkRequest()
-
- @RequiresApi(Build.VERSION_CODES.R)
- data class SsidPassphraseAndActivityResultLauncher(
- val ssid: String,
- val passphrase: String,
- val activityResultLauncher: ActivityResultLauncher
- ) : AddWPA2NetworkRequest()
-}
-
-@RequiresApi(Build.VERSION_CODES.Q)
-sealed class AddWPA3NetworkRequest {
-
- @RequiresApi(Build.VERSION_CODES.Q)
- data class SsidAndPassphrase(
- val ssid: String,
- val passphrase: String
- ) : AddWPA3NetworkRequest()
-
- @RequiresApi(Build.VERSION_CODES.R)
- data class SsidPassphraseAndActivityResultLauncher(
- val ssid: String,
- val passphrase: String,
- val activityResultLauncher: ActivityResultLauncher
- ) : AddWPA3NetworkRequest()
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/addnetwork/entities/AddNetworkResult.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/addnetwork/entities/AddNetworkResult.kt
deleted file mode 100644
index 24becd69..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/addnetwork/entities/AddNetworkResult.kt
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.addnetwork.entities
-
-sealed class AddNetworkResult {
- data class ResultCode(
- val value: Int
- ) : AddNetworkResult()
-
- object IntentLaunched : AddNetworkResult()
-
- data class WrongSDKLevelError(
- val message: String
- ) : AddNetworkResult()
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/callbacks/AccessPointCallbacks.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/callbacks/AccessPointCallbacks.kt
deleted file mode 100644
index dfb2e162..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/callbacks/AccessPointCallbacks.kt
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.callbacks
-
-import com.isupatches.android.wisefy.accesspoints.entities.AccessPointData
-import com.isupatches.android.wisefy.accesspoints.entities.RSSIData
-import com.isupatches.android.wisefy.accesspoints.entities.SSIDData
-
-interface GetNearbyAccessPointCallbacks : BaseWisefyCallbacks {
- fun onNearbyAccessPointsRetrieved(accessPoints: List)
- fun onNoNearbyAccessPoints()
-}
-
-interface GetRSSICallbacks : BaseWisefyCallbacks {
- fun onRSSIRetrieved(rssi: RSSIData)
- fun onNoNetworkToRetrieveRSSI()
-}
-
-interface SearchForAccessPointCallbacks : BaseWisefyCallbacks {
- fun onAccessPointFound(accessPoint: AccessPointData)
- fun onNoAccessPointFound()
-}
-
-interface SearchForAccessPointsCallbacks : BaseWisefyCallbacks {
- fun onAccessPointsFound(accessPoints: List)
- fun onNoAccessPointsFound()
-}
-
-interface SearchForSSIDCallbacks : BaseWisefyCallbacks {
- fun onSSIDFound(ssid: SSIDData)
- fun onSSIDNotFound()
-}
-
-interface SearchForSSIDsCallbacks : BaseWisefyCallbacks {
- fun onSSIDsFound(ssids: List)
- fun onNoSSIDsFound()
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/callbacks/AddNetworkCallbacks.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/callbacks/AddNetworkCallbacks.kt
deleted file mode 100644
index 6adb0d20..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/callbacks/AddNetworkCallbacks.kt
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.callbacks
-
-import com.isupatches.android.wisefy.addnetwork.entities.AddNetworkResult
-
-interface AddNetworkCallbacks : BaseWisefyCallbacks {
- fun onFailureAddingNetwork(result: AddNetworkResult)
- fun onNetworkAdded(result: AddNetworkResult)
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/callbacks/BaseWisefyCallbacks.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/callbacks/BaseWisefyCallbacks.kt
deleted file mode 100644
index 50e53f2f..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/callbacks/BaseWisefyCallbacks.kt
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.callbacks
-
-interface BaseWisefyCallbacks {
- fun onWisefyAsyncFailure(throwable: Throwable)
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/callbacks/GetFrequencyCallbacks.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/callbacks/GetFrequencyCallbacks.kt
deleted file mode 100644
index 17886549..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/callbacks/GetFrequencyCallbacks.kt
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.callbacks
-
-import com.isupatches.android.wisefy.frequency.entities.FrequencyData
-
-interface GetFrequencyCallbacks : BaseWisefyCallbacks {
- fun onFailureRetrievingFrequency()
- fun onFrequencyRetrieved(frequency: FrequencyData)
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/callbacks/GetIPCallbacks.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/callbacks/GetIPCallbacks.kt
deleted file mode 100644
index 7d701189..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/callbacks/GetIPCallbacks.kt
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.callbacks
-
-import com.isupatches.android.wisefy.networkinfo.entities.IPData
-
-interface GetIPCallbacks : BaseWisefyCallbacks {
- fun onFailureRetrievingIP()
- fun onIPRetrieved(ip: IPData)
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/callbacks/NetworkConnectionCallbacks.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/callbacks/NetworkConnectionCallbacks.kt
deleted file mode 100644
index 4fb04f5f..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/callbacks/NetworkConnectionCallbacks.kt
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.callbacks
-
-interface ConnectToNetworkCallbacks : BaseWisefyCallbacks {
- fun onConnectedToNetwork()
- fun onFailureConnectingToNetwork()
- fun onNetworkNotFoundToConnectTo()
- fun onConnectionRequestPlaced()
-}
-
-interface DisconnectFromCurrentNetworkCallbacks : BaseWisefyCallbacks {
- fun onDisconnectedFromCurrentNetwork()
- fun onFailureDisconnectingFromCurrentNetwork()
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/callbacks/NetworkInfoCallbacks.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/callbacks/NetworkInfoCallbacks.kt
deleted file mode 100644
index 3cdd5edb..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/callbacks/NetworkInfoCallbacks.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.callbacks
-
-import com.isupatches.android.wisefy.networkinfo.entities.CurrentNetworkData
-import com.isupatches.android.wisefy.networkinfo.entities.CurrentNetworkInfoData
-
-interface GetCurrentNetworkCallbacks : BaseWisefyCallbacks {
- fun onNoCurrentNetwork()
- fun onCurrentNetworkRetrieved(currentNetwork: CurrentNetworkData)
-}
-
-interface GetCurrentNetworkInfoCallbacks : BaseWisefyCallbacks {
- fun onNoCurrentNetworkInfo()
- fun onCurrentNetworkInfoRetrieved(currentNetworkInfo: CurrentNetworkInfoData)
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/callbacks/RemoveNetworkCallbacks.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/callbacks/RemoveNetworkCallbacks.kt
deleted file mode 100644
index ae2083d3..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/callbacks/RemoveNetworkCallbacks.kt
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.callbacks
-
-import com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkResult
-
-interface RemoveNetworkCallbacks : BaseWisefyCallbacks {
- fun onFailureRemovingNetwork(result: RemoveNetworkResult)
- fun onNetworkNotFoundToRemove()
- fun onNetworkRemoved(result: RemoveNetworkResult)
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/callbacks/SavedNetworkCallbacks.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/callbacks/SavedNetworkCallbacks.kt
deleted file mode 100644
index 5e442bad..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/callbacks/SavedNetworkCallbacks.kt
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.callbacks
-
-import com.isupatches.android.wisefy.savednetworks.entities.SavedNetworkData
-
-interface GetSavedNetworksCallbacks : BaseWisefyCallbacks {
- fun onNoSavedNetworksFound()
- fun onSavedNetworksRetrieved(savedNetworks: List)
-}
-
-interface SearchForSavedNetworkCallbacks : BaseWisefyCallbacks {
- fun onSavedNetworkNotFound()
- fun onSavedNetworkRetrieved(savedNetwork: SavedNetworkData)
-}
-
-interface SearchForSavedNetworksCallbacks : BaseWisefyCallbacks {
- fun onNoSavedNetworksFound()
- fun onSavedNetworksRetrieved(savedNetworks: List)
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/callbacks/WifiCallbacks.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/callbacks/WifiCallbacks.kt
deleted file mode 100644
index b0ea2171..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/callbacks/WifiCallbacks.kt
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.callbacks
-
-interface EnableWifiCallbacks : BaseWisefyCallbacks {
- fun onFailureEnablingWifi()
- fun onWifiEnabled()
-}
-
-interface DisableWifiCallbacks : BaseWisefyCallbacks {
- fun onFailureDisablingWifi()
- fun onWifiDisabled()
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/constants/DeprecationMessages.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/constants/DeprecationMessages.kt
deleted file mode 100644
index f223cd2c..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/constants/DeprecationMessages.kt
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.constants
-
-internal object DeprecationMessages {
-
- // Signal
- const val CALCULATE_BARS = "Please replace calculateBars(rssiLevel: Int, targetNumberOfBars: Int) to " +
- "calculateBars(rssiLevel: Int)"
-
- // Wifi
- const val ENABLE_WIFI = "Starting with Build.VERSION_CODES#Q, applications are not allowed to enable Wi-Fi."
- const val DISABLE_WIFI = "Starting with Build.VERSION_CODES#Q, applications are not allowed to disable Wi-Fi."
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/constants/ErrorMessages.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/constants/ErrorMessages.kt
deleted file mode 100644
index 635f5bdc..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/constants/ErrorMessages.kt
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.constants
-
-internal object ErrorMessages {
-
- object AddNetwork {
- object ActivityResultLauncher {
- const val USED_PRE_ANDROID_30 =
- "Adding a network using ActivityResultLauncher is not available until Android R"
- const val NOT_USED_ANDROID_30 =
- "Adding a network should be done with an ActivityResultLauncher on Android R+"
- }
-
- object WPA3Network {
- const val PRE_ANDROID_29 = "WPA3 networks are not supported until Android Q"
- }
- }
-
- // Add Network
-
- // Signal
- const val CALCULATE_BARS_ANDROID_30 = "calculateBars(rssiLevel: Int): Int should be used for Android R"
- const val CALCULATE_BARS_LEGACY = "calculateBars(rssiLevel: Int): Int is not available until Android R"
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/constants/Symbols.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/constants/Symbols.kt
deleted file mode 100644
index 36fdaf11..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/constants/Symbols.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.constants
-
-internal const val QUOTE = "\""
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/frequency/FrequencyApi.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/frequency/FrequencyApi.kt
deleted file mode 100644
index 0e17e8c8..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/frequency/FrequencyApi.kt
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.frequency
-
-import android.Manifest.permission.ACCESS_FINE_LOCATION
-import android.net.wifi.WifiInfo
-import android.os.Build
-import androidx.annotation.RequiresApi
-import androidx.annotation.RequiresPermission
-import com.isupatches.android.wisefy.callbacks.GetFrequencyCallbacks
-import com.isupatches.android.wisefy.frequency.entities.FrequencyData
-
-const val MIN_FREQUENCY_5GHZ: Int = 4900
-const val MAX_FREQUENCY_5GHZ: Int = 5900
-
-interface FrequencyApi {
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- @RequiresApi(Build.VERSION_CODES.LOLLIPOP)
- fun getFrequency(): FrequencyData?
-
- @RequiresApi(Build.VERSION_CODES.LOLLIPOP)
- fun getFrequency(network: WifiInfo): FrequencyData
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- @RequiresApi(Build.VERSION_CODES.LOLLIPOP)
- fun isNetwork5gHz(): Boolean
-
- @RequiresApi(Build.VERSION_CODES.LOLLIPOP)
- fun isNetwork5gHz(network: WifiInfo): Boolean
-}
-
-interface FrequencyApiAsync {
- @RequiresPermission(ACCESS_FINE_LOCATION)
- @RequiresApi(Build.VERSION_CODES.LOLLIPOP)
- fun getFrequency(callbacks: GetFrequencyCallbacks?)
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/frequency/WisefyFrequencyUtil.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/frequency/WisefyFrequencyUtil.kt
deleted file mode 100644
index 60b9af86..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/frequency/WisefyFrequencyUtil.kt
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.frequency
-
-import android.Manifest.permission.ACCESS_FINE_LOCATION
-import android.net.ConnectivityManager
-import android.net.wifi.WifiInfo
-import android.net.wifi.WifiManager
-import android.os.Build
-import androidx.annotation.RequiresApi
-import androidx.annotation.RequiresPermission
-import com.isupatches.android.wisefy.callbacks.GetFrequencyCallbacks
-import com.isupatches.android.wisefy.frequency.delegates.LegacyFrequencyDelegate
-import com.isupatches.android.wisefy.frequency.entities.FrequencyData
-import com.isupatches.android.wisefy.logging.WisefyLogger
-import com.isupatches.android.wisefy.util.coroutines.CoroutineDispatcherProvider
-import com.isupatches.android.wisefy.util.coroutines.createBaseCoroutineExceptionHandler
-import kotlinx.coroutines.CoroutineScope
-import kotlinx.coroutines.Job
-import kotlinx.coroutines.launch
-import kotlinx.coroutines.withContext
-
-internal interface FrequencyUtil : FrequencyApi {
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- @RequiresApi(Build.VERSION_CODES.LOLLIPOP)
- fun getFrequency(callbacks: GetFrequencyCallbacks?)
-}
-
-private const val LOG_TAG = "WisefyFrequencyUtil"
-
-internal class WisefyFrequencyUtil(
- private val coroutineDispatcherProvider: CoroutineDispatcherProvider,
- logger: WisefyLogger?,
- connectivityManager: ConnectivityManager,
- wifiManager: WifiManager
-) : FrequencyUtil {
-
- private val delegate = LegacyFrequencyDelegate(wifiManager, connectivityManager)
- private val frequencyScope = CoroutineScope(Job() + coroutineDispatcherProvider.io)
-
- init {
- logger?.d(LOG_TAG, "WisefyFrequencyUtil delegate is: ${delegate::class.java.simpleName}")
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- @RequiresApi(Build.VERSION_CODES.LOLLIPOP)
- override fun getFrequency(): FrequencyData? {
- return delegate.getFrequency()
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- @RequiresApi(Build.VERSION_CODES.LOLLIPOP)
- override fun getFrequency(callbacks: GetFrequencyCallbacks?) {
- frequencyScope.launch(createBaseCoroutineExceptionHandler(callbacks)) {
- val frequency = delegate.getFrequency()
- withContext(coroutineDispatcherProvider.main) {
- if (frequency != null) {
- callbacks?.onFrequencyRetrieved(frequency)
- } else {
- callbacks?.onFailureRetrievingFrequency()
- }
- }
- }
- }
-
- @RequiresApi(Build.VERSION_CODES.LOLLIPOP)
- override fun getFrequency(network: WifiInfo): FrequencyData {
- return delegate.getFrequency(network)
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- @RequiresApi(Build.VERSION_CODES.LOLLIPOP)
- override fun isNetwork5gHz(): Boolean {
- return delegate.isNetwork5gHz()
- }
-
- @RequiresApi(Build.VERSION_CODES.LOLLIPOP)
- override fun isNetwork5gHz(network: WifiInfo): Boolean {
- return delegate.isNetwork5gHz(network)
- }
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/frequency/delegates/LegacyFrequencyApi.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/frequency/delegates/LegacyFrequencyApi.kt
deleted file mode 100644
index a0304e9b..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/frequency/delegates/LegacyFrequencyApi.kt
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.frequency.delegates
-
-import android.Manifest.permission.ACCESS_FINE_LOCATION
-import android.net.ConnectivityManager
-import android.net.wifi.WifiInfo
-import android.net.wifi.WifiManager
-import android.os.Build
-import androidx.annotation.RequiresApi
-import androidx.annotation.RequiresPermission
-import com.isupatches.android.wisefy.frequency.MAX_FREQUENCY_5GHZ
-import com.isupatches.android.wisefy.frequency.MIN_FREQUENCY_5GHZ
-import com.isupatches.android.wisefy.frequency.entities.FrequencyData
-import com.isupatches.android.wisefy.util.getNetwork
-
-internal interface LegacyFrequencyApi {
- @RequiresPermission(ACCESS_FINE_LOCATION)
- @RequiresApi(Build.VERSION_CODES.LOLLIPOP)
- fun getFrequency(): FrequencyData?
-
- fun getFrequency(network: WifiInfo): FrequencyData
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- fun isNetwork5gHz(): Boolean
-
- fun isNetwork5gHz(network: WifiInfo): Boolean
-}
-
-internal class LegacyFrequencyApiImpl(
- private val wifiManager: WifiManager,
- private val connectivityManager: ConnectivityManager
-) : LegacyFrequencyApi {
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- @RequiresApi(Build.VERSION_CODES.LOLLIPOP)
- override fun getFrequency(): FrequencyData? {
- val currentNetwork = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
- connectivityManager.getNetwork()
- } else {
- @Suppress("Deprecation")
- wifiManager.connectionInfo
- }
- return currentNetwork?.frequency?.let {
- FrequencyData(it)
- }
- }
-
- @RequiresApi(Build.VERSION_CODES.LOLLIPOP)
- override fun getFrequency(network: WifiInfo): FrequencyData {
- return FrequencyData(network.frequency)
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- @RequiresApi(Build.VERSION_CODES.LOLLIPOP)
- override fun isNetwork5gHz(): Boolean {
- val frequency = getFrequency()
- return frequency != null && frequency.value > MIN_FREQUENCY_5GHZ && frequency.value < MAX_FREQUENCY_5GHZ
- }
-
- @RequiresApi(Build.VERSION_CODES.LOLLIPOP)
- override fun isNetwork5gHz(network: WifiInfo): Boolean {
- val frequency = getFrequency(network)
- return frequency.value in (MIN_FREQUENCY_5GHZ + 1) until MAX_FREQUENCY_5GHZ
- }
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/frequency/delegates/LegacyFrequencyDelegate.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/frequency/delegates/LegacyFrequencyDelegate.kt
deleted file mode 100644
index 9f4288a0..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/frequency/delegates/LegacyFrequencyDelegate.kt
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.frequency.delegates
-
-import android.Manifest.permission.ACCESS_FINE_LOCATION
-import android.net.ConnectivityManager
-import android.net.wifi.WifiInfo
-import android.net.wifi.WifiManager
-import android.os.Build
-import androidx.annotation.RequiresApi
-import androidx.annotation.RequiresPermission
-import com.isupatches.android.wisefy.frequency.FrequencyApi
-import com.isupatches.android.wisefy.frequency.entities.FrequencyData
-
-internal class LegacyFrequencyDelegate(
- wifiManager: WifiManager,
- connectivityManager: ConnectivityManager,
- private val impl: LegacyFrequencyApi = LegacyFrequencyApiImpl(
- wifiManager = wifiManager,
- connectivityManager = connectivityManager
- )
-) : FrequencyApi {
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- @RequiresApi(Build.VERSION_CODES.LOLLIPOP)
- override fun getFrequency(): FrequencyData? {
- return impl.getFrequency()
- }
-
- @RequiresApi(Build.VERSION_CODES.LOLLIPOP)
- override fun getFrequency(network: WifiInfo): FrequencyData {
- return impl.getFrequency(network)
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- @RequiresApi(Build.VERSION_CODES.LOLLIPOP)
- override fun isNetwork5gHz(): Boolean {
- return impl.isNetwork5gHz()
- }
-
- @RequiresApi(Build.VERSION_CODES.LOLLIPOP)
- override fun isNetwork5gHz(network: WifiInfo): Boolean {
- return impl.isNetwork5gHz(network)
- }
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/frequency/entities/FrequencyData.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/frequency/entities/FrequencyData.kt
deleted file mode 100644
index ceeaef3b..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/frequency/entities/FrequencyData.kt
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.frequency.entities
-
-data class FrequencyData(
- val value: Int
-)
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/logging/WisefyLogger.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/logging/WisefyLogger.kt
deleted file mode 100644
index 8efd67b0..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/logging/WisefyLogger.kt
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.logging
-
-interface WisefyLogger {
- fun i(tag: String, message: String, vararg args: Any): Int
-
- fun v(tag: String, message: String, vararg args: Any): Int
-
- fun d(tag: String, message: String, vararg args: Any): Int
-
- fun w(tag: String, message: String, vararg args: Any): Int
-
- fun e(tag: String, message: String, vararg args: Any): Int
-
- fun e(tag: String, throwable: Throwable, message: String, vararg args: Any): Int
-
- fun wtf(tag: String, message: String, vararg args: Any): Int
-
- fun wtf(tag: String, throwable: Throwable, message: String, vararg args: Any): Int
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/networkconnection/NetworkConnectionApi.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/networkconnection/NetworkConnectionApi.kt
deleted file mode 100644
index 87803ee0..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/networkconnection/NetworkConnectionApi.kt
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.networkconnection
-
-import com.isupatches.android.wisefy.callbacks.ConnectToNetworkCallbacks
-import com.isupatches.android.wisefy.callbacks.DisconnectFromCurrentNetworkCallbacks
-import com.isupatches.android.wisefy.networkconnection.entities.NetworkConnectionRequest
-import com.isupatches.android.wisefy.networkconnection.entities.NetworkConnectionResult
-
-interface NetworkConnectionApi {
- fun connectToNetwork(request: NetworkConnectionRequest): NetworkConnectionResult
- fun disconnectFromCurrentNetwork(): NetworkConnectionResult
-}
-
-interface NetworkConnectionApiAsync {
- fun connectToNetwork(request: NetworkConnectionRequest, callbacks: ConnectToNetworkCallbacks?)
- fun disconnectFromCurrentNetwork(callbacks: DisconnectFromCurrentNetworkCallbacks?)
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/networkconnection/WisefyNetworkConnectionUtil.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/networkconnection/WisefyNetworkConnectionUtil.kt
deleted file mode 100644
index f34ed109..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/networkconnection/WisefyNetworkConnectionUtil.kt
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.networkconnection
-
-import android.net.ConnectivityManager
-import android.net.wifi.WifiManager
-import com.isupatches.android.wisefy.callbacks.ConnectToNetworkCallbacks
-import com.isupatches.android.wisefy.callbacks.DisconnectFromCurrentNetworkCallbacks
-import com.isupatches.android.wisefy.logging.WisefyLogger
-import com.isupatches.android.wisefy.networkconnection.delegates.Android29NetworkConnectionDelegate
-import com.isupatches.android.wisefy.networkconnection.delegates.LegacyNetworkConnectionDelegate
-import com.isupatches.android.wisefy.networkconnection.entities.NetworkConnectionRequest
-import com.isupatches.android.wisefy.networkconnection.entities.NetworkConnectionResult
-import com.isupatches.android.wisefy.networkconnectionstatus.NetworkConnectionStatusUtil
-import com.isupatches.android.wisefy.savednetworks.SavedNetworkUtil
-import com.isupatches.android.wisefy.util.SdkUtil
-import com.isupatches.android.wisefy.util.coroutines.CoroutineDispatcherProvider
-import com.isupatches.android.wisefy.util.coroutines.createBaseCoroutineExceptionHandler
-import kotlinx.coroutines.CoroutineScope
-import kotlinx.coroutines.Job
-import kotlinx.coroutines.launch
-import kotlinx.coroutines.withContext
-
-internal interface NetworkConnectionUtil : NetworkConnectionApi, NetworkConnectionApiAsync
-
-private const val LOG_TAG = "WisefyNetworkConnectionUtil"
-
-internal class WisefyNetworkConnectionUtil(
- private val coroutineDispatcherProvider: CoroutineDispatcherProvider,
- connectivityManager: ConnectivityManager,
- logger: WisefyLogger?,
- networkConnectionStatusUtil: NetworkConnectionStatusUtil,
- savedNetworkUtil: SavedNetworkUtil,
- sdkUtil: SdkUtil,
- wifiManager: WifiManager
-) : NetworkConnectionUtil {
-
- private val networkConnectionScope = CoroutineScope(Job() + coroutineDispatcherProvider.io)
-
- private val delegate = when {
- sdkUtil.isAtLeastQ() -> Android29NetworkConnectionDelegate(connectivityManager, logger)
- else -> {
- LegacyNetworkConnectionDelegate(
- wifiManager,
- networkConnectionStatusUtil,
- savedNetworkUtil,
- logger
- )
- }
- }
-
- init {
- logger?.d(LOG_TAG, "WisefyNetworkConnectionUtil delegate is: ${delegate::class.java.simpleName}")
- }
-
- override fun connectToNetwork(request: NetworkConnectionRequest): NetworkConnectionResult {
- return delegate.connectToNetwork(request)
- }
-
- override fun connectToNetwork(request: NetworkConnectionRequest, callbacks: ConnectToNetworkCallbacks?) {
- networkConnectionScope.launch(createBaseCoroutineExceptionHandler(callbacks)) {
- val result = delegate.connectToNetwork(request)
- withContext(coroutineDispatcherProvider.main) {
- when (result) {
- is NetworkConnectionResult.Succeeded -> {
- if (result.value) {
- callbacks?.onConnectedToNetwork()
- } else {
- callbacks?.onFailureConnectingToNetwork()
- }
- }
- is NetworkConnectionResult.ConnectionRequestPlaced -> {
- callbacks?.onConnectionRequestPlaced()
- }
- is NetworkConnectionResult.NetworkNotFound -> {
- callbacks?.onNetworkNotFoundToConnectTo()
- }
- }
- }
- }
- }
-
- override fun disconnectFromCurrentNetwork(): NetworkConnectionResult {
- return delegate.disconnectFromCurrentNetwork()
- }
-
- override fun disconnectFromCurrentNetwork(callbacks: DisconnectFromCurrentNetworkCallbacks?) {
- networkConnectionScope.launch(createBaseCoroutineExceptionHandler(callbacks)) {
- val result = delegate.disconnectFromCurrentNetwork()
- withContext(coroutineDispatcherProvider.main) {
- when (result) {
- is NetworkConnectionResult.Succeeded -> {
- if (result.value) {
- callbacks?.onDisconnectedFromCurrentNetwork()
- } else {
- callbacks?.onFailureDisconnectingFromCurrentNetwork()
- }
- }
- else -> {
- // No-op
- }
- }
- }
- }
- }
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/networkconnection/delegates/Android29NetworkConnectionApi.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/networkconnection/delegates/Android29NetworkConnectionApi.kt
deleted file mode 100644
index 5355222b..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/networkconnection/delegates/Android29NetworkConnectionApi.kt
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.networkconnection.delegates
-
-import android.net.ConnectivityManager
-import android.net.MacAddress
-import android.net.Network
-import android.net.NetworkCapabilities
-import android.net.NetworkRequest
-import android.net.wifi.WifiNetworkSpecifier
-import android.os.Build
-import androidx.annotation.RequiresApi
-import com.isupatches.android.wisefy.logging.WisefyLogger
-import com.isupatches.android.wisefy.networkconnection.entities.NetworkConnectionRequest
-import com.isupatches.android.wisefy.networkconnection.entities.NetworkConnectionResult
-
-internal interface Android29NetworkConnectionApi {
- @RequiresApi(Build.VERSION_CODES.Q)
- fun connectToNetwork(request: NetworkConnectionRequest): NetworkConnectionResult
-
- fun disconnectFromCurrentNetwork(): NetworkConnectionResult
-}
-
-private const val LOG_TAG = "Android29NetworkConnectionApiImpl"
-
-internal class Android29NetworkConnectionApiImpl(
- private val connectionManager: ConnectivityManager,
- private val logger: WisefyLogger?
-) : Android29NetworkConnectionApi, ConnectivityManager.NetworkCallback() {
-
- private val networkCallback = object : ConnectivityManager.NetworkCallback() {
- override fun onAvailable(network: Network) {
- super.onAvailable(network)
- logger?.d(LOG_TAG, "Network available")
- }
-
- override fun onUnavailable() {
- super.onUnavailable()
- logger?.d(LOG_TAG, "Network unavailable")
- }
- }
-
- @RequiresApi(Build.VERSION_CODES.Q)
- override fun connectToNetwork(request: NetworkConnectionRequest): NetworkConnectionResult {
- val networkRequest =
- when (request) {
- is NetworkConnectionRequest.SSID -> {
- NetworkRequest.Builder()
- .addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
- .removeCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
- .setNetworkSpecifier(
- WifiNetworkSpecifier.Builder()
- .setSsid(request.ssid)
- .build()
- )
- .build()
- }
- is NetworkConnectionRequest.BSSID -> {
- NetworkRequest.Builder()
- .addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
- .removeCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
- .setNetworkSpecifier(
- WifiNetworkSpecifier.Builder()
- .setBssid(MacAddress.fromString(request.bssid))
- .build()
- )
- .build()
- }
- }
- networkCallback
- connectionManager.requestNetwork(networkRequest, networkCallback, request.timeoutInMillis)
- return NetworkConnectionResult.ConnectionRequestPlaced
- }
-
- override fun disconnectFromCurrentNetwork(): NetworkConnectionResult {
- connectionManager.unregisterNetworkCallback(networkCallback)
- return NetworkConnectionResult.UnregisterRequestSent
- }
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/networkconnection/delegates/Android29NetworkConnectionDelegate.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/networkconnection/delegates/Android29NetworkConnectionDelegate.kt
deleted file mode 100644
index 507994f7..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/networkconnection/delegates/Android29NetworkConnectionDelegate.kt
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.networkconnection.delegates
-
-import android.net.ConnectivityManager
-import android.os.Build
-import androidx.annotation.RequiresApi
-import com.isupatches.android.wisefy.logging.WisefyLogger
-import com.isupatches.android.wisefy.networkconnection.NetworkConnectionApi
-import com.isupatches.android.wisefy.networkconnection.entities.NetworkConnectionRequest
-import com.isupatches.android.wisefy.networkconnection.entities.NetworkConnectionResult
-
-internal class Android29NetworkConnectionDelegate(
- connectivityManager: ConnectivityManager,
- logger: WisefyLogger?,
- private val impl: Android29NetworkConnectionApi = Android29NetworkConnectionApiImpl(connectivityManager, logger)
-) : NetworkConnectionApi {
-
- @RequiresApi(Build.VERSION_CODES.Q)
- override fun connectToNetwork(request: NetworkConnectionRequest): NetworkConnectionResult {
- return impl.connectToNetwork(request)
- }
-
- override fun disconnectFromCurrentNetwork(): NetworkConnectionResult {
- return impl.disconnectFromCurrentNetwork()
- }
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/networkconnection/delegates/LegacyNetworkConnectionApi.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/networkconnection/delegates/LegacyNetworkConnectionApi.kt
deleted file mode 100644
index e09ed3e7..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/networkconnection/delegates/LegacyNetworkConnectionApi.kt
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.networkconnection.delegates
-
-import android.Manifest.permission.ACCESS_FINE_LOCATION
-import android.Manifest.permission.ACCESS_WIFI_STATE
-import android.net.ConnectivityManager
-import android.net.wifi.WifiManager
-import androidx.annotation.RequiresPermission
-import com.isupatches.android.wisefy.constants.QUOTE
-import com.isupatches.android.wisefy.logging.WisefyLogger
-import com.isupatches.android.wisefy.networkconnection.entities.NetworkConnectionRequest
-import com.isupatches.android.wisefy.networkconnection.entities.NetworkConnectionResult
-import com.isupatches.android.wisefy.networkconnection.entities.toSearchForNetworkRequest
-import com.isupatches.android.wisefy.networkconnectionstatus.NetworkConnectionStatusUtil
-import com.isupatches.android.wisefy.savednetworks.SavedNetworkUtil
-import com.isupatches.android.wisefy.savednetworks.entities.SavedNetworkData
-import com.isupatches.android.wisefy.util.rest
-
-internal interface LegacyNetworkConnectionApi {
- fun connectToNetwork(request: NetworkConnectionRequest): NetworkConnectionResult
- fun disconnectFromCurrentNetwork(): NetworkConnectionResult
-}
-
-private const val LOG_TAG = "LegacyNetworkConnectionApiImpl"
-
-internal class LegacyNetworkConnectionApiImpl(
- private val wifiManager: WifiManager,
- private val networkConnectionStatusUtil: NetworkConnectionStatusUtil,
- private val savedNetworkUtil: SavedNetworkUtil,
- private val logger: WisefyLogger?
-) : LegacyNetworkConnectionApi, ConnectivityManager.NetworkCallback() {
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
- override fun connectToNetwork(request: NetworkConnectionRequest): NetworkConnectionResult {
- return when (
- val savedNetworkData = savedNetworkUtil.searchForSavedNetwork(request.toSearchForNetworkRequest())
- ) {
- null -> return NetworkConnectionResult.NetworkNotFound
- is SavedNetworkData.Configuration -> {
- savedNetworkData.value.let {
- wifiManager.disconnect()
- wifiManager.enableNetwork(it.networkId, true)
- wifiManager.reconnect()
- return NetworkConnectionResult.Succeeded(waitToConnectToSSID(request))
- }
- }
- else -> NetworkConnectionResult.Succeeded(false)
- }
- }
-
- override fun disconnectFromCurrentNetwork(): NetworkConnectionResult {
- return NetworkConnectionResult.Succeeded(value = wifiManager.disconnect())
- }
-
- private fun waitToConnectToSSID(request: NetworkConnectionRequest): Boolean {
- logger?.d(
- LOG_TAG,
- "Waiting %d milliseconds to connect to network with search request %s",
- request.timeoutInMillis,
- request
- )
- var currentTime: Long
- val endTime = System.currentTimeMillis() + request.timeoutInMillis
- do {
- if (isCurrentNetworkConnected(request)) {
- return true
- }
- rest()
- currentTime = System.currentTimeMillis()
- logger?.d(LOG_TAG, "Current time: %d, End time: %d (waitToConnectToSSID)", currentTime, endTime)
- } while (currentTime < endTime)
- return false
- }
-
- private fun isCurrentNetworkConnected(request: NetworkConnectionRequest): Boolean {
- val expectedValue = when (request) {
- is NetworkConnectionRequest.SSID -> request.ssid
- is NetworkConnectionRequest.BSSID -> request.bssid
- }
- if (expectedValue.isBlank()) {
- return false
- }
-
- val connectionInfo = wifiManager.connectionInfo
- connectionInfo?.let {
- if (!it.ssid.isNullOrEmpty()) {
- val currentValue = when (request) {
- is NetworkConnectionRequest.SSID -> it.ssid.replace(QUOTE, "")
- is NetworkConnectionRequest.BSSID -> it.bssid.replace(QUOTE, "")
- }
- logger?.d(LOG_TAG, "Current value: %s, Desired value: %s", currentValue, expectedValue)
- if (currentValue.equals(expectedValue, ignoreCase = true) &&
- networkConnectionStatusUtil.isDeviceConnectedToMobileOrWifiNetwork()
- ) {
- logger?.d(LOG_TAG, "Network is connected")
- return true
- }
- }
- }
- return false
- }
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/networkconnection/delegates/LegacyNetworkConnectionDelegate.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/networkconnection/delegates/LegacyNetworkConnectionDelegate.kt
deleted file mode 100644
index dc2e9752..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/networkconnection/delegates/LegacyNetworkConnectionDelegate.kt
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.networkconnection.delegates
-
-import android.net.wifi.WifiManager
-import com.isupatches.android.wisefy.logging.WisefyLogger
-import com.isupatches.android.wisefy.networkconnection.NetworkConnectionApi
-import com.isupatches.android.wisefy.networkconnection.entities.NetworkConnectionRequest
-import com.isupatches.android.wisefy.networkconnection.entities.NetworkConnectionResult
-import com.isupatches.android.wisefy.networkconnectionstatus.NetworkConnectionStatusUtil
-import com.isupatches.android.wisefy.savednetworks.SavedNetworkUtil
-
-internal class LegacyNetworkConnectionDelegate(
- wifiManager: WifiManager,
- networkConnectionStatusUtil: NetworkConnectionStatusUtil,
- savedNetworkUtil: SavedNetworkUtil,
- logger: WisefyLogger?,
- private val impl: LegacyNetworkConnectionApi = LegacyNetworkConnectionApiImpl(
- wifiManager,
- networkConnectionStatusUtil,
- savedNetworkUtil,
- logger
- )
-) : NetworkConnectionApi {
-
- override fun connectToNetwork(request: NetworkConnectionRequest): NetworkConnectionResult {
- return impl.connectToNetwork(request)
- }
-
- override fun disconnectFromCurrentNetwork(): NetworkConnectionResult {
- return impl.disconnectFromCurrentNetwork()
- }
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/networkconnection/entities/NetworkConnectionRequest.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/networkconnection/entities/NetworkConnectionRequest.kt
deleted file mode 100644
index 8730fa5b..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/networkconnection/entities/NetworkConnectionRequest.kt
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.networkconnection.entities
-
-import com.isupatches.android.wisefy.savednetworks.entities.SearchForSavedNetworkRequest
-
-sealed class NetworkConnectionRequest(
- open val timeoutInMillis: Int
-) {
- data class SSID(
- val ssid: String,
- override val timeoutInMillis: Int
- ) : NetworkConnectionRequest(timeoutInMillis)
-
- data class BSSID(
- val bssid: String,
- override val timeoutInMillis: Int
- ) : NetworkConnectionRequest(timeoutInMillis)
-}
-
-internal fun NetworkConnectionRequest.toSearchForNetworkRequest(): SearchForSavedNetworkRequest {
- return when (this) {
- is NetworkConnectionRequest.SSID -> SearchForSavedNetworkRequest.SSID(ssid)
- is NetworkConnectionRequest.BSSID -> SearchForSavedNetworkRequest.BSSID(bssid)
- }
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/networkconnection/entities/NetworkConnectionResult.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/networkconnection/entities/NetworkConnectionResult.kt
deleted file mode 100644
index 58846791..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/networkconnection/entities/NetworkConnectionResult.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.networkconnection.entities
-
-sealed class NetworkConnectionResult {
-
- data class Succeeded(
- val value: Boolean
- ) : NetworkConnectionResult()
-
- object ConnectionRequestPlaced : NetworkConnectionResult()
-
- object NetworkNotFound : NetworkConnectionResult()
-
- object UnregisterRequestSent : NetworkConnectionResult()
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/networkconnectionstatus/NetworkConnectionStatusApi.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/networkconnectionstatus/NetworkConnectionStatusApi.kt
deleted file mode 100644
index 014850a2..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/networkconnectionstatus/NetworkConnectionStatusApi.kt
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.networkconnectionstatus
-
-import com.isupatches.android.wisefy.networkconnectionstatus.entities.IsNetworkConnectedToSSIDRequest
-
-interface NetworkConnectionStatusApi {
- fun attachNetworkWatcher()
- fun detachNetworkWatcher()
-
- fun isDeviceConnectedToMobileNetwork(): Boolean
-
- fun isDeviceConnectedToMobileOrWifiNetwork(): Boolean
-
- fun isDeviceConnectedToSSID(request: IsNetworkConnectedToSSIDRequest): Boolean
-
- fun isDeviceConnectedToWifiNetwork(): Boolean
-
- fun isDeviceRoaming(): Boolean
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/networkconnectionstatus/WisefyNetworkCallbacks.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/networkconnectionstatus/WisefyNetworkCallbacks.kt
new file mode 100644
index 00000000..3753ff94
--- /dev/null
+++ b/wisefy/src/main/java/com/isupatches/android/wisefy/networkconnectionstatus/WisefyNetworkCallbacks.kt
@@ -0,0 +1,64 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.networkconnectionstatus
+
+import android.net.ConnectivityManager
+import android.net.LinkProperties
+import android.net.Network
+import android.net.NetworkCapabilities
+import com.isupatches.android.wisefy.core.entities.NetworkConnectionStatus
+import com.isupatches.android.wisefy.core.logging.WisefyLogger
+
+internal class WisefyNetworkCallbacks(
+ private val logger: WisefyLogger,
+ private val onNetworkConnectionStatusUpdated: (NetworkConnectionStatus) -> Unit
+) : ConnectivityManager.NetworkCallback() {
+
+ override fun onAvailable(network: Network) {
+ super.onAvailable(network)
+ logger.d(LOG_TAG, "onAvailable, $network")
+ onNetworkConnectionStatusUpdated(NetworkConnectionStatus.AVAILABLE)
+ }
+
+ override fun onCapabilitiesChanged(network: Network, networkCapabilities: NetworkCapabilities) {
+ super.onCapabilitiesChanged(network, networkCapabilities)
+ logger.d(
+ LOG_TAG,
+ "onCapabilitiesChanged, network: $network, networkCapabilities: $networkCapabilities"
+ )
+ }
+
+ override fun onLinkPropertiesChanged(network: Network, linkProperties: LinkProperties) {
+ super.onLinkPropertiesChanged(network, linkProperties)
+ logger.d(LOG_TAG, "onLinkPropertiesChanged, network: $network, linkProperties: $linkProperties")
+ }
+
+ override fun onLosing(network: Network, maxMsToLive: Int) {
+ super.onLosing(network, maxMsToLive)
+ logger.d(LOG_TAG, "onLosing, network: $network, maxMsToLive: $maxMsToLive")
+ onNetworkConnectionStatusUpdated(NetworkConnectionStatus.LOSING)
+ }
+
+ override fun onLost(network: Network) {
+ super.onLost(network)
+ logger.d(LOG_TAG, "onLost, network: $network")
+ onNetworkConnectionStatusUpdated(NetworkConnectionStatus.LOST)
+ }
+
+ companion object {
+ private const val LOG_TAG = "WisefyNetworkCallback"
+ }
+}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/networkconnectionstatus/WisefyNetworkConnectionStatusManager.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/networkconnectionstatus/WisefyNetworkConnectionStatusManager.kt
new file mode 100644
index 00000000..9d4f9105
--- /dev/null
+++ b/wisefy/src/main/java/com/isupatches/android/wisefy/networkconnectionstatus/WisefyNetworkConnectionStatusManager.kt
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2022 Patches Barrett
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.isupatches.android.wisefy.networkconnectionstatus
+
+import com.isupatches.android.wisefy.core.entities.NetworkConnectionStatus
+import kotlinx.coroutines.sync.Mutex
+import kotlinx.coroutines.sync.withLock
+
+internal class WisefyNetworkConnectionStatusManager private constructor(
+ private val networkConnectionStatusMutex: Mutex
+) {
+
+ private var networkConnectionStatus: NetworkConnectionStatus? = null
+
+ suspend fun getNetworkConnectionStatus(): NetworkConnectionStatus? {
+ networkConnectionStatusMutex.withLock {
+ return networkConnectionStatus
+ }
+ }
+
+ suspend fun setNetworkConnectionStatus(networkConnectionStatus: NetworkConnectionStatus) {
+ networkConnectionStatusMutex.withLock {
+ this.networkConnectionStatus = networkConnectionStatus
+ }
+ }
+
+ suspend fun clear() {
+ networkConnectionStatusMutex.withLock {
+ networkConnectionStatus = null
+ }
+ }
+
+ companion object {
+ private var instance: WisefyNetworkConnectionStatusManager? = null
+
+ fun getInstance(networkConnectionStatusMutex: Mutex): WisefyNetworkConnectionStatusManager {
+ return instance ?: WisefyNetworkConnectionStatusManager(networkConnectionStatusMutex).also { manager ->
+ this.instance = manager
+ }
+ }
+ }
+}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/networkconnectionstatus/WisefyNetworkConnectionStatusUtil.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/networkconnectionstatus/WisefyNetworkConnectionStatusUtil.kt
deleted file mode 100644
index 2e094c0b..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/networkconnectionstatus/WisefyNetworkConnectionStatusUtil.kt
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.networkconnectionstatus
-
-import android.Manifest.permission.ACCESS_NETWORK_STATE
-import android.net.ConnectivityManager
-import android.net.wifi.WifiManager
-import androidx.annotation.RequiresPermission
-import com.isupatches.android.wisefy.logging.WisefyLogger
-import com.isupatches.android.wisefy.networkconnectionstatus.delegates.LegacyNetworkConnectionStatusDelegate
-import com.isupatches.android.wisefy.networkconnectionstatus.entities.IsNetworkConnectedToSSIDRequest
-import com.isupatches.android.wisefy.util.SdkUtil
-
-internal interface NetworkConnectionStatusUtil : NetworkConnectionStatusApi
-
-private const val LOG_TAG = "WisefyNetworkConnectionStatusUtil"
-
-internal class WisefyNetworkConnectionStatusUtil(
- connectivityManager: ConnectivityManager,
- logger: WisefyLogger?,
- sdkUtil: SdkUtil,
- wifiManager: WifiManager
-) : NetworkConnectionStatusUtil {
-
- private val delegate = LegacyNetworkConnectionStatusDelegate(
- connectivityManager,
- wifiManager,
- sdkUtil,
- logger
- )
-
- init {
- logger?.d(LOG_TAG, "WisefyNetworkConnectionStatusUtil delegate is: ${delegate::class.java.simpleName}")
- }
-
- @RequiresPermission(ACCESS_NETWORK_STATE)
- override fun attachNetworkWatcher() {
- delegate.attachNetworkWatcher()
- }
-
- override fun detachNetworkWatcher() {
- delegate.detachNetworkWatcher()
- }
-
- @RequiresPermission(ACCESS_NETWORK_STATE)
- override fun isDeviceConnectedToMobileNetwork(): Boolean {
- return delegate.isDeviceConnectedToMobileNetwork()
- }
-
- override fun isDeviceConnectedToMobileOrWifiNetwork(): Boolean {
- return delegate.isDeviceConnectedToMobileOrWifiNetwork()
- }
-
- override fun isDeviceConnectedToSSID(request: IsNetworkConnectedToSSIDRequest): Boolean {
- return delegate.isDeviceConnectedToSSID(request)
- }
-
- @RequiresPermission(ACCESS_NETWORK_STATE)
- override fun isDeviceConnectedToWifiNetwork(): Boolean {
- return delegate.isDeviceConnectedToWifiNetwork()
- }
-
- @RequiresPermission(ACCESS_NETWORK_STATE)
- override fun isDeviceRoaming(): Boolean {
- return delegate.isDeviceRoaming()
- }
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/networkconnectionstatus/delegates/LegacyNetworkConnectionStatusApi.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/networkconnectionstatus/delegates/LegacyNetworkConnectionStatusApi.kt
deleted file mode 100644
index dc86a471..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/networkconnectionstatus/delegates/LegacyNetworkConnectionStatusApi.kt
+++ /dev/null
@@ -1,199 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.networkconnectionstatus.delegates
-
-import android.Manifest.permission.ACCESS_NETWORK_STATE
-import android.net.ConnectivityManager
-import android.net.LinkProperties
-import android.net.Network
-import android.net.NetworkCapabilities
-import android.net.NetworkRequest
-import android.net.wifi.WifiManager
-import android.os.Build
-import androidx.annotation.RequiresPermission
-import com.isupatches.android.wisefy.constants.QUOTE
-import com.isupatches.android.wisefy.logging.WisefyLogger
-import com.isupatches.android.wisefy.networkconnectionstatus.entities.IsNetworkConnectedToSSIDRequest
-import com.isupatches.android.wisefy.networkconnectionstatus.entities.NetworkConnectionStatus
-import com.isupatches.android.wisefy.util.SdkUtil
-import com.isupatches.android.wisefy.util.getNetwork
-
-internal interface LegacyNetworkConnectionStatusApi {
- @RequiresPermission(ACCESS_NETWORK_STATE)
- fun attachNetworkWatcher()
- fun detachNetworkWatcher()
-
- @RequiresPermission(ACCESS_NETWORK_STATE)
- fun isDeviceConnectedToMobileNetwork(): Boolean
-
- fun isDeviceConnectedToMobileOrWifiNetwork(): Boolean
-
- fun isDeviceConnectedToSSID(request: IsNetworkConnectedToSSIDRequest): Boolean
-
- @RequiresPermission(ACCESS_NETWORK_STATE)
- fun isDeviceConnectedToWifiNetwork(): Boolean
-
- @RequiresPermission(ACCESS_NETWORK_STATE)
- fun isDeviceRoaming(): Boolean
-}
-
-private const val LOG_TAG = "LegacyNetworkConnectionApiImpl"
-
-internal class LegacyNetworkConnectionStatusApiImpl(
- private val wifiManager: WifiManager,
- private val connectivityManager: ConnectivityManager,
- private val sdkUtil: SdkUtil,
- private val logger: WisefyLogger?
-) : LegacyNetworkConnectionStatusApi, ConnectivityManager.NetworkCallback() {
-
- @RequiresPermission(ACCESS_NETWORK_STATE)
- override fun isDeviceConnectedToMobileNetwork(): Boolean {
- return doesNetworkHaveTransportTypeAndInternetCapability(
- transportType = NetworkCapabilities.TRANSPORT_CELLULAR
- ) && isNetworkConnected()
- }
-
- override fun isDeviceConnectedToMobileOrWifiNetwork(): Boolean {
- return isNetworkConnected()
- }
-
- override fun isDeviceConnectedToSSID(request: IsNetworkConnectedToSSIDRequest): Boolean {
- val connectionInfo = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
- connectivityManager.getNetwork()
- } else {
- @Suppress("Deprecation")
- wifiManager.connectionInfo
- }
- connectionInfo?.let {
- if (!it.ssid.isNullOrEmpty()) {
- val currentValue = when (request) {
- is IsNetworkConnectedToSSIDRequest.SSID -> it.ssid.replace(QUOTE, "")
- is IsNetworkConnectedToSSIDRequest.BSSID -> it.bssid.replace(QUOTE, "")
- }
- val expectedValue = when (request) {
- is IsNetworkConnectedToSSIDRequest.SSID -> request.value
- is IsNetworkConnectedToSSIDRequest.BSSID -> request.value
- }
- logger?.d(LOG_TAG, "Current value: %s, Desired value: %s", currentValue, expectedValue)
- if (currentValue.equals(expectedValue, ignoreCase = true) && isNetworkConnected()) {
- logger?.d(LOG_TAG, "Network is connected")
- return true
- }
- }
- }
- return false
- }
-
- @RequiresPermission(ACCESS_NETWORK_STATE)
- override fun isDeviceConnectedToWifiNetwork(): Boolean {
- return doesNetworkHaveTransportTypeAndInternetCapability(
- transportType = NetworkCapabilities.TRANSPORT_WIFI
- ) && isNetworkConnected()
- }
-
- @RequiresPermission(ACCESS_NETWORK_STATE)
- override fun isDeviceRoaming(): Boolean {
- return if (sdkUtil.isAtLeastP()) {
- // NET_CAPABILITY_NOT_ROAMING only available for P and above devices :'(
- !doesNetworkHaveCapability(capability = NetworkCapabilities.NET_CAPABILITY_NOT_ROAMING)
- } else {
- @Suppress("Deprecation")
- val networkInfo = connectivityManager.activeNetworkInfo
- @Suppress("Deprecation")
- networkInfo != null && networkInfo.isRoaming
- }
- }
-
- @RequiresPermission(ACCESS_NETWORK_STATE)
- private fun doesNetworkHaveCapability(capability: Int): Boolean {
- return getActiveNetworkCapabilities()?.hasCapability(capability) ?: false
- }
-
- @RequiresPermission(ACCESS_NETWORK_STATE)
- private fun doesNetworkHaveTransportTypeAndInternetCapability(transportType: Int): Boolean {
- return getActiveNetworkCapabilities()?.let {
- it.hasTransport(transportType) && it.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
- } ?: false
- }
-
- @RequiresPermission(ACCESS_NETWORK_STATE)
- private fun getActiveNetworkCapabilities(): NetworkCapabilities? {
- return connectivityManager.getNetworkCapabilities(connectivityManager.activeNetwork)
- }
-
- private fun isNetworkConnected(): Boolean {
- return connectionStatus == NetworkConnectionStatus.AVAILABLE
- }
-
- private var connectionStatus: NetworkConnectionStatus? = null
-
- override fun onAvailable(network: Network) {
- super.onAvailable(network)
- logger?.d(LOG_TAG, "onAvailable, $network")
- this.connectionStatus = NetworkConnectionStatus.AVAILABLE
- }
-
- override fun onCapabilitiesChanged(network: Network, networkCapabilities: NetworkCapabilities) {
- super.onCapabilitiesChanged(network, networkCapabilities)
- logger?.d(
- LOG_TAG,
- "onCapabilitiesChanged, network: $network, networkCapabilities: $networkCapabilities"
- )
- }
-
- override fun onLinkPropertiesChanged(network: Network, linkProperties: LinkProperties) {
- super.onLinkPropertiesChanged(network, linkProperties)
- logger?.d(LOG_TAG, "onLinkPropertiesChanged, network: $network, linkProperties: $linkProperties")
- }
-
- override fun onLosing(network: Network, maxMsToLive: Int) {
- super.onLosing(network, maxMsToLive)
- logger?.d(LOG_TAG, "onLosing, network: $network, maxMsToLive: $maxMsToLive")
- this.connectionStatus = NetworkConnectionStatus.LOSING
- }
-
- override fun onLost(network: Network) {
- super.onLost(network)
- logger?.d(LOG_TAG, "onLost, network: $network")
- this.connectionStatus = NetworkConnectionStatus.LOST
- }
-
- override fun onUnavailable() {
- super.onUnavailable()
- logger?.d(LOG_TAG, "onUnavailable")
- this.connectionStatus = NetworkConnectionStatus.UNAVAILABLE
- }
-
- @RequiresPermission(ACCESS_NETWORK_STATE)
- override fun attachNetworkWatcher() {
- startListeningForNetworkChanges(connectivityManager)
- }
-
- override fun detachNetworkWatcher() {
- stopListeningForNetworkChanges(connectivityManager)
- }
-
- @RequiresPermission(ACCESS_NETWORK_STATE)
- private fun startListeningForNetworkChanges(connectivityManager: ConnectivityManager) {
- val request = NetworkRequest.Builder().build()
- connectivityManager.registerNetworkCallback(request, this)
- }
-
- private fun stopListeningForNetworkChanges(connectivityManager: ConnectivityManager) {
- connectivityManager.unregisterNetworkCallback(this)
- connectionStatus = null
- }
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/networkconnectionstatus/delegates/LegacyNetworkConnectionStatusDelegate.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/networkconnectionstatus/delegates/LegacyNetworkConnectionStatusDelegate.kt
deleted file mode 100644
index 2c5c0f92..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/networkconnectionstatus/delegates/LegacyNetworkConnectionStatusDelegate.kt
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.networkconnectionstatus.delegates
-
-import android.Manifest.permission.ACCESS_NETWORK_STATE
-import android.net.ConnectivityManager
-import android.net.wifi.WifiManager
-import androidx.annotation.RequiresPermission
-import com.isupatches.android.wisefy.logging.WisefyLogger
-import com.isupatches.android.wisefy.networkconnectionstatus.NetworkConnectionStatusApi
-import com.isupatches.android.wisefy.networkconnectionstatus.entities.IsNetworkConnectedToSSIDRequest
-import com.isupatches.android.wisefy.util.SdkUtil
-
-internal class LegacyNetworkConnectionStatusDelegate(
- connectivityManager: ConnectivityManager,
- wifiManager: WifiManager,
- sdkUtil: SdkUtil,
- logger: WisefyLogger?,
- private val impl: LegacyNetworkConnectionStatusApi = LegacyNetworkConnectionStatusApiImpl(
- wifiManager,
- connectivityManager,
- sdkUtil,
- logger
- )
-) : NetworkConnectionStatusApi {
-
- @RequiresPermission(ACCESS_NETWORK_STATE)
- override fun attachNetworkWatcher() {
- impl.attachNetworkWatcher()
- }
-
- override fun detachNetworkWatcher() {
- impl.detachNetworkWatcher()
- }
-
- @RequiresPermission(ACCESS_NETWORK_STATE)
- override fun isDeviceConnectedToMobileNetwork(): Boolean {
- return impl.isDeviceConnectedToMobileNetwork()
- }
-
- override fun isDeviceConnectedToMobileOrWifiNetwork(): Boolean {
- return impl.isDeviceConnectedToMobileOrWifiNetwork()
- }
-
- override fun isDeviceConnectedToSSID(request: IsNetworkConnectedToSSIDRequest): Boolean {
- return impl.isDeviceConnectedToSSID(request)
- }
-
- @RequiresPermission(ACCESS_NETWORK_STATE)
- override fun isDeviceConnectedToWifiNetwork(): Boolean {
- return impl.isDeviceConnectedToWifiNetwork()
- }
-
- @RequiresPermission(ACCESS_NETWORK_STATE)
- override fun isDeviceRoaming(): Boolean {
- return impl.isDeviceRoaming()
- }
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/networkconnectionstatus/entities/IsNetworkConnectedToSSIDRequest.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/networkconnectionstatus/entities/IsNetworkConnectedToSSIDRequest.kt
deleted file mode 100644
index 2ac7c033..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/networkconnectionstatus/entities/IsNetworkConnectedToSSIDRequest.kt
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.networkconnectionstatus.entities
-
-sealed class IsNetworkConnectedToSSIDRequest {
- data class SSID(val value: String) : IsNetworkConnectedToSSIDRequest()
- data class BSSID(val value: String) : IsNetworkConnectedToSSIDRequest()
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/networkconnectionstatus/entities/NetworkConnectionStatus.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/networkconnectionstatus/entities/NetworkConnectionStatus.kt
deleted file mode 100644
index fd2bb8d1..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/networkconnectionstatus/entities/NetworkConnectionStatus.kt
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.networkconnectionstatus.entities
-
-internal enum class NetworkConnectionStatus {
- AVAILABLE,
- LOSING,
- LOST,
- UNAVAILABLE
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/networkinfo/NetworkInfoApi.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/networkinfo/NetworkInfoApi.kt
deleted file mode 100644
index a248a727..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/networkinfo/NetworkInfoApi.kt
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.networkinfo
-
-import android.Manifest.permission.ACCESS_NETWORK_STATE
-import androidx.annotation.RequiresPermission
-import com.isupatches.android.wisefy.callbacks.GetCurrentNetworkCallbacks
-import com.isupatches.android.wisefy.callbacks.GetCurrentNetworkInfoCallbacks
-import com.isupatches.android.wisefy.callbacks.GetIPCallbacks
-import com.isupatches.android.wisefy.networkinfo.entities.CurrentNetworkData
-import com.isupatches.android.wisefy.networkinfo.entities.CurrentNetworkInfoData
-import com.isupatches.android.wisefy.networkinfo.entities.GetCurrentNetworkInfoRequest
-import com.isupatches.android.wisefy.networkinfo.entities.IPData
-
-interface NetworkInfoApi {
-
- fun getCurrentNetwork(): CurrentNetworkData?
-
- @RequiresPermission(ACCESS_NETWORK_STATE)
- fun getCurrentNetworkInfo(
- request: GetCurrentNetworkInfoRequest = GetCurrentNetworkInfoRequest()
- ): CurrentNetworkInfoData?
-
- @RequiresPermission(ACCESS_NETWORK_STATE)
- fun getIP(): IPData?
-}
-
-interface NetworkInfoApiAsync {
-
- fun getCurrentNetwork(callbacks: GetCurrentNetworkCallbacks?)
-
- @RequiresPermission(ACCESS_NETWORK_STATE)
- fun getCurrentNetworkInfo(
- callbacks: GetCurrentNetworkInfoCallbacks?,
- request: GetCurrentNetworkInfoRequest = GetCurrentNetworkInfoRequest()
- )
-
- @RequiresPermission(ACCESS_NETWORK_STATE)
- fun getIP(callbacks: GetIPCallbacks?)
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/networkinfo/WisefyNetworkInfoUtil.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/networkinfo/WisefyNetworkInfoUtil.kt
deleted file mode 100644
index a888ceb1..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/networkinfo/WisefyNetworkInfoUtil.kt
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.networkinfo
-
-import android.Manifest.permission.ACCESS_NETWORK_STATE
-import android.net.ConnectivityManager
-import android.net.wifi.WifiManager
-import androidx.annotation.RequiresPermission
-import com.isupatches.android.wisefy.callbacks.GetCurrentNetworkCallbacks
-import com.isupatches.android.wisefy.callbacks.GetCurrentNetworkInfoCallbacks
-import com.isupatches.android.wisefy.callbacks.GetIPCallbacks
-import com.isupatches.android.wisefy.logging.WisefyLogger
-import com.isupatches.android.wisefy.networkinfo.delegates.LegacyNetworkInfoDelegate
-import com.isupatches.android.wisefy.networkinfo.entities.CurrentNetworkData
-import com.isupatches.android.wisefy.networkinfo.entities.CurrentNetworkInfoData
-import com.isupatches.android.wisefy.networkinfo.entities.GetCurrentNetworkInfoRequest
-import com.isupatches.android.wisefy.networkinfo.entities.IPData
-import com.isupatches.android.wisefy.util.coroutines.CoroutineDispatcherProvider
-import com.isupatches.android.wisefy.util.coroutines.createBaseCoroutineExceptionHandler
-import kotlinx.coroutines.CoroutineScope
-import kotlinx.coroutines.Job
-import kotlinx.coroutines.launch
-import kotlinx.coroutines.withContext
-
-internal interface NetworkInfoUtil : NetworkInfoApi, NetworkInfoApiAsync
-
-private const val LOG_TAG = "WisefyNetworkInfoUtil"
-
-internal class WisefyNetworkInfoUtil(
- private val coroutineDispatcherProvider: CoroutineDispatcherProvider,
- connectivityManager: ConnectivityManager,
- logger: WisefyLogger?,
- wifiManager: WifiManager
-) : NetworkInfoUtil {
-
- private val delegate = LegacyNetworkInfoDelegate(wifiManager, connectivityManager, logger)
- private val networkInfoScope = CoroutineScope(Job() + coroutineDispatcherProvider.io)
-
- init {
- logger?.d(LOG_TAG, "WisefyNetworkInfoUtil delegate is: ${delegate::class.java.simpleName}")
- }
-
- override fun getCurrentNetwork(): CurrentNetworkData? {
- return delegate.getCurrentNetwork()
- }
-
- override fun getCurrentNetwork(callbacks: GetCurrentNetworkCallbacks?) {
- networkInfoScope.launch(createBaseCoroutineExceptionHandler(callbacks)) {
- val currentNetwork = delegate.getCurrentNetwork()
- withContext(coroutineDispatcherProvider.main) {
- if (currentNetwork != null) {
- callbacks?.onCurrentNetworkRetrieved(currentNetwork)
- } else {
- callbacks?.onNoCurrentNetwork()
- }
- }
- }
- }
-
- @RequiresPermission(ACCESS_NETWORK_STATE)
- override fun getCurrentNetworkInfo(request: GetCurrentNetworkInfoRequest): CurrentNetworkInfoData? {
- return delegate.getCurrentNetworkInfo(request)
- }
-
- @RequiresPermission(ACCESS_NETWORK_STATE)
- override fun getCurrentNetworkInfo(
- callbacks: GetCurrentNetworkInfoCallbacks?,
- request: GetCurrentNetworkInfoRequest
- ) {
- networkInfoScope.launch(createBaseCoroutineExceptionHandler(callbacks)) {
- val currentNetworkInfo = delegate.getCurrentNetworkInfo(request)
- withContext(coroutineDispatcherProvider.main) {
- if (currentNetworkInfo != null) {
- callbacks?.onCurrentNetworkInfoRetrieved(currentNetworkInfo)
- } else {
- callbacks?.onNoCurrentNetworkInfo()
- }
- }
- }
- }
-
- @RequiresPermission(ACCESS_NETWORK_STATE)
- override fun getIP(): IPData? {
- return delegate.getIP()
- }
-
- @RequiresPermission(ACCESS_NETWORK_STATE)
- override fun getIP(callbacks: GetIPCallbacks?) {
- networkInfoScope.launch(createBaseCoroutineExceptionHandler(callbacks)) {
- val ip = delegate.getIP()
- withContext(coroutineDispatcherProvider.main) {
- if (ip != null) {
- callbacks?.onIPRetrieved(ip)
- } else {
- callbacks?.onFailureRetrievingIP()
- }
- }
- }
- }
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/networkinfo/delegates/LegacyNetworkInfoApi.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/networkinfo/delegates/LegacyNetworkInfoApi.kt
deleted file mode 100644
index 1ad4fdf3..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/networkinfo/delegates/LegacyNetworkInfoApi.kt
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.networkinfo.delegates
-
-import android.Manifest.permission.ACCESS_NETWORK_STATE
-import android.net.ConnectivityManager
-import android.net.wifi.WifiManager
-import android.os.Build
-import androidx.annotation.RequiresPermission
-import com.isupatches.android.wisefy.logging.WisefyLogger
-import com.isupatches.android.wisefy.networkinfo.entities.CurrentNetworkData
-import com.isupatches.android.wisefy.networkinfo.entities.CurrentNetworkInfoData
-import com.isupatches.android.wisefy.networkinfo.entities.GetCurrentNetworkInfoRequest
-import com.isupatches.android.wisefy.networkinfo.entities.IPData
-import com.isupatches.android.wisefy.util.getNetwork
-import java.math.BigInteger
-import java.net.InetAddress
-import java.net.UnknownHostException
-
-internal interface LegacyNetworkInfoApi {
- fun getCurrentNetwork(): CurrentNetworkData?
-
- fun getCurrentNetworkInfo(request: GetCurrentNetworkInfoRequest): CurrentNetworkInfoData?
-
- fun getIP(): IPData?
-}
-
-private const val LOG_TAG = "LegacyNetworkInfoApiImpl"
-
-internal class LegacyNetworkInfoApiImpl(
- private val wifiManager: WifiManager,
- private val connectivityManager: ConnectivityManager,
- private val logger: WisefyLogger?
-) : LegacyNetworkInfoApi {
-
- override fun getCurrentNetwork(): CurrentNetworkData? {
- val currentNetwork = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
- connectivityManager.getNetwork()
- } else {
- @Suppress("Deprecation")
- wifiManager.connectionInfo
- }
- return if (currentNetwork != null) {
- CurrentNetworkData(currentNetwork)
- } else {
- null
- }
- }
-
- @RequiresPermission(ACCESS_NETWORK_STATE)
- override fun getCurrentNetworkInfo(request: GetCurrentNetworkInfoRequest): CurrentNetworkInfoData? {
- val networkForInfo = request.network ?: connectivityManager.activeNetwork
- return if (networkForInfo != null) {
- CurrentNetworkInfoData(
- capabilities = connectivityManager.getNetworkCapabilities(networkForInfo),
- linkProperties = connectivityManager.getLinkProperties(networkForInfo)
- )
- } else {
- null
- }
- }
-
- override fun getIP(): IPData? {
- val inetAddress = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
- connectivityManager.getLinkProperties(connectivityManager.activeNetwork)?.dhcpServerAddress
- } else {
- @Suppress("Deprecation")
- InetAddress.getByAddress(
- BigInteger.valueOf(wifiManager.connectionInfo.ipAddress.toLong()).toByteArray()
- )
- }
- return try {
- IPData(inetAddress?.hostAddress)
- } catch (uhe: UnknownHostException) {
- logger?.e(LOG_TAG, uhe, "UnknownHostException while gathering IP (sync)")
- null
- }
- }
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/networkinfo/delegates/LegacyNetworkInfoDelegate.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/networkinfo/delegates/LegacyNetworkInfoDelegate.kt
deleted file mode 100644
index bcf7e078..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/networkinfo/delegates/LegacyNetworkInfoDelegate.kt
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.networkinfo.delegates
-
-import android.Manifest.permission.ACCESS_NETWORK_STATE
-import android.net.ConnectivityManager
-import android.net.wifi.WifiManager
-import androidx.annotation.RequiresPermission
-import com.isupatches.android.wisefy.logging.WisefyLogger
-import com.isupatches.android.wisefy.networkinfo.NetworkInfoApi
-import com.isupatches.android.wisefy.networkinfo.entities.CurrentNetworkData
-import com.isupatches.android.wisefy.networkinfo.entities.CurrentNetworkInfoData
-import com.isupatches.android.wisefy.networkinfo.entities.GetCurrentNetworkInfoRequest
-import com.isupatches.android.wisefy.networkinfo.entities.IPData
-
-internal class LegacyNetworkInfoDelegate(
- wifiManager: WifiManager,
- connectivityManager: ConnectivityManager,
- logger: WisefyLogger?,
- private val impl: LegacyNetworkInfoApi = LegacyNetworkInfoApiImpl(
- wifiManager,
- connectivityManager,
- logger
- )
-) : NetworkInfoApi {
-
- override fun getCurrentNetwork(): CurrentNetworkData? {
- return impl.getCurrentNetwork()
- }
-
- @RequiresPermission(ACCESS_NETWORK_STATE)
- override fun getCurrentNetworkInfo(request: GetCurrentNetworkInfoRequest): CurrentNetworkInfoData? {
- return impl.getCurrentNetworkInfo(request)
- }
-
- override fun getIP(): IPData? {
- return impl.getIP()
- }
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/networkinfo/entities/CurrentNetworkData.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/networkinfo/entities/CurrentNetworkData.kt
deleted file mode 100644
index b0dd4b31..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/networkinfo/entities/CurrentNetworkData.kt
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.networkinfo.entities
-
-import android.net.wifi.WifiInfo
-
-data class CurrentNetworkData(
- val value: WifiInfo
-)
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/networkinfo/entities/CurrentNetworkInfoData.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/networkinfo/entities/CurrentNetworkInfoData.kt
deleted file mode 100644
index 07773c71..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/networkinfo/entities/CurrentNetworkInfoData.kt
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.networkinfo.entities
-
-import android.net.LinkProperties
-import android.net.NetworkCapabilities
-
-data class CurrentNetworkInfoData(
- val capabilities: NetworkCapabilities?,
- val linkProperties: LinkProperties?
-)
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/networkinfo/entities/GetCurrentNetworkInfoRequest.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/networkinfo/entities/GetCurrentNetworkInfoRequest.kt
deleted file mode 100644
index dcf81543..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/networkinfo/entities/GetCurrentNetworkInfoRequest.kt
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.networkinfo.entities
-
-import android.net.Network
-
-data class GetCurrentNetworkInfoRequest(
- val network: Network? = null
-)
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/networkinfo/entities/IPData.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/networkinfo/entities/IPData.kt
deleted file mode 100644
index b998ab0f..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/networkinfo/entities/IPData.kt
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.networkinfo.entities
-
-data class IPData(
- val ip: String?
-)
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/removenetwork/RemoveNetworkApi.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/removenetwork/RemoveNetworkApi.kt
deleted file mode 100644
index c3d7a3fb..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/removenetwork/RemoveNetworkApi.kt
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.removenetwork
-
-import android.Manifest.permission.ACCESS_FINE_LOCATION
-import android.Manifest.permission.CHANGE_WIFI_STATE
-import androidx.annotation.RequiresPermission
-import com.isupatches.android.wisefy.callbacks.RemoveNetworkCallbacks
-import com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkRequest
-import com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkResult
-
-interface RemoveNetworkApi {
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- fun removeNetwork(request: RemoveNetworkRequest): RemoveNetworkResult
-}
-
-interface RemoveNetworkApiAsync {
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- fun removeNetwork(request: RemoveNetworkRequest, callbacks: RemoveNetworkCallbacks?)
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/removenetwork/WisefyRemoveNetworkUtil.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/removenetwork/WisefyRemoveNetworkUtil.kt
deleted file mode 100644
index ad09f780..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/removenetwork/WisefyRemoveNetworkUtil.kt
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.removenetwork
-
-import android.Manifest.permission.ACCESS_FINE_LOCATION
-import android.Manifest.permission.CHANGE_WIFI_STATE
-import android.net.wifi.WifiManager
-import androidx.annotation.RequiresPermission
-import com.isupatches.android.wisefy.callbacks.RemoveNetworkCallbacks
-import com.isupatches.android.wisefy.logging.WisefyLogger
-import com.isupatches.android.wisefy.removenetwork.delegates.Android29RemoveNetworkDelegate
-import com.isupatches.android.wisefy.removenetwork.delegates.LegacyRemoveNetworkDelegate
-import com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkRequest
-import com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkResult
-import com.isupatches.android.wisefy.savednetworks.SavedNetworkUtil
-import com.isupatches.android.wisefy.util.SdkUtil
-import com.isupatches.android.wisefy.util.coroutines.CoroutineDispatcherProvider
-import com.isupatches.android.wisefy.util.coroutines.createBaseCoroutineExceptionHandler
-import kotlinx.coroutines.CoroutineScope
-import kotlinx.coroutines.Job
-import kotlinx.coroutines.launch
-import kotlinx.coroutines.withContext
-
-internal interface RemoveNetworkUtil : RemoveNetworkApi, RemoveNetworkApiAsync
-
-private const val LOG_TAG = "WisefyRemoveNetworkUtil"
-
-internal class WisefyRemoveNetworkUtil(
- private val coroutineDispatcherProvider: CoroutineDispatcherProvider,
- logger: WisefyLogger?,
- savedNetworkUtil: SavedNetworkUtil,
- sdkUtil: SdkUtil,
- wifiManager: WifiManager
-) : RemoveNetworkUtil {
-
- private val delegate: RemoveNetworkApi = when {
- sdkUtil.isAtLeastQ() -> Android29RemoveNetworkDelegate(wifiManager)
- else -> LegacyRemoveNetworkDelegate(wifiManager, savedNetworkUtil)
- }
- private val removeNetworkScope = CoroutineScope(Job() + coroutineDispatcherProvider.io)
-
- init {
- logger?.d(LOG_TAG, "WisefyRemoveNetworkUtil delegate is: ${delegate::class.java.simpleName}")
- }
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- override fun removeNetwork(request: RemoveNetworkRequest): RemoveNetworkResult {
- return delegate.removeNetwork(request)
- }
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- override fun removeNetwork(request: RemoveNetworkRequest, callbacks: RemoveNetworkCallbacks?) {
- removeNetworkScope.launch(createBaseCoroutineExceptionHandler(callbacks)) {
- val result = delegate.removeNetwork(request)
- withContext(coroutineDispatcherProvider.main) {
- when (result) {
- is RemoveNetworkResult.ResultCode -> {
- if (result.value != -1) {
- callbacks?.onNetworkRemoved(result)
- } else {
- callbacks?.onFailureRemovingNetwork(result)
- }
- }
- is RemoveNetworkResult.Succeeded -> {
- if (result.value) {
- callbacks?.onNetworkRemoved(result)
- } else {
- callbacks?.onFailureRemovingNetwork(result)
- }
- }
- is RemoveNetworkResult.NetworkNotFound -> {
- callbacks?.onNetworkNotFoundToRemove()
- }
- }
- }
- }
- }
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/removenetwork/delegates/Android29RemoveNetworkApi.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/removenetwork/delegates/Android29RemoveNetworkApi.kt
deleted file mode 100644
index a4df9cde..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/removenetwork/delegates/Android29RemoveNetworkApi.kt
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.removenetwork.delegates
-
-import android.Manifest.permission.ACCESS_FINE_LOCATION
-import android.Manifest.permission.CHANGE_WIFI_STATE
-import android.net.wifi.WifiManager
-import android.os.Build
-import androidx.annotation.RequiresApi
-import androidx.annotation.RequiresPermission
-import com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkRequest
-import com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkResult
-import com.isupatches.android.wisefy.util.createOpenNetworkSuggestionWithBSSID
-import com.isupatches.android.wisefy.util.createOpenNetworkSuggestionWithSSID
-
-internal interface Android29RemoveNetworkApi {
-
- @RequiresApi(Build.VERSION_CODES.Q)
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- fun removeNetwork(request: RemoveNetworkRequest): RemoveNetworkResult
-}
-
-internal class Android29RemoveNetworkApiImpl(
- private val wifiManager: WifiManager
-) : Android29RemoveNetworkApi {
-
- @RequiresApi(Build.VERSION_CODES.Q)
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- override fun removeNetwork(request: RemoveNetworkRequest): RemoveNetworkResult {
- val suggestion = when (request) {
- is RemoveNetworkRequest.SSID -> createOpenNetworkSuggestionWithSSID(request.value)
- is RemoveNetworkRequest.BSSID -> createOpenNetworkSuggestionWithBSSID(request.value)
- }
- val resultCode = wifiManager.removeNetworkSuggestions(listOf(suggestion))
- return RemoveNetworkResult.ResultCode(value = resultCode)
- }
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/removenetwork/delegates/Android29RemoveNetworkDelegate.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/removenetwork/delegates/Android29RemoveNetworkDelegate.kt
deleted file mode 100644
index 63b7bf48..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/removenetwork/delegates/Android29RemoveNetworkDelegate.kt
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.removenetwork.delegates
-
-import android.Manifest.permission.ACCESS_FINE_LOCATION
-import android.Manifest.permission.CHANGE_WIFI_STATE
-import android.net.wifi.WifiManager
-import android.os.Build
-import androidx.annotation.RequiresApi
-import androidx.annotation.RequiresPermission
-import com.isupatches.android.wisefy.removenetwork.RemoveNetworkApi
-import com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkRequest
-import com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkResult
-
-internal class Android29RemoveNetworkDelegate(
- private val wifiManager: WifiManager,
- private val impl: Android29RemoveNetworkApi = Android29RemoveNetworkApiImpl(wifiManager)
-) : RemoveNetworkApi {
-
- @RequiresApi(Build.VERSION_CODES.Q)
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, CHANGE_WIFI_STATE])
- override fun removeNetwork(request: RemoveNetworkRequest): RemoveNetworkResult {
- return impl.removeNetwork(request)
- }
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/removenetwork/delegates/LegacyRemoveNetworkApi.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/removenetwork/delegates/LegacyRemoveNetworkApi.kt
deleted file mode 100644
index 9e3d1a51..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/removenetwork/delegates/LegacyRemoveNetworkApi.kt
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.removenetwork.delegates
-
-import android.Manifest.permission.ACCESS_FINE_LOCATION
-import android.Manifest.permission.ACCESS_WIFI_STATE
-import android.net.wifi.WifiManager
-import androidx.annotation.RequiresPermission
-import com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkRequest
-import com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkResult
-import com.isupatches.android.wisefy.removenetwork.entities.toSearchForNetworkRequest
-import com.isupatches.android.wisefy.savednetworks.SavedNetworkUtil
-import com.isupatches.android.wisefy.savednetworks.entities.SavedNetworkData
-
-internal interface LegacyRemoveNetworkApi {
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
- fun removeNetwork(removeNetworkRequest: RemoveNetworkRequest): RemoveNetworkResult
-}
-
-internal class LegacyRemoveNetworkApiImpl(
- private val wifiManager: WifiManager,
- private val savedNetworkUtil: SavedNetworkUtil
-) : LegacyRemoveNetworkApi {
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
- override fun removeNetwork(removeNetworkRequest: RemoveNetworkRequest): RemoveNetworkResult {
- return when (
- val savedNetwork = savedNetworkUtil.searchForSavedNetwork(removeNetworkRequest.toSearchForNetworkRequest())
- ) {
- null -> RemoveNetworkResult.NetworkNotFound
- is SavedNetworkData.Configuration -> {
- savedNetwork.value.let {
- val result = wifiManager.removeNetwork(it.networkId)
- return RemoveNetworkResult.Succeeded(value = result)
- }
- }
- else -> RemoveNetworkResult.Succeeded(false)
- }
- }
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/removenetwork/delegates/LegacyRemoveNetworkDelegate.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/removenetwork/delegates/LegacyRemoveNetworkDelegate.kt
deleted file mode 100644
index acea53b7..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/removenetwork/delegates/LegacyRemoveNetworkDelegate.kt
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.removenetwork.delegates
-
-import android.Manifest.permission.ACCESS_FINE_LOCATION
-import android.Manifest.permission.ACCESS_WIFI_STATE
-import android.net.wifi.WifiManager
-import androidx.annotation.RequiresPermission
-import com.isupatches.android.wisefy.removenetwork.RemoveNetworkApi
-import com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkRequest
-import com.isupatches.android.wisefy.removenetwork.entities.RemoveNetworkResult
-import com.isupatches.android.wisefy.savednetworks.SavedNetworkUtil
-
-internal class LegacyRemoveNetworkDelegate(
- private val wifiManager: WifiManager,
- private val savedNetworkUtil: SavedNetworkUtil,
- private val impl: LegacyRemoveNetworkApi = LegacyRemoveNetworkApiImpl(
- wifiManager,
- savedNetworkUtil
- )
-) : RemoveNetworkApi {
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
- override fun removeNetwork(request: RemoveNetworkRequest): RemoveNetworkResult {
- return impl.removeNetwork(request)
- }
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/removenetwork/entities/RemoveNetworkRequest.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/removenetwork/entities/RemoveNetworkRequest.kt
deleted file mode 100644
index 3040aed5..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/removenetwork/entities/RemoveNetworkRequest.kt
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.removenetwork.entities
-
-import com.isupatches.android.wisefy.savednetworks.entities.SearchForSavedNetworkRequest
-
-sealed class RemoveNetworkRequest {
- data class SSID(
- val value: String
- ) : RemoveNetworkRequest()
-
- data class BSSID(
- val value: String
- ) : RemoveNetworkRequest()
-}
-
-internal fun RemoveNetworkRequest.toSearchForNetworkRequest(): SearchForSavedNetworkRequest {
- return when (this) {
- is RemoveNetworkRequest.SSID -> SearchForSavedNetworkRequest.SSID(value)
- is RemoveNetworkRequest.BSSID -> SearchForSavedNetworkRequest.BSSID(value)
- }
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/removenetwork/entities/RemoveNetworkResult.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/removenetwork/entities/RemoveNetworkResult.kt
deleted file mode 100644
index 5dff0a66..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/removenetwork/entities/RemoveNetworkResult.kt
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.removenetwork.entities
-
-sealed class RemoveNetworkResult {
- data class ResultCode(
- val value: Int
- ) : RemoveNetworkResult()
-
- data class Succeeded(
- val value: Boolean
- ) : RemoveNetworkResult()
-
- object NetworkNotFound : RemoveNetworkResult()
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/savednetworks/SavedNetworkApi.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/savednetworks/SavedNetworkApi.kt
deleted file mode 100644
index 8bc68963..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/savednetworks/SavedNetworkApi.kt
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.savednetworks
-
-import android.Manifest.permission.ACCESS_FINE_LOCATION
-import android.Manifest.permission.ACCESS_WIFI_STATE
-import androidx.annotation.RequiresPermission
-import com.isupatches.android.wisefy.callbacks.GetSavedNetworksCallbacks
-import com.isupatches.android.wisefy.callbacks.SearchForSavedNetworkCallbacks
-import com.isupatches.android.wisefy.callbacks.SearchForSavedNetworksCallbacks
-import com.isupatches.android.wisefy.savednetworks.entities.SavedNetworkData
-import com.isupatches.android.wisefy.savednetworks.entities.SearchForSavedNetworkRequest
-
-interface SavedNetworkApi {
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
- fun getSavedNetworks(): List
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
- fun isNetworkSaved(request: SearchForSavedNetworkRequest): Boolean
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
- fun searchForSavedNetwork(request: SearchForSavedNetworkRequest): SavedNetworkData?
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
- fun searchForSavedNetworks(request: SearchForSavedNetworkRequest): List
-}
-
-interface SavedNetworkApiAsync {
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
- fun getSavedNetworks(callbacks: GetSavedNetworksCallbacks?)
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
- fun searchForSavedNetwork(request: SearchForSavedNetworkRequest, callbacks: SearchForSavedNetworkCallbacks?)
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
- fun searchForSavedNetworks(request: SearchForSavedNetworkRequest, callbacks: SearchForSavedNetworksCallbacks?)
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/savednetworks/WisefySavedNetworkUtil.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/savednetworks/WisefySavedNetworkUtil.kt
deleted file mode 100644
index 041b312b..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/savednetworks/WisefySavedNetworkUtil.kt
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.savednetworks
-
-import android.Manifest.permission.ACCESS_FINE_LOCATION
-import android.Manifest.permission.ACCESS_WIFI_STATE
-import android.net.wifi.WifiManager
-import androidx.annotation.RequiresPermission
-import com.isupatches.android.wisefy.callbacks.GetSavedNetworksCallbacks
-import com.isupatches.android.wisefy.callbacks.SearchForSavedNetworkCallbacks
-import com.isupatches.android.wisefy.callbacks.SearchForSavedNetworksCallbacks
-import com.isupatches.android.wisefy.logging.WisefyLogger
-import com.isupatches.android.wisefy.savednetworks.delegates.Android29SavedNetworkDelegate
-import com.isupatches.android.wisefy.savednetworks.delegates.Android30SavedNetworkDelegate
-import com.isupatches.android.wisefy.savednetworks.delegates.LegacySavedNetworkDelegate
-import com.isupatches.android.wisefy.savednetworks.entities.SavedNetworkData
-import com.isupatches.android.wisefy.savednetworks.entities.SearchForSavedNetworkRequest
-import com.isupatches.android.wisefy.util.SdkUtil
-import com.isupatches.android.wisefy.util.coroutines.CoroutineDispatcherProvider
-import com.isupatches.android.wisefy.util.coroutines.createBaseCoroutineExceptionHandler
-import kotlinx.coroutines.CoroutineScope
-import kotlinx.coroutines.Job
-import kotlinx.coroutines.launch
-import kotlinx.coroutines.withContext
-
-internal interface SavedNetworkUtil : SavedNetworkApi, SavedNetworkApiAsync
-
-private const val LOG_TAG = "WisefySavedNetworkUtil"
-
-internal class WisefySavedNetworkUtil(
- private val coroutineDispatcherProvider: CoroutineDispatcherProvider,
- logger: WisefyLogger?,
- sdkUtil: SdkUtil,
- wifiManager: WifiManager
-) : SavedNetworkUtil {
-
- private val delegate = when {
- sdkUtil.isAtLeastR() -> Android30SavedNetworkDelegate(wifiManager)
- sdkUtil.isAtLeastQ() -> Android29SavedNetworkDelegate()
- else -> LegacySavedNetworkDelegate(wifiManager)
- }
- private val savedNetworkScope = CoroutineScope(Job() + coroutineDispatcherProvider.io)
-
- init {
- logger?.d(LOG_TAG, "WisefySavedNetworkUtil delegate is: ${delegate::class.java.simpleName}")
- }
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
- override fun getSavedNetworks(): List {
- return delegate.getSavedNetworks()
- }
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
- override fun getSavedNetworks(callbacks: GetSavedNetworksCallbacks?) {
- savedNetworkScope.launch(createBaseCoroutineExceptionHandler(callbacks)) {
- val savedNetworks = delegate.getSavedNetworks()
- withContext(coroutineDispatcherProvider.main) {
- if (savedNetworks.isNotEmpty()) {
- callbacks?.onSavedNetworksRetrieved(savedNetworks)
- } else {
- callbacks?.onNoSavedNetworksFound()
- }
- }
- }
- }
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
- override fun isNetworkSaved(request: SearchForSavedNetworkRequest): Boolean {
- return delegate.isNetworkSaved(request)
- }
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
- override fun searchForSavedNetwork(request: SearchForSavedNetworkRequest): SavedNetworkData? {
- return delegate.searchForSavedNetwork(request)
- }
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
- override fun searchForSavedNetwork(
- request: SearchForSavedNetworkRequest,
- callbacks: SearchForSavedNetworkCallbacks?
- ) {
- savedNetworkScope.launch(createBaseCoroutineExceptionHandler(callbacks)) {
- val savedNetwork = delegate.searchForSavedNetwork(request)
- withContext(coroutineDispatcherProvider.main) {
- if (savedNetwork != null) {
- callbacks?.onSavedNetworkRetrieved(savedNetwork)
- } else {
- callbacks?.onSavedNetworkNotFound()
- }
- }
- }
- }
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
- override fun searchForSavedNetworks(request: SearchForSavedNetworkRequest): List {
- return delegate.searchForSavedNetworks(request)
- }
-
- @RequiresPermission(allOf = [ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE])
- override fun searchForSavedNetworks(
- request: SearchForSavedNetworkRequest,
- callbacks: SearchForSavedNetworksCallbacks?
- ) {
- savedNetworkScope.launch(createBaseCoroutineExceptionHandler(callbacks)) {
- val savedNetworks = delegate.searchForSavedNetworks(request)
- withContext(coroutineDispatcherProvider.main) {
- if (savedNetworks.isNotEmpty()) {
- callbacks?.onSavedNetworksRetrieved(savedNetworks)
- } else {
- callbacks?.onNoSavedNetworksFound()
- }
- }
- }
- }
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/savednetworks/delegates/Android29SavedNetworkApi.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/savednetworks/delegates/Android29SavedNetworkApi.kt
deleted file mode 100644
index 7f2def21..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/savednetworks/delegates/Android29SavedNetworkApi.kt
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.savednetworks.delegates
-
-import com.isupatches.android.wisefy.savednetworks.entities.SavedNetworkData
-import com.isupatches.android.wisefy.savednetworks.entities.SearchForSavedNetworkRequest
-import com.isupatches.android.wisefy.util.fail
-
-internal interface Android29SavedNetworkApi {
- fun getSavedNetworks(): List
-
- fun isNetworkSaved(request: SearchForSavedNetworkRequest): Boolean
-
- fun searchForSavedNetwork(request: SearchForSavedNetworkRequest): SavedNetworkData?
-
- fun searchForSavedNetworks(request: SearchForSavedNetworkRequest): List
-}
-
-private const val ANDROID_Q_SAVED_NETWORK_WARNING =
- "There is no known way to see saved networks with Android Q"
-
-internal class Android29SavedNetworkApiImpl : Android29SavedNetworkApi {
-
- override fun getSavedNetworks(): List {
- fail(ANDROID_Q_SAVED_NETWORK_WARNING)
- return emptyList()
- }
-
- override fun isNetworkSaved(request: SearchForSavedNetworkRequest): Boolean {
- fail(ANDROID_Q_SAVED_NETWORK_WARNING)
- return false
- }
-
- override fun searchForSavedNetwork(request: SearchForSavedNetworkRequest): SavedNetworkData? {
- fail(ANDROID_Q_SAVED_NETWORK_WARNING)
- return null
- }
-
- override fun searchForSavedNetworks(request: SearchForSavedNetworkRequest): List {
- fail(ANDROID_Q_SAVED_NETWORK_WARNING)
- return emptyList()
- }
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/savednetworks/delegates/Android29SavedNetworkDelegate.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/savednetworks/delegates/Android29SavedNetworkDelegate.kt
deleted file mode 100644
index 7ac652cb..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/savednetworks/delegates/Android29SavedNetworkDelegate.kt
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.savednetworks.delegates
-
-import android.Manifest.permission.ACCESS_FINE_LOCATION
-import androidx.annotation.RequiresPermission
-import com.isupatches.android.wisefy.savednetworks.SavedNetworkApi
-import com.isupatches.android.wisefy.savednetworks.entities.SavedNetworkData
-import com.isupatches.android.wisefy.savednetworks.entities.SearchForSavedNetworkRequest
-
-internal class Android29SavedNetworkDelegate(
- private val impl: Android29SavedNetworkApiImpl = Android29SavedNetworkApiImpl()
-) : SavedNetworkApi {
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun getSavedNetworks(): List {
- return impl.getSavedNetworks()
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun isNetworkSaved(request: SearchForSavedNetworkRequest): Boolean {
- return impl.isNetworkSaved(request)
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun searchForSavedNetwork(request: SearchForSavedNetworkRequest): SavedNetworkData? {
- return impl.searchForSavedNetwork(request)
- }
-
- @RequiresPermission(ACCESS_FINE_LOCATION)
- override fun searchForSavedNetworks(request: SearchForSavedNetworkRequest): List {
- return impl.searchForSavedNetworks(request)
- }
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/savednetworks/delegates/Android30SavedNetworkApi.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/savednetworks/delegates/Android30SavedNetworkApi.kt
deleted file mode 100644
index 80510be4..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/savednetworks/delegates/Android30SavedNetworkApi.kt
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.savednetworks.delegates
-
-import android.Manifest.permission.ACCESS_WIFI_STATE
-import android.net.wifi.WifiManager
-import android.net.wifi.WifiNetworkSuggestion
-import android.os.Build
-import androidx.annotation.RequiresApi
-import androidx.annotation.RequiresPermission
-import com.isupatches.android.wisefy.constants.QUOTE
-import com.isupatches.android.wisefy.savednetworks.entities.SavedNetworkData
-import com.isupatches.android.wisefy.savednetworks.entities.SearchForSavedNetworkRequest
-
-internal interface Android30SavedNetworkApi {
- @RequiresApi(Build.VERSION_CODES.R)
- @RequiresPermission(ACCESS_WIFI_STATE)
- fun getSavedNetworks(): List
-
- @RequiresApi(Build.VERSION_CODES.R)
- @RequiresPermission(ACCESS_WIFI_STATE)
- fun isNetworkSaved(request: SearchForSavedNetworkRequest): Boolean
-
- @RequiresApi(Build.VERSION_CODES.R)
- @RequiresPermission(ACCESS_WIFI_STATE)
- fun searchForSavedNetwork(request: SearchForSavedNetworkRequest): SavedNetworkData?
-
- @RequiresApi(Build.VERSION_CODES.R)
- @RequiresPermission(ACCESS_WIFI_STATE)
- fun searchForSavedNetworks(request: SearchForSavedNetworkRequest): List
-}
-
-internal class Android30SavedNetworkApiImpl(
- private val wifiManager: WifiManager
-) : Android30SavedNetworkApi {
-
- @RequiresApi(Build.VERSION_CODES.R)
- @RequiresPermission(allOf = [ACCESS_WIFI_STATE])
- override fun getSavedNetworks(): List {
- return wifiManager.networkSuggestions.map {
- SavedNetworkData.Suggestion(value = it)
- }
- }
-
- @RequiresApi(Build.VERSION_CODES.R)
- @RequiresPermission(allOf = [ACCESS_WIFI_STATE])
- override fun isNetworkSaved(request: SearchForSavedNetworkRequest): Boolean {
- return wifiManager.networkSuggestions.any {
- when (request) {
- is SearchForSavedNetworkRequest.SSID -> it.ssid.equals(request.regexForSSID)
- is SearchForSavedNetworkRequest.BSSID -> it.ssid.equals(request.regexForBSSID)
- }
- }
- }
-
- @RequiresApi(Build.VERSION_CODES.R)
- @RequiresPermission(allOf = [ACCESS_WIFI_STATE])
- override fun searchForSavedNetwork(request: SearchForSavedNetworkRequest): SavedNetworkData? {
- val savedNetwork = wifiManager.networkSuggestions.firstOrNull {
- matchesRegexForSearch(it, request)
- }
- return if (savedNetwork != null) {
- SavedNetworkData.Suggestion(value = savedNetwork)
- } else {
- null
- }
- }
-
- @RequiresApi(Build.VERSION_CODES.R)
- @RequiresPermission(allOf = [ACCESS_WIFI_STATE])
- override fun searchForSavedNetworks(request: SearchForSavedNetworkRequest): List {
- return wifiManager.networkSuggestions.filter {
- matchesRegexForSearch(it, request)
- }.map { savedNetwork ->
- SavedNetworkData.Suggestion(value = savedNetwork)
- }
- }
-
- @RequiresApi(Build.VERSION_CODES.R)
- private fun matchesRegexForSearch(
- suggestion: WifiNetworkSuggestion,
- request: SearchForSavedNetworkRequest
- ): Boolean {
- return when (request) {
- is SearchForSavedNetworkRequest.SSID -> {
- suggestion.ssid?.replace(QUOTE, "")?.matches(request.regexForSSID.toRegex()) == true ||
- suggestion.ssid?.matches(request.regexForSSID.toRegex()) == true
- }
- is SearchForSavedNetworkRequest.BSSID -> {
- suggestion.bssid?.toString()?.replace(QUOTE, "")?.matches(request.regexForBSSID.toRegex()) == true ||
- suggestion.bssid?.toString()?.matches(request.regexForBSSID.toRegex()) == true
- }
- }
- }
-}
diff --git a/wisefy/src/main/java/com/isupatches/android/wisefy/savednetworks/delegates/Android30SavedNetworkDelegate.kt b/wisefy/src/main/java/com/isupatches/android/wisefy/savednetworks/delegates/Android30SavedNetworkDelegate.kt
deleted file mode 100644
index 0bc7f3df..00000000
--- a/wisefy/src/main/java/com/isupatches/android/wisefy/savednetworks/delegates/Android30SavedNetworkDelegate.kt
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright 2021 Patches Klinefelter
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.isupatches.android.wisefy.savednetworks.delegates
-
-import android.Manifest.permission.ACCESS_WIFI_STATE
-import android.net.wifi.WifiManager
-import android.os.Build
-import androidx.annotation.RequiresApi
-import androidx.annotation.RequiresPermission
-import com.isupatches.android.wisefy.savednetworks.SavedNetworkApi
-import com.isupatches.android.wisefy.savednetworks.entities.SavedNetworkData
-import com.isupatches.android.wisefy.savednetworks.entities.SearchForSavedNetworkRequest
-
-@RequiresApi(Build.VERSION_CODES.R)
-internal class Android30SavedNetworkDelegate(
- wifiManager: WifiManager,
- private val impl: Android30SavedNetworkApiImpl = Android30SavedNetworkApiImpl(wifiManager)
-) : SavedNetworkApi {
-
- @RequiresPermission(allOf = [ACCESS_WIFI_STATE])
- override fun getSavedNetworks(): List