[5.2.8]
[shuttle_p] [核销接驳票]
This commit is contained in:
@@ -19,7 +19,7 @@
|
||||
android:layout_marginStart="@dimen/dp_40" />
|
||||
|
||||
<!--魔方连接状态 蓝牙-->
|
||||
<com.mogo.och.bus.passenger.ui.widget.M2BlueToothView
|
||||
<com.mogo.och.bus.passenger.passenger.ui.widget.M2BlueToothView
|
||||
android:id="@+id/blueToothView"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
|
||||
@@ -86,6 +86,8 @@ dependencies {
|
||||
implementation rootProject.ext.dependencies.rxandroid
|
||||
implementation rootProject.ext.dependencies.androidxconstraintlayout
|
||||
implementation rootProject.ext.dependencies.amapnavi3dmap
|
||||
// 串口链接
|
||||
implementation rootProject.ext.dependencies.serialport
|
||||
implementation project(":OCH:common:common")
|
||||
compileOnly project(":libraries:mogo-map")
|
||||
implementation project(':core:mogo-core-res')
|
||||
|
||||
@@ -14,6 +14,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
|
||||
import com.mogo.eagle.core.utilcode.util.MultiDisplayUtils
|
||||
import com.mogo.och.shuttle.passenger.constant.BusPassengerConst
|
||||
import com.mogo.och.common.module.wigets.media.MediaPlayerActivity
|
||||
import com.mogo.och.shuttle.passenger.model.TicketModel
|
||||
import com.mogo.och.shuttle.passenger.ui.BusPassengerRouteFragment
|
||||
import com.mogo.och.shuttle.passenger.ui.PM2BaseFragment
|
||||
|
||||
@@ -37,6 +38,7 @@ class MogoOCHShuttlePassenger : IMoGoFunctionProvider {
|
||||
MultiDisplayUtils.startActWithSecond(it, MediaPlayerActivity::class.java)
|
||||
}
|
||||
}
|
||||
TicketModel.load()
|
||||
return null
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
package com.mogo.och.shuttle.passenger.bean.request;
|
||||
|
||||
public
|
||||
/**
|
||||
* @author congtaowang
|
||||
* @since 2021/3/22
|
||||
*
|
||||
* 根据车机行驶线路站点信息
|
||||
*/
|
||||
class PassengerWriteOffRequest {
|
||||
|
||||
private String sn;
|
||||
private String orderNo;
|
||||
private String uid;
|
||||
|
||||
public PassengerWriteOffRequest(String orderNo, String uid) {
|
||||
this.orderNo = orderNo;
|
||||
this.uid = uid;
|
||||
}
|
||||
|
||||
public PassengerWriteOffRequest(String sn, String orderNo, String uid) {
|
||||
this.sn = sn;
|
||||
this.orderNo = orderNo;
|
||||
this.uid = uid;
|
||||
}
|
||||
|
||||
public String getSn() {
|
||||
return sn;
|
||||
}
|
||||
|
||||
public void setSn(String sn) {
|
||||
this.sn = sn;
|
||||
}
|
||||
|
||||
public String getOrderNo() {
|
||||
return orderNo;
|
||||
}
|
||||
|
||||
public void setOrderNo(String orderNo) {
|
||||
this.orderNo = orderNo;
|
||||
}
|
||||
|
||||
public String getUid() {
|
||||
return uid;
|
||||
}
|
||||
|
||||
public void setUid(String uid) {
|
||||
this.uid = uid;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package com.mogo.och.shuttle.passenger.bean.response
|
||||
|
||||
import com.mogo.eagle.core.data.BaseData
|
||||
|
||||
|
||||
data class PassengerWriteOffResponse(val data: Result?) : BaseData(){
|
||||
data class Result(
|
||||
val phone: String?,
|
||||
val ticketSize: Int?,
|
||||
val ticketName: String?,
|
||||
val remainingTimes: Long?
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,161 @@
|
||||
package com.mogo.och.shuttle.passenger.manager.scnner
|
||||
|
||||
import android.net.Uri
|
||||
import com.mogo.commons.AbsMogoApplication
|
||||
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.mogo.logger.scene.SceneConstant.Companion.M_BUS_P
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.mogo.och.common.module.biz.constant.OchCommonConst
|
||||
import com.mogo.och.common.module.manager.distancemamager.ITrajectoryWithStationListener
|
||||
import com.mogo.och.common.module.manager.distancemamager.TrajectoryAndDistanceManager
|
||||
import com.mogo.support.serialport.client.SerialPortManager
|
||||
import com.mogo.support.serialport.client.SerialPortManager.SERVICE_STATE
|
||||
import com.mogo.support.serialport.client.listener.OnDeviceVerificationListener
|
||||
import com.mogo.support.serialport.client.listener.OnSerialPortListener
|
||||
import com.mogo.support.serialport.common.verification.UnpackStatus
|
||||
import com.mogo.support.serialport.common.verification.data.VerificationActiveData
|
||||
import java.net.URL
|
||||
import java.util.concurrent.ConcurrentHashMap
|
||||
import kotlin.properties.Delegates
|
||||
|
||||
|
||||
object ScannerManager : OnSerialPortListener {
|
||||
|
||||
private val TAG = "ScannerManager"
|
||||
|
||||
private var serialPortManager = SerialPortManager()
|
||||
|
||||
private val stateChanageListeners: ConcurrentHashMap<String, StateChangeListener> =
|
||||
ConcurrentHashMap()
|
||||
|
||||
|
||||
private var bindStatus: BindStatus by Delegates.observable(BindStatus.NOTHING) { _, oldV, newV ->
|
||||
if (oldV != newV) {
|
||||
try {
|
||||
CallerLogger.d(SceneConstant.M_OCHCOMMON + TAG, "状态发生变化old:${oldV}_new:${newV}")
|
||||
if (stateChanageListeners.size > 0) {
|
||||
stateChanageListeners.forEach {
|
||||
it.value.stateChange(newV, openStatus)
|
||||
}
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
CallerLogger.e(SceneConstant.M_OCHCOMMON + TAG, "扫码枪bind错误")
|
||||
}
|
||||
}
|
||||
}
|
||||
private var openStatus: OpenStatus by Delegates.observable(OpenStatus.Unopen) { _, oldV, newV ->
|
||||
if (oldV != newV) {
|
||||
try {
|
||||
if (stateChanageListeners.size > 0) {
|
||||
stateChanageListeners.forEach {
|
||||
it.value.stateChange(bindStatus, newV)
|
||||
}
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
CallerLogger.e(SceneConstant.M_OCHCOMMON + TAG, "扫码枪open错误")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun addStateChangeListener(tag: String, listener: StateChangeListener) {
|
||||
if (stateChanageListeners.containsKey(tag)) {
|
||||
return
|
||||
}
|
||||
stateChanageListeners[tag] = listener
|
||||
}
|
||||
|
||||
fun bindService() {
|
||||
serialPortManager.bindService(AbsMogoApplication.getApp(), this);//绑定服务
|
||||
}
|
||||
|
||||
override fun onServiceState(serviceState: Int) {
|
||||
when (serviceState) {
|
||||
SERVICE_STATE.BIND_SUCCEED -> {
|
||||
bindStatus = BindStatus.BIND_SUCCEED
|
||||
serialPortManager.openVerificationDevice(object : OnDeviceVerificationListener() {
|
||||
override fun onSerialPortState(
|
||||
path: String?,
|
||||
isOpen: Boolean,
|
||||
throwableMessage: String?
|
||||
) {
|
||||
CallerLogger.d(
|
||||
M_BUS_P + TAG,
|
||||
"path ${path}---isOpen${isOpen}--throwableMessage${throwableMessage}"
|
||||
)
|
||||
if (isOpen) {
|
||||
openStatus = OpenStatus.Open
|
||||
} else {
|
||||
openStatus = OpenStatus.Unopen
|
||||
}
|
||||
}
|
||||
|
||||
override fun onActiveDataReceive(data: VerificationActiveData?) {
|
||||
data?.let {
|
||||
if(data.unpackStatus==UnpackStatus.SUCCEED){
|
||||
"数据类型${it.dataType.name}"
|
||||
CallerLogger.d(M_BUS_P + TAG, "data $it")
|
||||
if(!StringUtils.isEmpty(it.payload)){
|
||||
parseParams(it.payload)
|
||||
}else{
|
||||
CallerLogger.d(M_BUS_P + TAG, "数据错误")
|
||||
}
|
||||
}else{
|
||||
CallerLogger.d(M_BUS_P + TAG, "解包失败")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
SERVICE_STATE.BIND_FAILURE_UNINSTALLED -> {
|
||||
CallerLogger.d(M_BUS_P + TAG, "服务绑定失败:未安装串口服务端APP")
|
||||
bindStatus = BindStatus.BIND_FAILURE_UNINSTALLED
|
||||
}
|
||||
SERVICE_STATE.BIND_FAILURE_NO_PERMISSION_NOT_FOUND -> {
|
||||
CallerLogger.d(M_BUS_P + TAG, "服务绑定失败:没有绑定权限或找不到服务(如果是此状态,基本上安装后就可以找到,主要就是权限问题)")
|
||||
bindStatus = BindStatus.BIND_FAILURE_NO_PERMISSION_NOT_FOUND
|
||||
}
|
||||
SERVICE_STATE.EXCEPTION -> {
|
||||
CallerLogger.d(M_BUS_P + TAG, "服务被异常销毁")
|
||||
bindStatus = BindStatus.EXCEPTION
|
||||
}
|
||||
else -> {}
|
||||
}
|
||||
}
|
||||
|
||||
private fun parseParams(payload: String?) {
|
||||
val parse = Uri.parse("${OchCommonConst.getShuttleUrl()}?${payload}")
|
||||
val queryParameterNames = parse.queryParameterNames
|
||||
val mutableMapOf = mutableMapOf<String, Any>()
|
||||
queryParameterNames.forEach {
|
||||
val queryParameter = parse.getQueryParameter(it)
|
||||
println("${it}:$queryParameter")
|
||||
if(it!=null&&queryParameter!=null){
|
||||
mutableMapOf[it] = queryParameter
|
||||
}
|
||||
}
|
||||
if (stateChanageListeners.size > 0) {
|
||||
stateChanageListeners.forEach {
|
||||
it.value.parseData(mutableMapOf)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// 查询串口
|
||||
override fun onFindSerialPort(paths: Array<out String>?) {
|
||||
CallerLogger.d(M_BUS_P + TAG, "$paths")
|
||||
if(paths==null) {
|
||||
bindStatus = BindStatus.BIND_FAILURE_NO_PERMISSION_NOT_FOUND
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
enum class BindStatus {
|
||||
BIND_SUCCEED, BIND_FAILURE_UNINSTALLED ,BIND_FAILURE_NO_PERMISSION_NOT_FOUND,EXCEPTION,NOTHING
|
||||
}
|
||||
|
||||
enum class OpenStatus {
|
||||
Open, Unopen
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
package com.mogo.och.shuttle.passenger.manager.scnner
|
||||
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.view.View
|
||||
import androidx.appcompat.widget.AppCompatImageView
|
||||
import com.mogo.och.common.module.R
|
||||
|
||||
class ScannerStateView @JvmOverloads constructor(
|
||||
context: Context,
|
||||
attrs: AttributeSet? = null,
|
||||
defStyleAttr: Int = 0
|
||||
) : AppCompatImageView(context, attrs, defStyleAttr), StateChangeListener {
|
||||
private val TAG = "ScannerStateView"
|
||||
|
||||
init {
|
||||
setImageResource(R.drawable.driver_connect_statis)
|
||||
ScannerManager.addStateChangeListener(TAG,this)
|
||||
}
|
||||
|
||||
override fun stateChange(newBindValue: BindStatus, newOpentValue: OpenStatus) {
|
||||
when (newBindValue) {
|
||||
BindStatus.BIND_SUCCEED -> {
|
||||
// 绑定成功
|
||||
when (newOpentValue) {
|
||||
OpenStatus.Open -> {
|
||||
//成功打开
|
||||
visibility = View.GONE
|
||||
}
|
||||
OpenStatus.Unopen -> {
|
||||
// 打开失败
|
||||
setImageResource(R.drawable.driver_connect_statis)
|
||||
}
|
||||
}
|
||||
}
|
||||
else ->{
|
||||
// 绑定失败
|
||||
setImageResource(R.drawable.driver_connect_statis)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
package com.mogo.och.shuttle.passenger.manager.scnner
|
||||
|
||||
interface StateChangeListener {
|
||||
fun stateChange(newBindValue:BindStatus,newOpentValue:OpenStatus){}
|
||||
fun parseData(params:MutableMap<String, Any>){}
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
package com.mogo.och.shuttle.passenger.model
|
||||
|
||||
import com.mogo.commons.AbsMogoApplication
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_BUS_P
|
||||
import com.mogo.och.common.module.biz.network.OchCommonServiceCallback
|
||||
import com.mogo.och.common.module.debug.DebugDataDispatch
|
||||
import com.mogo.och.shuttle.passenger.bean.request.PassengerWriteOffRequest
|
||||
import com.mogo.och.shuttle.passenger.bean.response.PassengerWriteOffResponse
|
||||
import com.mogo.och.shuttle.passenger.manager.scnner.ScannerManager
|
||||
import com.mogo.och.shuttle.passenger.manager.scnner.StateChangeListener
|
||||
import com.mogo.och.shuttle.passenger.network.PassengerServiceManager
|
||||
|
||||
object TicketModel : StateChangeListener {
|
||||
|
||||
private const val TAG = "TicketModel"
|
||||
|
||||
init {
|
||||
ScannerManager.bindService()
|
||||
ScannerManager.addStateChangeListener(TAG, this)
|
||||
}
|
||||
|
||||
fun load(){
|
||||
|
||||
}
|
||||
|
||||
override fun parseData(params: MutableMap<String, Any>) {
|
||||
val orderNo = params["orderNo"]
|
||||
val uid = params["uid"]
|
||||
if(orderNo is String && uid is String){
|
||||
writeOffTicket(orderNo,uid)
|
||||
}else{
|
||||
// 通知司机屏二维码错误
|
||||
}
|
||||
}
|
||||
|
||||
fun writeOffTicket(orderNo: String, uid: String) {
|
||||
val passengerWriteOffRequest = PassengerWriteOffRequest(orderNo, uid)
|
||||
PassengerServiceManager.writeOffTicket(AbsMogoApplication.getApp(),
|
||||
passengerWriteOffRequest,
|
||||
object : OchCommonServiceCallback<PassengerWriteOffResponse> {
|
||||
override fun onSuccess(data: PassengerWriteOffResponse?) {
|
||||
if (data?.data == null) return
|
||||
val ticketInfo =
|
||||
"核销成功:票种名称:${data.data.ticketName},车票数量:${data.data.ticketSize},预留手机号:${data.data.phone},时间:${data.data.remainingTimes}"
|
||||
CallerLogger.d(M_BUS_P + TAG, ticketInfo)
|
||||
}
|
||||
|
||||
override fun onFail(code: Int, msg: String?) {
|
||||
CallerLogger.d(M_BUS_P + TAG, "核销失败 ${code}-----${msg}")
|
||||
}
|
||||
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
}
|
||||
@@ -5,13 +5,17 @@ import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager.getSer
|
||||
import com.mogo.cloud.passport.MoGoAiCloudClientConfig
|
||||
import com.mogo.eagle.core.network.MoGoRetrofitFactory
|
||||
import com.mogo.commons.storage.SharedPrefsMgr
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import com.mogo.och.common.module.biz.constant.OchCommonConst
|
||||
import com.mogo.och.common.module.biz.network.OchCommonServiceCallback
|
||||
import com.mogo.och.common.module.biz.network.OchCommonSubscribeImpl
|
||||
import com.mogo.och.common.module.biz.network.interceptor.transformTry
|
||||
import com.mogo.och.shuttle.passenger.bean.request.PassengerQueryLineRequest
|
||||
import com.mogo.och.shuttle.passenger.bean.request.PassengerWriteOffRequest
|
||||
import com.mogo.och.shuttle.passenger.bean.response.PassengerOperationStatusResponse
|
||||
import com.mogo.och.shuttle.passenger.bean.response.PassengerRoutesResponse
|
||||
import com.mogo.och.shuttle.passenger.bean.response.PassengerWriteOffResponse
|
||||
|
||||
/**
|
||||
* Created on 2022/3/31
|
||||
@@ -75,4 +79,30 @@ object PassengerServiceManager {
|
||||
.subscribe(OchCommonSubscribeImpl(context, callback, "queryDriverOperationStatus"))
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询司机端出车收车状态,以及车牌号
|
||||
* @param context
|
||||
* @param callback
|
||||
*/
|
||||
@JvmStatic
|
||||
fun writeOffTicket(
|
||||
context: Context,
|
||||
ticketInfo: PassengerWriteOffRequest,
|
||||
callback: OchCommonServiceCallback<PassengerWriteOffResponse>?,
|
||||
) {
|
||||
ticketInfo.sn = driverAppSn
|
||||
if(StringUtils.isEmpty(driverAppSn)){
|
||||
ToastUtils.showShort("请链接司机屏")
|
||||
return
|
||||
}
|
||||
mShuttleBusPassengerServiceApi.writeOffTicket(
|
||||
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||
SharedPrefsMgr.getInstance().token,
|
||||
ticketInfo
|
||||
)
|
||||
.transformTry()
|
||||
.subscribe(OchCommonSubscribeImpl(context, callback, "queryDriverOperationStatus"))
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,10 @@
|
||||
package com.mogo.och.shuttle.passenger.network;
|
||||
|
||||
import com.mogo.och.shuttle.passenger.bean.request.PassengerQueryLineRequest;
|
||||
import com.mogo.och.shuttle.passenger.bean.request.PassengerWriteOffRequest;
|
||||
import com.mogo.och.shuttle.passenger.bean.response.PassengerOperationStatusResponse;
|
||||
import com.mogo.och.shuttle.passenger.bean.response.PassengerRoutesResponse;
|
||||
import com.mogo.och.shuttle.passenger.bean.response.PassengerWriteOffResponse;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.Body;
|
||||
@@ -35,4 +37,11 @@ public interface ServiceApi {
|
||||
// @GET("/autopilot-car-hailing/car/v2/driver/bus/passenger/takeOrderStatus/query")
|
||||
@GET("/och-shuttle-cabin/api/business/v1/passenger/loginStatus")
|
||||
Observable<PassengerOperationStatusResponse> queryDriverOperationStatus(@Header ("appId") String appId, @Header("ticket") String ticket, @Query("sn") String sn);
|
||||
|
||||
/**
|
||||
* 查询司机端的登陆状态
|
||||
*/
|
||||
@Headers({"Content-type:application/json;charset=UTF-8"})
|
||||
@POST("/och-vehicle/api/scanner/device/writeOff")
|
||||
Observable<PassengerWriteOffResponse> writeOffTicket(@Header ("appId") String appId, @Header("ticket") String ticket, @Body PassengerWriteOffRequest request);
|
||||
}
|
||||
|
||||
@@ -402,6 +402,7 @@ public class BusPassengerModel {
|
||||
|
||||
@Override
|
||||
public void onReceivedServerSn(@Nullable String sn) {
|
||||
Logger.d(SceneConstant.M_BUS_P + TAG, "司机屏sn:"+sn );
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
package com.mogo.och.shuttle.passenger.bean;
|
||||
|
||||
public
|
||||
/**
|
||||
* @author congtaowang
|
||||
* @since 2021/3/22
|
||||
*
|
||||
* 根据车机行驶线路站点信息
|
||||
*/
|
||||
class PM2QueryLineRequest {
|
||||
|
||||
private String sn;
|
||||
public PM2QueryLineRequest(String sn) {
|
||||
this.sn = sn;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
<vector android:height="24dp" android:tint="#000000"
|
||||
android:viewportHeight="24" android:viewportWidth="24"
|
||||
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<path android:fillColor="@android:color/white" android:pathData="
|
||||
M 9.5,6.5
|
||||
v0,3 h-3,0 v-3 H9.5M11,
|
||||
5H5v6h6V5L11,
|
||||
5zM9.5,
|
||||
14.5v3h-3v-3H9.5M11,
|
||||
13H5v6h6V13L11,
|
||||
13zM17.5,
|
||||
6.5v3h-3v-3H17.5M19,
|
||||
5h-6v6h6V5L19,
|
||||
5zM13,
|
||||
13h1.5v1.5H13V13zM14.5,
|
||||
14.5H16V16h-1.5V14.5zM16,
|
||||
13h1.5v1.5H16V13zM13,
|
||||
16h1.5v1.5H13V16zM14.5,
|
||||
17.5H16V19h-1.5V17.5zM16,
|
||||
16h1.5v1.5H16V16zM17.5,
|
||||
14.5H19V16h-1.5V14.5zM17.5,
|
||||
17.5H19V19h-1.5V17.5zM22,
|
||||
7h-2V4h-3V2h5V7zM22,
|
||||
22v-5h-2v3h-3v2H22zM2,
|
||||
22h5v-2H4v-3H2V22zM2,
|
||||
2v5h2V4h3V2H2z"
|
||||
/>
|
||||
</vector>
|
||||
@@ -8,6 +8,17 @@
|
||||
tools:ignore="MissingDefaultResource"
|
||||
android:background="@drawable/shuttle_p_jl_bg_status_bar">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/status_bar_logo"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
android:layout_marginStart="@dimen/dp_40"
|
||||
android:src="@drawable/shuttle_p_jl_status_bar_logo"
|
||||
android:scaleType="fitXY"
|
||||
android:layout_width="@dimen/dp_94"
|
||||
android:layout_height="@dimen/dp_25"/>
|
||||
|
||||
<!--Wifi状态-->
|
||||
<com.mogo.eagle.core.function.hmi.ui.widget.WifiStateView
|
||||
android:id="@+id/wifiStateView"
|
||||
@@ -15,7 +26,7 @@
|
||||
android:layout_height="@dimen/dp_28"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toRightOf="@+id/status_bar_logo"
|
||||
app:layout_constraintStart_toEndOf="@+id/status_bar_logo"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginStart="@dimen/dp_40" />
|
||||
|
||||
@@ -31,18 +42,15 @@
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginStart="@dimen/dp_40" />
|
||||
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/status_bar_logo"
|
||||
<com.mogo.och.shuttle.passenger.manager.scnner.ScannerStateView
|
||||
android:id="@+id/scannerStateView"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
android:layout_marginLeft="@dimen/dp_40"
|
||||
android:src="@drawable/shuttle_p_jl_status_bar_logo"
|
||||
android:scaleType="fitXY"
|
||||
android:layout_width="@dimen/dp_94"
|
||||
android:layout_height="@dimen/dp_25"/>
|
||||
|
||||
|
||||
app:layout_constraintStart_toEndOf="@+id/wifiStateView"
|
||||
android:layout_width="@dimen/dp_24"
|
||||
android:layout_height="@dimen/dp_24"
|
||||
android:src="@drawable/scanner_qr_code"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginStart="@dimen/dp_40"/>
|
||||
|
||||
</merge>
|
||||
@@ -19,7 +19,7 @@
|
||||
android:layout_marginStart="@dimen/dp_40" />
|
||||
|
||||
<!--魔方连接状态 蓝牙-->
|
||||
<com.mogo.och.bus.passenger.ui.widget.M2BlueToothView
|
||||
<com.mogo.och.shuttle.passenger.ui.widget.M2BlueToothView
|
||||
android:id="@+id/blueToothView"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
|
||||
@@ -214,7 +214,10 @@ ext {
|
||||
lancetx_compiler_lib : "com.mogo.eagle.core.lancetx:runtime:1.0.5",
|
||||
|
||||
//========================= autosize ======================
|
||||
androidautoSize : 'com.github.JessYanCoding:AndroidAutoSize:v1.2.1',
|
||||
androidautoSize : 'com.github.JessYanCoding:AndroidAutoSize:v1.2.1',
|
||||
|
||||
//========================= 扫码机 ======================
|
||||
serialport : 'com.mogo.support.serialport:client:1.0.0-alpha5',
|
||||
|
||||
thread_opt : "com.mogo.thread.opt:lib:10.10.2",
|
||||
|
||||
|
||||
Reference in New Issue
Block a user