设置音量和播报模式

This commit is contained in:
zhangyuanzhen
2020-01-14 11:45:12 +08:00
parent 6d0b81606e
commit 162cc07627
6 changed files with 65 additions and 5 deletions

View File

@@ -1,5 +1,7 @@
package com.mogo.module.navi.ui.setting
import android.content.Context
import android.media.AudioManager
import android.os.Bundle
import android.view.View
import android.widget.CompoundButton
@@ -8,6 +10,8 @@ import android.widget.SeekBar
import android.widget.SeekBar.OnSeekBarChangeListener
import com.alibaba.android.arouter.facade.annotation.Route
import com.alibaba.android.arouter.launcher.ARouter
import com.mogo.map.constants.BroadcastMode
import com.mogo.map.uicontroller.EnumMapUI
import com.mogo.module.common.MogoModulePaths
import com.mogo.module.navi.R
import com.mogo.module.navi.constants.SearchServiceHolder
@@ -108,6 +112,10 @@ class NaviSettingFragment : BaseFragment(), OnCheckedChangeListener {
rb_navi_no_high_way.setOnCheckedChangeListener(this)
rb_navi_fee.setOnCheckedChangeListener(this)
var audioManager = activity?.getSystemService(Context.AUDIO_SERVICE) as AudioManager
sb_navi_volume_progress.max = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC)
sb_navi_volume_progress.progress = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC)
sb_navi_volume_progress.setOnSeekBarChangeListener(object : OnSeekBarChangeListener {
override fun onProgressChanged(
@@ -115,9 +123,9 @@ class NaviSettingFragment : BaseFragment(), OnCheckedChangeListener {
progress: Int,
fromUser: Boolean
) {
if (fromUser) {
SettingManager.volume = progress
}
audioManager.setStreamVolume(
AudioManager.STREAM_MUSIC, progress, AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE
)
}
override fun onStartTrackingTouch(seekBar: SeekBar?) {
@@ -131,9 +139,28 @@ class NaviSettingFragment : BaseFragment(), OnCheckedChangeListener {
rg_navi_day_night.setOnCheckedChangeListener { group, checkedId ->
SettingManager.mapType = checkedId
when (checkedId) {
R.id.rb_navi_day -> {
SearchServiceHolder.getMapUIController()
.changeMapMode(EnumMapUI.Type_Night)
}
R.id.rb_navi_night -> {
SearchServiceHolder.getMapUIController()
.changeMapMode(EnumMapUI.Type_Light)
}
R.id.rb_navi_auto -> {
SearchServiceHolder.getMapUIController()
.changeMapMode(EnumMapUI.Type_AUTO_LIGHT_Night)
}
}
}
rg_navi_sound_type.setOnCheckedChangeListener { group, checkedId ->
SettingManager.voiceStyle = checkedId
SearchServiceHolder.getNavi()
.setBroadcastMode(
if (checkedId == R.id.rb_navi_detail) BroadcastMode.DETAIL else BroadcastMode.CONCISE
)
}
}