diff --git a/gradle.properties b/gradle.properties
index c10423837..040ce8835 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -25,6 +25,6 @@ android.nonTransitiveRClass=true
android.enableJetifier=true
android.useAndroidX=true
android.useDeprecatedNdk=true
+versionCode=109
+versionName=4.12.09
-versionCode=104
-versionName=4.12.04
\ No newline at end of file
diff --git a/iFish7/build.gradle b/iFish7/build.gradle
index a87d7a1f7..ee9e6e7bc 100644
--- a/iFish7/build.gradle
+++ b/iFish7/build.gradle
@@ -25,7 +25,7 @@ android {
config {
keyAlias 'android.keystore'
keyPassword 'ifish7'
- storeFile file('../ifish7.keystore')
+ storeFile file('ifish7.keystore')
storePassword 'ifish7'
}
}
@@ -153,7 +153,7 @@ dependencies {
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'//2.0.4
implementation 'com.tencent:mmkv:2.0.0'
implementation("com.github.bumptech.glide:okhttp3-integration:4.11.0" )
-// implementation 'com.github.Jasonchenlijian:FastBle:2.4.0'
+ implementation 'com.github.Jasonchenlijian:FastBle:2.4.0'
implementation 'io.github.lucksiege:pictureselector:v3.11.2'
// 图片压缩 (按需引入)
diff --git a/ifish7.keystore b/iFish7/ifish7.keystore
similarity index 100%
rename from ifish7.keystore
rename to iFish7/ifish7.keystore
diff --git a/iFish7/src/main/AndroidManifest.xml b/iFish7/src/main/AndroidManifest.xml
index 7256fc80b..44abb2324 100644
--- a/iFish7/src/main/AndroidManifest.xml
+++ b/iFish7/src/main/AndroidManifest.xml
@@ -11,9 +11,6 @@
-
-
-
@@ -37,14 +34,14 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
= Build.VERSION_CODES.S){
// jiablue
-// perlist = new String[]{
-// android.Manifest.permission.BLUETOOTH_SCAN,
-// android.Manifest.permission.BLUETOOTH_ADVERTISE,
-// android.Manifest.permission.BLUETOOTH_CONNECT,
-// android.Manifest.permission.ACCESS_FINE_LOCATION,
-// android.Manifest.permission.ACCESS_COARSE_LOCATION,
-// android.Manifest.permission.BLUETOOTH
-// };
+ perlist = new String[]{
+ android.Manifest.permission.BLUETOOTH_SCAN,
+ android.Manifest.permission.BLUETOOTH_ADVERTISE,
+ android.Manifest.permission.BLUETOOTH_CONNECT,
+ android.Manifest.permission.ACCESS_FINE_LOCATION,
+ android.Manifest.permission.ACCESS_COARSE_LOCATION,
+ android.Manifest.permission.BLUETOOTH
+ };
}
initView();//初始化控件
}
diff --git a/iFish7/src/main/java/com/ifish/activity/DeviceCameraListActivity.java b/iFish7/src/main/java/com/ifish/activity/DeviceCameraListActivity.java
index 06392dddd..d364ac50b 100644
--- a/iFish7/src/main/java/com/ifish/activity/DeviceCameraListActivity.java
+++ b/iFish7/src/main/java/com/ifish/activity/DeviceCameraListActivity.java
@@ -24,8 +24,8 @@ import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.RelativeLayout;
import android.widget.TextView;
-//jjia-push
-//import com.clj.fastble.BleManager;
+//jjia-xpush
+import com.clj.fastble.BleManager;
import com.ifish.adapter.GridViewCameraBaseAdapter;
import com.ifish.adapter.GridViewDeviceBaseAdapter;
import com.ifish.basebean.BaseBean;
@@ -370,8 +370,8 @@ public class DeviceCameraListActivity extends BaseActivity {
@Override
public void success(BaseBean baseBean) {
result = baseBean.result;
- //jjia-push
-// BleManager.getInstance().disconnectAllDevice();
+ //jjia-xpush
+ BleManager.getInstance().disconnectAllDevice();
}
@Override
diff --git a/iFish7/src/main/java/com/ifish/activity/HotSpotConnentDeviceActivity.java b/iFish7/src/main/java/com/ifish/activity/HotSpotConnentDeviceActivity.java
index 5caf1c700..6e5d28d91 100644
--- a/iFish7/src/main/java/com/ifish/activity/HotSpotConnentDeviceActivity.java
+++ b/iFish7/src/main/java/com/ifish/activity/HotSpotConnentDeviceActivity.java
@@ -241,7 +241,7 @@ public class HotSpotConnentDeviceActivity extends BaseActivity {
public void toDevice() {
AppRoute.newToStart(HotSpotConnentDeviceActivity.this,deviceObj,true);
- ToastUtil.show(HotSpotConnentDeviceActivity.this, "绑定设备成功");
+// ToastUtil.show(HotSpotConnentDeviceActivity.this, "绑定设备成功");
EventBean eventBean =new EventBean(EventBean.LINK_FINISH,0);
EventBus.getDefault().post(eventBean);
finish();
@@ -417,7 +417,7 @@ public class HotSpotConnentDeviceActivity extends BaseActivity {
Commons.IS_CAMERA = false;
sp.putBoolean(LoginSPKey.IS_CAMERA, Commons.IS_CAMERA);
AppRoute.newToStart(HotSpotConnentDeviceActivity.this,deviceObj,true);
- ToastUtil.show(HotSpotConnentDeviceActivity.this, "绑定设备成功");
+// ToastUtil.show(HotSpotConnentDeviceActivity.this, "绑定设备成功");
EventBean eventBean =new EventBean(EventBean.LINK_FINISH,0);
EventBus.getDefault().post(eventBean);
AnimationUtil.startAnimation(HotSpotConnentDeviceActivity.this);
@@ -456,13 +456,13 @@ public class HotSpotConnentDeviceActivity extends BaseActivity {
Commons.DevicePosition = Commons.DEVICE.size() - 1;
} catch (Exception e) {
}
- ToastUtil.show(HotSpotConnentDeviceActivity.this, "设备序号" + Commons.DevicePosition + "---" + Commons.DEVICE.size());
+// ToastUtil.show(HotSpotConnentDeviceActivity.this, "设备序号" + Commons.DevicePosition + "---" + Commons.DEVICE.size());
Commons.IS_EventBus = true;
Commons.HAVE_DEVICE = true;//改变判断是否绑定的变量
Commons.IS_CAMERA = false;
sp.putBoolean(LoginSPKey.IS_CAMERA, Commons.IS_CAMERA);
AppRoute.newToStart(HotSpotConnentDeviceActivity.this,deviceObj,true);
- ToastUtil.show(HotSpotConnentDeviceActivity.this, "绑定设备成功");
+// ToastUtil.show(HotSpotConnentDeviceActivity.this, "绑定设备成功");
EventBean eventBean =new EventBean(EventBean.LINK_FINISH,0);
EventBus.getDefault().post(eventBean);
AnimationUtil.startAnimation(HotSpotConnentDeviceActivity.this);
diff --git a/iFish7/src/main/java/com/ifish/activity/HotSpotConnentPetDeviceActivity.java b/iFish7/src/main/java/com/ifish/activity/HotSpotConnentPetDeviceActivity.java
index ff84be814..7bcd26bf3 100644
--- a/iFish7/src/main/java/com/ifish/activity/HotSpotConnentPetDeviceActivity.java
+++ b/iFish7/src/main/java/com/ifish/activity/HotSpotConnentPetDeviceActivity.java
@@ -583,7 +583,7 @@ public class HotSpotConnentPetDeviceActivity extends BaseActivity {
Commons.DevicePosition = Commons.DEVICE.size() - 1;
} catch (Exception e) {
}
- ToastUtil.show(HotSpotConnentPetDeviceActivity.this, "设备序号" + Commons.DevicePosition + "---" + Commons.DEVICE.size());
+// ToastUtil.show(HotSpotConnentPetDeviceActivity.this, "设备序号" + Commons.DevicePosition + "---" + Commons.DEVICE.size());
Commons.IS_EventBus = true;
Commons.HAVE_DEVICE = true;//改变判断是否绑定的变量
Commons.IS_CAMERA = false;
diff --git a/iFish7/src/main/java/com/ifish/activity/LoadingActivity.java b/iFish7/src/main/java/com/ifish/activity/LoadingActivity.java
index 423522221..c3a62ef5f 100644
--- a/iFish7/src/main/java/com/ifish/activity/LoadingActivity.java
+++ b/iFish7/src/main/java/com/ifish/activity/LoadingActivity.java
@@ -2,6 +2,7 @@ package com.ifish.activity;
import android.app.AlertDialog;
import android.content.Context;
+import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Color;
import android.media.AudioManager;
@@ -31,6 +32,7 @@ import androidx.annotation.NonNull;
import com.alibaba.sdk.android.httpdns.HttpDns;
import com.alibaba.sdk.android.httpdns.HttpDnsService;
import com.bumptech.glide.Glide;
+import com.ifish.activity.newbind.NewBindDeviceActivity;
import com.ifish.basebean.AdInfos;
import com.ifish.basebean.BaseBean;
import com.ifish.basebean.Device;
@@ -43,6 +45,7 @@ import com.ifish.geewe.DeviceCamera;
import com.ifish.permission.PermissionHelper;
import com.ifish.utils.ActivityManager;
import com.ifish.utils.AnimationUtil;
+import com.ifish.utils.AppUtil;
import com.ifish.utils.Commons;
import com.ifish.utils.Commons.LoginSPKey;
import com.ifish.utils.Commons.NetWork;
@@ -53,11 +56,13 @@ import com.ifish.utils.HttpManager;
import com.ifish.utils.L;
import com.ifish.utils.SPUtil;
import com.ifish.utils.ToastUtil;
+import com.ifish.view.IosAlertDialog;
import com.ifish.view.SuperTextView;
import com.igexin.sdk.PushManager;
import com.squareup.picasso.Picasso;
import com.tencent.mm.opensdk.openapi.IWXAPI;
import com.tencent.mm.opensdk.openapi.WXAPIFactory;
+import com.xiaomi.mipush.sdk.MiPushClient;
import java.net.URL;
import java.util.ArrayList;
@@ -111,7 +116,7 @@ public class LoadingActivity extends BaseActivityNotAnim {
private PermissionHelper permissionHelper;
private static String firstShowPrivacy = "firstShowPrivacy";
-
+ String[] permission;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -122,16 +127,82 @@ public class LoadingActivity extends BaseActivityNotAnim {
if (savedInstanceState != null) {
setIntent(new Intent()); // 从堆栈恢复,不再重复解析之前的intent
}
+ permission = AppUtil.getBluePermissionList();
+ permissionHelper = new PermissionHelper(this, permission, 250);
+
//
Boolean showPrivacy = SPUtil.getInstance(getApplicationContext()).getBoolean(firstShowPrivacy, false);
Boolean aBoolean = ConfigUtil.getInstance(getApplicationContext()).getBoolean(LoginSPKey.IS_FirstOpen, false);
if(!aBoolean && !showPrivacy){
startPrivacyTextDialog();
}else{
+// ();
initapp();
}
}
+ private void getPermission() {
+ permissionHelper.request(new PermissionHelper.PermissionCallback() {
+ @Override
+ public void onPermissionGranted() {
+ initapp();
+ }
+
+ @Override
+ public void onIndividualPermissionGranted(String[] grantedPermission) {
+ initapp();
+// AlertDialog.Builder dialog = new AlertDialog.Builder(LoadingActivity.this);
+// dialog.setCancelable(false);
+// dialog.setMessage("蓝牙联网,请先同意app获取蓝牙相关权限x");
+// dialog.setPositiveButton("确定", new DialogInterface.OnClickListener() {
+// @Override
+// public void onClick(
+// DialogInterface dialog,
+// int which) {
+//
+// }
+// });
+// dialog.setNegativeButton("取消", new DialogInterface.OnClickListener() {
+// @Override
+// public void onClick(DialogInterface dialog, int which) {
+// }
+// });
+// dialog.show();
+ }
+
+ @Override
+ public void onPermissionDenied() {
+ initapp();
+ }
+
+ @Override
+ public void onPermissionDeniedBySystem() {
+// IosAlertDialog dialog = new IosAlertDialog(LoadingActivity.this).builder();
+// dialog.setCancelable(false);
+// dialog.setTitle("权限申请理由");
+// dialog.setMessage("蓝牙联网,请到应用信息页面-权限管理-打开蓝牙权限");
+// dialog.setNegativeButton("取消", view -> {
+// initapp();
+// });
+// dialog.setPositiveButton("去开启", view ->
+// {
+// AppUtil.toAuthority(LoadingActivity.this);
+// });
+// dialog.show();
+ initapp();
+ }
+ });
+ }
+
+ @Override
+ public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
+ super.onRequestPermissionsResult(requestCode, permissions, grantResults);
+ if (permissionHelper != null) {
+ permissionHelper.onRequestPermissionsResult(requestCode, permissions, grantResults);
+ }
+ }
+
+
private void analysisBaseUrlError(){
showProgressDialog();
@@ -308,11 +379,16 @@ public class LoadingActivity extends BaseActivityNotAnim {
private void initapp() {
- // jjia-push
+ // jjia-xpush
// IPushService
// IIntentService
PushManager.getInstance().preInit(this);
PushManager.getInstance().initialize(this);
+ MiPushClient.setAlias(this,"aaa","aaa" );
+
+ L.i("jjia------push init-as-"+MiPushClient.getAllAlias(this));
+ L.i("jjia------push init-getRegId-"+MiPushClient.getRegId(this));
+ L.i("jjia------push init-getRegId-"+PushManager.getInstance().getClientid(this));
if (BuildConfig.DEBUG){
PushManager.getInstance().setDebugLogger(this, s -> L.i("jjia--------"+s));
}
@@ -899,9 +975,9 @@ public class LoadingActivity extends BaseActivityNotAnim {
public void onClick(View v) {
alertDialog.cancel();
SPUtil.getInstance(getApplicationContext()).putBoolean(firstShowPrivacy,true);
-// getPermission();
// pushInit();
initapp();
+// getPermission();
}
});
}
diff --git a/iFish7/src/main/java/com/ifish/activity/MainSix_4F_ControlActivity.java b/iFish7/src/main/java/com/ifish/activity/MainSix_4F_ControlActivity.java
index 8960779e9..8bd601085 100644
--- a/iFish7/src/main/java/com/ifish/activity/MainSix_4F_ControlActivity.java
+++ b/iFish7/src/main/java/com/ifish/activity/MainSix_4F_ControlActivity.java
@@ -4,20 +4,26 @@ import static com.ifish.activity.MainTabActivity.map;
import android.app.AlertDialog;
import android.app.Dialog;
+import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
+import android.graphics.Color;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.os.Handler;
import android.text.TextUtils;
+import android.view.Gravity;
+import android.view.LayoutInflater;
import android.view.View;
import android.view.Window;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
+import android.widget.Toast;
import com.bumptech.glide.Glide;
+import com.clj.fastble.data.BleScanState;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.ifish.basebean.BaseBean;
@@ -43,7 +49,9 @@ import com.ifish.tcp.FishFeedType;
import com.ifish.tcp.TcpReceiveThread;
import com.ifish.tcp.TcpSendThread;
import com.ifish.utils.AnimationUtil;
+import com.ifish.utils.AppUtil;
import com.ifish.utils.Commons;
+import com.ifish.utils.DialogUtil;
import com.ifish.utils.HttpListener;
import com.ifish.utils.HttpManager;
import com.ifish.utils.L;
@@ -100,6 +108,9 @@ public class MainSix_4F_ControlActivity extends BaseGradeActivity implements Swi
private Device deviceBean;
+ private boolean isBind = false;
+ private boolean isShowHint = true;
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -117,9 +128,28 @@ public class MainSix_4F_ControlActivity extends BaseGradeActivity implements Swi
} catch (Exception e) {
e.printStackTrace();
}
-
+ isBind = getIntent().getBooleanExtra(BaseGradeActivity.BINDDEVICE,false);
+ L.i("jjia------------"+isBind);
+ if (isBind){
+ DialogUtil.Companion.showLoadingDialog(this,true,"设备正在联网中,请耐心等待");
+ startDownTimer();
+ }
+// showHint();
}
+ private void showHint(){
+
+ isShowHint = false;
+ Toast toast = new Toast(this);
+ toast.setDuration(Toast.LENGTH_LONG);
+
+ LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+ View view = inflater.inflate(R.layout.hint_toast, null);
+ toast.setView(view);
+ toast.setGravity(Gravity.CENTER,0,120);
+ toast.show();
+
+ }
public void onEventMainThread(EventBean eventBean){
if (eventBean!=null && EventBean.CHANGE_DEVICE_NAME.equals(eventBean.name)){
setTitle(eventBean.value);
@@ -146,7 +176,9 @@ public class MainSix_4F_ControlActivity extends BaseGradeActivity implements Swi
protected void onDestroy() {
isToast = false;
EventBus.getDefault().unregister(this);
+ DialogUtil.Companion.setLoadingDialogDismiss(this);
closeSoket();
+ closeDownTimer();
stopAllTimer();
super.onDestroy();
}
@@ -389,7 +421,7 @@ public class MainSix_4F_ControlActivity extends BaseGradeActivity implements Swi
tv_wendu.setText("");
sw.setRefreshing(false);
if (isToast) {
- ToastUtil.showSpecial(MainSix_4F_ControlActivity.this, Commons.Text.Repost);
+// ToastUtil.showSpecial(MainSix_4F_ControlActivity.this, Commons.Text.Repost);
}
}
};
@@ -438,7 +470,7 @@ public class MainSix_4F_ControlActivity extends BaseGradeActivity implements Swi
resetIVFlag();
isWaterDialog = false;
dismissProgressDialog();
- ToastUtil.showSpecial(MainSix_4F_ControlActivity.this, Commons.Text.Repost);
+// ToastUtil.showSpecial(MainSix_4F_ControlActivity.this, Commons.Text.Repost);
}
};
}
@@ -579,9 +611,16 @@ public class MainSix_4F_ControlActivity extends BaseGradeActivity implements Swi
//接受6控查询返回的指令
public void onEventMainThread(BackInfoModelSix_4F event) {
+ closeDownTimer();
L.i("jjia---------c------1"+event.toString());
hidegif();
dismissProgressDialog();
+ if (isBind){
+ DialogUtil.Companion.setLoadingDialogDismiss(this);
+ if (isShowHint){
+ showHint();
+ }
+ }
dismissProgressDialogCancelble();
tv_offline.setVisibility(View.GONE);
backInfoModelSix_4F = event;
@@ -748,7 +787,7 @@ public class MainSix_4F_ControlActivity extends BaseGradeActivity implements Swi
OffLineDevice();
}
isWaterDialog = false;
- dismissProgressDialog();
+ dismissProgressDialog();
}
private void OffLineDevice() {//设备离线的处理
@@ -1318,4 +1357,33 @@ public class MainSix_4F_ControlActivity extends BaseGradeActivity implements Swi
});
dialog.show();
}
+
+
+ CountDownTimer countDownTimer;
+ int dowmCount = 0;
+ private void startDownTimer(){
+ closeDownTimer();
+ countDownTimer = new CountDownTimer(40000,1000) {
+ @Override
+ public void onTick(long l) {
+ DialogUtil.Companion.setProgress(dowmCount);
+ dowmCount++;
+ }
+
+ @Override
+ public void onFinish() {
+ DialogUtil.Companion.setError();
+ }
+ };
+ countDownTimer.start();
+ }
+
+ private void closeDownTimer(){
+ if (countDownTimer!=null){
+ countDownTimer.cancel();
+ countDownTimer = null;
+ }
+ }
+
+
}
diff --git a/iFish7/src/main/java/com/ifish/activity/MainTabActivity.java b/iFish7/src/main/java/com/ifish/activity/MainTabActivity.java
index 5341c4a0e..79888390c 100644
--- a/iFish7/src/main/java/com/ifish/activity/MainTabActivity.java
+++ b/iFish7/src/main/java/com/ifish/activity/MainTabActivity.java
@@ -721,19 +721,19 @@ public class MainTabActivity extends BaseFragmentActivity {
}
public void onEventMainThread(EventBean event) {
- if (event!=null){
- switch (event.index) {
- case -1:
- startDownTimer();
- break;
- case 1:
- closeDownTimer();
- break;
- default:
-
- break;
- }
- }
+// if (event!=null){
+// switch (event.index) {
+// case -1:
+// startDownTimer();
+// break;
+// case 1:
+// closeDownTimer();
+// break;
+// default:
+//
+// break;
+// }
+// }
}
CountDownTimer countDownTimer;
diff --git a/iFish7/src/main/java/com/ifish/activity/MineActivity.java b/iFish7/src/main/java/com/ifish/activity/MineActivity.java
index 48f6e1af3..f94715d3f 100644
--- a/iFish7/src/main/java/com/ifish/activity/MineActivity.java
+++ b/iFish7/src/main/java/com/ifish/activity/MineActivity.java
@@ -7,11 +7,7 @@
*/
package com.ifish.activity;
-import android.app.AlertDialog;
import android.app.Dialog;
-import android.app.Fragment;
-import android.content.Context;
-import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
@@ -25,7 +21,6 @@ import android.provider.MediaStore;
import android.provider.Settings;
import android.text.TextUtils;
import android.view.View;
-import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.EditText;
import android.widget.ImageView;
@@ -42,7 +37,6 @@ import com.ifish.basebean.LoadHeadImage;
import com.ifish.basebean.User;
import com.ifish.baseclass.BaseActivity;
import com.ifish.baseclass.UriForFile;
-import com.ifish.fragment.DeviceFragment;
import com.ifish.permission.PermissionHelper;
import com.ifish.utils.AnimationUtil;
import com.ifish.utils.AppUtil;
@@ -631,6 +625,17 @@ public class MineActivity extends BaseActivity {
@Override
public void onIndividualPermissionGranted(String[] grantedPermission) {
+//<<<<<<< HEAD
+// AlertDialog.Builder dialog = new AlertDialog.Builder(MineActivity.this);
+// dialog.setCancelable(false);
+// dialog.setMessage("设置头像,请先同意app获取存储和相机权限");
+// dialog.setPositiveButton("确定", new DialogInterface.OnClickListener() {
+// @Override
+// public void onClick(
+// DialogInterface dialog,
+// int which) {
+//=======
+//>>>>>>> feature-online
}
@@ -693,7 +698,6 @@ public class MineActivity extends BaseActivity {
IosAlertDialog openDialog;
private void showPermissionHint(){
-
openDialog = new IosAlertDialog(MineActivity.this).builder();
openDialog.setCancelable(true);
openDialog.setTitle("申请权限目的说明");
@@ -701,10 +705,15 @@ public class MineActivity extends BaseActivity {
openDialog.setPositiveButtonx("继续", new View.OnClickListener() {
@Override
public void onClick(View view) {
- getPermission();
+ if (permissionHelper.checkSelfPermission(permission)) {
+ gallery();
+ }else{
+ getPermission();
+ }
}
});
+
openDialog.setNegativeButton("取消", new View.OnClickListener() {
@Override
public void onClick(View view) {
diff --git a/iFish7/src/main/java/com/ifish/activity/MySettingActivity.java b/iFish7/src/main/java/com/ifish/activity/MySettingActivity.java
index 04574b1f0..657ed27e6 100644
--- a/iFish7/src/main/java/com/ifish/activity/MySettingActivity.java
+++ b/iFish7/src/main/java/com/ifish/activity/MySettingActivity.java
@@ -34,12 +34,14 @@ import com.ifish.baseclass.UriForFile;
import com.ifish.permission.PermissionHelper;
import com.ifish.utils.ActivityManager;
import com.ifish.utils.AnimationUtil;
+import com.ifish.utils.AppUtil;
import com.ifish.utils.Commons;
import com.ifish.utils.HttpListener;
import com.ifish.utils.HttpManager;
import com.ifish.utils.L;
import com.ifish.utils.SPUtil;
import com.ifish.utils.ToastUtil;
+import com.igexin.sdk.PushManager;
import com.lidroid.xutils.HttpUtils;
import com.lidroid.xutils.exception.HttpException;
import com.lidroid.xutils.http.ResponseInfo;
@@ -127,6 +129,8 @@ public class MySettingActivity extends BaseActivity {
findViewById(R.id.rl_devicereset).setOnClickListener(this);
findViewById(R.id.rl_bindphone).setOnClickListener(this);
findViewById(R.id.tv_exit).setOnClickListener(view -> exitAccount());
+ TextView textView = findViewById(R.id.cid);
+ textView.setText(PushManager.getInstance().getClientid(this));
}
private void exitAccount(){
@@ -253,7 +257,12 @@ public class MySettingActivity extends BaseActivity {
private void checkVersion() {
versionCode = versionCode.toUpperCase();
- if (versionCode.equals(HttpManager.getVersionName(MySettingActivity.this))) {
+
+ int code = AppUtil.getVersionValue(versionCode);
+ int appCode = AppUtil.getVersionValue(HttpManager.getVersionName(MySettingActivity.this));
+ L.i("jia---------servercode--"+code);
+ L.i("jia---------appCode--"+appCode);
+ if (appCode>= code) {
ToastUtil.show(MySettingActivity.this, "您使用的是最新版本");
} else {
updateDialog();
diff --git a/iFish7/src/main/java/com/ifish/activity/newbind/AirKissUtil.java b/iFish7/src/main/java/com/ifish/activity/newbind/AirKissUtil.java
index ad45caa57..d71753f1c 100644
--- a/iFish7/src/main/java/com/ifish/activity/newbind/AirKissUtil.java
+++ b/iFish7/src/main/java/com/ifish/activity/newbind/AirKissUtil.java
@@ -532,7 +532,7 @@ public class AirKissUtil {
Commons.HAVE_DEVICE = true;//改变判断是否绑定的变量
Commons.IS_CAMERA = false;
sp.putBoolean(Commons.LoginSPKey.IS_CAMERA, Commons.IS_CAMERA);
- ToastUtil.show(curActivity, "绑定设备成功");
+// ToastUtil.show(curActivity, "绑定设备成功");
AppRoute.newToStart(curActivity,deviceObj,true);
curActivity.finish();
L.i("===================绑定设备成功=" + device_mac);
@@ -599,7 +599,7 @@ public class AirKissUtil {
Commons.HAVE_DEVICE = true;//改变判断是否绑定的变量
Commons.IS_CAMERA = false;
sp.putBoolean(Commons.LoginSPKey.IS_CAMERA, Commons.IS_CAMERA);
- ToastUtil.show(curActivity, "绑定设备成功");
+// ToastUtil.show(curActivity, "绑定设备成功");
AppRoute.newToStart(curActivity,deviceObj,true);
curActivity.finish();
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 dae9ed4db..5ec78398d 100644
--- a/iFish7/src/main/java/com/ifish/activity/newbind/BottomChoiceDialog.java
+++ b/iFish7/src/main/java/com/ifish/activity/newbind/BottomChoiceDialog.java
@@ -148,8 +148,8 @@ public class BottomChoiceDialog extends DialogFragment implements View.OnClickLi
lineAirKiss.setVisibility(View.VISIBLE);
lineAP.setVisibility(View.VISIBLE);
lineSmartConfig.setVisibility(View.GONE);
- // jiablue 暂时隐藏
- lineBle.setVisibility(View.GONE);
+ // jiaxblue 暂时隐藏
+// lineBle.setVisibility(View.GONE);
switch (curConnectType) {
case SmartConfig:
// 处理SmartConfig逻辑
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 c07fbdfee..1087e2fa6 100644
--- a/iFish7/src/main/java/com/ifish/activity/newbind/NewBindDeviceActivity.java
+++ b/iFish7/src/main/java/com/ifish/activity/newbind/NewBindDeviceActivity.java
@@ -28,16 +28,17 @@ import android.widget.RelativeLayout;
import android.widget.TextView;
import androidx.annotation.NonNull;
+import androidx.annotation.RequiresPermission;
import androidx.appcompat.app.AppCompatActivity;
-//jjia-push
-//import com.clj.fastble.BleManager;
-//import com.clj.fastble.callback.BleGattCallback;
-//import com.clj.fastble.callback.BleMtuChangedCallback;
-//import com.clj.fastble.callback.BleNotifyCallback;
-//import com.clj.fastble.callback.BleScanCallback;
-//import com.clj.fastble.callback.BleWriteCallback;
-//import com.clj.fastble.data.BleDevice;
-//import com.clj.fastble.exception.BleException;
+//jjia-xpush
+import com.clj.fastble.BleManager;
+import com.clj.fastble.callback.BleGattCallback;
+import com.clj.fastble.callback.BleMtuChangedCallback;
+import com.clj.fastble.callback.BleNotifyCallback;
+import com.clj.fastble.callback.BleScanCallback;
+import com.clj.fastble.callback.BleWriteCallback;
+import com.clj.fastble.data.BleDevice;
+import com.clj.fastble.exception.BleException;
import com.ifish.activity.BindCameraActivity;
import com.ifish.activity.BindTankActivity;
import com.ifish.activity.BindTankPetActivity;
@@ -58,6 +59,7 @@ import com.ifish.activity.MainThree1CControlActivity;
import com.ifish.activity.MainThreeControlActivity;
import com.ifish.activity.MainTwoControlActivity;
import com.ifish.activity.MainZeroControlActivity;
+import com.ifish.activity.MineActivity;
import com.ifish.activity.R;
import com.ifish.activity.WebViewActivity;
import com.ifish.basebean.BaseBean;
@@ -65,6 +67,7 @@ import com.ifish.basebean.ConnectMessageEvent;
import com.ifish.basebean.Device;
import com.ifish.basebean.EventBean;
import com.ifish.baseclass.BaseGradeActivity;
+import com.ifish.permission.PermissionHelper;
import com.ifish.tcp.BackFunctionCode7_11;
import com.ifish.tcp.ModelCodec;
import com.ifish.tcp.OrderDeviceConnectModel;
@@ -73,6 +76,7 @@ import com.ifish.tcp.ResetDeviceModel;
import com.ifish.utils.ActivityManager;
import com.ifish.utils.AnimationUtil;
import com.ifish.utils.AppRoute;
+import com.ifish.utils.AppUtil;
import com.ifish.utils.BlueToothUtil;
import com.ifish.utils.ByteUtil;
import com.ifish.utils.ClickUtil;
@@ -83,6 +87,7 @@ import com.ifish.utils.L;
import com.ifish.utils.SPUtil;
import com.ifish.utils.ToastUtil;
import com.ifish.utils.WifiAdmin;
+import com.ifish.view.IosAlertDialog;
import com.lidroid.xutils.util.LogUtils;
import java.io.BufferedReader;
@@ -130,12 +135,15 @@ public class NewBindDeviceActivity extends AppCompatActivity {
private Dialog waterTempDialog;
String type = null;
private Activity activity;
+ private PermissionHelper permissionHelper;
+ String[] permission;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_new_bind_device_choice);
activity = this;
-
+ permission = AppUtil.getBluePermissionList();
+ permissionHelper = new PermissionHelper(this, permission, 250);
ActivityManager.getInstance().addActivity(this);
sp=SPUtil.getInstance(this);
@@ -151,8 +159,8 @@ public class NewBindDeviceActivity extends AppCompatActivity {
devicetype = getIntent().getStringExtra("devicetype");
L.i("jjia----------------devicetype="+devicetype);
airKissUtil.init(this,devicetype);
- //jjia-push
-// BleManager.getInstance().disconnectAllDevice();
+ //jjia-xpush
+ BleManager.getInstance().disconnectAllDevice();
if ("bluetooth".equals(type)){
curConnectType = BlueTooth;
}else {
@@ -163,8 +171,8 @@ public class NewBindDeviceActivity extends AppCompatActivity {
switchUIConnectType(curConnectType);
if ("bluetooth".equals(type)){ // 主动去联网
- //jjia-push
-// currentDevice = getIntent().getParcelableExtra("device");
+ //jjia-xpush
+ currentDevice = getIntent().getParcelableExtra("device");
}
EventBus.getDefault().register(this);
@@ -319,6 +327,10 @@ public class NewBindDeviceActivity extends AppCompatActivity {
public void onClick(View v) {
Intent i = new Intent();
i.setClass(NewBindDeviceActivity.this, WebViewActivity.class);
+ if (curConnectType ==ConnectType.BlueTooth){
+ i.putExtra(WebViewActivity.URL, HttpManager.BlueConnectVideoUrl);
+ i.putExtra(WebViewActivity.WEBVIEWTITLE, HttpManager.BlueConnectVideoTitle);
+ }else
if (curConnectType == ConnectType.AirKiss){
i.putExtra(WebViewActivity.URL, HttpManager.AirKissConnectVideoUrl);
i.putExtra(WebViewActivity.WEBVIEWTITLE, HttpManager.AirKissConnectVideoTitle);
@@ -348,15 +360,15 @@ public class NewBindDeviceActivity extends AppCompatActivity {
*/
private void changeView(boolean blue){
- if (blue){
- tvTips2.setVisibility(View.GONE);
- tvTips3.setVisibility(View.GONE);
-
-
- }else {
- tvTips2.setVisibility(View.VISIBLE);
- tvTips3.setVisibility(View.VISIBLE);
- }
+// if (blue){
+// tvTips2.setVisibility(View.GONE);
+// tvTips3.setVisibility(View.GONE);
+//
+//
+// }else {
+// tvTips2.setVisibility(View.VISIBLE);
+// tvTips3.setVisibility(View.VISIBLE);
+// }
}
public void switchUIConnectType(ConnectType connectType) {
resetLayout();
@@ -369,7 +381,7 @@ public class NewBindDeviceActivity extends AppCompatActivity {
tvConnectVideo.setVisibility(View.INVISIBLE);
tvTips.setText("1、插座仅支持2.4G的WiFi网络,不支持5G及双频合一的网络(需在路由器设置中分开)");
tvTips2.setText("2、先长按插座复位键3秒,松手后红灯绿灯同时闪烁以后,再点确定按钮。");
- tvTips3.setText("3、如多次尝试一键联网都不成功,可切换其他联网方式,每次重新连接时插座需断一次电然后重新复位连接。");
+ tvTips3.setText("3、如多次尝试快捷联网都不成功,可切换其他联网方式,每次重新连接时插座需断一次电,然后重新复位连接。");
changeView(false);
break;
case BlueTooth:
@@ -377,10 +389,10 @@ public class NewBindDeviceActivity extends AppCompatActivity {
// 处理SmartConfig逻辑
tvConnectType.setText("蓝牙联网");
tvClickButton.setText("确定");
- tvConnectVideo.setVisibility(View.INVISIBLE);
- tvTips.setText("1、插座仅支持2.4G的WiFi网络,不支持5G及双频合一的网络(需在路由器设置中分开)");
- tvTips2.setText("2、先长按插座复位键3秒,松手后红灯绿灯同时闪烁以后,再点确定按钮。");
- tvTips3.setText("3、如多次尝试一键联网都不成功,可切换其他联网方式,每次重新连接时插座需断一次电然后重新复位连接。");
+// tvConnectVideo.setVisibility(View.INVISIBLE);
+ tvTips.setText("1、插座不支持5G的WiFi网络。");
+ tvTips2.setText("2、先长按插座复位键3秒,松手后红灯绿灯同时闪烁,再点确定按钮。");
+ tvTips3.setText("3、如多次尝试蓝牙联网都不成功,可切换成AP联网方式,每次重新连接时插座需断一次电,然后重新复位连接。");
changeView(true);
break;
case APConnect:
@@ -397,7 +409,7 @@ public class NewBindDeviceActivity extends AppCompatActivity {
tvClickButton.setText("确定");
tvTips.setText("1、插座仅支持2.4G的WiFi网络,不支持5G及双频合一的网络(需在路由器设置中分开)");
tvTips2.setText("2、先长按插座复位键3秒,松手后红灯绿灯同时闪烁以后,再点确定按钮。");
- tvTips3.setText("3、如多次尝试一键联网都不成功,可切换其他联网方式,每次重新连接时插座需断一次电然后重新复位连接。");
+ tvTips3.setText("3、如多次尝试一键联网都不成功,可切换其他联网方式,每次重新连接时插座需断一次电,然后重新复位连接。");
// 处理AirKiss逻辑
changeView(false);
break;
@@ -470,42 +482,13 @@ public class NewBindDeviceActivity extends AppCompatActivity {
break;
case BlueTooth:
+ if (permissionHelper.checkSelfPermission(permission)) {
+ blueClick();
+ } else {
+ showPermissionHint();
+ }
- //jjia-push
-// boolean support = BleManager.getInstance().isSupportBle();
-// if (!support){
-// ToastUtil.show(NewBindDeviceActivity.this,"当前设备不支持低功耗蓝牙");
-// } else {
-// boolean enable = BleManager.getInstance().isBlueEnable();
-// if (enable){
-// if (TextUtils.isEmpty(type)){
-// blueScan();
-// }else {
-// showDialog("开始连接蓝牙设备");
-// connectBle();
-// }
-// }else {
-// AlertDialog.Builder dialog = new AlertDialog.Builder(NewBindDeviceActivity.this, AlertDialog.THEME_HOLO_LIGHT);
-// dialog.setCancelable(false);
-// dialog.setMessage("蓝牙没有打开,现在去申请打开蓝牙,请允许后,再点击'确定'连接");
-// dialog.setPositiveButton("去申请", new DialogInterface.OnClickListener() {
-// @Override
-// public void onClick(
-// DialogInterface dialog,
-// int which) {
-// BlueToothUtil.openBlueTooth(NewBindDeviceActivity.this);
-// }
-// });
-// dialog.setNegativeButton("拒绝", new DialogInterface.OnClickListener() {
-// @Override
-// public void onClick(DialogInterface dialog, int which) {
-// finish();
-// }
-// });
-// dialog.show();
-// }
-// }
break;
case APConnect:
@@ -515,49 +498,167 @@ public class NewBindDeviceActivity extends AppCompatActivity {
case AirKiss:
// 处理AirKiss逻辑
L.i("jjia----------------bssid="+bssid);
- ToastUtil.show(NewBindDeviceActivity.this, "开始AirKiss联网...");
+// ToastUtil.show(NewBindDeviceActivity.this, "开始AirKiss联网...");
airKissUtil.connectDeviceByAirKiss(this, ssid, bssid, pwd);
break;
}
}
-//jjia-push
-// private void blueScan(){
-// BleManager.getInstance().scan(new BleScanCallback() {
-// @Override
-// public void onScanFinished(List scanResultList) {
-//
-// if (currentDevice!=null){
-// connectBle();
-// }else {
-// ToastUtil.show(NewBindDeviceActivity.this,"扫描结束,没有搜索到可用设备");
-// dismissDialog();
-// }
-// }
-//
-// @Override
-// public void onScanStarted(boolean success) {
-//// ToastUtil.show(NewBindDeviceActivity.this,"开始扫描");
-// showDialog("正在搜索附近设备,请确保设备处于配网状态");
-// }
-//
-// @SuppressLint("MissingPermission")
-// @Override
-// public void onScanning(BleDevice bleDevice) {
-// if (bleDevice!=null && bleDevice.getDevice()!=null){
-// BluetoothDevice bean = bleDevice.getDevice();
-// if (!TextUtils.isEmpty(bean.getName()) && bean.getName().startsWith("ifish")){
-// currentDevice = bleDevice;
-//// tvname.setText(bean.getName()+bean.getAddress());
-// BleManager.getInstance().cancelScan();
-// }
-// L.i(bean.getName()+"jjia---------"+bean.getAddress());
-// }
-// }
-// });
-// }
+
+ private void showPermissionHint(){
+ IosAlertDialog dialog = new IosAlertDialog(this).builder();
+ dialog.setCancelable(false);
+ dialog.setTitle("权限申请理由");
+ dialog.setMessage("蓝牙联网,需要app获取手机的蓝牙扫描权限才能进行蓝牙扫描,是否允许申请蓝牙扫描相关权限?");
+ dialog.setNegativeButton("拒绝", view -> {
+
+ });
+ dialog.setPositiveButton("申请", view ->
+ {
+ getPermission();
+ });
+ dialog.show();
+ }
+
+ private void getPermission() {
+ permissionHelper.request(new PermissionHelper.PermissionCallback() {
+ @Override
+ public void onPermissionGranted() {
+ blueClick();
+ }
+
+ @Override
+ public void onIndividualPermissionGranted(String[] grantedPermission) {
+ AlertDialog.Builder dialog = new AlertDialog.Builder(NewBindDeviceActivity.this);
+ dialog.setCancelable(false);
+ dialog.setMessage("蓝牙联网,请先同意app获取蓝牙相关权限");
+ dialog.setPositiveButton("确定", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(
+ DialogInterface dialog,
+ int which) {
+
+ }
+ });
+ dialog.setNegativeButton("取消", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ }
+ });
+ dialog.show();
+ }
+
+ @Override
+ public void onPermissionDenied() {
+ AlertDialog.Builder dialog = new AlertDialog.Builder(NewBindDeviceActivity.this);
+ dialog.setCancelable(false);
+ dialog.setMessage("蓝牙联网,请先同意app获取蓝牙相关权限");
+ dialog.setPositiveButton("确定", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(
+ DialogInterface dialog,
+ int which) {
+ getPermission();
+ }
+ });
+ dialog.setNegativeButton("取消", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ }
+ });
+ dialog.show();
+ }
+
+ @Override
+ public void onPermissionDeniedBySystem() {
+ AlertDialog.Builder dialog = new AlertDialog.Builder(NewBindDeviceActivity.this);
+ dialog.setCancelable(false);
+ dialog.setTitle("温馨提示");
+ dialog.setMessage("蓝牙联网,请到应用信息页面-权限管理-打开蓝牙权限");
+ dialog.setPositiveButton("去开启", (dialog1, which) -> {
+ AppUtil.toAuthority(NewBindDeviceActivity.this);
+ });
+ dialog.setNegativeButton("取消", (dialog12, which) -> {
+ });
+ dialog.show();
+ }
+ });
+ }
+
+
+ private void blueClick(){
+ //jjia-xpush
+ boolean support = BleManager.getInstance().isSupportBle();
+ if (!support){
+ ToastUtil.show(NewBindDeviceActivity.this,"当前设备不支持低功耗蓝牙");
+ } else {
+ boolean enable = BleManager.getInstance().isBlueEnable();
+ if (enable){
+ if (TextUtils.isEmpty(type)){
+ blueScan();
+ }else {
+ showDialog("开始连接蓝牙设备");
+ connectBle();
+ }
+ }else {
+ AlertDialog.Builder dialog = new AlertDialog.Builder(NewBindDeviceActivity.this, AlertDialog.THEME_HOLO_LIGHT);
+ dialog.setCancelable(false);
+ dialog.setMessage("蓝牙没有打开,现在去申请打开蓝牙,请允许后,再点击'确定'连接");
+ dialog.setPositiveButton("去申请", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(
+ DialogInterface dialog,
+ int which) {
+ BlueToothUtil.openBlueTooth(NewBindDeviceActivity.this);
+ }
+ });
+ dialog.setNegativeButton("拒绝", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ finish();
+ }
+ });
+ dialog.show();
+ }
+ }
+ }
+//jjia-xpush
+ private void blueScan(){
+ BleManager.getInstance().scan(new BleScanCallback() {
+ @Override
+ public void onScanFinished(List scanResultList) {
+
+ if (currentDevice!=null){
+ connectBle();
+ }else {
+ ToastUtil.show(NewBindDeviceActivity.this,"扫描结束,没有搜索到可用设备");
+ dismissDialog();
+ }
+ }
+
+ @Override
+ public void onScanStarted(boolean success) {
+// ToastUtil.show(NewBindDeviceActivity.this,"开始扫描");
+ showDialog("正在搜索附近设备,请确保设备处于配网状态");
+ }
+
+ @SuppressLint("MissingPermission")
+ @Override
+ public void onScanning(BleDevice bleDevice) {
+ if (bleDevice!=null && bleDevice.getDevice()!=null){
+ BluetoothDevice bean = bleDevice.getDevice();
+ if (!TextUtils.isEmpty(bean.getName()) && bean.getName().startsWith("ifish")){
+ currentDevice = bleDevice;
+// tvname.setText(bean.getName()+bean.getAddress());
+ BleManager.getInstance().cancelScan();
+ }
+ L.i(bean.getName()+"jjia---------"+bean.getAddress());
+ }
+ }
+ });
+ }
private boolean isJump = false;
- //jjia-push
-// BleDevice currentDevice;
+ //jjia-xpush
+ BleDevice currentDevice;
/**
* 1.跳转设置页面连接ifish-xxx的wifi,连接成功后返回
*/
@@ -636,142 +737,153 @@ public class NewBindDeviceActivity extends AppCompatActivity {
}
}
}
- //jjia-push
+ //jjia-xpush
private String device_mac;
-// private void openNotify(){
-// BleManager.getInstance().notify(currentDevice, SERVICE_UUID, WRITE_UUID, new BleNotifyCallback() {
-// @Override
-// public void onNotifySuccess() {
-// sendBleData();
-// }
-//
-// @Override
-// public void onNotifyFailure(BleException exception) {
-//// dismissProgressDialogCancelble();
-// dismissDialog();
-// }
-//
-// @Override
-// public void onCharacteristicChanged(byte[] data) {
-//
-// if (data!=null && data.length>0){
-// int check_code = data[1];
-// int length = data[14];
-// byte[] dataByte = new byte[length];
-// for (int i = 0; i < dataByte.length; i++) {
-// dataByte[i] = data[i];
-// }
-//
-// Object object = ModelCodec.deCode(dataByte,Commons.IoBuffer);
-// if (object!=null && object instanceof BackFunctionCode7_11){
-// BackFunctionCode7_11 model = (BackFunctionCode7_11) object;
-// String status = ByteUtil.toHex(model.getStatus());
-// device_mac = ByteUtil.bytesToHexString(model.getSrc());
-//
-//
-// dismissDialog();
-// if (!TextUtils.isEmpty(device_mac)){
-// showDialog("正在绑定设备...");
-// connectDevice.cancel();
-// connectDevice.start();
-// }
-//// checkoutMac(device_mac);
-// }
-// L.i("jjia-------check_code-"+check_code);
-// L.i("jjia-------length-"+length);
-// L.i("jjia-------device_mac-"+device_mac);
-// }
-// }
-// });
-// }
+ private void openNotify(){
+ BleManager.getInstance().notify(currentDevice, SERVICE_UUID, WRITE_UUID, new BleNotifyCallback() {
+ @Override
+ public void onNotifySuccess() {
+ sendBleData();
+ }
+
+ @Override
+ public void onNotifyFailure(BleException exception) {
+// dismissProgressDialogCancelble();
+ dismissDialog();
+ }
+
+ @Override
+ public void onCharacteristicChanged(byte[] data) {
+
+ if (data!=null && data.length>0){
+ int check_code = data[1];
+ int length = data[14];
+ byte[] dataByte = new byte[length];
+ for (int i = 0; i < dataByte.length; i++) {
+ dataByte[i] = data[i];
+ }
+
+ Object object = ModelCodec.deCode(dataByte,Commons.IoBuffer);
+ if (object!=null && object instanceof BackFunctionCode7_11){
+ BackFunctionCode7_11 model = (BackFunctionCode7_11) object;
+ String status = ByteUtil.toHex(model.getStatus());
+ device_mac = ByteUtil.bytesToHexString(model.getSrc());
+
+
+ dismissDialog();
+ if (!TextUtils.isEmpty(device_mac)){
+ showDialog("正在绑定设备...");
+ connectDevice.cancel();
+ connectDevice.start();
+ }
+// checkoutMac(device_mac);
+ }
+ L.i("jjia-------check_code-"+check_code);
+ L.i("jjia-------length-"+length);
+ L.i("jjia-------device_mac-"+device_mac);
+ }
+ }
+ });
+ }
int devicePosition = 0;
- //jjia-push
-// private void sendBleData(){
-//
-// String ssid = tvWifiName.getText().toString();
-// String pwd = tvWifiPwd.getText().toString();
-//
-// OrderDeviceConnectModel model = OrderModel.OrderDeviceConnectModel(ssid, pwd,true);//设置正式环境域名
-// byte[] data = ModelCodec.enCode(model, Commons.IoBuffer);
-// BleManager.getInstance().write(currentDevice, SERVICE_UUID, WRITE_UUID, data,false, new BleWriteCallback() {
-// @Override
-// public void onWriteSuccess(int current, int total, byte[] justWrite) {
-//
-// L.i("jjia-------------ssid 发送");
-// }
-//
-// @Override
-// public void onWriteFailure(BleException exception) {
-//
-// }
-// });
-// }
- //jjia-push
-// private void toReset(){
-// ResetDeviceModel model = OrderModel.resetDevice();//设置正式环境域名
-// byte[] data = ModelCodec.enCode(model);
-//// data = new byte[1];
-//
-//// QueryTempeSettingModel xx = OrderModel.OrderQueryTempeSettingModel(device_mac);
-//// byte[] data = ModelCodec.enCode(xx);
-// BleManager.getInstance().write(currentDevice, SERVICE_UUID, WRITE_UUID, data,false, new BleWriteCallback() {
-// @Override
-// public void onWriteSuccess(int current, int total, byte[] justWrite) {
-// L.i("jjia-------------重启 发送 成功-");
-// }
-//
-// @Override
-// public void onWriteFailure(BleException exception) {
-// L.i("jjia-------------重启 发送 失败"+exception.toString());
-// }
-// });
-// }
+ //jjia-xpush
+ private void sendBleData(){
+
+ String ssid = tvWifiName.getText().toString();
+ String pwd = tvWifiPwd.getText().toString();
+
+ OrderDeviceConnectModel model = OrderModel.OrderDeviceConnectModel(ssid, pwd,true);//设置正式环境域名
+ byte[] data = ModelCodec.enCode(model, Commons.IoBuffer);
+ BleManager.getInstance().write(currentDevice, SERVICE_UUID, WRITE_UUID, data,false, new BleWriteCallback() {
+ @Override
+ public void onWriteSuccess(int current, int total, byte[] justWrite) {
+
+ L.i("jjia-------------ssid 发送ok");
+ }
+
+ @Override
+ public void onWriteFailure(BleException exception) {
+ L.i("jjia-------------发送-失败"+exception.toString());
+ }
+ });
+ }
+ //jjia-xpush
+ private void toReset(){
+ ResetDeviceModel model = OrderModel.resetDevice();//设置正式环境域名
+ byte[] data = ModelCodec.enCode(model,Commons.IoBuffer);
+// data = new byte[1];
+
+// QueryTempeSettingModel xx = OrderModel.OrderQueryTempeSettingModel(device_mac);
+// byte[] data = ModelCodec.enCode(xx);
+ BleManager.getInstance().write(currentDevice, SERVICE_UUID, WRITE_UUID, data,false, new BleWriteCallback() {
+ @Override
+ public void onWriteSuccess(int current, int total, byte[] justWrite) {
+ L.i("jjia-------------重启 发送 成功-");
+ }
+
+ @Override
+ public void onWriteFailure(BleException exception) {
+ L.i("jjia-------------重启 发送 失败"+exception.toString());
+ }
+ });
+ }
public static final String SERVICE_UUID = "000000ff-0000-1000-8000-00805f9b34fb"; //蓝牙通讯服务
public static final String READ_UUID = "0000ff01-0000-1000-8000-00805f9b34fb"; //读特征
public static final String WRITE_UUID = "0000ff01-0000-1000-8000-00805f9b34fb"; //写特征
- //jjia-push
-// private void connectBle(){
-// BleManager.getInstance().connect(currentDevice, new BleGattCallback() {
-// @Override
-// public void onStartConnect() {
-// showDialog("开始连接蓝牙设备");
-// }
-//
-// @Override
-// public void onConnectFail(BleDevice bleDevice, BleException exception) {
-// ToastUtil.show(NewBindDeviceActivity.this,"连接蓝牙设备失败,请重试");
-// dismissDialog();
-// }
-//
-// @Override
-// public void onConnectSuccess(BleDevice bleDevice, BluetoothGatt gatt, int status) {
-//// ToastUtil.show(NewBindDeviceActivity.this,"蓝牙连接成功");
-//// setMessage("蓝牙连接成功");
-// BleManager.getInstance().setMtu(bleDevice, 512, new BleMtuChangedCallback() {
-// @Override
-// public void onSetMTUFailure(BleException exception) {
-// L.i("jjia-------MTU--"+exception.toString());
-// dismissDialog();
-// }
-//
-// @Override
-// public void onMtuChanged(int mtu) {
-// L.i("jjia-------MTU--"+mtu);
-// openNotify();
-// }
-// });
-// }
-//
-// @Override
-// public void onDisConnected(boolean isActiveDisConnected, BleDevice device, BluetoothGatt gatt, int status) {
-//// ToastUtil.show(NewBindDeviceActivity.this,"连接断开了");
-// }
-// });
-// }
+ // 全局gatt
+ private BluetoothGatt mGatt;
+ //jjia-xpush
+ private void connectBle(){
+ BleManager.getInstance().connect(currentDevice, new BleGattCallback() {
+ @RequiresPermission(Manifest.permission.BLUETOOTH_CONNECT)
+ @Override
+ public void onStartConnect() {
+
+ if (mGatt!=null){
+ mGatt.disconnect();
+ mGatt.close();
+ mGatt = null;
+ }
+ showDialog("开始连接蓝牙设备");
+ }
+
+ @Override
+ public void onConnectFail(BleDevice bleDevice, BleException exception) {
+ ToastUtil.show(NewBindDeviceActivity.this,"连接蓝牙设备失败,请重试");
+ dismissDialog();
+ }
+
+ @Override
+ public void onConnectSuccess(BleDevice bleDevice, BluetoothGatt gatt, int status) {
+// ToastUtil.show(NewBindDeviceActivity.this,"蓝牙连接成功");
+// setMessage("蓝牙连接成功");
+
+ mGatt = gatt;
+ BleManager.getInstance().setMtu(bleDevice, 512, new BleMtuChangedCallback() {
+ @Override
+ public void onSetMTUFailure(BleException exception) {
+ L.i("jjia-------MTU--"+exception.toString());
+ dismissDialog();
+ }
+
+ @Override
+ public void onMtuChanged(int mtu) {
+ L.i("jjia-------MTU--"+mtu);
+ openNotify();
+ }
+ });
+ }
+
+ @Override
+ public void onDisConnected(boolean isActiveDisConnected, BleDevice device, BluetoothGatt gatt, int status) {
+// ToastUtil.show(NewBindDeviceActivity.this,"连接断开了");
+ }
+ });
+ }
private Activity act;
private ConnectDevice connectDevice;
private boolean isContinue = true;
@@ -791,8 +903,8 @@ public class NewBindDeviceActivity extends AppCompatActivity {
@Override
public int compareTo(Boolean available) {
if (available) {
- //jjia-push
-// toReset();
+ //jjia-xpush
+ toReset();
isContinue = false;
connectDevice.cancel();
L.i("jjia-----------调用绑定接口---");
@@ -996,7 +1108,7 @@ public class NewBindDeviceActivity extends AppCompatActivity {
}
- ToastUtil.show(NewBindDeviceActivity.this, "设备序号" + Commons.DevicePosition + "---" + Commons.DEVICE.size());
+// ToastUtil.show(NewBindDeviceActivity.this, "设备序号" + Commons.DevicePosition + "---" + Commons.DEVICE.size());
if (deviceObj!=null){
@@ -1036,7 +1148,7 @@ public class NewBindDeviceActivity extends AppCompatActivity {
private void toIntent(Device device){
dismissDialog();
- ToastUtil.show(NewBindDeviceActivity.this, "绑定设备成功");
+// ToastUtil.show(NewBindDeviceActivity.this, "绑定设备成功");
AppRoute.newToStart(NewBindDeviceActivity.this,device,true);
EventBus.getDefault().post(new ConnectMessageEvent(1, "test"));
finish();
@@ -1088,7 +1200,7 @@ public class NewBindDeviceActivity extends AppCompatActivity {
Commons.HAVE_DEVICE = true;//改变判断是否绑定的变量
Commons.IS_CAMERA = false;
sp.putBoolean(Commons.LoginSPKey.IS_CAMERA, Commons.IS_CAMERA);
- ToastUtil.show(NewBindDeviceActivity.this, "绑定设备成功");
+// ToastUtil.show(NewBindDeviceActivity.this, "绑定设备成功");
AppRoute.newToStart(NewBindDeviceActivity.this,deviceObj,true);
finish();
L.i("===================绑定设备成功=" + device_mac);
@@ -1145,23 +1257,23 @@ public class NewBindDeviceActivity extends AppCompatActivity {
// myProgressDialogCancelble = null;
// }
// }
- //jjia-push
-// List deviceList;
+ //jjia-xpush
+ List deviceList;
@SuppressLint("MissingPermission")
private void findConencted(){
- //jjia-push
-// deviceList = BleManager.getInstance().getAllConnectedDevice();
-// if (deviceList!=null && deviceList.size()>0){
-// for (BleDevice item:deviceList){
-// if (item!=null){
-// L.i("jjia-----------"+item.getDevice().getName());
-// }
-// }
-//
-// }else {
-// L.i("jjia--------没有连接的蓝牙---");
-// }
+ //jjia-xpush
+ deviceList = BleManager.getInstance().getAllConnectedDevice();
+ if (deviceList!=null && deviceList.size()>0){
+ for (BleDevice item:deviceList){
+ if (item!=null){
+ L.i("jjia-----------"+item.getDevice().getName());
+ }
+ }
+
+ }else {
+ L.i("jjia--------没有连接的蓝牙---");
+ }
}
@Override
@@ -1171,6 +1283,10 @@ public class NewBindDeviceActivity extends AppCompatActivity {
L.i(requestCode+"jjia--------result-1--"+requestCode);
if (101== requestCode && 0==resultCode){
checkNet();
+ }else if(250==requestCode){
+ if (permissionHelper.checkSelfPermission(permission)) {
+ blueClick();
+ }
}
}
private void showDialog(String msg){
diff --git a/iFish7/src/main/java/com/ifish/basebean/EventBean.java b/iFish7/src/main/java/com/ifish/basebean/EventBean.java
index d3c027d8d..c3e221bc6 100644
--- a/iFish7/src/main/java/com/ifish/basebean/EventBean.java
+++ b/iFish7/src/main/java/com/ifish/basebean/EventBean.java
@@ -10,7 +10,7 @@ public class EventBean {
public String name;
public String value;
public int index = 0;
- // jiablue
+ // jiaxblue
// public static String BLUETOOTH_START_SCAN = "start_scan";
public static String BACK_STAGE = "back_stage";
public static String TAB_INDEX = "tab_index";
diff --git a/iFish7/src/main/java/com/ifish/baseclass/BaseApplication.java b/iFish7/src/main/java/com/ifish/baseclass/BaseApplication.java
index 2e400944b..d2b0246a7 100644
--- a/iFish7/src/main/java/com/ifish/baseclass/BaseApplication.java
+++ b/iFish7/src/main/java/com/ifish/baseclass/BaseApplication.java
@@ -19,17 +19,16 @@ import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.multidex.MultiDexApplication;
-//import com.clj.fastble.BleManager;
-//import com.clj.fastble.scan.BleScanRuleConfig;
+import com.clj.fastble.BleManager;
+import com.clj.fastble.scan.BleScanRuleConfig;
import com.ifish.activity.BuildConfig;
import com.ifish.basebean.EventBean;
import com.ifish.utils.ActivityManager;
import com.ifish.utils.ImageDownLoader;
import com.ifish.utils.L;
import com.ifish.utils.SystemUtil;
+import com.ifish.utils.ToastUtil;
import com.ifish.utils.TrustAllCerts;
-//import com.igexin.sdk.PushManager;
-import com.igexin.sdk.PushManager;
import com.p2p.core.P2PSpecial.P2PSpecial;
import com.squareup.picasso.Picasso;
@@ -80,21 +79,19 @@ public class BaseApplication extends MultiDexApplication {
P2PSpecial.getInstance().init(app, APPID, APPToken, APPVersion);
initLog();
initPicasso();
- //jjia-push
-// BleManager.getInstance().init(this);
+ //jjia-xpush
+ BleManager.getInstance().init(this);
UUID[] uuids = {UUID.fromString(SERVICE_UUID)};
- //jjia-push
-// BleScanRuleConfig scanRuleConfig = new BleScanRuleConfig.Builder()
-// .setServiceUuids(uuids) // 只扫描指定的服务的设备,可选
-//// .setDeviceName(true, names) // 只扫描指定广播名的设备,可选
-//// .setDeviceMac(mac) // 只扫描指定mac的设备,可选
-//// .setAutoConnect(isAutoConnect) // 连接时的autoConnect参数,可选,默认false
-// .setScanTimeOut(30000) // 扫描超时时间30S,可选,默认10秒;小于等于0表示不限制扫描时间
-// .build();
-// BleManager.getInstance().initScanRule(scanRuleConfig);
-
-
+ //jjia-xpush
+ BleScanRuleConfig scanRuleConfig = new BleScanRuleConfig.Builder()
+ .setServiceUuids(uuids) // 只扫描指定的服务的设备,可选
+// .setDeviceName(true, names) // 只扫描指定广播名的设备,可选
+// .setDeviceMac(mac) // 只扫描指定mac的设备,可选
+// .setAutoConnect(isAutoConnect) // 连接时的autoConnect参数,可选,默认false
+ .setScanTimeOut(30000) // 扫描超时时间30S,可选,默认10秒;小于等于0表示不限制扫描时间
+ .build();
+ BleManager.getInstance().initScanRule(scanRuleConfig);
registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
@Override
public void onActivityCreated(@NonNull Activity activity, @Nullable Bundle bundle) {
@@ -151,8 +148,6 @@ public class BaseApplication extends MultiDexApplication {
}
});
-
-
}
/**
@@ -163,7 +158,6 @@ public class BaseApplication extends MultiDexApplication {
@Override
public void onActivityCreated(Activity activity, Bundle bundle) {
Log.i("ifish7", "LHD" + "---" + activity.getLocalClassName());
-
}
@Override
diff --git a/iFish7/src/main/java/com/ifish/fragment/DeviceFragment.java b/iFish7/src/main/java/com/ifish/fragment/DeviceFragment.java
index 84d80d4d4..afd823d1e 100644
--- a/iFish7/src/main/java/com/ifish/fragment/DeviceFragment.java
+++ b/iFish7/src/main/java/com/ifish/fragment/DeviceFragment.java
@@ -9,6 +9,7 @@ package com.ifish.fragment;
import static android.Manifest.permission.WRITE_EXTERNAL_STORAGE;
+import android.Manifest;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.AlertDialog;
@@ -35,6 +36,7 @@ import android.provider.Settings;
import android.text.TextUtils;
import android.util.DisplayMetrics;
import android.util.Log;
+import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
@@ -54,11 +56,11 @@ import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import com.bumptech.glide.Glide;
-//jjia-push
-//import com.clj.fastble.BleManager;
-//import com.clj.fastble.callback.BleScanCallback;
-//import com.clj.fastble.data.BleDevice;
-//import com.clj.fastble.data.BleScanState;
+//jjia-xpush
+import com.clj.fastble.BleManager;
+import com.clj.fastble.callback.BleScanCallback;
+import com.clj.fastble.data.BleDevice;
+import com.clj.fastble.data.BleScanState;
import com.ifish.activity.BindTwoDeviceActivity;
import com.ifish.activity.BuildConfig;
import com.ifish.activity.DeviceInstructionActivity;
@@ -196,7 +198,8 @@ public class DeviceFragment extends BaseV4Fragment implements ObservableScrollVi
public static Activity cam_ctx;
private PermissionHelper permissionHelper;
- String[] permission;
+// String[] permission;
+ String[] permission_blue;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
@@ -218,9 +221,11 @@ public class DeviceFragment extends BaseV4Fragment implements ObservableScrollVi
adInfos();
initInformation();
- permission = new String[]{android.Manifest.permission.ACCESS_FINE_LOCATION};
- permissionHelper = new PermissionHelper(DeviceFragment.this, permission, 250);
-// initBooth();
+// permission = new String[]{android.Manifest.permission.ACCESS_FINE_LOCATION};
+ permission_blue = AppUtil.getBluePermissionList();
+ permissionHelper = new PermissionHelper(DeviceFragment.this, permission_blue, 250);
+
+ initBooth();
boolean notificationsEnabled = PushManager.getInstance().areNotificationsEnabled(requireActivity());
if (!notificationsEnabled){
toOpenNotifications();
@@ -274,9 +279,6 @@ public class DeviceFragment extends BaseV4Fragment implements ObservableScrollVi
@Override
public void onPermissionGranted() {
-
-
-
Intent intent = new Intent();
intent.setClass(getActivity(), BindTwoDeviceActivity.class);
startActivity(intent);
@@ -331,7 +333,7 @@ public class DeviceFragment extends BaseV4Fragment implements ObservableScrollVi
AlertDialog.Builder dialog = new AlertDialog.Builder(getContext());
dialog.setCancelable(false);
dialog.setTitle("温馨提示");
- dialog.setMessage("请到应用信息页面-权限管理-打开位置权限,不然是发现不了附近的wifi的,将无法进行配网连接您的智能设备");
+ dialog.setMessage("请到应用信息页面-权限管理-打开位置权限,不然是发现不了附近的wifi或智能插座,将无法进行配网连接您的智能设备");
dialog.setPositiveButton("去开启", (dialog1, which) -> {
AppUtil.toAuthority(requireActivity());
});
@@ -669,20 +671,15 @@ public class DeviceFragment extends BaseV4Fragment implements ObservableScrollVi
}
};
- private int getVersionValue(String value){
- String valueStr = value.replace("V","").replace("v","").replace(".","");
- return Integer.parseInt(TextUtils.isEmpty(valueStr)?"0":valueStr);
- }
+
private void checkVersion() {
versionCode = versionCode.toUpperCase();
spversionCode = sp.getString("versionCode","");
- int versionCodeValue = getVersionValue(versionCode);
-// int spversionCodeValue = getVersionValue(spversionCode);
- int appCodeValue = getVersionValue(HttpManager.getVersionName(requireActivity()));
+ int versionCodeValue = AppUtil.getVersionValue(versionCode);
+ int appCodeValue = AppUtil.getVersionValue(HttpManager.getVersionName(requireActivity()));
L.i("jjia-------1-"+versionCodeValue);
L.i("jjia-------3-"+appCodeValue);
-// if (!HttpManager.getVersionName(requireActivity()).equals(versionCode) && !spversionCode.equals(versionCode)) {
if (versionCodeValue > appCodeValue && !spversionCode.equals(versionCode)) {
if (!MustUpdate.equals(isMustUpdate)) {
sp.putString("versionCode",versionCode);
@@ -1135,8 +1132,6 @@ public class DeviceFragment extends BaseV4Fragment implements ObservableScrollVi
@Override
public void onResume() {
super.onResume();
-//// deviceAdapter.notifyDataSetChanged();
-//// cameraAdapter.notifyDataSetChanged();
showDevice = PetDeviceGetDistinguish.getShowDevice(getContext());
showCamera = PetDeviceGetDistinguish.getFishCameras(Commons.CAMERA);
deviceAdapter = new DeviceFragmentAdapter(getActivity(), showDevice);
@@ -1145,10 +1140,70 @@ public class DeviceFragment extends BaseV4Fragment implements ObservableScrollVi
lv_camera.setAdapter(cameraAdapter);
setUserInfo();
- // jiablue
-// startDownTimer();
+ // jiaxblue
+ startDownTimer();
}
+ @Override
+ public void onStart() {
+ super.onStart();
+ Activity activityName = ActivityManager.getInstance().lastActivity();
+ if (activityName!=null && activityName.toString().contains("MainTabActivity")){
+
+ }
+
+ }
+ @Override
+ public void onPause() {
+ super.onPause();
+ oonPause();
+ L.i("jjia-x-----xxx-----2");
+ }
+
+
+ @Override
+ public void onStop() {
+ super.onStop();
+ Activity activityName = ActivityManager.getInstance().lastActivity();
+ if (activityName!=null && activityName.toString().contains("MainTabActivity")){
+
+ }
+
+ }
+
+ // jiaxblue
+ public void onEventMainThread(EventBean eventBean){
+ if (eventBean!= null){
+// if (EventBean.BLUETOOTH_START_SCAN.equals(eventBean.name)){
+// L.i("jjia-x-----start-----");
+// if (!isShowEd){
+// initBooth();
+// }
+// }else if (EventBean.BLUETOOTH_STOP_SCAN.equals(eventBean.name)){
+// L.i("jjia-x-----stop-----");
+// if (!isShowIng){
+// currentDevice = null;
+// }
+// if (AppUtil.checkSelfPermission(getContext(),permission_blue)) {
+// BleManager.getInstance().cancelScan();
+// }
+//
+// }else
+ if (EventBean.TAB_INDEX.equals(eventBean.name)){
+ currentIndex = eventBean.index;
+ L.i("jjia-x----tab_index--"+eventBean.index);
+ if (currentIndex == 0){
+ startDownTimer();
+ }else {
+ oonPause();
+ }
+ }else if (EventBean.HEADER.equals(eventBean.name)){
+ Glide.with(getActivity()).load(eventBean.value).into(iv_head);
+ }
+ }
+ }
+
+
private void setUserInfo() {
try {
@@ -1192,7 +1247,6 @@ public class DeviceFragment extends BaseV4Fragment implements ObservableScrollVi
lv_camera.setAdapter(cameraAdapter);
return;
}
-// Intent intent = new Intent();
int index = 0;
for (int i1 = 0; i1 < Commons.DEVICE.size(); i1++) {
if (showDevice.get(position).getDeviceId().equals(Commons.DEVICE.get(i1).getDeviceId())) {
@@ -1205,88 +1259,6 @@ public class DeviceFragment extends BaseV4Fragment implements ObservableScrollVi
sp.putBoolean(LoginSPKey.IS_CAMERA, Commons.IS_CAMERA);
Device clickItem = (Device) lv_device.getItemAtPosition(position);
AppRoute.newToStart(requireActivity(),clickItem,false);
-// try {
-// Integer controlAmount = Commons.DEVICE.get(Commons.DevicePosition).getControlAmount();
-// Integer timerAmount = Commons.DEVICE.get(Commons.DevicePosition).getTimerAmount();
-// String type = Commons.DEVICE.get(Commons.DevicePosition).type;
-//
-//
-// L.i("jjia-------mainclick--type-"+type);
-// L.i("jjia-------mainclick--"+Commons.DEVICE.get(Commons.DevicePosition).toString());
-// if (Commons.FishKey.On.equals(Commons.DEVICE.get(Commons.DevicePosition).isBlacklist)) {//黑名单
-// i.setClass(getActivity(), BlackListActivity.class);
-// } else {
-// if (Device.TYPE_1C.equals(type)) {
-// i.setClass(getActivity(), MainThree1CControlActivity.class);
-// } else if (Device.TYPE_AA.equals(type)) {
-// i.setClass(getActivity(), MainFiveControlActivity.class);
-// } else if (Device.TYPE_BD.equals(type)) {
-// i.setClass(getActivity(), MainFiveBDControlActivity.class);
-// } else if (Device.TYPE_2A.equals(type)) {
-// i.setClass(getActivity(), MainSix_2A_ControlActivity.class);
-// } else if (Device.TYPE_2B.equals(type)) {
-// i.setClass(getActivity(), MainFour_2B_ControlActivity.class);
-// } else if (Device.TYPE_3A.equals(type)) {
-// i.setClass(getActivity(), MainHot_3A_ControlActivity.class);
-// } else if (Device.TYPE_2F.equals(type)) {
-// i.setClass(getActivity(), MainSeven_2F_ControlActivity.class);
-// } else if (Device.TYPE_3F.equals(type)) {
-// i.setClass(getActivity(), MainFour_3F_ControlActivity.class);
-// } else if (Device.TYPE_4F.equals(type) || Device.TYPE_5F.equals(type)) {
-// i.setClass(getActivity(), MainSix_4F_ControlActivity.class);
-// } else {
-// if (controlAmount == null) {//如果控制器返回空 则默认给三控的页面
-// i.setClass(getActivity(), MainThreeControlActivity.class);
-// } else {
-// i.setClass(getActivity(), MainThreeControlActivity.class);
-// switch (controlAmount) {
-// case 0: {
-// i.setClass(getActivity(), MainZeroControlActivity.class);
-// break;
-// }
-// case 2: {
-// i.setClass(getActivity(), MainTwoControlActivity.class);
-// break;
-// }
-// case 3: {
-// i.setClass(getActivity(), MainThreeControlActivity.class);
-// break;
-// }
-// case 4: {
-// if (timerAmount == 6) { // 可丽爱
-// i.setClass(getActivity(), MainFiveControlActivity.class);
-// } else {//4控
-// i.setClass(getActivity(), MainFourControlActivity.class);
-// }
-// break;
-// }
-// case 5: {
-// if (6 == timerAmount) {//5控六定时器 询多页面
-// i.setClass(getActivity(), MainSixControlActivity.class);
-// }
-// break;
-// }
-// case 8: {
-// i.setClass(getActivity(), MainEightControlActivity.class);
-// break;
-// }
-// default: {
-// i.setClass(getActivity(), MainThreeControlActivity.class);
-// break;
-// }
-// }
-// }
-// }
-// }
-// } catch (Exception e) {
-// ClipboardManager clipboardManager = (ClipboardManager) getActivity().getSystemService(Context.CLIPBOARD_SERVICE);
-// ClipData mClipData = ClipData.newPlainText("Label", e.getMessage() + getStackTrace(e));
-// clipboardManager.setPrimaryClip(mClipData);
-// Toast.makeText(getActivity(), "错误日志复制到剪贴板!", Toast.LENGTH_SHORT).show();
-// i.setClass(getActivity(), MainThreeControlActivity.class);
-// }
-// startActivity(i);
-// AnimationUtil.startAnimation(getActivity());
}
});
lv_camera.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@@ -1600,11 +1572,9 @@ public class DeviceFragment extends BaseV4Fragment implements ObservableScrollVi
AnimationUtil.startAnimation(getActivity());
break;
case R.id.rl_adddevice:
-// jiablue
+// jiaxblue
// EventBean eventBean = new EventBean(EventBean.BLUETOOTH_STOP_SCAN);
// EventBus.getDefault().post(eventBean);
-
-
addDevice();
@@ -1929,42 +1899,49 @@ public class DeviceFragment extends BaseV4Fragment implements ObservableScrollVi
}
firstResult = firstResult + HttpManager.PAGESIZE;
}
- //jjia-push
-// private void initBooth(){
-// boolean enable = BleManager.getInstance().isBlueEnable();
-// if (enable) {
-// BleManager.getInstance().scan(new BleScanCallback() {
-// @Override
-// public void onScanFinished(List scanResultList) {
-// if (currentDevice!=null){ // 扫描结束,有设备
-// L.i("jjjia-----------scan---");
-// showDevice();
-// }
-// }
-//
-// @Override
-// public void onScanStarted(boolean success) {
-//
-// }
-//
-// @SuppressLint("MissingPermission")
-// @Override
-// public void onScanning(BleDevice bleDevice) {
-// if (bleDevice!=null && bleDevice.getDevice()!=null){
-// BluetoothDevice bean = bleDevice.getDevice();
-// if (!TextUtils.isEmpty(bean.getName()) && bean.getName().startsWith("ifish")){
-// currentDevice = bleDevice;
-// BleManager.getInstance().cancelScan();
-// }
-// L.i(bean.getName()+"jjia------mac---"+bean.getAddress());
-// }
-// }
-// });
-// }
-//
-// }
- //jjia-push
-// BleDevice currentDevice;
+ //jjia-xpush
+ private void initBooth(){
+ if (AppUtil.checkSelfPermission(getContext(),permission_blue)) {
+ boolean enable = BleManager.getInstance().isBlueEnable();
+ if (enable) {
+ L.i("jjjia-----------蓝牙可用-开始扫描--");
+ BleManager.getInstance().scan(new BleScanCallback() {
+ @Override
+ public void onScanFinished(List scanResultList) {
+ if (currentDevice!=null){ // 扫描结束,有设备
+ L.i("jjjia-----------scan- end--");
+ showDevice();
+ }
+ }
+
+ @Override
+ public void onScanStarted(boolean success) {
+ L.i("jjjia-----------scan- start--");
+ }
+
+ @SuppressLint("MissingPermission")
+ @Override
+ public void onScanning(BleDevice bleDevice) {
+ L.i("jjjia-----------scan- ing--");
+ if (bleDevice!=null && bleDevice.getDevice()!=null){
+ BluetoothDevice bean = bleDevice.getDevice();
+ if (!TextUtils.isEmpty(bean.getName()) && bean.getName().startsWith("ifish")){
+ currentDevice = bleDevice;
+ BleManager.getInstance().cancelScan();
+ }
+ L.i(bean.getName()+"jjia------mac---"+bean.getAddress());
+ }
+ }
+ });
+ }else {
+ L.i("jjjia-----------蓝牙不可用---");
+ }
+ }else {
+ L.i("jjjia-----------没有扫描权限---");
+ }
+ }
+ //jjia-xpush
+ BleDevice currentDevice;
public void onEventMainThread(BluetoothDevice event) {
}
@@ -1973,40 +1950,14 @@ public class DeviceFragment extends BaseV4Fragment implements ObservableScrollVi
private boolean isShowEd = false;
private int currentIndex = 0;
-// jiablue
-// public void onEventMainThread(EventBean eventBean){
-// if (eventBean!= null){
-// if (EventBean.BLUETOOTH_START_SCAN.equals(eventBean.name)){
-// if (!isShowEd){
-// initBooth();
-// }
-// }else if (EventBean.BLUETOOTH_STOP_SCAN.equals(eventBean.name)){
-// if (!isShowIng){
-// currentDevice = null;
-// }
-// BleManager.getInstance().cancelScan();
-// }else
-//
-// if (EventBean.TAB_INDEX.equals(eventBean.name)){
-// currentIndex = eventBean.index;
-// L.i("jjia-----tab_index--"+eventBean.index);
-// if (currentIndex == 0){
-// startDownTimer();
-// }else {
-// oonPause();
-// }
-// }else if (EventBean.HEADER.equals(eventBean.name)){
-// Glide.with(getActivity()).load(eventBean.value).into(iv_head);
-// }
-// }
-// }
+
private void showPermissionHint(){
IosAlertDialog openDialog = new IosAlertDialog(getContext()).builder();
openDialog.setCancelable(true);
openDialog.setTitle("申请权限目的说明");
- openDialog.setMessage("添加设备,需要先获取位置信息,才能获取附近wifi信息,进行配网连接您的设备,是否允许申请位置权限?");
+ openDialog.setMessage("添加设备,需要先获取位置信息,才能获取附近wifi信息或智能设备,进行配网连接您的设备,是否允许申请位置权限和蓝牙权限?");
openDialog.setPositiveButton("继续", new View.OnClickListener() {
@Override
public void onClick(View view) {
@@ -2019,112 +1970,126 @@ public class DeviceFragment extends BaseV4Fragment implements ObservableScrollVi
}
});
-
openDialog.show();
}
+ IosAlertDialog alertDialog;
public void showDevice(){
// 检测页面
if (!isShowIng){
isShowIng = true;
isShowEd = true;
- AlertDialog.Builder dialog = new AlertDialog.Builder(requireContext(), AlertDialog.THEME_HOLO_LIGHT);
- dialog.setCancelable(true);
- dialog.setTitle("提示");
- dialog.setMessage("发现一个新设备是否去添加");
- dialog.setOnDismissListener(dialogInterface -> isShowIng = false);
- dialog.setNegativeButton("取消", (arg0, arg1) -> {
- arg0.dismiss();
- isShowIng = false;
- startDownTimer();
+ alertDialog = new IosAlertDialog(requireContext(), Gravity.BOTTOM).builder();
+ alertDialog.showBottom(true);
+ alertDialog.setTextColor(R.color.danghao_color);
+ alertDialog.setCancelable(false);
+ alertDialog.setTitle("发现设备");
+ alertDialog.setMessage("鱼缸智能插座1个");
+ alertDialog.setNegativeButton("忽略", new OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ isShowIng = false;
+ alertDialog.dismiss();
+ isShowIng = false;
+ startDownTimer();
+ }
});
- dialog.setPositiveButton("确定", (dialog1, which) -> {
- dialog1.dismiss();
- isShowIng = false;
- closeDownTimer();
- Intent intent = new Intent();
- intent.setClass(requireActivity(), NewBindDeviceActivity.class);
- intent.putExtra("title", "连接水族箱");
- intent.putExtra("type", "bluetooth");
- //jjia-push
-// intent.putExtra("device", currentDevice);
- startActivity(intent);
- AnimationUtil.finishAnimation(requireActivity());
+ alertDialog.setPositiveButton("添加", new OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ alertDialog.dismiss();
+ isShowIng = false;
+ closeDownTimer();
+ Intent intent = new Intent();
+ intent.setClass(requireActivity(), NewBindDeviceActivity.class);
+ intent.putExtra("title", "连接水族箱");
+ intent.putExtra("type", "bluetooth");
+ //jjia-xpush
+ intent.putExtra("device", currentDevice);
+ startActivity(intent);
+ AnimationUtil.finishAnimation(requireActivity());
+ }
});
- dialog.show();
+ alertDialog.show();
}
-
}
+
int dowmCount = 1;
CountDownTimer countDownTimer;
private void startDownTimer(){
closeDownTimer();
- if (!isShowIng && currentIndex == 0){
- dowmCount = 1;
- countDownTimer = new CountDownTimer(2000000000,1000) {
- @Override
- public void onTick(long l) {
- L.i("jjia-----dowmCount--"+dowmCount);
- //jjia-push
-// if (dowmCount%6==0){
-// BleScanState scanState = getScanState();
-// L.i("jjia-----------timer--"+scanState);
-// if (BleScanState.STATE_IDLE.equals(scanState)){
-// if (isShowIng){
-// L.i("jjia-----已经扫描到设备了,等待反馈-");
-// closeDownTimer();
-// }else {
-// initBooth();
-// L.i("jjia-----开始扫描-");
-// }
-// }else {
-// L.i("jjia----timer--上一次的扫描还在继续中-");
-// }
-// }
+ if (AppUtil.checkSelfPermission(getContext(),permission_blue)) {
+ if (!isShowIng && currentIndex == 0){
+ dowmCount = 1;
+ countDownTimer = new CountDownTimer(2000000000,1000) {
+ @Override
+ public void onTick(long l) {
+ L.i("jjia-----dowmCount--"+dowmCount);
+ //jjia-xpush
+ if (dowmCount%6==0){
+ BleScanState scanState = getScanState();
+ L.i("jjia-----------timer--"+scanState);
+ if (BleScanState.STATE_IDLE.equals(scanState)){
+ if (isShowIng){
+ L.i("jjia-----已经扫描到设备了,等待反馈-");
+ closeDownTimer();
+ }else {
+ initBooth();
+ L.i("jjia-----开始扫描-");
+ }
+ }else {
+ L.i("jjia----timer--上一次的扫描还在继续中-");
+ }
+ }
- dowmCount++;
- }
+ dowmCount++;
+ }
- @Override
- public void onFinish() {
- L.i("jjia---倒计时完成----------");
- }
- };
- countDownTimer.start();
- }else {
- L.i("jjia----timer--已扫描到设备,暂不执行倒计时-");
+ @Override
+ public void onFinish() {
+ L.i("jjia---倒计时完成----------");
+ }
+ };
+ countDownTimer.start();
+ }else {
+ L.i("jjia----timer--已扫描到设备,暂不执行倒计时-");
+ }
}
-
}
private void closeDownTimer(){
if (countDownTimer!=null){
countDownTimer.cancel();
countDownTimer = null;
+ L.i("jjia-----dowmCount--xxx");
}
}
- //jjia-push
-// private BleScanState getScanState(){
-// return BleManager.getInstance().getScanSate();
-// }
-
- @Override
- public void onPause() {
- super.onPause();
- oonPause();
+ //jjia-xpush
+ private BleScanState getScanState(){
+ return BleManager.getInstance().getScanSate();
}
private void oonPause(){
+
+ if (alertDialog!=null){
+ L.i("jjia---扫描暂停----------");
+ alertDialog.dismiss();
+ alertDialog = null;
+ }
closeDownTimer();
- //jjia-push
-// BleScanState scanState = getScanState();
-// if (BleScanState.STATE_SCANNING.equals(scanState)) {
-// BleManager.getInstance().cancelScan();
-// L.i("jjia---扫描暂停----------");
-// } else {
-//
-// }
-// L.i("jjia---扫描暂停-"+scanState);
+ if (AppUtil.checkSelfPermission(getContext(),permission_blue)) {
+ //jjia-xpush
+ BleScanState scanState = getScanState();
+ if (BleScanState.STATE_SCANNING.equals(scanState)) {
+ currentDevice = null;
+ BleManager.getInstance().cancelScan();
+ L.i("jjia---扫描暂停----------");
+ }
+ L.i("jjia---扫描暂停-"+scanState);
+ }
+
}
+
+
}
diff --git a/iFish7/src/main/java/com/ifish/fragment/MineFragment.java b/iFish7/src/main/java/com/ifish/fragment/MineFragment.java
index c2b96684d..213093ca9 100644
--- a/iFish7/src/main/java/com/ifish/fragment/MineFragment.java
+++ b/iFish7/src/main/java/com/ifish/fragment/MineFragment.java
@@ -34,8 +34,8 @@ import android.widget.TextView;
import android.widget.Toast;
import com.bumptech.glide.Glide;
-//jjia-push
-//import com.clj.fastble.BleManager;
+//jjia-xpush
+import com.clj.fastble.BleManager;
import com.ifish.activity.AboutActivity;
import com.ifish.activity.BindTwoDeviceActivity;
import com.ifish.activity.CaptureActivity;
diff --git a/iFish7/src/main/java/com/ifish/tcp/TcpReceiveThread.java b/iFish7/src/main/java/com/ifish/tcp/TcpReceiveThread.java
index 394f61fee..661bfeb29 100644
--- a/iFish7/src/main/java/com/ifish/tcp/TcpReceiveThread.java
+++ b/iFish7/src/main/java/com/ifish/tcp/TcpReceiveThread.java
@@ -103,6 +103,7 @@ public class TcpReceiveThread implements Runnable {
}
} else if(obj instanceof BackInfoModelSix_4F_FeedFish){ //一键喂鱼查询
BackInfoModelSix_4F_FeedFish model = (BackInfoModelSix_4F_FeedFish) obj;
+ L.i("jjia---------------------BackInfoModelSix_4F_FeedFish-----");
if (Commons.IS_EventBus) {//判断tcp连接返回的mac地址是否与自己本地相同 不同则不做处理
try {
if (ByteUtil.bytesToHexString(model.getSrc()).equals(Commons.DEVICE.get(MainTabActivity.sp.getInt(LoginSPKey.Position, 0)).getMacAddress())) {
diff --git a/iFish7/src/main/java/com/ifish/utils/AppUtil.java b/iFish7/src/main/java/com/ifish/utils/AppUtil.java
index 89e2178f7..9bb8379e4 100644
--- a/iFish7/src/main/java/com/ifish/utils/AppUtil.java
+++ b/iFish7/src/main/java/com/ifish/utils/AppUtil.java
@@ -6,6 +6,7 @@ import android.bluetooth.BluetoothManager;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
+import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Build;
import android.text.TextUtils;
@@ -14,6 +15,7 @@ import android.widget.ImageView;
import androidx.activity.ComponentActivity;
import androidx.appcompat.app.AppCompatActivity;
+import androidx.core.content.ContextCompat;
import com.ifish.activity.R;
import com.squareup.picasso.Picasso;
@@ -258,7 +260,14 @@ public class AppUtil {
return false;
}
}
-
+ public static boolean checkSelfPermission(Context context ,String[] permissions) {
+ for (String permission : permissions) {
+ if (ContextCompat.checkSelfPermission(context, permission) != PackageManager.PERMISSION_GRANTED) {
+ return false;
+ }
+ }
+ return true;
+ }
public static String [] getImagePermissionList(){
List perList = new ArrayList<>();
@@ -282,6 +291,26 @@ public class AppUtil {
return permissions;
}
+
+ public static String [] getBluePermissionList(){
+ List perList = new ArrayList<>();
+ perList.add(android.Manifest.permission.BLUETOOTH);
+ perList.add(android.Manifest.permission.ACCESS_FINE_LOCATION);
+ perList.add(android.Manifest.permission.ACCESS_COARSE_LOCATION);
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S){
+ perList.add(android.Manifest.permission.BLUETOOTH_SCAN);
+ perList.add(android.Manifest.permission.BLUETOOTH_ADVERTISE);
+ perList.add(android.Manifest.permission.BLUETOOTH_CONNECT);
+ }
+ int size = perList.size();
+ String [] permissions = new String[size];
+
+ for (int i = 0;i(R.id.iconx)
+ image = icon.drawable as AnimationDrawable
+ image?.start()
+
+
+ progress =findViewById(R.id.dg_pb_loading)
+ cardview =findViewById(R.id.cardview)
+ ivCancel =findViewById(R.id.iv_cancel)
+ tvCancel =findViewById(R.id.tv_cancel)
+
var view =findViewById(R.id.tv_hint)
- view.text = hint
- if (TextUtils.isEmpty(hint)){
-
+ tvCancel?.setOnClickListener {
+ dismiss()
}
+ view.text = hint
- window!!.setDimAmount(0f) //去除阴影遮罩效果
+ window?.setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
setCanceledOnTouchOutside(false)
- // setCancelable(false)
}
+
+ fun setProgress(value: Int){
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
+ progress?.setProgress(value,true)
+ }
+ }
+
+ fun setError(){
+ cardview?.visibility = View.GONE
+ ivCancel?.visibility = View.VISIBLE
+ tvCancel?.visibility = View.VISIBLE
+ image?.stop()
+
+ }
+
}
diff --git a/iFish7/src/main/java/com/ifish/view/IosAlertDialog.java b/iFish7/src/main/java/com/ifish/view/IosAlertDialog.java
index 66d6665b1..62b1b5d08 100644
--- a/iFish7/src/main/java/com/ifish/view/IosAlertDialog.java
+++ b/iFish7/src/main/java/com/ifish/view/IosAlertDialog.java
@@ -14,6 +14,9 @@ import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
+
+import androidx.core.content.ContextCompat;
+
import com.ifish.activity.R;
/**
@@ -30,6 +33,7 @@ public class IosAlertDialog {
private Button btn_neg;
private Button btn_pos;
private ImageView img_line;
+ private View bottom;
private Display display;
private boolean showTitle = false;
private boolean showMsg = false;
@@ -37,7 +41,7 @@ public class IosAlertDialog {
private boolean showNegBtn = false;
private boolean isMiddleShowEclipse = false; //setMsg时 文本内容超过最多5行后,省略号是否居中显示,默认不居中
private int maxLines = 5;
-
+ int gravity = Gravity.CENTER;
public IosAlertDialog(Context context) {
this.context = context;
WindowManager windowManager = (WindowManager) context
@@ -45,6 +49,27 @@ public class IosAlertDialog {
display = windowManager.getDefaultDisplay();
}
+ public void showBottom(boolean show) {
+ if (bottom!=null){
+ if (show){
+ bottom.setVisibility(View.VISIBLE);
+ }else {
+ bottom.setVisibility(View.GONE);
+ }
+
+ }
+ }
+
+ public IosAlertDialog(Context context, int gravity) {
+ this.context = context;
+ WindowManager windowManager = (WindowManager) context
+ .getSystemService(Context.WINDOW_SERVICE);
+ display = windowManager.getDefaultDisplay();
+ this.gravity = gravity;
+ }
+
+
+
public IosAlertDialog builder() {
// 获取Dialog布局
View view = LayoutInflater.from(context).inflate(
@@ -52,6 +77,7 @@ public class IosAlertDialog {
// 获取自定义Dialog布局中的控件
lLayout_bg = view.findViewById(R.id.lLayout_bg);
txt_title = view.findViewById(R.id.txt_title);
+ bottom = view.findViewById(R.id.bottom);
txt_title.setVisibility(View.GONE);
txt_msg = view.findViewById(R.id.txt_msg);
txt_msg.setVisibility(View.GONE);
@@ -64,14 +90,18 @@ public class IosAlertDialog {
// 定义Dialog布局和参数
dialog = new Dialog(context, R.style.AlertDialogStyle);
- dialog.getWindow().setGravity(Gravity.CENTER);
+ dialog.getWindow().setGravity(gravity);
dialog.setContentView(view);
// 调整dialog背景大小
lLayout_bg.setLayoutParams(new FrameLayout.LayoutParams((int) (display
- .getWidth() * 0.7), LinearLayout.LayoutParams.MATCH_PARENT));
+ .getWidth() * 0.9), LinearLayout.LayoutParams.MATCH_PARENT));
return this;
}
+ public void setTextColor(int color){
+ txt_msg.setTextColor(ContextCompat.getColor(context,color));
+ }
+
public IosAlertDialog setTitle(String title) {
showTitle = true;
if ("".equals(title)) {
diff --git a/iFish7/src/main/res/drawable-xxhdpi/bluetooth_five.png b/iFish7/src/main/res/drawable-xxhdpi/bluetooth_five.png
new file mode 100644
index 000000000..74231e155
Binary files /dev/null and b/iFish7/src/main/res/drawable-xxhdpi/bluetooth_five.png differ
diff --git a/iFish7/src/main/res/drawable-xxhdpi/bluetooth_four.png b/iFish7/src/main/res/drawable-xxhdpi/bluetooth_four.png
new file mode 100644
index 000000000..e795f10e0
Binary files /dev/null and b/iFish7/src/main/res/drawable-xxhdpi/bluetooth_four.png differ
diff --git a/iFish7/src/main/res/drawable-xxhdpi/bluetooth_one.png b/iFish7/src/main/res/drawable-xxhdpi/bluetooth_one.png
new file mode 100644
index 000000000..f2dbc333e
Binary files /dev/null and b/iFish7/src/main/res/drawable-xxhdpi/bluetooth_one.png differ
diff --git a/iFish7/src/main/res/drawable-xxhdpi/bluetooth_three.png b/iFish7/src/main/res/drawable-xxhdpi/bluetooth_three.png
new file mode 100644
index 000000000..19ee41fa5
Binary files /dev/null and b/iFish7/src/main/res/drawable-xxhdpi/bluetooth_three.png differ
diff --git a/iFish7/src/main/res/drawable-xxhdpi/bluetooth_two.png b/iFish7/src/main/res/drawable-xxhdpi/bluetooth_two.png
new file mode 100644
index 000000000..3911b5d46
Binary files /dev/null and b/iFish7/src/main/res/drawable-xxhdpi/bluetooth_two.png differ
diff --git a/iFish7/src/main/res/drawable-xxhdpi/loading_icon.png b/iFish7/src/main/res/drawable-xxhdpi/loading_icon.png
new file mode 100644
index 000000000..e22ff4ca8
Binary files /dev/null and b/iFish7/src/main/res/drawable-xxhdpi/loading_icon.png differ
diff --git a/iFish7/src/main/res/drawable/bluetooth_connect.xml b/iFish7/src/main/res/drawable/bluetooth_connect.xml
new file mode 100755
index 000000000..623a89e45
--- /dev/null
+++ b/iFish7/src/main/res/drawable/bluetooth_connect.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
diff --git a/iFish7/src/main/res/drawable/progress_drawable.xml b/iFish7/src/main/res/drawable/progress_drawable.xml
new file mode 100755
index 000000000..bda2d4644
--- /dev/null
+++ b/iFish7/src/main/res/drawable/progress_drawable.xml
@@ -0,0 +1,20 @@
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
diff --git a/iFish7/src/main/res/drawable/shape_loading_anim.xml b/iFish7/src/main/res/drawable/shape_loading_anim.xml
index b92ec523f..cca4e4d00 100644
--- a/iFish7/src/main/res/drawable/shape_loading_anim.xml
+++ b/iFish7/src/main/res/drawable/shape_loading_anim.xml
@@ -1,6 +1,6 @@
diff --git a/iFish7/src/main/res/drawable/shape_white_radius15.xml b/iFish7/src/main/res/drawable/shape_white_radius15.xml
index 83fe57a48..fcc7c8743 100644
--- a/iFish7/src/main/res/drawable/shape_white_radius15.xml
+++ b/iFish7/src/main/res/drawable/shape_white_radius15.xml
@@ -2,5 +2,5 @@
-
+
\ No newline at end of file
diff --git a/iFish7/src/main/res/layout/activity_new_bind_device_choice.xml b/iFish7/src/main/res/layout/activity_new_bind_device_choice.xml
index e2a702367..d5ccbc3f1 100644
--- a/iFish7/src/main/res/layout/activity_new_bind_device_choice.xml
+++ b/iFish7/src/main/res/layout/activity_new_bind_device_choice.xml
@@ -36,7 +36,7 @@
android:layout_height="wrap_content"
android:layout_gravity="right"
android:layout_marginRight="10dp"
- android:text="联网视频"
+ android:text="联网视频教程"
android:textColor="#E60012"
android:textSize="15sp" />
@@ -184,6 +184,16 @@
android:text="3、如多次尝试一键联网都不成功,可切换其他联网方式,每次重新联接时插座需断一次电然后重新复位联接。"
android:textColor="#999999" />
+
+
-
-
-
-
+
+
-
-
\ No newline at end of file
+ android:layout_centerInParent="true"
+ android:background="@color/white"
+ android:layout_width="match_parent"
+ android:orientation="vertical"
+ android:layout_height="wrap_content">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/iFish7/src/main/res/layout/hint_toast.xml b/iFish7/src/main/res/layout/hint_toast.xml
new file mode 100644
index 000000000..aafea6aa0
--- /dev/null
+++ b/iFish7/src/main/res/layout/hint_toast.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
diff --git a/iFish7/src/main/res/layout/ios_dialog_layout.xml b/iFish7/src/main/res/layout/ios_dialog_layout.xml
index a5ab3c6d8..820d216a5 100644
--- a/iFish7/src/main/res/layout/ios_dialog_layout.xml
+++ b/iFish7/src/main/res/layout/ios_dialog_layout.xml
@@ -1,6 +1,11 @@
-
+
+ android:textSize="16sp" />
+
+
\ No newline at end of file
diff --git a/iFish7/src/main/res/layout/loadings.xml b/iFish7/src/main/res/layout/loadings.xml
new file mode 100644
index 000000000..7ee3c0a4e
--- /dev/null
+++ b/iFish7/src/main/res/layout/loadings.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/iFish7/src/main/res/layout/mysetting_activity.xml b/iFish7/src/main/res/layout/mysetting_activity.xml
index 215bb8c50..bd3767288 100644
--- a/iFish7/src/main/res/layout/mysetting_activity.xml
+++ b/iFish7/src/main/res/layout/mysetting_activity.xml
@@ -302,5 +302,13 @@
android:gravity="center"
android:background="@drawable/minefragment_bg_select"/>
+
+
diff --git a/iFish7/src/main/res/layout/registered_activity.xml b/iFish7/src/main/res/layout/registered_activity.xml
index 468830056..c04b6a873 100644
--- a/iFish7/src/main/res/layout/registered_activity.xml
+++ b/iFish7/src/main/res/layout/registered_activity.xml
@@ -167,7 +167,6 @@
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/bt_submit"
- android:layout_marginBottom="30dp"
android:layout_marginLeft="@dimen/new_login_bg_width"
android:layout_marginRight="@dimen/new_login_bg_width"
android:layout_marginTop="12dp">
@@ -203,6 +202,16 @@
android:textSize="13dp" />
+
+
stateHidden-->
+
+
+
+
+
+