lmw
2023-06-25 a988e7c15f5ce63785b77e01c89bec2565668982
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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
package com.kuanzhai.driver.ui
 
import android.util.Log
import android.view.View
import android.widget.Toast
import cn.sinata.xldutils.utils.clickDelay
import cn.sinata.xldutils.utils.setDrawableTop
import cn.sinata.xldutils.utils.textColor
import com.kuanzhai.driver.R
import com.kuanzhai.driver.base.MyBaseActivity
import com.kuanzhai.driver.bean.ModuleBean
import com.kuanzhai.driver.bean.UserBean
import com.kuanzhai.driver.netUtls.Api
import com.kuanzhai.driver.netUtls.callNet
import com.kuanzhai.driver.netUtls.getMapByAny
import com.kuanzhai.driver.ui.driver_server.fragment.DriverServerFragment
import com.kuanzhai.driver.ui.main.MainPubFragment
import com.kuanzhai.driver.ui.mine.MineActivity
import com.kuanzhai.driver.utils.Cache.CacheKey
import com.kuanzhai.driver.utils.Cache.CacheKey.getKeyStr
import io.rong.imlib.RongIMClient
import kotlinx.android.synthetic.main.activity_main_tab.*
 
class MainTabActivity: MyBaseActivity() {
 
    val mainFragment by lazy {
        MainPubFragment()
    }
 
    val driverServerFragment by lazy {
        DriverServerFragment()
    }
 
    val mineFragment by lazy {
        MineActivity()
    }
 
    override fun setContentView() {
        setContentView(R.layout.activity_main_tab)
    }
 
    override fun initView() {
        showHeader(false)
        showTitle(false)
 
        RongIMClient.connect(getKeyStr("rongToken"), object : RongIMClient.ConnectCallback() {
            override fun onSuccess(s: String) {
                Log.e("RongTag", "融云服务已连接")
            }
 
            override fun onError(connectionErrorCode: RongIMClient.ConnectionErrorCode) {
                Log.e("RongTag", "融云服务连接失败:$connectionErrorCode")
            }
 
            override fun onDatabaseOpened(databaseOpenStatus: RongIMClient.DatabaseOpenStatus) {}
        })
 
        allGray()
        callMine()
        tv_main.textColor(this, R.color.main_yellow_shen)
        tv_main.setDrawableTop(R.mipmap.tab_home_green)
        addFragment(mainFragment, R.id.container)
        callModule()
    }
 
    override fun onResume() {
        super.onResume()
    }
 
 
    private fun callMine() {
        var map = getMapByAny()
        callNet(false, Api.queryInfo, map) {
            var user = gson.fromJson<UserBean>(it, UserBean::class.java)
            CacheKey.saveUserInfo(user.data)
        }
    }
 
 
    override fun setOnclick() {
        tv_main.clickDelay {
            allGray()
            tv_main.textColor(this, R.color.main_yellow_shen)
            tv_main.setDrawableTop(R.mipmap.tab_home_green)
            addFragment(mainFragment, R.id.container)
//            showOrder("1323","1",100,1)
        }
        tv_driver.clickDelay {
            allGray()
            tv_driver.textColor(this, R.color.main_yellow_shen)
            tv_driver.setDrawableTop(R.mipmap.tab_driver_server_yes)
            addFragment(driverServerFragment, R.id.container)
        }
        tv_mine.clickDelay {
            allGray()
            tv_mine.textColor(this, R.color.main_yellow_shen)
            tv_mine.setDrawableTop(R.mipmap.tab_user_green)
            addFragment(mineFragment, R.id.container)
        }
    }
 
    private fun allGray() {
        tv_main.textColor(this, R.color.tab_gray)
        tv_driver.textColor(this, R.color.tab_gray)
        tv_mine.textColor(this, R.color.tab_gray)
        tv_main.setDrawableTop(R.mipmap.tab_home_gray)
        tv_driver.setDrawableTop(R.mipmap.tab_driver_server_null)
        tv_mine.setDrawableTop(R.mipmap.tab_user_gray)
 
    }
 
    /**
     * 获取司机服务模块内容
     */
    private fun callModule() {
        var map = getMapByAny()
        callNet(Api.getShowModular, map){
            var module = gson.fromJson<ModuleBean>(it, ModuleBean::class.java)
            tv_driver.visibility = if (module.data.filter { it.driverShow == 1 }.isNotEmpty()) View.VISIBLE else View.GONE //如果子菜单全隐藏,则整个模块隐藏
        }
    }
 
    private var mBackAppTime: Long = 0
    override fun onBackPressed() {
        if (System.currentTimeMillis() - mBackAppTime > 2000) {
            Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT)
                .show()
            mBackAppTime = System.currentTimeMillis()
        } else {
            super.onBackPressed()
        }
    }
}