diff --git a/app/src/main/java/com/yinuo/safetywatcher/watcher/wifi/WiFiModule.java b/app/src/main/java/com/yinuo/safetywatcher/watcher/wifi/WiFiModule.java index e5dafd2..afa4ca9 100644 --- a/app/src/main/java/com/yinuo/safetywatcher/watcher/wifi/WiFiModule.java +++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/wifi/WiFiModule.java @@ -172,19 +172,19 @@ public class WiFiModule { * 移除WiFi */ public void removeWiFi(final String SSID) { - this.removeWiFi(SSID, null); + this.removeWiFi(SSID, null, 1); } /** * 移除WiFi */ - public void removeWiFi(final String SSID, @Nullable RemoveWiFiActionListener listener) { + public void removeWiFi(final String SSID, @Nullable RemoveWiFiActionListener listener, int from) { if (null == mWiFiSupportService) { WiFiLogUtils.d("请先初始化!"); return; } - WiFiRemoveAction action = new WiFiRemoveAction(SSID, listener); + WiFiRemoveAction action = new WiFiRemoveAction(SSID, listener, from); mWiFiSupportService.addAction(action); } diff --git a/app/src/main/java/com/yinuo/safetywatcher/watcher/wifi/info/WiFiRemoveStatusInfo.java b/app/src/main/java/com/yinuo/safetywatcher/watcher/wifi/info/WiFiRemoveStatusInfo.java index 146e562..1517ace 100644 --- a/app/src/main/java/com/yinuo/safetywatcher/watcher/wifi/info/WiFiRemoveStatusInfo.java +++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/wifi/info/WiFiRemoveStatusInfo.java @@ -8,4 +8,7 @@ public class WiFiRemoveStatusInfo { public String SSID; public boolean isSuccess; + //0:直连 1:其他 + public int from; + } diff --git a/app/src/main/java/com/yinuo/safetywatcher/watcher/wifi/info/action/WiFiRemoveAction.java b/app/src/main/java/com/yinuo/safetywatcher/watcher/wifi/info/action/WiFiRemoveAction.java index b2a9720..50adac9 100644 --- a/app/src/main/java/com/yinuo/safetywatcher/watcher/wifi/info/action/WiFiRemoveAction.java +++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/wifi/info/action/WiFiRemoveAction.java @@ -12,9 +12,13 @@ public class WiFiRemoveAction extends IWiFiAction { public String SSID; public RemoveWiFiActionListener listener; - public WiFiRemoveAction(String SSID, RemoveWiFiActionListener listener) { + //0:直连出错 1:其他 + public int from; + + public WiFiRemoveAction(String SSID, RemoveWiFiActionListener listener, int from) { this.SSID = SSID; this.listener = listener; + this.from = from; } @NonNull diff --git a/app/src/main/java/com/yinuo/safetywatcher/watcher/wifi/ui/GlobalMonitorActivity.kt b/app/src/main/java/com/yinuo/safetywatcher/watcher/wifi/ui/GlobalMonitorActivity.kt index fe7b3dc..4748c09 100644 --- a/app/src/main/java/com/yinuo/safetywatcher/watcher/wifi/ui/GlobalMonitorActivity.kt +++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/wifi/ui/GlobalMonitorActivity.kt @@ -7,6 +7,7 @@ import android.net.wifi.WifiManager import android.os.Bundle import android.provider.Settings import android.text.TextUtils +import android.util.Log import android.view.View import androidx.recyclerview.widget.LinearLayoutManager import com.yinuo.safetywatcher.R @@ -149,7 +150,12 @@ class GlobalMonitorActivity : NoOptionsActivity() { //直连密码错误,提示用户修改密码 val scanInfo = findScanInfo(SSID) if (null != scanInfo) { - showInputDialog(scanInfo, 1) + WiFiModule.getInstance() + .removeWiFi( + scanInfo.scanResult.SSID, + getRemoveActionListener(scanInfo.scanResult.SSID), + 0 + ) } } } @@ -160,7 +166,16 @@ class GlobalMonitorActivity : NoOptionsActivity() { // showDelErrorDialog() // return // } - mBinding.tvStatus!!.text = info.SSID + "删除成功!" + if (info.from == 0) { + mBinding.tvStatus!!.text = info.SSID + "连接失败" + val scanInfo = findScanInfo(info.SSID) + if (scanInfo != null) { + showInputDialog(scanInfo, 1) + } + + } else { + mBinding.tvStatus!!.text = info.SSID + "删除成功!" + } for (connectInfo in mData!!) { if (!TextUtils.isEmpty(info.SSID) && info.SSID == connectInfo.scanResult.SSID) { connectInfo.configuration = null @@ -188,7 +203,9 @@ class GlobalMonitorActivity : NoOptionsActivity() { delDialog = ConfirmDialog("确定要删除${info.scanResult.SSID}吗?删除后需要重新输入密码") { delDialog?.dismiss() WiFiModule.getInstance() - .removeWiFi(info.scanResult.SSID, getRemoveActionListener(info.scanResult.SSID)) + .removeWiFi( + info.scanResult.SSID, getRemoveActionListener(info.scanResult.SSID), 1 + ) } delDialog?.show(supportFragmentManager, "del") } diff --git a/app/src/main/java/com/yinuo/safetywatcher/watcher/wifi/utils/WiFiModuleService.java b/app/src/main/java/com/yinuo/safetywatcher/watcher/wifi/utils/WiFiModuleService.java index 9b3d556..04b07d7 100644 --- a/app/src/main/java/com/yinuo/safetywatcher/watcher/wifi/utils/WiFiModuleService.java +++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/wifi/utils/WiFiModuleService.java @@ -499,6 +499,8 @@ public class WiFiModuleService { final WiFiRemoveStatusInfo statusInfo = WiFiUtils.removeWiFi(mWifiManager, action.SSID, mContext.get()); + statusInfo.from = action.from; + handler.post(() -> { WiFiLogUtils.d("删除WiFi " + statusInfo.isSuccess + " | " + action.toString());