op_wifi_utils 1.2.1
op_wifi_utils: ^1.2.1 copied to clipboard
A lightweight Flutter plugin using modern Android and iOS APIs to connect to Wi-Fi, disconnect, and retrieve the current SSID, based on OpResult for structured error handling.
Changelog #
[1.2.1] - 2025-04-17 #
Fixed #
- Fixed a critical issue introduced in
v1.2.0
whereconnectToWifi
on Android incorrectly returnedINVALID_PASSWORD
due to unreliable SSID validation after connection. - The plugin now trusts the system connection callback (
onAvailable
) on Android 10+ and does not rely onWifiManager.connectionInfo.ssid
, which may return<unknown ssid>
. - Ensures proper use of
UNAVAILABLE
as a general error when the connection fails without specific cause.
Added #
- New
OpWifiUtilsError.unavailable
error type to represent general connection failures on Android (e.g., network out of range, wrong password, or timeout).
[1.2.0] - 2025-04-15 #
Changed #
- All
result.success
andresult.error
calls in Android native code are now wrapped inHandler(Looper.getMainLooper()).post { ... }
to ensure safe main thread return. - This change improves stability and avoids potential crashes or UI threading issues across different Android versions and manufacturers.
- Also avoids blocking the main thread while waiting for platform responses, improving compatibility with Flutter's MethodChannel behavior.
[1.1.0] - 2025-04-14 #
- Improved
connectToWifi
behavior on iOS:- Handles iOS error code 2 (invalid password format) and maps it to
INVALID_PASSWORD
. - Verifies actual connection by comparing current SSID after a short delay.
- Distinguishes
SSID_NOT_FOUND
from other connection issues.
- Handles iOS error code 2 (invalid password format) and maps it to
- Improved
connectToWifi
behavior on Android:- After
onAvailable
, verifies the actual connected SSID. - If the SSID doesn't match the expected one, returns
INVALID_PASSWORD
to indicate likely credential issues.
- After
[1.0.1] - 2025-04-03 #
- README and pubspec wording improved for clarity and consistency
[1.0.0] - 2025-04-03 #
- Initial release 🎉
- Connect to Wi-Fi with optional password (iOS and Android)
- Disconnect from Wi-Fi network
- Check current connected SSID
- Full OpResult-based error handling
- joinOnce option supported on iOS
- Example app included for both platforms