Commit 4b6c74ff by Dell

改版

parent f526fc53
...@@ -6,7 +6,7 @@ def config = rootProject.ext.ver ...@@ -6,7 +6,7 @@ def config = rootProject.ext.ver
def library = rootProject.ext.library def library = rootProject.ext.library
def releaseTime() { def releaseTime() {
return new Date().format("yyyyMMdd", TimeZone.getDefault()) return new Date().format("yyyy-MM-dd", TimeZone.getDefault())
} }
android { android {
...@@ -42,7 +42,7 @@ android { ...@@ -42,7 +42,7 @@ android {
applicationVariants.all { variant -> applicationVariants.all { variant ->
variant.outputs.all { variant.outputs.all {
// outputFileName = "A_v${variant.versionName}_${variant.buildType.name}_id_0_250.apk" // outputFileName = "A_v${variant.versionName}_${variant.buildType.name}_id_0_250.apk"
outputFileName = "v${variant.versionName}_${variant.buildType.name}.apk" outputFileName = "v${variant.versionName}_${variant.buildType.name}_${releaseTime()}.apk"
} }
} }
...@@ -176,6 +176,8 @@ dependencies { ...@@ -176,6 +176,8 @@ dependencies {
//图片选择器 //图片选择器
implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0' implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
implementation 'com.github.zhpanvip:bannerviewpager:3.5.4'
} }
repositories { repositories {
mavenCentral() mavenCentral()
......
...@@ -60,7 +60,7 @@ ...@@ -60,7 +60,7 @@
<provider <provider
android:name="androidx.core.content.FileProvider" android:name="androidx.core.content.FileProvider"
android:authorities="com.hupu.tv.player.app.FileProvider" android:authorities="com.m.live.app.FileProvider"
android:exported="false" android:exported="false"
android:grantUriPermissions="true"> android:grantUriPermissions="true">
<meta-data <meta-data
...@@ -72,11 +72,11 @@ ...@@ -72,11 +72,11 @@
<!-- 设置环信应用的AppKey --> <!-- 设置环信应用的AppKey -->
<meta-data <meta-data
android:name="EASEMOB_APPKEY" android:name="EASEMOB_APPKEY"
android:value="1118210302098649#hongshanliving" /> android:value="1102211214116810#room" />
<meta-data <meta-data
android:name="UMENG_APPKEY" android:name="UMENG_APPKEY"
android:value="606eca9818b72d2d244b25bb" /> android:value="61d3fba6e0f9bb492bb94a46" />
<meta-data <meta-data
android:name="UMENG_CHANNEL" android:name="UMENG_CHANNEL"
android:value="UMENG_CHANNEL" /> android:value="UMENG_CHANNEL" />
......
...@@ -20,7 +20,8 @@ interface HostUrl { ...@@ -20,7 +20,8 @@ interface HostUrl {
// const val HOST_URL = "http://129.226.169.250:8051/excuse/" // const val HOST_URL = "http://129.226.169.250:8051/excuse/"
const val HOST_URL = "http://hszhibo.live/excuse/" // const val HOST_URL = "http://hszhibo.live/excuse/"
const val HOST_URL = "http://api.mzhibo.cc/excuse/"
/** /**
...@@ -49,12 +50,12 @@ interface HostUrl { ...@@ -49,12 +50,12 @@ interface HostUrl {
/** /**
* 登接口 * 登接口
*/ */
const val POST_LOGIN = "capi/user/login" const val POST_LOGIN = "capi/user/login"
/** /**
* 登注册接口 * 登注册接口
*/ */
const val POST_LOGIN_LIVE = "user/register" const val POST_LOGIN_LIVE = "user/register"
...@@ -385,7 +386,7 @@ interface HostUrl { ...@@ -385,7 +386,7 @@ interface HostUrl {
const val POST_USER_FORGET_PASSWORD = "user/forgotPassword" const val POST_USER_FORGET_PASSWORD = "user/forgotPassword"
/** /**
* 设置登密码 * 设置登密码
*/ */
const val POST_USER_SETTING_PASSWORD = "user/userSetLoginPwd" const val POST_USER_SETTING_PASSWORD = "user/userSetLoginPwd"
...@@ -496,14 +497,14 @@ interface HostUrl { ...@@ -496,14 +497,14 @@ interface HostUrl {
/** /**
* 获取用户关注的主播列表 * 获取用户关注的主播列表
* 需要登可用 * 需要登可用
*/ */
const val POST_MATCH_USER_ANCHOR = "match/userGetAnchorList" const val POST_MATCH_USER_ANCHOR = "match/userGetAnchorList"
/** /**
* 获取用户关注的比赛列表 * 获取用户关注的比赛列表
* 需要登可用 * 需要登可用
*/ */
const val POST_MATCH_USER_MATCH = "match/userGetReserveMatch" const val POST_MATCH_USER_MATCH = "match/userGetReserveMatch"
......
...@@ -106,73 +106,73 @@ interface RetrofitService {/*@Field("is_new") int is_new*/ ...@@ -106,73 +106,73 @@ interface RetrofitService {/*@Field("is_new") int is_new*/
fun getWinnerListParam(@Body requestBody: RequestBody): Observable<BaseBean<List<String>>> fun getWinnerListParam(@Body requestBody: RequestBody): Observable<BaseBean<List<String>>>
/** /**
* 登接口 * 登接口
*/ */
@POST(HostUrl.POST_LOGIN) @POST(HostUrl.POST_LOGIN)
fun login(@Body requestBody: RequestBody): Observable<BaseBean<UserBean>> fun login(@Body requestBody: RequestBody): Observable<BaseBean<UserBean>>
/** /**
* 登接口 * 登接口
*/ */
@POST(HostUrl.POST_LOGIN_LIVE) @POST(HostUrl.POST_LOGIN_LIVE)
fun loginLive(@Body requestBody: RequestBody): Observable<BaseBean<String>> fun loginLive(@Body requestBody: RequestBody): Observable<BaseBean<String>>
/** /**
* 登接口 * 登接口
*/ */
@POST(HostUrl.POST_LOGIN_PASSWORD) @POST(HostUrl.POST_LOGIN_PASSWORD)
fun loginPassword(@Body requestBody: RequestBody): Observable<BaseBean<String>> fun loginPassword(@Body requestBody: RequestBody): Observable<BaseBean<String>>
/** /**
* 登接口 * 登接口
*/ */
@POST(HostUrl.POST_FEEDBACK) @POST(HostUrl.POST_FEEDBACK)
fun feedBack(@Body requestBody: RequestBody): Observable<BaseBean<String>> fun feedBack(@Body requestBody: RequestBody): Observable<BaseBean<String>>
/** /**
* 登接口 * 登接口
*/ */
@FormUrlEncoded @FormUrlEncoded
@POST(HostUrl.POST_TEST) @POST(HostUrl.POST_TEST)
fun postTest(@Field("phone")phone:String,@Field("password")password:String): Observable<BaseBean<String>> fun postTest(@Field("phone")phone:String,@Field("password")password:String): Observable<BaseBean<String>>
/** /**
* 登接口 * 登接口
*/ */
@POST(HostUrl.POST_FEEDBACK_LIST) @POST(HostUrl.POST_FEEDBACK_LIST)
fun getFeedBackList(): Observable<BaseBean<String>> fun getFeedBackList(): Observable<BaseBean<String>>
/** /**
* 登接口 * 登接口
*/ */
@POST(HostUrl.POST_FEEDBACK_TYPE) @POST(HostUrl.POST_FEEDBACK_TYPE)
fun getFeedBackTypeList(): Observable<BaseBean<String>> fun getFeedBackTypeList(): Observable<BaseBean<String>>
/** /**
* 登接口 * 登接口
*/ */
@POST(HostUrl.POST_USER_CODE) @POST(HostUrl.POST_USER_CODE)
fun getSmsCode(@Body requestBody: RequestBody): Observable<BaseBean<String>> fun getSmsCode(@Body requestBody: RequestBody): Observable<BaseBean<String>>
/** /**
* 登接口 * 登接口
*/ */
@POST(HostUrl.POST_USER_FORGET_PASSWORD) @POST(HostUrl.POST_USER_FORGET_PASSWORD)
fun forgetPassword(@Body requestBody: RequestBody): Observable<BaseBean<String>> fun forgetPassword(@Body requestBody: RequestBody): Observable<BaseBean<String>>
/** /**
* 登接口 * 登接口
*/ */
@POST(HostUrl.POST_USER_SETTING_PASSWORD) @POST(HostUrl.POST_USER_SETTING_PASSWORD)
fun settingPassword(@Body requestBody: RequestBody): Observable<BaseBean<String>> fun settingPassword(@Body requestBody: RequestBody): Observable<BaseBean<String>>
/** /**
* 登接口 * 登接口
*/ */
@POST(HostUrl.POST_VERIFICATION_SMS_CODE) @POST(HostUrl.POST_VERIFICATION_SMS_CODE)
fun verficationSmsCode(@Body requestBody: RequestBody): Observable<BaseBean<String>> fun verficationSmsCode(@Body requestBody: RequestBody): Observable<BaseBean<String>>
...@@ -692,8 +692,8 @@ interface RetrofitService {/*@Field("is_new") int is_new*/ ...@@ -692,8 +692,8 @@ interface RetrofitService {/*@Field("is_new") int is_new*/
/** /**
* 获取新闻头部List * 获取新闻头部List
*/ */
@GET(HostUrl.POST_HEAD_NEWS) @POST(HostUrl.POST_LIVE_BANNER)
fun getNewsHeadList(): Observable<BaseBean<List<NewsHeadEntity>>> fun getNewsHeadList(@Body requestBody: RequestBody): Observable<BaseBean<List<BannerBean>>>
/** /**
* 退出登录 * 退出登录
......
...@@ -105,7 +105,7 @@ class App : BaseApplication() { ...@@ -105,7 +105,7 @@ class App : BaseApplication() {
private fun initUmeng() { private fun initUmeng() {
UMConfigure.init( UMConfigure.init(
instance, instance,
"606eca9818b72d2d244b25bb", "61d3fba6e0f9bb492bb94a46",
BuildConfig.CHANNEL_ID.toString(), BuildConfig.CHANNEL_ID.toString(),
UMConfigure.DEVICE_TYPE_PHONE, UMConfigure.DEVICE_TYPE_PHONE,
"" ""
......
...@@ -25,6 +25,7 @@ import com.softgarden.baselibrary.widget.GridDividerDecoration ...@@ -25,6 +25,7 @@ import com.softgarden.baselibrary.widget.GridDividerDecoration
import com.hupu.tv.player.app.R import com.hupu.tv.player.app.R
import com.hupu.tv.player.app.app.Constants import com.hupu.tv.player.app.app.Constants
import com.hupu.tv.player.app.ui.activity.LoginActivity import com.hupu.tv.player.app.ui.activity.LoginActivity
import com.hupu.tv.player.app.utils.CommonUtils
import com.hupu.tv.player.app.utils.EmptyConfig import com.hupu.tv.player.app.utils.EmptyConfig
import com.softgarden.baselibrary.utils.ActivityManager import com.softgarden.baselibrary.utils.ActivityManager
import com.softgarden.baselibrary.utils.ScreenUtil import com.softgarden.baselibrary.utils.ScreenUtil
...@@ -304,7 +305,8 @@ abstract class RefreshActivity<P : IBasePresenter?> : ToolbarActivity<P>(), Requ ...@@ -304,7 +305,8 @@ abstract class RefreshActivity<P : IBasePresenter?> : ToolbarActivity<P>(), Requ
override fun onApiException(t: ApiException) { override fun onApiException(t: ApiException) {
super.onApiException(t) super.onApiException(t)
if (t.message == Constants.ERROR_TOKEN) { if (t.message == Constants.ERROR_TOKEN) {
ActivityManager.instance.finishAll() // ActivityManager.instance.finishAll()
CommonUtils.exitLogOut()
val intent = Intent(this, LoginActivity::class.java) val intent = Intent(this, LoginActivity::class.java)
intent.putExtra(Constants.ERROR_TOKEN, true) intent.putExtra(Constants.ERROR_TOKEN, true)
startActivity(intent) startActivity(intent)
......
...@@ -27,10 +27,7 @@ import com.hupu.tv.player.app.app.Constants ...@@ -27,10 +27,7 @@ import com.hupu.tv.player.app.app.Constants
import com.hupu.tv.player.app.base.RefreshActivity import com.hupu.tv.player.app.base.RefreshActivity
import com.hupu.tv.player.app.bean.GiftBean import com.hupu.tv.player.app.bean.GiftBean
import com.hupu.tv.player.app.bean.RoomInfoBean import com.hupu.tv.player.app.bean.RoomInfoBean
import com.hupu.tv.player.app.event.FollowAnchorEvent import com.hupu.tv.player.app.event.*
import com.hupu.tv.player.app.event.GiftEvent
import com.hupu.tv.player.app.event.MessageEvent
import com.hupu.tv.player.app.event.ReportEvent
import com.hupu.tv.player.app.ui.contact.LiveActivityContact import com.hupu.tv.player.app.ui.contact.LiveActivityContact
import com.hupu.tv.player.app.ui.fragment.* import com.hupu.tv.player.app.ui.fragment.*
import com.hupu.tv.player.app.ui.presenter.LiveActivityPresenter import com.hupu.tv.player.app.ui.presenter.LiveActivityPresenter
...@@ -212,7 +209,7 @@ class LiveActivity : RefreshActivity<LiveActivityPresenter>(), LiveActivityConta ...@@ -212,7 +209,7 @@ class LiveActivity : RefreshActivity<LiveActivityPresenter>(), LiveActivityConta
EMClient.getInstance().login(userName, "123456", object : EMCallBack { EMClient.getInstance().login(userName, "123456", object : EMCallBack {
override fun onSuccess() { override fun onSuccess() {
runOnUiThread { runOnUiThread {
addMessage("环信登成功") addMessage("环信登成功")
initTabLayout() initTabLayout()
} }
} }
...@@ -225,7 +222,7 @@ class LiveActivity : RefreshActivity<LiveActivityPresenter>(), LiveActivityConta ...@@ -225,7 +222,7 @@ class LiveActivity : RefreshActivity<LiveActivityPresenter>(), LiveActivityConta
if (code == 200) { if (code == 200) {
initTabLayout() initTabLayout()
} else { } else {
addMessage("环信登失败:code : $code error : $error") addMessage("环信登失败:code : $code error : $error")
if (code == 204) { if (code == 204) {
CommonUtils.copy(userName) CommonUtils.copy(userName)
addMessage("用户id已经复制到剪切板,请粘贴发送于我,后台注册用户") addMessage("用户id已经复制到剪切板,请粘贴发送于我,后台注册用户")
...@@ -245,7 +242,12 @@ class LiveActivity : RefreshActivity<LiveActivityPresenter>(), LiveActivityConta ...@@ -245,7 +242,12 @@ class LiveActivity : RefreshActivity<LiveActivityPresenter>(), LiveActivityConta
mFragment.add(LiveRankFragment.newInstance(roomId)) mFragment.add(LiveRankFragment.newInstance(roomId))
mFragment.add(LiveRedListFragment.newInstance(matchId)) mFragment.add(LiveRedListFragment.newInstance(matchId))
// mFragment.add(LiveMatchFragment.newInstance(roomId)) // mFragment.add(LiveMatchFragment.newInstance(roomId))
val mTitles: Array<String?> = arrayOf(getString(R.string.string_live_conversation), getString(R.string.string_live_actor), getString(R.string.string_live_rank), getString(R.string.string_live_red_list)) val mTitles: Array<String?> = arrayOf(
getString(R.string.string_live_conversation),
getString(R.string.string_live_actor),
getString(R.string.string_live_rank),
getString(R.string.string_live_red_list)
)
val mAdapter = FragmentBaseStatePagerAdapter(supportFragmentManager, mFragment, mTitles) val mAdapter = FragmentBaseStatePagerAdapter(supportFragmentManager, mFragment, mTitles)
vp_live.adapter = mAdapter vp_live.adapter = mAdapter
vp_live.offscreenPageLimit = mFragment.size vp_live.offscreenPageLimit = mFragment.size
...@@ -265,7 +267,11 @@ class LiveActivity : RefreshActivity<LiveActivityPresenter>(), LiveActivityConta ...@@ -265,7 +267,11 @@ class LiveActivity : RefreshActivity<LiveActivityPresenter>(), LiveActivityConta
mFragment.add(LiveAnchorFragment.newInstance(roomId)) mFragment.add(LiveAnchorFragment.newInstance(roomId))
mFragment.add(LiveRankFragment.newInstance(roomId)) mFragment.add(LiveRankFragment.newInstance(roomId))
mFragment.add(LiveMatchFragment.newInstance(roomId)) mFragment.add(LiveMatchFragment.newInstance(roomId))
val mTitles: Array<String?> = arrayOf(getString(R.string.string_live_actor), getString(R.string.string_live_rank), getString(R.string.string_live_match)) val mTitles: Array<String?> = arrayOf(
getString(R.string.string_live_actor),
getString(R.string.string_live_rank),
getString(R.string.string_live_match)
)
val mAdapter = FragmentBaseStatePagerAdapter(supportFragmentManager, mFragment, mTitles) val mAdapter = FragmentBaseStatePagerAdapter(supportFragmentManager, mFragment, mTitles)
vp_live.adapter = mAdapter vp_live.adapter = mAdapter
vp_live.offscreenPageLimit = mFragment.size vp_live.offscreenPageLimit = mFragment.size
...@@ -285,7 +291,7 @@ class LiveActivity : RefreshActivity<LiveActivityPresenter>(), LiveActivityConta ...@@ -285,7 +291,7 @@ class LiveActivity : RefreshActivity<LiveActivityPresenter>(), LiveActivityConta
override fun onRequestRoomInfo(bean: RoomInfoBean?) { override fun onRequestRoomInfo(bean: RoomInfoBean?) {
matchId = bean?.matchId?:"" matchId = bean?.matchId ?: ""
addMessage("请求房间信息成功 直播间 IM userId = ${bean?.huanXinUserId}") addMessage("请求房间信息成功 直播间 IM userId = ${bean?.huanXinUserId}")
bean?.let { bean?.let {
roomId = it.roomId roomId = it.roomId
...@@ -327,7 +333,10 @@ class LiveActivity : RefreshActivity<LiveActivityPresenter>(), LiveActivityConta ...@@ -327,7 +333,10 @@ class LiveActivity : RefreshActivity<LiveActivityPresenter>(), LiveActivityConta
if (TextUtils.isEmpty(qqNum)) { if (TextUtils.isEmpty(qqNum)) {
CommonUtils.copy(it.qqNum, getString(R.string.string_live_copy_success_qq)) CommonUtils.copy(it.qqNum, getString(R.string.string_live_copy_success_qq))
} else if (TextUtils.isEmpty(qqGroupNum)) { } else if (TextUtils.isEmpty(qqGroupNum)) {
CommonUtils.copy(it.qqGroupNum, getString(R.string.string_live_copy_success_qq_group)) CommonUtils.copy(
it.qqGroupNum,
getString(R.string.string_live_copy_success_qq_group)
)
} }
} }
} }
...@@ -373,6 +382,7 @@ class LiveActivity : RefreshActivity<LiveActivityPresenter>(), LiveActivityConta ...@@ -373,6 +382,7 @@ class LiveActivity : RefreshActivity<LiveActivityPresenter>(), LiveActivityConta
fun onEventDamMu(event: MessageEvent) { fun onEventDamMu(event: MessageEvent) {
sendDanmu(event.message, false) sendDanmu(event.message, false)
} }
@Subscribe(threadMode = ThreadMode.MAIN, sticky = true, priority = 1) @Subscribe(threadMode = ThreadMode.MAIN, sticky = true, priority = 1)
fun onReport(event: ReportEvent) { fun onReport(event: ReportEvent) {
startActivity(Intent(this, ReportActivity::class.java)) startActivity(Intent(this, ReportActivity::class.java))
...@@ -384,6 +394,7 @@ class LiveActivity : RefreshActivity<LiveActivityPresenter>(), LiveActivityConta ...@@ -384,6 +394,7 @@ class LiveActivity : RefreshActivity<LiveActivityPresenter>(), LiveActivityConta
} }
override fun onBackPressed() { override fun onBackPressed() {
orientationUtils?.backToProtVideo() orientationUtils?.backToProtVideo()
if (GSYVideoManager.backFromWindowFull(this)) { if (GSYVideoManager.backFromWindowFull(this)) {
......
...@@ -43,7 +43,7 @@ class LoginActivity : RefreshActivity<LoginActivityPresenter>(), LoginActivityCo ...@@ -43,7 +43,7 @@ class LoginActivity : RefreshActivity<LoginActivityPresenter>(), LoginActivityCo
intent.getBooleanExtra(Constants.FORCE_EXIT, false) intent.getBooleanExtra(Constants.FORCE_EXIT, false)
WaitDialog.dismiss() WaitDialog.dismiss()
CommonUtils.umengLogin() CommonUtils.umengLogin()
startActivity(MainActivity::class.java) // startActivity(MainActivity::class.java)
finish() finish()
} }
......
...@@ -97,13 +97,13 @@ class NewMatchDetailActivity : RefreshActivity<NewMatchDetailPresenter>(), NewMa ...@@ -97,13 +97,13 @@ class NewMatchDetailActivity : RefreshActivity<NewMatchDetailPresenter>(), NewMa
1 -> { 1 -> {
tv_status.background = getDrawable(R.drawable.shape_match_status_live) tv_status.background = getDrawable(R.drawable.shape_match_status_live)
tv_status.text = "直播中" tv_status.text = "直播中"
tv_status.setOnClickListener { // tv_status.setOnClickListener {
DialogUtils.showMatchLive(this, liveBeanList, object : DialogUtils.OnClickTextListener { // DialogUtils.showMatchLive(this, liveBeanList, object : DialogUtils.OnClickTextListener {
override fun onClick(text: String) { // override fun onClick(text: String) {
startActivity(CommonUtils.toWeb(text)) // startActivity(CommonUtils.toWeb(text))
} // }
}) // })
} // }
} }
3 -> { 3 -> {
tv_status.background = getDrawable(R.drawable.shape_match_status_end) tv_status.background = getDrawable(R.drawable.shape_match_status_end)
......
...@@ -27,7 +27,8 @@ import com.softgarden.baselibrary.utils.RecyclerViewUtil ...@@ -27,7 +27,8 @@ import com.softgarden.baselibrary.utils.RecyclerViewUtil
import com.softgarden.baselibrary.utils.SPUtil import com.softgarden.baselibrary.utils.SPUtil
import com.softgarden.baselibrary.utils.ToastUtil import com.softgarden.baselibrary.utils.ToastUtil
import kotlinx.android.synthetic.main.activity_news_detail.* import kotlinx.android.synthetic.main.activity_news_detail.*
import kotlinx.android.synthetic.main.layout_title.* import java.util.regex.Matcher
import java.util.regex.Pattern
class NewsDetailActivity : ToolbarActivity<NewsDetailPresenter>(), NewsDetailContact.Display { class NewsDetailActivity : ToolbarActivity<NewsDetailPresenter>(), NewsDetailContact.Display {
...@@ -47,8 +48,6 @@ class NewsDetailActivity : ToolbarActivity<NewsDetailPresenter>(), NewsDetailCon ...@@ -47,8 +48,6 @@ class NewsDetailActivity : ToolbarActivity<NewsDetailPresenter>(), NewsDetailCon
override fun initialize() { override fun initialize() {
id = intent.getStringExtra(Constants.NEWS_DETAIL) ?: "" id = intent.getStringExtra(Constants.NEWS_DETAIL) ?: ""
tv_title_middle.text = "新闻详情"
tv_title_middle.setTextColor(resources.getColor(R.color.black))
iv_left_icon.setOnClickListener { iv_left_icon.setOnClickListener {
finish() finish()
...@@ -114,7 +113,6 @@ class NewsDetailActivity : ToolbarActivity<NewsDetailPresenter>(), NewsDetailCon ...@@ -114,7 +113,6 @@ class NewsDetailActivity : ToolbarActivity<NewsDetailPresenter>(), NewsDetailCon
fun initWebView() { fun initWebView() {
// mWebView.setBackgroundColor(ContextCompat.getColor(this, R.color.colorTheme)); // 设置背景色 // mWebView.setBackgroundColor(ContextCompat.getColor(this, R.color.colorTheme)); // 设置背景色
val webSettings = mWebView.settings val webSettings = mWebView.settings
//如果访问的页面中要与Javascript交互,则webview必须设置支持Javascript //如果访问的页面中要与Javascript交互,则webview必须设置支持Javascript
webSettings.javaScriptEnabled = true webSettings.javaScriptEnabled = true
//支持插件 //支持插件
...@@ -245,12 +243,14 @@ class NewsDetailActivity : ToolbarActivity<NewsDetailPresenter>(), NewsDetailCon ...@@ -245,12 +243,14 @@ class NewsDetailActivity : ToolbarActivity<NewsDetailPresenter>(), NewsDetailCon
fun loadText(content: String?) { fun loadText(content: String?) {
val webSettings = mWebView.settings val webSettings = mWebView.settings
//设置自适应屏幕,两者合用 //设置自适应屏幕,两者合用
val data = replaceImg(content ?: "") val data = cancelStyle(content ?: "")
val cancelLink = cancelLink(data)
val cancelHead = cancelHead(cancelLink)
webSettings?.useWideViewPort = false //将图片调整到适合webview的大小 webSettings?.useWideViewPort = false //将图片调整到适合webview的大小
webSettings?.loadWithOverviewMode = false // 缩放至屏幕的大小 webSettings?.loadWithOverviewMode = false // 缩放至屏幕的大小
/*** 完美自适应屏幕 */ /*** 完美自适应屏幕 */
val sb = StringBuilder() val sb = StringBuilder()
sb.append(data) sb.append(cancelHead)
.append("<html>") .append("<html>")
.append("<head>") .append("<head>")
.append("<meta charset=\\\"utf-8\\\">") .append("<meta charset=\\\"utf-8\\\">")
...@@ -261,7 +261,7 @@ class NewsDetailActivity : ToolbarActivity<NewsDetailPresenter>(), NewsDetailCon ...@@ -261,7 +261,7 @@ class NewsDetailActivity : ToolbarActivity<NewsDetailPresenter>(), NewsDetailCon
.append("<style>img{width:100%;}</style>") .append("<style>img{width:100%;}</style>")
.append("<style>iframe{width:100%;}</style>") .append("<style>iframe{width:100%;}</style>")
.append("<style>table{width:100%;}</style>") .append("<style>table{width:100%;}</style>")
.append("<style>body{font-size:18px;}</style>") .append("<style>body{font-size:14px;color:#666666}</style>")
.append("<title>mWebView</title>") .append("<title>mWebView</title>")
mWebView.loadDataWithBaseURL(null, sb.toString(), "text/html", "utf-8", null) mWebView.loadDataWithBaseURL(null, sb.toString(), "text/html", "utf-8", null)
...@@ -280,6 +280,43 @@ class NewsDetailActivity : ToolbarActivity<NewsDetailPresenter>(), NewsDetailCon ...@@ -280,6 +280,43 @@ class NewsDetailActivity : ToolbarActivity<NewsDetailPresenter>(), NewsDetailCon
return temp return temp
} }
private fun cancelStyle(text:String):String{
var content = text
// 先把所有的style干掉 - 正则表达式
val regEx = " style=\"(.*?)\""
val p: Pattern = Pattern.compile(regEx)
val m: Matcher = p.matcher(text)
if (m.find()) {
content = m.replaceAll("")
}
return content;
}
private fun cancelLink(text: String):String{
var content = text
// 先把所有的style干掉 - 正则表达式
val regEx = " href=\"(.*?)\""
val p: Pattern = Pattern.compile(regEx)
val m: Matcher = p.matcher(text)
if (m.find()) {
content = m.replaceAll("")
}
return content;
}
private fun cancelHead(text: String):String{
var content = text
// 去掉head
val regEx = ".*[h]1>"
val p: Pattern = Pattern.compile(regEx)
val m: Matcher = p.matcher(text)
if (m.find()) {
content = m.replaceAll("")
}
return content
}
override fun onDetail(entity: NewDetailEntity?) { override fun onDetail(entity: NewDetailEntity?) {
loadText(entity?.content) loadText(entity?.content)
...@@ -301,6 +338,8 @@ class NewsDetailActivity : ToolbarActivity<NewsDetailPresenter>(), NewsDetailCon ...@@ -301,6 +338,8 @@ class NewsDetailActivity : ToolbarActivity<NewsDetailPresenter>(), NewsDetailCon
} }
} }
tv_like_count.text = entity?.likeCount.toString() tv_like_count.text = entity?.likeCount.toString()
tv_title.text = entity?.title
tv_time.text = entity?.releaseTime
moreAdapter.setNewData(entity?.associateArticle) moreAdapter.setNewData(entity?.associateArticle)
} }
......
...@@ -46,7 +46,7 @@ class NickNameActivity : RefreshActivity<NickNameActivityPresenter>(), NickNameA ...@@ -46,7 +46,7 @@ class NickNameActivity : RefreshActivity<NickNameActivityPresenter>(), NickNameA
CommonUtils.umengLogin() CommonUtils.umengLogin()
WaitDialog.dismiss() WaitDialog.dismiss()
hideProgressDialog() hideProgressDialog()
ToastUtil.s("登成功") ToastUtil.s("登成功")
startActivity(MainActivity::class.java) startActivity(MainActivity::class.java)
finish() finish()
} }
......
...@@ -149,7 +149,7 @@ class SettingActivity : RefreshActivity<SettingPresenter>(), SettingContact.Disp ...@@ -149,7 +149,7 @@ class SettingActivity : RefreshActivity<SettingPresenter>(), SettingContact.Disp
override fun onExit() { override fun onExit() {
ToastUtil.s("退出成功") ToastUtil.s("退出成功")
startActivity(LoginActivity::class.java) startActivity(LoginActivity::class.java)
ActivityManager.instance.finishAll() // ActivityManager.instance.finishAll()
// EventBus.getDefault().post(ExitLoginEvent()) // EventBus.getDefault().post(ExitLoginEvent())
} }
......
package com.hupu.tv.player.app.ui.adapter
import android.view.View
import android.widget.ImageView
import android.widget.TextView
import com.hupu.tv.player.app.R
import com.hupu.tv.player.app.bean.BannerBean
import com.hupu.tv.player.app.utils.GlideUtils
import com.zhpan.bannerview.BaseBannerAdapter
import com.zhpan.bannerview.BaseViewHolder
class HomeBannerAdapter(private val isNews: Boolean = false) : BaseBannerAdapter<BannerBean?>() {
override fun bindData(
holder: BaseViewHolder<BannerBean?>,
data: BannerBean?,
position: Int,
pageSize: Int
) {
holder.itemView.findViewById<ImageView>(R.id.banner_image).apply {
GlideUtils.loadImage(holder.itemView, data?.picPath, this,0)
if (isNews) {
holder.itemView.findViewById<TextView>(R.id.tv_title).apply {
visibility = View.VISIBLE
text = data?.title
}
}
}
}
override fun getLayoutId(viewType: Int): Int {
return R.layout.item_slide_mode
}
}
\ No newline at end of file
...@@ -73,7 +73,7 @@ public class ImagesPagerAdapter extends PagerAdapter { ...@@ -73,7 +73,7 @@ public class ImagesPagerAdapter extends PagerAdapter {
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT); LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
imageView.setLayoutParams(lp); imageView.setLayoutParams(lp);
// GlideUtils.loadRoundCircleImageCenterCrop(mFragment, (String) SPUtil.Companion.get(Constants.SITE,"")+url, imageView, 9); // GlideUtils.loadRoundCircleImageCenterCrop(mFragment, (String) SPUtil.Companion.get(Constants.SITE,"")+url, imageView, 9);
GlideUtils.loadRoundCircleImageCenterCrop(mFragment, url, imageView, 8, R.mipmap.bg_live_main_place_holder); GlideUtils.loadRoundCircleImageCenterCrop(mFragment, url, imageView, 8, 0);
viewPager.addView(imageView); viewPager.addView(imageView);
imageView.setOnClickListener(v -> { imageView.setOnClickListener(v -> {
if (onItemClickListener!=null){ if (onItemClickListener!=null){
......
...@@ -71,16 +71,21 @@ class MatchContentIncludeAdapter(layoutResId: Int, private val baseFragment: Bas ...@@ -71,16 +71,21 @@ class MatchContentIncludeAdapter(layoutResId: Int, private val baseFragment: Bas
// }); // });
guidesAdapter.onItemClickListener = OnItemClickListener { adapter: BaseQuickAdapter<*, *>, view: View?, position: Int -> guidesAdapter.onItemClickListener = OnItemClickListener { adapter: BaseQuickAdapter<*, *>, view: View?, position: Int ->
if (SPUtil[Constants.USER_LOGIN, false] as Boolean) {
val guidesBean = adapter.getItem(position) as GuidesBean? val guidesBean = adapter.getItem(position) as GuidesBean?
val intent = Intent(baseFragment.activity, LiveActivity::class.java) val intent = Intent(baseFragment.activity, LiveActivity::class.java)
intent.putExtra(Constants.ROOM_ID, guidesBean!!.roomId) intent.putExtra(Constants.ROOM_ID, guidesBean!!.roomId)
intent.putExtra(Constants.ROOM_COVER, guidesBean.matchCutImg) intent.putExtra(Constants.ROOM_COVER, guidesBean.matchCutImg)
baseFragment.startActivity(intent) baseFragment.startActivity(intent)
} else { // if (SPUtil[Constants.USER_LOGIN, false] as Boolean) {
DialogUtils.showLogin(mContext as AppCompatActivity) // val guidesBean = adapter.getItem(position) as GuidesBean?
// startActivity(LoginActivity::class.java) // val intent = Intent(baseFragment.activity, LiveActivity::class.java)
} // intent.putExtra(Constants.ROOM_ID, guidesBean!!.roomId)
// intent.putExtra(Constants.ROOM_COVER, guidesBean.matchCutImg)
// baseFragment.startActivity(intent)
// } else {
// DialogUtils.showLogin(mContext as AppCompatActivity)
//// startActivity(LoginActivity::class.java)
// }
} }
......
...@@ -18,7 +18,6 @@ import com.hupu.tv.player.app.widget.ImageCarousel ...@@ -18,7 +18,6 @@ import com.hupu.tv.player.app.widget.ImageCarousel
*/ */
interface MainContentAllContract { interface MainContentAllContract {
interface Display : IBaseDisplay { interface Display : IBaseDisplay {
fun onDot(imageCarousel: ImageCarousel)
fun onRequestLiveData(data:List<LiveBean.DataListBean>?) fun onRequestLiveData(data:List<LiveBean.DataListBean>?)
fun onTopLiveData(data:List<MatchContentBean.MatchListsBean.MatchInfosBean>?) fun onTopLiveData(data:List<MatchContentBean.MatchListsBean.MatchInfosBean>?)
fun onSubscribeMatch(message:String) fun onSubscribeMatch(message:String)
...@@ -26,7 +25,6 @@ interface MainContentAllContract { ...@@ -26,7 +25,6 @@ interface MainContentAllContract {
} }
interface Presenter { interface Presenter {
fun initDot(linearLayout: LinearLayout, viewPager: ViewPager, textView: TextView)
fun getMatchData(pageNo:Int) fun getMatchData(pageNo:Int)
fun getTopLive(pageNo: Int) fun getTopLive(pageNo: Int)
fun reserveMatch(id: String) fun reserveMatch(id: String)
......
...@@ -16,13 +16,11 @@ import com.hupu.tv.player.app.widget.ImageCarousel ...@@ -16,13 +16,11 @@ import com.hupu.tv.player.app.widget.ImageCarousel
interface MainNewsContentAllContract { interface MainNewsContentAllContract {
interface Display : IBaseDisplay { interface Display : IBaseDisplay {
fun onNewsData(data: NewsDataBean?) fun onNewsData(data: NewsDataBean?)
fun onDot(imageCarousel: ImageCarousel)
fun onRequestLiveData(data:List<LiveBean.DataListBean>?) fun onRequestLiveData(data:List<LiveBean.DataListBean>?)
} }
interface Presenter { interface Presenter {
fun initDot(linearLayout: LinearLayout, viewPager: ViewPager, textView: TextView)
fun getNewsList(id:String,pageNo:Int) fun getNewsList(id:String,pageNo:Int)
} }
......
...@@ -14,6 +14,8 @@ import com.hupu.tv.player.app.bean.RoomInfoBean ...@@ -14,6 +14,8 @@ import com.hupu.tv.player.app.bean.RoomInfoBean
import com.hupu.tv.player.app.ui.adapter.MainPlayerAdapter import com.hupu.tv.player.app.ui.adapter.MainPlayerAdapter
import com.hupu.tv.player.app.ui.contact.BasketBallPlayerFragmentContact import com.hupu.tv.player.app.ui.contact.BasketBallPlayerFragmentContact
import com.hupu.tv.player.app.ui.presenter.BasketBallPlayerFragmentPresenter import com.hupu.tv.player.app.ui.presenter.BasketBallPlayerFragmentPresenter
import com.softgarden.baselibrary.base.IBaseDisplay
import com.softgarden.baselibrary.base.IBasePresenter
import kotlinx.android.synthetic.main.fragment_match_player.* import kotlinx.android.synthetic.main.fragment_match_player.*
import kotlinx.android.synthetic.main.layout_empty.* import kotlinx.android.synthetic.main.layout_empty.*
...@@ -23,7 +25,7 @@ import kotlinx.android.synthetic.main.layout_empty.* ...@@ -23,7 +25,7 @@ import kotlinx.android.synthetic.main.layout_empty.*
* @date on 2020/6/15 * @date on 2020/6/15
* @describe * @describe
*/ */
class BasketBallPlayerFragment : RefreshFragment<BasketBallPlayerFragmentPresenter>(), BasketBallPlayerFragmentContact.Display { class BasketBallPlayerFragment : RefreshFragment<IBasePresenter>(), IBaseDisplay {
private var roomid = "" private var roomid = ""
private lateinit var adapter: MainPlayerAdapter private lateinit var adapter: MainPlayerAdapter
private lateinit var awayAdapter: MainPlayerAdapter private lateinit var awayAdapter: MainPlayerAdapter
...@@ -36,9 +38,9 @@ class BasketBallPlayerFragment : RefreshFragment<BasketBallPlayerFragmentPresent ...@@ -36,9 +38,9 @@ class BasketBallPlayerFragment : RefreshFragment<BasketBallPlayerFragmentPresent
override val baseActivity: BaseActivity<*>? override val baseActivity: BaseActivity<*>?
get() = activity as BaseActivity<*> get() = activity as BaseActivity<*>
override fun onRequestRoomInfo(bean: RoomInfoBean?) { // override fun onRequestRoomInfo(bean: RoomInfoBean?) {
//
} // }
override val ctx: Context? override val ctx: Context?
...@@ -108,7 +110,7 @@ class BasketBallPlayerFragment : RefreshFragment<BasketBallPlayerFragmentPresent ...@@ -108,7 +110,7 @@ class BasketBallPlayerFragment : RefreshFragment<BasketBallPlayerFragmentPresent
override fun lazyLoad() { override fun lazyLoad() {
presenter?.getRoomInfo(roomid) // presenter?.getRoomInfo(roomid)
// presenter?.getBaseketballInfo(roomid) // presenter?.getBaseketballInfo(roomid)
mRecyclerView?.postDelayed({ mRecyclerView?.postDelayed({
finishRefresh() finishRefresh()
......
...@@ -16,6 +16,8 @@ import com.hupu.tv.player.app.ui.adapter.MatchTeamTopAdapter ...@@ -16,6 +16,8 @@ import com.hupu.tv.player.app.ui.adapter.MatchTeamTopAdapter
import com.hupu.tv.player.app.ui.contact.BasketBallTeamFragmentContact import com.hupu.tv.player.app.ui.contact.BasketBallTeamFragmentContact
import com.hupu.tv.player.app.ui.presenter.BasketBallTeamFragmentPresenter import com.hupu.tv.player.app.ui.presenter.BasketBallTeamFragmentPresenter
import com.hupu.tv.player.app.utils.GlideUtils import com.hupu.tv.player.app.utils.GlideUtils
import com.softgarden.baselibrary.base.IBaseDisplay
import com.softgarden.baselibrary.base.IBasePresenter
import kotlinx.android.synthetic.main.fragment_team_new.* import kotlinx.android.synthetic.main.fragment_team_new.*
import kotlinx.android.synthetic.main.layout_empty.* import kotlinx.android.synthetic.main.layout_empty.*
...@@ -25,7 +27,7 @@ import kotlinx.android.synthetic.main.layout_empty.* ...@@ -25,7 +27,7 @@ import kotlinx.android.synthetic.main.layout_empty.*
* @date on 2020/6/15 * @date on 2020/6/15
* @describe * @describe
*/ */
class BasketBallTeamFragment : RefreshFragment<BasketBallTeamFragmentPresenter>(), BasketBallTeamFragmentContact.Display { class BasketBallTeamFragment : RefreshFragment<IBasePresenter>(),IBaseDisplay {
/** /**
* 因为两个View叠加在一起,没办法使用LinearLayout 的weight,所以要通过得分来计算 * 因为两个View叠加在一起,没办法使用LinearLayout 的weight,所以要通过得分来计算
* 因为最大长度为200 * 因为最大长度为200
...@@ -60,10 +62,10 @@ class BasketBallTeamFragment : RefreshFragment<BasketBallTeamFragmentPresenter>( ...@@ -60,10 +62,10 @@ class BasketBallTeamFragment : RefreshFragment<BasketBallTeamFragmentPresenter>(
override val baseActivity: BaseActivity<*>? override val baseActivity: BaseActivity<*>?
get() = activity as BaseActivity<*> get() = activity as BaseActivity<*>
//
override fun onRequestRoomInfo(bean: RoomInfoBean?) { // override fun onRequestRoomInfo(bean: RoomInfoBean?) {
//
} // }
override val ctx: Context? override val ctx: Context?
...@@ -170,7 +172,7 @@ class BasketBallTeamFragment : RefreshFragment<BasketBallTeamFragmentPresenter>( ...@@ -170,7 +172,7 @@ class BasketBallTeamFragment : RefreshFragment<BasketBallTeamFragmentPresenter>(
override fun lazyLoad() { override fun lazyLoad() {
presenter?.getRoomInfo(roomid) // presenter?.getRoomInfo(roomid)
mRecyclerView?.postDelayed({ mRecyclerView?.postDelayed({
finishRefresh() finishRefresh()
}, 3000) }, 3000)
......
...@@ -127,11 +127,13 @@ public class ChatFragment extends CustomEaseChatFragment implements OnRecallMess ...@@ -127,11 +127,13 @@ public class ChatFragment extends CustomEaseChatFragment implements OnRecallMess
public void sendJoinRoomData() { public void sendJoinRoomData() {
if (!isSend) { if (!isSend) {
boolean isLogin = (boolean) SPUtil.Companion.get(Constants.USER_LOGIN, false);
if (isLogin) {
chatLayout.sendTextMessage("进入直播间"); chatLayout.sendTextMessage("进入直播间");
sendFakeMessage(); sendFakeMessage();
isSend = true; isSend = true;
} }
}
} }
private void sendFakeMessage() { private void sendFakeMessage() {
......
...@@ -69,7 +69,7 @@ class FollowAnchorFragment : ToolbarFragment<FollowAnchorPresenter>(), FollowAnc ...@@ -69,7 +69,7 @@ class FollowAnchorFragment : ToolbarFragment<FollowAnchorPresenter>(), FollowAnc
ll_not_login.visibility = View.VISIBLE ll_not_login.visibility = View.VISIBLE
mRecyclerView?.visibility = View.GONE mRecyclerView?.visibility = View.GONE
} }
iv_login.setOnClickListener { tv_login.setOnClickListener {
DialogUtils.showLogin(activity as AppCompatActivity) DialogUtils.showLogin(activity as AppCompatActivity)
} }
} }
...@@ -90,10 +90,10 @@ class FollowAnchorFragment : ToolbarFragment<FollowAnchorPresenter>(), FollowAnc ...@@ -90,10 +90,10 @@ class FollowAnchorFragment : ToolbarFragment<FollowAnchorPresenter>(), FollowAnc
activity?.let { RecyclerViewUtil.addGridItemDecoration(it, mRecyclerView_down!!, R.color.transparent, 2 * Constants.item_divider) } activity?.let { RecyclerViewUtil.addGridItemDecoration(it, mRecyclerView_down!!, R.color.transparent, 2 * Constants.item_divider) }
mRecyclerView_down?.adapter = liveItemAdapter mRecyclerView_down?.adapter = liveItemAdapter
liveItemAdapter?.setOnItemClickListener { adapter, view, position -> liveItemAdapter?.setOnItemClickListener { adapter, view, position ->
if (!(SPUtil[Constants.USER_LOGIN, false] as Boolean)) { // if (!(SPUtil[Constants.USER_LOGIN, false] as Boolean)) {
DialogUtils.showLogin(requireActivity() as AppCompatActivity) // DialogUtils.showLogin(requireActivity() as AppCompatActivity)
return@setOnItemClickListener // return@setOnItemClickListener
} // }
val item: LiveBean.DataListBean = adapter.getItem(position) as LiveBean.DataListBean val item: LiveBean.DataListBean = adapter.getItem(position) as LiveBean.DataListBean
val intent = Intent(activity, LiveActivity::class.java) val intent = Intent(activity, LiveActivity::class.java)
......
...@@ -63,7 +63,7 @@ class FollowMatchFragment : ToolbarFragment<FollowMatchPresenter>(), FollowMatch ...@@ -63,7 +63,7 @@ class FollowMatchFragment : ToolbarFragment<FollowMatchPresenter>(), FollowMatch
ll_not_login.visibility = View.VISIBLE ll_not_login.visibility = View.VISIBLE
ll_data.visibility = View.GONE ll_data.visibility = View.GONE
} }
iv_login.setOnClickListener { tv_login.setOnClickListener {
DialogUtils.showLogin(activity as AppCompatActivity) DialogUtils.showLogin(activity as AppCompatActivity)
} }
} }
......
...@@ -85,6 +85,7 @@ class LiveConversationFragment : RefreshFragment<LiveConversationFragmentPresent ...@@ -85,6 +85,7 @@ class LiveConversationFragment : RefreshFragment<LiveConversationFragmentPresent
fun onEventRefresh(event: RefreshUserEvent) { fun onEventRefresh(event: RefreshUserEvent) {
needLogin() needLogin()
chatFragment?.setShowChatPrimaryMenu() chatFragment?.setShowChatPrimaryMenu()
chatFragment?.sendJoinRoomData()
} }
fun sendDanmu(text: String, isMine: Boolean) { fun sendDanmu(text: String, isMine: Boolean) {
......
...@@ -24,6 +24,7 @@ import com.hupu.tv.player.app.event.VisibleEvent ...@@ -24,6 +24,7 @@ import com.hupu.tv.player.app.event.VisibleEvent
import com.hupu.tv.player.app.ui.activity.LiveActivity import com.hupu.tv.player.app.ui.activity.LiveActivity
import com.hupu.tv.player.app.ui.activity.MatchDetailActivity import com.hupu.tv.player.app.ui.activity.MatchDetailActivity
import com.hupu.tv.player.app.ui.activity.NewMatchDetailActivity import com.hupu.tv.player.app.ui.activity.NewMatchDetailActivity
import com.hupu.tv.player.app.ui.adapter.HomeBannerAdapter
import com.hupu.tv.player.app.ui.adapter.LiveItemAdapter import com.hupu.tv.player.app.ui.adapter.LiveItemAdapter
import com.hupu.tv.player.app.ui.adapter.LiveTopAdapter import com.hupu.tv.player.app.ui.adapter.LiveTopAdapter
import com.hupu.tv.player.app.ui.contact.MainContentAllContract import com.hupu.tv.player.app.ui.contact.MainContentAllContract
...@@ -32,6 +33,9 @@ import com.hupu.tv.player.app.utils.DialogUtils ...@@ -32,6 +33,9 @@ import com.hupu.tv.player.app.utils.DialogUtils
import com.hupu.tv.player.app.widget.ImageCarousel import com.hupu.tv.player.app.widget.ImageCarousel
import com.softgarden.baselibrary.utils.SPUtil import com.softgarden.baselibrary.utils.SPUtil
import com.softgarden.baselibrary.utils.ToastUtil import com.softgarden.baselibrary.utils.ToastUtil
import com.zhpan.bannerview.BannerViewPager
import com.zhpan.bannerview.constants.PageStyle
import com.zhpan.indicator.enums.IndicatorSlideMode
import kotlinx.android.synthetic.main.fragment_match_all.* import kotlinx.android.synthetic.main.fragment_match_all.*
import me.jessyan.autosize.utils.LogUtils import me.jessyan.autosize.utils.LogUtils
import org.greenrobot.eventbus.EventBus import org.greenrobot.eventbus.EventBus
...@@ -44,7 +48,6 @@ import org.greenrobot.eventbus.ThreadMode ...@@ -44,7 +48,6 @@ import org.greenrobot.eventbus.ThreadMode
* @describe * @describe
*/ */
class MainContentAllFragment : ToolbarFragment<MainContentAllPresenter>(), MainContentAllContract.Display { class MainContentAllFragment : ToolbarFragment<MainContentAllPresenter>(), MainContentAllContract.Display {
private var imageCarousel: ImageCarousel? = null
private var sportId: String = "" private var sportId: String = ""
private var liveItemAdapter: LiveItemAdapter? = null private var liveItemAdapter: LiveItemAdapter? = null
private var liveTopAdapter: LiveTopAdapter? = null private var liveTopAdapter: LiveTopAdapter? = null
...@@ -63,23 +66,18 @@ class MainContentAllFragment : ToolbarFragment<MainContentAllPresenter>(), MainC ...@@ -63,23 +66,18 @@ class MainContentAllFragment : ToolbarFragment<MainContentAllPresenter>(), MainC
} }
private fun initView() { private fun initView() {
presenter?.initDot(lineLayout_dot, main_view_pager, tv_pager_title) initBanner()
liveItemAdapter = LiveItemAdapter(R.layout.item_match_normal_live, this) liveItemAdapter = LiveItemAdapter(R.layout.item_match_normal_live, this)
mRecyclerView?.layoutManager = GridLayoutManager(activity, 2) mRecyclerView?.layoutManager = GridLayoutManager(activity, 2)
activity?.let { RecyclerViewUtil.addGridItemDecoration(it, mRecyclerView!!, R.color.transparent, 2 * Constants.item_divider_4) } activity?.let { RecyclerViewUtil.addGridItemDecoration(it, mRecyclerView!!, R.color.transparent, 2 * Constants.item_divider_4) }
mRecyclerView?.adapter = liveItemAdapter mRecyclerView?.adapter = liveItemAdapter
liveItemAdapter?.setOnItemClickListener { adapter, view, position -> liveItemAdapter?.setOnItemClickListener { adapter, view, position ->
if (SPUtil[Constants.USER_LOGIN, false] as Boolean) {
val item: LiveBean.DataListBean = adapter.getItem(position) as LiveBean.DataListBean val item: LiveBean.DataListBean = adapter.getItem(position) as LiveBean.DataListBean
val intent = Intent(activity, LiveActivity::class.java) val intent = Intent(activity, LiveActivity::class.java)
intent.putExtra(Constants.ROOM_ID, item.roomId) intent.putExtra(Constants.ROOM_ID, item.roomId)
intent.putExtra(Constants.ROOM_COVER, item.matchCutImg) intent.putExtra(Constants.ROOM_COVER, item.matchCutImg)
// intent.putExtra(Constants.SPORT_ID,item.anchorName)
startActivity(intent) startActivity(intent)
} else {
DialogUtils.showLogin(mContext as AppCompatActivity)
// startActivity(LoginActivity::class.java)
}
} }
...@@ -110,32 +108,23 @@ class MainContentAllFragment : ToolbarFragment<MainContentAllPresenter>(), MainC ...@@ -110,32 +108,23 @@ class MainContentAllFragment : ToolbarFragment<MainContentAllPresenter>(), MainC
} }
} }
private fun initBanner() {
/** val list = SPUtil.getSerializableObject<ArrayList<BannerBean>>(Constants.BANNER_LIST)
* 暂停已经隐藏Fragment的轮播图 val bannerViewPager = banner_view as BannerViewPager<BannerBean>
* 继续现在显示Fragment的轮播图 bannerViewPager
*/ .setIndicatorVisibility(View.GONE)
@Subscribe(threadMode = ThreadMode.MAIN, sticky = true, priority = 1) .setLifecycleRegistry(lifecycle)
fun onEventVisible(event: VisibleEvent) { .setIndicatorSlideMode(IndicatorSlideMode.SMOOTH)
if (event.className == parentFragment?.javaClass?.simpleName) { .setPageStyle(PageStyle.NORMAL)
if (event.isVisible) { //再MultiPageScale的模式下,左右各突出多少
imageCarousel?.startAutoPlay() // .setRevealWidth(30, 30)
} else { .setOnPageClickListener { clickedView: View?, position: Int ->
imageCarousel?.stopAutoPlay() //点击事件
}
} }
.setAdapter(HomeBannerAdapter()).create(list)
} }
override fun setUserVisibleHint(isVisibleToUser: Boolean) {
super.setUserVisibleHint(isVisibleToUser)
if (isVisibleToUser) {
imageCarousel?.startAutoPlay()
} else {
imageCarousel?.stopAutoPlay()
}
L.e("isVisible", "$this=======visibleToUser$isVisibleToUser")
}
override fun lazyLoad() { override fun lazyLoad() {
...@@ -166,15 +155,6 @@ class MainContentAllFragment : ToolbarFragment<MainContentAllPresenter>(), MainC ...@@ -166,15 +155,6 @@ class MainContentAllFragment : ToolbarFragment<MainContentAllPresenter>(), MainC
} }
override fun onDot(imageCarousel: ImageCarousel) {
this.imageCarousel = imageCarousel
imageCarousel.startAutoPlay()
imageCarousel.setOnItemClickListener(object : ImageCarousel.OnItemClickListener {
override fun onClick(url: String?, adType: String) {
//轮播图点击事件
}
})
}
override fun onRequestLiveData(data: List<LiveBean.DataListBean>?) { override fun onRequestLiveData(data: List<LiveBean.DataListBean>?) {
liveItemAdapter?.let { liveItemAdapter?.let {
...@@ -196,7 +176,7 @@ class MainContentAllFragment : ToolbarFragment<MainContentAllPresenter>(), MainC ...@@ -196,7 +176,7 @@ class MainContentAllFragment : ToolbarFragment<MainContentAllPresenter>(), MainC
override fun onMessage(data: List<MessageBean.DataListBean>?) { override fun onMessage(data: List<MessageBean.DataListBean>?) {
data?.let {list-> data?.let {list->
if (list.isNotEmpty()){ if (list.isNotEmpty()){
ll_message.visibility = View.VISIBLE ll_message.visibility = View.GONE
tv_message.text =list[0].title tv_message.text =list[0].title
ll_message.setOnClickListener { ll_message.setOnClickListener {
DialogUtils.showMessage(requireActivity() as AppCompatActivity,list[0].content) DialogUtils.showMessage(requireActivity() as AppCompatActivity,list[0].content)
......
...@@ -60,17 +60,23 @@ class MainContentNormalFragment : ToolbarFragment<MainContentNormalPresenter>(), ...@@ -60,17 +60,23 @@ class MainContentNormalFragment : ToolbarFragment<MainContentNormalPresenter>(),
mRecyclerView?.layoutManager = GridLayoutManager(activity, 2) mRecyclerView?.layoutManager = GridLayoutManager(activity, 2)
activity?.let { RecyclerViewUtil.addGridItemDecoration(it, mRecyclerView!!, R.color.transparent, 2 * Constants.item_divider) } activity?.let { RecyclerViewUtil.addGridItemDecoration(it, mRecyclerView!!, R.color.transparent, 2 * Constants.item_divider) }
liveItemAdapter?.setOnItemClickListener { adapter, view, position -> liveItemAdapter?.setOnItemClickListener { adapter, view, position ->
if (SPUtil[Constants.USER_LOGIN, false] as Boolean) {
val item:LiveBean.DataListBean = adapter.getItem(position) as LiveBean.DataListBean val item:LiveBean.DataListBean = adapter.getItem(position) as LiveBean.DataListBean
val intent = Intent(activity, LiveActivity::class.java) val intent = Intent(activity, LiveActivity::class.java)
intent.putExtra(Constants.ROOM_ID,item.roomId) intent.putExtra(Constants.ROOM_ID,item.roomId)
intent.putExtra(Constants.ROOM_COVER,item.matchCutImg) intent.putExtra(Constants.ROOM_COVER,item.matchCutImg)
// intent.putExtra(Constants.SPORT_ID,item.anchorName) // intent.putExtra(Constants.SPORT_ID,item.anchorName)
startActivity(intent) startActivity(intent)
} else { // if (SPUtil[Constants.USER_LOGIN, false] as Boolean) {
DialogUtils.showLogin(mContext as AppCompatActivity) // val item:LiveBean.DataListBean = adapter.getItem(position) as LiveBean.DataListBean
// startActivity(LoginActivity::class.java) // val intent = Intent(activity, LiveActivity::class.java)
} // intent.putExtra(Constants.ROOM_ID,item.roomId)
// intent.putExtra(Constants.ROOM_COVER,item.matchCutImg)
//// intent.putExtra(Constants.SPORT_ID,item.anchorName)
// startActivity(intent)
// } else {
// DialogUtils.showLogin(mContext as AppCompatActivity)
//// startActivity(LoginActivity::class.java)
// }
} }
......
...@@ -2,6 +2,7 @@ package com.hupu.tv.player.app.ui.fragment ...@@ -2,6 +2,7 @@ package com.hupu.tv.player.app.ui.fragment
import android.content.Intent import android.content.Intent
import android.os.Bundle import android.os.Bundle
import android.view.View
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
...@@ -15,10 +16,15 @@ import com.hupu.tv.player.app.base.ToolbarFragment ...@@ -15,10 +16,15 @@ import com.hupu.tv.player.app.base.ToolbarFragment
import com.hupu.tv.player.app.bean.* import com.hupu.tv.player.app.bean.*
import com.hupu.tv.player.app.event.VisibleEvent import com.hupu.tv.player.app.event.VisibleEvent
import com.hupu.tv.player.app.ui.activity.NewsDetailActivity import com.hupu.tv.player.app.ui.activity.NewsDetailActivity
import com.hupu.tv.player.app.ui.adapter.HomeBannerAdapter
import com.hupu.tv.player.app.ui.adapter.NewsListAdapter import com.hupu.tv.player.app.ui.adapter.NewsListAdapter
import com.hupu.tv.player.app.ui.contact.MainNewsContentAllContract import com.hupu.tv.player.app.ui.contact.MainNewsContentAllContract
import com.hupu.tv.player.app.ui.presenter.MainNewsContentAllPresenter import com.hupu.tv.player.app.ui.presenter.MainNewsContentAllPresenter
import com.hupu.tv.player.app.widget.ImageCarousel import com.hupu.tv.player.app.widget.ImageCarousel
import com.softgarden.baselibrary.utils.SPUtil
import com.zhpan.bannerview.BannerViewPager
import com.zhpan.bannerview.constants.PageStyle
import com.zhpan.indicator.enums.IndicatorSlideMode
import kotlinx.android.synthetic.main.fragment_news_all.* import kotlinx.android.synthetic.main.fragment_news_all.*
import org.greenrobot.eventbus.EventBus import org.greenrobot.eventbus.EventBus
import org.greenrobot.eventbus.Subscribe import org.greenrobot.eventbus.Subscribe
...@@ -30,7 +36,6 @@ import org.greenrobot.eventbus.ThreadMode ...@@ -30,7 +36,6 @@ import org.greenrobot.eventbus.ThreadMode
* @describe * @describe
*/ */
class MainNewsContentAllFragment : ToolbarFragment<MainNewsContentAllPresenter>(), MainNewsContentAllContract.Display { class MainNewsContentAllFragment : ToolbarFragment<MainNewsContentAllPresenter>(), MainNewsContentAllContract.Display {
private var imageCarousel: ImageCarousel? = null
private var tagId: String = "" private var tagId: String = ""
private lateinit var newsAdapter: NewsListAdapter private lateinit var newsAdapter: NewsListAdapter
override val layoutId: Int override val layoutId: Int
...@@ -41,14 +46,15 @@ class MainNewsContentAllFragment : ToolbarFragment<MainNewsContentAllPresenter>( ...@@ -41,14 +46,15 @@ class MainNewsContentAllFragment : ToolbarFragment<MainNewsContentAllPresenter>(
} }
override fun initEventAndData() { override fun initEventAndData() {
EventBus.getDefault().register(this)
initRefreshLayout() initRefreshLayout()
initRecyclerView() initRecyclerView()
initView() initView()
} }
private fun initView() { private fun initView() {
presenter?.initDot(lineLayout_dot, main_view_pager, tv_pager_title)
initBanner()
newsAdapter = NewsListAdapter(R.layout.item_news, this) newsAdapter = NewsListAdapter(R.layout.item_news, this)
mRecyclerView?.layoutManager = LinearLayoutManager(requireContext()) mRecyclerView?.layoutManager = LinearLayoutManager(requireContext())
activity?.let { RecyclerViewUtil.addItemDecoration(it, mRecyclerView!!, R.color.view_color, 1) } activity?.let { RecyclerViewUtil.addItemDecoration(it, mRecyclerView!!, R.color.view_color, 1) }
...@@ -65,34 +71,22 @@ class MainNewsContentAllFragment : ToolbarFragment<MainNewsContentAllPresenter>( ...@@ -65,34 +71,22 @@ class MainNewsContentAllFragment : ToolbarFragment<MainNewsContentAllPresenter>(
} }
} }
private fun initBanner() {
/** val list = SPUtil.getSerializableObject<ArrayList<BannerBean>>(Constants.NEWS_HEAD_LIST)
* 暂停已经隐藏Fragment的轮播图 val bannerViewPager = banner_view as BannerViewPager<BannerBean>
* 继续现在显示Fragment的轮播图 bannerViewPager
*/ .setIndicatorVisibility(View.GONE)
@Subscribe(threadMode = ThreadMode.MAIN, sticky = true, priority = 1) .setLifecycleRegistry(lifecycle)
fun onEventVisible(event: VisibleEvent) { .setIndicatorSlideMode(IndicatorSlideMode.SMOOTH)
if (event.className == parentFragment?.javaClass?.simpleName) { .setPageStyle(PageStyle.NORMAL)
if (event.isVisible) { //再MultiPageScale的模式下,左右各突出多少
imageCarousel?.startAutoPlay() // .setRevealWidth(30, 30)
} else { .setOnPageClickListener { clickedView: View?, position: Int ->
imageCarousel?.stopAutoPlay() //点击事件
}
}
}
override fun setUserVisibleHint(isVisibleToUser: Boolean) {
super.setUserVisibleHint(isVisibleToUser)
if (isVisibleToUser) {
imageCarousel?.startAutoPlay()
} else {
imageCarousel?.stopAutoPlay()
} }
L.e("isVisible", "$this=======visibleToUser$isVisibleToUser") .setAdapter(HomeBannerAdapter()).create(list)
} }
override fun lazyLoad() { override fun lazyLoad() {
presenter?.getNewsList(tagId, mPage) presenter?.getNewsList(tagId, mPage)
} }
...@@ -114,30 +108,9 @@ class MainNewsContentAllFragment : ToolbarFragment<MainNewsContentAllPresenter>( ...@@ -114,30 +108,9 @@ class MainNewsContentAllFragment : ToolbarFragment<MainNewsContentAllPresenter>(
} }
override fun onDot(imageCarousel: ImageCarousel) {
this.imageCarousel = imageCarousel
imageCarousel.startAutoPlay()
imageCarousel.setOnItemClickListener(object : ImageCarousel.OnItemClickListener {
override fun onClick(url: String?, adType: String) {
//轮播图点击事件
}
})
}
override fun onRequestLiveData(data: List<LiveBean.DataListBean>?) { override fun onRequestLiveData(data: List<LiveBean.DataListBean>?) {
newsAdapter?.let { newsAdapter?.let {
setLoadMore(it, data) setLoadMore(it, data)
} }
} }
override fun onDestroy() {
EventBus.getDefault().unregister(this)
super.onDestroy()
}
override fun onDestroyView() {
super.onDestroyView()
EventBus.getDefault().unregister(this)
}
} }
\ No newline at end of file
...@@ -14,6 +14,8 @@ import com.hupu.tv.player.app.bean.MatchOddEntity ...@@ -14,6 +14,8 @@ import com.hupu.tv.player.app.bean.MatchOddEntity
import com.hupu.tv.player.app.ui.contact.MatchIndexContact import com.hupu.tv.player.app.ui.contact.MatchIndexContact
import com.hupu.tv.player.app.ui.presenter.MatchIndexPresenter import com.hupu.tv.player.app.ui.presenter.MatchIndexPresenter
import com.softgarden.baselibrary.base.FragmentBasePagerAdapter import com.softgarden.baselibrary.base.FragmentBasePagerAdapter
import com.softgarden.baselibrary.base.IBaseDisplay
import com.softgarden.baselibrary.base.IBasePresenter
import kotlinx.android.synthetic.main.fragment_detail_index.* import kotlinx.android.synthetic.main.fragment_detail_index.*
...@@ -23,7 +25,7 @@ import kotlinx.android.synthetic.main.fragment_detail_index.* ...@@ -23,7 +25,7 @@ import kotlinx.android.synthetic.main.fragment_detail_index.*
* @date on 2020/6/14 * @date on 2020/6/14
* @describe * @describe
*/ */
class MatchIndexFragment : ToolbarFragment<MatchIndexPresenter>(), MatchIndexContact.Display { class MatchIndexFragment : ToolbarFragment<IBasePresenter>(), IBaseDisplay {
private val handicapList = arrayListOf<MatchIndexDataEntity>() private val handicapList = arrayListOf<MatchIndexDataEntity>()
private val indemnityList = arrayListOf<MatchIndexDataEntity>() private val indemnityList = arrayListOf<MatchIndexDataEntity>()
private val totalList = arrayListOf<MatchIndexDataEntity>() private val totalList = arrayListOf<MatchIndexDataEntity>()
...@@ -121,39 +123,39 @@ class MatchIndexFragment : ToolbarFragment<MatchIndexPresenter>(), MatchIndexCon ...@@ -121,39 +123,39 @@ class MatchIndexFragment : ToolbarFragment<MatchIndexPresenter>(), MatchIndexCon
} }
} }
override fun onodds(data: List<MatchOddEntity?>?) { // override fun onodds(data: List<MatchOddEntity?>?) {
//
data?.forEach { // data?.forEach {
val companyInfo = it?.companyInfos?.get(0) // val companyInfo = it?.companyInfos?.get(0)
val companyName = companyInfo?.companyName // val companyName = companyInfo?.companyName
val handicapFirst = companyInfo?.ranFen?.initialOdds?.away?.toString() // val handicapFirst = companyInfo?.ranFen?.initialOdds?.away?.toString()
val handicapSecond = companyInfo?.ranFen?.initialOdds?.handicap?.toString() // val handicapSecond = companyInfo?.ranFen?.initialOdds?.handicap?.toString()
val handicapThird = companyInfo?.ranFen?.initialOdds?.home?.toString() // val handicapThird = companyInfo?.ranFen?.initialOdds?.home?.toString()
val handicapFourth = companyInfo?.ranFen?.nowOdds?.away?.toString() // val handicapFourth = companyInfo?.ranFen?.nowOdds?.away?.toString()
val handicapFifth = companyInfo?.ranFen?.nowOdds?.handicap?.toString() // val handicapFifth = companyInfo?.ranFen?.nowOdds?.handicap?.toString()
val handicapSixth = companyInfo?.ranFen?.nowOdds?.home?.toString() // val handicapSixth = companyInfo?.ranFen?.nowOdds?.home?.toString()
val handicapEntity = MatchIndexDataEntity(companyName, handicapFirst, handicapSecond, handicapThird, handicapFourth, handicapFifth, handicapSixth) // val handicapEntity = MatchIndexDataEntity(companyName, handicapFirst, handicapSecond, handicapThird, handicapFourth, handicapFifth, handicapSixth)
handicapList.add(handicapEntity) // handicapList.add(handicapEntity)
//
val indemnityFirst = companyInfo?.ouZhi?.initialOdds?.away?.toString() // val indemnityFirst = companyInfo?.ouZhi?.initialOdds?.away?.toString()
val indemnitySecond = companyInfo?.ouZhi?.initialOdds?.handicap?.toString() // val indemnitySecond = companyInfo?.ouZhi?.initialOdds?.handicap?.toString()
val indemnityThird = companyInfo?.ouZhi?.initialOdds?.home?.toString() // val indemnityThird = companyInfo?.ouZhi?.initialOdds?.home?.toString()
val indemnityFourth = companyInfo?.ouZhi?.nowOdds?.away?.toString() // val indemnityFourth = companyInfo?.ouZhi?.nowOdds?.away?.toString()
val indemnityFifth = companyInfo?.ouZhi?.nowOdds?.handicap?.toString() // val indemnityFifth = companyInfo?.ouZhi?.nowOdds?.handicap?.toString()
val indemnitySixth = companyInfo?.ouZhi?.nowOdds?.home?.toString() // val indemnitySixth = companyInfo?.ouZhi?.nowOdds?.home?.toString()
val indemnityEntity = MatchIndexDataEntity(companyName, indemnityFirst, indemnitySecond, indemnityThird, indemnityFourth, indemnityFifth, indemnitySixth) // val indemnityEntity = MatchIndexDataEntity(companyName, indemnityFirst, indemnitySecond, indemnityThird, indemnityFourth, indemnityFifth, indemnitySixth)
indemnityList.add(indemnityEntity) // indemnityList.add(indemnityEntity)
//
//
val totalFirst = companyInfo?.daXiao?.initialOdds?.away?.toString() // val totalFirst = companyInfo?.daXiao?.initialOdds?.away?.toString()
val totalSecond = companyInfo?.daXiao?.initialOdds?.handicap?.toString() // val totalSecond = companyInfo?.daXiao?.initialOdds?.handicap?.toString()
val totalThird = companyInfo?.daXiao?.initialOdds?.home?.toString() // val totalThird = companyInfo?.daXiao?.initialOdds?.home?.toString()
val totalFourth = companyInfo?.daXiao?.nowOdds?.away?.toString() // val totalFourth = companyInfo?.daXiao?.nowOdds?.away?.toString()
val totalFifth = companyInfo?.daXiao?.nowOdds?.handicap?.toString() // val totalFifth = companyInfo?.daXiao?.nowOdds?.handicap?.toString()
val totalSixth = companyInfo?.daXiao?.nowOdds?.home?.toString() // val totalSixth = companyInfo?.daXiao?.nowOdds?.home?.toString()
val totalEntity = MatchIndexDataEntity(companyName, totalFirst, totalSecond, totalThird, totalFourth, totalFifth, totalSixth) // val totalEntity = MatchIndexDataEntity(companyName, totalFirst, totalSecond, totalThird, totalFourth, totalFifth, totalSixth)
totalList.add(totalEntity) // totalList.add(totalEntity)
initViewPager() // initViewPager()
} // }
} // }
} }
\ No newline at end of file
...@@ -53,20 +53,20 @@ public class CustomTextRow extends EaseChatRowText { ...@@ -53,20 +53,20 @@ public class CustomTextRow extends EaseChatRowText {
@Override @Override
protected void onInflateView() { protected void onInflateView() {
inflater.inflate(!showSenderType ? R.layout.custom_row_received_message inflater.inflate(R.layout.custom_row_received_message, this);
: R.layout.custom_row_sent_message, this);
} }
@Override @Override
protected void setAvatarAndNick() { protected void setAvatarAndNick() {
String userNick = message.getStringAttribute(Constants.USER_NICK, message.getFrom()); String userNick = message.getStringAttribute(Constants.USER_NICK, message.getFrom());
int level = message.getIntAttribute(Constants.USER_LEVEL, 1); int level = message.getIntAttribute(Constants.USER_LEVEL, 1);
userNick = userNick.replace("\n", "");
if (isSender()) { if (isSender()) {
EaseUserUtils.setUserAvatar(context, EMClient.getInstance().getCurrentUser(), userAvatarView); EaseUserUtils.setUserAvatar(context, EMClient.getInstance().getCurrentUser(), userAvatarView);
//只要不是常规布局形式,就展示昵称 //只要不是常规布局形式,就展示昵称
if (EaseChatItemStyleHelper.getInstance().getStyle().getItemShowType() != EaseChatMessageListLayout.ShowType.NORMAL.ordinal()) { if (EaseChatItemStyleHelper.getInstance().getStyle().getItemShowType() != EaseChatMessageListLayout.ShowType.NORMAL.ordinal()) {
EaseUserUtils.setUserNick(userNick+ ":", usernickView); EaseUserUtils.setUserNick(userNick+":", usernickView);
tvLevel.setText("LV." +level); tvLevel.setText("LV." +level);
} }
...@@ -74,7 +74,7 @@ public class CustomTextRow extends EaseChatRowText { ...@@ -74,7 +74,7 @@ public class CustomTextRow extends EaseChatRowText {
//todo 接受来的昵称 //todo 接受来的昵称
EaseUserUtils.setUserAvatar(context, message.getFrom(), userAvatarView); EaseUserUtils.setUserAvatar(context, message.getFrom(), userAvatarView);
EaseUserUtils.setUserNick(userNick + ":", usernickView); EaseUserUtils.setUserNick(userNick+":", usernickView);
tvLevel.setText("LV." + level); tvLevel.setText("LV." + level);
} }
} }
......
...@@ -67,7 +67,7 @@ class LoginActivityPresenter : IBasePresenter, LoginActivityContact.Present { ...@@ -67,7 +67,7 @@ class LoginActivityPresenter : IBasePresenter, LoginActivityContact.Present {
// else { // else {
// DialogUtils.showReContact(mView as AppCompatActivity, object : DialogUtils.OnClickSingleListener { // DialogUtils.showReContact(mView as AppCompatActivity, object : DialogUtils.OnClickSingleListener {
// override fun onClick() { // override fun onClick() {
// mTvMessage?.text = mTvMessage?.text.toString() + "\n" + "重新登" // mTvMessage?.text = mTvMessage?.text.toString() + "\n" + "重新登"
// login(phone,nickName,smsCode,userAvatar) // login(phone,nickName,smsCode,userAvatar)
// } // }
// }) // })
......
...@@ -26,38 +26,15 @@ import com.hupu.tv.player.app.widget.ImageCarousel ...@@ -26,38 +26,15 @@ import com.hupu.tv.player.app.widget.ImageCarousel
*/ */
class MainContentAllPresenter : IBasePresenter, MainContentAllContract.Presenter { class MainContentAllPresenter : IBasePresenter, MainContentAllContract.Presenter {
private var mView: MainContentAllContract.Display? = null private var mView: MainContentAllContract.Display? = null
private var imageInfoList = ArrayList<ImageInfo>()
private var dots: ArrayList<View?>? = arrayListOf()
private var imageCarousel: ImageCarousel? = null
override fun attachView(view: IBaseDisplay?) { override fun attachView(view: IBaseDisplay?) {
mView = view as MainContentAllContract.Display? mView = view as MainContentAllContract.Display?
} }
override fun detachView() { override fun detachView() {
imageCarousel?.stopAutoPlay()
imageCarousel?.adapter = null
imageCarousel?.weakReference = null
imageCarousel?.weakReferenceT = null
imageCarousel?.weakReferenceV = null
imageCarousel = null
dots = null
} }
override fun initDot(linearLayout: LinearLayout, viewPager: ViewPager, textView: TextView) {
if (imageCarousel == null) {
val list = SPUtil.getSerializableObject<ArrayList<BannerBean>>(Constants.BANNER_LIST)
linearLayout.removeAllViews()
dots = addDots(linearLayout, mView?.baseActivity?.resources?.getDrawable(R.drawable.shape_dot_normal), list?.size
?: 0)
imageCarousel = mView?.baseFragment?.let { ImageCarousel(it, viewPager, textView, dots, Constants.IMAGE_CAROUSEL_TIME) }
imageCarousel?.init(list)
imageCarousel?.start()
imageCarousel?.let {
mView?.onDot(it)
}
}
}
override fun reserveMatch(id: String) { override fun reserveMatch(id: String) {
...@@ -145,39 +122,4 @@ class MainContentAllPresenter : IBasePresenter, MainContentAllContract.Presenter ...@@ -145,39 +122,4 @@ class MainContentAllPresenter : IBasePresenter, MainContentAllContract.Presenter
} }
}) })
} }
private fun addDots(linearLayout: LinearLayout, background: Drawable?, number: Int): ArrayList<View?>? {
for (index in 2..number - 1) { // 注意这里的 i 从 2 开始,只画出number个点
var dotId = addDot(linearLayout, background)
dots?.add(mView?.baseActivity?.findViewById(dotId))
}
return dots
}
/**
* 动态添加一个点
*
* @param linearLayout 添加到LinearLayout布局
* @param backgount 设置
* @return 小点的Id
*/
private fun addDot(linearLayout: LinearLayout, backgount: Drawable?): Int {
var dot = View(mView?.baseActivity)
var dotParams = LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT)
dotParams.width = 16
dotParams.height = 16
dotParams.setMargins(4, 0, 4, 0)
dot.layoutParams = dotParams
dot.background = backgount
dot.id = View.generateViewId()
this.run {
linearLayout.addView(dot)
}
return dot.id
}
} }
\ No newline at end of file
...@@ -26,37 +26,13 @@ import com.hupu.tv.player.app.widget.ImageCarousel ...@@ -26,37 +26,13 @@ import com.hupu.tv.player.app.widget.ImageCarousel
*/ */
class MainNewsContentAllPresenter : IBasePresenter, MainNewsContentAllContract.Presenter { class MainNewsContentAllPresenter : IBasePresenter, MainNewsContentAllContract.Presenter {
private var mView: MainNewsContentAllContract.Display? = null private var mView: MainNewsContentAllContract.Display? = null
private var imageInfoList = ArrayList<ImageInfo>()
private var dots: ArrayList<View?>? = arrayListOf()
private var imageCarousel: ImageCarousel? = null
override fun attachView(view: IBaseDisplay?) { override fun attachView(view: IBaseDisplay?) {
mView = view as MainNewsContentAllContract.Display? mView = view as MainNewsContentAllContract.Display?
} }
override fun detachView() { override fun detachView() {
imageCarousel?.stopAutoPlay()
imageCarousel?.adapter = null
imageCarousel?.weakReference = null
imageCarousel?.weakReferenceT = null
imageCarousel?.weakReferenceV = null
imageCarousel = null
dots = null
}
override fun initDot(linearLayout: LinearLayout, viewPager: ViewPager, textView: TextView) {
if (imageCarousel == null) {
val list = SPUtil.getSerializableObject<ArrayList<BannerBean>>(Constants.NEWS_HEAD_LIST)
linearLayout.removeAllViews()
dots = addDots(linearLayout, mView?.baseActivity?.resources?.getDrawable(R.drawable.shape_dot_normal), list?.size
?: 0)
imageCarousel = mView?.baseFragment?.let { ImageCarousel(it, viewPager, textView, dots, Constants.IMAGE_CAROUSEL_TIME) }
imageCarousel?.init(list)
imageCarousel?.start()
imageCarousel?.let {
mView?.onDot(it)
}
}
} }
...@@ -76,39 +52,4 @@ class MainNewsContentAllPresenter : IBasePresenter, MainNewsContentAllContract.P ...@@ -76,39 +52,4 @@ class MainNewsContentAllPresenter : IBasePresenter, MainNewsContentAllContract.P
} }
private fun addDots(linearLayout: LinearLayout, background: Drawable?, number: Int): ArrayList<View?>? {
for (index in 2..number - 1) { // 注意这里的 i 从 2 开始,只画出number个点
var dotId = addDot(linearLayout, background)
dots?.add(mView?.baseActivity?.findViewById(dotId))
}
return dots
}
/**
* 动态添加一个点
*
* @param linearLayout 添加到LinearLayout布局
* @param backgount 设置
* @return 小点的Id
*/
private fun addDot(linearLayout: LinearLayout, backgount: Drawable?): Int {
var dot = View(mView?.baseActivity)
var dotParams = LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT)
dotParams.width = 16
dotParams.height = 16
dotParams.setMargins(4, 0, 4, 0)
dot.layoutParams = dotParams
dot.background = backgount
dot.id = View.generateViewId()
this.run {
linearLayout.addView(dot)
}
return dot.id
}
} }
\ No newline at end of file
...@@ -42,10 +42,7 @@ class SettingPresenter : IBasePresenter, SettingContact.presenter { ...@@ -42,10 +42,7 @@ class SettingPresenter : IBasePresenter, SettingContact.presenter {
.compose(NetworkTransformer(mView, false)) .compose(NetworkTransformer(mView, false))
.subscribe(object : RxCallback<String>() { .subscribe(object : RxCallback<String>() {
override fun onSuccess(data: String?) { override fun onSuccess(data: String?) {
SPUtil.put(Constants.TOKEN, "") CommonUtils.exitLogOut()
SPUtil.put(Constants.USER_LOGIN, false)
EventBus.getDefault().post(RefreshUserEvent())
CommonUtils.umengLoginOut()
mView?.onExit() mView?.onExit()
} }
}) })
...@@ -57,10 +54,7 @@ class SettingPresenter : IBasePresenter, SettingContact.presenter { ...@@ -57,10 +54,7 @@ class SettingPresenter : IBasePresenter, SettingContact.presenter {
.compose(NetworkTransformer(mView, false)) .compose(NetworkTransformer(mView, false))
.subscribe(object : RxCallback<String>() { .subscribe(object : RxCallback<String>() {
override fun onSuccess(data: String?) { override fun onSuccess(data: String?) {
SPUtil.put(Constants.TOKEN, "") CommonUtils.exitLogOut()
SPUtil.put(Constants.USER_LOGIN, false)
EventBus.getDefault().post(RefreshUserEvent())
CommonUtils.umengLoginOut()
mView?.onExit() mView?.onExit()
} }
}) })
......
...@@ -59,7 +59,7 @@ class SplashActivityPresenter : IBasePresenter, SplashActivityContact.Presenter ...@@ -59,7 +59,7 @@ class SplashActivityPresenter : IBasePresenter, SplashActivityContact.Presenter
.compose(NetworkTransformer(mView,false)) .compose(NetworkTransformer(mView,false))
.subscribe(object : RxCallback<ArrayList<BannerBean>>() { .subscribe(object : RxCallback<ArrayList<BannerBean>>() {
override fun onSuccess(data: ArrayList<BannerBean>?) { override fun onSuccess(data: ArrayList<BannerBean>?) {
SPUtil.putSerializableObject(Constants.BANNER_LIST,BannerBean.dealData(data)) SPUtil.putSerializableObject(Constants.BANNER_LIST,data)
mTvMessage?.text = mTvMessage?.text.toString() + "\n" + "请求Banner成功" mTvMessage?.text = mTvMessage?.text.toString() + "\n" + "请求Banner成功"
getNewsList() getNewsList()
} }
...@@ -68,12 +68,13 @@ class SplashActivityPresenter : IBasePresenter, SplashActivityContact.Presenter ...@@ -68,12 +68,13 @@ class SplashActivityPresenter : IBasePresenter, SplashActivityContact.Presenter
private fun getNewsList() { private fun getNewsList() {
RetrofitClient.retrofitService RetrofitClient.retrofitService
.getNewsHeadList() .getNewsHeadList(JsonUtils.toRequestBody(hashMapOf<String,Any>().apply {
put("adType",2)
}))
.compose(NetworkTransformer(mView)) .compose(NetworkTransformer(mView))
.subscribe(object : RxCallback<List<NewsHeadEntity>>() { .subscribe(object : RxCallback<List<BannerBean>>() {
override fun onSuccess(data: List<NewsHeadEntity>?) { override fun onSuccess(data: List<BannerBean>?) {
val newHeadToBanner = newHeadToBanner(data) SPUtil.putSerializableObject(Constants.NEWS_HEAD_LIST,data)
SPUtil.putSerializableObject(Constants.NEWS_HEAD_LIST,BannerBean.dealData(newHeadToBanner))
mTvMessage?.text = mTvMessage?.text.toString() + "\n" + "请求HeadList成功" mTvMessage?.text = mTvMessage?.text.toString() + "\n" + "请求HeadList成功"
getShareConfig() getShareConfig()
} }
......
...@@ -21,6 +21,7 @@ import com.hupu.tv.player.app.app.App ...@@ -21,6 +21,7 @@ import com.hupu.tv.player.app.app.App
import com.hupu.tv.player.app.app.App.Companion.instance import com.hupu.tv.player.app.app.App.Companion.instance
import com.hupu.tv.player.app.app.Constants import com.hupu.tv.player.app.app.Constants
import com.hupu.tv.player.app.bean.MovieBean.RecordsBean import com.hupu.tv.player.app.bean.MovieBean.RecordsBean
import com.hupu.tv.player.app.event.RefreshUserEvent
import com.hupu.tv.player.app.utils.DateUtil.unitFormat import com.hupu.tv.player.app.utils.DateUtil.unitFormat
import com.hupu.tv.player.app.widget.LinkTextView import com.hupu.tv.player.app.widget.LinkTextView
import com.hyphenate.util.UriUtils.* import com.hyphenate.util.UriUtils.*
...@@ -30,6 +31,7 @@ import com.softgarden.baselibrary.utils.SPUtil.Companion.putSerializableObject ...@@ -30,6 +31,7 @@ import com.softgarden.baselibrary.utils.SPUtil.Companion.putSerializableObject
import com.softgarden.baselibrary.utils.ToastUtil import com.softgarden.baselibrary.utils.ToastUtil
import com.softgarden.baselibrary.utils.ToastUtil.Companion.s import com.softgarden.baselibrary.utils.ToastUtil.Companion.s
import com.umeng.analytics.MobclickAgent import com.umeng.analytics.MobclickAgent
import org.greenrobot.eventbus.EventBus
import java.io.Serializable import java.io.Serializable
import java.text.ParseException import java.text.ParseException
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
...@@ -611,6 +613,13 @@ object CommonUtils { ...@@ -611,6 +613,13 @@ object CommonUtils {
MobclickAgent.onProfileSignOff() MobclickAgent.onProfileSignOff()
} }
fun exitLogOut(){
SPUtil.put(Constants.TOKEN, "")
SPUtil.put(Constants.USER_LOGIN, false)
EventBus.getDefault().post(RefreshUserEvent())
CommonUtils.umengLoginOut()
}
// fun getTestDeviceInfo(context: Context?): Array<String?>? { // fun getTestDeviceInfo(context: Context?): Array<String?>? {
// val deviceInfo = arrayOfNulls<String>(2) // val deviceInfo = arrayOfNulls<String>(2)
......
...@@ -4,6 +4,7 @@ import android.app.Activity; ...@@ -4,6 +4,7 @@ import android.app.Activity;
import android.content.Context; import android.content.Context;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.view.View;
import android.widget.ImageView; import android.widget.ImageView;
import androidx.core.graphics.drawable.RoundedBitmapDrawable; import androidx.core.graphics.drawable.RoundedBitmapDrawable;
...@@ -109,6 +110,13 @@ public class GlideUtils { ...@@ -109,6 +110,13 @@ public class GlideUtils {
.diskCacheStrategy(DiskCacheStrategy.ALL); .diskCacheStrategy(DiskCacheStrategy.ALL);
Glide.with(context).load(url).placeholder(placeHolder).error(placeHolder).apply(options).into(imageView); Glide.with(context).load(url).placeholder(placeHolder).error(placeHolder).apply(options).into(imageView);
} }
public static void loadImage(View context, String url, ImageView imageView, int placeHolder) {
RequestOptions options = new RequestOptions()
.centerCrop()
// .priority(Priority.HIGH)
.diskCacheStrategy(DiskCacheStrategy.ALL);
Glide.with(context).load(url).placeholder(placeHolder).error(placeHolder).apply(options).into(imageView);
}
public static void loadImage(Fragment context, String url, ImageView imageView, int placeHolder) { public static void loadImage(Fragment context, String url, ImageView imageView, int placeHolder) {
RequestOptions options = new RequestOptions() RequestOptions options = new RequestOptions()
......
...@@ -11,23 +11,23 @@ ...@@ -11,23 +11,23 @@
<ImageView <ImageView
android:id="@+id/iv_about" android:id="@+id/iv_about"
android:layout_marginTop="100dp"
android:layout_centerHorizontal="true"
android:src="@mipmap/icon_about"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content"/> android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="100dp"
android:src="@mipmap/icon_about" />
<TextView <TextView
android:id="@+id/tv_name" android:id="@+id/tv_name"
android:layout_marginTop="@dimen/dp_15" android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/iv_about" android:layout_below="@id/iv_about"
android:layout_centerHorizontal="true" android:layout_centerHorizontal="true"
android:textSize="23sp" android:layout_marginTop="@dimen/dp_15"
android:text="M直播"
android:textColor="@color/black" android:textColor="@color/black"
android:textStyle="bold" android:textSize="23sp"
android:text="红杉直播" android:textStyle="bold" />
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView <TextView
android:textStyle="bold" android:textStyle="bold"
......
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
android:id="@+id/tv_phone" android:id="@+id/tv_phone"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="手机登" android:text="手机登"
android:textColor="@color/black" android:textColor="@color/black"
android:textSize="@dimen/sp_19" /> android:textSize="@dimen/sp_19" />
......
...@@ -7,7 +7,14 @@ ...@@ -7,7 +7,14 @@
android:background="@color/white" android:background="@color/white"
android:orientation="vertical"> android:orientation="vertical">
<include layout="@layout/layout_title_live" /> <ImageView
android:id="@+id/iv_left_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="@dimen/dp_8"
android:scaleType="centerInside"
android:src="@mipmap/icon_live_back_black" />
<androidx.core.widget.NestedScrollView <androidx.core.widget.NestedScrollView
android:id="@+id/scroll_view" android:id="@+id/scroll_view"
...@@ -27,29 +34,58 @@ ...@@ -27,29 +34,58 @@
android:max="100" android:max="100"
android:visibility="gone" /> android:visibility="gone" />
<LinearLayout
android:layout_marginTop="@dimen/dp_5"
android:paddingStart="@dimen/dp_8"
android:paddingEnd="@dimen/dp_8"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:textColor="@color/text_normal"
tools:text="标题标题标题标题标题标题标题"
android:textSize="19sp"
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:layout_marginTop="@dimen/dp_10"
tools:text="2022-01-30 10:31:00"
android:textColor="@color/grey_normal"
android:textSize="@dimen/sp_13"
android:id="@+id/tv_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<WebView <WebView
android:layout_marginTop="@dimen/dp_10"
android:id="@+id/mWebView" android:id="@+id/mWebView"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" /> android:layout_height="wrap_content" />
<LinearLayout <LinearLayout
android:visibility="gone"
android:id="@+id/ll_bottom" android:id="@+id/ll_bottom"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical"> android:orientation="vertical"
android:visibility="gone">
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:layout_marginTop="@dimen/dp_10"
android:layout_marginStart="@dimen/dp_10"
android:id="@+id/recycler_label" android:id="@+id/recycler_label"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" /> android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_10"
android:layout_marginTop="@dimen/dp_10" />
<LinearLayout <LinearLayout
android:layout_marginTop="@dimen/dp_10"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_40" android:layout_height="@dimen/dp_40"
android:layout_marginTop="@dimen/dp_10"
android:gravity="center" android:gravity="center"
android:orientation="horizontal"> android:orientation="horizontal">
...@@ -123,7 +159,7 @@ ...@@ -123,7 +159,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingStart="@dimen/dp_5" android:paddingStart="@dimen/dp_5"
android:paddingEnd="5dp"/> android:paddingEnd="5dp" />
</LinearLayout> </LinearLayout>
......
...@@ -355,7 +355,7 @@ ...@@ -355,7 +355,7 @@
android:layout_gravity="center" android:layout_gravity="center"
android:layout_marginStart="@dimen/dp_20" android:layout_marginStart="@dimen/dp_20"
android:layout_marginEnd="@dimen/dp_20" android:layout_marginEnd="@dimen/dp_20"
android:background="@drawable/shape_main_exit_login" android:background="@drawable/shape_get_code"
android:gravity="center" android:gravity="center"
android:textStyle="bold" android:textStyle="bold"
android:text="注销账号" android:text="注销账号"
...@@ -370,7 +370,7 @@ ...@@ -370,7 +370,7 @@
android:layout_gravity="center" android:layout_gravity="center"
android:layout_marginStart="@dimen/dp_20" android:layout_marginStart="@dimen/dp_20"
android:layout_marginEnd="@dimen/dp_20" android:layout_marginEnd="@dimen/dp_20"
android:background="@drawable/shape_main_exit_login" android:background="@drawable/shape_get_code"
android:gravity="center" android:gravity="center"
android:textStyle="bold" android:textStyle="bold"
android:text="退出登录" android:text="退出登录"
......
...@@ -45,11 +45,13 @@ ...@@ -45,11 +45,13 @@
android:layout_marginTop="@dimen/dp_10" android:layout_marginTop="@dimen/dp_10"
android:layout_marginStart="@dimen/dp_15" android:layout_marginStart="@dimen/dp_15"
android:text="登录获得金币" android:text="登录获得金币"
android:drawablePadding="@dimen/dp_5"
android:drawableStart="@mipmap/icon_tips_login" android:drawableStart="@mipmap/icon_tips_login"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content"/> android:layout_height="wrap_content"/>
<TextView <TextView
android:drawablePadding="@dimen/dp_5"
android:textColor="@color/text_normal" android:textColor="@color/text_normal"
android:layout_marginTop="@dimen/dp_10" android:layout_marginTop="@dimen/dp_10"
android:layout_marginStart="@dimen/dp_15" android:layout_marginStart="@dimen/dp_15"
......
...@@ -3,7 +3,9 @@ ...@@ -3,7 +3,9 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:gravity="center_vertical"
android:orientation="vertical" android:orientation="vertical"
android:minHeight="@dimen/dp_25"
> >
<TextView <TextView
...@@ -15,6 +17,7 @@ ...@@ -15,6 +17,7 @@
android:layout_gravity="center" /> android:layout_gravity="center" />
<RelativeLayout <RelativeLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content"> android:layout_height="wrap_content">
...@@ -25,7 +28,7 @@ ...@@ -25,7 +28,7 @@
<LinearLayout <LinearLayout
android:id="@+id/bubble" android:id="@+id/bubble"
android:layout_width="wrap_content" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/margin_chat_activity" android:layout_marginLeft="@dimen/margin_chat_activity"
android:layout_toRightOf="@id/iv_userhead" android:layout_toRightOf="@id/iv_userhead"
...@@ -43,7 +46,6 @@ ...@@ -43,7 +46,6 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content"/> android:layout_height="wrap_content"/>
<TextView <TextView
android:minHeight="@dimen/dp_25"
android:id="@+id/tv_userid" android:id="@+id/tv_userid"
android:layout_toEndOf="@id/tv_level" android:layout_toEndOf="@id/tv_level"
style="@style/chat_text_name_style" style="@style/chat_text_name_style"
...@@ -58,16 +60,15 @@ ...@@ -58,16 +60,15 @@
android:layout_marginStart="@dimen/dp_5" android:layout_marginStart="@dimen/dp_5"
android:layout_toEndOf="@id/tv_userid" android:layout_toEndOf="@id/tv_userid"
android:id="@+id/tv_chatcontent" android:id="@+id/tv_chatcontent"
android:layout_width="wrap_content" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:autoLink="web" android:autoLink="web"
android:layout_centerInParent="true" android:layout_centerInParent="true"
android:gravity="center|left" android:gravity="center|left"
android:lineSpacingExtra="2dp" android:lineSpacingExtra="2dp"
android:maxWidth="225.0dip"
android:textColor="#ff000000" android:textColor="#ff000000"
android:textSize="15sp" android:textSize="15sp"
tools:text="文案文案文案文案文文案文案文案文案文文案文案文案文案文文案文案文案文案文文案文案文案文案文文案文案文案文案文文案文案文案文案文文案文案文案文案文"/> tools:text="文案文案"/>
</LinearLayout> </LinearLayout>
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_15" android:layout_marginTop="@dimen/dp_15"
android:gravity="center" android:gravity="center"
android:text="登失败" android:text="登失败"
android:textColor="@color/black" android:textColor="@color/black"
android:textSize="@dimen/sp_17" android:textSize="@dimen/sp_17"
android:textStyle="bold" /> android:textStyle="bold" />
......
...@@ -36,16 +36,20 @@ ...@@ -36,16 +36,20 @@
android:layout_marginTop="@dimen/dp_10" android:layout_marginTop="@dimen/dp_10"
android:textSize="@dimen/sp_12" android:textSize="@dimen/sp_12"
android:textColor="@color/grey_normal" android:textColor="@color/grey_normal"
android:text="登账号关注喜欢的主播" android:text="登账号关注喜欢的主播"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content"/> android:layout_height="wrap_content"/>
<ImageView <TextView
android:id="@+id/iv_login" android:gravity="center"
android:src="@mipmap/icon_login" android:textColor="@color/white"
android:textSize="@dimen/sp_13"
android:text="登录/快速注册"
android:id="@+id/tv_login"
android:background="@drawable/shape_get_code"
android:layout_marginTop="@dimen/dp_15" android:layout_marginTop="@dimen/dp_15"
android:layout_width="wrap_content" android:layout_width="130dp"
android:layout_height="wrap_content"/> android:layout_height="@dimen/dp_40"/>
</LinearLayout> </LinearLayout>
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
......
...@@ -29,15 +29,19 @@ ...@@ -29,15 +29,19 @@
android:layout_marginTop="@dimen/dp_10" android:layout_marginTop="@dimen/dp_10"
android:textSize="@dimen/sp_12" android:textSize="@dimen/sp_12"
android:textColor="@color/grey_normal" android:textColor="@color/grey_normal"
android:text="登账号预约想看的赛事" android:text="登账号预约想看的赛事"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content"/> android:layout_height="wrap_content"/>
<ImageView <TextView
android:id="@+id/iv_login" android:gravity="center"
android:src="@mipmap/icon_login" android:textColor="@color/white"
android:textSize="@dimen/sp_13"
android:text="登录/快速注册"
android:id="@+id/tv_login"
android:background="@drawable/shape_get_code"
android:layout_marginTop="@dimen/dp_15" android:layout_marginTop="@dimen/dp_15"
android:layout_width="wrap_content" android:layout_width="130dp"
android:layout_height="wrap_content"/> android:layout_height="@dimen/dp_40"/>
</LinearLayout> </LinearLayout>
......
...@@ -36,52 +36,13 @@ ...@@ -36,52 +36,13 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical"> android:orientation="vertical">
<FrameLayout <com.zhpan.bannerview.BannerViewPager
android:layout_marginTop="@dimen/dp_5" android:id="@+id/banner_view"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="165dp" android:layout_height="165dp" />
android:background="@color/transparent"
>
<androidx.viewpager.widget.ViewPager
android:id="@+id/main_view_pager"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/dp_30"
android:layout_gravity="bottom"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_pager_title"
android:layout_width="wrap_content"
android:layout_height="@dimen/dp_35"
android:gravity="center_vertical"
android:paddingStart="6dp"
android:textColor="@android:color/white"
android:visibility="gone"
tools:text="加载图片轮播失败" />
<LinearLayout
android:id="@+id/lineLayout_dot"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginEnd="@dimen/dp_5"
android:layout_weight="1"
android:gravity="center|right"
android:orientation="horizontal"
android:paddingStart="@dimen/dp_3"
android:paddingEnd="@dimen/dp_3" />
</LinearLayout>
</FrameLayout>
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:layout_marginTop="@dimen/dp_20" android:layout_marginTop="@dimen/dp_20"
android:id="@+id/mRecyclerView_top" android:id="@+id/mRecyclerView_top"
android:layout_width="wrap_content" android:layout_width="wrap_content"
......
...@@ -10,11 +10,9 @@ ...@@ -10,11 +10,9 @@
app:srlEnableScrollContentWhenLoaded="true"> app:srlEnableScrollContentWhenLoaded="true">
<!-- elevation 高版本自带一个阴影,不需要去掉即可 --> <!-- elevation 高版本自带一个阴影,不需要去掉即可 -->
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/mRecyclerView" android:id="@+id/mRecyclerView"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent" />
/>
</com.scwang.smartrefresh.layout.SmartRefreshLayout> </com.scwang.smartrefresh.layout.SmartRefreshLayout>
\ No newline at end of file
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
android:layout_height="@dimen/dp_28" android:layout_height="@dimen/dp_28"
android:background="@drawable/shape_login_text" android:background="@drawable/shape_login_text"
android:gravity="center" android:gravity="center"
android:text="登/注册" android:text="登/注册"
android:textColor="@color/white" android:textColor="@color/white"
android:textSize="@dimen/sp_16" android:textSize="@dimen/sp_16"
android:textStyle="bold" /> android:textStyle="bold" />
......
...@@ -36,50 +36,10 @@ ...@@ -36,50 +36,10 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical"> android:orientation="vertical">
<FrameLayout <com.zhpan.bannerview.BannerViewPager
android:layout_marginTop="@dimen/dp_5" android:id="@+id/banner_view"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="130dp" android:layout_height="165dp" />
android:background="@color/transparent"
>
<androidx.viewpager.widget.ViewPager
android:id="@+id/main_view_pager"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/dp_30"
android:layout_gravity="bottom"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_pager_title"
android:layout_width="wrap_content"
android:layout_height="@dimen/dp_35"
android:gravity="center_vertical"
android:paddingStart="6dp"
android:textColor="@android:color/white"
android:visibility="gone"
tools:text="加载图片轮播失败" />
<LinearLayout
android:id="@+id/lineLayout_dot"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginEnd="@dimen/dp_5"
android:layout_weight="1"
android:gravity="center|right"
android:orientation="horizontal"
android:paddingStart="@dimen/dp_3"
android:paddingEnd="@dimen/dp_3" />
</LinearLayout>
</FrameLayout>
......
...@@ -8,12 +8,12 @@ ...@@ -8,12 +8,12 @@
<ImageView <ImageView
android:layout_marginTop="@dimen/dp_10"
android:layout_centerHorizontal="true"
android:src="@mipmap/icon_default_avatar"
android:id="@+id/iv_actor" android:id="@+id/iv_actor"
android:layout_width="@dimen/dp_42" android:layout_width="@dimen/dp_42"
android:layout_height="@dimen/dp_42" /> android:layout_height="@dimen/dp_42"
android:layout_centerHorizontal="true"
android:layout_marginTop="@dimen/dp_10"
android:src="@mipmap/icon_default_avatar" />
<ImageView <ImageView
android:layout_marginTop="-10dp" android:layout_marginTop="-10dp"
......
...@@ -15,8 +15,7 @@ ...@@ -15,8 +15,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center" android:gravity="center"
android:orientation="horizontal" android:orientation="horizontal"
android:paddingStart="@dimen/dp_10" >
android:paddingEnd="@dimen/dp_10">
<LinearLayout <LinearLayout
android:layout_width="0dp" android:layout_width="0dp"
...@@ -102,42 +101,53 @@ ...@@ -102,42 +101,53 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_10" android:layout_marginTop="@dimen/dp_10"
android:paddingStart="@dimen/dp_10" >
android:paddingEnd="@dimen/dp_10">
<LinearLayout <androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content"> android:layout_height="wrap_content">
<LinearLayout <LinearLayout
android:id="@+id/ll_left"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@id/tv_center"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center" android:layout_gravity="center"
android:layout_weight="1"
android:gravity="end"> android:gravity="end">
<ImageView
android:id="@+id/iv_home"
android:layout_width="@dimen/dp_20"
android:layout_height="@dimen/dp_20"
android:layout_gravity="center"
android:layout_marginEnd="@dimen/dp_5"
tools:src="@mipmap/match_subscribe" />
<TextView <TextView
android:id="@+id/tv_home" android:id="@+id/tv_home"
android:maxEms="7"
android:maxLines="1"
android:ellipsize="end"
android:gravity="end"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center" android:layout_gravity="center"
android:textColor="@color/text_normal5" android:textColor="@color/text_normal"
android:textSize="@dimen/sp_13" android:textSize="@dimen/sp_13"
android:layout_marginEnd="@dimen/dp_5"
tools:text="Academic普罗夫迪夫" />
<ImageView
android:id="@+id/iv_home"
android:layout_width="@dimen/dp_20"
android:layout_height="@dimen/dp_20"
android:layout_gravity="center"
tools:text="帕森拉" /> tools:src="@mipmap/match_subscribe" />
</LinearLayout> </LinearLayout>
<TextView <TextView
android:layout_width="0dp" android:id="@+id/tv_center"
app:layout_constraintStart_toEndOf="@id/ll_left"
app:layout_constraintEnd_toStartOf="@id/ll_right"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_8" android:layout_marginStart="@dimen/dp_8"
android:layout_marginEnd="@dimen/dp_8" android:layout_marginEnd="@dimen/dp_8"
...@@ -149,32 +159,41 @@ ...@@ -149,32 +159,41 @@
android:textStyle="bold" /> android:textStyle="bold" />
<LinearLayout <LinearLayout
app:layout_constraintStart_toEndOf="@id/tv_center"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:id="@+id/ll_right"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1"> android:layout_weight="1">
<ImageView
android:id="@+id/iv_away"
android:layout_width="@dimen/dp_20"
android:layout_height="@dimen/dp_20"
android:layout_gravity="center"
tools:src="@mipmap/match_subscribe" />
<TextView <TextView
android:layout_marginStart="@dimen/dp_5"
android:id="@+id/tv_away" android:id="@+id/tv_away"
android:maxEms="7"
android:ellipsize="end"
android:maxLines="1"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center" android:layout_gravity="center"
android:textColor="@color/text_normal5" android:textColor="@color/text_normal"
android:textSize="@dimen/sp_13" android:textSize="@dimen/sp_13"
tools:text="佩斯克" /> tools:text="佩斯克" />
<ImageView
android:id="@+id/iv_away"
android:layout_width="@dimen/dp_20"
android:layout_height="@dimen/dp_20"
android:layout_gravity="center"
android:layout_marginStart="@dimen/dp_5"
tools:src="@mipmap/match_subscribe" />
</LinearLayout> </LinearLayout>
</LinearLayout> </androidx.constraintlayout.widget.ConstraintLayout>
</RelativeLayout> </RelativeLayout>
......
...@@ -115,6 +115,7 @@ ...@@ -115,6 +115,7 @@
</LinearLayout> </LinearLayout>
<RelativeLayout <RelativeLayout
android:id="@+id/info" android:id="@+id/info"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
...@@ -151,6 +152,7 @@ ...@@ -151,6 +152,7 @@
<!-- android:textSize="@dimen/sp_9" />--> <!-- android:textSize="@dimen/sp_9" />-->
<ImageView <ImageView
android:layout_marginEnd="@dimen/dp_10"
android:id="@+id/iv_subscribe" android:id="@+id/iv_subscribe"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
......
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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">
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center_horizontal"
app:cardCornerRadius="@dimen/dp_4"
app:cardPreventCornerOverlap="true"
app:cardUseCompatPadding="true">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/banner_image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop" />
<TextView
android:visibility="gone"
android:id="@+id/tv_title"
android:paddingStart="@dimen/dp_17"
android:paddingEnd="@dimen/dp_17"
android:textSize="@dimen/sp_13"
android:textColor="@color/white"
android:maxLines="1"
android:ellipsize="end"
tools:text="吹杨28分老鹰轻取魔术 罗斯18+7+8"
android:layout_alignParentBottom="true"
android:gravity="center_vertical"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_35">
</TextView>
</RelativeLayout>
</androidx.cardview.widget.CardView>
</RelativeLayout>
\ No newline at end of file
...@@ -15,13 +15,13 @@ ...@@ -15,13 +15,13 @@
android:layout_height="match_parent"> android:layout_height="match_parent">
<!-- 返回箭头--> <!-- 返回箭头-->
<ImageView <ImageView
android:padding="@dimen/dp_10"
android:id="@+id/iv_left_icon" android:id="@+id/iv_left_icon"
android:layout_width="@dimen/dp_30"
android:layout_height="36dp"
android:layout_centerVertical="true" android:layout_centerVertical="true"
android:padding="@dimen/dp_10"
android:scaleType="centerCrop" android:scaleType="centerCrop"
android:src="@mipmap/icon_live_back_black" android:src="@mipmap/icon_live_back_black" />
android:layout_width="@dimen/dp_30"
android:layout_height="36dp" />
<!-- 标题--> <!-- 标题-->
<TextView <TextView
tools:text="标题" tools:text="标题"
......
...@@ -325,7 +325,7 @@ abstract class BaseActivity<P : IBasePresenter?> : RxAppCompatActivity(), IBaseD ...@@ -325,7 +325,7 @@ abstract class BaseActivity<P : IBasePresenter?> : RxAppCompatActivity(), IBaseD
if (resultCode == Activity.RESULT_OK && requestCode == REQUEST_LOGIN) { if (resultCode == Activity.RESULT_OK && requestCode == REQUEST_LOGIN) {
var eventId = 0 var eventId = 0
if (data != null) eventId = data.getIntExtra(KEY_LOGIN_EVENT, 0) if (data != null) eventId = data.getIntExtra(KEY_LOGIN_EVENT, 0)
backFromLogin(eventId) //从登界面返回 登录成功 backFromLogin(eventId) //从登界面返回 登录成功
} }
} }
......
...@@ -139,7 +139,7 @@ abstract class BaseFragment<P : IBasePresenter?> : RxFragment(), IBaseDisplay { ...@@ -139,7 +139,7 @@ abstract class BaseFragment<P : IBasePresenter?> : RxFragment(), IBaseDisplay {
if (resultCode == Activity.RESULT_OK && requestCode == REQUEST_LOGIN) { if (resultCode == Activity.RESULT_OK && requestCode == REQUEST_LOGIN) {
var eventId = 0 var eventId = 0
if (data != null) eventId = data.getIntExtra(KEY_LOGIN_EVENT, 0) if (data != null) eventId = data.getIntExtra(KEY_LOGIN_EVENT, 0)
backFromLogin(eventId) //从登界面返回 登录成功 backFromLogin(eventId) //从登界面返回 登录成功
} }
} }
......
...@@ -106,7 +106,7 @@ class CompressUtil internal constructor() { ...@@ -106,7 +106,7 @@ class CompressUtil internal constructor() {
// 图片不支持获取角度 // 图片不支持获取角度
return 0 return 0
} }
val orientation = exifInterface.getAttributeInt(ExifInterface.TAG_ORIENTATION, val orientation = exifInterface?.getAttributeInt(ExifInterface.TAG_ORIENTATION,
ExifInterface.ORIENTATION_NORMAL) ExifInterface.ORIENTATION_NORMAL)
when (orientation) { when (orientation) {
ExifInterface.ORIENTATION_ROTATE_90 -> degree = 90 ExifInterface.ORIENTATION_ROTATE_90 -> degree = 90
......
...@@ -3,7 +3,7 @@ apply from: "config.gradle" ...@@ -3,7 +3,7 @@ apply from: "config.gradle"
buildscript { buildscript {
ext.kotlin_version = '1.3.72' ext.kotlin_version = '1.5.31'
repositories { repositories {
google() google()
......
...@@ -5,8 +5,8 @@ ext { ...@@ -5,8 +5,8 @@ ext {
ver = [ ver = [
//Version //Version
versionCode : 11, versionCode : 14,
versionName : "1.0", versionName : "1.0.3",
//SDK And Tools //SDK And Tools
minSdkVersion : 23, minSdkVersion : 23,
......
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