diff --git a/iFish7/src/main/java/com/ifish/activity/newbind/BottomChoiceDialog.java b/iFish7/src/main/java/com/ifish/activity/newbind/BottomChoiceDialog.java
index 809fef28b..1ee732539 100644
--- a/iFish7/src/main/java/com/ifish/activity/newbind/BottomChoiceDialog.java
+++ b/iFish7/src/main/java/com/ifish/activity/newbind/BottomChoiceDialog.java
@@ -8,6 +8,7 @@ import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
+import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.annotation.NonNull;
@@ -35,6 +36,8 @@ public class BottomChoiceDialog extends DialogFragment implements View.OnClickLi
return dialog;
}
+ public static ConnectType curType;
+
public static BottomChoiceDialog newInstance() {
if (bottomChoiceDialog == null) {
bottomChoiceDialog = new BottomChoiceDialog();
@@ -46,6 +49,9 @@ public class BottomChoiceDialog extends DialogFragment implements View.OnClickLi
private TextView tvAP;
private TextView tvAirKiss;
private TextView tvCancel;
+ private LinearLayout lineAirKiss;
+ private LinearLayout lineSmartConfig;
+ private LinearLayout lineAP;
@Nullable
@Override
@@ -56,11 +62,16 @@ public class BottomChoiceDialog extends DialogFragment implements View.OnClickLi
tvAP = (TextView) view.findViewById(R.id.tv_AP);
tvAirKiss = (TextView) view.findViewById(R.id.tv_airkiss);
tvCancel = (TextView) view.findViewById(R.id.tv_cancel);
+ lineAirKiss = (LinearLayout) view.findViewById(R.id.line_airKiss);
+ lineSmartConfig = (LinearLayout) view.findViewById(R.id.line_smartConfig);
+ lineAP = (LinearLayout) view.findViewById(R.id.line_AP);
tvSmartConfig.setOnClickListener(this);
tvAP.setOnClickListener(this);
tvAirKiss.setOnClickListener(this);
tvCancel.setOnClickListener(this);
+
+ switchChooseUI(curType);
return view;
}
@@ -123,6 +134,27 @@ public class BottomChoiceDialog extends DialogFragment implements View.OnClickLi
}
}
+ public void switchChooseUI(ConnectType curConnectType) {
+ lineAirKiss.setVisibility(View.VISIBLE);
+ lineAP.setVisibility(View.VISIBLE);
+ lineSmartConfig.setVisibility(View.VISIBLE);
+ switch (curConnectType) {
+ case SmartConfig:
+ // 处理SmartConfig逻辑
+ lineSmartConfig.setVisibility(View.GONE);
+ break;
+ case APConnect:
+ // 处理APConnect逻辑
+ lineAP.setVisibility(View.GONE);
+ break;
+ case AirKiss:
+ lineAirKiss.setVisibility(View.GONE);
+ // 处理AirKiss逻辑
+ break;
+ }
+ }
+
+
public interface OnChooseClickListener {
void smartConfigConnect();//智能连接
diff --git a/iFish7/src/main/java/com/ifish/activity/newbind/CheckWifiUtil.java b/iFish7/src/main/java/com/ifish/activity/newbind/CheckWifiUtil.java
index c473927ef..c184e0fbe 100644
--- a/iFish7/src/main/java/com/ifish/activity/newbind/CheckWifiUtil.java
+++ b/iFish7/src/main/java/com/ifish/activity/newbind/CheckWifiUtil.java
@@ -11,6 +11,7 @@ import android.text.TextUtils;
import android.view.View;
import android.view.Window;
import android.widget.Button;
+import android.widget.ProgressBar;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
@@ -183,7 +184,7 @@ public class CheckWifiUtil {
return wifissid;
}
- public void checkCurAP(AppCompatActivity activity, String wifiName, String wifiPwd, String devicetype) {
+ public void checkCurAP(AppCompatActivity activity, String wifiName, String wifiPwd, String devicetype, ProgressBar progressLoading, TextView tvApConnectDevice) {
String wifissid = getCurWifiSsid(activity);
if (TextUtils.isEmpty(wifissid)) {
wifissid = "";
@@ -194,6 +195,7 @@ public class CheckWifiUtil {
if ("camera".equals(devicetype)) {
if (!wifissid.startsWith("GW_AP_")) {
ToastUtil.show(activity.getApplicationContext(), "请先连接摄像头设备热点");
+ resetAPLayout(progressLoading,tvApConnectDevice);
return;
}
//todo 摄像头
@@ -201,6 +203,7 @@ public class CheckWifiUtil {
} else if ("pet".equals(devicetype)) {
if (!wifissid.startsWith("ifish-")) {
ToastUtil.show(activity.getApplicationContext(), "请先连接宠物笼设备热点");
+ resetAPLayout(progressLoading,tvApConnectDevice);
return;
}
//todo 宠物
@@ -208,6 +211,7 @@ public class CheckWifiUtil {
} else {
if (!wifissid.startsWith("ifish-")) {
ToastUtil.show(activity.getApplicationContext(), "请先连接设备热点");
+ resetAPLayout(progressLoading,tvApConnectDevice);
return;
}
//todo 设备
@@ -216,6 +220,7 @@ public class CheckWifiUtil {
if (wifissid.equals(wifiName)) {
ToastUtil.show(activity.getApplicationContext(), "WiFi名称不能和热点名称一致");
+ resetAPLayout(progressLoading,tvApConnectDevice);
return;
}
@@ -227,4 +232,9 @@ public class CheckWifiUtil {
}
+ private void resetAPLayout(ProgressBar progressLoading, TextView tvApConnectDevice) {
+ progressLoading.setVisibility(View.GONE);
+ tvApConnectDevice.setVisibility(View.VISIBLE);
+ }
+
}
diff --git a/iFish7/src/main/java/com/ifish/activity/newbind/NewBindDeviceActivity.java b/iFish7/src/main/java/com/ifish/activity/newbind/NewBindDeviceActivity.java
index 5a0596a9a..ffe469969 100644
--- a/iFish7/src/main/java/com/ifish/activity/newbind/NewBindDeviceActivity.java
+++ b/iFish7/src/main/java/com/ifish/activity/newbind/NewBindDeviceActivity.java
@@ -27,6 +27,7 @@ import com.ifish.activity.BindTankPetActivity;
import com.ifish.activity.R;
import com.ifish.basebean.ConnectMessageEvent;
import com.ifish.utils.AnimationUtil;
+import com.ifish.utils.ClickUtil;
import com.ifish.utils.KVUtil;
import com.ifish.utils.ToastUtil;
import com.ifish.utils.WifiAdmin;
@@ -57,9 +58,6 @@ public class NewBindDeviceActivity extends AppCompatActivity {
private TextView tvApConnectDevice;
- //选择连接类型的底部弹窗
- private BottomChoiceDialog bottomChoiceDialog;
-
//----------------变量区--------------------//
private ConnectType curConnectType;//当前选择的连接类型 APConnect,SmartConfig,AirKiss
@@ -70,6 +68,7 @@ public class NewBindDeviceActivity extends AppCompatActivity {
private CheckWifiUtil checkWifiUtil;
private AirKissUtil airKissUtil;
private String bssid = "";
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -113,12 +112,16 @@ public class NewBindDeviceActivity extends AppCompatActivity {
private void initTitle() {
TextView title_text = (TextView) findViewById(R.id.title_text);
title_text.setText("连接设备");
+ findViewById(R.id.title_img).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ finish();
+ }
+ });
}
private void initView() {
- bottomChoiceDialog = BottomChoiceDialog.newInstance();
-
tvConnectType = (TextView) findViewById(R.id.tv_connect_type);
frameAp = (FrameLayout) findViewById(R.id.frame_ap);
@@ -139,31 +142,36 @@ public class NewBindDeviceActivity extends AppCompatActivity {
tvOtherConnect.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- if (bottomChoiceDialog != null && !bottomChoiceDialog.isAdded()) {
- bottomChoiceDialog.show(getSupportFragmentManager(), "选择连接类型");
+ if (ClickUtil.isFastDoubleClick()) {
+ LogUtils.d("LHD 防止快速点击");
+ return;
}
- }
- });
- bottomChoiceDialog.setOnChooseClickListener(new BottomChoiceDialog.OnChooseClickListener() {
- @Override
- public void smartConfigConnect() {
- //智能连接逻辑
- curConnectType = ConnectType.SmartConfig;
- switchUIConnectType(curConnectType);
- }
+ //选择连接类型的底部弹窗
+ BottomChoiceDialog.curType = curConnectType;
+ BottomChoiceDialog bottomChoiceDialog = BottomChoiceDialog.newInstance();
+ bottomChoiceDialog.show(getSupportFragmentManager(), "选择连接类型");
+ bottomChoiceDialog.setOnChooseClickListener(new BottomChoiceDialog.OnChooseClickListener() {
+ @Override
+ public void smartConfigConnect() {
+ //智能连接逻辑
+ curConnectType = ConnectType.SmartConfig;
+ switchUIConnectType(curConnectType);
+ }
- @Override
- public void APConnect() {
- //AP连接逻辑
- curConnectType = ConnectType.APConnect;
- switchUIConnectType(curConnectType);
- }
+ @Override
+ public void APConnect() {
+ //AP连接逻辑
+ curConnectType = ConnectType.APConnect;
+ switchUIConnectType(curConnectType);
+ }
- @Override
- public void AirKissConnect() {
- //airKiss逻辑
- curConnectType = ConnectType.AirKiss;
- switchUIConnectType(curConnectType);
+ @Override
+ public void AirKissConnect() {
+ //airKiss逻辑
+ curConnectType = ConnectType.AirKiss;
+ switchUIConnectType(curConnectType);
+ }
+ });
}
});
tvClickButton.setOnClickListener(new View.OnClickListener() {
@@ -233,7 +241,7 @@ public class NewBindDeviceActivity extends AppCompatActivity {
switch (connectType) {
case SmartConfig:
// 处理SmartConfig逻辑
- tvConnectType.setText("智能连网");
+ tvConnectType.setText("快捷连网");
tvClickButton.setText("确定");
tvTips.setText("1、插座仅支持2.4G的WiFi网络,不支持5G及双频合一的网络(需在路由器设置中分开)\n2、先长按插座复位键3秒,松手后红灯绿灯同时闪烁,再点确定按钮。\n3、如多次尝试一键连网都不成功,可切换其他连网方式,每次重新连接时插座需断一次电然后重新复位连接。");
break;
@@ -245,8 +253,8 @@ public class NewBindDeviceActivity extends AppCompatActivity {
ToastUtil.show(this, "切换到AP连网");
break;
case AirKiss:
- tvConnectType.setText("AirKiss连网");
- ToastUtil.show(this, "AirKiss连网");
+ tvConnectType.setText("一键连网");
+ ToastUtil.show(this, "一键连网");
tvClickButton.setText("确定");
tvTips.setText("1、插座仅支持2.4G的WiFi网络,不支持5G及双频合一的网络(需在路由器设置中分开)\n2、先长按插座复位键3秒,松手后红灯绿灯同时闪烁,再点确定按钮。\n3、如多次尝试一键连网都不成功,可切换其他连网方式,每次重新连接时插座需断一次电然后重新复位连接。");
// 处理AirKiss逻辑
@@ -284,7 +292,7 @@ public class NewBindDeviceActivity extends AppCompatActivity {
intent.putExtra("title", "连接热流器");
}
//新页面跳转
- intent.putExtra("wifiPassword",pwd);
+ intent.putExtra("wifiPassword", pwd);
ToastUtil.show(NewBindDeviceActivity.this, "开始SmartConfig连网...");
startActivity(intent);
AnimationUtil.startAnimation(NewBindDeviceActivity.this);
@@ -297,7 +305,7 @@ public class NewBindDeviceActivity extends AppCompatActivity {
case AirKiss:
// 处理AirKiss逻辑
ToastUtil.show(NewBindDeviceActivity.this, "开始AirKiss连网...");
- airKissUtil.connectDeviceByAirKiss(this,ssid,bssid,pwd);
+ airKissUtil.connectDeviceByAirKiss(this, ssid, bssid, pwd);
break;
}
}
@@ -321,7 +329,7 @@ public class NewBindDeviceActivity extends AppCompatActivity {
if (isJump) {
String wifiName = tvWifiName.getText().toString();
String wifiPwd = tvWifiPwd.getText().toString();
- checkWifiUtil.checkCurAP(this, wifiName, wifiPwd, devicetype);
+ checkWifiUtil.checkCurAP(this, wifiName, wifiPwd, devicetype,progressLoading,tvApConnectDevice);
isJump = false;
}
}
diff --git a/iFish7/src/main/java/com/ifish/utils/ClickUtil.java b/iFish7/src/main/java/com/ifish/utils/ClickUtil.java
new file mode 100644
index 000000000..4440e8058
--- /dev/null
+++ b/iFish7/src/main/java/com/ifish/utils/ClickUtil.java
@@ -0,0 +1,24 @@
+package com.ifish.utils;
+
+import android.view.View;
+
+public class ClickUtil {
+
+ private static long lastClickTime;
+
+ public static boolean isFastDoubleClick() {
+ return isFastDoubleClick(300);
+ }
+
+ public static boolean isFastDoubleClick(long interval) {
+ long time = System.currentTimeMillis();
+ long timeD = time - lastClickTime;
+ if (0 < timeD && timeD < interval) {
+ lastClickTime = time;
+ return true;
+ }
+ lastClickTime = time;
+ return false;
+ }
+
+}
diff --git a/iFish7/src/main/res/layout/dialog_choose_connect_wifi_type.xml b/iFish7/src/main/res/layout/dialog_choose_connect_wifi_type.xml
index e85578fff..d9653b7ed 100644
--- a/iFish7/src/main/res/layout/dialog_choose_connect_wifi_type.xml
+++ b/iFish7/src/main/res/layout/dialog_choose_connect_wifi_type.xml
@@ -5,54 +5,77 @@
android:background="@drawable/white_radius10"
android:orientation="vertical">
-
+ android:layout_height="wrap_content"
+ android:orientation="vertical">
-
-
+
-
+
+
-
+ android:layout_height="wrap_content"
+ android:orientation="vertical">
-
+
+
+
+
+
+ android:layout_height="wrap_content"
+ android:orientation="vertical">
+
+
+
+
+
+