Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
YDL-Component-Medical
Overview
Overview
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
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
杨凯
YDL-Component-Medical
Commits
1d422b3c
Commit
1d422b3c
authored
Nov 13, 2019
by
严久程
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
课程、支付
parent
0e1cad6c
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
136 additions
and
49 deletions
+136
-49
CourseListContainerActivity.kt
m-course/src/main/java/com/yidianling/course/courseNew/courseList/CourseListContainerActivity.kt
+97
-44
CoursePlugin.kt
m-course/src/main/java/com/yidianling/course/flutterPlugin/CoursePlugin.kt
+13
-2
SearchBarView.kt
m-course/src/main/java/com/yidianling/course/widget/SearchBarView.kt
+4
-0
course_icon_back_black.png
m-course/src/main/res/drawable-xhdpi/course_icon_back_black.png
+0
-0
activity_courses.xml
m-course/src/main/res/layout/activity_courses.xml
+18
-1
activity_my_course.xml
m-course/src/main/res/layout/activity_my_course.xml
+1
-1
build.gradle
ydl-platform/build.gradle
+1
-0
NetworkParamsUtils.java
ydl-platform/src/main/java/com/ydl/ydlcommon/utils/NetworkParamsUtils.java
+2
-1
No files found.
m-course/src/main/java/com/yidianling/course/courseNew/courseList/CourseListContainerActivity.kt
View file @
1d422b3c
...
...
@@ -25,28 +25,25 @@ import com.ydl.ydlcommon.data.http.RxUtils
import
com.ydl.ydlcommon.ui.LogoLoadingView
import
com.ydl.ydlcommon.utils.NetworkParamsUtils
import
com.ydl.ydlcommon.utils.actionutil.ActionCountUtils
import
com.ydl.ydlcommon.utils.actionutil.BIConstants
import
com.ydl.ydlcommon.utils.remind.ToastHelper
import
com.yidianling.common.tools.LogUtil
import
com.yidianling.common.tools.RxImageTool
import
com.yidianling.course.CourseConstants
import
com.yidianling.course.CourseNewListAdapter
import
com.yidianling.course.R
import
com.yidianling.course.bean.Course
import
com.yidianling.course.constants.CourseBIConstants
import
com.yidianling.course.courseNew.LoadMoreView
import
com.yidianling.course.courseNew.courseList.widget.CourseFilterPopupWindow
import
com.yidianling.course.courseNew.courseList.widget.CourseGoodPopupWindow
import
com.yidianling.course.courseNew.courseList.widget.CourseSortPopupWindow
import
com.yidianling.course.net.CourseRetrofitUtils
import
com.yidianling.course.bean.Course
import
com.yidianling.course.constants.CourseBIConstants
import
com.yidianling.course.model.CourseCategoryBean
import
com.yidianling.course.
router.CourseIn
import
com.yidianling.course.
net.CourseRetrofitUtils
import
com.yidianling.course.widget.SearchBarView
import
io.reactivex.android.schedulers.AndroidSchedulers
import
io.reactivex.schedulers.Schedulers
import
kotlinx.android.synthetic.main.activity_courses.*
import
kotlinx.android.synthetic.main.item_hot_search_view.view.*
import
kotlinx.android.synthetic.main.course_layout_title_bar.*
import
org.json.JSONException
import
org.json.JSONObject
...
...
@@ -56,7 +53,8 @@ import org.json.JSONObject
@Route
(
path
=
"/course/list"
)
class
CourseListContainerActivity
:
BaseActivity
(),
PtrHandler
,
LoadMoreHandler
{
private
var
currentType
:
Int
=
-
1
private
var
currentType
:
String
=
""
private
var
currentValue
:
String
=
""
private
var
childType
:
Int
=
0
private
var
adapter
:
CourseNewListAdapter
?
=
null
private
var
hasMore
=
true
...
...
@@ -102,18 +100,23 @@ class CourseListContainerActivity : BaseActivity(), PtrHandler, LoadMoreHandler
}
override
fun
initDataAndEvent
()
{
currentType
=
intent
.
getIntExtra
(
PARAMS_LISTTYPE
,
-
1
)
childType
=
intent
.
getIntExtra
(
PARAMS_ISFREE
,
2
)
if
(
intent
.
hasExtra
(
PARAMS_LISTTYPE
))
{
currentType
=
intent
.
getStringExtra
(
PARAMS_LISTTYPE
)
}
isFree
=
intent
.
getIntExtra
(
PARAMS_ISFREE
,
0
)
if
(!
TextUtils
.
isEmpty
(
intent
.
getStringExtra
(
"routerParam"
)))
{
try
{
val
jsonObject
=
JSONObject
(
intent
.
getStringExtra
(
"routerParam"
))
currentType
=
jsonObject
.
get
Int
(
PARAMS_LISTTYPE
)
childTyp
e
=
jsonObject
.
getInt
(
PARAMS_ISFREE
)
currentType
=
jsonObject
.
get
String
(
PARAMS_LISTTYPE
)
isFre
e
=
jsonObject
.
getInt
(
PARAMS_ISFREE
)
}
catch
(
e
:
JSONException
)
{
LogUtil
.
e
(
"--json解析错误"
+
e
.
message
)
}
}
if
(
TextUtils
.
equals
(
"0"
,
currentType
))
{
currentType
=
"10"
}
search_view
.
initBarType
(
SearchBarView
.
JUMP_TO_SEARCH_COURSE
,
null
)
iv_back
.
setOnClickListener
{
...
...
@@ -123,6 +126,7 @@ class CourseListContainerActivity : BaseActivity(), PtrHandler, LoadMoreHandler
finish
()
}
search_view
.
setTextVisibility
()
search_view
.
setTextTitle
(
"搜索"
)
init
()
loadData
()
...
...
@@ -130,6 +134,24 @@ class CourseListContainerActivity : BaseActivity(), PtrHandler, LoadMoreHandler
setClick
()
initNetLossView
()
if
(
this
@CourseListContainerActivity
.
isFree
!=
0
||
this
@CourseListContainerActivity
.
isInvite
!=
0
||
this
@CourseListContainerActivity
.
isPromotion
!=
0
)
{
filter_layout
.
typeface
=
Typeface
.
defaultFromStyle
(
Typeface
.
BOLD
)
filter_layout
.
setTextColor
(
ContextCompat
.
getColor
(
this
@CourseListContainerActivity
,
R
.
color
.
course_color_1DA1F2
)
)
}
else
{
filter_layout
.
typeface
=
Typeface
.
defaultFromStyle
(
Typeface
.
NORMAL
)
filter_layout
.
setTextColor
(
ContextCompat
.
getColor
(
this
@CourseListContainerActivity
,
R
.
color
.
course_color_242424
)
)
}
}
private
fun
init
()
{
...
...
@@ -152,14 +174,20 @@ class CourseListContainerActivity : BaseActivity(), PtrHandler, LoadMoreHandler
load_more_list_view_container
.
setLoadMoreHandler
(
this
)
adapter
=
CourseNewListAdapter
(
this
)
lv_content
.
adapter
=
adapter
lv_content
.
onItemClickListener
=
AdapterView
.
OnItemClickListener
{
parent
,
view
,
position
,
id
->
lv_content
.
onItemClickListener
=
AdapterView
.
OnItemClickListener
{
parent
,
view
,
position
,
id
->
val
course
=
adapter
!!
.
dataList
[
position
]
if
(
course
!=
null
)
{
val
h5Params
=
H5Params
(
CourseConstants
.
COURSE_DETAIL_H5
+
course
.
id
,
"课程详情"
)
if
(
null
!=
course
.
share
&&
!
TextUtils
.
isEmpty
(
course
.
share
.
share_url
))
{
val
shareData
=
ShareData
(
course
.
share
.
share_url
,
course
.
share
.
title
,
course
.
share
.
cover
,
course
.
share
.
desc
)
ShareData
(
course
.
share
.
share_url
,
course
.
share
.
title
,
course
.
share
.
cover
,
course
.
share
.
desc
)
h5Params
.
shareData
=
shareData
}
...
...
@@ -188,9 +216,10 @@ class CourseListContainerActivity : BaseActivity(), PtrHandler, LoadMoreHandler
return
@repeat
}
}
if
(
currentType
!=
-
1
)
{
if
(
currentType
!=
""
)
{
for
(
bean
in
allCourseList
)
{
if
(
bean
.
type
==
currentType
.
toString
())
{
if
(
TextUtils
.
equals
(
bean
.
type
,
currentType
))
{
currentValue
=
bean
.
value
selectedCourseList
.
add
(
bean
)
break
}
...
...
@@ -235,7 +264,10 @@ class CourseListContainerActivity : BaseActivity(), PtrHandler, LoadMoreHandler
//综合排序弹窗
sort_layout
.
setOnClickListener
{
var
popupWindow
=
CourseSortPopupWindow
(
this
,
selectedSort
,
object
:
CourseSortPopupWindow
.
OnSortItemSelectedListener
{
CourseSortPopupWindow
(
this
,
selectedSort
,
object
:
CourseSortPopupWindow
.
OnSortItemSelectedListener
{
override
fun
onSortItemSelected
(
sortItem
:
String
)
{
selectedSort
=
sortItem
getData
(
false
)
...
...
@@ -276,11 +308,13 @@ class CourseListContainerActivity : BaseActivity(), PtrHandler, LoadMoreHandler
}
if
(
selectedGoodsList
.
size
==
0
)
{
//重置所有选择条件:这时候默认选择全部类型
currentType
=
10
currentType
=
"10"
currentValue
=
"listType"
}
getData
(
false
)
var
name
=
if
(
selectedGoodsList
.
size
==
0
)
"全部类型"
else
selectedGoodsList
[
0
].
name
var
name
=
if
(
selectedGoodsList
.
size
==
0
)
"全部类型"
else
selectedGoodsList
[
0
].
name
ActionCountUtils
.
count
(
CourseBIConstants
.
CourseListEvent
.
POSITION_COURSE_LIST_CLASSIFICATION_CLICK
,
name
...
...
@@ -312,7 +346,12 @@ class CourseListContainerActivity : BaseActivity(), PtrHandler, LoadMoreHandler
0
)
}
classify_layout
.
setTextColor
(
ContextCompat
.
getColor
(
this
@CourseListContainerActivity
,
R
.
color
.
course_color_1DA1F2
))
classify_layout
.
setTextColor
(
ContextCompat
.
getColor
(
this
@CourseListContainerActivity
,
R
.
color
.
course_color_1DA1F2
)
)
classify_layout
.
setCompoundDrawablesWithIntrinsicBounds
(
0
,
0
,
...
...
@@ -345,7 +384,10 @@ class CourseListContainerActivity : BaseActivity(), PtrHandler, LoadMoreHandler
if
(
isPromotion
==
1
)
{
sign
+=
"促销"
}
ActionCountUtils
.
count
(
CourseBIConstants
.
CourseListEvent
.
POSITION_COURSE_LIST_FILTER_CLICK
,
sign
)
ActionCountUtils
.
count
(
CourseBIConstants
.
CourseListEvent
.
POSITION_COURSE_LIST_FILTER_CLICK
,
sign
)
}
})
popupWindow
.
setOnDismissListener
{
...
...
@@ -373,7 +415,12 @@ class CourseListContainerActivity : BaseActivity(), PtrHandler, LoadMoreHandler
0
)
}
filter_layout
.
setTextColor
(
ContextCompat
.
getColor
(
this
@CourseListContainerActivity
,
R
.
color
.
course_color_1DA1F2
))
filter_layout
.
setTextColor
(
ContextCompat
.
getColor
(
this
@CourseListContainerActivity
,
R
.
color
.
course_color_1DA1F2
)
)
filter_layout
.
setCompoundDrawablesWithIntrinsicBounds
(
0
,
0
,
...
...
@@ -407,13 +454,6 @@ class CourseListContainerActivity : BaseActivity(), PtrHandler, LoadMoreHandler
* 获取课程具体数据
*/
private
fun
getData
(
loadMore
:
Boolean
)
{
when
(
currentType
)
{
1
,
2
->
if
(!
CourseIn
.
isLogin
())
{
return
}
else
->
{
}
}
if
(
loadMore
&&
!
hasMore
)
{
load_more_list_view_container
.
loadMoreFinish
(
false
,
false
)
return
...
...
@@ -432,25 +472,28 @@ class CourseListContainerActivity : BaseActivity(), PtrHandler, LoadMoreHandler
private
fun
getCourses
(
loadMore
:
Boolean
)
{
val
sb
=
StringBuffer
()
if
(
selectedCourseList
.
size
>
0
)
{
currentType
=
selectedCourseList
[
0
].
type
.
toInt
()
}
if
(
currentType
>=
10
)
{
sb
.
append
(
"&listType="
).
append
(
currentType
)
}
else
{
sb
.
append
(
"&listType="
).
append
(
currentType
+
1
)
currentType
=
selectedCourseList
[
0
].
type
currentValue
=
selectedCourseList
[
0
].
value
}
sb
.
append
(
"&page="
).
append
(
page
)
.
append
(
"&isFree="
).
append
(
isFree
)
.
append
(
"&reorder="
).
append
(
selectedSort
)
.
append
(
"&isInvite="
).
append
(
isInvite
)
.
append
(
"&isPromotion="
).
append
(
isPromotion
)
var
map
=
HashMap
<
String
,
Any
>()
map
[
"&$currentValue="
]
=
currentType
map
[
"&page="
]
=
page
map
[
"&isFree="
]
=
isFree
map
[
"&reorder="
]
=
selectedSort
map
[
"&isInvite="
]
=
isInvite
map
[
"&isPromotion="
]
=
isPromotion
if
(
keyList
.
size
>
0
)
{
repeat
(
keyList
.
size
)
{
sb
.
append
(
"&${keyList[it]}="
).
append
(
valueList
[
it
])
map
[
"&${keyList[it]}="
]
=
valueList
[
it
]
}
}
for
(
key
in
map
.
keys
)
{
sb
.
append
(
key
).
append
(
map
[
key
])
}
val
urlParams
=
NetworkParamsUtils
.
getCommonParam
()
+
sb
.
toString
()
//不是上拉加载更多,是第一次加载或者下拉刷新,且当前页面还没有数据
...
...
@@ -460,7 +503,8 @@ class CourseListContainerActivity : BaseActivity(), PtrHandler, LoadMoreHandler
v_loading
.
setViewType
(
LogoLoadingView
.
TYPE_LOADING
,
null
)
}
CourseRetrofitUtils
.
getCourseList
(
urlParams
).
compose
(
RxUtils
.
resultJavaData
()).
subscribeOn
(
Schedulers
.
io
())
CourseRetrofitUtils
.
getCourseList
(
urlParams
).
compose
(
RxUtils
.
resultJavaData
())
.
subscribeOn
(
Schedulers
.
io
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
subscribe
({
resp
->
if
(
resp
.
list
.
isNotEmpty
())
{
...
...
@@ -551,7 +595,11 @@ class CourseListContainerActivity : BaseActivity(), PtrHandler, LoadMoreHandler
selectedSort
=
bean
.
type
//处理view选中状态
repeat
(
hotSearchList
.
size
)
{
if
(
hotSearchList
[
it
].
parentId
==
1
&&
!
TextUtils
.
equals
(
hotSearchList
[
it
].
name
,
bean
.
name
))
{
if
(
hotSearchList
[
it
].
parentId
==
1
&&
!
TextUtils
.
equals
(
hotSearchList
[
it
].
name
,
bean
.
name
)
)
{
val
textView
=
ll_hot_search
.
getChildAt
(
it
)
as
TextView
textView
.
isSelected
=
false
}
...
...
@@ -566,11 +614,16 @@ class CourseListContainerActivity : BaseActivity(), PtrHandler, LoadMoreHandler
selectedCourseList
.
add
(
bean
)
}
else
{
//重置所有分类条件:这时候默认选择全部类型
currentType
=
10
currentValue
=
"listType"
currentType
=
"10"
}
repeat
(
hotSearchList
.
size
)
{
if
(
hotSearchList
[
it
].
parentId
==
2
&&
!
TextUtils
.
equals
(
hotSearchList
[
it
].
name
,
bean
.
name
))
{
if
(
hotSearchList
[
it
].
parentId
==
2
&&
!
TextUtils
.
equals
(
hotSearchList
[
it
].
name
,
bean
.
name
)
)
{
val
textView
=
ll_hot_search
.
getChildAt
(
it
)
as
TextView
textView
.
isSelected
=
false
}
...
...
m-course/src/main/java/com/yidianling/course/flutterPlugin/CoursePlugin.kt
View file @
1d422b3c
import
android.content.Intent
import
android.net.Uri
import
android.os.Handler
import
android.text.TextUtils
import
com.ydl.media.audio.AudioPlayer
import
com.ydl.media.audio.model.Music
...
...
@@ -11,6 +12,7 @@ import com.ydl.webview.NewH5Activity
import
com.ydl.ydl_router.manager.YDLRouterManager
import
com.ydl.ydlcommon.base.BaseApp
import
com.ydl.ydlcommon.base.flutter.base.BaseFlutterFragment
import
com.ydl.ydlcommon.data.PlatformDataManager
import
com.ydl.ydlcommon.modular.ModularServiceManager
import
com.yidianling.common.tools.LogUtil
import
com.yidianling.common.tools.RxDeviceTool
...
...
@@ -23,6 +25,7 @@ import com.yidianling.course.router.CourseIn
import
io.flutter.plugin.common.MethodCall
import
io.flutter.plugin.common.MethodChannel
import
io.flutter.view.FlutterView
import
org.json.JSONObject
/**
* @author jiucheng
...
...
@@ -60,6 +63,7 @@ class CoursePlugin : MethodChannel.MethodCallHandler {
mMap
[
"accessToken"
]
=
loginBean
?.
token
?:
""
?:
""
mMap
[
"isFromApp"
]
=
"1"
mMap
[
"ffrom"
]
=
PlatformDataManager
.
getRam
().
getChannelName
()
mMap
[
"version"
]
=
RxDeviceTool
.
getAppVersionName
(
BaseApp
.
getApp
())
mMap
[
"osBuild"
]
=
RxDeviceTool
.
getBuildMANUFACTURER
()
+
","
+
RxDeviceTool
.
getBuildBrandModel
()
+
","
+
RxDeviceTool
.
getOsBuileVersion
()
+
","
+
RxDeviceTool
.
getAppVersionName
(
...
...
@@ -70,6 +74,11 @@ class CoursePlugin : MethodChannel.MethodCallHandler {
JUMPURL
->
{
var
jumpUrl
:
String
?
=
methodCall
.
arguments
.
toString
()
if
(!
TextUtils
.
isEmpty
(
jumpUrl
))
{
if
(
jumpUrl
!!
.
startsWith
(
"http"
))
{
val
h5Params
=
H5Params
(
jumpUrl
,
""
)
NewH5Activity
.
start
(
mFragment
!!
.
activity
,
h5Params
)
return
}
when
{
jumpUrl
!!
.
contains
(
"user/login"
)
->
mFragment
!!
.
startActivity
(
CourseIn
.
loginWayIntent
(
...
...
@@ -86,8 +95,9 @@ class CoursePlugin : MethodChannel.MethodCallHandler {
)
jumpUrl
.
contains
(
"course/detail"
)
->
{
var
uri
=
Uri
.
parse
(
jumpUrl
)
var
id
=
uri
.
getQueryParameter
(
"id"
)
val
h5Params
=
H5Params
(
CourseConstants
.
COURSE_DETAIL_H5
+
id
,
"课程详情"
)
var
resultParams
=
uri
.
getQueryParameter
(
"params"
)
val
jsonObject
=
JSONObject
(
resultParams
)
val
h5Params
=
H5Params
(
CourseConstants
.
COURSE_DETAIL_H5
+
jsonObject
.
getString
(
"id"
),
"课程详情"
)
NewH5Activity
.
start
(
mFragment
!!
.
activity
,
h5Params
)
}
else
->
YDLRouterManager
.
router
(
jumpUrl
)
...
...
@@ -141,6 +151,7 @@ class CoursePlugin : MethodChannel.MethodCallHandler {
// PlayerFloatHelper.show(mFragment!!.activity)
}
Handler
().
postDelayed
({
CourseSendPlugin
.
sendMsg
(
true
)
},
300
)
PlayerFloatHelper
.
addClickListener
(
object
:
PlayerFloatView
.
FloatViewPlayListener
{
override
fun
onStartClick
()
{
...
...
m-course/src/main/java/com/yidianling/course/widget/SearchBarView.kt
View file @
1d422b3c
...
...
@@ -97,6 +97,10 @@ class SearchBarView : LinearLayout {
}
fun
setTextTitle
(
title
:
String
)
{
common_search_bar_btn
.
text
=
title
}
private
fun
setEditTextVisibility
(
boolean
:
Boolean
)
{
if
(
boolean
)
{
common_search_bar_text
.
visibility
=
View
.
GONE
...
...
m-course/src/main/res/drawable-xhdpi/course_icon_back_black.png
0 → 100644
View file @
1d422b3c
375 Bytes
m-course/src/main/res/layout/activity_courses.xml
View file @
1d422b3c
...
...
@@ -8,13 +8,30 @@
android:orientation=
"vertical"
>
<include
layout=
"@layout/course_layout_title_bar"
/>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"44dp"
android:background=
"@color/course_color_FFFFFF"
android:gravity=
"center"
android:orientation=
"horizontal"
android:paddingLeft=
"16dp"
>
<ImageView
android:id=
"@+id/iv_back"
android:layout_width=
"13dp"
android:layout_height=
"22dp"
android:scaleType=
"centerCrop"
android:src=
"@drawable/course_icon_back_black"
/>
<com.yidianling.course.widget.SearchBarView
android:id=
"@+id/search_view"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
/>
</LinearLayout>
<View
android:id=
"@+id/divider_line"
android:layout_width=
"match_parent"
...
...
m-course/src/main/res/layout/activity_my_course.xml
View file @
1d422b3c
...
...
@@ -15,7 +15,7 @@
android:layout_height=
"wrap_content"
android:visibility=
"gone"
/>
<com.y
dl.base_module.ui.searchbarview
.SearchBarView
<com.y
idianling.course.widget
.SearchBarView
android:id=
"@+id/search_bar"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
/>
...
...
ydl-platform/build.gradle
View file @
1d422b3c
...
...
@@ -77,6 +77,7 @@ dependencies {
api
rootProject
.
ext
.
dependencies
[
"ydl-hnet"
]
api
rootProject
.
ext
.
dependencies
[
"imagepicker"
]
api
rootProject
.
ext
.
dependencies
[
"ydl-utils"
]
api
rootProject
.
ext
.
dependencies
[
"ydl-js"
]
api
rootProject
.
ext
.
dependencies
[
"ydl-flutter"
]
api
rootProject
.
ext
.
dependencies
[
"ydl-net"
]
api
(
'com.ydl:device-id:0.0.7@aar'
){
...
...
ydl-platform/src/main/java/com/ydl/ydlcommon/utils/NetworkParamsUtils.java
View file @
1d422b3c
...
...
@@ -4,6 +4,7 @@ import com.ydl.ydlcommon.base.BaseApp;
import
com.ydl.ydlcommon.data.PlatformDataManager
;
import
com.ydl.ydlcommon.data.http.BaseCommand
;
import
com.ydl.ydlcommon.data.http.FormatText
;
import
com.ydl.ydlcommon.modular.ModularServiceManager
;
import
com.ydl.ydlcommon.router.YdlCommonRouterManager
;
import
com.ydl.ydlcommon.router.YdlUserInfo
;
import
com.yidianling.common.tools.RxAppTool
;
...
...
@@ -132,7 +133,7 @@ public class NetworkParamsUtils {
public
static
String
getCommonParam
()
{
StringBuffer
sb
=
new
StringBuffer
();
YdlUserInfo
userInfo
=
YdlCommonRouterManager
.
INSTANCE
.
getYdlCommonRoute
().
getUserInfo
();
YdlUserInfo
userInfo
=
ModularServiceManager
.
INSTANCE
.
getPlatformUserService
().
getUser
();
sb
.
append
(
"ffrom"
).
append
(
"="
).
append
(
PlatformDataManager
.
INSTANCE
.
getRam
().
getChannelName
())
.
append
(
"&"
).
append
(
"isFromApp"
).
append
(
"="
).
append
(
"1"
)
.
append
(
"&"
).
append
(
"osBuild"
).
append
(
"="
).
append
(
RxDeviceTool
.
getBuildBrandModel
()).
append
(
","
)
...
...
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