| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- package com.datarecovery.master.module.mine;
- import android.text.TextUtils;
- import androidx.lifecycle.LiveData;
- import androidx.lifecycle.Transformations;
- import com.atmob.app.lib.base.BaseViewModel;
- import com.atmob.app.lib.livedata.SingleLiveEvent;
- import com.atmob.common.runtime.ActivityUtil;
- import com.atmob.common.runtime.ContextUtil;
- import com.datarecovery.master.R;
- import com.datarecovery.master.data.consts.EventId;
- import com.datarecovery.master.data.repositories.AccountRepository;
- import com.datarecovery.master.data.repositories.DeviceFuncRepository;
- import com.datarecovery.master.handler.EventHelper;
- import com.datarecovery.master.module.about.AboutActivity;
- import com.datarecovery.master.module.feedback.UserFeedbackActivity;
- import com.datarecovery.master.module.homepage.HomePageViewModel;
- import com.datarecovery.master.module.login.LoginActivity;
- import com.datarecovery.master.module.member.MemberActivity;
- import com.datarecovery.master.module.member.MemberType;
- import com.datarecovery.master.module.wxrecover.WeChatRecoverActivity;
- import com.datarecovery.master.sdk.wechat.WechatHelper;
- import com.datarecovery.master.utils.BoxingUtil;
- import javax.inject.Inject;
- import dagger.hilt.android.lifecycle.HiltViewModel;
- @HiltViewModel
- public class MineViewModel extends BaseViewModel {
- private final SingleLiveEvent<?> showExitDialog = new SingleLiveEvent<>();
- private final SingleLiveEvent<?> showLogoutDialog = new SingleLiveEvent<>();
- private final LiveData<String> loginTips;
- private final AccountRepository accountRepository;
- private final DeviceFuncRepository deviceFuncRepository;
- @Inject
- public MineViewModel(AccountRepository accountRepository, DeviceFuncRepository deviceFuncRepository) {
- this.accountRepository = accountRepository;
- this.deviceFuncRepository = deviceFuncRepository;
- loginTips = Transformations.map(accountRepository.getLoginPhoneNum(), phone -> {
- if (TextUtils.isEmpty(phone)) {
- return ContextUtil.getContext().getString(R.string.mine_no_login);
- } else {
- if (phone.length() > 4) {
- phone = phone.substring(phone.length() - 4);
- }
- return ContextUtil.getContext().getString(R.string.mine_logged, phone);
- }
- });
- }
- public LiveData<?> getShowExitDialog() {
- return showExitDialog;
- }
- public LiveData<?> getShowLogoutDialog() {
- return showLogoutDialog;
- }
- public LiveData<String> getLoginTips() {
- return loginTips;
- }
- public LiveData<Boolean> getIsLogin() {
- return accountRepository.getIsLogin();
- }
- public void onLoginClick() {
- if (BoxingUtil.boxing(accountRepository.getIsLogin().getValue())) {
- return;
- }
- LoginActivity.start(ActivityUtil.getTopActivity(), "hf11018");
- }
- public void onAboutClick() {
- EventHelper.report(EventId.hf1001102);
- AboutActivity.start(ActivityUtil.getTopActivity());
- }
- public void onExitClick() {
- EventHelper.report(EventId.hf1001112);
- showExitDialog.call();
- }
- public void onAccountExit() {
- accountRepository.requestUserLogout();
- }
- public void onLogoutClick() {
- EventHelper.report(EventId.hf1001109);
- showLogoutDialog.call();
- }
- public void onAccountLogout() {
- accountRepository.logout();
- }
- public void onFeedbackClick() {
- EventHelper.report(EventId.hf1001105);
- UserFeedbackActivity.start(ActivityUtil.getTopActivity());
- }
- public void onMemberClick() {
- EventHelper.report(EventId.hf1001101);
- //指定跳转至微信消息恢复
- isHaveAuths(MemberType.APP_WX_MESSAGE_RECOVER, isTrial -> WeChatRecoverActivity.start(ActivityUtil.getTopActivity(), MemberType.APP_WX_MESSAGE_RECOVER));
- }
- public void isHaveAuths(@MemberType String type, HomePageViewModel.NextStepCallback stepCallback) {
- if (deviceFuncRepository.isHaveAuth(type)) {
- if (stepCallback != null) stepCallback.onNextStep(false);
- } else {
- MemberActivity.start(ActivityUtil.getTopActivity(), type);
- }
- }
- public void onCustomerServiceClick() {
- WechatHelper.launchCustomerService();
- EventHelper.report(EventId.hf1001108);
- }
- }
|