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
d093214f
Commit
d093214f
authored
May 17, 2022
by
范玉宾
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix when modify meditation time off to 00:05 UI flush
parent
442e1f0d
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
278 additions
and
158 deletions
+278
-158
build.gradle
m-muse/build.gradle
+2
-3
MeditationWheelViewUtil.java
m-muse/src/main/java/com/yidianling/muse/MeditationWheelViewUtil.java
+0
-78
MeditationTimeOffActivity.kt
m-muse/src/main/java/com/yidianling/muse/activity/MeditationTimeOffActivity.kt
+50
-9
PlayMeditationActivity.kt
m-muse/src/main/java/com/yidianling/muse/activity/PlayMeditationActivity.kt
+79
-31
CollectResultModule.kt
m-muse/src/main/java/com/yidianling/muse/bean/CollectResultModule.kt
+0
-5
MeditationCollectRequestModule.kt
m-muse/src/main/java/com/yidianling/muse/bean/MeditationCollectRequestModule.kt
+0
-10
MeditationModule.kt
m-muse/src/main/java/com/yidianling/muse/bean/MeditationModule.kt
+41
-0
MuseHttp.kt
m-muse/src/main/java/com/yidianling/muse/http/MuseHttp.kt
+12
-4
MusePagerApi.kt
m-muse/src/main/java/com/yidianling/muse/http/MusePagerApi.kt
+22
-4
ShareMeditationDialog.kt
m-muse/src/main/java/com/yidianling/muse/widget/ShareMeditationDialog.kt
+1
-5
activity_play_meditation.xml
m-muse/src/main/res/layout/activity_play_meditation.xml
+6
-3
activity_play_meditation_time_off.xml
m-muse/src/main/res/layout/activity_play_meditation_time_off.xml
+53
-2
layout_share_play_meditation.xml
m-muse/src/main/res/layout/layout_share_play_meditation.xml
+12
-4
No files found.
m-muse/build.gradle
View file @
d093214f
...
...
@@ -58,13 +58,12 @@ dependencies {
androidTestImplementation
'androidx.test.ext:junit:1.1.2'
androidTestImplementation
'androidx.test.espresso:espresso-core:3.3.0'
implementation
'com.wx.wheelview:wheelview:1.3.3'
implementation
'com.github.weidongjian:androidWheelView:1.0.0'
// solve build problem
// cannot access 'androidx.lifecycle.hasdefaultviewmodelproviderfactory'
// Comment out when compiling
//
implementation "androidx.lifecycle:lifecycle-extensions:2.2.0"
implementation
"androidx.lifecycle:lifecycle-extensions:2.2.0"
implementation
"com.alibaba:arouter-api:$arouter_api"
// 注意此处的依赖方式:kotlin中使用和java中使用方式有不同
...
...
m-muse/src/main/java/com/yidianling/muse/MeditationWheelViewUtil.java
deleted
100644 → 0
View file @
442e1f0d
package
com
.
yidianling
.
muse
;
import
android.content.Context
;
import
android.graphics.Color
;
import
com.wx.wheelview.adapter.ArrayWheelAdapter
;
import
com.wx.wheelview.widget.WheelView
;
import
java.util.ArrayList
;
import
java.util.List
;
public
class
MeditationWheelViewUtil
{
private
List
<
String
>
hours
=
new
ArrayList
<>();
private
List
<
String
>
minutes
=
new
ArrayList
<>();
public
void
initWheelView
(
Context
context
,
WheelView
wheelViewH
,
int
selectionH
,
WheelView
wheelViewM
,
int
selectionM
)
{
createHours
();
createMinutes
();
wheelViewH
.
setWheelAdapter
(
new
ArrayWheelAdapter
(
context
));
wheelViewH
.
setWheelData
(
hours
);
WheelView
.
WheelViewStyle
style
=
new
WheelView
.
WheelViewStyle
();
style
.
textColor
=
Color
.
parseColor
(
"#80FFFFFF"
);
style
.
selectedTextColor
=
Color
.
parseColor
(
"#FFFFFF"
);
style
.
textSize
=
30
;
style
.
backgroundColor
=
Color
.
parseColor
(
"#00000000"
);
style
.
selectedTextSize
=
32
;
style
.
selectedTextZoom
=
1.2f
;
wheelViewH
.
setStyle
(
style
);
wheelViewH
.
setExtraText
(
"小时"
,
Color
.
parseColor
(
"#FFFFFFFF"
),
50
,
120
);
wheelViewH
.
setSelection
(
selectionH
);
wheelViewM
.
setWheelAdapter
(
new
ArrayWheelAdapter
(
context
));
wheelViewM
.
setWheelData
(
minutes
);
wheelViewM
.
setStyle
(
style
);
wheelViewM
.
setExtraText
(
"分钟"
,
Color
.
parseColor
(
"#FFFFFFFF"
),
50
,
120
);
wheelViewM
.
setSelection
(
selectionM
);
}
public
void
minuteRule
(
WheelView
wh
,
WheelView
wm
){
wh
.
setOnWheelItemSelectedListener
((
position
,
o
)
->
{
if
(
position
==
0
&&
wh
.
getCurrentPosition
()==
0
){
wm
.
setSelection
(
1
);
}
});
wm
.
setOnWheelItemSelectedListener
((
position
,
o
)
->
{
if
(
position
==
0
&&
wh
.
getCurrentPosition
()==
0
){
wm
.
setSelection
(
1
);
}
});
}
private
void
createHours
()
{
for
(
int
i
=
0
;
i
<
24
;
i
++)
{
hours
.
add
(
""
+
i
);
}
}
private
void
createMinutes
()
{
for
(
int
i
=
0
;
i
<
60
;
i
+=
5
)
{
if
(
i
<
10
)
{
minutes
.
add
(
"0"
+
i
);
}
else
{
minutes
.
add
(
""
+
i
);
}
}
}
}
m-muse/src/main/java/com/yidianling/muse/activity/MeditationTimeOffActivity.kt
View file @
d093214f
...
...
@@ -7,7 +7,6 @@ import com.ydl.ydlcommon.base.BaseActivity
import
com.ydl.ydlcommon.bean.StatusBarOptions
import
com.ydl.ydlcommon.utils.StatusBarUtils
import
com.ydl.ydlcommon.utils.remind.ToastHelper
import
com.yidianling.muse.MeditationWheelViewUtil
import
com.yidianling.muse.R
import
kotlinx.android.synthetic.main.activity_play_meditation_time_off.*
...
...
@@ -26,18 +25,18 @@ class MeditationTimeOffActivity : BaseActivity() {
tv_save_setting
?.
setOnClickListener
{
ToastHelper
.
show
(
"保存设置"
)
val
hour
=
wheel_
view_hour
.
selection
Item
val
minute
=
wheel_
view_minute
.
selection
Item
val
hour
=
wheel_
hour
.
selected
Item
val
minute
=
wheel_
minute
.
selected
Item
val
selectedHour
=
wheel_
view_hour
.
currentPosition
val
selectedMinute
=
wheel_
view_minute
.
currentPosition
val
selectedHour
=
wheel_
hour
.
selectedItem
val
selectedMinute
=
wheel_
minute
.
selectedItem
SPUtils
.
getInstance
().
put
(
"SELECT_H"
,
selectedHour
)
SPUtils
.
getInstance
().
put
(
"SELECT_M"
,
selectedMinute
)
val
intent
=
Intent
()
if
(
hour
is
String
&&
minute
is
String
){
val
minute
=
(
hour
.
toInt
()*
60
).
plus
(
minute
.
toInt
()
)
if
(
hour
is
Int
&&
minute
is
Int
){
val
minute
=
(
hour
*
60
).
plus
(
minute
*
5
)
intent
.
putExtra
(
"TIME_OFF_MINUTE"
,
minute
)
}
setResult
(
RESULT_OK
,
intent
)
...
...
@@ -61,9 +60,29 @@ class MeditationTimeOffActivity : BaseActivity() {
private
fun
initWheel
()
{
val
selectionH
=
SPUtils
.
getInstance
().
getInt
(
"SELECT_H"
,
0
)
val
selectionM
=
SPUtils
.
getInstance
().
getInt
(
"SELECT_M"
,
1
)
MeditationWheelViewUtil
().
initWheelView
(
this
,
wheel_view_hour
,
selectionH
,
wheel_view_minute
,
selectionM
)
MeditationWheelViewUtil
().
minuteRule
(
wheel_view_hour
,
wheel_view_minute
)
createHours
()
createMinutes
()
wheel_hour
.
setItems
(
hours
)
wheel_minute
.
setItems
(
minutes
)
wheel_hour
.
setInitPosition
(
selectionH
)
wheel_minute
.
setInitPosition
(
selectionM
)
wheel_hour
.
setListener
{
index
->
if
(
index
==
0
&&
wheel_minute
.
selectedItem
==
0
)
{
wheel_minute
.
setCurrentPosition
(
1
)
}
}
wheel_minute
.
setListener
{
index
->
if
(
index
==
0
&&
wheel_hour
.
selectedItem
==
0
)
{
wheel_minute
.
setCurrentPosition
(
1
)
}
}
}
override
fun
getStatusViewOptions
():
StatusBarOptions
{
...
...
@@ -78,4 +97,25 @@ class MeditationTimeOffActivity : BaseActivity() {
return
R
.
layout
.
activity_play_meditation_time_off
}
private
var
hours
=
mutableListOf
<
String
>()
private
var
minutes
=
mutableListOf
<
String
>()
private
fun
createHours
()
{
for
(
i
in
0
..
23
)
{
hours
.
add
(
""
+
i
)
}
}
private
fun
createMinutes
()
{
var
i
=
0
while
(
i
<
60
)
{
if
(
i
<
10
)
{
minutes
.
add
(
"0$i"
)
}
else
{
minutes
.
add
(
""
+
i
)
}
i
+=
5
}
}
}
\ No newline at end of file
m-muse/src/main/java/com/yidianling/muse/activity/PlayMeditationActivity.kt
View file @
d093214f
package
com.yidianling.muse.activity
import
android.content.Intent
import
android.graphics.Color
import
android.media.MediaPlayer
import
android.os.Build
import
android.os.Bundle
import
android.view.View
import
android.view.WindowManager
import
android.widget.SeekBar
import
com.alibaba.android.arouter.facade.annotation.Route
import
com.bumptech.glide.Glide
import
com.google.gson.Gson
import
com.ydl.ydlcommon.base.BaseActivity
import
com.ydl.ydlcommon.bean.StatusBarOptions
import
com.ydl.ydlcommon.data.http.RxUtils
import
com.ydl.ydlcommon.data.http.RxUtils
.resultData
import
com.ydl.ydlcommon.data.http.ThrowableConsumer
import
com.ydl.ydlcommon.utils.StatusBarUtils.Companion.setTransparentForImageView
import
com.ydl.ydlcommon.utils.StatusBarUtils.Companion.statusBarLightMode
import
com.ydl.ydlcommon.utils.remind.ToastHelper
import
com.ydl.ydlcommon.utils.remind.ToastHelper
.Companion.show
import
com.yidianling.home.http.MuseHttp
import
com.yidianling.muse.R
import
com.yidianling.muse.helper.MediaPlayerManager
...
...
@@ -31,6 +34,7 @@ import kotlinx.android.synthetic.main.activity_play_meditation.*
import
kotlinx.android.synthetic.main.player_control_view.*
import
java.util.*
import
java.util.concurrent.TimeUnit
import
kotlin.math.roundToInt
@Route
(
path
=
"/muse/play"
)
...
...
@@ -57,6 +61,8 @@ class PlayMeditationActivity : BaseActivity() {
private
var
mTimer
=
Timer
()
private
var
mMediaPlayer
:
MediaPlayer
?
=
null
private
var
posted
=
false
private
var
duration
=
0
private
var
isSeekbarChanging
=
false
...
...
@@ -74,13 +80,22 @@ class PlayMeditationActivity : BaseActivity() {
meditationType
=
intent
?.
getIntExtra
(
"MEDITATION_TYPE"
,
0
)
?:
0
initView
()
getData
()
}
override
fun
initDataAndEvent
()
{
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
KITKAT
)
{
val
window
=
window
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
LOLLIPOP
)
{
window
.
statusBarColor
=
Color
.
TRANSPARENT
window
.
clearFlags
(
WindowManager
.
LayoutParams
.
FLAG_TRANSLUCENT_STATUS
)
window
.
decorView
.
systemUiVisibility
=
(
View
.
SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
or
View
.
SYSTEM_UI_FLAG_LAYOUT_STABLE
)
window
.
addFlags
(
WindowManager
.
LayoutParams
.
FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS
)
}
else
{
window
.
addFlags
(
WindowManager
.
LayoutParams
.
FLAG_TRANSLUCENT_STATUS
)
}
}
}
...
...
@@ -94,8 +109,8 @@ class PlayMeditationActivity : BaseActivity() {
meditionType
=
meditationType
,
meditationId
=
meditationId
)
.
compose
(
RxUtils
.
applySchedulers
())
.
map
{
it
}
.
subscribeOn
(
Schedulers
.
io
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
subscribe
(
Consumer
{
if
(
it
.
code
.
equals
(
"200"
)
&&
it
.
data
!=
null
)
{
...
...
@@ -127,12 +142,11 @@ class PlayMeditationActivity : BaseActivity() {
initMediaPlayer
(
mediaUrl
)
}
},
object
:
ThrowableConsumer
()
{
override
fun
accept
(
msg
:
String
)
{
show
(
msg
)
}
})
}
else
if
(
meditationType
==
1
)
{
...
...
@@ -140,9 +154,7 @@ class PlayMeditationActivity : BaseActivity() {
meditionType
=
1
,
mediaId
=
1
,
meditationId
=
1
)
.
compose
(
RxUtils
.
applySchedulers
())
.
map
{
it
}
.
filter
{
true
}
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
subscribe
(
Consumer
{
if
(
it
.
code
.
equals
(
"200"
)
&&
it
.
data
!=
null
)
{
...
...
@@ -175,7 +187,7 @@ class PlayMeditationActivity : BaseActivity() {
},
object
:
ThrowableConsumer
()
{
override
fun
accept
(
msg
:
String
)
{
show
(
msg
)
}
})
}
...
...
@@ -218,16 +230,32 @@ class PlayMeditationActivity : BaseActivity() {
}
iv_collect
.
setOnClickListener
{
collected
=
!
collected
if
(
collected
)
{
ToastHelper
.
show
(
"收藏成功!"
)
iv_collect
.
setImageResource
(
R
.
drawable
.
icon_meditation_collected
)
}
else
{
ToastHelper
.
show
(
"取消收藏!"
)
iv_collect
.
setImageResource
(
R
.
drawable
.
icon_play_meditation_collect
)
}
}
MuseHttp
.
getInstance
().
collectMeditation
(
meditationId
=
meditationId
,
status
=
if
(
collected
)
0
else
1
)
.
compose
(
resultData
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
subscribe
({
result
->
if
(
result
!=
null
&&
result
.
code
==
"200"
){
collected
=
!
collected
if
(
collected
)
{
show
(
"收藏成功!"
)
iv_collect
.
setImageResource
(
R
.
drawable
.
icon_meditation_collected
)
}
else
{
show
(
"取消收藏!"
)
iv_collect
.
setImageResource
(
R
.
drawable
.
icon_play_meditation_collect
)
}
}
else
{
show
(
"操作失败!"
)
}
},{
object
:
ThrowableConsumer
()
{
override
fun
accept
(
msg
:
String
)
{
show
(
msg
)
}
}
})
}
}
override
fun
layoutResId
():
Int
{
...
...
@@ -247,7 +275,7 @@ class PlayMeditationActivity : BaseActivity() {
if
(
quitDialog
!=
null
&&
quitDialog
?.
isAdded
==
false
)
{
quitDialog
?.
setListener
(
object
:
QuitMeditationDialog
.
ClickListener
{
override
fun
quit
()
{
ToastHelper
.
show
(
"结束练习"
)
show
(
"结束练习"
)
finish
()
}
})
...
...
@@ -262,14 +290,12 @@ class PlayMeditationActivity : BaseActivity() {
iv_share
.
setOnClickListener
{
if
(
shareDialog
==
null
)
{
shareDialog
=
ShareMeditationDialog
.
newInstance
(
shareImageUrl
=
bgUrl
,
shareContent
=
"老铁,我是你要分享的内容"
)
.
newInstance
(
shareImageUrl
=
""
)
}
if
(
shareDialog
!=
null
&&
shareDialog
?.
isAdded
==
false
)
{
shareDialog
?.
show
(
supportFragmentManager
,
ShareMeditationDialog
.
TAG
)
}
}
iv_time_off
.
setOnClickListener
{
...
...
@@ -289,6 +315,31 @@ class PlayMeditationActivity : BaseActivity() {
exo_play
.
setOnClickListener
{
if
(
isPlaying
)
{
MediaPlayerManager
.
getInstance
(
this
).
pause
()
if
(
posted
){
return
@setOnClickListener
}
MuseHttp
.
getInstance
().
postMeditationPlayRecord
(
meditationId
=
meditationId
.
toInt
(),
playTime
=
(
seekbar_play_progress
.
progress
/
1000.00
).
roundToInt
()
).
compose
(
resultData
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
subscribe
({
if
(
it
.
code
!=
null
&&
it
.
code
==
"200"
){
posted
=
true
}
else
{
}
},{
object
:
ThrowableConsumer
(){
override
fun
accept
(
msg
:
String
)
{
show
(
msg
)
}
}
})
}
else
{
val
duration
=
mMediaPlayer
?.
duration
...
...
@@ -485,7 +536,7 @@ class PlayMeditationActivity : BaseActivity() {
}
override
fun
onComplete
()
{
ToastHelper
.
show
(
"倒计时结束,停止播放吧!"
)
show
(
"倒计时结束,停止播放吧!"
)
if
(
mMediaPlayer
?.
isPlaying
==
true
){
mMediaPlayer
?.
stop
()
exo_play
.
setImageResource
(
R
.
drawable
.
icon_pause_meditation
)
...
...
@@ -524,6 +575,4 @@ class PlayMeditationActivity : BaseActivity() {
const
val
request_code
=
0
x0001
}
}
\ No newline at end of file
m-muse/src/main/java/com/yidianling/muse/bean/CollectResultModule.kt
deleted
100644 → 0
View file @
442e1f0d
package
com.yidianling.muse.bean
data class
CollectResultModule
(
val
status
:
Int
)
m-muse/src/main/java/com/yidianling/muse/bean/MeditationCollectRequestModule.kt
deleted
100644 → 0
View file @
442e1f0d
package
com.yidianling.muse.bean
import
com.ydl.ydlcommon.data.http.BaseCommand
class
MeditationCollectRequestModule
(
val
meditationId
:
Long
,
val
status
:
Int
):
BaseCommand
()
{
}
\ No newline at end of file
m-muse/src/main/java/com/yidianling/muse/bean/MeditationModule.kt
0 → 100644
View file @
d093214f
package
com.yidianling.muse.bean
data class
CollectResultModule
(
val
code
:
String
,
val
data
:
String
?=
null
,
val
msg
:
String
?=
null
,
val
err_msg
:
String
?=
null
)
data class
MeditationCollectRequestModule
(
val
meditationId
:
Long
,
val
status
:
Int
)
data class
MeditationPlayRecordRequestModule
(
val
meditationId
:
Int
,
val
playTime
:
Int
)
data class
MeditationPlayRecordResponseModule
(
val
code
:
String
,
val
data
:
String
?
=
null
,
val
msg
:
String
?
=
null
,
val
err_msg
:
String
?
=
null
)
data class
MeditationShareRequestModule
(
val
meditationId
:
Int
)
data class
MeditationShareResponseModule
(
val
code
:
String
,
val
msg
:
String
?,
val
data
:
MeditationShareUrl
?=
null
,
val
err_msg
:
String
?
=
null
)
data class
MeditationShareUrl
(
val
poster
:
String
?
)
\ No newline at end of file
m-muse/src/main/java/com/yidianling/muse/http/MuseHttp.kt
View file @
d093214f
...
...
@@ -4,10 +4,7 @@ import com.ydl.ydlcommon.data.http.BaseAPIResponse
import
com.ydl.ydlcommon.data.http.BaseResponse
import
com.ydl.ydlcommon.data.http.RxUtils
import
com.ydl.ydlnet.YDLHttpUtils
import
com.yidianling.muse.bean.CollectResultModule
import
com.yidianling.muse.bean.MeditationCollectRequestModule
import
com.yidianling.muse.bean.MeditationPlayModuleBean
import
com.yidianling.muse.bean.MuseModuleBean
import
com.yidianling.muse.bean.*
import
io.reactivex.Observable
/**
...
...
@@ -70,4 +67,14 @@ class MuseHttp {
return
RxUtils
.
mapObservable
(
params
).
flatMap
{
getMusePagerApi
().
collectMeditation
(
it
)
}
}
fun
postMeditationPlayRecord
(
meditationId
:
Int
,
playTime
:
Int
):
Observable
<
BaseResponse
<
MeditationPlayRecordResponseModule
>>
{
val
params
=
MeditationPlayRecordRequestModule
(
meditationId
,
playTime
)
return
RxUtils
.
mapObservable
(
params
).
flatMap
{
getMusePagerApi
().
meditationPlayRecord
(
it
)
}
}
fun
getShareMeditationUrl
(
meditationId
:
Int
):
Observable
<
BaseResponse
<
MeditationShareResponseModule
>>
{
val
params
=
MeditationShareRequestModule
(
meditationId
)
return
RxUtils
.
mapObservable
(
params
).
flatMap
{
getMusePagerApi
().
shareMeditationInfo
(
it
)
}
}
}
\ No newline at end of file
m-muse/src/main/java/com/yidianling/muse/http/MusePagerApi.kt
View file @
d093214f
...
...
@@ -4,9 +4,7 @@ import com.ydl.ydlcommon.base.config.YDL_DOMAIN
import
com.ydl.ydlcommon.base.config.YDL_DOMAIN_JAVA
import
com.ydl.ydlcommon.data.http.BaseAPIResponse
import
com.ydl.ydlcommon.data.http.BaseResponse
import
com.yidianling.muse.bean.CollectResultModule
import
com.yidianling.muse.bean.MeditationPlayModuleBean
import
com.yidianling.muse.bean.MuseModuleBean
import
com.yidianling.muse.bean.*
import
io.reactivex.Observable
import
retrofit2.http.*
...
...
@@ -47,11 +45,30 @@ interface MusePagerApi {
):
Observable
<
BaseAPIResponse
<
MeditationPlayModuleBean
>>
/**
*
声音播放详情页
*
收藏和取消收藏
*/
@FormUrlEncoded
@POST
(
"cms/meditation/collect"
)
@Headers
(
YDL_DOMAIN
+
YDL_DOMAIN_JAVA
)
fun
collectMeditation
(
@FieldMap
params
:
Map
<
String
,
String
>
):
Observable
<
BaseResponse
<
CollectResultModule
>>
/**
* 冥想播放记录
*/
@FormUrlEncoded
@POST
(
"cms/meditation/playRecord"
)
@Headers
(
YDL_DOMAIN
+
YDL_DOMAIN_JAVA
)
fun
meditationPlayRecord
(
@FieldMap
params
:
Map
<
String
,
String
>
):
Observable
<
BaseResponse
<
MeditationPlayRecordResponseModule
>>
/**
* 生成分享海报
*/
@FormUrlEncoded
@POST
(
"cms/meditation/share"
)
@Headers
(
YDL_DOMAIN
+
YDL_DOMAIN_JAVA
)
fun
shareMeditationInfo
(
@FieldMap
params
:
Map
<
String
,
String
>
):
Observable
<
BaseResponse
<
MeditationShareResponseModule
>>
}
\ No newline at end of file
m-muse/src/main/java/com/yidianling/muse/widget/ShareMeditationDialog.kt
View file @
d093214f
...
...
@@ -62,7 +62,6 @@ class ShareMeditationDialog : DialogFragment() {
val
imageUrl
=
"http://static.ydlcdn.com/v1/images/logo320.png"
val
shareImageUrl
=
arguments
?.
getString
(
KEY_SHARE_IMAGE_URL
)
val
shareContent
=
arguments
?.
getString
(
KEY_SHARE_CONTENT
)
ivSharePicture
=
view
?.
findViewById
(
R
.
id
.
iv_share_picture
)
...
...
@@ -73,7 +72,6 @@ class ShareMeditationDialog : DialogFragment() {
.
load
(
shareImageUrl
)
.
into
(
ivSharePicture
!!
)
}
tvShareContent
?.
text
=
shareContent
llWeChat
=
view
?.
findViewById
(
R
.
id
.
ll_wechat_friend
)
llCircleOfFriends
=
view
?.
findViewById
(
R
.
id
.
ll_wechat_circle_of_friends
)
...
...
@@ -144,12 +142,10 @@ class ShareMeditationDialog : DialogFragment() {
const
val
TAG
=
"ShareMeditationDialog"
private
const
val
KEY_SHARE_IMAGE_URL
=
"key_share_image_url"
private
const
val
KEY_SHARE_CONTENT
=
"key_share_content"
fun
newInstance
(
shareImageUrl
:
String
,
shareContent
:
String
):
ShareMeditationDialog
{
fun
newInstance
(
shareImageUrl
:
String
):
ShareMeditationDialog
{
val
args
=
Bundle
()
args
.
putString
(
KEY_SHARE_IMAGE_URL
,
shareImageUrl
)
args
.
putString
(
KEY_SHARE_CONTENT
,
shareContent
)
val
fragment
=
ShareMeditationDialog
()
fragment
.
arguments
=
args
return
fragment
...
...
m-muse/src/main/res/layout/activity_play_meditation.xml
View file @
d093214f
...
...
@@ -5,7 +5,7 @@
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
tools
:background=
"@color/_8c"
>
android
:background=
"@color/_8c"
>
<ImageView
android:id=
"@+id/iv_bg"
...
...
@@ -22,7 +22,7 @@
android:layout_width=
"104dp"
android:layout_height=
"36dp"
android:layout_marginStart=
"16dp"
android:layout_marginTop=
"
5
5dp"
android:layout_marginTop=
"
2
5dp"
android:background=
"@drawable/bg_meditation_play_top"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
>
...
...
@@ -100,7 +100,10 @@
app:layout_constraintTop_toBottomOf=
"@id/tv_title"
tools:text=
"舒缓安神舒缓安神舒缓安神舒缓安神舒缓安神舒缓安神舒缓安神舒缓安神"
/>
<include
layout=
"@layout/player_control_view"
/>
<include
android:id=
"@+id/player_control_layout"
android:visibility=
"gone"
layout=
"@layout/player_control_view"
/>
<androidx.constraintlayout.widget.Guideline
android:id=
"@+id/guide_line"
...
...
m-muse/src/main/res/layout/activity_play_meditation_time_off.xml
View file @
d093214f
...
...
@@ -32,9 +32,11 @@
app:layout_constraintTop_toBottomOf=
"@id/iv_close"
/>
<LinearLayout
android:visibility=
"gone"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:orientation=
"horizontal"
android:gravity=
"center_vertical"
android:layout_marginHorizontal=
"72dp"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
...
...
@@ -45,18 +47,67 @@
android:id=
"@+id/wheel_view_hour"
android:layout_width=
"match_parent"
android:layout_weight=
"1"
android:layout_margin=
"1dp"
android:layout_height=
"wrap_content"
/>
<com.wx.wheelview.widget.WheelView
android:id=
"@+id/wheel_view_minute"
android:layout_width=
"match_parent"
android:layout_weight=
"1"
android:layout_margin=
"1dp"
android:layout_height=
"wrap_content"
/>
</LinearLayout>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:orientation=
"horizontal"
android:gravity=
"center"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
app:layout_constraintBottom_toBottomOf=
"parent"
>
<com.weigan.loopview.LoopView
android:id=
"@+id/wheel_hour"
android:layout_width=
"50dp"
android:layout_height=
"240dp"
app:awv_itemsVisibleCount=
"4"
app:awv_textsize=
"36"
app:awv_dividerTextColor=
"0x00FFFFFF"
app:awv_isLoop=
"false"
app:awv_outerTextColor=
"0x66FFFFFF"
app:awv_centerTextColor=
"@color/white"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"16dp"
android:text=
"小时"
android:textColor=
"@color/white"
android:textSize=
"18sp"
/>
<com.weigan.loopview.LoopView
android:id=
"@+id/wheel_minute"
android:layout_width=
"50dp"
android:layout_height=
"240dp"
android:layout_marginStart=
"60dp"
app:awv_itemsVisibleCount=
"4"
app:awv_textsize=
"36"
app:awv_dividerTextColor=
"0x00FFFFFF"
app:awv_isLoop=
"false"
app:awv_outerTextColor=
"0x66FFFFFF"
app:awv_centerTextColor=
"@color/white"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"16dp"
android:text=
"分钟"
android:textColor=
"@color/white"
android:textSize=
"18sp"
/>
</LinearLayout>
<TextView
android:id=
"@+id/tv_cancel_time_off"
android:layout_width=
"match_parent"
...
...
m-muse/src/main/res/layout/layout_share_play_meditation.xml
View file @
d093214f
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
android:id=
"@+id/csl_root_layout"
...
...
@@ -77,6 +78,7 @@
android:layout_height=
"wrap_content"
android:gravity=
"center_horizontal"
android:orientation=
"vertical"
android:visibility=
"gone"
app:layout_constraintEnd_toStartOf=
"@id/ll_qq_zone"
app:layout_constraintHorizontal_weight=
"1"
app:layout_constraintStart_toEndOf=
"@id/ll_wechat_circle_of_friends"
...
...
@@ -164,13 +166,14 @@
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id=
"@+id/csl_layout_top"
android:id=
"@+id/csl_layout_top"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginHorizontal=
"20dp"
android:layout_marginBottom=
"20dp"
android:background=
"@drawable/bg_share_play_meditation_bottom"
android:paddingBottom=
"18dp"
android:visibility=
"gone"
app:layout_constraintBottom_toTopOf=
"@id/csl_share_layout"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
>
...
...
@@ -184,7 +187,8 @@
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
tools:src=
"@drawable/muse_muse_icon_playing"
/>
tools:src=
"@drawable/muse_muse_icon_playing"
android:visibility=
"invisible"
/>
<TextView
android:id=
"@+id/tv_share_content"
...
...
@@ -192,6 +196,7 @@
android:layout_height=
"wrap_content"
android:layout_marginHorizontal=
"24dp"
android:layout_marginTop=
"18dp"
android:visibility=
"invisible"
tools:text=
'" 你一定要站在自己所热爱的世界里闪闪发光 "'
android:textColor=
"#FF282E3F"
android:textSize=
"18sp"
...
...
@@ -208,6 +213,7 @@
android:layout_marginTop=
"44dp"
android:scaleType=
"centerCrop"
android:src=
"@drawable/muse_muse_icon_playing"
android:visibility=
"invisible"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/tv_share_content"
/>
...
...
@@ -221,6 +227,7 @@
android:textColor=
"#FF282E3F"
android:textSize=
"18sp"
android:textStyle=
"bold"
android:visibility=
"invisible"
app:layout_constraintStart_toEndOf=
"@id/iv_share_logo"
app:layout_constraintTop_toTopOf=
"@id/iv_share_logo"
/>
...
...
@@ -232,16 +239,17 @@
android:text=
"温暖而有力的爱着你"
android:textColor=
"#FF999999"
android:textSize=
"14sp"
android:visibility=
"invisible"
app:layout_constraintBottom_toBottomOf=
"@id/iv_share_logo"
app:layout_constraintStart_toEndOf=
"@id/iv_share_logo"
/>
<ImageView
android:id=
"@+id/iv_share_qr_code"
android:layout_width=
"48dp"
android:layout_height=
"48dp"
android:layout_marginEnd=
"16dp"
android:scaleType=
"centerCrop"
android:visibility=
"invisible"
android:src=
"@drawable/muse_muse_icon_playing"
app:layout_constraintBottom_toBottomOf=
"@id/iv_share_logo"
app:layout_constraintEnd_toEndOf=
"parent"
...
...
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