Commit 1d174b99 authored by 小费同学阿's avatar 小费同学阿 💬

基础搭建

功能开发
1:bug 修复 企业端安装包更新弹窗完善
parent 9f0295ac
......@@ -131,14 +131,14 @@ class LoginActivity() : BaseActivity<ActivityLoginBinding, LoginViewModel>() {
} else {
// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
// if (!Environment.isExternalStorageManager()) {
// checkPermission()
// }else{
//// 检查版本
// viewModel.checkVersion(binding.root.rootView)
// }
// }
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
if (!Environment.isExternalStorageManager()) {
checkPermission()
}else{
// 检查版本
viewModel.checkVersion(binding.root.rootView)
}
}
}
//安装新版本
......
......@@ -57,26 +57,16 @@ public class HomeFragment extends BaseFragment<FragmentHomeBinding, HomeViewMode
public void onResume() {
super.onResume();
// 检查版本
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 (!Environment.isExternalStorageManager()) {
checkPermission();
} else {
// 检查版本
viewModel.checkVersion(binding.getRoot().getRootView());
}
}
});
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
if (!Environment.isExternalStorageManager()) {
checkPermission();
}
}
}
private void checkPermission() {
......@@ -105,8 +95,24 @@ public class HomeFragment extends BaseFragment<FragmentHomeBinding, HomeViewMode
@Override
public void 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);
}
}
});
/*调用首页的查看有没有未读消息的接口*/
viewModel.getMessageList();
if (StaticData.messageData == 0) {
/*已读隐藏*/
binding.ivBarMsgYidu.setVisibility(View.GONE);
......
......@@ -18,6 +18,7 @@ import android.view.View;
import androidx.annotation.NonNull;
import androidx.core.content.FileProvider;
import androidx.databinding.ObservableField;
import androidx.lifecycle.LiveData;
import androidx.lifecycle.MutableLiveData;
import com.tbruyelle.rxpermissions3.RxPermissions;
......@@ -71,6 +72,9 @@ import me.goldze.mvvmhabit.utils.ToastUtils;
import okhttp3.ResponseBody;
public class HomeViewModel extends ListBaseViewModel<HomeRequest> {
// 标志位:是否点击确认下载最新安装包
private MutableLiveData<Boolean> isUserConfirmedUpdate = new MutableLiveData<>(false);
RxPermissions rxPermissions;
public MutableLiveData<String> openInstall = new MutableLiveData<>("");
/*首页-资讯信息列表*/
......@@ -101,6 +105,13 @@ public class HomeViewModel extends ListBaseViewModel<HomeRequest> {
/*招聘列表暂无数据状态位*/
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) {
super(application);
}
......@@ -141,6 +152,7 @@ public class HomeViewModel extends ListBaseViewModel<HomeRequest> {
@Override
public void acceptBack() {
setUserConfirmedUpdate(true);
rxPermissions
.request(Manifest.permission.WRITE_EXTERNAL_STORAGE)
.subscribe(granted -> {
......@@ -176,6 +188,7 @@ public class HomeViewModel extends ListBaseViewModel<HomeRequest> {
@Override
public void acceptBack() {
setUserConfirmedUpdate(true);
rxPermissions
.request(Manifest.permission.WRITE_EXTERNAL_STORAGE)
.subscribe(granted -> {
......
......@@ -2,7 +2,9 @@ package com.xx.hbhbcompany.ui.login
import android.content.Context
import android.content.Intent
import android.net.Uri
import android.os.Build
import android.os.Bundle
import android.os.Environment
import android.provider.Settings
import android.text.SpannableStringBuilder
import android.text.Spanned
......@@ -10,6 +12,7 @@ import android.text.TextPaint
import android.text.method.LinkMovementMethod
import android.text.style.ClickableSpan
import android.view.View
import androidx.core.content.ContextCompat.startActivity
import com.xx.hbhbcompany.R
import com.xx.hbhbcompany.BR
import com.xx.hbhbcompany.data.http.requst.LoginRequest
......@@ -41,6 +44,47 @@ class LoginActivity() : BaseActivity<ActivityLoginBinding, LoginViewModel>() {
}
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() {
// 检查版本
viewModel.rxPermissions = RxPermissions(this)
......@@ -75,13 +119,19 @@ class LoginActivity() : BaseActivity<ActivityLoginBinding, LoginViewModel>() {
val editor = preferences.edit()
editor.putBoolean("is_agree_flag", false)
editor.apply()
viewModel.checkVersion(binding.root.rootView)
}
})
}
}
}else{
viewModel.checkVersion(binding.root.rootView)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
if (!Environment.isExternalStorageManager()) {
checkPermission()
}else{
// 检查版本
viewModel.checkVersion(binding.root.rootView)
}
}
}
/*强制更新标识位变更--重置用户登录*/
StaticData.updateLogin = 1
......
......@@ -22,6 +22,7 @@ import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.core.content.FileProvider;
import androidx.databinding.ObservableField;
import androidx.lifecycle.LiveData;
import androidx.lifecycle.MutableLiveData;
import com.tbruyelle.rxpermissions3.RxPermissions;
......@@ -58,6 +59,8 @@ import okhttp3.ResponseBody;
public class LoginViewModel extends BaseViewModel<LoginRequest> {
// 标志位:是否点击确认下载最新安装包
private MutableLiveData<Boolean> isUserConfirmedUpdate = new MutableLiveData<>(false);
/*隐私条款字段*/
public MutableLiveData<String> agreeContent = new MutableLiveData<>(null);
/*权限*/
......@@ -73,6 +76,13 @@ public class LoginViewModel extends BaseViewModel<LoginRequest> {
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) {
super(application, model);
}
......@@ -108,6 +118,8 @@ public class LoginViewModel extends BaseViewModel<LoginRequest> {
@Override
public void acceptBack() {
setUserConfirmedUpdate(true);
/*强制更新标识位变更--禁止用户登录*/
StaticData.updateLogin = 0;
rxPermissions
......@@ -136,6 +148,8 @@ public class LoginViewModel extends BaseViewModel<LoginRequest> {
@Override
public void acceptBack() {
setUserConfirmedUpdate(true);
/*强制更新标识位变更--禁止用户登录*/
StaticData.updateLogin = 0;
rxPermissions
......
......@@ -54,9 +54,10 @@ public class MineFragment extends BaseFragment<FragmentMineBinding, MineViewMode
@Override
public void initData() {
// super.initData();
viewModel.refreshNickName();
/*设置当前版本号*/
viewModel.versionName.set(StaticData.appVersionNumber);
// 检查版本
viewModel.rxPermissions = new RxPermissions(this);
/*控制台拿到了图片路径了*/
/*如果图片有刷新就会进行更新*/
......@@ -104,27 +105,18 @@ public class MineFragment extends BaseFragment<FragmentMineBinding, MineViewMode
@Override
public void onResume() {
super.onResume();
viewModel.refreshNickName();
// 检查版本
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 (!Environment.isExternalStorageManager()) {
checkPermission();
} else {
// 检查版本
viewModel.checkVersion(binding.getRoot().getRootView());
}
}
});
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
if (!Environment.isExternalStorageManager()) {
checkPermission();
}
}
}
private void checkPermission() {
......
......@@ -51,6 +51,8 @@ import okhttp3.ResponseBody;
public class MineViewModel extends BaseViewModel<MineRequest> {
// 标志位:是否点击确认下载最新安装包
private MutableLiveData<Boolean> isUserConfirmedUpdate = new MutableLiveData<>(false);
RxPermissions rxPermissions;
public MutableLiveData<String> openInstall = new MutableLiveData<>("");
//头像的绑定
......@@ -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) {
super(application, model);
}
......@@ -194,6 +203,7 @@ public class MineViewModel extends BaseViewModel<MineRequest> {
@Override
public void acceptBack() {
setUserConfirmedUpdate(true);
rxPermissions
.request(Manifest.permission.WRITE_EXTERNAL_STORAGE)
.subscribe(granted -> {
......@@ -229,6 +239,7 @@ public class MineViewModel extends BaseViewModel<MineRequest> {
@Override
public void acceptBack() {
setUserConfirmedUpdate(true);
rxPermissions
.request(Manifest.permission.WRITE_EXTERNAL_STORAGE)
.subscribe(granted -> {
......
......@@ -48,6 +48,20 @@ public class WorkFragment extends BaseFragment<FragmentWorkBinding, WorkViewMode
public void 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());
......@@ -105,29 +119,20 @@ public class WorkFragment extends BaseFragment<FragmentWorkBinding, WorkViewMode
@Override
public void 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 (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
if (!Environment.isExternalStorageManager()) {
checkPermission();
// 检查用户是否已经确认更新,如果没有确认,则执行版本检查
if (!viewModel.getIsUserConfirmedUpdate().getValue()) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
if (!Environment.isExternalStorageManager()) {
checkPermission();
} else {
// 检查版本
viewModel.checkVersion(binding.getRoot().getRootView());
}
}
}
// 调取工作台三个统计数接口
viewModel.getWorkNumber();
}
......
......@@ -13,6 +13,7 @@ import android.view.View;
import androidx.annotation.NonNull;
import androidx.core.content.FileProvider;
import androidx.databinding.ObservableField;
import androidx.lifecycle.LiveData;
import androidx.lifecycle.MutableLiveData;
import com.tbruyelle.rxpermissions3.RxPermissions;
......@@ -52,6 +53,9 @@ import me.goldze.mvvmhabit.utils.ToastUtils;
import okhttp3.ResponseBody;
public class WorkViewModel extends BaseViewModel<WorkRequest> {
// 标志位:是否点击确认下载最新安装包
private MutableLiveData<Boolean> isUserConfirmedUpdate = new MutableLiveData<>(false);
RxPermissions rxPermissions;
public MutableLiveData<String> openInstall = new MutableLiveData<>("");
public String merchantStatus = "0";
......@@ -59,6 +63,14 @@ public class WorkViewModel extends BaseViewModel<WorkRequest> {
public MutableLiveData<List<MerchantBean>> mAuditList = 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版本号
*
......@@ -87,6 +99,7 @@ public class WorkViewModel extends BaseViewModel<WorkRequest> {
@Override
public void acceptBack() {
setUserConfirmedUpdate(true);
rxPermissions
.request(Manifest.permission.WRITE_EXTERNAL_STORAGE)
.subscribe(granted -> {
......@@ -122,6 +135,7 @@ public class WorkViewModel extends BaseViewModel<WorkRequest> {
@Override
public void acceptBack() {
setUserConfirmedUpdate(true);
rxPermissions
.request(Manifest.permission.WRITE_EXTERNAL_STORAGE)
.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