Commit 6b4d7adb by konghaorui
parents 84d3e612 0490b409
......@@ -43,9 +43,9 @@ ext {
// -------------- 业务模块 --------------
//第三步 若干
"m-confide" : "0.0.18",
"m-consultant" : "0.0.26",
"m-course" : "0.0.16",
"m-fm" : "0.0.14",
"m-consultant" : "0.0.27",
"m-course" : "0.0.21",
"m-fm" : "0.0.15",
"m-muse" : "0.0.11",
"m-tests" : "0.0.10",
"m-user" : "0.0.30",
......@@ -80,8 +80,8 @@ ext {
//第三步 若干
"m-confide" : "0.0.15",
"m-consultant" : "0.0.26",
"m-course" : "0.0.16",
"m-fm" : "0.0.11",
"m-course" : "0.0.17",
"m-fm" : "0.0.15",
"m-muse" : "0.0.7",
"m-tests" : "0.0.4",
"m-user" : "0.0.25",
......
......@@ -255,10 +255,29 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
// })
image_scroll_top.setOnClickListener(this)
// initStatus()
}
override fun setUserVisibleHint(isVisibleToUser: Boolean) {
super.setUserVisibleHint(isVisibleToUser)
if (isVisibleToUser && isResumed) {
showConsultAssistantDialog()
}else {
hideConsultAssistantDialog()
}
if (isVisibleToUser && isResumed) {
onResume()
}
}
private fun showConsultAssistantDialog() {
ConsultAssistantDialogUtils.INSTANCE.fitRequest(activity, "doctor_list")
}
private fun hideConsultAssistantDialog() {
ConsultAssistantDialogUtils.INSTANCE.hide()
}
private fun initNetLossView() {
v_loading.setListener(object : LogoLoadingView.LogoLoadingListener {
override fun onDataResetClick() {
......@@ -909,11 +928,11 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
} else {
updateFilterTextViewStatus(tvFilter, FILTER_STATUS_NORMAL)
}
ConsultAssistantDialogUtils.INSTANCE.fitRequest(activity, "doctor_list")
showConsultAssistantDialog()
}
filterPopupWindow.isClippingEnabled = false
filterPopupWindow.showAtLocation(viewSep2.rootView, Gravity.TOP + Gravity.RIGHT, 0, 0)
ConsultAssistantDialogUtils.INSTANCE.hide()
hideConsultAssistantDialog()
filterPopupWindow.onFilterConfirmListener = this
updateFilterTextViewStatus(tvFilter, FILTER_STATUS_OPEN)
// viewDim.visibility = View.VISIBLE
......
......@@ -6,6 +6,7 @@ import com.yidianling.common.tools.ToastUtil
import com.yidianling.consultant.dialog.ConsultAssistantDialog
import com.yidianling.consultant.model.SearchApi
import com.yidianling.consultant.router.ConsultantIn
import com.yidianling.consultant.router.ConsultantRouterImp
import io.reactivex.Observable
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.schedulers.Schedulers
......@@ -35,14 +36,12 @@ class ConsultAssistantDialogUtils private constructor() {
"home_index" -> {
if (ConsultantIn.isLogin() &&
ConsultantIn.getUserImpl().getUserInfo()?.user_type == 1
/** WalleChannelReader.getChannel(BaseApp.Companion.getApp()) == "android_huawei" */
) {
shouldShowDialog(activity, origin)
}
}
"doctor_list" -> {
if (ConsultantIn.getUserImpl().getUserInfo()?.user_type == 1
/** WalleChannelReader.getChannel(BaseApp.Companion.getApp()) == "android_huawei" */
) {
shouldShowDialog(activity, origin)
}
......@@ -109,8 +108,8 @@ class ConsultAssistantDialogUtils private constructor() {
override fun run() {
Observable.just(1).observeOn(AndroidSchedulers.mainThread())
.subscribe {
showDialog(activity)
expertSearchPageHasShown = true
showDialog(activity)
}
}
}, 5000)
......@@ -127,8 +126,13 @@ class ConsultAssistantDialogUtils private constructor() {
consultAssistantDialog = null
consultAssistantDialog = ConsultAssistantDialog(activity, object : ConsultAssistantDialog.OnConsultAssistantClickListener {
override fun onClickAction() {
//获取用户uid
getConsultAssistantUid(activity)
// 咨询师列表页面且未登录情况下,跳转登录页面
if (expertSearchPageHasShown && !ConsultantIn.isLogin()) {
ConsultantIn.toLogin(activity)
}else {
//获取用户uid
getConsultAssistantUid(activity)
}
}
})
......
......@@ -36,4 +36,8 @@ object ConsultantIn {
return ModularServiceManager.provide(IUserService::class.java)
}
fun toLogin(activity: Activity) {
ModularServiceManager.provide(IUserService::class.java).loginWayIntent(activity)
}
}
\ No newline at end of file
......@@ -36,5 +36,12 @@ public class CourseHomeBodyBean {
public String originalApplyFee;
public boolean isBuy;
public String demoFile;
/**
* 活动图标
*/
public String activityImg;
/**
* 是否参加活动
*/
public String joinActivity;
}
......@@ -28,4 +28,12 @@ public class CourseHostInfoBean {
public String askTotalTime;
public String helpLong;
public ShareData shareData;
/**
* 活动图标
*/
public String activityImg;
/**
* 是否参加活动
*/
public String joinActivity;
}
......@@ -129,7 +129,6 @@ class CourseListContainerActivity : BaseActivity(), PtrHandler, LoadMoreHandler
search_view.setTextTitle("搜索")
init()
loadData()
initCouponHintView()
setClick()
......@@ -195,7 +194,8 @@ class CourseListContainerActivity : BaseActivity(), PtrHandler, LoadMoreHandler
NewH5Activity.start(this@CourseListContainerActivity, h5Params)
}
}
getData(false)
loadData()
}
/**
......@@ -225,6 +225,9 @@ class CourseListContainerActivity : BaseActivity(), PtrHandler, LoadMoreHandler
}
}
}
getData(false)
if (selectedCourseList.size > 0) {
classify_layout.typeface = Typeface.defaultFromStyle(Typeface.BOLD)
classify_layout.setTextColor(
......@@ -536,12 +539,17 @@ class CourseListContainerActivity : BaseActivity(), PtrHandler, LoadMoreHandler
iv_course_list_empty_view.visibility = View.GONE
v_loading.visibility = View.GONE
} else {
lv_content.visibility = View.GONE
tv_course_list_empty_prompt.visibility = View.VISIBLE
iv_course_list_empty_view.visibility = View.VISIBLE
iv_course_list_empty_view.setImageResource(R.drawable.course_blank)
tv_course_list_empty_prompt.text = "还没有相应的课程哦~"
v_loading.visibility = View.GONE
if (adapter!!.count > 0) {
// hasMore = false
load_more_list_view_container.loadMoreFinish(false, false)
} else {
lv_content.visibility = View.GONE
tv_course_list_empty_prompt.visibility = View.VISIBLE
iv_course_list_empty_view.visibility = View.VISIBLE
iv_course_list_empty_view.setImageResource(R.drawable.course_blank)
tv_course_list_empty_prompt.text = "还没有相应的课程哦~"
v_loading.visibility = View.GONE
}
}
}, { throwable ->
v_loading.visibility = View.GONE
......
......@@ -497,7 +497,6 @@ class CoursePlayActivity : BaseActivity() {
}
fun showLoadingDialog() {
showProgressDialog(null)
}
......@@ -636,14 +635,11 @@ class CoursePlayActivity : BaseActivity() {
AudioPlayer.get().playMusic?.coverPath = courPlayBean?.courseExtra?.pic
AudioPlayer.get().playMusic?.artist = courPlayBean?.courseExtra?.doctorName
PlayerFloatHelper.playTempData.clear()
val hashMap = HashMap<String, String>()
hashMap["course_id"] = course_id.toString()
PlayerFloatHelper.playTempData.putAll(hashMap)
// PlayerFloatHelper.show(
// this,
// playTypeEnum = PlayTypeEnum.PLAY_TYPE_COURSE,
// playData = hashMap
// )
}
......@@ -655,14 +651,6 @@ class CoursePlayActivity : BaseActivity() {
var status = Utils.getValue(videoView, "status")
//视频课程正在播放中
if (status == PlayStateParams.STATE_PLAYING) {
//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()
VideoFloatHelper.setVideoInfo(
course_id.toString(),
......@@ -702,9 +690,9 @@ class CoursePlayActivity : BaseActivity() {
}
override fun onDestroy() {
super.onDestroy()
videoView?.onDestroy()
play_view?.onDestroy()
play_view = null
super.onDestroy()
}
}
......@@ -187,14 +187,7 @@ class CoursePlayItemViewAudio : RelativeLayout, PlayViewInterface {
}
override fun onDestroy() {
//释放播放器
if (AudioPlayer.get().isPlaying) {
playView?.onDestroy()
playView = null
AudioPlayer.get().stopPlayer()
} else {
playView?.onDestroy()
playView = null
}
playView?.onDestroy()
playView = null
}
}
\ No newline at end of file
......@@ -12,6 +12,7 @@ import com.ydl.media.audio.utils.PlayProgressUtil
import com.ydl.media.view.PlayTypeEnum
import com.ydl.media.view.PlayerFloatHelper
import com.ydl.ydl_image.module.GlideApp
import com.ydl.ydlcommon.utils.LogUtil
import com.ydl.ydlcommon.view.dialog.CommonDialog
import com.yidianling.course.R
import com.yidianling.course.bean.CourseExtraBean
......@@ -173,7 +174,7 @@ class CoursePlayItemViewVideo : RelativeLayout, PlayViewInterface {
.forbidTouch(false)
.setOnInfoListener(object : IMediaPlayer.OnInfoListener {
override fun onInfo(mp: IMediaPlayer, what: Int, extra: Int): Boolean {
LogUtil.e("课程播放--状态-$what")
if (what == PlayStateParams.STATE_PAUSED) {
this@CoursePlayItemViewVideo.findViewById<View>(R.id.rl_play_pause_layout).visibility = View.VISIBLE
} else {
......@@ -187,13 +188,12 @@ class CoursePlayItemViewVideo : RelativeLayout, PlayViewInterface {
|| what == PlayStateParams.MEDIA_INFO_AUDIO_RENDERING_START
|| what == PlayStateParams.MEDIA_INFO_VIDEO_RENDERING_START
|| what == PlayStateParams.STATE_PLAYING
|| what == IMediaPlayer.MEDIA_INFO_VIDEO_SEEK_RENDERING_START
) {
activity?.isVideoPlay = true
this@CoursePlayItemViewVideo.findViewById<View>(R.id.ll_bg).visibility = View.GONE
} else {
mHandler.postDelayed({
this@CoursePlayItemViewVideo.findViewById<View>(R.id.ll_bg).visibility = View.VISIBLE
}, 550)
this@CoursePlayItemViewVideo.findViewById<View>(R.id.ll_loading).visibility = View.GONE
this@CoursePlayItemViewVideo.findViewById<View>(R.id.app_video_loading).visibility = View.GONE
}
if (what == PlayStateParams.STATE_COMPLETED) {
......
......@@ -17,6 +17,7 @@ import com.ydl.ydlcommon.base.BaseActivity
import com.ydl.ydlcommon.bean.ShareData
import com.ydl.ydlcommon.data.http.ThrowableConsumer
import com.ydl.ydlcommon.router.IYDLRouterConstant
import com.yidianling.common.tools.RxKeyboardTool
import com.yidianling.common.tools.ToastUtil
import com.yidianling.course.CourseConstants
import com.yidianling.course.R
......@@ -96,21 +97,27 @@ class CourseSearchActivity : BaseActivity(), CourseSearchAdapter.OnItemClick, IC
private fun initSearchBar() {
window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE)
activity_course_search_search_bar_view.initBarType(SearchBarView.ENABLE_INPUT, object : SearchBarView.SearchCallBack {
override fun cloase() {
finish()
}
activity_course_search_search_bar_view.initBarType(
SearchBarView.ENABLE_INPUT,
object : SearchBarView.SearchCallBack {
override fun cloase() {
finish()
}
override fun clickSearchBtn(str: String) {
inputString = str
if (TextUtils.isEmpty(str)) {
override fun clickSearchBtn(str: String) {
inputString = str
if (TextUtils.isEmpty(str)) {
// showUnusualView("请输入要搜索的内容")
ToastUtil.toastShort("请输入要搜索的内容")
return
ToastUtil.toastShort("请输入要搜索的内容")
return
}
loadCourseList(true)
}
loadCourseList(true)
}
})
})
activity_course_search_search_bar_view.postDelayed({
RxKeyboardTool.showSoftInput(this, activity_course_search_search_bar_view.getEditText())
},500)
}
/**
......@@ -127,23 +134,29 @@ class CourseSearchActivity : BaseActivity(), CourseSearchAdapter.OnItemClick, IC
*/
private fun initRecyclerView() {
if (null == courseSearchAdapterWrapper) {
courseSearchAdapter = CourseSearchAdapter(this, CourseSearchActicity@ this, courseList!!)
courseSearchAdapter =
CourseSearchAdapter(this, CourseSearchActicity@ this, courseList!!)
courseSearchAdapter!!.setOnItemClickListener(this)
activity_course_search_recycler.layoutManager = LinearLayoutManager(this)
courseSearchAdapterWrapper = CourseSearchAdapterWrapper(
this,
courseSearchAdapter!!,
20,
activity_course_search_recycler)
.setOnLoadMoreListener(object : CourseSearchAdapterWrapper.OnLoadMoreListener {
override fun onLoadMore() {
loadCourseList(false)
}
})
this,
courseSearchAdapter!!,
20,
activity_course_search_recycler
)
.setOnLoadMoreListener(object : CourseSearchAdapterWrapper.OnLoadMoreListener {
override fun onLoadMore() {
loadCourseList(false)
}
})
activity_course_search_recycler.adapter = courseSearchAdapterWrapper
//滑动监听 图片是否加载
activity_course_search_recycler.addOnScrollListener(YDLImageRecyclerOnScrollListener(CourseSearchActicity@ this))
activity_course_search_recycler.addOnScrollListener(
YDLImageRecyclerOnScrollListener(
CourseSearchActicity@ this
)
)
loadCourseList(true)
}
}
......@@ -156,7 +169,12 @@ class CourseSearchActivity : BaseActivity(), CourseSearchAdapter.OnItemClick, IC
if (null != courseItem) {
val h5Params = H5Params(CourseConstants.COURSE_DETAIL_H5 + courseItem.id, "课程详情")
if (null != courseItem.share && !TextUtils.isEmpty(courseItem.share.share_url)) {
val shareData = ShareData(courseItem.share.share_url, courseItem.share.title, courseItem.share.cover, courseItem.share.desc)
val shareData = ShareData(
courseItem.share.share_url,
courseItem.share.title,
courseItem.share.cover,
courseItem.share.desc
)
h5Params.shareData = shareData
}
......@@ -200,36 +218,36 @@ class CourseSearchActivity : BaseActivity(), CourseSearchAdapter.OnItemClick, IC
}
CourseSearchApiUtils.courseSearchList(nowPage, inputString)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(Consumer {
if (it.data.list.isNotEmpty()) {
hideUnusualPage()
if (type) {
courseList.clear()
courseList.addAll(it.data.list)
courseSearchAdapterWrapper!!.notifyDataSetChanged()
} else {
courseList.addAll(it.data.list)
courseSearchAdapterWrapper!!.insertData()
}
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(Consumer {
if (it.data.list.isNotEmpty()) {
hideUnusualPage()
if (type) {
courseList.clear()
courseList.addAll(it.data.list)
courseSearchAdapterWrapper!!.notifyDataSetChanged()
} else {
courseList.addAll(it.data.list)
courseSearchAdapterWrapper!!.insertData()
}
} else {
if (!type) {
courseSearchAdapterWrapper!!.noMoreData()
} else {
if (!type) {
courseSearchAdapterWrapper!!.noMoreData()
} else {
showUnusualView("没有搜到相关信息,换个关键词看看吧", true)
}
showUnusualView("没有搜到相关信息,换个关键词看看吧", true)
}
}
activity_course_search_swipe_refresh_layout.isRefreshing = false
}, object : ThrowableConsumer() {
override fun accept(msg: String) {
Log.i("testtest", msg)
activity_course_search_swipe_refresh_layout.isRefreshing = false
}, object : ThrowableConsumer() {
override fun accept(msg: String) {
Log.i("testtest", msg)
activity_course_search_swipe_refresh_layout.isRefreshing = false
showUnusualView("请检查你的网络设置", false)
}
})
showUnusualView("请检查你的网络设置", false)
}
})
}
/**
......
......@@ -190,6 +190,7 @@ class CoursePlugin : MethodChannel.MethodCallHandler {
if (demoType == 1) {
music.path = url
PlayerFloatHelper.playTempData.clear()
val hashMap = HashMap<String, String>()
hashMap["course_id"] = fileInfo["courseId"].toString()
AudioPlayer.get().singlePlay(music)
......
......@@ -3,6 +3,7 @@ package com.yidianling.course.lifeCallback
import android.app.Activity
import android.app.Application
import android.os.Bundle
import android.text.TextUtils
import com.ydl.media.audio.AudioPlayer
import com.ydl.media.view.PlayTypeEnum
import com.ydl.media.view.PlayerFloatHelper
......@@ -26,7 +27,12 @@ class CoursePlayLifecycle : Application.ActivityLifecycleCallbacks {
AudioPlayer.get().stopPlayer()
} else {
PlayerFloatHelper.showIfPlaying(activity!!)
PlayerFloatHelper.playingType = PlayTypeEnum.PLAY_TYPE_COURSE
if (!TextUtils.isEmpty(PlayerFloatHelper.playTempData["course_id"])) {
PlayerFloatHelper.playingType = PlayTypeEnum.PLAY_TYPE_COURSE
}
if (!TextUtils.isEmpty(PlayerFloatHelper.playTempData["fmId"])) {
PlayerFloatHelper.playingType = PlayTypeEnum.PLAY_TYPE_FM
}
}
}
......
......@@ -20,7 +20,6 @@ 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.common.tools.ToastUtil
import com.yidianling.course.CourseConstants
......@@ -73,10 +72,19 @@ class CourseItemNewView : ConstraintLayout {
}
GlideApp.with(mContext)
.load(headUrl)
.into(iv_head)
.load(headUrl)
.into(iv_head)
//活动标签
if(!TextUtils.isEmpty(course.courseHostInfo?.activityImg)){
img_activity.visibility = View.VISIBLE
GlideApp.with(context).load(course.courseHostInfo?.activityImg).into(img_activity)
tv_title.text = "\u3000\u3000\u3000\u0020"+course.title
}else{
img_activity.visibility = View.GONE
tv_title.text = course.title
}
tv_title.text = course.title
if (!TextUtils.isEmpty(course.doctorName)) {
doctorName = course.doctorName
} else {
......@@ -136,15 +144,22 @@ class CourseItemNewView : ConstraintLayout {
iv_play.setOnClickListener {
playMedia()
ActionCountUtils.count(CourseBIConstants.CourseListEvent.POSITION_COURSE_LIST_AUDITION_CLICK, course.id)
ActionCountUtils.count(
CourseBIConstants.CourseListEvent.POSITION_COURSE_LIST_AUDITION_CLICK,
course.id
)
}
tv_view_course.setOnClickListener {
if (TextUtils.equals(course.courseType, "1") || TextUtils.equals(course.courseType, "7") || TextUtils.equals(course.courseType, "6")) {
if (TextUtils.equals(course.courseType, "1") || TextUtils.equals(
course.courseType,
"7"
) || TextUtils.equals(course.courseType, "6")
) {
ARouter.getInstance()
.build("/course/play")
.withInt("course_id", course.id.toInt())
.navigation()
.build("/course/play")
.withInt("course_id", course.id.toInt())
.navigation()
} else {
val h5Params = H5Params(CourseConstants.COURSE_DETAIL_H5 + course.id, "课程详情")
NewH5Activity.start(mContext, h5Params)
......@@ -164,7 +179,11 @@ class CourseItemNewView : ConstraintLayout {
}
}
if (TextUtils.equals("1", course.isPromotion) || TextUtils.equals("3", course.isPromotion)) {
if (TextUtils.equals("1", course.isPromotion) || TextUtils.equals(
"3",
course.isPromotion
)
) {
tv_cu_xiao.visibility = View.VISIBLE
if (TextUtils.equals("1", course.isPromotion)) {
if (course.promotionApplyFee.contains(".")) {
......@@ -181,7 +200,11 @@ class CourseItemNewView : ConstraintLayout {
if (course.isBuy) {
tv_view_course.visibility = View.VISIBLE
if (TextUtils.equals(course.courseType, "1") || TextUtils.equals(course.courseType, "7") || TextUtils.equals(course.courseType, "6")) {
if (TextUtils.equals(course.courseType, "1") || TextUtils.equals(
course.courseType,
"7"
) || TextUtils.equals(course.courseType, "6")
) {
tv_view_course.text = "立即听课"
} else {
tv_view_course.text = "查看课程"
......@@ -201,7 +224,14 @@ class CourseItemNewView : ConstraintLayout {
tv_price_decimal.visibility = View.VISIBLE
if (TextUtils.isEmpty(course.originalApplyFee) || TextUtils.equals(course.originalApplyFee, "0") || TextUtils.equals(course.originalApplyFee, "0.0") || TextUtils.equals(course.originalApplyFee, "0.00")) {
if (TextUtils.isEmpty(course.originalApplyFee) || TextUtils.equals(
course.originalApplyFee,
"0"
) || TextUtils.equals(
course.originalApplyFee,
"0.0"
) || TextUtils.equals(course.originalApplyFee, "0.00")
) {
tv_original_price.visibility = View.GONE
} else {
tv_original_price.visibility = View.VISIBLE
......@@ -221,20 +251,19 @@ class CourseItemNewView : ConstraintLayout {
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
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
if (course.demoType == 1) {
PlayerFloatHelper.playingType=PlayTypeEnum.PLAY_TYPE_COURSE
music.path=course.demoFile
music.path = course.demoFile
val hashMap = HashMap<String, String>()
hashMap["course_id"] =course.id.toString()
PlayerFloatHelper.playTempData.clear()
hashMap["course_id"] = course.id.toString()
AudioPlayer.get().singlePlay(music)
PlayerFloatHelper.show(
mContext,
......
......@@ -249,8 +249,8 @@ class HPlayView : RelativeLayout, OnPlayerEventListener {
}
fun onDestroy() {
AudioPlayer.get().removeOnPlayEventListener(this)
mContext = null
mHandler = null
AudioPlayer.get().removeOnPlayEventListener(this)
}
}
\ No newline at end of file
......@@ -9,6 +9,7 @@ import android.util.AttributeSet
import android.view.Gravity
import android.view.View
import android.view.inputmethod.InputMethodManager
import android.widget.EditText
import android.widget.LinearLayout
import android.widget.TextView
import com.ydl.ydl_router.manager.YDLRouterManager
......@@ -157,6 +158,11 @@ class SearchBarView : LinearLayout {
searchCallBack = mSearchCallback
}
fun getEditText():EditText{
return common_search_bar_edit_text
}
interface SearchCallBack {
fun clickSearchBtn(str: String) //设置监听(跳转逻辑已在组件内部实现,该方法主要用于回调点击键盘搜索按钮事件)
......
......@@ -51,7 +51,7 @@
android:background="@drawable/course_filter_select_nor"
android:gravity="center"
android:orientation="vertical"
android:text="免费"
android:text="10元体验"
android:textColor="@color/course_color_242424"
android:textSize="14dp" />
......
......@@ -85,30 +85,38 @@
<!--加载中-->
<LinearLayout
android:id="@+id/app_video_loading"
android:id="@+id/ll_loading"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
android:visibility="gone">
<ProgressBar
android:layout_width="50dp"
android:layout_height="50dp"
android:indeterminateBehavior="repeat"
android:indeterminateOnly="true" />
android:visibility="visible">
<TextView
android:id="@+id/app_video_speed"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
<LinearLayout
android:id="@+id/app_video_loading"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="188Kb/s"
android:textColor="@android:color/white"
android:visibility="gone" />
android:orientation="vertical"
android:visibility="gone">
<ProgressBar
android:layout_width="50dp"
android:layout_height="50dp"
android:indeterminateBehavior="repeat"
android:indeterminateOnly="true" />
<TextView
android:id="@+id/app_video_speed"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:gravity="center"
android:text="188Kb/s"
android:textColor="@android:color/white"
android:visibility="gone" />
</LinearLayout>
</LinearLayout>
<!-- 中间触摸提示-->
<include
layout="@layout/simple_player_touch_gestures"
......
......@@ -82,6 +82,14 @@
app:layout_constraintTop_toTopOf="@+id/iv_head"
tools:text="走出余光恐惧,一位余光恐惧者的亲诉一位余光恐惧者的亲诉一位余光恐惧者的亲诉一位余光恐惧者的亲诉"/>
<ImageView
android:id="@+id/img_activity"
android:layout_width="47dp"
android:layout_height="15dp"
android:layout_marginTop="3.3dp"
app:layout_constraintTop_toTopOf="@+id/tv_title"
app:layout_constraintLeft_toLeftOf="@+id/tv_title"
android:visibility="gone"/>
<TextView
android:id="@+id/tv_doctor_info"
android:layout_width="0dp"
......
......@@ -416,6 +416,7 @@ public class FMDetailActivity extends BaseActivity implements View.OnClickListen
}
LogUtil.d("fmDetail.id not equal " + fmDetail.getId());
HashMap<String,String> map = new HashMap();
PlayerFloatHelper.Companion.getPlayTempData().clear();
map.put("fmId", String.valueOf(fmDetail.getId()));
map.put("fmTitle", String.valueOf(fmDetail.getTitle()));
map.put("fmAuthor", String.valueOf(fmDetail.getAuthor()));
......
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