package com.yidianling.dynamic.router import android.app.Activity import android.content.Intent import android.support.v4.app.DialogFragment import android.support.v7.app.AppCompatActivity import com.ydl.confide.api.IConfideService import com.ydl.course.api.ICourseService import com.ydl.ydlcommon.actions.imagepicker.PickerCallback import com.ydl.ydlcommon.actions.imagepicker.YdlImagePicker import com.ydl.ydlcommon.base.config.HttpConfig import com.ydl.ydlcommon.modular.ModularServiceManager import com.yidianling.consultant.api.IConsultantService import com.yidianling.dynamic.api.IDynamicService import com.yidianling.fm.api.service.IFMService import com.yidianling.im.api.service.IImService import com.yidianling.tests.api.service.ITestsApiService import com.yidianling.user.api.bean.UserResponseBean import com.yidianling.user.api.service.IAppService import com.yidianling.user.api.service.IUserService /** * author : Zhangwenchao * e-mail : zhangwch@yidianling.com * time : 2018/04/25 */ object DynamicIn { fun getImService(): IImService { return ModularServiceManager.provide(IImService::class.java) } fun getAppService(): IAppService { return ModularServiceManager.provide(IAppService::class.java) } fun getUserService(): IUserService { return ModularServiceManager.provide(IUserService::class.java) } fun getDynamicService(): IDynamicService { return ModularServiceManager.provide(IDynamicService::class.java) } fun getCourseService(): ICourseService { return ModularServiceManager.provide(ICourseService::class.java) } fun getTestsService(): ITestsApiService { return ModularServiceManager.provide(ITestsApiService::class.java) } fun getFMService(): IFMService { return ModularServiceManager.provide(IFMService::class.java) } fun getConsultService(): IConsultantService { return ModularServiceManager.provide(IConsultantService::class.java) } fun getConfideService(): IConfideService { return ModularServiceManager.provide(IConfideService::class.java) } /** * 获取专家主页url */ fun getExpertHost(): String { return HttpConfig.H5_URL + "experts/" } fun getShareExpertHost(): String { return HttpConfig.MH5_URL+ "experts/" } fun isLogin(): Boolean { return getUserService().isLogin()?:false } fun getUserInfo(): UserResponseBean.UserInfo? = getUserService().getUserInfo() fun loginWayIntent(activity: Activity): Intent? { return getUserService().loginWayIntent(activity) } fun personalInfoIntent(activity: Activity){ getAppService().personalInfoIntent(activity) } fun inputPhoneIntent(activity: Activity, smsAction: String): Intent? { return getUserService().inputPhoneIntent(activity, smsAction) } fun mainIntent(activity: Activity){ getAppService().mainIntent(activity) } fun mainIntent(activity: Activity,tab :Int){ getAppService().mainIntent(activity,tab,false) } fun expertSearchIntent(activity: Activity, category: Int, showType: Int, isInitShowHot: Boolean): Intent? { return getConsultService().expertSearchIntent(activity, category, showType, isInitShowHot) } fun testResultH5(testResultId: Int){ getTestsService().testH5Result(testResultId.toString()) } fun testDetailH5(testId: Int){ getTestsService().testDetailH5(testId.toString()); } fun phoneCallIntent(activity: Activity): Intent? { return getConfideService().phoneCallIntent(activity) } fun fmDetailIntent(activity: Activity, fmId: Int): Intent? { return getFMService().fmDetailIntent(activity, fmId) } fun getFmId(): Int { return getFMService().getFmId() ?: 0 } fun rechargeIntent(activity: Activity){ getAppService().rechargeIntent(activity) } fun phoneCallFragment(head: String, callId: String): DialogFragment? { return getConfideService().phoneCallFragment(head, callId) } fun startChat(activity: AppCompatActivity, toUid: String) { getImService().startP2PSession(activity, toUid) } fun isFmPlaying(): Boolean { return getFMService().isPlaying() ?: false } fun isCoursePlaying(): Boolean { return getCourseService().isPlaying() ?: false } fun playCourse(){ if (!isCoursePlaying()){ getCourseService().play() } } fun pauseCourse(){ if (isCoursePlaying()){ getCourseService().pause() } } fun rePlayFM(){ getFMService().replay() } fun pauseFm(){ getFMService().pause() } fun showSelector(activity: Activity, requestCode: Int) { getImService().showSelector(activity, requestCode) } fun startPicker(activity: AppCompatActivity, openCamera: Boolean, callback: PickerCallback) { YdlImagePicker.startPicker(activity, openCamera, callback) } /** * 课程播放页 */ fun startCoursePlayPage(activity: Activity){ getCourseService().startCoursePlayPage(activity,1) } }