MainActivity.kt 11 KB
Newer Older
konghaorui committed
1 2
package com.ydl.component

3 4
import android.Manifest
import android.annotation.SuppressLint
konghaorui committed
5 6
import android.content.ComponentName
import android.content.Context
7
import android.content.Intent
konghaorui committed
8
import android.content.ServiceConnection
9
import android.net.Uri
konghaorui committed
10
import android.os.IBinder
11
import android.provider.Settings
konghaorui committed
12
import android.util.Log
13
import com.alibaba.android.arouter.facade.annotation.Route
konghaorui committed
14
import com.alibaba.android.arouter.launcher.ARouter
刘鹏 committed
15
import com.fm.openinstall.OpenInstall
16
import com.mobile.auth.gatewayauth.PhoneNumberAuthHelper
17
import com.tbruyelle.rxpermissions2.RxPermissions
konghaorui committed
18
import com.umeng.analytics.MobclickAgent
konghaorui committed
19
import com.ydl.component.music.FragmentContainerActivity
20
import com.ydl.component.mvp.DemoContract
konghaorui committed
21
import com.ydl.component.mvp.DemoPresenter
22 23
import com.ydl.component.route.PlatformTempCommonRouteImpl
import com.ydl.confide.home.ConfideHomeActivity
konghaorui committed
24
import com.ydl.media.audio.PlayService
徐健 committed
25
import com.ydl.ydlcommon.modular.ModularServiceManager
26
import com.ydl.ydlcommon.mvp.lce.BaseLceActivity
27 28
import com.ydl.ydlcommon.router.YdlCommonRouterManager
import com.yidianling.common.tools.LogUtil
29
import com.yidianling.common.tools.ToastUtil
30
import com.yidianling.consultant.api.IConsultantService
徐健 committed
31
import com.yidianling.fm.api.service.IFMService
32
import com.yidianling.tests.home.NewTestHomeActivity
33
import com.yidianling.user.StatusUtils
徐健 committed
34
import com.yidianling.user.ui.collect.CollectSexAndBirthActivity
35
import com.yidianling.user.ui.login.OneKeyLoginHelp
yjiucheng committed
36 37
import com.yidianling.user.widget.SecretDescriptionDialog
import com.yidianling.user.widget.SecretDialog
严久程 committed
38
import com.yidianling.user.widget.SecretDialog.OnSecretDialogListener
konghaorui committed
39
import kotlinx.android.synthetic.main.activity_main.*
40

konghaorui committed
41 42 43 44 45

/**
 * Created by haorui on 2019-09-01 .
 * Des:
 */
46
@Route(path = "/main/main")
konghaorui committed
47 48
class MainActivity : BaseLceActivity<DemoContract.View, DemoContract.Presenter>(),
    DemoContract.View {
严久程 committed
49
    private var secretDescriptionDialog: SecretDescriptionDialog? = null
konghaorui committed
50
    private var serviceConnection: ServiceConnection? = null
严久程 committed
51
    private var secretDialog: SecretDialog? = null
konghaorui committed
52
    protected var playService: PlayService? = null
konghaorui committed
53

54 55 56 57 58 59 60 61
    override fun getContentViewId(): Int {
        return R.id.lce_content_view
    }

    override fun getStateViewId(): Int {
        return R.id.lce_state_view
    }

konghaorui committed
62 63 64 65 66 67 68 69 70 71 72 73 74
    override fun setData(data: String) {
        tv_content.text = data
    }

    override fun createPresenter(): DemoContract.Presenter {
        return DemoPresenter()
    }

    override fun layoutResId(): Int {
        return R.layout.activity_main
    }

    override fun initDataAndEvent() {
洪国微 committed
75

徐健 committed
76
//        YDLavManager.instances.init(this, "3387e9b251f3491e9221a9877e8f7830")
洪国微 committed
77

ydl committed
78
        YdlCommonRouterManager.initYdlCommonRoute(PlatformTempCommonRouteImpl())
刘鹏 committed
79 80
        OpenInstall.init(this);// TODO: 1/29/21  统计渠道测试
        StatusUtils.isUseOpenInstall = true
YKai committed
81
        // 初始化一键登录sdk
82
        OneKeyLoginHelp.sdkInit(this, OneKeyLoginHelp.YDL_USER_APP, PhoneNumberAuthHelper.SERVICE_TYPE_LOGIN)
konghaorui committed
83
        bindService()
84
        reLoadData()
85
        requestPermission()
konghaorui committed
86
        tv_user.setOnClickListener {
87
            reLoadData()
konghaorui committed
88 89
        }

严久程 committed
90 91
        tv_home?.setOnClickListener {
            mPresenter.loadHome()
konghaorui committed
92 93 94
        }

        bt_to_other.setOnClickListener {
95 96 97 98
//            ARouter.getInstance().build("/user/login")
//                .withBoolean("bind_phone", false)
//                .withBoolean("isFromGuide", true)
//                .navigation()
99
            OneKeyLoginHelp.startLogin(this,false)
100
        }
101
        bt_to_consultant.setOnClickListener {
yjiucheng committed
102
            //            ARouter.getInstance()
103 104 105 106 107 108
//                .build("/consult/hot_search")
//                .withString(
//                    HOT_SEARCH_DOCTOR_NAME,
//                    this.resources?.getString(R.string.platform_search_hint)
//                )
//                .navigation()
konghaorui committed
109
            FragmentContainerActivity.start(this, "ExpertSearchFragment")
110
        }
konghaorui committed
111
        bt_to_music.setOnClickListener {
konghaorui committed
112 113 114
            FragmentContainerActivity.start(this)
        }
        bt_to_im.setOnClickListener {
115
            FragmentContainerActivity.start(this, "NewMultiMessageFragment")
konghaorui committed
116
        }
konghaorui committed
117
        bt_to_dynamic.setOnClickListener {
118
            FragmentContainerActivity.start(this, "TrendsHomeFragment")
konghaorui committed
119
        }
120
        bt_to_tests.setOnClickListener {
121
            startActivity(Intent(this, NewTestHomeActivity::class.java))
严久程 committed
122
            //                                SecretActivity.Companion.startProtocol(this, it.data.getContent());
123 124 125 126 127 128 129 130 131 132 133 134 135 136 137
//             secretDescriptionDialog = SecretDescriptionDialog(
//                this@MainActivity,
//               "122342453653456345674356",
//                object : OnSecretDescriptionDialogListener {
//                    override fun onCancel() {
//                        secretDescriptionDialog!!.dismiss()
//                        showEnsureDialog()
//                    }
//
//                    override fun onSure() {
//                        secretDescriptionDialog!!.dismiss()
//                    }
//                })
//            secretDescriptionDialog!!.setCanceledOnTouchOutside(false)
//            secretDescriptionDialog!!.show()
严久程 committed
138

139
        }
徐健 committed
140 141 142
        bt_to_collect_info.setOnClickListener {
            startActivity(Intent(this, CollectSexAndBirthActivity::class.java))
        }
143
        bt_to_confide.setOnClickListener {
严久程 committed
144
            //            YDLavManager.instances.login("1193016")
145
            startActivity(Intent(this, ConfideHomeActivity::class.java))
146
        }
严久程 committed
147 148

        ModularServiceManager.provide(IConsultantService::class.java).requestGuideData()
徐健 committed
149
        bt_to_muse.setOnClickListener {
150

151 152
            val list =
                ModularServiceManager.provide(IConsultantService::class.java).getGuideImage(1)
严久程 committed
153 154 155
            list?.forEach {
                LogUtil.e(it.toString())
            }
严久程 committed
156
            //            YDLRouterManager.router(IYDLRouterConstant.ROUTER_MUSE_CENTER,
157 158
//                YDLRouterParams().putExtra
//            ("url", "http://video.yidianling.com/2019/05/30/746851e2f335baf5f44499f4fb49d3a9.mp3"))
159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185

//            YDLRouterManager.router(
//                IYDLRouterConstant.ROUTER_MUSE,
//                YDLRouterParams().putExtra(
//                    IYDLRouterConstant.MUSIC_URL,
//                    "http://video.yidianling.com/2019/05/30/e6d4a71e8c895f2156a2ff37d93ca3a9.mp3"
//                )
//                    .putExtra(
//                        IYDLRouterConstant.DATA_JSON, "{\n" +
//                                "        \"muses\": [{\n" +
//                                "        \"id\": 6,\n" +
//                                "        \"name\": \"冥想基础介绍-1-什么是冥想?\",\n" +
//                                "        \"audioUrl\":\n" +
//                                "        \"http://video.yidianling.com/2019/05/30/e6d4a71e8c895f2156a2ff37d93ca3a9.mp3\",\n" +
//                                "        \"backgroundUrl\":\n" +
//                                "        \"https://img.yidianling.com/file/2019/06/10/i4qdax82ok2aizq3.png\",\n" +
//                                "        \"effectCode\": 1,\n" +
//                                "        \"category\": 2,\n" +
//                                "        \"playCount\": 929,\n" +
//                                "        \"sort\": 255,\n" +
//                                "        \"isDelete\": 1,\n" +
//                                "        \"createTime\": \"May 30, 2019 4:45:17 PM\",\n" +
//                                "        \"updateTime\": \"Jun 10, 2019 7:14:23 PM\"\n" +
//                                "    }]\n" +
//                                "    }"
//                    )
//            )
徐健 committed
186
        }
徐健 committed
187 188

        bt_to_fm.setOnClickListener {
徐健 committed
189 190
            startActivity(ModularServiceManager.provide(IFMService::class.java).fmListIntent(this))
//            YDLRouterManager.router(IYDLRouterConstant.ROUTER_FM_LIST)
徐健 committed
191
        }
严久程 committed
192

193
        bt_to_course.setOnClickListener {
严久程 committed
194 195 196
            ARouter.getInstance().build("/course/home")
                .navigation()
        }
徐健 committed
197
        bt_to_home.setOnClickListener {
konghaorui committed
198 199 200
            FragmentContainerActivity.start(this, "YdlHomeFragment")
        }
        bt_to_mine.setOnClickListener {
YKai committed
201
            FragmentContainerActivity.start(this, "MineFragment")
徐健 committed
202 203
        }

konghaorui committed
204
        bt_to_privacy.setOnClickListener {
205
            startActivity(Intent(this@MainActivity, TestAppActivity::class.java))
yjiucheng committed
206 207
        }

konghaorui committed
208 209
    }

徐健 committed
210

211
    override fun reLoadData() {
konghaorui committed
212
        mPresenter.loadHome()
konghaorui committed
213
    }
214 215 216 217 218 219 220 221 222 223 224 225


    @SuppressLint("CheckResult")
    private fun requestPermission() {
        val rxPermissions = RxPermissions(this)
        rxPermissions.requestEach(Manifest.permission.WRITE_EXTERNAL_STORAGE)
            .subscribe { permission ->
                if (permission.granted) {
                    ToastUtil.toastShort("Permission Success")
                } else if (permission.shouldShowRequestPermissionRationale) {
                    requestPermission()
                } else {
konghaorui committed
226 227 228 229
                    ToastUtil.toastLong(
                        this,
                        getString(R.string.platform_need_storage_permission_hint)
                    )
230 231 232 233 234 235 236 237 238
                    val intent = Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS)
                    val uri = Uri.fromParts("package", packageName, null)
                    intent.data = uri
                    startActivity(intent)
                    finish()
                }
            }

    }
konghaorui committed
239 240 241 242 243 244 245 246

    private fun bindService() {
        val intent = Intent()
        intent.setClass(this, PlayService::class.java!!)
        serviceConnection = PlayServiceConnection()
        bindService(intent, serviceConnection, Context.BIND_AUTO_CREATE)
    }

konghaorui committed
247 248 249
    override fun onResume() {
        super.onResume()
        MobclickAgent.onResume(this)
250

251
//        ModularServiceManager.provide(IConsultantService::class.java)
252 253
//            .
//            (this)
konghaorui committed
254 255
    }

徐健 committed
256 257 258
    override fun onPause() {
        super.onPause()

259
//        ModularServiceManager.provide(IConsultantService::class.java).hideConsultAssistantDialog()
徐健 committed
260 261
    }

konghaorui committed
262

263 264 265 266 267 268
    override fun onDestroy() {
        if (serviceConnection != null) {
            unbindService(serviceConnection)
        }
        super.onDestroy()
    }
konghaorui committed
269 270 271 272 273 274 275 276 277 278 279

    private inner class PlayServiceConnection : ServiceConnection {
        override fun onServiceConnected(name: ComponentName, service: IBinder) {
            playService = (service as PlayService.PlayBinder).service
        }

        override fun onServiceDisconnected(name: ComponentName) {
            Log.e(javaClass.simpleName, "service disconnected")
        }
    }

严久程 committed
280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297

    private fun showEnsureDialog() {
        secretDialog = SecretDialog(this, object : OnSecretDialogListener {
            override fun onCancel() {
                secretDialog!!.dismiss()
//                finishAll()
//                Process.killProcess(Process.myPid())
//                System.exit(0)
            }

            override fun onSure() {
                secretDialog!!.dismiss()
            }
        })
        secretDialog!!.setCanceledOnTouchOutside(false)
        secretDialog!!.show()
    }

konghaorui committed
298
}