Commit b4d45d29 by 王佳洋

代码合规

parent eeba7f1c
......@@ -5,6 +5,8 @@ import android.content.Intent
import android.graphics.drawable.Drawable
import android.text.TextUtils
import android.view.ViewGroup
import android.widget.ImageView
import android.widget.TextView
import androidx.constraintlayout.widget.ConstraintLayout
import com.alibaba.android.arouter.facade.annotation.Route
import com.bumptech.glide.Glide
......@@ -21,8 +23,6 @@ import com.ydl.webview.NewH5Activity
import com.ydl.ydlcommon.base.BaseMvpActivity
import com.ydl.ydlcommon.bean.ShareData
import com.ydl.ydlcommon.data.PlatformDataManager
import com.ydl.ydlcommon.modular.ModularServiceManager
import com.ydl.ydlcommon.router.YdlUserInfo
import com.ydl.ydlcommon.utils.statusBar.StatusBarUtil
import com.ydl.ydlcommon.view.dialog.CommonDialog
import com.ydl.ydlcommon.view.dialog.YDLShareDialog
......@@ -35,12 +35,12 @@ import com.yidianling.course.bean.CourseExtraBean
import com.yidianling.course.coursePlay.presenter.AudioPlayPresenter
import com.yidianling.course.coursePlay.presenter.IAudioPlayContract
import com.yidianling.course.router.CourseIn
import com.yidianling.course.widget.AudioPlayView
import com.yidianling.course.widget.CourseListDialog
import com.yidianling.course.widget.CourseSpeedDialog
import com.yidianling.user.api.bean.UserResponseBean
import com.yidianling.ydl_pay.common.CommonPayDialog
import jp.wasabeef.glide.transformations.BlurTransformation
import kotlinx.android.synthetic.main.activity_audio_play.*
import java.util.*
/**
......@@ -53,6 +53,21 @@ class AudioPlayActivity : BaseMvpActivity<IAudioPlayContract.View, IAudioPlayCon
private var mCourseSpeedDialog: CourseSpeedDialog? = null
private var mCourseListDialog: CourseListDialog? = null
private lateinit var iv_back: ImageView
private lateinit var iv_share: ImageView
private lateinit var iv_pic: ImageView
private lateinit var iv_icon: ImageView
private lateinit var iv_detail: ImageView
private lateinit var iv_speed: ImageView
private lateinit var iv_list: ImageView
private lateinit var audio_play: AudioPlayView
private lateinit var tv_title: TextView
private lateinit var tv_name: TextView
private lateinit var tv_detail: TextView
private lateinit var tv_speed: TextView
private lateinit var tv_list: TextView
private lateinit var cl_bg: ConstraintLayout
override fun turnOnImmersiveStatusBar(): Boolean = true
override fun createPresenter(): IAudioPlayContract.Presenter = AudioPlayPresenter()
......@@ -76,9 +91,28 @@ class AudioPlayActivity : BaseMvpActivity<IAudioPlayContract.View, IAudioPlayCon
}
}
private fun findView() {
iv_back = findViewById(R.id.iv_back)
iv_share = findViewById(R.id.iv_share)
audio_play = findViewById(R.id.audio_play)
tv_title = findViewById(R.id.tv_title)
tv_name = findViewById(R.id.tv_name)
iv_pic = findViewById(R.id.iv_pic)
iv_icon = findViewById(R.id.iv_icon)
cl_bg = findViewById(R.id.cl_bg)
tv_detail = findViewById(R.id.tv_detail)
tv_speed = findViewById(R.id.tv_speed)
tv_list = findViewById(R.id.tv_list)
iv_detail = findViewById(R.id.iv_detail)
iv_speed = findViewById(R.id.iv_speed)
iv_list = findViewById(R.id.iv_list)
}
private fun initView() {
findView()
iv_back.run {
(layoutParams as? ViewGroup.MarginLayoutParams)?.topMargin = StatusBarUtil.getStatusBarHeight(this@AudioPlayActivity)
(layoutParams as? ViewGroup.MarginLayoutParams)?.topMargin =
StatusBarUtil.getStatusBarHeight(this@AudioPlayActivity)
setOnClickListener {
onBackPressed()
}
......@@ -100,11 +134,11 @@ class AudioPlayActivity : BaseMvpActivity<IAudioPlayContract.View, IAudioPlayCon
NewH5Activity.start(this, H5Params(url, ""))
}
override fun commonPayDialog(userInfo: YdlUserInfo, courseId: String) {
override fun commonPayDialog(userInfo: UserResponseBean.UserInfo, courseId: String) {
CommonPayDialog.Build(mContext)
.setCourseId(courseId)
.setToken(userInfo.token)
.setUid(userInfo.userId)
.setToken(userInfo.accessToken.orEmpty())
.setUid(userInfo.uid)
.setFfrom(PlatformDataManager.getRam().getChannelName())
.setListener(object : CommonPayDialog.OnPayResultListener {
override fun onSuccesed() {
......@@ -156,8 +190,6 @@ class AudioPlayActivity : BaseMvpActivity<IAudioPlayContract.View, IAudioPlayCon
setCallBack(object : YDLShareDialog.ICallBack {
override fun callBack(type: Int) {
if (1 == type) {
ModularServiceManager.getPlatformUserService()
if (CourseIn.loginByOneKeyLogin(this@AudioPlayActivity, true)) {
//分享到心事动态
val url =
......@@ -181,37 +213,39 @@ class AudioPlayActivity : BaseMvpActivity<IAudioPlayContract.View, IAudioPlayCon
@SuppressLint("SetTextI18n")
override fun updateView(bean: CourseExtraBean, from: Int) {
bean.let {
Glide.with(this)
.load(it.pic)
.load(bean.pic)
.transition(DrawableTransitionOptions.withCrossFade())
.apply(RequestOptions.bitmapTransform(BlurTransformation(5, 20)))
.into(object : ViewTarget<ConstraintLayout, Drawable>(cl_bg) {
override fun onResourceReady(resource: Drawable, transition: Transition<in Drawable>?) {
override fun onResourceReady(
resource: Drawable,
transition: Transition<in Drawable>?
) {
view.background = resource
}
})
Glide.with(this)
.load(it.pic)
.load(bean.pic)
.transition(DrawableTransitionOptions.withCrossFade())
.apply(RequestOptions.bitmapTransform(RoundedCorners(RxImageTool.dp2px(8f))))
.into(iv_pic)
Glide.with(this).load(it.doctorHead).error(R.drawable.course_head_place_hold_pic)
Glide.with(this).load(bean.doctorHead).error(R.drawable.course_head_place_hold_pic)
.into(iv_icon)
tv_title.text = mPresenter.getPlayList().elementAtOrNull(mPresenter.getPlayPosition())?.title.orEmpty()
tv_name.text = it.doctorName
tv_title.text =
mPresenter.getPlayList().elementAtOrNull(mPresenter.getPlayPosition())?.title.orEmpty()
tv_name.text = bean.doctorName
iv_icon.setOnClickListener { consultantClick() }
tv_name.setOnClickListener { consultantClick() }
tv_detail.setOnClickListener { _ -> detailClick(it) }
iv_detail.setOnClickListener { _ -> detailClick(it) }
tv_detail.setOnClickListener { _ -> detailClick(bean) }
iv_detail.setOnClickListener { _ -> detailClick(bean) }
tv_speed.setOnClickListener { speedClick() }
iv_speed.setOnClickListener { speedClick() }
tv_list.setOnClickListener { _ -> listClick(it) }
iv_list.setOnClickListener { _ -> listClick(it) }
tv_list.setOnClickListener { _ -> listClick(bean) }
iv_list.setOnClickListener { _ -> listClick(bean) }
tv_speed.text = "${audio_play.getSpeed()}X"
audio_play.setData(mPresenter.getPlayPosition(), mPresenter.convertToMusics(), from)
}
}
override fun setNonWifiTips(show: Boolean) {
audio_play.mNonWifiTips = show
......
......@@ -7,6 +7,7 @@ import com.ydl.media.view.PlayTypeEnum
import com.ydl.media.view.PlayerFloatHelper
import com.ydl.ydlcommon.data.http.BaseResponse
import com.ydl.ydlcommon.data.http.RxUtils
import com.ydl.ydlcommon.modular.findRouteService
import com.ydl.ydlcommon.mvp.base.BasePresenter
import com.ydl.ydlcommon.router.IYDLRouterConstant
import com.ydl.ydlcommon.router.YdlCommonRouterManager
......@@ -18,6 +19,7 @@ import com.yidianling.course.bean.CourseConsultant
import com.yidianling.course.bean.CourseMediaBean
import com.yidianling.course.bean.CourseMediaDetailBean
import com.yidianling.course.coursePlay.model.AudioPlayModelImpl
import com.yidianling.user.api.service.IUserService
import org.json.JSONException
import org.json.JSONObject
import java.util.*
......@@ -37,10 +39,9 @@ class AudioPlayPresenter : BasePresenter<IAudioPlayContract.View, IAudioPlayCont
override fun createModel(): IAudioPlayContract.Model = AudioPlayModelImpl()
override fun getParams(intent: Intent) {
intent.let {
if (it.hasExtra(ROUTER_PARAMS)) {
if (intent.hasExtra(ROUTER_PARAMS)) {
//路由传递的入参
val json = it.getStringExtra(ROUTER_PARAMS)
val json = intent.getStringExtra(ROUTER_PARAMS)
try {
val jsonObject = JSONObject(json)
//课程ID
......@@ -51,17 +52,16 @@ class AudioPlayPresenter : BasePresenter<IAudioPlayContract.View, IAudioPlayCont
return
}
//正常跳转所传参数
mCourseId = it.getIntExtra("course_id", 0)
mPlayUrl = it.getStringExtra("coursePlayUrl")
val isFromFloatView = it.getBooleanExtra("isFromFloatView", false)
mCourseId = intent.getIntExtra("course_id", 0)
mPlayUrl = intent.getStringExtra("coursePlayUrl")
val isFromFloatView = intent.getBooleanExtra("isFromFloatView", false)
mView.setNonWifiTips(!isFromFloatView)
mFrom = it.getIntExtra("from", 0)
mFrom = intent.getIntExtra("from", 0)
if (mCourseId == 0) {
ToastUtil.toastShort("参数错误")
mView.close()
}
}
}
override fun getNewIntent(intent: Intent) {
val courseId = intent.getIntExtra("course_id", 0)
......@@ -173,8 +173,8 @@ class AudioPlayPresenter : BasePresenter<IAudioPlayContract.View, IAudioPlayCont
ToastUtil.toastShort("请退出页面重试")
return
}
val userInfo = YdlCommonRouterManager.getYdlCommonRoute().getUserInfo()
if (userInfo == null || TextUtils.isEmpty(userInfo.userId)) {
val userInfo = findRouteService(IUserService::class.java).getUserInfo()
if (userInfo == null || TextUtils.isEmpty(userInfo.uid)) {
mView.loginByOneKeyLogin()
return
}
......@@ -214,7 +214,7 @@ class AudioPlayPresenter : BasePresenter<IAudioPlayContract.View, IAudioPlayCont
override fun showFloatView() {
if (mView.audioIsPlaying() && PlayerFloatHelper.playingType == PlayTypeEnum.PLAY_TYPE_COURSE) {
PlayerFloatHelper.playTempData.clear()
val hashMap = HashMap<String, String>()
val hashMap = hashMapOf<String, String>()
hashMap["course_id"] = mCourseId.toString()
hashMap["media_type"] = COURSE_AUDIO.toString()
PlayerFloatHelper.playTempData.putAll(hashMap)
......
......@@ -12,6 +12,7 @@ import com.yidianling.course.bean.CourseConsultant
import com.yidianling.course.bean.CourseExtraBean
import com.yidianling.course.bean.CourseMediaBean
import com.yidianling.course.bean.CourseMediaDetailBean
import com.yidianling.user.api.bean.UserResponseBean
import io.reactivex.Observable
import java.util.ArrayList
......@@ -37,7 +38,7 @@ interface IAudioPlayContract {
fun goToConsultantInfo(url: String)
fun commonPayDialog(userInfo: YdlUserInfo, courseId: String)
fun commonPayDialog(userInfo: UserResponseBean.UserInfo, courseId: String)
fun buyCourseTipDialog()
......
......@@ -6,7 +6,9 @@ import android.text.TextUtils
import android.util.AttributeSet
import android.view.View
import android.widget.FrameLayout
import android.widget.ImageView
import android.widget.SeekBar
import android.widget.TextView
import androidx.annotation.DrawableRes
import androidx.annotation.Nullable
import androidx.annotation.RawRes
......@@ -19,7 +21,6 @@ import com.ydl.media.view.PlayTypeEnum
import com.ydl.media.view.PlayerFloatHelper
import com.yidianling.common.tools.RxNetTool
import com.yidianling.course.R
import kotlinx.android.synthetic.main.audio_play_view.view.*
/**
* 音频播放UI
......@@ -32,9 +33,31 @@ class AudioPlayView(context: Context, attrs: AttributeSet?) :
var mNonWifiTips = true
var mListener: ((playPosition: Int) -> Boolean)? = null
private var iv_bg: ImageView
private var iv_rewind: ImageView
private var iv_fast_forward: ImageView
private var iv_pre: ImageView
private var iv_next: ImageView
private var iv_play_status: ImageView
private var seekbar: SeekBar
private var tv_progress: TextView
private var tv_duration: TextView
init {
AudioPlayer.get().addOnPlayEventListener(this)
View.inflate(context, R.layout.audio_play_view, this)
iv_bg = findViewById(R.id.iv_bg)
iv_rewind = findViewById(R.id.iv_rewind)
iv_fast_forward = findViewById(R.id.iv_fast_forward)
iv_pre = findViewById(R.id.iv_pre)
iv_next = findViewById(R.id.iv_next)
seekbar = findViewById(R.id.seekbar)
tv_progress = findViewById(R.id.tv_progress)
tv_duration = findViewById(R.id.tv_duration)
iv_play_status = findViewById(R.id.iv_play_status)
iv_bg.setOnClickListener {
if (AudioPlayer.get().isPlaying)
AudioPlayer.get().pausePlayer()
......@@ -186,15 +209,9 @@ class AudioPlayView(context: Context, attrs: AttributeSet?) :
val min = time / 60000
val ss = (time - min * 60000) / 1000
var m = "" + min
var s = "" + ss
if (min < 10) {
m = "0$m"
}
if (ss < 10) {
s = "0$ss"
}
return "$m:$s"
val m = "" + min
val s = "" + ss
return String.format("%02d:%02d", m, s)
}
override fun onDetachedFromWindow() {
......
......@@ -6,17 +6,17 @@ import android.view.Gravity
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.ImageView
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.ydl.media.audio.utils.PlayProgressUtil
import com.ydl.ydlcommon.base.BaseDialogFragment
import com.ydl.ydlcommon.utils.extend.gone
import com.ydl.ydlcommon.utils.extend.invisible
import com.ydl.ydlcommon.utils.extend.visible
import com.yidianling.common.view.ui.VoicePlayingIcon
import com.yidianling.course.R
import com.yidianling.course.bean.CourseMediaBean
import com.yidianling.course.coursePlay.presenter.IAudioPlayContract
import kotlinx.android.synthetic.main.dialog_course_list.*
import kotlinx.android.synthetic.main.item_course_playlist.view.*
/**
* 课程目录弹窗
......@@ -29,12 +29,14 @@ class CourseListDialog : BaseDialogFragment() {
private var mAdapter: CourseListDialog.CourseListAdapter? = null
private val mCourseList = mutableListOf<CourseMediaBean>()
private var mIsBuy = false
private lateinit var recycler_list: RecyclerView
override fun getLayoutResourceId(): Int = R.layout.dialog_course_list
override fun getGravity(): Int = Gravity.BOTTOM
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
context?.let { ctx ->
recycler_list = view.findViewById(R.id.recycler_list)
recycler_list.adapter = mAdapter ?: CourseListAdapter(ctx).also { mAdapter = it }
}
}
......@@ -57,14 +59,26 @@ class CourseListDialog : BaseDialogFragment() {
private val inflater: LayoutInflater = LayoutInflater.from(context)
) : RecyclerView.Adapter<CourseListAdapter.CourseListVH>() {
inner class CourseListVH(view: View) : RecyclerView.ViewHolder(view)
inner class CourseListVH(view: View) : RecyclerView.ViewHolder(view) {
var voice_play: VoicePlayingIcon
var iv_play: ImageView
var iv_audition: ImageView
var tv_title: TextView
init {
voice_play = view.findViewById(R.id.voice_play)
iv_play = view.findViewById(R.id.iv_play)
iv_audition = view.findViewById(R.id.iv_audition)
tv_title = view.findViewById(R.id.tv_title)
}
}
override fun onCreateViewHolder(p0: ViewGroup, itemType: Int): CourseListVH =
CourseListVH(inflater.inflate(R.layout.item_course_playlist, p0, false))
override fun onBindViewHolder(vh: CourseListVH, position: Int) {
mCourseList.elementAtOrNull(position)?.let { bean ->
vh.itemView.run {
vh.run {
if (mCurrentPosition == position) {
voice_play.visible()
voice_play.start()
......@@ -86,7 +100,7 @@ class CourseListDialog : BaseDialogFragment() {
iv_audition.visibility = if (bean.isDemo) View.VISIBLE else View.GONE // 试听标签
tv_title.text = bean.title
setOnClickListener {
itemView.setOnClickListener {
if (mCurrentPosition == position) {
dismissAllowingStateLoss()
return@setOnClickListener
......
......@@ -6,12 +6,10 @@ import android.view.Gravity
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.DialogFragment
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.ydl.ydlcommon.base.BaseDialogFragment
import com.yidianling.course.R
import kotlinx.android.synthetic.main.dialog_course_speed.*
import kotlinx.android.synthetic.main.item_course_speed.view.*
/**
* 课程倍速dialog
......@@ -24,11 +22,16 @@ class CourseSpeedDialog : BaseDialogFragment() {
private var mOldPosition = -1
private var mCurrentPosition = 2
private lateinit var recycler_list: RecyclerView
private lateinit var tv_cancel: TextView
override fun getLayoutResourceId(): Int = R.layout.dialog_course_speed
override fun getGravity(): Int = Gravity.BOTTOM
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
context?.let {
recycler_list = view.findViewById(R.id.recycler_list)
tv_cancel = view.findViewById(R.id.tv_cancel)
if (null == mAdapter) mAdapter = CourseSpeedAdapter(it)
recycler_list.adapter = mAdapter
tv_cancel.setOnClickListener {
......@@ -46,13 +49,18 @@ class CourseSpeedDialog : BaseDialogFragment() {
private val inflater: LayoutInflater = LayoutInflater.from(context)
) : RecyclerView.Adapter<CourseSpeedAdapter.CourseSpeedVH>() {
inner class CourseSpeedVH(view: View) : RecyclerView.ViewHolder(view)
inner class CourseSpeedVH(view: View) : RecyclerView.ViewHolder(view) {
var tv_speed: TextView
init {
tv_speed = view.findViewById(R.id.tv_speed)
}
}
override fun onCreateViewHolder(viewGroup: ViewGroup, itemType: Int): CourseSpeedVH =
CourseSpeedVH(inflater.inflate(R.layout.item_course_speed, viewGroup, false))
override fun onBindViewHolder(vh: CourseSpeedVH, position: Int) {
vh.itemView.let {
vh.let {
mSpeedList.elementAtOrNull(position)?.let { speed ->
it.tv_speed.run {
setTextColor(resources.getColor(if (position == mCurrentPosition) R.color.color_1DA1F2 else R.color.color_1C1F28))
......
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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="match_parent"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:background="#9F998F">
<ImageView
android:id="@+id/iv_rewind"
android:layout_width="30dp"
android:layout_height="30dp"
app:layout_constraintTop_toTopOf="parent"
android:src="@drawable/course_rewind_15"
app:layout_constraintStart_toStartOf="parent"
android:src="@drawable/course_rewind_15"/>
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/iv_fast_forward"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:layout_width="30dp"
android:layout_height="30dp"
android:src="@drawable/course_fast_forward_15"/>
android:src="@drawable/course_fast_forward_15"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<SeekBar
android:id="@+id/seekbar"
android:layout_width="0dp"
android:paddingStart="10dp"
android:paddingEnd="10dp"
android:layout_height="wrap_content"
app:layout_constraintStart_toEndOf="@id/iv_rewind"
app:layout_constraintEnd_toStartOf="@id/iv_fast_forward"
app:layout_constraintTop_toTopOf="@id/iv_rewind"
app:layout_constraintBottom_toBottomOf="@id/iv_rewind"
android:maxHeight="3dp"
android:minHeight="3dp"
android:paddingStart="10dp"
android:paddingEnd="10dp"
android:progress="0"
android:progressDrawable="@drawable/course_seekbar"
android:thumb="@drawable/course_seekbar_dot"
android:progress="0" />
app:layout_constraintBottom_toBottomOf="@id/iv_rewind"
app:layout_constraintEnd_toStartOf="@id/iv_fast_forward"
app:layout_constraintStart_toEndOf="@id/iv_rewind"
app:layout_constraintTop_toTopOf="@id/iv_rewind" />
<TextView
android:id="@+id/tv_progress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:text="00:00"
android:textColor="@android:color/white"
android:textSize="12sp"
app:layout_constraintStart_toStartOf="@id/seekbar"
app:layout_constraintTop_toBottomOf="@id/seekbar"
android:textColor="@android:color/white"/>
tools:text="00:00" />
<TextView
android:id="@+id/tv_duration"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:text="00:00"
android:textColor="@android:color/white"
android:textSize="12sp"
app:layout_constraintEnd_toEndOf="@id/seekbar"
app:layout_constraintTop_toBottomOf="@id/seekbar"
android:textColor="@android:color/white"/>
tools:text="00:00" />
<androidx.constraintlayout.utils.widget.ImageFilterView
android:id="@+id/iv_bg"
android:layout_width="66dp"
android:layout_height="66dp"
app:roundPercent="1"
android:layout_marginTop="20dp"
app:layout_constraintTop_toBottomOf="@id/tv_progress"
app:layout_constraintStart_toStartOf="parent"
android:background="@android:color/white"
app:layout_constraintEnd_toEndOf="parent"
android:background="@android:color/white"/>
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_progress"
app:roundPercent="1" />
<ImageView
android:id="@+id/iv_play_status"
android:layout_width="30dp"
android:layout_height="30dp"
app:layout_constraintTop_toTopOf="@id/iv_bg"
app:layout_constraintBottom_toBottomOf="@id/iv_bg"
app:layout_constraintStart_toStartOf="@id/iv_bg"
app:layout_constraintEnd_toEndOf="@id/iv_bg"
tools:src="@drawable/course_play"/>
app:layout_constraintStart_toStartOf="@id/iv_bg"
app:layout_constraintTop_toTopOf="@id/iv_bg"
tools:src="@drawable/course_play" />
<ImageView
android:id="@+id/iv_pre"
android:layout_width="48dp"
android:layout_height="48dp"
android:padding="12dp"
android:layout_marginEnd="36dp"
app:layout_constraintTop_toTopOf="@id/iv_bg"
android:padding="12dp"
android:src="@drawable/course_pre"
app:layout_constraintBottom_toBottomOf="@id/iv_bg"
app:layout_constraintEnd_toStartOf="@id/iv_bg"
android:src="@drawable/course_pre"/>
app:layout_constraintTop_toTopOf="@id/iv_bg" />
<ImageView
android:id="@+id/iv_next"
android:layout_width="48dp"
android:layout_height="48dp"
android:padding="12dp"
android:layout_marginStart="36dp"
app:layout_constraintStart_toEndOf="@id/iv_bg"
app:layout_constraintTop_toTopOf="@id/iv_bg"
android:padding="12dp"
android:src="@drawable/course_next"
app:layout_constraintBottom_toBottomOf="@id/iv_bg"
android:src="@drawable/course_next"/>
app:layout_constraintStart_toEndOf="@id/iv_bg"
app:layout_constraintTop_toTopOf="@id/iv_bg" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
......@@ -2,11 +2,11 @@
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/tv_speed"
android:textColor="@color/color_1C1F28"
tools:text="2.0"
android:gravity="center"
android:textSize="16sp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:paddingTop="16dp"
android:paddingBottom="16dp" />
\ No newline at end of file
android:paddingBottom="16dp"
android:textColor="@color/color_1C1F28"
android:textSize="16sp"
tools:text="2.0" />
\ No newline at end of file
......@@ -4,7 +4,6 @@ import android.app.Activity
import android.content.res.Resources
import android.graphics.Color
import android.os.Bundle
import android.os.Handler
import android.util.Log
import android.view.View
import android.view.ViewGroup
......@@ -224,9 +223,6 @@ abstract class BaseActivity : AppCompatActivity(), IActivityLifecycleable {
transaction.add(it, tag)
}
transaction.commitAllowingStateLoss()
Handler().postDelayed({
supportFragmentManager.findFragmentByTag(tag)
}, 5000)
}
}
......
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