Commit 4e1280e4 authored by 杨秀秀's avatar 杨秀秀

Merge remote-tracking branch 'origin/dev1.0.3' into dev1.0.3

# Conflicts:
#	app/src/main/java/com/xx/merchanthbh/ui/home/HomeFragment.java
#	app/src/main/java/com/xx/merchanthbh/ui/huanbohai/HuanBoHaiFragment.java
#	app/src/main/java/com/xx/merchanthbh/ui/mine/MineFragment.java
#	hbhbcompany/src/main/java/com/xx/hbhbcompany/ui/home/HomeFragment.java
parents b8dcd229 1d174b99
...@@ -18,6 +18,7 @@ import android.view.View; ...@@ -18,6 +18,7 @@ import android.view.View;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.core.content.FileProvider; import androidx.core.content.FileProvider;
import androidx.databinding.ObservableField; import androidx.databinding.ObservableField;
import androidx.lifecycle.LiveData;
import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.MutableLiveData;
import com.huantansheng.easyphotos.utils.permission.PermissionUtil; import com.huantansheng.easyphotos.utils.permission.PermissionUtil;
...@@ -75,6 +76,8 @@ import okhttp3.ResponseBody; ...@@ -75,6 +76,8 @@ import okhttp3.ResponseBody;
public class HomeViewModel extends BaseViewModel<HomeRequest> { public class HomeViewModel extends BaseViewModel<HomeRequest> {
// 标志位:是否点击确认下载最新安装包
private MutableLiveData<Boolean> isUserConfirmedUpdate = new MutableLiveData<>(false);
/*权限*/ /*权限*/
RxPermissions rxPermissions; RxPermissions rxPermissions;
/*隐私条款字段*/ /*隐私条款字段*/
...@@ -100,6 +103,13 @@ public class HomeViewModel extends BaseViewModel<HomeRequest> { ...@@ -100,6 +103,13 @@ public class HomeViewModel extends BaseViewModel<HomeRequest> {
super(application); super(application);
} }
public LiveData<Boolean> getIsUserConfirmedUpdate() {
return isUserConfirmedUpdate;
}
public void setUserConfirmedUpdate(boolean confirmed) {
isUserConfirmedUpdate.setValue(confirmed);
}
public HomeViewModel(@NonNull Application application, HomeRequest model) { public HomeViewModel(@NonNull Application application, HomeRequest model) {
super(application, model); super(application, model);
if(LocalData.getMerchant()!=null && LocalData.getMerchant().getStoreName()!=null) if(LocalData.getMerchant()!=null && LocalData.getMerchant().getStoreName()!=null)
...@@ -176,6 +186,7 @@ public class HomeViewModel extends BaseViewModel<HomeRequest> { ...@@ -176,6 +186,7 @@ public class HomeViewModel extends BaseViewModel<HomeRequest> {
@Override @Override
public void acceptBack() { public void acceptBack() {
setUserConfirmedUpdate(true);
rxPermissions rxPermissions
.request(Manifest.permission.WRITE_EXTERNAL_STORAGE) .request(Manifest.permission.WRITE_EXTERNAL_STORAGE)
.subscribe(granted -> { .subscribe(granted -> {
...@@ -201,6 +212,7 @@ public class HomeViewModel extends BaseViewModel<HomeRequest> { ...@@ -201,6 +212,7 @@ public class HomeViewModel extends BaseViewModel<HomeRequest> {
@Override @Override
public void acceptBack() { public void acceptBack() {
setUserConfirmedUpdate(true);
rxPermissions rxPermissions
.request(Manifest.permission.WRITE_EXTERNAL_STORAGE) .request(Manifest.permission.WRITE_EXTERNAL_STORAGE)
.subscribe(granted -> { .subscribe(granted -> {
......
...@@ -14,6 +14,7 @@ import android.widget.Toast; ...@@ -14,6 +14,7 @@ import android.widget.Toast;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.core.content.FileProvider; import androidx.core.content.FileProvider;
import androidx.lifecycle.LiveData;
import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.MutableLiveData;
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
...@@ -60,6 +61,8 @@ import okhttp3.ResponseBody; ...@@ -60,6 +61,8 @@ import okhttp3.ResponseBody;
public class HuanBoHaiViewModel extends ListBaseViewModel<HuanBoHaiRequest> { public class HuanBoHaiViewModel extends ListBaseViewModel<HuanBoHaiRequest> {
// 标志位:是否点击确认下载最新安装包
private MutableLiveData<Boolean> isUserConfirmedUpdate = new MutableLiveData<>(false);
/*权限*/ /*权限*/
RxPermissions rxPermissions; RxPermissions rxPermissions;
...@@ -81,6 +84,13 @@ public class HuanBoHaiViewModel extends ListBaseViewModel<HuanBoHaiRequest> { ...@@ -81,6 +84,13 @@ public class HuanBoHaiViewModel extends ListBaseViewModel<HuanBoHaiRequest> {
ConsultationInformationAdapter consultationInformationAdapter; ConsultationInformationAdapter consultationInformationAdapter;
public MerchantBean merchantInfo = LocalData.getMerchant(); public MerchantBean merchantInfo = LocalData.getMerchant();
public LiveData<Boolean> getIsUserConfirmedUpdate() {
return isUserConfirmedUpdate;
}
public void setUserConfirmedUpdate(boolean confirmed) {
isUserConfirmedUpdate.setValue(confirmed);
}
public HuanBoHaiViewModel(@NonNull Application application) { public HuanBoHaiViewModel(@NonNull Application application) {
super(application); super(application);
} }
...@@ -139,6 +149,7 @@ public class HuanBoHaiViewModel extends ListBaseViewModel<HuanBoHaiRequest> { ...@@ -139,6 +149,7 @@ public class HuanBoHaiViewModel extends ListBaseViewModel<HuanBoHaiRequest> {
@Override @Override
public void acceptBack() { public void acceptBack() {
setUserConfirmedUpdate(true);
rxPermissions rxPermissions
.request(Manifest.permission.WRITE_EXTERNAL_STORAGE) .request(Manifest.permission.WRITE_EXTERNAL_STORAGE)
.subscribe(granted -> { .subscribe(granted -> {
...@@ -173,6 +184,7 @@ public class HuanBoHaiViewModel extends ListBaseViewModel<HuanBoHaiRequest> { ...@@ -173,6 +184,7 @@ public class HuanBoHaiViewModel extends ListBaseViewModel<HuanBoHaiRequest> {
@Override @Override
public void acceptBack() { public void acceptBack() {
setUserConfirmedUpdate(true);
rxPermissions rxPermissions
.request(Manifest.permission.WRITE_EXTERNAL_STORAGE) .request(Manifest.permission.WRITE_EXTERNAL_STORAGE)
.subscribe(granted -> { .subscribe(granted -> {
......
...@@ -12,9 +12,7 @@ import android.text.Spanned ...@@ -12,9 +12,7 @@ import android.text.Spanned
import android.text.TextPaint import android.text.TextPaint
import android.text.method.LinkMovementMethod import android.text.method.LinkMovementMethod
import android.text.style.ClickableSpan import android.text.style.ClickableSpan
import android.util.Log
import android.view.View import android.view.View
import androidx.core.content.edit
import androidx.lifecycle.Observer import androidx.lifecycle.Observer
import com.tbruyelle.rxpermissions3.RxPermissions import com.tbruyelle.rxpermissions3.RxPermissions
import com.xx.merchanthbh.BR import com.xx.merchanthbh.BR
...@@ -22,6 +20,8 @@ import com.xx.merchanthbh.R ...@@ -22,6 +20,8 @@ import com.xx.merchanthbh.R
import com.xx.merchanthbh.data.http.requst.LoginRequest import com.xx.merchanthbh.data.http.requst.LoginRequest
import com.xx.merchanthbh.data.staticdata.StaticData import com.xx.merchanthbh.data.staticdata.StaticData
import com.xx.merchanthbh.databinding.ActivityLoginBinding import com.xx.merchanthbh.databinding.ActivityLoginBinding
import com.xx.merchanthbh.ui.mine.MineFragment
import com.xx.merchanthbh.ui.mine.MineViewModel
import com.xx.merchanthbh.ui.web.CommWabActivity import com.xx.merchanthbh.ui.web.CommWabActivity
import com.xx.merchanthbh.utils.RetrofitClient import com.xx.merchanthbh.utils.RetrofitClient
import com.xx.xxviewlibrary.comm.CommTextAgreeDialog import com.xx.xxviewlibrary.comm.CommTextAgreeDialog
...@@ -29,7 +29,6 @@ import com.xx.xxviewlibrary.comm.CommTextDialog.onAcceptCallBack ...@@ -29,7 +29,6 @@ import com.xx.xxviewlibrary.comm.CommTextDialog.onAcceptCallBack
import com.xx.xxviewlibrary.comm.RefuseDialogBean import com.xx.xxviewlibrary.comm.RefuseDialogBean
import me.goldze.mvvmhabit.base.BaseActivity import me.goldze.mvvmhabit.base.BaseActivity
import me.goldze.mvvmhabit.utils.SPUtils import me.goldze.mvvmhabit.utils.SPUtils
import me.goldze.mvvmhabit.utils.ToastUtils
class LoginActivity() : BaseActivity<ActivityLoginBinding, LoginViewModel>() { class LoginActivity() : BaseActivity<ActivityLoginBinding, LoginViewModel>() {
...@@ -49,8 +48,44 @@ class LoginActivity() : BaseActivity<ActivityLoginBinding, LoginViewModel>() { ...@@ -49,8 +48,44 @@ class LoginActivity() : BaseActivity<ActivityLoginBinding, LoginViewModel>() {
super.onResume() super.onResume()
// 注销标志位重置 // 注销标志位重置
StaticData.logOffData = 0 StaticData.logOffData = 0
// 检查用户是否已经确认更新,如果没有确认,则执行版本检查
if (viewModel.getIsUserConfirmedUpdate().getValue() != true) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
if (!Environment.isExternalStorageManager()) {
checkPermission()
} else {
// 检查版本
viewModel.checkVersion(binding.root.rootView)
}
}
}
} }
private fun checkPermission() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
if (!Environment.isExternalStorageManager()) {
// 弹出权限请求对话框
showCommTextDialog(RefuseDialogBean(
"申请的是授予管理所有文件的权限,用于更新最新安装包" + ",是否同意",
"同意",
"拒绝"
),
object : onAcceptCallBack {
override fun acceptBack() {
val intent =
Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION)
intent.data = Uri.parse("package:" + getPackageName())
startActivityForResult(intent, 1024)
}
override fun refuseBack() {
checkPermission() // 继续检查权限并请求
}
})
}
}
}
var agreementContext: String = "" var agreementContext: String = ""
override fun initData() { override fun initData() {
...@@ -88,8 +123,6 @@ class LoginActivity() : BaseActivity<ActivityLoginBinding, LoginViewModel>() { ...@@ -88,8 +123,6 @@ class LoginActivity() : BaseActivity<ActivityLoginBinding, LoginViewModel>() {
val editor = preferences.edit() val editor = preferences.edit()
editor.putBoolean("is_agree_flag", false) editor.putBoolean("is_agree_flag", false)
editor.apply() editor.apply()
// 检查版本
viewModel.checkVersion(binding.root.rootView)
} }
}) })
} }
...@@ -97,8 +130,16 @@ class LoginActivity() : BaseActivity<ActivityLoginBinding, LoginViewModel>() { ...@@ -97,8 +130,16 @@ class LoginActivity() : BaseActivity<ActivityLoginBinding, LoginViewModel>() {
} else { } else {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
if (!Environment.isExternalStorageManager()) {
checkPermission()
}else{
// 检查版本
viewModel.checkVersion(binding.root.rootView) viewModel.checkVersion(binding.root.rootView)
} }
}
}
//安装新版本 //安装新版本
viewModel.openInstall.observe(this, Observer<String?> { viewModel.openInstall.observe(this, Observer<String?> {
...@@ -110,14 +151,6 @@ class LoginActivity() : BaseActivity<ActivityLoginBinding, LoginViewModel>() { ...@@ -110,14 +151,6 @@ class LoginActivity() : BaseActivity<ActivityLoginBinding, LoginViewModel>() {
} }
} }
}) })
/* if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
if (!Environment.isExternalStorageManager()) {
val intent = Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION)
intent.setData(Uri.parse("package:$packageName"))
startActivityForResult(intent, 1024)
}
}*/
if (viewModel.isAgree) if (viewModel.isAgree)
{ {
binding.ivLoginAgreement.setImageDrawable(getDrawable(R.mipmap.login_icon_xuanze2)) binding.ivLoginAgreement.setImageDrawable(getDrawable(R.mipmap.login_icon_xuanze2))
......
...@@ -20,6 +20,7 @@ import android.widget.Toast; ...@@ -20,6 +20,7 @@ import android.widget.Toast;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.core.content.FileProvider; import androidx.core.content.FileProvider;
import androidx.databinding.ObservableField; import androidx.databinding.ObservableField;
import androidx.lifecycle.LiveData;
import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.MutableLiveData;
import androidx.lifecycle.ViewModel; import androidx.lifecycle.ViewModel;
...@@ -60,6 +61,8 @@ import okhttp3.ResponseBody; ...@@ -60,6 +61,8 @@ import okhttp3.ResponseBody;
public class LoginViewModel extends BaseViewModel<LoginRequest> { public class LoginViewModel extends BaseViewModel<LoginRequest> {
// 标志位:是否点击确认下载最新安装包
private MutableLiveData<Boolean> isUserConfirmedUpdate = new MutableLiveData<>(false);
/*权限*/ /*权限*/
RxPermissions rxPermissions; RxPermissions rxPermissions;
//用户名的绑定 //用户名的绑定
...@@ -72,6 +75,13 @@ public class LoginViewModel extends BaseViewModel<LoginRequest> { ...@@ -72,6 +75,13 @@ public class LoginViewModel extends BaseViewModel<LoginRequest> {
public MutableLiveData<String> openInstall = new MutableLiveData<>(""); public MutableLiveData<String> openInstall = new MutableLiveData<>("");
public boolean isAgree = false; public boolean isAgree = false;
public LiveData<Boolean> getIsUserConfirmedUpdate() {
return isUserConfirmedUpdate;
}
public void setUserConfirmedUpdate(boolean confirmed) {
isUserConfirmedUpdate.setValue(confirmed);
}
public LoginViewModel(@NonNull Application application, LoginRequest model) { public LoginViewModel(@NonNull Application application, LoginRequest model) {
super(application, model); super(application, model);
} }
...@@ -283,6 +293,8 @@ public class LoginViewModel extends BaseViewModel<LoginRequest> { ...@@ -283,6 +293,8 @@ public class LoginViewModel extends BaseViewModel<LoginRequest> {
@Override @Override
public void acceptBack() { public void acceptBack() {
setUserConfirmedUpdate(true);
rxPermissions rxPermissions
.request(Manifest.permission.WRITE_EXTERNAL_STORAGE) .request(Manifest.permission.WRITE_EXTERNAL_STORAGE)
.subscribe(granted -> { .subscribe(granted -> {
...@@ -310,6 +322,7 @@ public class LoginViewModel extends BaseViewModel<LoginRequest> { ...@@ -310,6 +322,7 @@ public class LoginViewModel extends BaseViewModel<LoginRequest> {
@Override @Override
public void acceptBack() { public void acceptBack() {
setUserConfirmedUpdate(true);
rxPermissions rxPermissions
.request(Manifest.permission.WRITE_EXTERNAL_STORAGE) .request(Manifest.permission.WRITE_EXTERNAL_STORAGE)
.subscribe(granted -> { .subscribe(granted -> {
...@@ -440,6 +453,7 @@ public class LoginViewModel extends BaseViewModel<LoginRequest> { ...@@ -440,6 +453,7 @@ public class LoginViewModel extends BaseViewModel<LoginRequest> {
} }
LocalData.saveMerchant(resultBean.getMerchant()); LocalData.saveMerchant(resultBean.getMerchant());
startActivity(HomeActivity.class); startActivity(HomeActivity.class);
finish();
} }
// finish(); // finish();
...@@ -481,6 +495,7 @@ public class LoginViewModel extends BaseViewModel<LoginRequest> { ...@@ -481,6 +495,7 @@ public class LoginViewModel extends BaseViewModel<LoginRequest> {
dismissDialog(); dismissDialog();
LocalData.saveMerchant(resultBean.getMerchant()); LocalData.saveMerchant(resultBean.getMerchant());
startActivity(HomeActivity.class); startActivity(HomeActivity.class);
finish();
} }
@Override @Override
......
...@@ -55,7 +55,8 @@ import okhttp3.ResponseBody; ...@@ -55,7 +55,8 @@ import okhttp3.ResponseBody;
public class MineViewModel extends BaseViewModel<MineRequest> { public class MineViewModel extends BaseViewModel<MineRequest> {
RxPermissions rxPermissions; RxPermissions rxPermissions;
// 标志位:是否点击确认下载最新安装包
private MutableLiveData<Boolean> isUserConfirmedUpdate = new MutableLiveData<>(false);
//头像的绑定 //头像的绑定
private MutableLiveData<String> avatarImageUrl = new MutableLiveData<>(); private MutableLiveData<String> avatarImageUrl = new MutableLiveData<>();
//昵称的绑定 //昵称的绑定
...@@ -65,6 +66,13 @@ public class MineViewModel extends BaseViewModel<MineRequest> { ...@@ -65,6 +66,13 @@ public class MineViewModel extends BaseViewModel<MineRequest> {
//职位的绑定 //职位的绑定
public ObservableField<String> roleName = new ObservableField<>(""); public ObservableField<String> roleName = new ObservableField<>("");
public LiveData<Boolean> getIsUserConfirmedUpdate() {
return isUserConfirmedUpdate;
}
public void setUserConfirmedUpdate(boolean confirmed) {
isUserConfirmedUpdate.setValue(confirmed);
}
//版本号 //版本号
public ObservableField<String> versionName = new ObservableField<>(""); public ObservableField<String> versionName = new ObservableField<>("");
...@@ -198,7 +206,7 @@ public class MineViewModel extends BaseViewModel<MineRequest> { ...@@ -198,7 +206,7 @@ public class MineViewModel extends BaseViewModel<MineRequest> {
@Override @Override
public void acceptBack() { public void acceptBack() {
setUserConfirmedUpdate(true);
rxPermissions rxPermissions
.request(Manifest.permission.WRITE_EXTERNAL_STORAGE) .request(Manifest.permission.WRITE_EXTERNAL_STORAGE)
.subscribe(granted -> { .subscribe(granted -> {
...@@ -233,6 +241,7 @@ public class MineViewModel extends BaseViewModel<MineRequest> { ...@@ -233,6 +241,7 @@ public class MineViewModel extends BaseViewModel<MineRequest> {
@Override @Override
public void acceptBack() { public void acceptBack() {
setUserConfirmedUpdate(true);
rxPermissions rxPermissions
.request(Manifest.permission.WRITE_EXTERNAL_STORAGE) .request(Manifest.permission.WRITE_EXTERNAL_STORAGE)
.subscribe(granted -> { .subscribe(granted -> {
......
...@@ -52,7 +52,6 @@ class LoginRequest: BaseRespons() { ...@@ -52,7 +52,6 @@ class LoginRequest: BaseRespons() {
*/ */
fun getProtocols(): Observable<BaseResponse<List<String>>> fun getProtocols(): Observable<BaseResponse<List<String>>>
{ {
return apiService.getProtocols(ApiParams<Array<String>>().setParams(arrayOf("6","7","14","9","10"))) return apiService.getProtocols(ApiParams<Array<String>>().setParams(arrayOf("6","7","14","9","10")))
} }
} }
\ No newline at end of file
...@@ -18,6 +18,7 @@ import android.view.View; ...@@ -18,6 +18,7 @@ import android.view.View;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.core.content.FileProvider; import androidx.core.content.FileProvider;
import androidx.databinding.ObservableField; import androidx.databinding.ObservableField;
import androidx.lifecycle.LiveData;
import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.MutableLiveData;
import com.tbruyelle.rxpermissions3.RxPermissions; import com.tbruyelle.rxpermissions3.RxPermissions;
...@@ -71,6 +72,9 @@ import me.goldze.mvvmhabit.utils.ToastUtils; ...@@ -71,6 +72,9 @@ import me.goldze.mvvmhabit.utils.ToastUtils;
import okhttp3.ResponseBody; import okhttp3.ResponseBody;
public class HomeViewModel extends ListBaseViewModel<HomeRequest> { public class HomeViewModel extends ListBaseViewModel<HomeRequest> {
// 标志位:是否点击确认下载最新安装包
private MutableLiveData<Boolean> isUserConfirmedUpdate = new MutableLiveData<>(false);
RxPermissions rxPermissions; RxPermissions rxPermissions;
public MutableLiveData<String> openInstall = new MutableLiveData<>(""); public MutableLiveData<String> openInstall = new MutableLiveData<>("");
/*首页-资讯信息列表*/ /*首页-资讯信息列表*/
...@@ -101,6 +105,13 @@ public class HomeViewModel extends ListBaseViewModel<HomeRequest> { ...@@ -101,6 +105,13 @@ public class HomeViewModel extends ListBaseViewModel<HomeRequest> {
/*招聘列表暂无数据状态位*/ /*招聘列表暂无数据状态位*/
public MutableLiveData<Integer> loadMoreStatica = new MutableLiveData<>(0); public MutableLiveData<Integer> loadMoreStatica = new MutableLiveData<>(0);
public LiveData<Boolean> getIsUserConfirmedUpdate() {
return isUserConfirmedUpdate;
}
public void setUserConfirmedUpdate(boolean confirmed) {
isUserConfirmedUpdate.setValue(confirmed);
}
public HomeViewModel(@NonNull Application application) { public HomeViewModel(@NonNull Application application) {
super(application); super(application);
} }
...@@ -141,6 +152,7 @@ public class HomeViewModel extends ListBaseViewModel<HomeRequest> { ...@@ -141,6 +152,7 @@ public class HomeViewModel extends ListBaseViewModel<HomeRequest> {
@Override @Override
public void acceptBack() { public void acceptBack() {
setUserConfirmedUpdate(true);
rxPermissions rxPermissions
.request(Manifest.permission.WRITE_EXTERNAL_STORAGE) .request(Manifest.permission.WRITE_EXTERNAL_STORAGE)
.subscribe(granted -> { .subscribe(granted -> {
...@@ -176,6 +188,7 @@ public class HomeViewModel extends ListBaseViewModel<HomeRequest> { ...@@ -176,6 +188,7 @@ public class HomeViewModel extends ListBaseViewModel<HomeRequest> {
@Override @Override
public void acceptBack() { public void acceptBack() {
setUserConfirmedUpdate(true);
rxPermissions rxPermissions
.request(Manifest.permission.WRITE_EXTERNAL_STORAGE) .request(Manifest.permission.WRITE_EXTERNAL_STORAGE)
.subscribe(granted -> { .subscribe(granted -> {
......
...@@ -2,7 +2,9 @@ package com.xx.hbhbcompany.ui.login ...@@ -2,7 +2,9 @@ package com.xx.hbhbcompany.ui.login
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.net.Uri import android.net.Uri
import android.os.Build
import android.os.Bundle import android.os.Bundle
import android.os.Environment
import android.provider.Settings import android.provider.Settings
import android.text.SpannableStringBuilder import android.text.SpannableStringBuilder
import android.text.Spanned import android.text.Spanned
...@@ -10,6 +12,7 @@ import android.text.TextPaint ...@@ -10,6 +12,7 @@ import android.text.TextPaint
import android.text.method.LinkMovementMethod import android.text.method.LinkMovementMethod
import android.text.style.ClickableSpan import android.text.style.ClickableSpan
import android.view.View import android.view.View
import androidx.core.content.ContextCompat.startActivity
import com.xx.hbhbcompany.R import com.xx.hbhbcompany.R
import com.xx.hbhbcompany.BR import com.xx.hbhbcompany.BR
import com.xx.hbhbcompany.data.http.requst.LoginRequest import com.xx.hbhbcompany.data.http.requst.LoginRequest
...@@ -41,6 +44,47 @@ class LoginActivity() : BaseActivity<ActivityLoginBinding, LoginViewModel>() { ...@@ -41,6 +44,47 @@ class LoginActivity() : BaseActivity<ActivityLoginBinding, LoginViewModel>() {
} }
var agreementContext: String = "" var agreementContext: String = ""
override fun onResume() {
super.onResume()
// 检查用户是否已经确认更新,如果没有确认,则执行版本检查
if (viewModel.getIsUserConfirmedUpdate().getValue() != true) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
if (!Environment.isExternalStorageManager()) {
checkPermission()
} else {
// 检查版本
viewModel.checkVersion(binding.root.rootView)
}
}
}
}
private fun checkPermission() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
if (!Environment.isExternalStorageManager()) {
// 弹出权限请求对话框
showCommTextDialog(RefuseDialogBean(
"申请的是授予管理所有文件的权限,用于更新最新安装包" + ",是否同意",
"同意",
"拒绝"
),
object : CommTextDialog.onAcceptCallBack {
override fun acceptBack() {
val intent =
Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION)
intent.data = Uri.parse("package:" + getPackageName())
startActivityForResult(intent, 1024)
}
override fun refuseBack() {
checkPermission() // 继续检查权限并请求
}
})
}
}
}
override fun initData() { override fun initData() {
// 检查版本 // 检查版本
viewModel.rxPermissions = RxPermissions(this) viewModel.rxPermissions = RxPermissions(this)
...@@ -75,14 +119,20 @@ class LoginActivity() : BaseActivity<ActivityLoginBinding, LoginViewModel>() { ...@@ -75,14 +119,20 @@ class LoginActivity() : BaseActivity<ActivityLoginBinding, LoginViewModel>() {
val editor = preferences.edit() val editor = preferences.edit()
editor.putBoolean("is_agree_flag", false) editor.putBoolean("is_agree_flag", false)
editor.apply() editor.apply()
viewModel.checkVersion(binding.root.rootView)
} }
}) })
} }
} }
}else{ }else{
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
if (!Environment.isExternalStorageManager()) {
checkPermission()
}else{
// 检查版本
viewModel.checkVersion(binding.root.rootView) viewModel.checkVersion(binding.root.rootView)
} }
}
}
/*强制更新标识位变更--重置用户登录*/ /*强制更新标识位变更--重置用户登录*/
StaticData.updateLogin = 1 StaticData.updateLogin = 1
// 安装新版本 // 安装新版本
......
...@@ -22,6 +22,7 @@ import android.widget.Toast; ...@@ -22,6 +22,7 @@ import android.widget.Toast;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.core.content.FileProvider; import androidx.core.content.FileProvider;
import androidx.databinding.ObservableField; import androidx.databinding.ObservableField;
import androidx.lifecycle.LiveData;
import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.MutableLiveData;
import com.tbruyelle.rxpermissions3.RxPermissions; import com.tbruyelle.rxpermissions3.RxPermissions;
...@@ -58,6 +59,8 @@ import okhttp3.ResponseBody; ...@@ -58,6 +59,8 @@ import okhttp3.ResponseBody;
public class LoginViewModel extends BaseViewModel<LoginRequest> { public class LoginViewModel extends BaseViewModel<LoginRequest> {
// 标志位:是否点击确认下载最新安装包
private MutableLiveData<Boolean> isUserConfirmedUpdate = new MutableLiveData<>(false);
/*隐私条款字段*/ /*隐私条款字段*/
public MutableLiveData<String> agreeContent = new MutableLiveData<>(null); public MutableLiveData<String> agreeContent = new MutableLiveData<>(null);
/*权限*/ /*权限*/
...@@ -73,6 +76,13 @@ public class LoginViewModel extends BaseViewModel<LoginRequest> { ...@@ -73,6 +76,13 @@ public class LoginViewModel extends BaseViewModel<LoginRequest> {
public boolean isAgree = false; public boolean isAgree = false;
public LiveData<Boolean> getIsUserConfirmedUpdate() {
return isUserConfirmedUpdate;
}
public void setUserConfirmedUpdate(boolean confirmed) {
isUserConfirmedUpdate.setValue(confirmed);
}
public LoginViewModel(@NonNull Application application, LoginRequest model) { public LoginViewModel(@NonNull Application application, LoginRequest model) {
super(application, model); super(application, model);
} }
...@@ -108,6 +118,8 @@ public class LoginViewModel extends BaseViewModel<LoginRequest> { ...@@ -108,6 +118,8 @@ public class LoginViewModel extends BaseViewModel<LoginRequest> {
@Override @Override
public void acceptBack() { public void acceptBack() {
setUserConfirmedUpdate(true);
/*强制更新标识位变更--禁止用户登录*/ /*强制更新标识位变更--禁止用户登录*/
StaticData.updateLogin = 0; StaticData.updateLogin = 0;
rxPermissions rxPermissions
...@@ -136,6 +148,8 @@ public class LoginViewModel extends BaseViewModel<LoginRequest> { ...@@ -136,6 +148,8 @@ public class LoginViewModel extends BaseViewModel<LoginRequest> {
@Override @Override
public void acceptBack() { public void acceptBack() {
setUserConfirmedUpdate(true);
/*强制更新标识位变更--禁止用户登录*/ /*强制更新标识位变更--禁止用户登录*/
StaticData.updateLogin = 0; StaticData.updateLogin = 0;
rxPermissions rxPermissions
......
...@@ -54,9 +54,10 @@ public class MineFragment extends BaseFragment<FragmentMineBinding, MineViewMode ...@@ -54,9 +54,10 @@ public class MineFragment extends BaseFragment<FragmentMineBinding, MineViewMode
@Override @Override
public void initData() { public void initData() {
// super.initData(); // super.initData();
viewModel.refreshNickName();
/*设置当前版本号*/ /*设置当前版本号*/
viewModel.versionName.set(StaticData.appVersionNumber); viewModel.versionName.set(StaticData.appVersionNumber);
// 检查版本
viewModel.rxPermissions = new RxPermissions(this); viewModel.rxPermissions = new RxPermissions(this);
/*控制台拿到了图片路径了*/ /*控制台拿到了图片路径了*/
/*如果图片有刷新就会进行更新*/ /*如果图片有刷新就会进行更新*/
...@@ -104,26 +105,17 @@ public class MineFragment extends BaseFragment<FragmentMineBinding, MineViewMode ...@@ -104,26 +105,17 @@ public class MineFragment extends BaseFragment<FragmentMineBinding, MineViewMode
@Override @Override
public void onResume() { public void onResume() {
super.onResume(); super.onResume();
viewModel.refreshNickName();
// 检查版本 // 检查用户是否已经确认更新,如果没有确认,则执行版本检查
viewModel.rxPermissions = new RxPermissions(this); if (!viewModel.getIsUserConfirmedUpdate().getValue()) {
/*检查版本*/
viewModel.checkVersion(binding.getRoot().getRootView());
// 安装新版本
viewModel.openInstall.observe(this, new Observer<String>() {
@Override
public void onChanged(String s) {
if ("1".equals(s)) {
Uri packageURI = Uri.parse("package:" +getContext().getPackageName());
Intent intent = new Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES, packageURI);
startActivityForResult(intent, 1002);
}
}
});
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
if (!Environment.isExternalStorageManager()) { if (!Environment.isExternalStorageManager()) {
checkPermission(); checkPermission();
} else {
// 检查版本
viewModel.checkVersion(binding.getRoot().getRootView());
}
} }
} }
} }
......
...@@ -51,6 +51,8 @@ import okhttp3.ResponseBody; ...@@ -51,6 +51,8 @@ import okhttp3.ResponseBody;
public class MineViewModel extends BaseViewModel<MineRequest> { public class MineViewModel extends BaseViewModel<MineRequest> {
// 标志位:是否点击确认下载最新安装包
private MutableLiveData<Boolean> isUserConfirmedUpdate = new MutableLiveData<>(false);
RxPermissions rxPermissions; RxPermissions rxPermissions;
public MutableLiveData<String> openInstall = new MutableLiveData<>(""); public MutableLiveData<String> openInstall = new MutableLiveData<>("");
//头像的绑定 //头像的绑定
...@@ -70,6 +72,13 @@ public class MineViewModel extends BaseViewModel<MineRequest> { ...@@ -70,6 +72,13 @@ public class MineViewModel extends BaseViewModel<MineRequest> {
} }
public LiveData<Boolean> getIsUserConfirmedUpdate() {
return isUserConfirmedUpdate;
}
public void setUserConfirmedUpdate(boolean confirmed) {
isUserConfirmedUpdate.setValue(confirmed);
}
public MineViewModel(@NonNull Application application, MineRequest model) { public MineViewModel(@NonNull Application application, MineRequest model) {
super(application, model); super(application, model);
} }
...@@ -194,6 +203,7 @@ public class MineViewModel extends BaseViewModel<MineRequest> { ...@@ -194,6 +203,7 @@ public class MineViewModel extends BaseViewModel<MineRequest> {
@Override @Override
public void acceptBack() { public void acceptBack() {
setUserConfirmedUpdate(true);
rxPermissions rxPermissions
.request(Manifest.permission.WRITE_EXTERNAL_STORAGE) .request(Manifest.permission.WRITE_EXTERNAL_STORAGE)
.subscribe(granted -> { .subscribe(granted -> {
...@@ -229,6 +239,7 @@ public class MineViewModel extends BaseViewModel<MineRequest> { ...@@ -229,6 +239,7 @@ public class MineViewModel extends BaseViewModel<MineRequest> {
@Override @Override
public void acceptBack() { public void acceptBack() {
setUserConfirmedUpdate(true);
rxPermissions rxPermissions
.request(Manifest.permission.WRITE_EXTERNAL_STORAGE) .request(Manifest.permission.WRITE_EXTERNAL_STORAGE)
.subscribe(granted -> { .subscribe(granted -> {
......
...@@ -48,6 +48,20 @@ public class WorkFragment extends BaseFragment<FragmentWorkBinding, WorkViewMode ...@@ -48,6 +48,20 @@ public class WorkFragment extends BaseFragment<FragmentWorkBinding, WorkViewMode
public void initData() { public void initData() {
super.initData(); super.initData();
// 检查版本
viewModel.rxPermissions = new RxPermissions(this);
// 安装新版本
viewModel.openInstall.observe(this, new Observer<String>() {
@Override
public void onChanged(String s) {
if ("1".equals(s)) {
Uri packageURI = Uri.parse("package:" +getContext().getPackageName());
Intent intent = new Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES, packageURI);
startActivityForResult(intent, 1002);
}
}
});
//获取适配器上下文 //获取适配器上下文
WorkIconsAdapter workIconsAdapter = new WorkIconsAdapter(getContext()); WorkIconsAdapter workIconsAdapter = new WorkIconsAdapter(getContext());
...@@ -105,29 +119,20 @@ public class WorkFragment extends BaseFragment<FragmentWorkBinding, WorkViewMode ...@@ -105,29 +119,20 @@ public class WorkFragment extends BaseFragment<FragmentWorkBinding, WorkViewMode
@Override @Override
public void onResume() { public void onResume() {
super.onResume(); super.onResume();
// 调取工作台三个统计数接口
viewModel.getWorkNumber();
// 检查版本
viewModel.rxPermissions = new RxPermissions(this);
// 检查版本
viewModel.checkVersion(binding.getRoot().getRootView());
// 安装新版本
viewModel.openInstall.observe(this, new Observer<String>() {
@Override
public void onChanged(String s) {
if ("1".equals(s)) {
Uri packageURI = Uri.parse("package:" +getContext().getPackageName());
Intent intent = new Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES, packageURI);
startActivityForResult(intent, 1002);
}
}
});
// 检查用户是否已经确认更新,如果没有确认,则执行版本检查
if (!viewModel.getIsUserConfirmedUpdate().getValue()) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
if (!Environment.isExternalStorageManager()) { if (!Environment.isExternalStorageManager()) {
checkPermission(); checkPermission();
} else {
// 检查版本
viewModel.checkVersion(binding.getRoot().getRootView());
}
} }
} }
// 调取工作台三个统计数接口
viewModel.getWorkNumber();
} }
......
...@@ -13,6 +13,7 @@ import android.view.View; ...@@ -13,6 +13,7 @@ import android.view.View;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.core.content.FileProvider; import androidx.core.content.FileProvider;
import androidx.databinding.ObservableField; import androidx.databinding.ObservableField;
import androidx.lifecycle.LiveData;
import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.MutableLiveData;
import com.tbruyelle.rxpermissions3.RxPermissions; import com.tbruyelle.rxpermissions3.RxPermissions;
...@@ -52,6 +53,9 @@ import me.goldze.mvvmhabit.utils.ToastUtils; ...@@ -52,6 +53,9 @@ import me.goldze.mvvmhabit.utils.ToastUtils;
import okhttp3.ResponseBody; import okhttp3.ResponseBody;
public class WorkViewModel extends BaseViewModel<WorkRequest> { public class WorkViewModel extends BaseViewModel<WorkRequest> {
// 标志位:是否点击确认下载最新安装包
private MutableLiveData<Boolean> isUserConfirmedUpdate = new MutableLiveData<>(false);
RxPermissions rxPermissions; RxPermissions rxPermissions;
public MutableLiveData<String> openInstall = new MutableLiveData<>(""); public MutableLiveData<String> openInstall = new MutableLiveData<>("");
public String merchantStatus = "0"; public String merchantStatus = "0";
...@@ -59,6 +63,14 @@ public class WorkViewModel extends BaseViewModel<WorkRequest> { ...@@ -59,6 +63,14 @@ public class WorkViewModel extends BaseViewModel<WorkRequest> {
public MutableLiveData<List<MerchantBean>> mAuditList = new MutableLiveData<>(new ArrayList<>()); public MutableLiveData<List<MerchantBean>> mAuditList = new MutableLiveData<>(new ArrayList<>());
/*四个按钮*/ /*四个按钮*/
public MutableLiveData<List<WorkIconBean>> workIconsList = new MutableLiveData<>(new ArrayList<>()); public MutableLiveData<List<WorkIconBean>> workIconsList = new MutableLiveData<>(new ArrayList<>());
public LiveData<Boolean> getIsUserConfirmedUpdate() {
return isUserConfirmedUpdate;
}
public void setUserConfirmedUpdate(boolean confirmed) {
isUserConfirmedUpdate.setValue(confirmed);
}
/** /**
* 获取最新APK版本号 * 获取最新APK版本号
* *
...@@ -87,6 +99,7 @@ public class WorkViewModel extends BaseViewModel<WorkRequest> { ...@@ -87,6 +99,7 @@ public class WorkViewModel extends BaseViewModel<WorkRequest> {
@Override @Override
public void acceptBack() { public void acceptBack() {
setUserConfirmedUpdate(true);
rxPermissions rxPermissions
.request(Manifest.permission.WRITE_EXTERNAL_STORAGE) .request(Manifest.permission.WRITE_EXTERNAL_STORAGE)
.subscribe(granted -> { .subscribe(granted -> {
...@@ -122,6 +135,7 @@ public class WorkViewModel extends BaseViewModel<WorkRequest> { ...@@ -122,6 +135,7 @@ public class WorkViewModel extends BaseViewModel<WorkRequest> {
@Override @Override
public void acceptBack() { public void acceptBack() {
setUserConfirmedUpdate(true);
rxPermissions rxPermissions
.request(Manifest.permission.WRITE_EXTERNAL_STORAGE) .request(Manifest.permission.WRITE_EXTERNAL_STORAGE)
.subscribe(granted -> { .subscribe(granted -> {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment