diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/ui/MainFragment.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/ui/MainFragment.kt
index 11096f4adb..3d81be6386 100644
--- a/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/ui/MainFragment.kt
+++ b/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/ui/MainFragment.kt
@@ -9,7 +9,6 @@ import com.amap.api.maps.model.LatLng
import com.mogo.commons.AbsMogoApplication
import com.mogo.commons.mvp.MvpFragment
import com.mogo.eagle.core.data.config.HdMapBuildConfig
-import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager
import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager.getMapUIController
import com.mogo.eagle.core.function.hmi.ui.msgbox.MMsgBoxButtonView
import com.mogo.eagle.core.function.view.SiteMarkerBean
@@ -205,7 +204,6 @@ class MainFragment :
override fun initViews(savedInstanceState: Bundle?) {
super.initViews(savedInstanceState)
mapBizView.onCreate(savedInstanceState)
- getMapUIController()?.setAllGesturesEnabled(false)
omvOverMap.onCreateView(savedInstanceState)
}
@@ -223,6 +221,9 @@ class MainFragment :
super.onResume()
mapBizView.onResume()
omvOverMap.onResume()
+ UiThreadHandler.postDelayed({
+ getMapUIController()?.setAllGesturesEnabled(false)
+ },200)
}
override fun onSaveInstanceState(outState: Bundle) {
diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/ui/lockview/LockAndUnlockView.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/ui/lockview/LockAndUnlockView.kt
new file mode 100644
index 0000000000..3a7d6b7612
--- /dev/null
+++ b/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/ui/lockview/LockAndUnlockView.kt
@@ -0,0 +1,175 @@
+package com.mogo.och.bus.passenger.ui.lockview
+
+import android.content.Context
+import android.os.Handler
+import android.os.Looper
+import android.os.Message
+import android.util.AttributeSet
+import android.view.LayoutInflater
+import android.view.MotionEvent
+import android.view.View
+import androidx.constraintlayout.widget.ConstraintLayout
+import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
+import com.mogo.och.bus.passenger.R
+import com.mogo.och.taxi.passenger.widget.animutils.AnimationsContainer
+import kotlinx.android.synthetic.main.m1_devices_lock_unlock.view.aciv_screen_lock
+import kotlinx.android.synthetic.main.m1_devices_lock_unlock.view.aciv_screen_lock_bg
+import kotlinx.android.synthetic.main.m1_devices_lock_unlock.view.aciv_screen_unlock_ani
+
+class LockAndUnlockView : ConstraintLayout, LockManager.LockStatusCallback {
+
+ constructor(context: Context) : super(context)
+
+ constructor(context: Context, attributeSet: AttributeSet) : super(context, attributeSet)
+
+ constructor(context: Context, attributeSet: AttributeSet, defStyleAttr: Int) : super(
+ context,
+ attributeSet,
+ defStyleAttr
+ )
+
+ val TAG = "UnLockView"
+
+ private var animations: AnimationsContainer? = null
+ private var downType: DownType = DownType.NONE
+
+ private var handler: Handler?=null
+
+ private fun initView() {
+ LayoutInflater.from(context).inflate(R.layout.m1_devices_lock_unlock, this, true)
+ handler = object : Handler(Looper.myLooper()!!) {
+ override fun handleMessage(msg: Message) {
+ super.handleMessage(msg)
+ when (msg.what) {
+ 2 -> {// 解锁
+ LockManager.setLock(LockManager.LockStatus.UNLOCK)
+ animations?.stop()
+ }
+ else -> {}
+ }
+ }
+ }
+ }
+
+ override fun onAttachedToWindow() {
+ super.onAttachedToWindow()
+ LockManager.setAutoStatusCallback(TAG, this)
+ aciv_screen_unlock_ani?.let {
+ animations = AnimationsContainer(R.array.openlock, 24, it)
+ animations!!.setOnAnimStopListener(object :
+ AnimationsContainer.OnAnimationStoppedListener {
+ override fun AnimationStopped() {
+ it.setImageDrawable(null)
+ }
+ })
+ }
+ }
+
+ override fun onDetachedFromWindow() {
+ super.onDetachedFromWindow()
+ LockManager.setAutoStatusCallback(TAG, null)
+ }
+
+ override fun onTouchEvent(event: MotionEvent?): Boolean {
+ when (event?.action) {
+ MotionEvent.ACTION_DOWN -> {
+ if (LockManager.getLockStatus()==LockManager.LockStatus.LOCKED) {
+ downType = DownType.LOCK
+ LockManager.setLock(LockManager.LockStatus.UNLOCKING)
+ handler?.sendEmptyMessageDelayed(2,1_000)
+ } else {
+ downType = DownType.UNLOCK
+ }
+ CallerLogger.d(TAG, "ACTION_DOWN")
+ }
+
+ MotionEvent.ACTION_MOVE -> {}
+ MotionEvent.ACTION_UP -> {
+ if (downType == DownType.LOCK) {
+ handler?.let {
+ if (it.hasMessages(2)) {
+ it.removeMessages(2)
+ LockManager.setLock(LockManager.LockStatus.LOCKED)
+ }
+ }
+ } else {
+ if (LockManager.getLockStatus()==LockManager.LockStatus.UNLOCK) {
+ CallerLogger.d(TAG, "onClick")
+ LockManager.setLock(LockManager.LockStatus.LOCKED)
+ }
+ }
+ CallerLogger.d(TAG, "ACTION_UP")
+ }
+
+ MotionEvent.ACTION_CANCEL -> {
+ handler?.let {
+ if (it.hasMessages(2)) {
+ it.removeMessages(2)
+ LockManager.setLock(LockManager.LockStatus.LOCKED)
+ }
+ }
+ CallerLogger.d(TAG, "ACTION_CANCEL")
+ }
+
+ else -> {}
+ }
+ return true
+ }
+
+ enum class DownType {
+ NONE, LOCK, UNLOCK
+ }
+
+ override fun lockStatusChange(isLock: LockManager.LockStatus) {
+ setImageStatus(LockManager.getStatusViewVisable(),isLock)
+ }
+
+ override fun statusViewvisableChange(statusView: Int) {
+ setImageStatus(statusView,LockManager.getLockStatus())
+ }
+
+ private fun setImageStatus(statusView: Int,lockStatus: LockManager.LockStatus){
+ when (statusView) {
+ View.GONE -> {
+ when (lockStatus) {
+ LockManager.LockStatus.LOCKED -> {
+ aciv_screen_lock.setImageResource(R.drawable.charter_p_lock_normal)
+ }
+ LockManager.LockStatus.UNLOCK -> {
+ aciv_screen_lock.setImageResource(R.drawable.charter_p_unlock)
+ }
+ }
+ aciv_screen_lock_bg?.setImageResource(R.drawable.charger_p_normal)
+ }
+ View.VISIBLE -> {
+ when (lockStatus) {
+ LockManager.LockStatus.LOCKED -> {
+ aciv_screen_lock.setImageResource(R.drawable.charter_p_lock)
+ aciv_screen_lock_bg?.setImageResource(R.drawable.charter_p_lock_bg)
+ animations?.stop()
+ }
+ LockManager.LockStatus.UNLOCKING -> {
+ aciv_screen_lock.setImageResource(R.drawable.charter_p_lock)
+ aciv_screen_lock_bg?.setImageDrawable(null)
+ animations?.reStart()
+ }
+ LockManager.LockStatus.UNLOCK -> {
+ aciv_screen_lock.setImageResource(R.drawable.charter_p_unlock)
+ aciv_screen_lock_bg?.setImageResource(R.drawable.charger_p_normal)
+ animations?.stop()
+ }
+ }
+ }
+ else -> {}
+ }
+ }
+
+
+ init {
+ try {
+ initView()
+ } catch (e: Exception) {
+ e.printStackTrace()
+ }
+ }
+}
\ No newline at end of file
diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/ui/lockview/LockManager.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/ui/lockview/LockManager.kt
index b87b227900..a9a1a7d7ea 100644
--- a/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/ui/lockview/LockManager.kt
+++ b/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/ui/lockview/LockManager.kt
@@ -3,6 +3,7 @@ package com.mogo.och.bus.passenger.ui.lockview
import android.os.Handler
import android.os.HandlerThread
import android.os.Message
+import android.view.View
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
import java.util.concurrent.ConcurrentHashMap
@@ -10,7 +11,10 @@ import java.util.concurrent.ConcurrentHashMap
object LockManager {
@Volatile
- private var isLock:Boolean = false
+ private var lockStatus:LockStatus = LockStatus.UNLOCK
+
+ private var statusView:Int = View.GONE
+
private var handler:Handler?=null
private const val TAG = "LockManager"
@@ -24,7 +28,7 @@ object LockManager {
override fun handleMessage(msg: Message) {
super.handleMessage(msg)
CallerLogger.d(SceneConstant.M_BUS_P + TAG, "2分钟没有触摸屏幕导致锁屏")
- setLock(true)
+ setLock(LockStatus.LOCKED)
}
}
reStartCountDown()
@@ -46,26 +50,48 @@ object LockManager {
fun reStartCountDown(){
+ CallerLogger.d(TAG,"重置时间")
handler?.removeMessages(1)
handler?.sendEmptyMessageDelayed(1,120_000)
}
@Synchronized
- fun isLocak():Boolean{
- CallerLogger.d(TAG,"锁定状态:${isLock}")
- return isLock
+ fun getLockStatus():LockStatus{
+ CallerLogger.d(TAG,"锁定状态:${lockStatus}")
+ return lockStatus
}
@Synchronized
- fun setLock(isLock: Boolean){
- if(this.isLock!=isLock){
- this.isLock = isLock
+ fun setLock(isLock: LockStatus){
+ if(this.lockStatus!=isLock){
+ this.lockStatus = isLock
mLockChnageListener.forEach {
- it.value.lockStatusChange(this.isLock)
+ it.value.lockStatusChange(this.lockStatus)
+ }
+ }
+ }
+
+ fun getStatusViewVisable():Int{
+ return statusView
+ }
+
+ fun setStatusView(visable:Int){
+ if(this.statusView!=visable){
+ this.statusView = visable
+ mLockChnageListener.forEach {
+ it.value.statusViewvisableChange(this.statusView)
}
}
}
interface LockStatusCallback {
- fun lockStatusChange(isLock: Boolean)
+ fun lockStatusChange(isLock: LockStatus)
+
+ fun statusViewvisableChange(statusView:Int){}
+ }
+
+ enum class LockStatus{
+ LOCKED,
+ UNLOCKING,
+ UNLOCK
}
}
\ No newline at end of file
diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/ui/lockview/LockViewConstrainLayout.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/ui/lockview/LockViewConstrainLayout.kt
index 2d1865a42e..bbb57cd9f8 100644
--- a/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/ui/lockview/LockViewConstrainLayout.kt
+++ b/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/ui/lockview/LockViewConstrainLayout.kt
@@ -3,6 +3,8 @@ package com.mogo.och.bus.passenger.ui.lockview
import android.content.Context
import android.util.AttributeSet
import android.view.MotionEvent
+import android.view.View
+import androidx.appcompat.widget.AppCompatImageView
import androidx.constraintlayout.widget.ConstraintLayout
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.och.bus.passenger.R
@@ -21,7 +23,9 @@ class LockViewConstrainLayout : ConstraintLayout {
defStyleAttr
)
- private var acivScreenLock:UnLockView?=null
+ private var acivScreenLock: AppCompatImageView?=null
+ private var uvOnlyUnlock:AppCompatImageView?=null
+ private var uv_only_unlock:UnlockView?=null
override fun onAttachedToWindow() {
super.onAttachedToWindow()
@@ -37,30 +41,35 @@ class LockViewConstrainLayout : ConstraintLayout {
if (acivScreenLock == null) {
acivScreenLock = findViewById(R.id.aciv_screen_lock)
}
+ if (uvOnlyUnlock == null) {
+ uvOnlyUnlock = findViewById(R.id.aciv_only_unlock)
+ }
+ if (uv_only_unlock == null) {
+ uv_only_unlock = findViewById(R.id.uv_only_unlock)
+ }
LockManager.reStartCountDown()
var needInterceptTouch = true
- acivScreenLock?.apply {
- event?.let {
- val location = IntArray(2)
- getLocationInWindow(location)
- CallerLogger.d("LockViewConstrainLayout", "${location[0]}---${location[1]}--${location[0]+width}---${location[1]+height}---${it.rawX}----${it.rawY}")
- val mleft = location[0]
- val mtop = location[1]
- val mright = location[0]+width
- val mbottom = location[1]+height
- if (it.rawX > mleft && it.rawX < mright && it.rawY > mtop && it.rawY < mbottom) {
- // 不拦截
- needInterceptTouch = false
- CallerLogger.d("LockViewConstrainLayout", "不拦截")
+ event?.let {
+ var need1 = true
+ uv_only_unlock?.let { parentImage->
+ if(parentImage.visibility!=View.GONE){
+ need1 = needIntercept(it,uvOnlyUnlock)
}
}
+ val need2 = needIntercept(it,acivScreenLock)
+ if(!need1||!need2){
+ needInterceptTouch = false
+ }
}
+
+
CallerLogger.d("LockViewConstrainLayout", "是否拦截 ${needInterceptTouch}")
return if(needInterceptTouch) {
- if(LockManager.isLocak()){
-
+ if(LockManager.getLockStatus()==LockManager.LockStatus.LOCKED){
+ LockManager.setStatusView(View.VISIBLE)
+ uv_only_unlock?.visibility = View.VISIBLE
true
}else{
super.onInterceptTouchEvent(event)
@@ -70,5 +79,27 @@ class LockViewConstrainLayout : ConstraintLayout {
}
}
+ private fun needIntercept(event: MotionEvent,view: View?):Boolean {
+ view?.apply {
+ val location = IntArray(2)
+ getLocationInWindow(location)
+ CallerLogger.d(
+ "LockViewConstrainLayout",
+ "${location[0]}---${location[1]}--${location[0] + width}---${location[1] + height}---${event.rawX}----${event.rawY}"
+ )
+ val mleft = location[0]
+ val mtop = location[1]
+ val mright = location[0] + width
+ val mbottom = location[1] + height
+ if (event.rawX > mleft && event.rawX < mright && event.rawY > mtop && event.rawY < mbottom) {
+ CallerLogger.d("LockViewConstrainLayout", "不拦截")
+ // 不拦截
+ return false
+ }
+ }
+ return true
+ }
+
+
}
\ No newline at end of file
diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/ui/lockview/UnLockView.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/ui/lockview/UnLockView.kt
deleted file mode 100644
index be7d30d297..0000000000
--- a/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/ui/lockview/UnLockView.kt
+++ /dev/null
@@ -1,106 +0,0 @@
-package com.mogo.och.bus.passenger.ui.lockview
-
-import android.content.Context
-import android.util.AttributeSet
-import android.view.MotionEvent
-import android.view.ViewGroup
-import android.widget.ImageView
-import androidx.appcompat.widget.AppCompatImageView
-import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
-import com.mogo.och.bus.passenger.R
-import com.mogo.och.common.module.utils.RxUtils
-import com.mogo.och.taxi.passenger.widget.animutils.AnimationsContainer
-import io.reactivex.disposables.Disposable
-
-class UnLockView : AppCompatImageView, LockManager.LockStatusCallback {
-
- constructor(context: Context) : super(context)
-
- constructor(context: Context, attributeSet: AttributeSet) : super(context, attributeSet)
-
- constructor(context: Context, attributeSet: AttributeSet, defStyleAttr: Int) : super(
- context,
- attributeSet,
- defStyleAttr
- )
-
- val TAG = "UnLockView"
-
- private var animations: AnimationsContainer?=null
- private var aciv_screen_unlock_ani: ImageView?=null
- private var unLockDelay: Disposable? = null
- private var downType:DownType = DownType.NONE
-
- override fun dispatchTouchEvent(event: MotionEvent?): Boolean {
- return super.dispatchTouchEvent(event)
- }
-
- override fun onAttachedToWindow() {
- super.onAttachedToWindow()
- if (parent is ViewGroup) {
- aciv_screen_unlock_ani = (parent as ViewGroup).findViewById(R.id.aciv_screen_unlock_ani)
- aciv_screen_unlock_ani?.let {
- animations = AnimationsContainer(R.array.openlock,12,it)
- animations!!.setOnAnimStopListener(object :AnimationsContainer.OnAnimationStoppedListener{
- override fun AnimationStopped() {
- it.setImageDrawable(null)
- }
- })
- }
- }
- LockManager.setAutoStatusCallback(TAG,this)
- }
-
- override fun onTouchEvent(event: MotionEvent?): Boolean {
- when (event?.action) {
- MotionEvent.ACTION_DOWN -> {
- if(LockManager.isLocak()){
- downType = DownType.LOCK
- animations?.reStart()
- RxUtils.disposeSubscribe(unLockDelay)
- unLockDelay = RxUtils.createSubscribe {
- LockManager.setLock(false)
- animations?.stop()
- }
- }else{
- downType = DownType.UNLOCK
- }
- CallerLogger.d(TAG,"ACTION_DOWN")
- }
- MotionEvent.ACTION_MOVE -> {}
- MotionEvent.ACTION_UP -> {
- if(downType==DownType.LOCK) {
- RxUtils.disposeSubscribe(unLockDelay)
- animations?.stop()
- }else{
- if (!LockManager.isLocak()) {
- CallerLogger.d(TAG,"onClick")
- LockManager.setLock(true)
- }
- }
- CallerLogger.d(TAG,"ACTION_UP")
- }
-
- MotionEvent.ACTION_CANCEL -> {
- RxUtils.disposeSubscribe(unLockDelay)
- animations?.stop()
- CallerLogger.d(TAG,"ACTION_CANCEL")
- }
-
- else -> {}
- }
- return true
- }
-
- enum class DownType{
- NONE,LOCK,UNLOCK
- }
-
- override fun lockStatusChange(isLock: Boolean) {
- if(isLock){
- setImageResource(R.drawable.charter_p_lock)
- }else{
- setImageResource(R.drawable.charter_p_unlock)
- }
- }
-}
\ No newline at end of file
diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/ui/lockview/UnlockView.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/ui/lockview/UnlockView.kt
new file mode 100644
index 0000000000..81bc154694
--- /dev/null
+++ b/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/ui/lockview/UnlockView.kt
@@ -0,0 +1,149 @@
+package com.mogo.och.bus.passenger.ui.lockview
+
+import android.content.Context
+import android.os.Handler
+import android.os.Looper
+import android.os.Message
+import android.util.AttributeSet
+import android.view.LayoutInflater
+import android.view.MotionEvent
+import android.view.View
+import androidx.constraintlayout.widget.ConstraintLayout
+import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
+import com.mogo.eagle.core.utilcode.util.UiThreadHandler
+import com.mogo.och.bus.passenger.R
+import kotlinx.android.synthetic.main.m1_devices_unlock.view.aciv_only_unlock
+import kotlinx.android.synthetic.main.m1_devices_unlock.view.actv_lock_status
+
+class UnlockView : ConstraintLayout, LockManager.LockStatusCallback {
+
+ private val TAG = "UnlockView"
+
+ constructor(context: Context) : super(context)
+
+ constructor(context: Context, attributeSet: AttributeSet) : super(context, attributeSet)
+
+ constructor(context: Context, attributeSet: AttributeSet, defStyleAttr: Int) : super(
+ context,
+ attributeSet,
+ defStyleAttr
+ )
+
+ private var handler: Handler?=null
+
+ private fun initView() {
+ LayoutInflater.from(context).inflate(R.layout.m1_devices_unlock, this, true)
+ handler = object : Handler(Looper.myLooper()!!) {
+ override fun handleMessage(msg: Message) {
+ super.handleMessage(msg)
+ when (msg.what) {
+ 1 -> {// 时间到隐藏view
+ visibility = View.GONE
+ }
+ 2 -> {// 解锁
+ LockManager.setLock(LockManager.LockStatus.UNLOCK)
+ sendEmptyMessageDelayed(1, 2_000)
+ }
+ else -> {}
+ }
+ }
+ }
+ }
+
+ override fun onAttachedToWindow() {
+ super.onAttachedToWindow()
+ LockManager.setAutoStatusCallback(TAG,this)
+ }
+
+ override fun setVisibility(visibility: Int) {
+ super.setVisibility(visibility)
+ LockManager.setStatusView(visibility)
+ when (visibility) {
+ View.VISIBLE -> {
+ CallerLogger.d(TAG,"VISIBLE")
+ handler?.removeMessages(1)
+ handler?.sendEmptyMessageDelayed(1,2_000)
+ }
+ View.GONE -> {
+ handler?.removeMessages(1)
+ CallerLogger.d(TAG,"GONE")
+ }
+ View.INVISIBLE -> {
+ CallerLogger.d(TAG,"INVISIBLE")
+ }
+ else -> {}
+ }
+ }
+
+ override fun onTouchEvent(event: MotionEvent?): Boolean {
+ if(LockManager.getLockStatus()!=LockManager.LockStatus.UNLOCK) {
+ when (event?.action) {
+ MotionEvent.ACTION_DOWN -> {
+ handler?.removeMessages(1)
+ handler?.sendEmptyMessageDelayed(2, 1_000)
+ LockManager.setLock(LockManager.LockStatus.UNLOCKING)
+ CallerLogger.d(TAG, "ACTION_DOWN")
+ }
+
+ MotionEvent.ACTION_MOVE -> {}
+ MotionEvent.ACTION_UP -> {
+ handler?.let {
+ if (it.hasMessages(2)) {
+ it.removeMessages(2)
+ LockManager.setLock(LockManager.LockStatus.LOCKED)
+ handler?.sendEmptyMessageDelayed(1, 2_000)
+ }
+ }
+ CallerLogger.d(TAG, "ACTION_UP")
+ }
+
+ MotionEvent.ACTION_CANCEL -> {
+ handler?.let {
+ if (it.hasMessages(2)) {
+ it.removeMessages(2)
+ LockManager.setLock(LockManager.LockStatus.LOCKED)
+ handler?.sendEmptyMessageDelayed(1, 2_000)
+ }
+ }
+ CallerLogger.d(TAG, "ACTION_CANCEL")
+ }
+
+ else -> {}
+ }
+ }
+ return true
+ }
+
+ init {
+ try {
+ initView()
+ } catch (e: Exception) {
+ e.printStackTrace()
+ }
+ }
+
+ override fun lockStatusChange(isLock: LockManager.LockStatus) {
+ UiThreadHandler.post {
+ visibility = View.VISIBLE
+ when (isLock) {
+ LockManager.LockStatus.LOCKED -> {
+ // 锁定
+ actv_lock_status.text = "长按开锁键1秒,快速解锁"
+ aciv_only_unlock.setImageResource(R.drawable.charter_p_only_lock)
+ }
+ LockManager.LockStatus.UNLOCKING -> {
+ // 开锁中
+ actv_lock_status.text = "开锁中.."
+ aciv_only_unlock.setImageResource(R.drawable.charter_p_only_unlocking)
+ }
+ LockManager.LockStatus.UNLOCK -> {
+ // 解锁成功
+ actv_lock_status.text = "已解锁"
+ aciv_only_unlock.setImageResource(R.drawable.charter_p_only_unlock)
+ }
+ }
+ }
+ }
+
+
+}
\ No newline at end of file
diff --git a/OCH/charter/passenger/src/main/res/drawable-nodpi/charger_p_normal.png b/OCH/charter/passenger/src/main/res/drawable-nodpi/charger_p_normal.png
new file mode 100644
index 0000000000..32f2764954
Binary files /dev/null and b/OCH/charter/passenger/src/main/res/drawable-nodpi/charger_p_normal.png differ
diff --git a/OCH/charter/passenger/src/main/res/drawable-nodpi/charter_p_arrow_lock.png b/OCH/charter/passenger/src/main/res/drawable-nodpi/charter_p_arrow_lock.png
new file mode 100644
index 0000000000..15a0728979
Binary files /dev/null and b/OCH/charter/passenger/src/main/res/drawable-nodpi/charter_p_arrow_lock.png differ
diff --git a/OCH/charter/passenger/src/main/res/drawable-nodpi/charter_p_lock_normal.png b/OCH/charter/passenger/src/main/res/drawable-nodpi/charter_p_lock_normal.png
new file mode 100644
index 0000000000..040084139a
Binary files /dev/null and b/OCH/charter/passenger/src/main/res/drawable-nodpi/charter_p_lock_normal.png differ
diff --git a/OCH/charter/passenger/src/main/res/drawable-nodpi/charter_p_only_lock.png b/OCH/charter/passenger/src/main/res/drawable-nodpi/charter_p_only_lock.png
new file mode 100644
index 0000000000..2dfae68c3b
Binary files /dev/null and b/OCH/charter/passenger/src/main/res/drawable-nodpi/charter_p_only_lock.png differ
diff --git a/OCH/charter/passenger/src/main/res/drawable-nodpi/charter_p_only_unlock.png b/OCH/charter/passenger/src/main/res/drawable-nodpi/charter_p_only_unlock.png
new file mode 100644
index 0000000000..ae7d535fdf
Binary files /dev/null and b/OCH/charter/passenger/src/main/res/drawable-nodpi/charter_p_only_unlock.png differ
diff --git a/OCH/charter/passenger/src/main/res/drawable-nodpi/charter_p_only_unlocking.png b/OCH/charter/passenger/src/main/res/drawable-nodpi/charter_p_only_unlocking.png
new file mode 100644
index 0000000000..acfec92788
Binary files /dev/null and b/OCH/charter/passenger/src/main/res/drawable-nodpi/charter_p_only_unlocking.png differ
diff --git a/OCH/charter/passenger/src/main/res/drawable/charter_p_only_unlock_bg.xml b/OCH/charter/passenger/src/main/res/drawable/charter_p_only_unlock_bg.xml
new file mode 100644
index 0000000000..6a3414b1b9
--- /dev/null
+++ b/OCH/charter/passenger/src/main/res/drawable/charter_p_only_unlock_bg.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/OCH/charter/passenger/src/main/res/layout/m1_devices_lock_unlock.xml b/OCH/charter/passenger/src/main/res/layout/m1_devices_lock_unlock.xml
new file mode 100644
index 0000000000..e93bed67c9
--- /dev/null
+++ b/OCH/charter/passenger/src/main/res/layout/m1_devices_lock_unlock.xml
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/OCH/charter/passenger/src/main/res/layout/m1_devices_unlock.xml b/OCH/charter/passenger/src/main/res/layout/m1_devices_unlock.xml
new file mode 100644
index 0000000000..0797cda389
--- /dev/null
+++ b/OCH/charter/passenger/src/main/res/layout/m1_devices_unlock.xml
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/OCH/charter/passenger/src/main/res/layout/m1_main_fragment.xml b/OCH/charter/passenger/src/main/res/layout/m1_main_fragment.xml
index ad454095d7..34c8d162de 100644
--- a/OCH/charter/passenger/src/main/res/layout/m1_main_fragment.xml
+++ b/OCH/charter/passenger/src/main/res/layout/m1_main_fragment.xml
@@ -36,38 +36,11 @@
android:id="@+id/aciv_map_2_default"
android:layout_width="@dimen/dp_148"
android:layout_height="@dimen/dp_150"
+ android:layout_marginBottom="-15dp"
android:src="@drawable/bus_p_overmap_reset"
app:layout_constraintBottom_toTopOf="@+id/bb_boorombar"
app:layout_constraintEnd_toEndOf="parent" />
-
-
-
-
-
-
+
+
+
+
+
\ No newline at end of file
diff --git a/OCH/charter/passenger/src/main/res/values/color.xml b/OCH/charter/passenger/src/main/res/values/color.xml
index ca22013238..c0a5c39c1e 100644
--- a/OCH/charter/passenger/src/main/res/values/color.xml
+++ b/OCH/charter/passenger/src/main/res/values/color.xml
@@ -51,4 +51,5 @@
#CCFFFFFF
#80FFFFFF
#F0E0EFFF
+ #66000000
\ No newline at end of file