UserServiceImp.kt 4.28 KB
Newer Older
1 2 3 4 5 6 7 8 9
package com.yidianling.user.modular_service

import android.app.Activity
import android.content.Context
import android.content.Intent
import android.text.TextUtils
import com.alibaba.android.arouter.facade.annotation.Route
import com.ydl.ydlcommon.base.BaseApp
import com.yidianling.common.tools.RxAppTool
10
import com.yidianling.user.UserHelper
11 12
import com.yidianling.user.api.bean.UserResponseBean
import com.yidianling.user.api.bean.UserSettingBean
13
import com.yidianling.user.api.service.IUserService
14 15 16 17 18 19 20 21 22 23 24 25
import com.yidianling.user.route.UserIn
import com.yidianling.user.safePrivate.FingerPrintUtil
import com.yidianling.user.safePrivate.PrivacyActivity
import com.yidianling.user.ui.InputPhoneActivity
import com.yidianling.user.ui.login.RegisterAndLoginActivity

/**
 * author : Zhangwenchao
 * e-mail : zhangwch@yidianling.com
 * time   : 2018/04/13
 */
@Route(path = "/user/UserService")
26
public class UserServiceImp : IUserService {
27 28 29 30 31 32 33 34

    constructor()

    override fun init(context: Context?) {

    }

    override fun getUserSetting(): UserSettingBean? {
35
        return UserHelper.getUsetSetting()
36 37 38
    }

    override fun updateUserInfoSp(userInfo: UserResponseBean.UserInfo?) {
39
        UserHelper.updateUserinfo(userInfo)
40 41 42
    }

    override fun updateUserSetingSp(userSetting: UserSettingBean?) {
43
        UserHelper.updateUserSetting(userSetting)
44 45 46
    }

    override fun setChatTeamHisShowed(showed: Boolean) {
47
        UserHelper.getUsetSetting()?.chatTeamHisShowed = showed
48 49 50
    }

    override fun setUserResponse(userInfo: UserResponseBean?) {
51
        UserHelper.setUserinfo(userInfo)
52 53 54
    }

    override fun getUserResponse(): UserResponseBean? {
55
        return UserHelper.getUserInfo()
56 57 58
    }

    override fun isLogin(): Boolean {
59
        return UserHelper.isLogin()
60 61 62
    }

    override fun isFirstLogin(): Boolean {
63
        return UserHelper.getUserInfo()?.firstLogin==1
64 65 66 67
    }

    override fun setFirstLogin(first: Boolean) {
        var value : Int = if (first) 1 else 2 //1是2否
68
        UserHelper.getUserInfo()?.firstLogin = value
69 70 71
    }

    override fun isSafePrivacyClicked(): Boolean {
72
        return UserHelper.getUsetSetting()?.meSafePrivateIsClick?:true
73 74 75
    }

    override fun putSafePrivacyClicked(clicked: Boolean) {
76
        UserHelper.getUsetSetting()?.meSafePrivateIsClick = clicked
77 78 79
    }

    override fun getUserInfo(): UserResponseBean.UserInfo? {
80
        return UserHelper.getUserInfo()?.userInfo
81 82 83
    }

    override fun isBindPhone(): Boolean {
84
        return !TextUtils.isEmpty(UserHelper.getUserInfo()?.userInfo?.phone)
85 86 87
    }

    override fun putUnlockCheckSuccessTime(time: Long) {
88
        UserHelper.getUsetSetting()?.unLockCheckSuccessTime = time
89 90 91
    }

    override fun getChatTeamHisShow(): Boolean {
92
        return UserHelper.getUsetSetting()?.chatTeamHisShowed?:true
93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
    }

    override fun privacyIntent(activity: Activity): Intent {
        return Intent(activity, PrivacyActivity::class.java)
    }

    override fun loginWayIntent(context: Context): Intent {
        return RegisterAndLoginActivity.getIntent(context)
    }

    override fun inputPhoneIntent(activity: Activity, smsAction: String): Intent {
        return InputPhoneActivity.newIntent(activity, smsAction)
    }

    override fun safeTipViewGone(): Boolean {
        //如果是非登录状态 或者 app指纹开启 或者 手势密码不为空 或者 已提示过安全解锁 -> 隐藏 设置密码提示
109
        return !UserHelper.isLogin() || FingerPrintUtil.instance().fingerPrintIsOpen()
110 111 112 113 114 115 116 117 118 119 120 121 122
                || !TextUtils.isEmpty(FingerPrintUtil.instance().getHandPass())
                || FingerPrintUtil.instance().getTrendsSafeTip()
    }

    override fun setTrendsSafeTip(status: Boolean) {
        FingerPrintUtil.instance().setTrendsSafeTip(status)
    }

    override fun errorAgainTime(): Long {
        return FingerPrintUtil.errorAgainTime
    }

    override fun isFirstStart(): Boolean {
123
        val lastVersionCode : Int = UserHelper.getUsetSetting()?.lastVersionCode?:0
124 125
        val currentVersionCode : Int = RxAppTool.getAppVersionCode(BaseApp.getApp())
        if (lastVersionCode < currentVersionCode) {
126
            UserHelper.getUsetSetting()?.lastVersionCode = currentVersionCode
127 128 129 130 131 132
            return true
        }
        return false
    }

    override fun clearUserInfo() {
133
        UserHelper.setUserinfo(null)
134 135 136
        UserIn.clearImData()
    }
}