Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
S
starlight
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
王雪伟
starlight
Commits
f456d2b4
Commit
f456d2b4
authored
Apr 19, 2022
by
王雪伟
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[提交人]:王雪伟
[提交简述] :修改测试登录方式 [实现方案] :
parent
9cd6b5c6
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
544 additions
and
186 deletions
+544
-186
build.gradle
app/build.gradle
+1
-1
build.gradle
build.gradle
+10
-0
build.gradle
cms/build.gradle
+2
-0
Constant.java
cms/src/main/java/com/zxhl/cms/common/Constant.java
+1
-1
NetConfig.java
cms/src/main/java/com/zxhl/cms/common/NetConfig.java
+7
-25
HomeListEntity.kt
...rc/main/java/com/zxhl/cms/net/model/box/HomeListEntity.kt
+1
-0
GoogleLoginUtil.kt
cms/src/main/java/com/zxhl/cms/utils/GoogleLoginUtil.kt
+1
-1
FlowLayout.java
cms/src/main/java/com/zxhl/cms/widget/FlowLayout.java
+372
-0
HorizontalAutoBrLayout.java
...main/java/com/zxhl/cms/widget/HorizontalAutoBrLayout.java
+0
-97
attrs_flowlayout.xml
cms/src/main/res/values/attrs_flowlayout.xml
+17
-0
LoginBeforeActivity.kt
...n/java/com/zxhl/main/page/activity/LoginBeforeActivity.kt
+33
-34
UserDetailsActivity.kt
...n/java/com/zxhl/main/page/activity/UserDetailsActivity.kt
+77
-10
UserDetailsContract.kt
...n/java/com/zxhl/main/page/contract/UserDetailsContract.kt
+2
-2
UserDetailsPresenter.kt
...java/com/zxhl/main/page/presenter/UserDetailsPresenter.kt
+3
-3
activity_layout_user_details_hw.xml
...n/src/main/res/layout/activity_layout_user_details_hw.xml
+17
-12
No files found.
app/build.gradle
View file @
f456d2b4
...
...
@@ -153,7 +153,7 @@ dependencies {
implementation
project
(
':moduleUc'
)
implementation
project
(
':chat'
)
implementation
project
(
':cms'
)
implementation
"androidx.core:core-ktx:1.
3.2
"
implementation
"androidx.core:core-ktx:1.
6.0
"
implementation
"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation
'androidx.appcompat:appcompat:1.3.1'
implementation
"androidx.multidex:multidex:2.0.1"
...
...
build.gradle
View file @
f456d2b4
...
...
@@ -19,6 +19,16 @@ buildscript {
classpath
"com.tencent.android.tpns:tpnsplugin:1.8.0"
classpath
'com.huawei.agconnect:agcp:1.6.0.300'
// 华为推送 gradle 插件依赖
}
subprojects
{
project
.
configurations
.
all
{
resolutionStrategy
.
eachDependency
{
details
->
if
(
details
.
requested
.
group
==
'androidx.core'
&&
!
details
.
requested
.
name
.
contains
(
'androidx'
)
)
{
details
.
useVersion
"1.6.0"
}
}
}
}
}
allprojects
{
...
...
cms/build.gradle
View file @
f456d2b4
...
...
@@ -121,4 +121,6 @@ dependencies {
api
(
"com.android.installreferrer:installreferrer:2.2"
)
//适配
api
'com.github.JessYanCoding:AndroidAutoSize:v1.2.1'
//播放器
api
'com.google.android.exoplayer:exoplayer:2.17.1'
}
cms/src/main/java/com/zxhl/cms/common/Constant.java
View file @
f456d2b4
...
...
@@ -118,7 +118,7 @@ public class Constant {
public
static
class
Param
{
public
static
final
String
mPacketName
=
"com.zhangxin.starlight"
;
public
static
boolean
isLocal
=
mPacketName
.
equals
(
"com.zx.localnews"
);
public
static
String
APPLS
=
"
e9c509214aba55b8
"
;
public
static
String
APPLS
=
"
dee4f3dbc8fcb897
"
;
public
static
String
androidId
=
""
;
public
static
String
carrier
=
""
;
public
static
String
h
=
""
;
...
...
cms/src/main/java/com/zxhl/cms/common/NetConfig.java
View file @
f456d2b4
...
...
@@ -53,10 +53,10 @@ public class NetConfig {
BASE_FEED_URL
=
"https://feedapi-sandbox.zhangxinhulian.com/"
;
break
;
default
:
BASE_URL
=
"http://feedapitest
3
.zhangxinhulian.com/"
;
BASE_WEB_URL
=
"http://feedapitest
3
.zhangxinhulian.com/"
;
BASE_NEW_URL
=
"http://feedapitest
3
.zhangxinhulian.com/"
;
BASE_FEED_URL
=
"http://feedapitest
3
.zhangxinhulian.com/"
;
BASE_URL
=
"http://feedapitest
4
.zhangxinhulian.com/"
;
BASE_WEB_URL
=
"http://feedapitest
4
.zhangxinhulian.com/"
;
BASE_NEW_URL
=
"http://feedapitest
4
.zhangxinhulian.com/"
;
BASE_FEED_URL
=
"http://feedapitest
4
.zhangxinhulian.com/"
;
break
;
}
}
...
...
@@ -218,34 +218,15 @@ public class NetConfig {
}
public
static
class
Box
{
public
static
final
String
HOME_BOX_LIST
=
"app/v1/game/box/boxList"
;
//盲盒列表
public
static
final
String
HOME_BOX_INFO
=
"app/v1/game/box/boxInfo"
;
//盲盒详情
public
static
final
String
HOME_BOX_MARQUEE
=
"app/v1/game/box/marquee"
;
//跑马灯
public
static
final
String
HOME_BOX_GOODS
=
"app/v1/game/box/boxInfo/goods"
;
//盲盒详情 - 奖品池
public
static
final
String
HOME_BOX_GET_ADDRESS
=
"app/v1/game/box/address"
;
//获取地址
public
static
final
String
HOME_BOX_EDIT_ADDRESS
=
"app/v1/game/box/address"
;
//新增或修改地址
public
static
final
String
HOME_BOX_DEPOT
=
"app/v1/game/box/depot"
;
//用户仓库
public
static
final
String
HOME_BOX_LOTTERY
=
"app/v2/game/box/lottery"
;
//单抽
public
static
final
String
HOME_BOX_FIVE_LOTTERY
=
"app/v2/game/box/lotteryFive"
;
//5连抽奖
public
static
final
String
HOME_BOX_LOTTERY_TEST
=
"app/v1/game/box/lotteryTest"
;
//盲盒抽取 - 试玩(单抽)
public
static
final
String
HOME_BOX_ORDER
=
"app/v1/game/box/order"
;
//用户订单
public
static
final
String
HOME_BOX_RECOVER
=
"app/v1/game/box/recover"
;
//分解物品
public
static
final
String
HOME_BOX_SHIPPING
=
"app/v1/game/box/getShipping"
;
//用户仓库 - 获取运费
public
static
final
String
HOME_BOX_CREATE_SHAOPPING_ORDER
=
"app/v1/game/box/createShippingOrder"
;
//创建发货订单
public
static
final
String
HOME_BOX_NEW_PEOPLE
=
"app/v1/game/box/newBox"
;
//新人盲盒
public
static
final
String
HOME_BOX_VERIFICATION
=
"app/v1/game/box/rechargeVerification"
;
//用户是否可以充值验证
public
static
final
String
HOME_BOX_GOODS_PICK_UP
=
"app/v1/game/box/goodsPickUp"
;
//用户仓库 - 虚拟商品提货
public
static
final
String
HOME_BOX_CANCE_CHOOSE
=
"app/v1/game/box/chose"
;
//取消新人宝箱
public
static
final
String
HOME_BOX_TAB
=
"app/v1/game/box/tab"
;
//tab列表
public
static
final
String
HOME_BOX_APP_INFO
=
"app/v1/app_info"
;
//配置信息
}
public
static
class
StarLight
{
public
static
final
String
HOME_STAR_LIGHT_LIST
=
"app/v1/hk/game/star/pageList"
;
//首页列表
public
static
final
String
HOME_STAR_LIGHT_USER_INFO
=
"app/v1/game/star/getUserInfo"
;
//访问他人主页
public
static
final
String
HOME_STAR_LIGHT_USER_LIKE
=
"app/v1/game/star/like"
;
//喜欢/取消喜欢
public
static
final
String
HOME_STAR_LIGHT_USER_INFO
=
"app/v1/
hk/
game/star/getUserInfo"
;
//访问他人主页
public
static
final
String
HOME_STAR_LIGHT_USER_LIKE
=
"app/v1/
hk/
game/star/like"
;
//喜欢/取消喜欢
public
static
final
String
HOME_STAR_LIGHT_USER_FOLLOW
=
"app/v1/game/star/follow"
;
//关注用户/取消关注
public
static
final
String
HOME_STAR_LIGHT_ADD_USERINFO
=
"app/v1/game/star/addUserInfo"
;
//注册 - 填写资料
public
static
final
String
HOME_STAR_LIGHT_UPLOAD
=
"app/v1/game/star/upload"
;
//上传图片
...
...
@@ -303,4 +284,5 @@ public class NetConfig {
}
}
cms/src/main/java/com/zxhl/cms/net/model/box/HomeListEntity.kt
View file @
f456d2b4
...
...
@@ -40,6 +40,7 @@ class HomeListEntity {
var
isUpload
=
false
var
videoPrice
:
String
?
=
""
var
location
:
LocationHomeEntity
?
=
null
var
matchingDegree
:
String
?
=
""
//匹配度
}
class
LocationHomeEntity
{
...
...
cms/src/main/java/com/zxhl/cms/utils/GoogleLoginUtil.kt
View file @
f456d2b4
...
...
@@ -28,7 +28,7 @@ class GoogleLoginUtil {
private
val
TAG
=
"GoogleLoginUtil"
private
val
RC_SIGN_IN
=
9009
private
val
googleClientId
=
"
535211515800-fcblld827b8ojq7dccuohmeo199205ce
.apps.googleusercontent.com"
"
455706215296-ap310uge09hg2opald90v68bh2brp6vm
.apps.googleusercontent.com"
private
var
mActivity
:
Activity
;
private
var
mGoogleSignInClient
:
GoogleSignInClient
?
=
null
;
...
...
cms/src/main/java/com/zxhl/cms/widget/FlowLayout.java
0 → 100644
View file @
f456d2b4
This diff is collapsed.
Click to expand it.
cms/src/main/java/com/zxhl/cms/widget/HorizontalAutoBrLayout.java
deleted
100644 → 0
View file @
9cd6b5c6
package
com
.
zxhl
.
cms
.
widget
;
import
android.content.Context
;
import
android.util.AttributeSet
;
import
android.view.View
;
import
android.view.ViewGroup
;
/**
* @author (wangXuewei)
* @datetime 2022-04-16 15:37 GMT+8
* @detail :
*/
public
class
HorizontalAutoBrLayout
extends
ViewGroup
{
/**
* 可使用的最大宽度
*/
private
int
maxWidth
;
public
HorizontalAutoBrLayout
(
Context
context
)
{
super
(
context
);
}
public
HorizontalAutoBrLayout
(
Context
context
,
AttributeSet
attrs
)
{
super
(
context
,
attrs
);
}
public
HorizontalAutoBrLayout
(
Context
context
,
AttributeSet
attrs
,
int
defStyle
)
{
super
(
context
,
attrs
,
defStyle
);
}
@Override
protected
void
onMeasure
(
int
widthMeasureSpec
,
int
heightMeasureSpec
)
{
maxWidth
=
MeasureSpec
.
getSize
(
widthMeasureSpec
);
/**
* 容器的高度,也就是本布局的高度。初始化赋值为0.
*/
int
containorHeight
=
0
;
/**
* 获取该布局内子组件的个数
*/
int
count
=
getChildCount
();
for
(
int
i
=
0
;
i
<
count
;
i
++)
{
View
view
=
getChildAt
(
i
);
/**
* measure(int widthMeasureSpec,int
* heightMeasureSpec)用于设置子组件显示模式.有三个值:
* MeasureSpec.AT_MOST 该组件可以设置自己的大小,但是最大不能超过其父组件的限定
* MeasureSpec.EXACTLY 无论该组件设置大小是多少,都只能按照父组件限制的大小来显示
* MeasureSpec.UNSPECIFIED 该组件不受父组件的限制,可以设置任意大小
*/
view
.
measure
(
MeasureSpec
.
UNSPECIFIED
,
MeasureSpec
.
UNSPECIFIED
);
// 把每个子组件的高度相加就是该组件要显示的高度。
containorHeight
+=
view
.
getMeasuredHeight
();
}
/**
* onMeasure方法的关键代码,该句设置父容器的大小。
*/
setMeasuredDimension
(
maxWidth
,
containorHeight
);
}
@Override
protected
void
onLayout
(
boolean
changed
,
int
l
,
int
t
,
int
r
,
int
b
)
{
// 获取子组件数
int
childCount
=
getChildCount
();
// 子组件行数,初始化赋值为1
int
row
=
1
;
// 子组件的左边“坐标”
int
left
=
0
;
// 子组件的右边“坐标”
int
right
=
0
;
// 子组件的顶部“坐标”
int
top
=
0
;
// 子组件的底部“坐标”
int
bottom
=
0
;
// 在父组件中设置的padding属性的值,该值显然也会影响到子组件在屏幕的显示位置
int
p
=
getPaddingLeft
();
for
(
int
i
=
0
;
i
<
childCount
;
i
++)
{
View
view
=
getChildAt
(
i
);
// 测量子组件的宽
int
width
=
view
.
getMeasuredWidth
();
// 测量子组件的高
int
height
=
view
.
getMeasuredHeight
();
left
=
p
+
right
;
right
=
left
+
width
;
top
=
p
*
row
+
height
*
(
row
-
1
);
bottom
=
top
+
height
;
if
(
right
>
maxWidth
)
{
row
++;
//每次换行后要将子组件左边“坐标”与右边“坐标”重新初始化
left
=
0
;
right
=
0
;
left
=
p
+
right
;
right
=
left
+
width
;
top
=
p
*
row
+
height
*
(
row
-
1
);
bottom
=
top
+
height
;
}
// 最后按照计算出来的“坐标”将子组件放在父容器内
view
.
layout
(
left
,
top
,
right
,
bottom
);
}
}
}
cms/src/main/res/values/attrs_flowlayout.xml
0 → 100644
View file @
f456d2b4
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable
name=
"FlowLayout"
>
<attr
name=
"flow"
format=
"boolean"
/>
<attr
name=
"childSpacing"
format=
"enum|dimension"
>
<enum
name=
"auto"
value=
"-65536"
/>
</attr>
<attr
name=
"childSpacingForLastRow"
format=
"enum|dimension"
>
<enum
name=
"auto"
value=
"-65536"
/>
<enum
name=
"align"
value=
"-65537"
/>
</attr>
<attr
name=
"rowSpacing"
format=
"enum|dimension"
>
<enum
name=
"auto"
value=
"-65536"
/>
</attr>
<attr
name=
"rtl"
format=
"boolean"
/>
</declare-styleable>
</resources>
\ No newline at end of file
moduleMain/src/main/java/com/zxhl/main/page/activity/LoginBeforeActivity.kt
View file @
f456d2b4
...
...
@@ -8,6 +8,7 @@ import android.text.TextPaint
import
android.text.method.LinkMovementMethod
import
android.text.style.ClickableSpan
import
android.text.style.ForegroundColorSpan
import
android.util.Log
import
android.view.View
import
com.zxhl.cms.AppContext
import
com.zxhl.cms.common.Constant
...
...
@@ -49,8 +50,6 @@ class LoginBeforeActivity : BaseActivity() {
id_tv_google_login
?.
setOnClickListener
{
imLogin
()
return
@setOnClickListener
EventUtils
.
onEvent
(
"googleLoginClick"
)
mLoading
?.
setLoading
(
getString
(
R
.
string
.
wait_ing
))
mLoading
?.
show
()
...
...
@@ -63,6 +62,7 @@ class LoginBeforeActivity : BaseActivity() {
}
override
fun
onLoginError
(
errorMsg
:
String
)
{
// Log.d("LogonLoginError", errorMsg)
EventUtils
.
onEvent
(
"GoogleLoginError"
,
errorMsg
)
runOnUiThread
{
mLoading
?.
setResult
(
false
,
"login error"
,
1000
)
...
...
@@ -72,8 +72,6 @@ class LoginBeforeActivity : BaseActivity() {
}
id_tv_facebook_login
?.
setOnClickListener
{
imLogin
()
return
@setOnClickListener
EventUtils
.
onEvent
(
"facebookLoginClick"
)
mLoading
?.
setLoading
(
getString
(
R
.
string
.
wait_ing
))
mLoading
?.
show
()
...
...
@@ -86,11 +84,11 @@ class LoginBeforeActivity : BaseActivity() {
}
override
fun
onLoginError
(
errorMsg
:
String
)
{
if
(
errorMsg
==
"Success_未获取到登录信息"
){
if
(
errorMsg
==
"Success_未获取到登录信息"
)
{
runOnUiThread
{
mLoading
?.
setResult
(
false
,
"try again"
,
1000
)
}
}
else
{
}
else
{
runOnUiThread
{
mLoading
?.
setResult
(
false
,
"login error"
,
1000
)
}
...
...
@@ -103,7 +101,7 @@ class LoginBeforeActivity : BaseActivity() {
initBottomDesc
()
}
private
fun
initBottomDesc
(){
private
fun
initBottomDesc
()
{
val
spannableString
=
SpannableString
(
"By signing up, you confirm that you agree to our Terms of service and have read and understand our Privacy policy. "
)
...
...
@@ -112,6 +110,7 @@ class LoginBeforeActivity : BaseActivity() {
override
fun
onClick
(
widget
:
View
)
{
JumpUtils
.
webJump
(
"Terms Of Service"
,
NetConfig
.
H5
.
WEB_URL_USER
)
}
override
fun
updateDrawState
(
ds
:
TextPaint
)
{
ds
.
isUnderlineText
=
false
;
ds
.
color
=
Color
.
parseColor
(
"#FF772E"
)
...
...
@@ -175,32 +174,32 @@ class LoginBeforeActivity : BaseActivity() {
googleLogin
?.
onActivityResult
(
requestCode
,
resultCode
,
data
)
}
private
fun
imLogin
(){
//
UserDataUtils.updateUserInfo(AdCallback { _, _ ->
//
JumpUtils.activityJump(
//
RounterBus.getRounter(RounterApi::class.java).getIntentActivityMain()
//
)
//
finish()
//
})
ApiClient
.
userInfoAPi
.
deviceLogin
().
compose
(
RxSchedulers
.
observableIO2Main
())
.
subscribe
(
object
:
BaseObserver
<
UserInfo
>()
{
override
fun
onSuccess
(
result
:
UserInfo
)
{
val
token
=
result
.
token
SettingPreference
.
saveToken
(
token
)
UserDataUtils
.
updateUserInfo
(
AdCallback
{
_
,
_
->
JumpUtils
.
activityJump
(
RounterBus
.
getRounter
(
RounterApi
::
class
.
java
).
getIntentActivityMain
()
)
finish
()
})
}
override
fun
onFailure
(
e
:
Throwable
,
code
:
String
,
errorMsg
:
String
)
{
SettingPreference
.
saveToken
(
""
)
SettingPreference
.
saveUserInfo
(
null
)
}
})
private
fun
imLogin
()
{
UserDataUtils
.
updateUserInfo
(
AdCallback
{
_
,
_
->
JumpUtils
.
activityJump
(
RounterBus
.
getRounter
(
RounterApi
::
class
.
java
).
getIntentActivityMain
()
)
finish
()
})
//
ApiClient.userInfoAPi.deviceLogin().compose(RxSchedulers.observableIO2Main())
//
.subscribe(object : BaseObserver<UserInfo>() {
//
override fun onSuccess(result: UserInfo) {
//
val token = result.token
//
SettingPreference.saveToken(token)
//
UserDataUtils.updateUserInfo(AdCallback { _, _ ->
//
JumpUtils.activityJump(
//
RounterBus.getRounter(RounterApi::class.java).getIntentActivityMain()
//
)
//
finish()
//
})
//
}
//
//
override fun onFailure(e: Throwable, code: String, errorMsg: String) {
//
SettingPreference.saveToken("")
//
SettingPreference.saveUserInfo(null)
//
//
}
//
})
}
}
\ No newline at end of file
moduleMain/src/main/java/com/zxhl/main/page/activity/UserDetailsActivity.kt
View file @
f456d2b4
package
com.zxhl.main.page.activity
import
android.graphics.Color
import
android.net.Uri
import
android.view.View
import
android.view.ViewGroup.LayoutParams.MATCH_PARENT
import
android.view.ViewGroup.LayoutParams.WRAP_CONTENT
import
android.widget.RelativeLayout
import
android.widget.TextView
import
androidx.recyclerview.widget.LinearLayoutManager
import
com.bumptech.glide.Glide
import
com.google.android.exoplayer2.ExoPlayer
import
com.google.android.exoplayer2.MediaItem
import
com.zxhl.cms.AppContext
import
com.zxhl.cms.common.base.BaseActivity
import
com.zxhl.cms.net.model.box.HomeListEntity
...
...
@@ -19,6 +20,7 @@ import com.zxhl.main.page.contract.UserDetailsContract
import
com.zxhl.main.page.presenter.UserDetailsPresenter
import
kotlinx.android.synthetic.main.activity_layout_user_details_hw.*
/**
* @author (wangXuewei)
* @datetime 2022-04-15 10:48 GMT+8
...
...
@@ -54,6 +56,7 @@ class UserDetailsActivity : BaseActivity(), UserDetailsContract.View,
id_img_btn_report
.
setOnClickListener
(
this
)
id_img_user_details_sms
.
setOnClickListener
(
this
)
id_ll_user_details_call_video
.
setOnClickListener
(
this
)
id_ll_user_details_like_btn
.
setOnClickListener
(
this
)
mPresenter
?.
getUserDetails
(
userId
,
detailfree
)
}
...
...
@@ -74,7 +77,11 @@ class UserDetailsActivity : BaseActivity(), UserDetailsContract.View,
VipPayDialog
.
showVipPayDialog
(
this
)
}
id_ll_user_details_like_btn
->
{
showToast
(
"like"
)
if
(!
isLike
)
{
mPresenter
?.
likeUser
(
userId
,
detailfree
)
}
else
{
showToast
(
"已经点赞成功啦"
)
}
}
}
}
...
...
@@ -84,11 +91,40 @@ class UserDetailsActivity : BaseActivity(), UserDetailsContract.View,
return
R
.
layout
.
activity_layout_user_details_hw
}
private
var
userDetails
:
HomeListEntity
?
=
null
;
override
fun
setUserDetails
(
result
:
HomeListEntity
)
{
userDetails
=
result
;
//Name
id_tv_user_details_name
.
text
=
result
.
nickname
//国旗
Glide
.
with
(
this
).
load
(
result
.
nationalFlag
?:
""
).
into
(
id_img_national_flag
)
//年龄
id_tv_user_details_age
.
text
=
result
.
age
//是否在线
if
(
result
.
onlineStatus
.
equals
(
"0"
))
{
id_tv_user_details_online
.
text
=
"Offline"
}
else
{
id_tv_user_details_online
.
text
=
"Online"
}
//匹配度
id_tv_user_details_percentage
.
text
=
result
.
matchingDegree
?:
"0%"
//自我介绍
id_tv_user_details_introduction
.
text
=
result
.
description
?:
""
//喜欢的数量
id_tv_user_details_like_num
.
text
=
result
.
likes
?:
"0"
//是否点击了喜欢
isLike
=
result
.
hasLikes
.
equals
(
"1"
)
if
(
isLike
)
{
id_img_user_details_like
.
setImageResource
(
R
.
drawable
.
icon_like_click_user2
)
id_tv_user_details_like_num
.
setTextColor
(
Color
.
parseColor
(
"#E838AC"
))
}
else
{
id_img_user_details_like
.
setImageResource
(
R
.
drawable
.
icon_like_default_user2
)
id_tv_user_details_like_num
.
setTextColor
(
Color
.
parseColor
(
"#666666"
))
}
//tag
setPersonalTagUI
(
listOf
(
"aaaa"
,
"cc"
,
"bbbbbb"
,
"d"
,
"eeeee"
,
"aaafaa"
,
"aaaaag"
,))
setPersonalTagUI
(
result
.
tags
?.
split
(
'|'
))
//视频价格
id_tv_user_details_call_price
.
text
=
"${result.videoPrice}/min"
mPhotoAdapter
?.
clear
()
mPhotoAdapter
?.
appendToList
(
result
.
picturesList
)
...
...
@@ -99,8 +135,15 @@ class UserDetailsActivity : BaseActivity(), UserDetailsContract.View,
}
}
override
fun
followCallBack
(
boolean
:
Boolean
)
{
private
var
isLike
=
false
;
override
fun
likeCallBack
(
boolean
:
Boolean
)
{
if
(
isLike
)
{
return
}
isLike
=
boolean
if
(
boolean
)
{
val
i
=
id_tv_user_details_like_num
.
text
.
toString
().
toInt
()
+
1
id_tv_user_details_like_num
.
text
=
i
.
toString
()
id_img_user_details_like
.
setImageResource
(
R
.
drawable
.
icon_like_click_user2
)
id_tv_user_details_like_num
.
setTextColor
(
Color
.
parseColor
(
"#E838AC"
))
}
else
{
...
...
@@ -112,13 +155,38 @@ class UserDetailsActivity : BaseActivity(), UserDetailsContract.View,
override
fun
onItemClick
(
view
:
View
?,
position
:
Int
,
data
:
String
?)
{
mPhotoAdapter
?.
setSelectPhoto
(
position
)
id_img_user_details_photo
.
setLoadImageUrl
(
data
,
true
)
//Video
if
(
position
==
1
)
{
//http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4
id_sfv_user_detail_video
.
visibility
=
View
.
VISIBLE
id_img_user_details_photo
.
visibility
=
View
.
INVISIBLE
playUserVideo
(
"http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4"
)
}
else
{
id_sfv_user_detail_video
.
visibility
=
View
.
INVISIBLE
id_img_user_details_photo
.
visibility
=
View
.
VISIBLE
}
}
var
player
:
ExoPlayer
?
=
null
private
fun
playUserVideo
(
url
:
String
)
{
if
(
player
==
null
)
{
player
=
ExoPlayer
.
Builder
(
this
).
build
()
}
id_sfv_user_detail_video
.
player
=
player
// Build the media item.
val
mediaItem
:
MediaItem
=
MediaItem
.
fromUri
(
Uri
.
parse
(
url
))
player
?.
setMediaItem
(
mediaItem
)
player
?.
prepare
()
player
?.
play
()
}
//设置标签UI
private
fun
setPersonalTagUI
(
tagList
:
List
<
String
>)
{
private
fun
setPersonalTagUI
(
tagList
:
List
<
String
>?)
{
if
(
tagList
.
isNullOrEmpty
())
{
return
}
id_fl_tag_list_view
.
removeAllViews
()
val
lps
=
RelativeLayout
.
LayoutParams
(
WRAP_CONTENT
,
WRAP_CONTENT
)
lps
.
setMargins
(
Utils
.
dip2px
(
5
),
Utils
.
dip2px
(
5
),
Utils
.
dip2px
(
5
),
Utils
.
dip2px
(
5
))
for
(
tagStr
in
tagList
)
{
var
tagView
=
TextView
(
this
)
tagView
.
text
=
tagStr
...
...
@@ -126,7 +194,6 @@ class UserDetailsActivity : BaseActivity(), UserDetailsContract.View,
tagView
.
setTextColor
(
Color
.
parseColor
(
"#824FFF"
))
tagView
.
background
=
resources
.
getDrawable
(
R
.
drawable
.
shape_eae1ff_r3
)
tagView
.
setPadding
(
Utils
.
dip2px
(
5
),
Utils
.
dip2px
(
2
),
Utils
.
dip2px
(
5
),
Utils
.
dip2px
(
2
))
tagView
.
layoutParams
=
lps
id_fl_tag_list_view
.
addView
(
tagView
)
}
}
...
...
moduleMain/src/main/java/com/zxhl/main/page/contract/UserDetailsContract.kt
View file @
f456d2b4
...
...
@@ -7,11 +7,11 @@ import com.zxhl.cms.net.model.chat.DistanceEntity
class
UserDetailsContract
{
interface
View
{
fun
setUserDetails
(
result
:
HomeListEntity
)
fun
follow
CallBack
(
boolean
:
Boolean
)
fun
like
CallBack
(
boolean
:
Boolean
)
}
interface
Presenter
{
fun
getUserDetails
(
id
:
String
?,
free
:
String
?)
fun
followUser
(
uid
:
String
?)
fun
likeUser
(
uid
:
String
?,
free
:
String
?)
}
}
\ No newline at end of file
moduleMain/src/main/java/com/zxhl/main/page/presenter/UserDetailsPresenter.kt
View file @
f456d2b4
...
...
@@ -31,11 +31,11 @@ class UserDetailsPresenter : UserDetailsContract.Presenter {
})
}
override
fun
followUser
(
uid
:
String
?)
{
ApiClient
.
homeApi
.
followUser
(
uid
).
compose
(
RxSchedulers
.
observableIO2Main
())
override
fun
likeUser
(
uid
:
String
?,
free
:
String
?)
{
ApiClient
.
homeApi
.
likeUser
(
uid
,
free
).
compose
(
RxSchedulers
.
observableIO2Main
())
.
subscribe
(
object
:
BaseObserver
<
Any
>()
{
override
fun
onSuccess
(
result
:
Any
?)
{
mView
.
follow
CallBack
(
true
)
mView
.
like
CallBack
(
true
)
}
override
fun
onFailure
(
e
:
Throwable
?,
code
:
String
?,
errorMsg
:
String
?)
{
...
...
moduleMain/src/main/res/layout/activity_layout_user_details_hw.xml
View file @
f456d2b4
<?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"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"@color/white"
>
...
...
@@ -13,11 +14,14 @@
android:layout_height=
"match_parent"
android:paddingBottom=
"70dp"
>
<SurfaceView
<!-- <com.google.android.exoplayer2.ui.StyledPlayerView-->
<!-- android:id="@+id/id_sfv_user_detail_video"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="360dp" />-->
<com.google.android.exoplayer2.ui.PlayerView
android:id=
"@+id/id_sfv_user_detail_video"
android:layout_width=
"match_parent"
android:layout_height=
"360dp"
android:visibility=
"gone"
/>
android:layout_height=
"360dp"
/>
<com.zxhl.cms.widget.RecycleImageView
android:id=
"@+id/id_img_user_details_photo"
...
...
@@ -72,7 +76,7 @@
android:gravity=
"center"
android:paddingLeft=
"5dp"
android:paddingRight=
"5dp"
android:text=
"
27
"
android:text=
""
android:textColor=
"@color/white"
android:textSize=
"11sp"
/>
...
...
@@ -85,7 +89,7 @@
android:gravity=
"center"
android:paddingLeft=
"5dp"
android:paddingRight=
"5dp"
android:text=
"
Online
"
android:text=
""
android:textColor=
"@color/white"
android:textSize=
"11sp"
/>
...
...
@@ -98,7 +102,7 @@
android:gravity=
"center"
android:paddingLeft=
"5dp"
android:paddingRight=
"5dp"
android:text=
"
9
0%"
android:text=
"0%"
android:textColor=
"@color/white"
android:textSize=
"11sp"
/>
...
...
@@ -127,7 +131,7 @@
android:layout_marginLeft=
"10dp"
android:layout_marginTop=
"5dp"
android:layout_marginRight=
"10dp"
android:text=
"
Naughty most od the times
"
android:text=
""
android:textColor=
"@color/color_666666"
android:textSize=
"13sp"
/>
...
...
@@ -145,15 +149,16 @@
android:textColor=
"@color/color_333333"
android:textSize=
"14sp"
/>
<com.zxhl.cms.widget.
HorizontalAutoBr
Layout
<com.zxhl.cms.widget.
Flow
Layout
android:id=
"@+id/id_fl_tag_list_view"
android:layout_width=
"match_parent"
android:layout_height=
"
match_par
ent"
android:layout_height=
"
wrap_cont
ent"
android:layout_below=
"@+id/id_tv_personal_tag"
android:layout_marginLeft=
"5dp"
android:layout_marginRight=
"5dp"
>
android:layout_margin=
"5dp"
app:childSpacing=
"5dp"
app:childSpacingForLastRow=
"align"
app:rowSpacing=
"5dp"
/>
</com.zxhl.cms.widget.HorizontalAutoBrLayout>
<LinearLayout
android:id=
"@+id/id_ll_user_details_like_btn"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment