[m1]
[1.0.0] [瞬间点击触发]
This commit is contained in:
@@ -35,22 +35,23 @@ class BusPassengerFunctionDevicePresenter(view: BusPassengerFunctionDeviceFragme
|
||||
}
|
||||
|
||||
fun startStopSide() {
|
||||
when (CallerAutoPilotStatusListenerManager.getAutoPilotStatusInfo().state) {
|
||||
IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE -> {// 不可自动驾驶
|
||||
ToastUtils.showShort("设备未就绪请稍等")
|
||||
}
|
||||
IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE -> {//
|
||||
ToastUtils.showShort("启动自动驾驶中")
|
||||
// TODO: 查找线路和订单来确定 CallerAutoPilotControlManager.startAutoPilot(parameters);
|
||||
}
|
||||
IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING -> {
|
||||
AdasManager.getInstance().sendPlanningCmd(2)
|
||||
}
|
||||
IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING -> {
|
||||
ToastUtils.showShort("平行驾驶中请稍后")
|
||||
}
|
||||
else -> {}
|
||||
}
|
||||
AdasManager.getInstance().sendPlanningCmd(2)
|
||||
// when (CallerAutoPilotStatusListenerManager.getAutoPilotStatusInfo().state) {
|
||||
// IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE -> {// 不可自动驾驶
|
||||
// ToastUtils.showShort("设备未就绪请稍等")
|
||||
// }
|
||||
// IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE -> {//
|
||||
// ToastUtils.showShort("启动自动驾驶中")
|
||||
// // TODO: 查找线路和订单来确定 CallerAutoPilotControlManager.startAutoPilot(parameters);
|
||||
// }
|
||||
// IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING -> {
|
||||
// AdasManager.getInstance().sendPlanningCmd(2)
|
||||
// }
|
||||
// IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING -> {
|
||||
// ToastUtils.showShort("平行驾驶中请稍后")
|
||||
// }
|
||||
// else -> {}
|
||||
// }
|
||||
}
|
||||
|
||||
}
|
||||
@@ -2,6 +2,8 @@ package com.mogo.och.bus.passenger.presenter
|
||||
|
||||
import androidx.lifecycle.LifecycleOwner
|
||||
import com.mogo.commons.mvp.Presenter
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
|
||||
import com.mogo.och.bus.passenger.ui.BusPassengerFunctionSoftFragment
|
||||
import com.mogo.och.common.module.manager.OCHM1LightAirconditionDoorStatusManager
|
||||
import com.zhidao.support.adas.high.AdasManager
|
||||
@@ -20,66 +22,82 @@ class BusPassengerFunctionSoftPresenter(view: BusPassengerFunctionSoftFragment?)
|
||||
|
||||
override fun onDestroy(owner: LifecycleOwner) {
|
||||
super.onDestroy(owner)
|
||||
|
||||
OCHM1LightAirconditionDoorStatusManager.removeListener(TAG)
|
||||
}
|
||||
|
||||
/**
|
||||
* 空调状态变化
|
||||
*/
|
||||
override fun onAirconditionStatusCallback(heaterIsOpen: Boolean,airconditionStatus: OCHM1LightAirconditionDoorStatusManager.AirconditionStatus) {
|
||||
mView?.setAirconditionHeaterView(
|
||||
airconditionStatus.isOpen,
|
||||
heaterIsOpen,
|
||||
airconditionStatus.temperature,
|
||||
airconditionStatus.pattert,
|
||||
airconditionStatus.windSpeed
|
||||
)
|
||||
// mView?.setAirconditionHeaterView(
|
||||
// airconditionStatus.isOpen,
|
||||
// heaterIsOpen,
|
||||
// airconditionStatus.temperature,
|
||||
// airconditionStatus.pattert,
|
||||
// airconditionStatus.windSpeed
|
||||
// )
|
||||
}
|
||||
/**
|
||||
* 暖风机状态变化
|
||||
*/
|
||||
override fun onHeaterStatusCallback(airconditionIsOpen:Boolean,heaterStatue: OCHM1LightAirconditionDoorStatusManager.HeaterStatue) {
|
||||
mView?.setAirconditionHeaterView(
|
||||
heaterStatue.isOpen,
|
||||
airconditionIsOpen,
|
||||
0,
|
||||
0,
|
||||
heaterStatue.windSpeed
|
||||
)
|
||||
// mView?.setAirconditionHeaterView(
|
||||
// heaterStatue.isOpen,
|
||||
// airconditionIsOpen,
|
||||
// 0,
|
||||
// 0,
|
||||
// heaterStatue.windSpeed
|
||||
// )
|
||||
}
|
||||
/**
|
||||
* 灯状态变化
|
||||
*/
|
||||
override fun onLightCallback(lightStatus: OCHM1LightAirconditionDoorStatusManager.LightStatus) {
|
||||
mView?.setLightView(lightStatus.isOpenLight1,lightStatus.isOpenLight2,lightStatus.isOpenatmosphere)
|
||||
//mView?.setLightView(lightStatus.isOpenLight1,lightStatus.isOpenLight2,lightStatus.isOpenatmosphere)
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置空调
|
||||
*/
|
||||
fun sendRoboBusJinlvM1AirConditionerCmd(switchCmd: Int, modeCmd: Int, windSpeedCmd: Int, temperatureCmd: Int) {
|
||||
AdasManager.getInstance().sendRoboBusJinlvM1AirConditionerCmd(switchCmd,modeCmd,windSpeedCmd,temperatureCmd)
|
||||
fun openAndSetAircondition(modeCmd: Int, windSpeedCmd: Int, temperatureCmd: Int) {
|
||||
CallerLogger.d(SceneConstant.M_BUS_P + TAG, "打开空调,模式$modeCmd--档位${windSpeedCmd}--温度:$temperatureCmd")
|
||||
AdasManager.getInstance().sendRoboBusJinlvM1AirConditionerCmd(1,modeCmd,windSpeedCmd,temperatureCmd)
|
||||
}
|
||||
fun closeAircondition() {
|
||||
CallerLogger.d(SceneConstant.M_BUS_P + TAG, "关闭空调")
|
||||
AdasManager.getInstance().sendRoboBusJinlvM1AirConditionerCmd(2,0,0,0)
|
||||
}
|
||||
/**
|
||||
* 设置暖风
|
||||
*/
|
||||
fun sendRoboBusJinlvM1HeaderCmd(switchCmd: Int, windSpeedCmd: Int) {
|
||||
AdasManager.getInstance().sendRoboBusJinlvM1HeaderCmd(switchCmd,windSpeedCmd)
|
||||
fun openAndSetHeader(windSpeedCmd: Int) {
|
||||
CallerLogger.d(SceneConstant.M_BUS_P + TAG, "打开暖风机、档位${windSpeedCmd}")
|
||||
AdasManager.getInstance().sendRoboBusJinlvM1HeaderCmd(1,windSpeedCmd)
|
||||
}
|
||||
|
||||
fun setLightData(leftLight: Boolean, rightLight: Boolean, atmosphereLight: Boolean) {
|
||||
if (leftLight && rightLight) {
|
||||
AdasManager.getInstance().sendRoboBusJinlvM1MainLampCmd(1,1)
|
||||
} else if (!leftLight && !rightLight) {
|
||||
AdasManager.getInstance().sendRoboBusJinlvM1MainLampCmd(2,2)
|
||||
} else {
|
||||
if (leftLight) {
|
||||
AdasManager.getInstance().sendRoboBusJinlvM1MainLampCmd(1,2)
|
||||
}
|
||||
if (rightLight) {
|
||||
AdasManager.getInstance().sendRoboBusJinlvM1MainLampCmd(2,1)
|
||||
}
|
||||
fun closeHeader(){
|
||||
CallerLogger.d(SceneConstant.M_BUS_P + TAG, "关闭暖风机")
|
||||
AdasManager.getInstance().sendRoboBusJinlvM1HeaderCmd(2,0)
|
||||
}
|
||||
|
||||
fun setLightData1(leftLight: Boolean){
|
||||
CallerLogger.d(SceneConstant.M_BUS_P + TAG, "顶灯2:$leftLight")
|
||||
if(leftLight){
|
||||
AdasManager.getInstance().sendRoboBusJinlvM1MainLamp1Cmd(1)
|
||||
}else{
|
||||
AdasManager.getInstance().sendRoboBusJinlvM1MainLamp1Cmd(2)
|
||||
}
|
||||
}
|
||||
fun setLightData2(rightLight: Boolean){
|
||||
CallerLogger.d(SceneConstant.M_BUS_P + TAG, "顶灯1:$rightLight")
|
||||
if(rightLight){
|
||||
AdasManager.getInstance().sendRoboBusJinlvM1MainLamp2Cmd(1)
|
||||
}else{
|
||||
AdasManager.getInstance().sendRoboBusJinlvM1MainLamp2Cmd(2)
|
||||
}
|
||||
}
|
||||
fun setAtmosphereLightData2(atmosphereLight: Boolean){
|
||||
CallerLogger.d(SceneConstant.M_BUS_P + TAG, "氛围灯:$atmosphereLight")
|
||||
if (atmosphereLight) {
|
||||
AdasManager.getInstance().sendRoboBusJinlvM1SmallLampCmd(1)
|
||||
} else {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.mogo.och.bus.passenger.ui
|
||||
|
||||
import android.content.Context
|
||||
import android.graphics.Color
|
||||
import android.graphics.drawable.LayerDrawable
|
||||
import android.graphics.drawable.ScaleDrawable
|
||||
import android.media.AudioManager
|
||||
@@ -17,6 +18,7 @@ import androidx.recyclerview.widget.SnapHelper
|
||||
import com.mogo.commons.mvp.MvpFragment
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
|
||||
import com.mogo.eagle.core.utilcode.util.ClickUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import com.mogo.och.bus.passenger.R
|
||||
import com.mogo.och.bus.passenger.bean.Temperature
|
||||
@@ -41,7 +43,7 @@ class BusPassengerFunctionSoftFragment :
|
||||
|
||||
override fun getTagName(): String = TAG
|
||||
|
||||
private var currentTemperature:Temperature?=null
|
||||
private var currentTemperature: Temperature? = null
|
||||
|
||||
override fun initViews() {
|
||||
rg_select_function.setOnCheckedChangeListener { group, checkedId ->
|
||||
@@ -78,16 +80,16 @@ class BusPassengerFunctionSoftFragment :
|
||||
}else{
|
||||
SoundPoolHelper.getSoundPoolHelper().playSoundWithRedId(context, R.raw.bus_di)
|
||||
}
|
||||
if (rg_setting_pattern.checkedRadioButtonId==R.id.rb_pattern_heating) {
|
||||
if(isChecked){// 打开暖风机
|
||||
if (rg_setting_pattern.checkedRadioButtonId == R.id.rb_pattern_heating) {
|
||||
if (isChecked) {// 打开暖风机
|
||||
openHeater()
|
||||
}else{// 关闭暖风机
|
||||
} else {// 关闭暖风机
|
||||
closeHeater()
|
||||
}
|
||||
}else{
|
||||
if(isChecked){// 打开空调
|
||||
} else {
|
||||
if (isChecked) {// 打开空调
|
||||
openAircondition()
|
||||
}else{//关闭空调
|
||||
} else {//关闭空调
|
||||
closeAircondition()
|
||||
}
|
||||
}
|
||||
@@ -99,7 +101,7 @@ class BusPassengerFunctionSoftFragment :
|
||||
}else{
|
||||
SoundPoolHelper.getSoundPoolHelper().playSoundWithRedId(context, R.raw.bus_di)
|
||||
}
|
||||
CallerLogger.d(SceneConstant.M_BUS_P+ TAG,"调节模式")
|
||||
CallerLogger.d(SceneConstant.M_BUS_P + TAG, "调节模式")
|
||||
when (checkedId) {
|
||||
R.id.rb_pattern_heating -> {
|
||||
openHeater()
|
||||
@@ -109,9 +111,10 @@ class BusPassengerFunctionSoftFragment :
|
||||
}
|
||||
}
|
||||
}
|
||||
val pickerLayoutManager = PickerLayoutManager(requireContext(), PickerLayoutManager.HORIZONTAL, false)
|
||||
val pickerLayoutManager =
|
||||
PickerLayoutManager(requireContext(), PickerLayoutManager.HORIZONTAL, false)
|
||||
pickerLayoutManager.isChangeAlpha = true
|
||||
pickerLayoutManager.scaleDownBy = 0.39f
|
||||
pickerLayoutManager.scaleDownBy = 0.29f
|
||||
pickerLayoutManager.scaleDownDistance = 0.8f
|
||||
|
||||
val adapter = TemperatureAdapter(requireContext(), getData(), rv_aircondition_temperature)
|
||||
@@ -119,7 +122,7 @@ class BusPassengerFunctionSoftFragment :
|
||||
snapHelper.attachToRecyclerView(rv_aircondition_temperature)
|
||||
rv_aircondition_temperature.layoutManager = pickerLayoutManager
|
||||
rv_aircondition_temperature.adapter = adapter
|
||||
rv_aircondition_temperature.addItemDecoration(HorizontalDecoration(20))
|
||||
rv_aircondition_temperature.addItemDecoration(HorizontalDecoration(15))
|
||||
|
||||
// 风速调节
|
||||
rg_setting_windspeed.setOnCheckedChangeListener { group, checkedId ->
|
||||
@@ -128,16 +131,19 @@ class BusPassengerFunctionSoftFragment :
|
||||
}else{
|
||||
SoundPoolHelper.getSoundPoolHelper().playSoundWithRedId(context, R.raw.bus_di)
|
||||
}
|
||||
CallerLogger.d(SceneConstant.M_BUS_P+ TAG,"调节风速")
|
||||
if (rg_setting_pattern.checkedRadioButtonId==R.id.rb_pattern_heating) {//暖风机
|
||||
if (rg_setting_pattern.checkedRadioButtonId == R.id.rb_pattern_heating) {//暖风机
|
||||
openHeater()
|
||||
}else{
|
||||
} else {
|
||||
openAircondition()
|
||||
}
|
||||
}
|
||||
|
||||
pickerLayoutManager.setOnScrollStopListener { view ->
|
||||
if (view is TextView) {
|
||||
view.setTextColor(Color.WHITE)
|
||||
if (ClickUtils.isClickTooFrequent(rv_aircondition_temperature)) {
|
||||
return@setOnScrollStopListener
|
||||
}
|
||||
val tag = view.tag
|
||||
if (tag is Temperature) {
|
||||
currentTemperature = tag
|
||||
@@ -150,23 +156,24 @@ class BusPassengerFunctionSoftFragment :
|
||||
}
|
||||
openAircondition()
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun getData(): MutableList<Temperature> {
|
||||
val mutableListOf = mutableListOf<Temperature>()
|
||||
mutableListOf.add(Temperature(0,16,"16°"))
|
||||
mutableListOf.add(Temperature(1,17,"17°"))
|
||||
mutableListOf.add(Temperature(2,18,"18°"))
|
||||
mutableListOf.add(Temperature(3,19,"19°"))
|
||||
mutableListOf.add(Temperature(4,20,"20°"))
|
||||
mutableListOf.add(Temperature(5,21,"21°"))
|
||||
mutableListOf.add(Temperature(6,22,"22°"))
|
||||
mutableListOf.add(Temperature(7,23,"23°"))
|
||||
mutableListOf.add(Temperature(8,24,"24°"))
|
||||
mutableListOf.add(Temperature(9,25,"25°"))
|
||||
mutableListOf.add(Temperature(10,26,"26°"))
|
||||
mutableListOf.add(Temperature(0, 16, "16°"))
|
||||
mutableListOf.add(Temperature(1, 17, "17°"))
|
||||
mutableListOf.add(Temperature(2, 18, "18°"))
|
||||
mutableListOf.add(Temperature(3, 19, "19°"))
|
||||
mutableListOf.add(Temperature(4, 20, "20°"))
|
||||
mutableListOf.add(Temperature(5, 21, "21°"))
|
||||
mutableListOf.add(Temperature(6, 22, "22°"))
|
||||
mutableListOf.add(Temperature(7, 23, "23°"))
|
||||
mutableListOf.add(Temperature(8, 24, "24°"))
|
||||
mutableListOf.add(Temperature(9, 25, "25°"))
|
||||
mutableListOf.add(Temperature(10, 26, "26°"))
|
||||
return mutableListOf
|
||||
}
|
||||
|
||||
@@ -174,50 +181,56 @@ class BusPassengerFunctionSoftFragment :
|
||||
* 关闭空调
|
||||
*/
|
||||
private fun closeAircondition() {
|
||||
CallerLogger.d(SceneConstant.M_BUS_P+ TAG,"关闭空调")
|
||||
mPresenter?.sendRoboBusJinlvM1AirConditionerCmd(2,0,0,0)
|
||||
CallerLogger.d(SceneConstant.M_BUS_P + TAG, "关闭空调")
|
||||
mPresenter?.closeAircondition()
|
||||
}
|
||||
|
||||
/**
|
||||
* 开启空调
|
||||
*/
|
||||
private fun openAircondition() {
|
||||
CallerLogger.d(SceneConstant.M_BUS_P+ TAG,"打开空调")
|
||||
CallerLogger.d(SceneConstant.M_BUS_P + TAG, "打开空调")
|
||||
var modeCmd = 0
|
||||
var windSpeedCmd = 0
|
||||
val temperatureCmd = currentTemperature?.value?:26
|
||||
val temperatureCmd = currentTemperature?.value ?: 26
|
||||
closeHeater()//关闭暖风
|
||||
when (rg_setting_pattern.checkedRadioButtonId) {
|
||||
R.id.rb_pattern_automatic -> modeCmd = 1 // 自动
|
||||
R.id.rb_pattern_refrigeration -> modeCmd = 2 // 制冷
|
||||
R.id.rb_pattern_ventilate -> modeCmd = 3 // 通风
|
||||
R.id.rb_pattern_ventilate -> modeCmd = 3 // 通风
|
||||
else -> {}
|
||||
}
|
||||
when (rg_setting_windspeed.checkedRadioButtonId) {
|
||||
R.id.rb_wind_speed_low -> windSpeedCmd = 1 // 1档
|
||||
R.id.rb_wind_speed_middle -> windSpeedCmd = 2 // 2档
|
||||
R.id.rb_wind_speed_high -> windSpeedCmd = 3 // 3档
|
||||
R.id.rb_wind_speed_high -> windSpeedCmd = 3 // 3档
|
||||
else -> {}
|
||||
}
|
||||
mPresenter?.sendRoboBusJinlvM1AirConditionerCmd(1,modeCmd,windSpeedCmd,temperatureCmd)
|
||||
mPresenter?.openAndSetAircondition(modeCmd, windSpeedCmd, temperatureCmd)
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据车的状态会写页面状态
|
||||
*/
|
||||
fun setAirconditionHeaterView(airIsOpen:Boolean,heaterIsOpen:Boolean,temperatureCmd:Int,pattern:Int,windSpeed:Int){
|
||||
if(!airIsOpen&&!heaterIsOpen){
|
||||
fun setAirconditionHeaterView(
|
||||
airIsOpen: Boolean,
|
||||
heaterIsOpen: Boolean,
|
||||
temperatureCmd: Int,
|
||||
pattern: Int,
|
||||
windSpeed: Int
|
||||
) {
|
||||
if (!airIsOpen && !heaterIsOpen) {
|
||||
tv_aircondition_switch.tag = touchTag
|
||||
tv_aircondition_switch.isChecked = false
|
||||
}else{
|
||||
} else {
|
||||
tv_aircondition_switch.tag = touchTag
|
||||
tv_aircondition_switch.isChecked = true
|
||||
}
|
||||
if(airIsOpen){
|
||||
if (airIsOpen) {
|
||||
val adapter = rv_aircondition_temperature.adapter
|
||||
if (adapter is TemperatureAdapter) {
|
||||
adapter.data.forEach {
|
||||
if (it.value==temperatureCmd) {
|
||||
if (it.value == temperatureCmd) {
|
||||
rv_aircondition_temperature.tag = touchTag
|
||||
rv_aircondition_temperature.smoothScrollToPosition(it.index)
|
||||
}
|
||||
@@ -239,7 +252,7 @@ class BusPassengerFunctionSoftFragment :
|
||||
else -> {}
|
||||
}
|
||||
}
|
||||
if(heaterIsOpen){
|
||||
if (heaterIsOpen) {
|
||||
rg_setting_pattern.tag = touchTag
|
||||
rb_pattern_heating.isChecked = true
|
||||
heaterAirEnable(false)
|
||||
@@ -256,22 +269,12 @@ class BusPassengerFunctionSoftFragment :
|
||||
* 关闭暖风机
|
||||
*/
|
||||
private fun closeHeater() {
|
||||
CallerLogger.d(SceneConstant.M_BUS_P+ TAG,"关闭暖风")
|
||||
CallerLogger.d(SceneConstant.M_BUS_P + TAG, "关闭暖风")
|
||||
heaterAirEnable(true)
|
||||
when (rg_setting_windspeed.checkedRadioButtonId) {
|
||||
R.id.rb_wind_speed_low -> {}
|
||||
R.id.rb_wind_speed_middle -> {
|
||||
mPresenter?.sendRoboBusJinlvM1HeaderCmd(2,1)
|
||||
}
|
||||
R.id.rb_wind_speed_high -> {
|
||||
mPresenter?.sendRoboBusJinlvM1HeaderCmd(2,2)
|
||||
AdasManager.getInstance().sendRoboBusJinlvM1HeaderCmd(2,2)
|
||||
}
|
||||
else -> {}
|
||||
}
|
||||
mPresenter?.closeHeader()
|
||||
}
|
||||
|
||||
private fun heaterAirEnable(enable:Boolean){
|
||||
private fun heaterAirEnable(enable: Boolean) {
|
||||
tv_temperature_title.isEnabled = enable
|
||||
rv_aircondition_temperature.isEnabled = enable
|
||||
rb_wind_speed_low.isEnabled = enable
|
||||
@@ -281,7 +284,7 @@ class BusPassengerFunctionSoftFragment :
|
||||
* 开启暖风机
|
||||
*/
|
||||
private fun openHeater() {
|
||||
CallerLogger.d(SceneConstant.M_BUS_P+ TAG,"打开暖风")
|
||||
CallerLogger.d(SceneConstant.M_BUS_P + TAG, "打开暖风")
|
||||
heaterAirEnable(false)
|
||||
closeAircondition()//关闭空调
|
||||
when (rg_setting_windspeed.checkedRadioButtonId) {
|
||||
@@ -290,10 +293,10 @@ class BusPassengerFunctionSoftFragment :
|
||||
rb_wind_speed_middle.toggle()
|
||||
}
|
||||
R.id.rb_wind_speed_middle -> {
|
||||
AdasManager.getInstance().sendRoboBusJinlvM1HeaderCmd(1,1)
|
||||
mPresenter?.openAndSetHeader(1)
|
||||
}
|
||||
R.id.rb_wind_speed_high -> {
|
||||
AdasManager.getInstance().sendRoboBusJinlvM1HeaderCmd(1,2)
|
||||
mPresenter?.openAndSetHeader(2)
|
||||
}
|
||||
else -> {
|
||||
rb_wind_speed_middle.tag = touchTag
|
||||
@@ -303,40 +306,55 @@ class BusPassengerFunctionSoftFragment :
|
||||
}
|
||||
|
||||
|
||||
|
||||
// region 灯
|
||||
private fun setLightListener() {
|
||||
tv_light_top_01.setOnCheckedChangeListener { buttonView, isChecked ->
|
||||
SoundPoolHelper.getSoundPoolHelper().playSoundWithRedId(context, R.raw.bus_di)
|
||||
mPresenter?.setLightData(isChecked, tv_light_top_02.isChecked, tv_light_atmosphere.isChecked)
|
||||
mPresenter?.setLightData1(isChecked)
|
||||
setLightView(isChecked, tv_light_top_02.isChecked, tv_light_atmosphere.isChecked)
|
||||
}
|
||||
tv_light_top_02.setOnCheckedChangeListener { buttonView, isChecked ->
|
||||
SoundPoolHelper.getSoundPoolHelper().playSoundWithRedId(context, R.raw.bus_di)
|
||||
mPresenter?.setLightData(isChecked, tv_light_top_02.isChecked, tv_light_atmosphere.isChecked)
|
||||
mPresenter?.setLightData2(isChecked)
|
||||
setLightView(tv_light_top_01.isChecked, isChecked, tv_light_atmosphere.isChecked)
|
||||
|
||||
}
|
||||
tv_light_atmosphere.setOnCheckedChangeListener { buttonView, isChecked ->
|
||||
SoundPoolHelper.getSoundPoolHelper().playSoundWithRedId(context, R.raw.bus_di)
|
||||
mPresenter?.setLightData(isChecked, tv_light_top_02.isChecked, tv_light_atmosphere.isChecked)
|
||||
mPresenter?.setAtmosphereLightData2(isChecked)
|
||||
setLightView(tv_light_top_01.isChecked, tv_light_top_02.isChecked, isChecked)
|
||||
}
|
||||
}
|
||||
|
||||
private fun voiceBi(target: View): Boolean {
|
||||
if (target.tag == touchTag) {
|
||||
target.tag = null
|
||||
return false
|
||||
} else {
|
||||
SoundPoolHelper.getSoundPoolHelper().playSoundWithRedId(context, R.raw.bus_di)
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 灯的UI发生变化
|
||||
*/
|
||||
fun setLightView(leftLight: Boolean, rightLight: Boolean, atmosphereLight: Boolean) {
|
||||
if(leftLight){
|
||||
tv_light_top_01.tag = touchTag
|
||||
tv_light_top_02.tag = touchTag
|
||||
tv_light_atmosphere.tag = touchTag
|
||||
if (leftLight) {
|
||||
tv_light_top_01.text = requireContext().getString(R.string.bus_p_m1_close_light1)
|
||||
}else{
|
||||
//tv_light_top_01.isChecked = true
|
||||
} else {
|
||||
tv_light_top_01.text = requireContext().getString(R.string.bus_p_m1_open_light1)
|
||||
//tv_light_top_01.isChecked = false
|
||||
}
|
||||
if(rightLight){
|
||||
if (rightLight) {
|
||||
tv_light_top_02.text = requireContext().getString(R.string.bus_p_m1_close_light2)
|
||||
}else{
|
||||
//tv_light_top_02.isChecked = true
|
||||
} else {
|
||||
tv_light_top_02.text = requireContext().getString(R.string.bus_p_m1_open_light2)
|
||||
//tv_light_top_02.isChecked = false
|
||||
}
|
||||
if (leftLight && rightLight) {
|
||||
iv_top_light_setting.setImageResource(R.drawable.bus_p_function_light_middle_selected)// 都打开
|
||||
@@ -352,9 +370,11 @@ class BusPassengerFunctionSoftFragment :
|
||||
}
|
||||
if (atmosphereLight) {
|
||||
tv_light_atmosphere.text = requireContext().getString(R.string.bus_p_m1_close_atmosphere)
|
||||
//tv_light_atmosphere.isChecked = true
|
||||
iv_bottom_light_setting.setImageResource(R.drawable.bus_p_function_atmosphere_select)
|
||||
} else {
|
||||
tv_light_atmosphere.text = requireContext().getString(R.string.bus_p_m1_open_atmosphere)
|
||||
//tv_light_atmosphere.isChecked = false
|
||||
iv_bottom_light_setting.setImageResource(R.drawable.bus_p_function_atmosphere_nor)
|
||||
}
|
||||
}
|
||||
@@ -387,7 +407,7 @@ class BusPassengerFunctionSoftFragment :
|
||||
if (fromUser) {
|
||||
mMaxVolume?.let {
|
||||
var currnetValue = ((progress.toFloat() / 100) * it).toInt()
|
||||
if(currnetValue <=0){
|
||||
if (currnetValue <= 0) {
|
||||
currnetValue = 1;
|
||||
}
|
||||
mAudioManager?.setStreamVolume(
|
||||
@@ -417,13 +437,13 @@ class BusPassengerFunctionSoftFragment :
|
||||
val mCurrentVolume = mAudioManager?.getStreamVolume(AudioManager.STREAM_MUSIC)
|
||||
mMaxVolume?.let { max ->
|
||||
mCurrentVolume?.let { current ->
|
||||
if(current==1){
|
||||
if (current == 1) {
|
||||
sb_voice_bar.progress = 5
|
||||
tv_current_voice_value.text= "5%"
|
||||
}else {
|
||||
tv_current_voice_value.text = "5%"
|
||||
} else {
|
||||
val fl = current.toFloat() / max * 100
|
||||
sb_voice_bar.progress = fl.toInt()
|
||||
tv_current_voice_value.text= "${fl.toInt()}%"
|
||||
tv_current_voice_value.text = "${fl.toInt()}%"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -439,6 +459,7 @@ class BusPassengerFunctionSoftFragment :
|
||||
const val TAG = "BusPassengerFunctionSoftFragment"
|
||||
const val touchTagKey = 2
|
||||
const val touchTag = 2
|
||||
|
||||
@JvmStatic
|
||||
fun newInstance(): BusPassengerFunctionSoftFragment {
|
||||
val args = Bundle()
|
||||
|
||||
@@ -0,0 +1,70 @@
|
||||
package com.mogo.och.bus.passenger.view;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.BitmapFactory;
|
||||
import android.graphics.Canvas;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.Rect;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.MotionEvent;
|
||||
import android.widget.CheckBox;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import java.lang.ref.WeakReference;
|
||||
|
||||
public class DrawableCheckBox extends androidx.appcompat.widget.AppCompatCheckBox {
|
||||
|
||||
public DrawableCheckBox(Context context, AttributeSet attrs, int defStyle) {
|
||||
|
||||
super(context, attrs, defStyle);
|
||||
|
||||
// TODO Auto-generated constructor stub
|
||||
|
||||
}
|
||||
|
||||
public DrawableCheckBox(Context context, AttributeSet attrs) {
|
||||
|
||||
super(context, attrs);
|
||||
|
||||
// TODO Auto-generated constructor stub
|
||||
|
||||
}
|
||||
|
||||
public DrawableCheckBox(Context context) {
|
||||
|
||||
super(context);
|
||||
|
||||
// TODO Auto-generated constructor stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
protected void onDraw(Canvas canvas) {
|
||||
//获取设置的图片
|
||||
Drawable[] drawables = getCompoundDrawables();
|
||||
if (drawables != null) {
|
||||
//第一个是left
|
||||
Drawable drawableLeft = drawables[0];
|
||||
if (drawableLeft != null) {
|
||||
//获取文字的宽度
|
||||
float textWidth = getPaint().measureText(getText().toString());
|
||||
int drawablePadding = getCompoundDrawablePadding();
|
||||
int drawableWidth = 0;
|
||||
drawableWidth = drawableLeft.getIntrinsicWidth();
|
||||
float bodyWidth = textWidth + drawableWidth + drawablePadding;
|
||||
int y = getWidth();
|
||||
canvas.translate((getWidth() - bodyWidth) / 2, 0);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
super.onDraw(canvas);
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -3,11 +3,16 @@ package com.mogo.och.bus.passenger.view;
|
||||
import android.content.Context;
|
||||
import android.util.DisplayMetrics;
|
||||
import android.view.View;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.LinearSmoothScroller;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.mogo.eagle.core.utilcode.util.ClickUtils;
|
||||
import com.mogo.och.bus.passenger.R;
|
||||
|
||||
public class PickerLayoutManager extends LinearLayoutManager {
|
||||
|
||||
private float scaleDownBy = 0.66f;
|
||||
@@ -80,6 +85,13 @@ public class PickerLayoutManager extends LinearLayoutManager {
|
||||
}
|
||||
onScrollStopListener.selectedView(getChildAt(selected));
|
||||
}
|
||||
}else {
|
||||
for (int i = 0; i < getChildCount(); i++) {
|
||||
View child = getChildAt(i);
|
||||
if (child instanceof TextView) {
|
||||
((TextView) child).setTextColor(ContextCompat.getColor(child.getContext(), R.color.bus_p_m1_47576E));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<corners android:radius="@dimen/dp_44"/>
|
||||
<solid android:color="@android:color/transparent"/>
|
||||
</shape>
|
||||
@@ -82,7 +82,7 @@
|
||||
app:layout_constraintStart_toStartOf="@+id/gl_left"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<CheckBox
|
||||
<com.mogo.och.bus.passenger.view.DrawableCheckBox
|
||||
android:id="@+id/tv_aircondition_switch"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="@dimen/dp_76"
|
||||
@@ -92,8 +92,9 @@
|
||||
android:button="@null"
|
||||
android:checked="true"
|
||||
android:drawableLeft="@drawable/bus_p_function_switch_left_selector"
|
||||
android:gravity="center"
|
||||
android:text="打开空调"
|
||||
android:gravity="left|center_vertical"
|
||||
android:drawablePadding="@dimen/dp_13"
|
||||
android:textColor="@drawable/bus_p_function_airconditon_text_color_selector"
|
||||
android:textSize="@dimen/dp_24"
|
||||
app:layout_constraintBottom_toTopOf="@+id/tv_light_top_02"
|
||||
@@ -114,12 +115,32 @@
|
||||
app:layout_constraintStart_toStartOf="@+id/tv_aircondition_switch"
|
||||
app:layout_constraintTop_toTopOf="@+id/rv_aircondition_temperature" />
|
||||
|
||||
<View
|
||||
android:id="@+id/v_temperature_bg"
|
||||
app:layout_constraintStart_toStartOf="@+id/rv_aircondition_temperature"
|
||||
app:layout_constraintEnd_toEndOf="@+id/rv_aircondition_temperature"
|
||||
app:layout_constraintTop_toTopOf="@+id/rv_aircondition_temperature"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/rv_aircondition_temperature"
|
||||
android:background="@drawable/bus_p_function_aircondition_common_bg"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_temperature_select"
|
||||
app:layout_constraintStart_toStartOf="@+id/rv_aircondition_temperature"
|
||||
app:layout_constraintEnd_toEndOf="@+id/rv_aircondition_temperature"
|
||||
app:layout_constraintTop_toTopOf="@+id/rv_aircondition_temperature"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/rv_aircondition_temperature"
|
||||
android:src="@drawable/bus_p_function_aircondition_pattern_selected"
|
||||
android:layout_width="@dimen/dp_59"
|
||||
android:layout_height="@dimen/dp_60"/>
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/rv_aircondition_temperature"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="@dimen/dp_60"
|
||||
android:layout_marginTop="@dimen/dp_41"
|
||||
android:background="@drawable/bus_p_function_aircondition_common_bg"
|
||||
android:background="@drawable/bus_p_function_aircondition_common_bg_01"
|
||||
app:layout_constraintEnd_toEndOf="@+id/tv_aircondition_switch"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_aircondition_switch"
|
||||
app:layout_constraintWidth_percent="0.244" />
|
||||
@@ -262,7 +283,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="visible"
|
||||
app:constraint_referenced_ids="tv_aircondition_switch,tv_temperature_title,rv_aircondition_temperature,tv_aircondition_pattern_title,rg_setting_pattern,tv_aircondition_wind_speed_title,rg_setting_windspeed" />
|
||||
app:constraint_referenced_ids="iv_temperature_select,v_temperature_bg,tv_aircondition_switch,tv_temperature_title,rv_aircondition_temperature,tv_aircondition_pattern_title,rg_setting_pattern,tv_aircondition_wind_speed_title,rg_setting_windspeed" />
|
||||
<!--endregion-->
|
||||
|
||||
<!--region 灯光调整-->
|
||||
|
||||
@@ -29,6 +29,9 @@ object OCHM1LightAirconditionDoorStatusManager : IMoGoRoboBusJinlvM1StatesListen
|
||||
return
|
||||
}
|
||||
M_LISTENERS[tag] = listener
|
||||
listener.onLightCallback(lightStatus)
|
||||
listener.onAirconditionStatusCallback(heaterStatue.isOpen,airconditionStatus)
|
||||
listener.onHeaterStatusCallback(airconditionStatus.isOpen,heaterStatue)
|
||||
}
|
||||
|
||||
fun removeListener(tag: String) {
|
||||
|
||||
Reference in New Issue
Block a user