CourseServiceImp.kt 2.8 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 9
import com.ydl.media.audio.AudioPlayer
import com.ydl.media.view.PlayerFloatHelper
严久程 committed
10
import com.ydl.course.api.ICourseService
严久程 committed
11
import com.yidianling.course.courseNew.CourseTopicActivity
ydl committed
12
import com.yidianling.course.courseNew.mine.MyCourseActivity
ydl committed
13 14 15
import com.yidianling.course.coursePlay.CourseCommentActivity
import com.yidianling.course.coursePlay.CoursePlayActivity
import com.yidianling.course.coursePlay.CourseReplyListActivity
严久程 committed
16
import com.yidianling.course.flutterPlugin.CourseSendPlugin
ydl committed
17 18
import com.yidianling.course.lifeCallback.CoursePlayLifecycle
import java.util.*
严久程 committed
19 20 21 22 23 24 25 26

/**
 * @author jiucheng
 * @描述:
 * @Copyright Copyright (c) 2018
 * @Company 壹点灵
 * @date 2019/11/12
 */
严久程 committed
27
@Route(path = "/course/CourseService")
严久程 committed
28
class CourseServiceImp : ICourseService {
严久程 committed
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
    override fun courseTopic(activity: Activity, id: String) {
        CourseTopicActivity.start(activity, id)
    }

    override fun closePlayer() {
        if (AudioPlayer.get().isPlaying){
            AudioPlayer.get().stopPlayer()
        }
    }

    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() {
        AudioPlayer.get().playPause()
    }

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

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

ydl committed
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
    override fun startCoursePlayActivity(activity: Activity, courseId: Int, coursePlayUrl: String?, from: Int, mediaType: String?) {
        val intent = Intent(activity, CoursePlayActivity::class.java)
        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
86 87 88
    override fun init(context: Context?) {
    }
}