CourseServiceImp.kt 3.03 KB
Newer Older
严久程 committed
1 2 3
package com.yidianling.course.modular_service

import android.app.Activity
ydl committed
4
import android.app.Application
严久程 committed
5
import android.content.Context
ydl committed
6
import android.content.Intent
严久程 committed
7
import com.alibaba.android.arouter.facade.annotation.Route
王佳洋 committed
8
import com.ydl.course.api.ICourseService
严久程 committed
9 10
import com.ydl.media.audio.AudioPlayer
import com.ydl.media.view.PlayerFloatHelper
11
import com.yidianling.course.bean.COURSE_AUDIO
严久程 committed
12
import com.yidianling.course.courseNew.CourseTopicActivity
ydl committed
13
import com.yidianling.course.courseNew.mine.MyCourseActivity
王佳洋 committed
14
import com.yidianling.course.coursePlay.AudioPlayActivity
ydl committed
15
import com.yidianling.course.coursePlay.CourseCommentActivity
16
import com.yidianling.course.coursePlay.CoursePlayActivity
ydl committed
17
import com.yidianling.course.coursePlay.CourseReplyListActivity
严久程 committed
18
import com.yidianling.course.flutterPlugin.CourseSendPlugin
ydl committed
19
import com.yidianling.course.lifeCallback.CoursePlayLifecycle
严久程 committed
20 21 22 23 24 25 26 27

/**
 * @author jiucheng
 * @描述:
 * @Copyright Copyright (c) 2018
 * @Company 壹点灵
 * @date 2019/11/12
 */
严久程 committed
28
@Route(path = "/course/CourseService")
严久程 committed
29
class CourseServiceImp : ICourseService {
严久程 committed
30 31 32 33 34 35
    override fun courseTopic(activity: Activity, id: String) {
        CourseTopicActivity.start(activity, id)
    }

    override fun closePlayer() {
        if (AudioPlayer.get().isPlaying){
36
            AudioPlayer.get().resetPlayer()
严久程 committed
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
        }
    }

    override fun isPlaying(): Boolean {
        return AudioPlayer.get().isPlaying
    }

    override fun startCoursePlayPage(activity: Activity, from: Int) {
        PlayerFloatHelper.startCoursePlayActivity(activity,from)
    }

    override fun play() {
        AudioPlayer.get().play()
    }

    override fun pause() {
53
        AudioPlayer.get().playOrPause()
严久程 committed
54 55 56 57 58 59
    }

    override fun sendLoginStatusToFlutter() {
        CourseSendPlugin.sendLoginSuccess()
    }

ydl committed
60 61 62 63
    override fun startMyCourseActivity(context: Context) {
        MyCourseActivity.start(context)
    }

ydl committed
64
    override fun startCoursePlayActivity(activity: Activity, courseId: Int, coursePlayUrl: String?, from: Int, mediaType: String?) {
王佳洋 committed
65 66 67 68 69
        val intent = if (COURSE_AUDIO.toString() == mediaType) {
            Intent(activity, AudioPlayActivity::class.java)
        } else {
            Intent(activity, CoursePlayActivity::class.java)
        }
ydl committed
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
        intent.putExtra("course_id", courseId)
        intent.putExtra("coursePlayUrl", coursePlayUrl)
        intent.putExtra("from", from)
        intent.putExtra("mediaType", mediaType)
        activity.startActivity(intent)
    }

    override fun startCourseCommentActivity(activity: Activity, courseId: String) {
        CourseCommentActivity.startActivity(activity, courseId)
    }

    override fun startCourseReplyActivity(activity: Activity, courseId: String) {
        val intent = Intent(activity, CourseReplyListActivity::class.java)
        intent.putExtra("course_id", courseId)
        activity.startActivity(intent)
    }

    override fun initCoursePlayLifeCircle(application: Application) {
        application.registerActivityLifecycleCallbacks(CoursePlayLifecycle())
    }

严久程 committed
91 92 93
    override fun init(context: Context?) {
    }
}