设置音量和播报模式
This commit is contained in:
@@ -184,6 +184,10 @@ public class NaviClient implements IMogoNavi {
|
||||
return mMogoNaviConfig;
|
||||
}
|
||||
|
||||
@Override public boolean setBroadcastMode(int mode) {
|
||||
return mAMapNavi.setBroadcastMode(mode);
|
||||
}
|
||||
|
||||
// -- end
|
||||
|
||||
private boolean checkAMapNavi() {
|
||||
|
||||
@@ -1,2 +1,4 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.mogo.map.api" />
|
||||
package="com.mogo.map.api" >
|
||||
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
|
||||
</manifest>
|
||||
|
||||
@@ -104,7 +104,17 @@ public interface IMogoNavi {
|
||||
*/
|
||||
void setCalculatePathDisplayBounds( Rect bounds );
|
||||
|
||||
|
||||
/**
|
||||
* 导航配置
|
||||
* @return
|
||||
*/
|
||||
MogoNaviConfig getNaviConfig();
|
||||
|
||||
/**
|
||||
* 设置播报模式
|
||||
* @param mode
|
||||
* @return
|
||||
*/
|
||||
boolean setBroadcastMode(int mode);
|
||||
|
||||
}
|
||||
|
||||
@@ -142,4 +142,11 @@ public class MogoNavi implements IMogoNavi {
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override public boolean setBroadcastMode(int mode) {
|
||||
if (mDelegate != null) {
|
||||
return mDelegate.setBroadcastMode(mode);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
package com.mogo.map.constants;
|
||||
|
||||
/**
|
||||
* @author zyz
|
||||
* 2020-01-14.
|
||||
*/
|
||||
public class BroadcastMode {
|
||||
public static final int CONCISE = 1;
|
||||
public static final int DETAIL = 2;
|
||||
}
|
||||
@@ -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
|
||||
)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user