Commit 9f0295ac authored by 小费同学阿's avatar 小费同学阿 💬

基础搭建

功能开发
1:bug 修复 客商端安装包更新弹窗完善
parent c193cfd5
......@@ -61,28 +61,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();
}
}
}
......@@ -117,6 +105,23 @@ public class HomeFragment extends BaseFragment<FragmentHomeBinding, HomeViewMode
viewModel.getHomeStatistical();
/*调用首页的查看有没有未读消息的接口*/
viewModel.getMessageList();
// 检查版本
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);
}
}
});
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.huantansheng.easyphotos.utils.permission.PermissionUtil;
......@@ -75,6 +76,8 @@ import okhttp3.ResponseBody;
public class HomeViewModel extends BaseViewModel<HomeRequest> {
// 标志位:是否点击确认下载最新安装包
private MutableLiveData<Boolean> isUserConfirmedUpdate = new MutableLiveData<>(false);
/*权限*/
RxPermissions rxPermissions;
/*隐私条款字段*/
......@@ -99,6 +102,13 @@ public class HomeViewModel extends BaseViewModel<HomeRequest> {
super(application);
}
public LiveData<Boolean> getIsUserConfirmedUpdate() {
return isUserConfirmedUpdate;
}
public void setUserConfirmedUpdate(boolean confirmed) {
isUserConfirmedUpdate.setValue(confirmed);
}
public HomeViewModel(@NonNull Application application, HomeRequest model) {
super(application, model);
if(LocalData.getMerchant()!=null && LocalData.getMerchant().getStoreName()!=null)
......@@ -175,6 +185,7 @@ public class HomeViewModel extends BaseViewModel<HomeRequest> {
@Override
public void acceptBack() {
setUserConfirmedUpdate(true);
rxPermissions
.request(Manifest.permission.WRITE_EXTERNAL_STORAGE)
.subscribe(granted -> {
......@@ -209,6 +220,7 @@ public class HomeViewModel extends BaseViewModel<HomeRequest> {
@Override
public void acceptBack() {
setUserConfirmedUpdate(true);
rxPermissions
.request(Manifest.permission.WRITE_EXTERNAL_STORAGE)
.subscribe(granted -> {
......
......@@ -46,28 +46,18 @@ public class HuanBoHaiFragment extends BaseFragment<FragmentHuanbohaiBinding, Hu
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() {
......@@ -96,6 +86,20 @@ public void onResume() {
@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);
}
}
});
//展示活动列表
ActivityCenterListAdapter adapter = new ActivityCenterListAdapter(requireContext());
adapter.setOnItemClick(new xxBaseRecyclerViewAdapter.OnItemClick<ActivityCenterBean>() {
......
......@@ -14,6 +14,7 @@ import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.core.content.FileProvider;
import androidx.lifecycle.LiveData;
import androidx.lifecycle.MutableLiveData;
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
......@@ -60,6 +61,8 @@ import okhttp3.ResponseBody;
public class HuanBoHaiViewModel extends ListBaseViewModel<HuanBoHaiRequest> {
// 标志位:是否点击确认下载最新安装包
private MutableLiveData<Boolean> isUserConfirmedUpdate = new MutableLiveData<>(false);
/*权限*/
RxPermissions rxPermissions;
......@@ -81,6 +84,13 @@ public class HuanBoHaiViewModel extends ListBaseViewModel<HuanBoHaiRequest> {
ConsultationInformationAdapter consultationInformationAdapter;
public MerchantBean merchantInfo = LocalData.getMerchant();
public LiveData<Boolean> getIsUserConfirmedUpdate() {
return isUserConfirmedUpdate;
}
public void setUserConfirmedUpdate(boolean confirmed) {
isUserConfirmedUpdate.setValue(confirmed);
}
public HuanBoHaiViewModel(@NonNull Application application) {
super(application);
}
......@@ -139,6 +149,7 @@ public class HuanBoHaiViewModel extends ListBaseViewModel<HuanBoHaiRequest> {
@Override
public void acceptBack() {
setUserConfirmedUpdate(true);
rxPermissions
.request(Manifest.permission.WRITE_EXTERNAL_STORAGE)
.subscribe(granted -> {
......@@ -173,6 +184,7 @@ public class HuanBoHaiViewModel extends ListBaseViewModel<HuanBoHaiRequest> {
@Override
public void acceptBack() {
setUserConfirmedUpdate(true);
rxPermissions
.request(Manifest.permission.WRITE_EXTERNAL_STORAGE)
.subscribe(granted -> {
......
......@@ -12,9 +12,7 @@ import android.text.Spanned
import android.text.TextPaint
import android.text.method.LinkMovementMethod
import android.text.style.ClickableSpan
import android.util.Log
import android.view.View
import androidx.core.content.edit
import androidx.lifecycle.Observer
import com.tbruyelle.rxpermissions3.RxPermissions
import com.xx.merchanthbh.BR
......@@ -22,6 +20,8 @@ import com.xx.merchanthbh.R
import com.xx.merchanthbh.data.http.requst.LoginRequest
import com.xx.merchanthbh.data.staticdata.StaticData
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.utils.RetrofitClient
import com.xx.xxviewlibrary.comm.CommTextAgreeDialog
......@@ -29,7 +29,6 @@ import com.xx.xxviewlibrary.comm.CommTextDialog.onAcceptCallBack
import com.xx.xxviewlibrary.comm.RefuseDialogBean
import me.goldze.mvvmhabit.base.BaseActivity
import me.goldze.mvvmhabit.utils.SPUtils
import me.goldze.mvvmhabit.utils.ToastUtils
class LoginActivity() : BaseActivity<ActivityLoginBinding, LoginViewModel>() {
......@@ -49,8 +48,44 @@ class LoginActivity() : BaseActivity<ActivityLoginBinding, LoginViewModel>() {
super.onResume()
// 注销标志位重置
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 = ""
override fun initData() {
......@@ -88,8 +123,6 @@ class LoginActivity() : BaseActivity<ActivityLoginBinding, LoginViewModel>() {
val editor = preferences.edit()
editor.putBoolean("is_agree_flag", false)
editor.apply()
// 检查版本
viewModel.checkVersion(binding.root.rootView)
}
})
}
......@@ -97,7 +130,15 @@ class LoginActivity() : BaseActivity<ActivityLoginBinding, LoginViewModel>() {
} 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)
// }
// }
}
//安装新版本
......@@ -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)
{
binding.ivLoginAgreement.setImageDrawable(getDrawable(R.mipmap.login_icon_xuanze2))
......
......@@ -20,6 +20,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 androidx.lifecycle.ViewModel;
......@@ -60,6 +61,8 @@ import okhttp3.ResponseBody;
public class LoginViewModel extends BaseViewModel<LoginRequest> {
// 标志位:是否点击确认下载最新安装包
private MutableLiveData<Boolean> isUserConfirmedUpdate = new MutableLiveData<>(false);
/*权限*/
RxPermissions rxPermissions;
//用户名的绑定
......@@ -72,6 +75,13 @@ public class LoginViewModel extends BaseViewModel<LoginRequest> {
public MutableLiveData<String> openInstall = new MutableLiveData<>("");
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);
}
......@@ -283,6 +293,8 @@ public class LoginViewModel extends BaseViewModel<LoginRequest> {
@Override
public void acceptBack() {
setUserConfirmedUpdate(true);
rxPermissions
.request(Manifest.permission.WRITE_EXTERNAL_STORAGE)
.subscribe(granted -> {
......@@ -310,6 +322,7 @@ public class LoginViewModel extends BaseViewModel<LoginRequest> {
@Override
public void acceptBack() {
setUserConfirmedUpdate(true);
rxPermissions
.request(Manifest.permission.WRITE_EXTERNAL_STORAGE)
.subscribe(granted -> {
......@@ -440,6 +453,7 @@ public class LoginViewModel extends BaseViewModel<LoginRequest> {
}
LocalData.saveMerchant(resultBean.getMerchant());
startActivity(HomeActivity.class);
finish();
}
// finish();
......@@ -481,6 +495,7 @@ public class LoginViewModel extends BaseViewModel<LoginRequest> {
dismissDialog();
LocalData.saveMerchant(resultBean.getMerchant());
startActivity(HomeActivity.class);
finish();
}
@Override
......
......@@ -64,8 +64,24 @@ public class MineFragment extends BaseFragment<FragmentMineBinding, MineViewMode
public void initData() {
/*设置当前版本号*/
viewModel.versionName.set(StaticData.appVersionNumber);
viewModel.rxPermissions = new RxPermissions(this);
viewModel.versionName.set("当前版本v" + CommUtilsKt.getVersion(getContext()));
viewModel.refreshNickName();
// 检查版本
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);
}
}
});
// super.initData();
// 调用ViewModel的方法来刷新昵称
......@@ -110,30 +126,19 @@ 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() {
......
......@@ -55,7 +55,8 @@ import okhttp3.ResponseBody;
public class MineViewModel extends BaseViewModel<MineRequest> {
RxPermissions rxPermissions;
// 标志位:是否点击确认下载最新安装包
private MutableLiveData<Boolean> isUserConfirmedUpdate = new MutableLiveData<>(false);
//头像的绑定
private MutableLiveData<String> avatarImageUrl = new MutableLiveData<>();
//昵称的绑定
......@@ -65,6 +66,13 @@ public class MineViewModel extends BaseViewModel<MineRequest> {
//职位的绑定
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<>("");
......@@ -198,7 +206,7 @@ public class MineViewModel extends BaseViewModel<MineRequest> {
@Override
public void acceptBack() {
setUserConfirmedUpdate(true);
rxPermissions
.request(Manifest.permission.WRITE_EXTERNAL_STORAGE)
.subscribe(granted -> {
......@@ -233,6 +241,7 @@ public class MineViewModel extends BaseViewModel<MineRequest> {
@Override
public void acceptBack() {
setUserConfirmedUpdate(true);
rxPermissions
.request(Manifest.permission.WRITE_EXTERNAL_STORAGE)
.subscribe(granted -> {
......
......@@ -52,7 +52,6 @@ class LoginRequest: BaseRespons() {
*/
fun getProtocols(): Observable<BaseResponse<List<String>>>
{
return apiService.getProtocols(ApiParams<Array<String>>().setParams(arrayOf("6","7","14","9","10")))
}
}
\ No newline at end of file
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