Commit ab5f7bff by 严久程

课程模块

parent 2b2eb4ee
......@@ -19,7 +19,7 @@ import com.ydl.ydlcommon.utils.BuryPointUtils;
import com.ydl.ydlcommon.utils.NetworkParamsUtils;
import com.yidianling.common.tools.LogUtil;
import com.yidianling.course.courseNew.LoadMoreView;
import com.yidianling.course.net.RetrofitUtils;
import com.yidianling.course.net.CourseRetrofitUtils;
import com.yidianling.course.bean.Course;
import com.yidianling.course.router.CourseIn;
import in.srain.cube.views.loadmore.LoadMoreContainer;
......@@ -182,7 +182,7 @@ public class CourseListFragment extends BaseFragment implements PtrHandler, Load
.append("&listType=").append(tagId + 1);
}
String urlParams = NetworkParamsUtils.getCommonParam() + sb.toString();
RetrofitUtils.getCourseList(urlParams).compose(RxUtils.resultJavaData()).subscribeOn(Schedulers.io())
CourseRetrofitUtils.getCourseList(urlParams).compose(RxUtils.resultJavaData()).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(resp -> {
lvContent.setVisibility(View.VISIBLE);
......@@ -223,10 +223,10 @@ public class CourseListFragment extends BaseFragment implements PtrHandler, Load
emptyTv.setText("网络不给力哦,下拉刷新重试");
ivEmptyView.setImageResource(R.drawable.no_net);
} else {
RetrofitUtils.handleError(getActivity(), throwable);
CourseRetrofitUtils.handleError(getActivity(), throwable);
}
} else {
RetrofitUtils.handleError(getActivity(), throwable);
CourseRetrofitUtils.handleError(getActivity(), throwable);
isShowEmptyView();
}
});
......
......@@ -18,7 +18,7 @@ import com.ydl.ydlcommon.utils.StatusBarUtils
import com.ydl.ydlcommon.view.dialog.YDLShareDialog
import com.yidianling.common.tools.ToastUtil
import com.yidianling.course.bean.PostersShareBean
import com.yidianling.course.net.RetrofitUtils
import com.yidianling.course.net.CourseRetrofitUtils
import com.yidianling.course.widget.CoursePosterTemplate
import com.yidianling.course.widget.CustomPagerTransformer
import io.reactivex.android.schedulers.AndroidSchedulers
......@@ -106,7 +106,7 @@ class CoursePosterActivity : BaseActivity() {
}
private fun getData() {
RetrofitUtils.getPosterData(courseId)
CourseRetrofitUtils.getPosterData(courseId)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe({ resp ->
......
......@@ -17,7 +17,7 @@ import com.ydl.ydlcommon.utils.actionutil.BIConstants
import com.ydl.ydlcommon.utils.remind.ToastHelper
import com.yidianling.common.tools.ToastUtil
import com.yidianling.course.bean.CourseCouponBean
import com.yidianling.course.net.RetrofitUtils
import com.yidianling.course.net.CourseRetrofitUtils
import com.yidianling.course.flutterPlugin.CourseSendPlugin
import com.yidianling.course.widget.CourseCouponDialog
import com.yidianling.router.RouterManager
......@@ -40,7 +40,7 @@ class FlutterCourseHomeFragment : BaseFlutterFragment() {
private var hasRequestCoupon = false
private var dialog: CourseCouponDialog? = null
override fun initChannelPlugin(flutterView: FlutterView) {
CoursePlugin.rigister(this, flutterView)
CoursePlugin.register(this, flutterView)
CourseSendPlugin.initContext(this, flutterView)
}
......@@ -85,7 +85,7 @@ class FlutterCourseHomeFragment : BaseFlutterFragment() {
@SuppressLint("SimpleDateFormat", "CheckResult")
private fun getCouponData() {
val (userId) = YdlCommonRouterManager.getYdlCommonRoute().getUserInfo() ?: return
RetrofitUtils.getCourseCoupons(userId, "3", "1", "3")
CourseRetrofitUtils.getCourseCoupons(userId, "3", "1", "3")
.compose(RxUtils.netCheck())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
......@@ -151,7 +151,7 @@ class FlutterCourseHomeFragment : BaseFlutterFragment() {
bean.couponIds = couponIds
bean.uid = userId
val couponIdsStr = Gson().toJson(bean)
RetrofitUtils.receiveCoupon(couponIdsStr)
CourseRetrofitUtils.receiveCoupon(couponIdsStr)
.compose(RxUtils.netCheck())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
......
......@@ -20,7 +20,7 @@ import com.ydl.ydlcommon.utils.UMEventUtils
import com.yidianling.common.tools.LogUtil
import com.yidianling.common.tools.RxNetTool
import com.yidianling.course.R
import com.yidianling.course.net.RetrofitUtils
import com.yidianling.course.net.CourseRetrofitUtils
import com.yidianling.course.bean.Course
import com.yidianling.course.model.TopicCourseBean
import io.reactivex.android.schedulers.AndroidSchedulers
......@@ -114,7 +114,7 @@ class CourseTopicActivity : BaseActivity(), View.OnClickListener, SwipeRefreshLa
}
course_topic_rcv.visibility = View.VISIBLE
v_no_network.visibility = View.GONE
RetrofitUtils.getCourseTopic(specialId.toString())
CourseRetrofitUtils.getCourseTopic(specialId.toString())
.subscribeOn(Schedulers.io())
.compose(RxUtils.resultJavaData())
.observeOn(AndroidSchedulers.mainThread())
......
......@@ -36,7 +36,7 @@ import com.yidianling.course.courseNew.LoadMoreView
import com.yidianling.course.courseNew.courseList.widget.CourseFilterPopupWindow
import com.yidianling.course.courseNew.courseList.widget.CourseGoodPopupWindow
import com.yidianling.course.courseNew.courseList.widget.CourseSortPopupWindow
import com.yidianling.course.net.RetrofitUtils
import com.yidianling.course.net.CourseRetrofitUtils
import com.yidianling.course.bean.Course
import com.yidianling.course.model.CourseCategoryBean
import com.yidianling.course.router.CourseIn
......@@ -174,7 +174,7 @@ class CourseListContainerActivity : BaseActivity(), PtrHandler, LoadMoreHandler
*/
@SuppressLint("CheckResult")
private fun loadData() {
RetrofitUtils.getCourseListCategory()
CourseRetrofitUtils.getCourseListCategory()
.subscribeOn(Schedulers.io())
.compose(RxUtils.resultJavaData())
.observeOn(AndroidSchedulers.mainThread())
......@@ -459,7 +459,7 @@ class CourseListContainerActivity : BaseActivity(), PtrHandler, LoadMoreHandler
v_loading.setViewType(LogoLoadingView.TYPE_LOADING, null)
}
RetrofitUtils.getCourseList(urlParams).compose(RxUtils.resultJavaData()).subscribeOn(Schedulers.io())
CourseRetrofitUtils.getCourseList(urlParams).compose(RxUtils.resultJavaData()).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe({ resp ->
if (resp.list.isNotEmpty()) {
......@@ -509,7 +509,7 @@ class CourseListContainerActivity : BaseActivity(), PtrHandler, LoadMoreHandler
v_loading.setViewType(LogoLoadingView.TYPE_NET_LOSS, "哎呦,网络开小差了")
} else {
ToastHelper.show("网络不给力")
RetrofitUtils.handleError(this@CourseListContainerActivity, throwable)
CourseRetrofitUtils.handleError(this@CourseListContainerActivity, throwable)
}
})
}
......
......@@ -15,7 +15,7 @@ import com.yidianling.common.tools.ToastUtil
import com.yidianling.course.CourseConstants
import com.yidianling.course.R
import com.yidianling.course.net.Command
import com.yidianling.course.net.RetrofitUtils
import com.yidianling.course.net.CourseRetrofitUtils
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.schedulers.Schedulers
import kotlinx.android.synthetic.main.activity_course_commeny.*
......@@ -86,7 +86,7 @@ class CourseCommentActivity : BaseActivity() {
private fun commitReply(content: String) {
showProgressDialog(null)
val cmd = Command.CourseCommitReply(courseId!!.toInt(), content)
RetrofitUtils.commitCourseReply(cmd)
CourseRetrofitUtils.commitCourseReply(cmd)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe({ resp ->
......@@ -104,7 +104,7 @@ class CourseCommentActivity : BaseActivity() {
}
}, { t ->
dismissProgressDialog()
RetrofitUtils.handleError(this, t)
CourseRetrofitUtils.handleError(this, t)
LogHelper.getInstance().writeLogSync("提交评论失败:" + t.message)
})
}
......
......@@ -617,13 +617,14 @@ class CoursePlayActivity : BaseActivity() {
var status = Utils.getValue(videoView, "status")
//视频课程正在播放中
if (status == PlayStateParams.STATE_PLAYING) {
YDLMusicHelper.title = courPlayBean?.courseExtra?.title
YDLMusicHelper.cover = courPlayBean?.courseExtra?.pic
YDLMusicHelper.name = courPlayBean?.courseExtra?.doctorName
YDLMusicHelper.isVideoPlaying = true
YDLMusicHelper.playType = 1
YDLMusicHelper.courseVideoUlr = (play_view as CoursePlayItemViewVideo).videoUrl
YDLMusicHelper.course_id = courPlayBean?.courseExtra?.id!!.toInt()
//todo 视屏播放
// YDLMusicHelper.title = courPlayBean?.courseExtra?.title
// YDLMusicHelper.cover = courPlayBean?.courseExtra?.pic
// YDLMusicHelper.name = courPlayBean?.courseExtra?.doctorName
// YDLMusicHelper.isVideoPlaying = true
// YDLMusicHelper.playType = 1
// YDLMusicHelper.courseVideoUlr = (play_view as CoursePlayItemViewVideo).videoUrl
// YDLMusicHelper.course_id = courPlayBean?.courseExtra?.id!!.toInt()
PlayerFloatHelper.show(this)
}
......
package com.yidianling.course.coursePlay
import android.annotation.SuppressLint
import android.support.v7.widget.LinearLayoutManager
import android.support.v7.widget.RecyclerView
import com.ydl.ydl_image.module.GlideApp
import com.ydl.ydlcommon.adapter.CommonRecyclerAdapter
import com.ydl.ydlcommon.base.BaseActivity
import com.ydl.ydlcommon.view.BaseViewHolder
import com.ydl.ydlcommon.view.CircleImageView
import com.ydl.ydlcommon.view.FootViewLoadMore
import com.ydl.ydlcommon.view.TitleBar
import com.yidianling.common.tools.LogUtil
import com.yidianling.common.tools.ToastUtil
import com.yidianling.course.R
import com.yidianling.course.bean.CoursePlayBean
import com.yidianling.course.net.Command
import com.yidianling.course.net.CourseRetrofitUtils
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.schedulers.Schedulers
/**
* 课程课后笔记列表
*
*/
class CourseReplyListActivity : BaseActivity() {
override fun layoutResId(): Int {
return R.layout.activity_course_reply_list
}
override fun initDataAndEvent() {
course_id = intent.getIntExtra("course_id", 0)
initView()
getListData(false)
}
var title_bar: TitleBar? = null
var recycler_list: RecyclerView? = null
var footView: FootViewLoadMore? = null
var adapter: CommonRecyclerAdapter<CoursePlayBean.Comments>? = null
var page = 1 //分页
//课程id
var course_id = 0
fun initView() {
title_bar = findViewById<TitleBar>(R.id.title_bar)
recycler_list = findViewById<RecyclerView>(R.id.recycler_list)
recycler_list?.layoutManager = LinearLayoutManager(mContext, LinearLayoutManager.VERTICAL, false)
adapter = CommonRecyclerAdapter<CoursePlayBean.Comments>(recycler_list, R.layout.item_course_play_recylist)
.setBindDataCallback(object : CommonRecyclerAdapter.BindDataCallback<CoursePlayBean.Comments> {
override fun bindDatabindData(holder: BaseViewHolder, t: CoursePlayBean.Comments, position: Int) {
//绑定数据
var img: CircleImageView = holder.getView(R.id.img_head)
GlideApp.with(applicationContext).load(t.head).into(img)
holder.setText(R.id.text_name, t.name)
holder.setText(R.id.text_time, t.create_time)
holder.setText(R.id.text_des, t.content)
}
})
.setOnLoadMoreListener(object : CommonRecyclerAdapter.OnLoadMoreLIstener {
override fun onLoadMore() {
getListData(true)
LogUtil.e("---------------------------------------")
}
})
footView = FootViewLoadMore(mContext)
adapter?.addFootView(footView)
recycler_list?.adapter = adapter
}
//获取列表数据
@SuppressLint("CheckResult")
fun getListData(isLoadMore: Boolean) {
if (isLoadMore) {
page++
} else {
page = 1
}
if (isLoadMore) {
footView?.onLoading()
} else {
showProgressDialog(null)
}
val cmd = Command.CourseReplyList(course_id, page)
CourseRetrofitUtils.courseReplyList(cmd)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe({ resp ->
if (!isLoadMore) {
dismissProgressDialog()
}
if (resp.code == 0) {
//跟新view显示
updateView(isLoadMore, resp.data as List<CoursePlayBean.Comments>)
} else {
footView?.onError()
ToastUtil.toastShort(resp.msg)
}
}, {
throwable->
footView?.onError()
if (!isLoadMore) {
dismissProgressDialog()
}
CourseRetrofitUtils.handleError(mContext, throwable)
})
}
//跟新视图
fun updateView(isLoadMore: Boolean, list: List<CoursePlayBean.Comments>) {
if (list == null) return
if (list.size == 0) {
footView?.onFinish()
return
}
if (isLoadMore) {
adapter?.addDatas(list)
} else {
adapter?.update(list)
}
}
}
......@@ -4,7 +4,7 @@ import android.annotation.SuppressLint
import com.yidianling.common.tools.ToastUtil
import com.yidianling.course.bean.CourseMediaDetailBean
import com.yidianling.course.coursePlay.CoursePlayActivity
import com.yidianling.course.net.RetrofitUtils
import com.yidianling.course.net.CourseRetrofitUtils
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.schedulers.Schedulers
......@@ -16,7 +16,7 @@ class CoursePlayPresenter(val view: CoursePlayActivity) {
@SuppressLint("CheckResult")
fun getInitData(course_id: Int) {
view.showLoadingDialog()
RetrofitUtils.getCoursePlayData(course_id.toString())
CourseRetrofitUtils.getCoursePlayData(course_id.toString())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe({ resp ->
......@@ -33,7 +33,7 @@ class CoursePlayPresenter(val view: CoursePlayActivity) {
}
}, { t ->
view.dismissLoadingDialog()
RetrofitUtils.handleError(view, t)
CourseRetrofitUtils.handleError(view, t)
})
}
......
package com.yidianling.course.course_special_list.model
import com.ydl.ydlcommon.data.http.RxUtils
import com.yidianling.course.net.RetrofitUtils
import com.yidianling.course.net.CourseRetrofitUtils
import com.yidianling.course.course_special_list.bean.CourseSpecialListBean
import com.yidianling.course.course_special_list.contract.ICourseSpecialListContract
import com.yidianling.course.course_special_list.bean.CourseSpecialListParam
......@@ -17,7 +17,7 @@ import io.reactivex.Observable
class CourseSpecialListModelImpl : ICourseSpecialListContract.Model {
override fun specialListRequest(param: CourseSpecialListParam): Observable<CourseSpecialListBean> {
return RetrofitUtils.specialListRequest(param)
return CourseRetrofitUtils.specialListRequest(param)
.compose(RxUtils.resultJavaData())
}
}
\ No newline at end of file
import android.content.Intent
import android.net.Uri
import android.text.TextUtils
import com.ydl.media.audio.AudioPlayer
import com.ydl.media.audio.model.Music
import com.ydl.media.view.PlayTypeEnum
import com.ydl.media.view.PlayerFloatHelper
import com.ydl.media.view.PlayerFloatView
import com.ydl.webview.H5Params
import com.ydl.webview.NewH5Activity
import com.ydl.ydl_router.manager.YDLRouterManager
......@@ -40,7 +45,7 @@ class CoursePlugin : MethodChannel.MethodCallHandler {
const val PLAYCOURSEFILE: String = "playCourseFile"
const val PAUSECOURSEPLAY: String = "pauseCoursePlay"
fun rigister(fragment: BaseFlutterFragment, flutterView: FlutterView) {
fun register(fragment: BaseFlutterFragment, flutterView: FlutterView) {
MethodChannel(flutterView, CHANNEL).setMethodCallHandler(CoursePlugin(fragment))
}
}
......@@ -52,10 +57,13 @@ class CoursePlugin : MethodChannel.MethodCallHandler {
mMap["isDevelopment"] = BuildConfig.DEBUG
mMap["uid"] = YdlCommonRouterManager.getYdlCommonRoute().getUid().toString()
mMap["accessToken"] = YdlCommonRouterManager.getYdlCommonRoute().getAccessToken()
?: ""
?: ""
mMap["isFromApp"] = "1"
mMap["version"] = RxDeviceTool.getAppVersionName(BaseApp.getApp())
mMap["osBuild"] = RxDeviceTool.getBuildMANUFACTURER() + "," + RxDeviceTool.getBuildBrandModel() + "," + RxDeviceTool.getOsBuileVersion() + "," + RxDeviceTool.getAppVersionName(BaseApp.getApp())
mMap["osBuild"] =
RxDeviceTool.getBuildMANUFACTURER() + "," + RxDeviceTool.getBuildBrandModel() + "," + RxDeviceTool.getOsBuileVersion() + "," + RxDeviceTool.getAppVersionName(
BaseApp.getApp()
)
result.success(mMap)
}
JUMPURL -> {
......@@ -65,7 +73,12 @@ class CoursePlugin : MethodChannel.MethodCallHandler {
jumpUrl!!.contains("user/login") -> mFragment!!.startActivity(CourseIn.loginWayIntent(mFragment!!.activity))
jumpUrl.contains("course/myCourse") -> MyCourseActivity.start(mFragment!!.activity)
jumpUrl.contains("course/specialList") -> //跳转专题列表页
mFragment!!.activity.startActivity(Intent(mFragment!!.activity, CourseSpecialListActivity::class.java))
mFragment!!.activity.startActivity(
Intent(
mFragment!!.activity,
CourseSpecialListActivity::class.java
)
)
jumpUrl.contains("course/detail") -> {
var uri = Uri.parse(jumpUrl)
var id = uri.getQueryParameter("id")
......@@ -82,8 +95,8 @@ class CoursePlugin : MethodChannel.MethodCallHandler {
playMedia(fileInfo)
}
PAUSECOURSEPLAY -> {
if (YDLMusicHelper.isPlaying()) {
YDLMusicHelper.pause()
if (AudioPlayer.get().isPlaying) {
AudioPlayer.get().playPause()
PlayerFloatHelper.updatePlayState()
}
}
......@@ -94,51 +107,50 @@ class CoursePlugin : MethodChannel.MethodCallHandler {
if (PlayerFloatHelper.isShow(mFragment!!.activity)) {
PlayerFloatHelper.hide()
PlayerFloatHelper.removeView(mFragment!!.activity)
YDLMusicHelper.clearTempData()
YDLMusicHelper.stop()
AudioPlayer.get().stopPlayer()
} else {
PlayerFloatHelper.removeView(mFragment!!.activity)
}
YDLMusicHelper.title = fileInfo["title"].toString()
YDLMusicHelper.name = fileInfo["name"].toString()
YDLMusicHelper.cover = fileInfo["cover"].toString()
YDLMusicHelper.course_id = fileInfo["courseId"] as Int
YDLMusicHelper.isCanClick = false
val music = Music()
music.title = fileInfo["title"].toString()
music.artist = fileInfo["name"].toString()
music.coverPath = fileInfo["cover"].toString()
PlayerFloatHelper.isCanClick = false
var demoType = fileInfo["demoType"] as Int
var url = fileInfo["url"].toString()
if (demoType == 1) {
YDLMusicHelper.playType = 0
PlayerFloatHelper.show(mFragment!!.activity)
PlayerFloatHelper.playingType = PlayTypeEnum.PLAY_TYPE_COURSE
music.path = url
YDLMusicHelper.coursePlay(url)
AudioPlayer.get().singlePlay(music)
}
if (demoType == 2) {
YDLMusicHelper.playType = 1
YDLMusicHelper.courseVideoUlr = url
PlayerFloatHelper.show(mFragment!!.activity)
//todo 视屏播放
// YDLMusicHelper.playType = 1
// YDLMusicHelper.courseVideoUlr = url
//
// PlayerFloatHelper.show(mFragment!!.activity)
}
PlayerFloatHelper.addClickListener(object : PlayerFloatView.FloatViewPlayListener {
override fun onStartClick() {
if (!YDLMusicHelper.isCanClick && YDLMusicHelper.course_id != 0) {
if (!PlayerFloatHelper.isCanClick && PlayerFloatHelper.playingType == PlayTypeEnum.PLAY_TYPE_COURSE) {
CourseSendPlugin.sendMsg(true)
}
}
override fun onPlayFinish() {
PlayerFloatHelper.hide()
YDLMusicHelper.clearTempData()
YDLMusicHelper.stop()
AudioPlayer.get().stopPlayer()
}
override fun onPauseClick() {
if (!YDLMusicHelper.isCanClick && YDLMusicHelper.course_id != 0) {
if (!PlayerFloatHelper.isCanClick && PlayerFloatHelper.playingType == PlayTypeEnum.PLAY_TYPE_COURSE) {
CourseSendPlugin.sendMsg(false)
}
}
......
package com.yidianling.course.net;
import android.content.Context;
import com.ydl.ydlcommon.base.config.HttpConfig;
import com.ydl.ydlcommon.data.http.BaseAPIResponse;
import com.ydl.ydlcommon.data.http.BaseResponse;
import com.ydl.ydlcommon.data.http.FormatText;
......@@ -8,9 +9,6 @@ import com.ydl.ydlcommon.utils.NetworkParamsUtils;
import com.ydl.ydlcommon.utils.remind.HttpErrorUtils;
import com.ydl.ydlnet.YDLHttpUtils;
import com.yidianling.course.bean.*;
import com.yidianling.course.bean.Course;
import com.yidianling.course.bean.CourseListDataBean;
import com.yidianling.course.bean.CoursePlayBean;
import com.yidianling.course.course_special_list.bean.CourseSpecialListBean;
import com.yidianling.course.course_special_list.bean.CourseSpecialListParam;
import com.yidianling.course.model.CourseCategoryBean;
......@@ -25,7 +23,7 @@ import java.util.List;
* Created by Jim on 2018/2/26 0026.
*/
public class RetrofitUtils {
public class CourseRetrofitUtils {
public static void handleError(Context context, Throwable e) {
HttpErrorUtils.Companion.handleError(context, e);
......@@ -35,41 +33,28 @@ public class RetrofitUtils {
//课程提交回复
public static Observable<BaseResponse<Object>> commitCourseReply(Command.CourseCommitReply cmd) {
List<FormatText> list = NetworkParamsUtils.getPostList(cmd);
// return YdlRetrofitUtils.getRxRetrofit().newBuilder().baseUrl(YdlRetrofitUtils.SERVER_API_JAVA_URL).build().create(NetApiStore.class).commitCourseReply(getMaps(list));
return YDLHttpUtils.Companion.obtainApi(NetApiStore.class).commitCourseReply(NetworkParamsUtils.getMaps(list));
}
//获取课程海报分享数据
public static Observable<BaseResponse<PostersShareBean>> getPosterData(String courseId) {
return YDLHttpUtils.Companion.obtainApi(NetApiStore.class).getPosterData(courseId);
// return YdlRetrofitUtils.getRxRetrofit().newBuilder().baseUrl(YdlRetrofitUtils.SERVER_API_JAVA_URL).build().create(NetApiStore.class).getPosterData(courseId);
}
//课程课后笔记列表
public static Observable<BaseResponse<List<CoursePlayBean.Comments>>> courseReplyList(Command.CourseReplyList cmd) {
List<FormatText> list = NetworkParamsUtils.getPostList(cmd);
return YDLHttpUtils.Companion.obtainApi(NetApiStore.class).courseReplyList(NetworkParamsUtils.getMaps(list));
// return getRxRetrofit().create(NetApiStore.class).courseReplyList(getMaps(list));
}
//获取课程列表(php接口)
public static Observable<BaseResponse<List<Course>>> getCourseList(Command.GetCourse cmd) {
List<FormatText> list = NetworkParamsUtils.getPostList(cmd);
return YDLHttpUtils.Companion.obtainApi(NetApiStore.class).getPhpCourseList(NetworkParamsUtils.getMaps(list));
// return getRxRetrofit().create(NetApiStore.class).getPhpCourseList(getMaps(list));
}
//获取课程列表分类
public static Observable<BaseAPIResponse<CourseCategoryBean>> getCourseListCategory() {
return YDLHttpUtils.Companion.obtainApi(NetApiStore.class).getCourseListCategory();
// return getRxRetrofit().newBuilder().baseUrl(YdlRetrofitUtils.SERVER_API_JAVA_URL).build().create(NetApiStore.class).getCourseListCategory();
}
//获取课程专题
public static Observable<BaseAPIResponse<TopicCourseBean>> getCourseTopic(String id) {
return YDLHttpUtils.Companion.obtainApi(NetApiStore.class).getCourseSpecial(id);
// return getRxRetrofit().newBuilder().baseUrl(YdlRetrofitUtils.SERVER_API_JAVA_URL).build().create(NetApiStore.class).getCourseSpecial(id);
}
......@@ -84,8 +69,6 @@ public class RetrofitUtils {
*/
public static Observable<BaseResponse<List<CourseCouponBean>>> getCourseCoupons(String uid, String services, String receiveType, String applyEnds) {
return YDLHttpUtils.Companion.obtainApi(NetApiStore.class).getCourseCoupons(uid, services, receiveType, applyEnds);
// return YdlRetrofitUtils.getRxRetrofit().newBuilder().baseUrl(YdlRetrofitUtils.SERVER_COUPON_URL)
// .build().create(NetApiStore.class).getCourseCoupons(uid, services, receiveType, applyEnds);
}
//领取优惠券
......@@ -102,11 +85,11 @@ public class RetrofitUtils {
StringBuffer sb = new StringBuffer();
sb.append("serviceType").append("=").append(param.getServiceType()).append("&");
String confideParam = sb.toString() + NetworkParamsUtils.getCommonParam();
return YDLHttpUtils.Companion.obtainApi(NetApiStore.class).getCouponMax(confideParam);
return YDLHttpUtils.Companion.obtainApi(NetApiStore.class).getCouponMax(HttpConfig.Companion.getJAVA_BASE_URL() + "auth/coupon/max?" + confideParam);
}
public static Observable<BaseAPIResponse<CourseListDataBean>> getCourseList(String url) {
return YDLHttpUtils.Companion.obtainApi(NetApiStore.class).getCourseList(YdlRetrofitUtils.SERVER_API_JAVA_URL + "auth/course/getList?" + url);
return YDLHttpUtils.Companion.obtainApi(NetApiStore.class).getCourseList(HttpConfig.Companion.getJAVA_BASE_URL() + "auth/course/getList?" + url);
}
......
......@@ -2,24 +2,20 @@ package com.yidianling.course.net;
import com.ydl.ydlcommon.data.http.BaseAPIResponse;
import com.ydl.ydlcommon.data.http.BaseResponse;
import com.yidianling.course.bean.CouponHintResponseBean;
import com.yidianling.course.bean.CourseCouponBean;
import com.yidianling.course.bean.CourseMediaDetailBean;
import com.yidianling.course.bean.PostersShareBean;
import com.yidianling.course.bean.Course;
import com.yidianling.course.bean.CourseAddOrderBean;
import com.yidianling.course.bean.CourseListDataBean;
import com.yidianling.course.bean.CoursePlayBean;
import com.yidianling.course.bean.*;
import com.yidianling.course.course_special_list.bean.CourseSpecialListBean;
import com.yidianling.course.model.CourseCategoryBean;
import com.yidianling.course.model.TopicCourseBean;
import io.reactivex.Observable;
import okhttp3.RequestBody;
import retrofit2.http.*;
import java.util.List;
import java.util.Map;
import io.reactivex.Observable;
import okhttp3.RequestBody;
import retrofit2.http.*;
import static com.ydl.ydlcommon.base.config.AppConfigKt.YDL_DOMAIN;
import static com.ydl.ydlcommon.base.config.AppConfigKt.YDL_DOMAIN_COUPON_URL;
import static com.ydl.ydlcommon.base.config.AppConfigKt.YDL_DOMAIN_JAVA;
/**
* Created by Jim on 2018/2/26 0026.
......@@ -46,6 +42,7 @@ public interface NetApiStore {
//课程提交回复
@FormUrlEncoded
@POST("auth/course/comments/add")
@Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
Observable<BaseResponse<Object>> commitCourseReply(@FieldMap Map<String, String> params);
//课程播放页--点赞
......@@ -60,6 +57,7 @@ public interface NetApiStore {
//获取课程海报分享数据
@GET("auth/course/posters/share")
@Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
Observable<BaseResponse<PostersShareBean>> getPosterData(@Query("id") String courseId);
......@@ -70,12 +68,13 @@ public interface NetApiStore {
//课程筛选分类
@GET("auth/course/search/newsample")
@Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
Observable<BaseAPIResponse<CourseCategoryBean>> getCourseListCategory();
//课程专题列表接口
@GET("auth/course/new/listCoursesBySpecialId")
@Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
Observable<BaseAPIResponse<TopicCourseBean>> getCourseSpecial(@Query("specialId") String uid);
......@@ -89,6 +88,7 @@ public interface NetApiStore {
* @return
*/
@GET("marketing/coupon/new/available")
@Headers(YDL_DOMAIN + YDL_DOMAIN_COUPON_URL)
Observable<BaseResponse<List<CourseCouponBean>>> getCourseCoupons(@Query("uid") String uid,
@Query("services") String services,
@Query("receiveType") String receiveType,
......@@ -96,10 +96,12 @@ public interface NetApiStore {
//领取优惠券
@POST("marketing/coupon/new/receives")
@Headers(YDL_DOMAIN + YDL_DOMAIN_COUPON_URL)
Observable<BaseResponse<List<String>>> receiveCoupon(@Body RequestBody body);
@GET("auth/coupon/courseCoupon/warn")
@Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
Observable<BaseAPIResponse<CouponHintResponseBean>> getCouponHint();
......@@ -110,11 +112,12 @@ public interface NetApiStore {
//获取课程播放页 java 接口
@GET("auth/course/get/all/audio-video")
@Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
Observable<BaseResponse<CourseMediaDetailBean>> getCoursePlayData(@Query("courseId") String courseId);
//课程专题列表
//todo
@Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
@GET("auth/course/listCoursesBySpecialId")
Observable<BaseAPIResponse<CourseSpecialListBean>> courseSpecialList(@QueryMap Map<String, String> params);
}
......@@ -13,7 +13,7 @@ import com.ydl.ydlcommon.router.IYDLRouterConstant
import com.yidianling.course.R
import com.yidianling.course.bean.CouponHintParam
import com.yidianling.course.bean.CouponHintResponseBean
import com.yidianling.course.net.RetrofitUtils
import com.yidianling.course.net.CourseRetrofitUtils
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.functions.Consumer
import kotlinx.android.synthetic.main.coupon_hint_view.view.*
......@@ -79,7 +79,7 @@ class CouponHintView : RelativeLayout{
fun initData(visible : Int){
this.couponHintVisible = visible
RetrofitUtils.getCouponHint(CouponHintParam(0)).compose(RxUtils.resultJavaData())
CourseRetrofitUtils.getCouponHint(CouponHintParam(0)).compose(RxUtils.resultJavaData())
.map { it }
.filter { it != null }
.observeOn(AndroidSchedulers.mainThread())
......
......@@ -8,11 +8,21 @@ import android.text.TextUtils
import android.util.AttributeSet
import android.view.View
import com.alibaba.android.arouter.launcher.ARouter
import com.ydl.media.audio.AudioPlayer
import com.ydl.media.audio.model.Music
import com.ydl.media.view.PlayTypeEnum
import com.ydl.media.view.PlayerFloatHelper
import com.ydl.media.view.PlayerFloatView
import com.ydl.webview.H5Params
import com.ydl.webview.NewH5Activity
import com.ydl.ydl_image.module.GlideApp
import com.ydl.ydlcommon.utils.actionutil.ActionCountUtils
import com.ydl.ydlcommon.utils.actionutil.BIConstants
import com.yidianling.common.tools.RxImageTool
import com.yidianling.course.CourseConstants
import com.yidianling.course.R
import com.yidianling.course.bean.Course
import kotlinx.android.synthetic.main.item_course_new_list_view.view.*
/**
* @author jiucheng
......@@ -33,7 +43,7 @@ class CourseItemNewView : ConstraintLayout {
initView()
}
constructor(mContext: Context, arrt: AttributeSet) : super(mContext, arrt) {
constructor(mContext: Context, attr: AttributeSet) : super(mContext, attr) {
this.mContext = mContext
initView()
}
......@@ -41,8 +51,8 @@ class CourseItemNewView : ConstraintLayout {
fun initView() {
View.inflate(mContext, R.layout.item_course_new_list_view, this)
var parmas = LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT)
layoutParams = parmas
val params = LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT)
layoutParams = params
setPadding(RxImageTool.dp2px(13f), 0, RxImageTool.dp2px(15f), 0)
}
......@@ -201,30 +211,30 @@ class CourseItemNewView : ConstraintLayout {
if (PlayerFloatHelper.isShow(mContext)) {
PlayerFloatHelper.hide()
PlayerFloatHelper.removeView(mContext)
YDLMusicHelper.clearTempData()
YDLMusicHelper.stop()
AudioPlayer.get().stopPlayer()
} else {
PlayerFloatHelper.removeView(mContext)
}
val music=Music()
music.title=course.title
music.artist=doctorName
music.coverPath=if (!TextUtils.isEmpty(course.image)) course.image else course.pic
PlayerFloatHelper.isCanClick = false
YDLMusicHelper.title = course.title
YDLMusicHelper.name = doctorName
YDLMusicHelper.cover = if (!TextUtils.isEmpty(course.image)) course.image else course.pic
YDLMusicHelper.course_id = course.id.toInt()
YDLMusicHelper.isCanClick = false
if (course.demoType == 1) {
YDLMusicHelper.playType = 0
PlayerFloatHelper.show(mContext)
PlayerFloatHelper.playingType=PlayTypeEnum.PLAY_TYPE_COURSE
music.path=course.demoFile
YDLMusicHelper.coursePlay(course.demoFile)
AudioPlayer.get().singlePlay(music)
}
if (course.demoType == 2) {
YDLMusicHelper.playType = 1
YDLMusicHelper.courseVideoUlr = course.demoFile
PlayerFloatHelper.show(mContext)
//todo 视屏播放
// YDLMusicHelper.playType = 1
// YDLMusicHelper.courseVideoUlr = course.demoFile
//
// PlayerFloatHelper.show(mContext)
}
......@@ -235,8 +245,7 @@ class CourseItemNewView : ConstraintLayout {
override fun onPlayFinish() {
PlayerFloatHelper.hide()
YDLMusicHelper.clearTempData()
YDLMusicHelper.stop()
AudioPlayer.get().stopPlayer()
}
override fun onPauseClick() {
......
......@@ -12,7 +12,7 @@ import com.ydl.ydlcommon.data.http.ThrowableConsumer
import com.ydl.ydlcommon.router.IYDLRouterConstant
import com.yidianling.course.R
import com.yidianling.course.bean.RedListParam
import com.yidianling.course.net.RetrofitUtils
import com.yidianling.course.net.CourseRetrofitUtils
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.functions.Consumer
import kotlinx.android.synthetic.main.course_redpacket_view.view.*
......@@ -83,7 +83,7 @@ class CourseRedPacketView : RelativeLayout {
@SuppressLint("CheckResult")
fun initData(visible: Int) {
this.redPacketVisible = visible
RetrofitUtils.getCouponMax(RedListParam(3)).compose(RxUtils.resultJavaData())
CourseRetrofitUtils.getCouponMax(RedListParam(3)).compose(RxUtils.resultJavaData())
.map { it }
.filter { it != null }
.observeOn(AndroidSchedulers.mainThread())
......
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="true">
<shape>
<corners android:radius="13dp"/>
<gradient android:endColor="@color/color_FFD814" android:startColor="@color/color_FFDB26" />
</shape>
</item>
</selector>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<com.ydl.ydlcommon.view.TitleBar
android:id="@+id/title_bar"
android:layout_width="match_parent"
android:layout_height="50dp"
app:title_text="课后笔记"
app:left_start_icon="@drawable/course_toolbar_back"/>
<android.support.v7.widget.RecyclerView
android:id="@+id/recycler_list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:overScrollMode="never">
</android.support.v7.widget.RecyclerView>
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="12dp"
android:paddingRight="15dp"
tools:parentTag="android.support.constraint.ConstraintLayout">
<com.ydl.ydlcommon.view.widgets.RoundImageView
android:id="@+id/iv_head"
android:layout_width="92dp"
android:layout_height="114dp"
android:layout_marginStart="2dp"
android:layout_marginTop="20dp"
android:scaleType="centerCrop"
app:borderRadius="4dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:type="round"
tools:background="@color/main_theme"/>
<ImageView
android:id="@+id/iv_play"
android:layout_width="26dp"
android:layout_height="26dp"
android:layout_marginRight="3dp"
android:layout_marginBottom="3dp"
android:padding="3dp"
android:src="@drawable/course_ico_course_list_play"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@+id/iv_head"
app:layout_constraintEnd_toEndOf="@+id/iv_head"
tools:visibility="visible"/>
<ImageView
android:id="@+id/iv_new"
android:layout_width="27dp"
android:layout_height="16dp"
android:layout_marginLeft="0.5dp"
android:src="@drawable/course_ico_course_list_new"
android:visibility="gone"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/iv_head"
tools:visibility="visible"/>
<ImageView
android:id="@+id/iv_hot"
android:layout_width="27dp"
android:layout_height="16dp"
android:layout_marginLeft="0.5dp"
android:src="@drawable/course_ico_course_list_hot"
android:visibility="gone"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/iv_head"/>
<android.support.constraint.Guideline
android:id="@+id/guide_line"
android:layout_width="1dp"
android:layout_height="match_parent"
android:orientation="vertical"
app:layout_constraintGuide_begin="100dp"
app:layout_constraintStart_toEndOf="@+id/iv_head"/>
<TextView
android:id="@+id/tv_title"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:ellipsize="end"
android:maxLines="2"
android:textColor="@color/color_333333"
android:textSize="16sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/guide_line"
app:layout_constraintTop_toTopOf="@+id/iv_head"
tools:text="走出余光恐惧,一位余光恐惧者的亲诉一位余光恐惧者的亲诉一位余光恐惧者的亲诉一位余光恐惧者的亲诉"/>
<TextView
android:id="@+id/tv_doctor_info"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:layout_marginTop="4dp"
android:ellipsize="end"
android:maxLines="1"
android:textColor="@color/color_242424"
android:textSize="12sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/guide_line"
app:layout_constraintTop_toBottomOf="@+id/tv_title"
tools:text="黄世杰国家二黄黄世杰国家二黄世杰国家二级心理咨询师级心理咨询师世杰国家二级心理咨询师级心理咨询师"/>
<TextView
android:id="@+id/tv_course_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:layout_marginTop="4dp"
android:textColor="@color/color_999999"
android:textSize="12sp"
app:layout_constraintStart_toEndOf="@+id/guide_line"
app:layout_constraintTop_toBottomOf="@+id/tv_doctor_info"
tools:text="共12讲"/>
<View
android:id="@+id/view_line"
android:layout_width="0.5dp"
android:layout_height="0dp"
android:layout_marginStart="6dp"
android:layout_marginEnd="2dp"
android:background="@color/color_EBEBEB"
app:layout_constraintBottom_toBottomOf="@+id/tv_course_num"
app:layout_constraintStart_toEndOf="@+id/tv_course_info"
app:layout_constraintTop_toBottomOf="@+id/tv_doctor_info"
app:layout_constraintTop_toTopOf="@+id/tv_course_info"/>
<TextView
android:id="@+id/tv_course_num"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:layout_marginTop="4dp"
android:textColor="@color/color_999999"
android:textSize="12sp"
app:layout_constraintStart_toEndOf="@+id/view_line"
app:layout_constraintTop_toBottomOf="@+id/tv_doctor_info"
tools:text="320人已学"/>
<ImageView
android:id="@+id/tv_cu_xiao"
android:layout_width="42dp"
android:layout_height="13dp"
android:layout_marginStart="4dp"
android:layout_marginBottom="3dp"
android:src="@drawable/course_ico_course_cuxiao"
app:layout_constraintBottom_toBottomOf="@+id/iv_head"
app:layout_constraintStart_toEndOf="@+id/guide_line"/>
<ImageView
android:id="@+id/tv_fan_li"
android:layout_width="42dp"
android:layout_height="13dp"
android:layout_marginStart="4dp"
android:layout_marginBottom="3dp"
android:src="@drawable/coursde_ico_course_fanli"
app:layout_constraintBottom_toBottomOf="@+id/iv_head"
app:layout_constraintStart_toEndOf="@+id/tv_cu_xiao"/>
<TextView
android:id="@+id/tv_price_decimal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/dincond_bold"
android:text=".00"
android:textColor="@color/color_FF5040"
android:textSize="12sp"
app:layout_constraintBottom_toBottomOf="@+id/iv_head"
app:layout_constraintEnd_toEndOf="parent"/>
<TextView
android:id="@+id/tv_price"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="19dp"
android:fontFamily="@font/dincond_bold"
android:textColor="@color/color_FF5040"
android:textSize="18sp"
android:textStyle="bold"
app:layout_constraintBottom_toTopOf="@+id/view_bottom_line"
app:layout_constraintEnd_toStartOf="@+id/tv_price_decimal"
tools:text="128"/>
<TextView
android:id="@+id/tv_price_si"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="1dp"
android:layout_marginEnd="2dp"
android:text="¥"
android:textColor="@color/color_FF5040"
android:textSize="11sp"
android:textStyle="bold"
app:layout_constraintEnd_toStartOf="@+id/tv_price"
app:layout_constraintTop_toTopOf="@+id/tv_price"/>
<TextView
android:id="@+id/tv_original_price"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="3dp"
android:textColor="@color/color_BFBFBF"
android:textSize="10sp"
app:layout_constraintBottom_toBottomOf="@+id/iv_head"
app:layout_constraintEnd_toStartOf="@+id/tv_price_si"
tools:text="¥166"/>
<TextView
android:id="@+id/tv_view_course"
android:layout_width="84dp"
android:layout_height="24dp"
android:background="@drawable/course_background_course_list_item_view"
android:gravity="center"
android:text="立即听课"
android:textColor="@color/color_242424"
android:textSize="13dp"
android:textStyle="bold"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@id/iv_head"
app:layout_constraintEnd_toEndOf="parent"/>
<View
android:id="@+id/view_bottom_line"
android:layout_width="match_parent"
android:layout_height="0.5dp"
android:layout_marginStart="2dp"
android:layout_marginTop="20dp"
android:background="@color/color_EBEBEB"
app:layout_constraintTop_toBottomOf="@+id/iv_head"/>
</merge>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white">
<com.ydl.ydlcommon.view.CircleImageView
android:id="@+id/img_head"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_marginLeft="15dp"
android:layout_marginTop="15dp"
android:src="@drawable/course_head_place_hold_pic"/>
<TextView
android:id="@+id/text_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/img_head"
android:layout_alignTop="@+id/img_head"
android:layout_alignBottom="@+id/img_head"
android:textSize="14sp"
android:gravity="center_vertical"
android:layout_marginLeft="15dp"
tools:text="赵云"/>
<TextView
android:id="@+id/text_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/text_name"
android:layout_alignTop="@+id/text_name"
android:layout_alignBottom="@+id/text_name"
android:gravity="center_vertical"
android:layout_marginLeft="20dp"
android:textColor="#999999"
android:textSize="12sp"
android:layout_marginRight="15dp"
tools:text="207.02.12"/>
<TextView
android:id="@+id/text_des"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/text_name"
android:gravity="center_vertical"
android:textSize="15sp"
android:layout_marginRight="15dp"
android:layout_alignLeft="@+id/text_name"
tools:text="老师切入点很好,讲解很认真"/>
<View
android:layout_width="match_parent"
android:layout_height="0.5dp"
android:layout_marginTop="15dp"
android:layout_below="@+id/text_des"
android:background="@color/color_F5F5F5"/>
</RelativeLayout>
\ No newline at end of file
......@@ -137,4 +137,6 @@
<color name="color_0D1A30">#0D1A30</color>
<color name="color_FDD33D">#FDD33D</color>
<color name="color_BFBFBF">#BFBFBF</color>
<color name="color_FF5040">#FF5040</color>
<color name="color_FFD814">#FFD814</color>
</resources>
\ No newline at end of file
......@@ -28,6 +28,7 @@ class PlayerFloatHelper {
//已添加悬浮窗页面全路径名
private var showingPageName: String? = null
private var wm: WindowManager? = null
var isCanClick = true
var playingType = PlayTypeEnum.PLAY_TYPE_NONE
var playTempData = hashMapOf<String,String>()
......
......@@ -117,7 +117,9 @@ class PlayerFloatView(var mContext: Context) : FrameLayout(mContext) {
updateViewPosition()
} else {
if (!isMove) {
PlayerFloatHelper.startPlayingActivity(context)
if (PlayerFloatHelper.isCanClick){
PlayerFloatHelper.startPlayingActivity(context)
}
}
}
isMove = false
......@@ -149,7 +151,9 @@ class PlayerFloatView(var mContext: Context) : FrameLayout(mContext) {
updateViewPosition()
} else {
if (!isMove) {
PlayerFloatHelper.startPlayingActivity(context)
if (PlayerFloatHelper.isCanClick){
PlayerFloatHelper.startPlayingActivity(context)
}
}
}
isMove = false
......@@ -181,7 +185,9 @@ class PlayerFloatView(var mContext: Context) : FrameLayout(mContext) {
updateViewPosition()
} else {
if (!isMove) {
PlayerFloatHelper.startPlayingActivity(context)
if (PlayerFloatHelper.isCanClick){
PlayerFloatHelper.startPlayingActivity(context)
}
}
}
isMove = false
......
......@@ -6,3 +6,4 @@ package com.ydl.ydlcommon.base.config
*/
const val YDL_DOMAIN = "Domain-Name:"
const val YDL_DOMAIN_JAVA = "JAVA_BASE_URL"
const val YDL_DOMAIN_COUPON_URL = "SERVER_COUPON_URL"
......@@ -21,7 +21,7 @@ class GlobalConfig private constructor(var builder: Builder) {
this.appDebug = builder.appDebug
}
fun initEnv(){
fun initEnv() {
builder.initEnv(BaseApp.instance)
}
......@@ -30,9 +30,9 @@ class GlobalConfig private constructor(var builder: Builder) {
private var okHttpClient: OkHttpClient? = null
var appFrom: String = YDLConstants.FROM_YDL
var appEnv: String = YDLConstants.ENV_PROD
var appBaseURL : String ? =null
var multipleUrl : HashMap<String,String> = hashMapOf()
var appDebug :Boolean = false
var appBaseURL: String? = null
var multipleUrl: HashMap<String, String> = hashMapOf()
var appDebug: Boolean = false
fun setOkHttpClient(okHttpClient: OkHttpClient) {
this.okHttpClient = okHttpClient
......@@ -42,7 +42,7 @@ class GlobalConfig private constructor(var builder: Builder) {
this.appBaseURL = baseURL
}
fun setDebug(isDebug:Boolean) {
fun setDebug(isDebug: Boolean) {
this.appDebug = isDebug
}
......@@ -77,16 +77,17 @@ class GlobalConfig private constructor(var builder: Builder) {
fun initEnv(context: Context) {
HttpConfig.getInstance().initEnv(context, appEnv)
val apiFactory = YDLHttpUtils
val apiFactory = YDLHttpUtils
.getInstance()
.init(context)
.config()
.setBaseUrl(appBaseURL?:HttpConfig.PHP_BASE_URL)
.setBaseUrl(appBaseURL ?: HttpConfig.PHP_BASE_URL)
.addUrl(YDL_DOMAIN_JAVA, HttpConfig.JAVA_BASE_URL)
.addUrl(YDL_DOMAIN_COUPON_URL, HttpConfig.SERVER_COUPON_URL)
.setMultipleUrlMap(multipleUrl)
if (okHttpClient == null) {
okHttpClient = HttpConfig.getInstance().createOkHttp(context, appFrom,appDebug)
okHttpClient = HttpConfig.getInstance().createOkHttp(context, appFrom, appDebug)
}
apiFactory.setOkClient(okHttpClient)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment