This commit is contained in:
parent
7f655581a9
commit
1177d9fc90
|
|
@ -26,5 +26,5 @@ android.enableJetifier=true
|
|||
android.useAndroidX=true
|
||||
android.useDeprecatedNdk=true
|
||||
|
||||
versionCode=58
|
||||
versionCode=40
|
||||
versionName=4.11.17.3
|
||||
|
|
@ -138,16 +138,17 @@ public class LoadingActivity extends BaseActivityNotAnim {
|
|||
if (savedInstanceState != null) {
|
||||
setIntent(new Intent()); // 从堆栈恢复,不再重复解析之前的intent
|
||||
}
|
||||
permission = AppUtil.getPermissionList();
|
||||
permissionHelper = new PermissionHelper(LoadingActivity.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{
|
||||
getPermission();
|
||||
}
|
||||
// permission = AppUtil.getPermissionList();
|
||||
// permissionHelper = new PermissionHelper(LoadingActivity.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{
|
||||
// getPermission();
|
||||
// }
|
||||
initapp();
|
||||
}
|
||||
|
||||
private void analysisBaseUrlError(){
|
||||
|
|
|
|||
|
|
@ -291,10 +291,11 @@ public class MineActivity extends BaseActivity {
|
|||
|
||||
private void changeHead() {
|
||||
if (!permissionHelper.checkSelfPermission(permission)) {
|
||||
getPermission();
|
||||
return;
|
||||
showPermissionHint();
|
||||
} else {
|
||||
gallery();
|
||||
}
|
||||
gallery();
|
||||
|
||||
// final Dialog dialogHead = new Dialog(MineActivity.this, R.style.HOLOMyDialogs);
|
||||
// dialogHead.show();
|
||||
// Window window = dialogHead.getWindow();
|
||||
|
|
@ -774,7 +775,7 @@ public class MineActivity extends BaseActivity {
|
|||
dialog.setCancelable(false);
|
||||
dialog.setTitle("温馨提示");
|
||||
// dialog.setMessage("请到应用管理-爱鱼奇-应用权限页面开启权限后重新打开app");
|
||||
dialog.setMessage("请到应用信息页面-权限管理-打开存储和相机权限");
|
||||
dialog.setMessage("请到应用信息页面-权限管理-打开图片和相机权限");
|
||||
dialog.setPositiveButton("去开启", (dialog1, which) -> {
|
||||
AppUtil.toAuthority(MineActivity.this);
|
||||
});
|
||||
|
|
@ -791,4 +792,19 @@ public class MineActivity extends BaseActivity {
|
|||
permissionHelper.onRequestPermissionsResult(requestCode, permissions, grantResults);
|
||||
}
|
||||
}
|
||||
|
||||
private void showPermissionHint(){
|
||||
AlertDialog.Builder dialog = new AlertDialog.Builder(this, AlertDialog.THEME_HOLO_LIGHT);
|
||||
dialog.setCancelable(false);
|
||||
dialog.setTitle("提示");
|
||||
dialog.setMessage("设置头像,需要申请相机和相册权限,是否允许申请?");
|
||||
dialog.setNegativeButton("拒绝", (arg0, arg1) -> {
|
||||
arg0.dismiss();
|
||||
|
||||
});
|
||||
dialog.setPositiveButton("允许", (dialog1, which) -> {
|
||||
getPermission();
|
||||
});
|
||||
dialog.show();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -272,11 +272,8 @@ public class DeviceFragment extends BaseV4Fragment implements ObservableScrollVi
|
|||
AlertDialog.Builder dialog = new AlertDialog.Builder(getContext());
|
||||
dialog.setCancelable(false);
|
||||
dialog.setTitle("温馨提示");
|
||||
// dialog.setMessage("请到应用管理-爱鱼奇-应用权限页面开启权限后重新打开app");
|
||||
dialog.setMessage("请到应用信息页面-权限管理-打开位置权限,不然是发现不了附近的wifi的,将无法进行配网连接您的智能设备");
|
||||
dialog.setPositiveButton("去开启", (dialog1, which) -> {
|
||||
// Intent mItent = new Intent(Settings.ACTION_SETTINGS);
|
||||
// startActivity(mItent);
|
||||
AppUtil.toAuthority(requireActivity());
|
||||
});
|
||||
dialog.setNegativeButton("取消", (dialog12, which) -> {
|
||||
|
|
@ -687,118 +684,118 @@ public class DeviceFragment extends BaseV4Fragment implements ObservableScrollVi
|
|||
intent.setData(Uri.parse(String.format("package:%s", getActivity().getApplicationContext().getPackageName())));
|
||||
startActivityForResult(intent, 301);
|
||||
} else {
|
||||
ActivityCompat.requestPermissions(getActivity(), new String[]{WRITE_EXTERNAL_STORAGE}, 302);
|
||||
ActivityCompat.requestPermissions(getActivity(), new String[]{WRITE_EXTERNAL_STORAGE}, 301);
|
||||
}
|
||||
}
|
||||
|
||||
apkDownloadDialog = new Dialog(getActivity(), R.style.DefautDialogs);
|
||||
apkDownloadDialog.setCancelable(false);
|
||||
apkDownloadDialog.show();
|
||||
Window window = apkDownloadDialog.getWindow();
|
||||
window.setContentView(R.layout.dialog_downloadapk);
|
||||
final TextView tv_title = (TextView) window.findViewById(R.id.tv_title);
|
||||
final TextView tv_current = (TextView) window.findViewById(R.id.tv_current);
|
||||
final ProgressBar progess_bar = (ProgressBar) window.findViewById(R.id.progess_bar);
|
||||
final Button bt_redownload = (Button) window.findViewById(R.id.bt_redownload);
|
||||
final String downloaded = "maybe the file has downloaded completely";//如果文件已经下载好 就会抛出此异常 可以判断此异常直接打开文件
|
||||
/**
|
||||
* 下载apk
|
||||
*/
|
||||
L.i("====================appAddress=" + appAddress + "+path=" + apkPath);
|
||||
http.download(appAddress, apkPath, false, false, new RequestCallBack<File>() {
|
||||
@Override
|
||||
public void onStart() {
|
||||
super.onStart();
|
||||
tv_title.setText("开始下载...");
|
||||
tv_current.setText("0%");
|
||||
bt_redownload.setVisibility(View.GONE);//开始下载时 把重新下载按钮隐藏
|
||||
progess_bar.setProgress(0);//进度条初始
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoading(long total, long current, boolean isUploading) {
|
||||
super.onLoading(total, current, isUploading);
|
||||
progess_bar.setProgress((int) ((double) current / (double) total * 100));
|
||||
double currentA = (double) (current) / (1024 * 1024);//byte转MB除以1024*1024
|
||||
double totaldB = (double) total / (1024 * 1024);
|
||||
String formatA = String.format("%.2f", currentA);//只保留2位小数
|
||||
String formatB = String.format("%.2f", totaldB);
|
||||
tv_title.setText("下载中 " + formatA + "MB/" + formatB + "MB");
|
||||
tv_current.setText((int) (current * 100 / total) + "%");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(HttpException arg0, String msg) {
|
||||
L.i(msg);
|
||||
if (downloaded.equals(msg)) {//已经存在要下载的文件 会抛出此异常 可以直接安装
|
||||
progess_bar.setProgress(100);//进度条填满
|
||||
tv_title.setText("安装包已存在");
|
||||
apkFile = new File(apkPath);
|
||||
installApk();
|
||||
} else {
|
||||
ToastUtil.show(getActivity(), Text.ERROR);
|
||||
bt_redownload.setVisibility(View.VISIBLE); //网络错误下载失败时 把重新下载按钮显示
|
||||
}else {
|
||||
apkDownloadDialog = new Dialog(getActivity(), R.style.DefautDialogs);
|
||||
apkDownloadDialog.setCancelable(false);
|
||||
apkDownloadDialog.show();
|
||||
Window window = apkDownloadDialog.getWindow();
|
||||
window.setContentView(R.layout.dialog_downloadapk);
|
||||
final TextView tv_title = (TextView) window.findViewById(R.id.tv_title);
|
||||
final TextView tv_current = (TextView) window.findViewById(R.id.tv_current);
|
||||
final ProgressBar progess_bar = (ProgressBar) window.findViewById(R.id.progess_bar);
|
||||
final Button bt_redownload = (Button) window.findViewById(R.id.bt_redownload);
|
||||
final String downloaded = "maybe the file has downloaded completely";//如果文件已经下载好 就会抛出此异常 可以判断此异常直接打开文件
|
||||
/**
|
||||
* 下载apk
|
||||
*/
|
||||
L.i("====================appAddress=" + appAddress + "+path=" + apkPath);
|
||||
http.download(appAddress, apkPath, false, false, new RequestCallBack<File>() {
|
||||
@Override
|
||||
public void onStart() {
|
||||
super.onStart();
|
||||
tv_title.setText("开始下载...");
|
||||
tv_current.setText("0%");
|
||||
bt_redownload.setVisibility(View.GONE);//开始下载时 把重新下载按钮隐藏
|
||||
progess_bar.setProgress(0);//进度条初始
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(ResponseInfo<File> arg0) {
|
||||
bt_redownload.setVisibility(View.GONE);//下载成功 把重新下载按钮隐藏 并跳转安装apk
|
||||
tv_title.setText("安装包下载成功");
|
||||
apkFile = arg0.result;
|
||||
installApk();
|
||||
}
|
||||
});
|
||||
bt_redownload.setOnClickListener(new OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
delApk();//删除apk
|
||||
bt_redownload.setVisibility(View.GONE);//开始下载时 把重新下载按钮隐藏
|
||||
http.download(appAddress, apkPath, false, false, new RequestCallBack<File>() {
|
||||
@Override
|
||||
public void onStart() {
|
||||
super.onStart();
|
||||
tv_title.setText("开始下载...");
|
||||
tv_current.setText("0%");
|
||||
bt_redownload.setVisibility(View.GONE);//开始下载时 把重新下载按钮隐藏
|
||||
progess_bar.setProgress(0);//进度条初始
|
||||
}
|
||||
@Override
|
||||
public void onLoading(long total, long current, boolean isUploading) {
|
||||
super.onLoading(total, current, isUploading);
|
||||
progess_bar.setProgress((int) ((double) current / (double) total * 100));
|
||||
double currentA = (double) (current) / (1024 * 1024);//byte转MB除以1024*1024
|
||||
double totaldB = (double) total / (1024 * 1024);
|
||||
String formatA = String.format("%.2f", currentA);//只保留2位小数
|
||||
String formatB = String.format("%.2f", totaldB);
|
||||
tv_title.setText("下载中 " + formatA + "MB/" + formatB + "MB");
|
||||
tv_current.setText((int) (current * 100 / total) + "%");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoading(long total, long current, boolean isUploading) {
|
||||
super.onLoading(total, current, isUploading);
|
||||
progess_bar.setProgress((int) ((double) current / (double) total * 100));
|
||||
double currentA = (double) (current) / (1024 * 1024);//byte转MB除以1024*1024
|
||||
double totaldB = (double) total / (1024 * 1024);
|
||||
String formatA = String.format("%.2f", currentA);//只保留2位小数
|
||||
String formatB = String.format("%.2f", totaldB);
|
||||
tv_title.setText("下载中 " + formatA + "MB/" + formatB + "MB");
|
||||
tv_current.setText((int) (current * 100 / total) + "%");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(HttpException arg0, String msg) {
|
||||
if (downloaded.equals(msg)) {//已经存在要下载的文件 会抛出此异常 可以直接安装
|
||||
progess_bar.setProgress(100);//进度条填满
|
||||
tv_title.setText("安装包已存在");
|
||||
apkFile = new File(apkPath);
|
||||
installApk();
|
||||
} else {
|
||||
ToastUtil.show(getActivity(), Text.ERROR);
|
||||
bt_redownload.setVisibility(View.VISIBLE); //网络错误下载失败时 把重新下载按钮显示
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(ResponseInfo<File> arg0) {
|
||||
bt_redownload.setVisibility(View.GONE);//下载成功 把重新下载按钮隐藏 并跳转安装apk
|
||||
tv_title.setText("安装包下载成功");
|
||||
apkFile = arg0.result;
|
||||
@Override
|
||||
public void onFailure(HttpException arg0, String msg) {
|
||||
L.i(msg);
|
||||
if (downloaded.equals(msg)) {//已经存在要下载的文件 会抛出此异常 可以直接安装
|
||||
progess_bar.setProgress(100);//进度条填满
|
||||
tv_title.setText("安装包已存在");
|
||||
apkFile = new File(apkPath);
|
||||
installApk();
|
||||
} else {
|
||||
ToastUtil.show(getActivity(), Text.ERROR);
|
||||
bt_redownload.setVisibility(View.VISIBLE); //网络错误下载失败时 把重新下载按钮显示
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(ResponseInfo<File> arg0) {
|
||||
bt_redownload.setVisibility(View.GONE);//下载成功 把重新下载按钮隐藏 并跳转安装apk
|
||||
tv_title.setText("安装包下载成功");
|
||||
apkFile = arg0.result;
|
||||
installApk();
|
||||
}
|
||||
});
|
||||
bt_redownload.setOnClickListener(new OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
delApk();//删除apk
|
||||
bt_redownload.setVisibility(View.GONE);//开始下载时 把重新下载按钮隐藏
|
||||
http.download(appAddress, apkPath, false, false, new RequestCallBack<File>() {
|
||||
@Override
|
||||
public void onStart() {
|
||||
super.onStart();
|
||||
tv_title.setText("开始下载...");
|
||||
tv_current.setText("0%");
|
||||
bt_redownload.setVisibility(View.GONE);//开始下载时 把重新下载按钮隐藏
|
||||
progess_bar.setProgress(0);//进度条初始
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoading(long total, long current, boolean isUploading) {
|
||||
super.onLoading(total, current, isUploading);
|
||||
progess_bar.setProgress((int) ((double) current / (double) total * 100));
|
||||
double currentA = (double) (current) / (1024 * 1024);//byte转MB除以1024*1024
|
||||
double totaldB = (double) total / (1024 * 1024);
|
||||
String formatA = String.format("%.2f", currentA);//只保留2位小数
|
||||
String formatB = String.format("%.2f", totaldB);
|
||||
tv_title.setText("下载中 " + formatA + "MB/" + formatB + "MB");
|
||||
tv_current.setText((int) (current * 100 / total) + "%");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(HttpException arg0, String msg) {
|
||||
if (downloaded.equals(msg)) {//已经存在要下载的文件 会抛出此异常 可以直接安装
|
||||
progess_bar.setProgress(100);//进度条填满
|
||||
tv_title.setText("安装包已存在");
|
||||
apkFile = new File(apkPath);
|
||||
installApk();
|
||||
} else {
|
||||
ToastUtil.show(getActivity(), Text.ERROR);
|
||||
bt_redownload.setVisibility(View.VISIBLE); //网络错误下载失败时 把重新下载按钮显示
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(ResponseInfo<File> arg0) {
|
||||
bt_redownload.setVisibility(View.GONE);//下载成功 把重新下载按钮隐藏 并跳转安装apk
|
||||
tv_title.setText("安装包下载成功");
|
||||
apkFile = arg0.result;
|
||||
installApk();
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -1543,31 +1540,14 @@ public class DeviceFragment extends BaseV4Fragment implements ObservableScrollVi
|
|||
// EventBean eventBean = new EventBean(EventBean.BLUETOOTH_STOP_SCAN);
|
||||
// EventBus.getDefault().post(eventBean);
|
||||
|
||||
|
||||
if (!permissionHelper.checkSelfPermission(permission)) {
|
||||
getPermission();
|
||||
return;
|
||||
showPermissionHint();
|
||||
}else {
|
||||
intent.setClass(getActivity(), BindTwoDeviceActivity.class);
|
||||
startActivity(intent);
|
||||
AnimationUtil.startAnimation(getActivity());
|
||||
}
|
||||
intent.setClass(getActivity(), BindTwoDeviceActivity.class);
|
||||
startActivity(intent);
|
||||
AnimationUtil.startAnimation(getActivity());
|
||||
// hm.shareCameraByQrCode(new HttpListener<BaseBean<Camera>>() {
|
||||
// private int result;
|
||||
// @Override
|
||||
// public void success(BaseBean<Camera> baseBean) {
|
||||
// result = baseBean.result;
|
||||
//// dataDevice = baseBean.data;
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void finish() {
|
||||
//
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void error(Exception e, String msg) {
|
||||
//
|
||||
// }
|
||||
// }, Commons.USER.getUserId(), "19125526");
|
||||
break;
|
||||
case R.id.tv_explain: //我的设备---查看说明书
|
||||
/*intent.setClass(getActivity(), WebViewActivity.class);
|
||||
|
|
@ -1951,6 +1931,20 @@ public class DeviceFragment extends BaseV4Fragment implements ObservableScrollVi
|
|||
// }
|
||||
// }
|
||||
|
||||
private void showPermissionHint(){
|
||||
AlertDialog.Builder dialog = new AlertDialog.Builder(requireContext(), AlertDialog.THEME_HOLO_LIGHT);
|
||||
dialog.setCancelable(false);
|
||||
dialog.setTitle("提示");
|
||||
dialog.setMessage("添加设备,需要获取位置信息,才能获取附近wifi信息,进行配网连接您的设备,是否允许申请?");
|
||||
dialog.setNegativeButton("拒绝", (arg0, arg1) -> {
|
||||
arg0.dismiss();
|
||||
|
||||
});
|
||||
dialog.setPositiveButton("允许", (dialog1, which) -> {
|
||||
getPermission();
|
||||
});
|
||||
dialog.show();
|
||||
}
|
||||
public void showDevice(){
|
||||
// 检测页面
|
||||
if (!isShowIng){
|
||||
|
|
|
|||
|
|
@ -260,43 +260,6 @@ public class AppUtil {
|
|||
}
|
||||
|
||||
|
||||
public static String [] getPermissionList(){
|
||||
List<String> perList = new ArrayList<>();
|
||||
perList.add(android.Manifest.permission.CAMERA);
|
||||
perList.add(android.Manifest.permission.ACCESS_FINE_LOCATION);
|
||||
// perList.add(android.Manifest.permission.READ_PHONE_STATE);
|
||||
// jiablue
|
||||
// perList.add(android.Manifest.permission.BLUETOOTH);
|
||||
// perList.add(android.Manifest.permission.ACCESS_COARSE_LOCATION);
|
||||
// perList.add(android.Manifest.permission.ACCESS_FINE_LOCATION);
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||
perList.add(android.Manifest.permission.READ_MEDIA_IMAGES);
|
||||
perList.add(android.Manifest.permission.READ_MEDIA_VIDEO);
|
||||
// jiablue
|
||||
// perList.add(android.Manifest.permission.BLUETOOTH_SCAN);
|
||||
// perList.add(android.Manifest.permission.BLUETOOTH_ADVERTISE);
|
||||
// perList.add(android.Manifest.permission.BLUETOOTH_CONNECT);
|
||||
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S){
|
||||
// jiablue
|
||||
// perList.add(android.Manifest.permission.BLUETOOTH_SCAN);
|
||||
// perList.add(android.Manifest.permission.BLUETOOTH_ADVERTISE);
|
||||
// perList.add(android.Manifest.permission.BLUETOOTH_CONNECT);
|
||||
perList.add(android.Manifest.permission.READ_EXTERNAL_STORAGE);
|
||||
perList.add(android.Manifest.permission.WRITE_EXTERNAL_STORAGE);
|
||||
}else {
|
||||
perList.add(android.Manifest.permission.READ_EXTERNAL_STORAGE);
|
||||
perList.add(android.Manifest.permission.WRITE_EXTERNAL_STORAGE);
|
||||
}
|
||||
int size = perList.size();
|
||||
String [] permissions = new String[size];
|
||||
|
||||
for (int i = 0;i<size;i++){
|
||||
permissions[i] = perList.get(i);
|
||||
}
|
||||
return permissions;
|
||||
}
|
||||
|
||||
public static String [] getImagePermissionList(){
|
||||
List<String> perList = new ArrayList<>();
|
||||
perList.add(android.Manifest.permission.CAMERA);
|
||||
|
|
|
|||
Loading…
Reference in New Issue