lmw
2024-06-07 4264d859bb9f6cbc4c069a9350c917f1b23009dd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
package com.future.dispatch.ui.pub
 
import android.view.View
import cn.jpush.android.api.JPushInterface
import cn.sinata.xldutils.utils.Utils
import com.example.oktrip.netUtls.callNet
import com.example.oktrip.netUtls.getMapByAny
import com.future.dispatch.R
import com.future.dispatch.base.BaseEvent
import com.future.dispatch.base.MyApplication
import com.future.dispatch.base.MyBaseActivity
import com.future.dispatch.bean.VersionBean
import com.future.dispatch.netUtls.Api
import com.future.dispatch.ui.DialogUtil
import com.future.dispatch.utils.Cache.CacheUtil
import com.future.dispatch.utils.download.DownloadUtil
import com.future.dispatch.utils.glide.GlideCacheUtil
import com.lljjcoder.style.citylist.Toast.ToastUtils
import kotlinx.android.synthetic.main.activity_setting.*
import kotlinx.android.synthetic.main.dialog_sure_and_del.view.*
import org.greenrobot.eventbus.EventBus
import org.jetbrains.anko.startActivity
import org.jetbrains.anko.toast
 
class SettingActivity: MyBaseActivity() {
    override fun setContentView() {
        setContentView(R.layout.activity_setting)
    }
 
    override fun initView() {
        setTitleText("设置")
        tv_version_code.text = Utils.getAppVersion(this)
        tv_cache.text = GlideCacheUtil.getInstance().getCacheSize(MyApplication.getInstance())
        switchBtn.isChecked = userInfo.pushOrder == 1
    }
 
    override fun setOnclick() {
        ll_clear.setOnClickListener {
            DialogUtil.getDelAndSureDialog(
                this,
                "确定清除缓存?",
                {},
                {
                    GlideCacheUtil.getInstance().clearImageAllCache(MyApplication.getInstance())
                    tv_cache.text = "0KB"
                    toast("清除缓存成功!")
                })
        }
 
        ll_version.setOnClickListener {
            callVersion()
        }
 
        switchBtn.setOnCheckedChangeListener { buttonView, isChecked ->
            var map = getMapByAny()
            var code = if (isChecked) 1 else 2
            map["pushOrder"] = code
            userInfo.pushOrder = code
            com.future.dispatch.utils.Cache.CacheKey.saveUserInfo(userInfo)
            callNet(Api.editPushOrder,map){
                if (isChecked){
                    MyApplication.getInstance()!!.initJpush()
                }else{
                    JPushInterface.stopPush(this)
                }
            }
        }
 
        rl_login_out.setOnClickListener {
            DialogUtil.getDelAndSureDialog(this,"是否退出登录?",{},{
                CacheUtil.get().clear()
//                NettyClient.getInstance().stopService()
                MyApplication.isLogin = false
                startActivity<LoginActivity>()
            })
        }
    }
 
    private fun callVersion() {
        var map = getMapByAny()
//        map["id"] = CacheKey.getUserId()
        callNet(Api.queryNewVersion, map) {
            var data = gson.fromJson<VersionBean>(it, VersionBean::class.java)
            if (data.data.version != "" && data.data.version != Utils.getAppVersion(this)) {
                if (data.data.mandatory == 2) {
                    DialogUtil.getDelAndSureDialog(this, "有新版本是否更新?", {}, {
                        DownloadUtil(this).downloadAPK(data.data.url, "未来出行调度端")
                    })
                } else if (data.data.mandatory == 1) {
                   var  dialog =  DialogUtil.getDelAndSureDialog(this, "版本已过时,是否强制升级?", {
                        EventBus.getDefault().post(BaseEvent(BaseEvent.OUT_APP))
                    }, {
                        DownloadUtil(this).downloadAPK(data.data.url, "未来出行调度端")
                        ToastUtils.showShortToast(this, "后台开始下载,请等待")
                    })
                    var view = DialogUtil.getView(dialog).view_hint_close_base
                    view.visibility = View.INVISIBLE
                }else{
                    toast("已经是最新版本")
                }
            } else {
                toast("已经是最新版本")
            }
        }
    }
}