From ce884072c97ba84a3a2ef70be1cb3d694d4c09ba Mon Sep 17 00:00:00 2001 From: yangyakun Date: Thu, 17 Aug 2023 09:48:30 +0800 Subject: [PATCH] [5.0.0] [lock screen] --- .../bus/passenger/ui/lockview/LockManager.kt | 71 ++++++++ .../ui/lockview/LockViewConstrainLayout.kt | 74 +++++++++ .../bus/passenger/ui/lockview/UnLockView.kt | 106 ++++++++++++ .../passenger/ui/orderinfo/OrderInfoView.kt | 9 -- .../utils/animutils/AnimationsContainer.kt | 152 ++++++++++++++++++ .../res/drawable-nodpi/charter_p_lock.png | Bin 0 -> 6615 bytes .../res/drawable-nodpi/charter_p_lock_bg.png | Bin 0 -> 17997 bytes .../res/drawable-nodpi/charter_p_unlock.png | Bin 0 -> 7033 bytes .../main/res/drawable-nodpi/open_lock_000.png | Bin 0 -> 150 bytes .../main/res/drawable-nodpi/open_lock_001.png | Bin 0 -> 303 bytes .../main/res/drawable-nodpi/open_lock_002.png | Bin 0 -> 401 bytes .../main/res/drawable-nodpi/open_lock_003.png | Bin 0 -> 484 bytes .../main/res/drawable-nodpi/open_lock_004.png | Bin 0 -> 539 bytes .../main/res/drawable-nodpi/open_lock_005.png | Bin 0 -> 593 bytes .../main/res/drawable-nodpi/open_lock_006.png | Bin 0 -> 626 bytes .../main/res/drawable-nodpi/open_lock_007.png | Bin 0 -> 650 bytes .../main/res/drawable-nodpi/open_lock_008.png | Bin 0 -> 681 bytes .../main/res/drawable-nodpi/open_lock_009.png | Bin 0 -> 703 bytes .../main/res/drawable-nodpi/open_lock_010.png | Bin 0 -> 688 bytes .../main/res/drawable-nodpi/open_lock_011.png | Bin 0 -> 693 bytes .../main/res/drawable-nodpi/open_lock_012.png | Bin 0 -> 690 bytes .../main/res/drawable-nodpi/open_lock_013.png | Bin 0 -> 696 bytes .../main/res/drawable-nodpi/open_lock_014.png | Bin 0 -> 663 bytes .../main/res/drawable-nodpi/open_lock_015.png | Bin 0 -> 669 bytes .../main/res/drawable-nodpi/open_lock_016.png | Bin 0 -> 653 bytes .../main/res/drawable-nodpi/open_lock_017.png | Bin 0 -> 685 bytes .../main/res/drawable-nodpi/open_lock_018.png | Bin 0 -> 673 bytes .../main/res/drawable-nodpi/open_lock_019.png | Bin 0 -> 661 bytes .../main/res/drawable-nodpi/open_lock_020.png | Bin 0 -> 671 bytes .../main/res/drawable-nodpi/open_lock_021.png | Bin 0 -> 691 bytes .../main/res/drawable-nodpi/open_lock_022.png | Bin 0 -> 718 bytes .../main/res/drawable-nodpi/open_lock_023.png | Bin 0 -> 713 bytes .../src/main/res/layout/m1_main_fragment.xml | 39 +++-- .../passenger/src/main/res/values/arrays.xml | 31 ++++ 34 files changed, 463 insertions(+), 19 deletions(-) create mode 100644 OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/ui/lockview/LockManager.kt create mode 100644 OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/ui/lockview/LockViewConstrainLayout.kt create mode 100644 OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/ui/lockview/UnLockView.kt create mode 100644 OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/utils/animutils/AnimationsContainer.kt create mode 100644 OCH/charter/passenger/src/main/res/drawable-nodpi/charter_p_lock.png create mode 100644 OCH/charter/passenger/src/main/res/drawable-nodpi/charter_p_lock_bg.png create mode 100644 OCH/charter/passenger/src/main/res/drawable-nodpi/charter_p_unlock.png create mode 100755 OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_000.png create mode 100755 OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_001.png create mode 100755 OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_002.png create mode 100755 OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_003.png create mode 100755 OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_004.png create mode 100755 OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_005.png create mode 100755 OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_006.png create mode 100755 OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_007.png create mode 100755 OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_008.png create mode 100755 OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_009.png create mode 100755 OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_010.png create mode 100755 OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_011.png create mode 100755 OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_012.png create mode 100755 OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_013.png create mode 100755 OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_014.png create mode 100755 OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_015.png create mode 100755 OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_016.png create mode 100755 OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_017.png create mode 100755 OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_018.png create mode 100755 OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_019.png create mode 100755 OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_020.png create mode 100755 OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_021.png create mode 100755 OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_022.png create mode 100755 OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_023.png create mode 100644 OCH/charter/passenger/src/main/res/values/arrays.xml 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 new file mode 100644 index 0000000000..b87b227900 --- /dev/null +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/ui/lockview/LockManager.kt @@ -0,0 +1,71 @@ +package com.mogo.och.bus.passenger.ui.lockview + +import android.os.Handler +import android.os.HandlerThread +import android.os.Message +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger +import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant +import java.util.concurrent.ConcurrentHashMap + +object LockManager { + + @Volatile + private var isLock:Boolean = false + private var handler:Handler?=null + + private const val TAG = "LockManager" + + private var mLockChnageListener = ConcurrentHashMap() + + fun startLoop4Lock(){ + val frequentThread = HandlerThread("frequent_drawer") + frequentThread.start() + handler = object : Handler(frequentThread.looper) { + override fun handleMessage(msg: Message) { + super.handleMessage(msg) + CallerLogger.d(SceneConstant.M_BUS_P + TAG, "2分钟没有触摸屏幕导致锁屏") + setLock(true) + } + } + reStartCountDown() + } + + fun stopLoop4Lock(){ + handler?.looper?.quitSafely() + handler = null + } + + fun setAutoStatusCallback(tag: String, callback: LockStatusCallback?) { + if (tag.isBlank()) return + if (callback == null) { + mLockChnageListener.remove(tag) + return + } + mLockChnageListener[tag] = callback + } + + + fun reStartCountDown(){ + handler?.removeMessages(1) + handler?.sendEmptyMessageDelayed(1,120_000) + } + + @Synchronized + fun isLocak():Boolean{ + CallerLogger.d(TAG,"锁定状态:${isLock}") + return isLock + } + @Synchronized + fun setLock(isLock: Boolean){ + if(this.isLock!=isLock){ + this.isLock = isLock + mLockChnageListener.forEach { + it.value.lockStatusChange(this.isLock) + } + } + } + + interface LockStatusCallback { + fun lockStatusChange(isLock: Boolean) + } +} \ 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 new file mode 100644 index 0000000000..2d1865a42e --- /dev/null +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/ui/lockview/LockViewConstrainLayout.kt @@ -0,0 +1,74 @@ +package com.mogo.och.bus.passenger.ui.lockview + +import android.content.Context +import android.util.AttributeSet +import android.view.MotionEvent +import androidx.constraintlayout.widget.ConstraintLayout +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger +import com.mogo.och.bus.passenger.R + +class LockViewConstrainLayout : ConstraintLayout { + + private val TAG = "LockView" + + 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 acivScreenLock:UnLockView?=null + + override fun onAttachedToWindow() { + super.onAttachedToWindow() + LockManager.startLoop4Lock() + } + + override fun onDetachedFromWindow() { + super.onDetachedFromWindow() + LockManager.stopLoop4Lock() + } + + override fun onInterceptTouchEvent(event: MotionEvent?): Boolean { + if (acivScreenLock == null) { + acivScreenLock = findViewById(R.id.aciv_screen_lock) + } + + 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", "不拦截") + } + } + } + CallerLogger.d("LockViewConstrainLayout", "是否拦截 ${needInterceptTouch}") + return if(needInterceptTouch) { + if(LockManager.isLocak()){ + + true + }else{ + super.onInterceptTouchEvent(event) + } + }else{ + false + } + } + + +} \ 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..be7d30d297 --- /dev/null +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/ui/lockview/UnLockView.kt @@ -0,0 +1,106 @@ +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/orderinfo/OrderInfoView.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/ui/orderinfo/OrderInfoView.kt index 19fa1fec2a..9dd947ecbf 100644 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/ui/orderinfo/OrderInfoView.kt +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/ui/orderinfo/OrderInfoView.kt @@ -33,15 +33,6 @@ class OrderInfoView : ConstraintLayout, OrderInfoViewModel.ItineraryViewCallback defStyleAttr ) - constructor( - context: Context, - attributeSet: AttributeSet, - defStyleAttr: Int, - defStyleRes: Int - ) : super(context, attributeSet, defStyleAttr, defStyleRes){ - initView() - } - var goneViewListener: IClearViewCallback?=null var viewModel:OrderInfoViewModel?=null diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/utils/animutils/AnimationsContainer.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/utils/animutils/AnimationsContainer.kt new file mode 100644 index 0000000000..f6144be7fd --- /dev/null +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/utils/animutils/AnimationsContainer.kt @@ -0,0 +1,152 @@ +package com.mogo.och.taxi.passenger.widget.animutils + +import android.graphics.Bitmap +import android.graphics.BitmapFactory +import android.graphics.drawable.BitmapDrawable +import android.os.Handler +import android.os.Looper +import android.widget.ImageView +import com.mogo.commons.AbsMogoApplication +import java.lang.ref.SoftReference + +class AnimationsContainer(resId: Int, fps: Int, imageView: ImageView) { + private lateinit var mFrames: IntArray // 帧数组 + private var mIndex = 0 // 当前帧 + private var mShouldRun = false // 开始/停止播放用 + private var mIsRunning = false // 动画是否正在播放,防止重复播放 + private var mSoftReferenceImageView: SoftReference? = null // 软引用ImageView,以便及时释放掉 + private var mHandler: Handler? = null + private var mDelayMillis = 0 + private var mOnAnimationStoppedListener: OnAnimationStoppedListener? = null//播放停止监听 + private var mBitmap: Bitmap? = null + private var mBitmapOptions: BitmapFactory.Options? = null //Bitmap管理类,可有效减少Bitmap的OOM问题 + + init { + createAnimation(imageView, getData(resId), fps) + } + + private fun createAnimation(imageView: ImageView, frames: IntArray, fps: Int) { + mHandler = Handler(Looper.myLooper()!!) + mFrames = frames + mIndex = -1 + mSoftReferenceImageView = SoftReference(imageView) + mShouldRun = false + mIsRunning = false + mDelayMillis = 1000 / fps //帧动画时间间隔,毫秒 + imageView.setImageResource(mFrames[0]) + + // 当图片大小类型相同时进行复用,避免频繁GC + val bmp = (imageView.drawable as BitmapDrawable).bitmap + val width = bmp.width + val height = bmp.height + val config = bmp.config + mBitmap = Bitmap.createBitmap(width, height, config) + mBitmapOptions = BitmapFactory.Options() + //设置Bitmap内存复用 + mBitmapOptions!!.inBitmap = mBitmap //Bitmap复用内存块,类似对象池,避免不必要的内存分配和回收 + mBitmapOptions!!.inMutable = true //解码时返回可变Bitmap + mBitmapOptions!!.inSampleSize = 1 //缩放比例 + } + + //循环读取下一帧 + private val next: Int + get() { + mIndex++ + if (mIndex >= mFrames.size) mIndex = 0 + return mFrames[mIndex] + } + + @Synchronized + fun reStart(){ + mIndex = 0 + start() + } + + /** + * 播放动画,同步锁防止多线程读帧时,数据安全问题 + */ + @Synchronized + fun start() { + mShouldRun = true + if (mIsRunning) return + val runnable: Runnable = object : Runnable { + override fun run() { + val imageView = mSoftReferenceImageView!!.get() + if (!mShouldRun || imageView == null) { + mIsRunning = false + if (mOnAnimationStoppedListener != null) { + mOnAnimationStoppedListener!!.AnimationStopped() + } + return + } + mIsRunning = true + //新开线程去读下一帧 + mHandler!!.postDelayed(this, mDelayMillis.toLong()) + if (imageView.isShown) { + val imageRes: Int = next + if (mBitmap != null) { // so Build.VERSION.SDK_INT >= 11 + var bitmap: Bitmap? = null + try { + bitmap = BitmapFactory.decodeResource( + imageView.resources, + imageRes, + mBitmapOptions + ) + } catch (e: Exception) { + e.printStackTrace() + } + if (bitmap != null) { + imageView.setImageBitmap(bitmap) + } else { + imageView.setImageResource(imageRes) + mBitmap!!.recycle() + mBitmap = null + } + } else { + imageView.setImageResource(imageRes) + } + } + } + } + mHandler!!.post(runnable) + } + + /** + * 停止播放 + */ + @Synchronized + fun stop() { + mShouldRun = false + } + + /** + * 设置停止播放监听 + * @param listener 设置监听 + */ + fun setOnAnimStopListener(listener: OnAnimationStoppedListener?) { + mOnAnimationStoppedListener = listener + } + + /** + * 从xml中读取帧数组 + * @param resId + * @return + */ + private fun getData(resId: Int): IntArray { + val array = AbsMogoApplication.getApp().resources.obtainTypedArray(resId) + val len = array.length() + val intArray = IntArray(array.length()) + for (i in 0 until len) { + intArray[i] = array.getResourceId(i, 0) + } + array.recycle() + return intArray + } + + /** + * 停止播放监听 + */ + interface OnAnimationStoppedListener { + fun AnimationStopped() + } +} \ No newline at end of file diff --git a/OCH/charter/passenger/src/main/res/drawable-nodpi/charter_p_lock.png b/OCH/charter/passenger/src/main/res/drawable-nodpi/charter_p_lock.png new file mode 100644 index 0000000000000000000000000000000000000000..6099b5f6b63b3226bdec65f17dfe521f6d0b6933 GIT binary patch literal 6615 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 V?F7DQk0}5E002ovPDHLkV1l5M;F$mb literal 0 HcmV?d00001 diff --git a/OCH/charter/passenger/src/main/res/drawable-nodpi/charter_p_lock_bg.png b/OCH/charter/passenger/src/main/res/drawable-nodpi/charter_p_lock_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..0d50a648037be63f7f3f64784a4067dadecdaea2 GIT binary patch literal 17997 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 XzD}zHr0I8+00000NkvXXu0mjf!}wzE literal 0 HcmV?d00001 diff --git a/OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_000.png b/OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_000.png new file mode 100755 index 0000000000000000000000000000000000000000..07584d2e005e4755412755afef834712a5144e47 GIT binary patch literal 150 zcmeAS@N?(olHy`uVBq!ia0vp^Q6S913?xsr#TWu9(Ey(iS0Ekv?LQDjefS>*WPAaU zuRcGL0ZOo!1o;IsT&Ps~RFKzotuY%Yr0MD67!q;#?I}ZE1_KTTgH0)1A6n`?GajgH nDSy0a`r_Ehe~p345*D+)W@RY5upmbP0l+XkKg%mYj literal 0 HcmV?d00001 diff --git a/OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_001.png b/OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_001.png new file mode 100755 index 0000000000000000000000000000000000000000..4349516af917a0a4070458eb5c14d732148ebfac GIT binary patch literal 303 zcmeAS@N?(olHy`uVBq!ia0vp^Q6S903?%u>HW~n_*Z`jpS0Ekv^?&5I|4~5l>;IT< zATkO}#(~8_vS0s4eES~(B)|TT{_#KZ^Z&>%AVHum5Cg0jqAc?J|L`v$?LgCFKK%bb zz48Un0{N04zhH(Bk1E4>ZuTk)zIt}|!aiG3&Ns(4t(?}Hmlzf3EhQz*vDg}@G|AJ& zF(l&f+jGZxk2vrgaPXWxSATx;|I}TbrVrScGc+~Lo^@zS`OcR2_wP@cb3W+qe&cN2 zWACPJbAS5Uf~WSjP3YBUyWSS{td75PJVaW2$*uq|iM#sTK!c$m<_SwSJJTwu9N7sV N5l>e?mvv4FO#q4|ld1p! literal 0 HcmV?d00001 diff --git a/OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_002.png b/OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_002.png new file mode 100755 index 0000000000000000000000000000000000000000..5dbbd6d4d24f0347af34e06c63c07a96b2a75692 GIT binary patch literal 401 zcmeAS@N?(olHy`uVBq!ia0vp^Q6S903?%u>HW~n_x&WULSCHVh|Iy$6M*`7T5Q_Q? zX27^0k#ArGl>Gr!15p|K?SI_Q|A}9a^a6DOxnKTA0m<+GBf&;R0Zjm#46*`f*Jltn z25hVZw@5qC1zIIRe!&cZq8~3G<$L|??!m1yBa~UrpRKPHWRuZg#I>=jG*opHW~n_$pJngu0T5S>;K4a|D(SCkN);Q z{>%TEkN<%p5n#cXZy+`lf!RQ1aFLiF|D(PjxIjZ9!Cas@Kt>eUOo)0Q8?Fn)fOCQB z!R%5BG0fzr1l>y{)w1tJ4c+PVH?@ z3-on1*F3jt#oW^T%!Jr*57Xn7?Q4_g12v!bba4!cIQ;g~_KD1f0xlOBH*{Z(%68O! z|Ea%EkNH5z#TViS%6D4g6DOwF46N{6Qvzn*u;&nF#)>TFeI$?7L<9tAupl;xWD?O#XM^8=T^O*i0p zG}j_RU!7x#tIU^IS1Mg?x}MM8k--G?1PuK6#CY-&Pqcqj%2be$r>mdKI;Vst0C!FL A?*IS* literal 0 HcmV?d00001 diff --git a/OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_004.png b/OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_004.png new file mode 100755 index 0000000000000000000000000000000000000000..e2f4c2d849e2d72a1ed39487db400515deb789b5 GIT binary patch literal 539 zcmeAS@N?(olHy`uVBq!ia0vp^Q6S903?%u>HW~n_X#qYVu0T5O%m0|~|D(VDkA$IE z7y~5o4Iv%@7LNjpKuKhkaQ2t~Kv`r1f#yKegG~GOKMKf&pl|x%n8Qb2ev-H>)j9OSp7nYwly8SCYriFT3sA z_IZ=Wr-kvcqV|hEJpI<1THzD+Z1(CyyQZE0XRuGp`g2Oxk~N{H4qDWG*|_JwmpSw2 zHA%tcf-TOR99`cOnO-jV)kgPUBB(9P+ag}{_3}T8C%P8b~DM`+WwZc vphVm{r9nB&I?P1BQNW2qu?0$;u>Zs8r7vJBnd5N*7?up4u6{1-oD!M<5+N4W literal 0 HcmV?d00001 diff --git a/OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_005.png b/OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_005.png new file mode 100755 index 0000000000000000000000000000000000000000..6968c68033f51f53b1c3130617d720d252063166 GIT binary patch literal 593 zcmeAS@N?(olHy`uVBq!ia0vp^Q6S903?%u>HW~n_IRQQ)u0T5W>;L%A|0BQskNgTk zQ7{z!?SC{x1Skb$gSm;HpvvItK~mpgf)KqxkuP8on3+H|Kx2U>K+Oj-zWk5-_CNk7 zLL*QFssOAPs6Kb<*%?6hnUn3O>_R4E1_nk0PZ!6Kh{JC$T+L;56kxq*eR}hm zGhb%B`BVJ4J^047oR$78OPPKzezUqEx4CJ{nPa{Qlji$A-BO3qGN>bEO` z>G-zx z5GWQ|x*+jeEt8bjmG7(>K7pGWk3E~kOd`3*5JYVJ|Cs%$q3{RZXIBD%Vb9>{ L>gTe~DWM4f4az$J literal 0 HcmV?d00001 diff --git a/OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_006.png b/OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_006.png new file mode 100755 index 0000000000000000000000000000000000000000..3ea261d7a6dc6332ab35fb7346715d61b0ae4382 GIT binary patch literal 626 zcmeAS@N?(olHy`uVBq!ia0vp^Q6S903?%u>HW~n_X#qYVu0T5W`~QS5|D(SCkNWmM z`uqP#Ami)**l+)1zy6Q;0^&w|`yUBJUqK{L3do2CGQeygHx8yH>N`Rfq!@_6+JPz| zdVwT_9SycF4lEu4HWs2DB>Uxm#Fziqrzsc$U1n4g#cgY6 z*TnmHXh}@zceb;Z`FLb;cUx0QUS_DOqR5_#$5&4$uUNR{%qKnu2F6HF7srr@!*4Gg zpZeH9#N{Frr_{x2eXENdn{0oon@>KN6S4Xj?*rL6huS~=j>)-w?t67&#`EP%*KN)j`9F}a{8X}WJ#?y^kNZ%?13nmiP#%$|AD+|$3GdDg{~ zI+53}o|2v8CsOt;HqZNRrbYb1{L{w&ZZWaM?mbopU=%TUy85}S Ib4q9e0MfER=>Px# literal 0 HcmV?d00001 diff --git a/OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_007.png b/OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_007.png new file mode 100755 index 0000000000000000000000000000000000000000..c6ea721ddaae08cd233a957400a945193b239a4c GIT binary patch literal 650 zcmeAS@N?(olHy`uVBq!ia0vp^Q6S903?%u>HW~n_-T&;KL8{*MBpZy*vV1>`~yNaWl9XrQuhFhQ^ypfaFFkQ%r+oDCEK3xW*%0x}R` z8l3&*|8s3g3!sDaOM?7@891f+h2>53*_XQ|Df8@})fMWkE%B-@+Qw4-;KQ58*G+0I z$h#5^_ot<{ z{yaJHM3%&_x(z`I)u$?6OHJFWc;v53Rd!@sShGX_!%ZR&H5?RHZFnK(ovB`U(=|}@ zpu!%dE+<~Lr>>u4Bm#Qwe!X>cfyD09sTUJIy#4xoxrakyer~ju!H>gFYd+Q(tavo% zepbMV=y~pT8mq2rzPHTX_+~$=PSXeM?H@nT!p4fJ&^u z877h1GMnQIJT{%b$lR)7cU;@zkV5KTkH0?sq8eW+z1RafD!r5oTwXq$*09K4riism zvDPNCnn!NAgos)#`;wA5`_vh^^lz|>YOFeMw_$<7@4HJJ1m(((vxrW&fcJ6;)6QFYRC7X~ctIY925PGiv ao7FK&{Kkgs6I+3C$l&Sf=d#Wzp$Pz7$w1}+ literal 0 HcmV?d00001 diff --git a/OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_008.png b/OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_008.png new file mode 100755 index 0000000000000000000000000000000000000000..e2219294b79bd1ff2944944853fb251ef903de47 GIT binary patch literal 681 zcmeAS@N?(olHy`uVBq!ia0vp^Q6S903?%u>HW~n_$pJngu0T5W+yD5l|6{=@21tJT zANBP=kP-6@#EAU%Kk_SB1k8Z2LE>NkM?*xwB#<2q7KEq=Dfm)U=$)cYC*gnRn-Z z$!zDA8}j>^1&%ZvNZ9<-@U)PV#UUjX?&F#rI3zW-i^z z(l}vW)HK(d3O~&9Z!Zd9VwraLT=C^K3oaa+kydy>Ky+Pp6ert4x$o79&5jx7=Y3h& z7T&ShUA-Wna+)M3m%e}Sb*AQ}pA1a+B-U8Y31a2C=(9bb`H*+Mxwwp#jZAug#rNj< zoB%^@xDIiqgLNaWQ_tMe&(5T2J8rZ-@I7zmrIjVX#O>qTMzdtyRN^!E^L9u zs&`tB8^4K%y?$0D$)eHaZIcy{5*yR3-2FJ2rAwucf5C;{3I&deyBC-*@ObgTe~DWM4f D>RwL^ literal 0 HcmV?d00001 diff --git a/OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_009.png b/OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_009.png new file mode 100755 index 0000000000000000000000000000000000000000..5e233dd0a8d2bd2e623a4f1531b9470fdfce45d3 GIT binary patch literal 703 zcmeAS@N?(olHy`uVBq!ia0vp^Q6S903?%u>HW~n_X#qYVu0T5W%m2h5|Kq;?j{zef zH}>2ANFe(9KME-F?SC|o@#TLsknsZ~2tiTb{sR$E3zQ4i3zvlpqKE*seElE&9i$Or zGD!B@{|GP%Vt)Zi0T~_@lOFga77tFxU$|I>DEO0j4+E`yjmaC~M#NSTy=yWHw z_qW$BF7@2MYs=h%w4@j}@kduCdcWvtH|u74_mzQxaha!!V@Sl|x7XWyUmFOpTu^ik zvP?fYZStheck7G)*9jIMV60-*5o>1LcqDD}PthQ+kIqew9Ix#!eYo-Oprl@_VR$l& z#FEr0L1vnwOBbCuk}%=A$LkK`XofLFkceebtFFu1>7zR9_A zo_wQIi>shSK!oGvEruFX$}`q25IFcthehL!sr{4(7b2fY2Hc37w(*o~%ISk_u5T{YpD$C`P4PsskYiHHh-`ToAqHn79!GLR5 zJFmQ2T4Xn;j%91{92NYHW~n_-TAgo5VxVSz}D0N4X(awHwSAoT^YWngqIiB zE?Y3GqbSGg)ShVh4-fBLKQ<*@M|m3q1LI;(7srr@!*8!#?|tkb;&L&|{k^SbRZv=r z+W!w>jvMOADws5EVoao#Uw-*zzt980_%*ent7mN0eRFKv!G%)iH?wNAq(<^)Mps5v zKL|J`aqVvJ%3fZ+zZEkiL^c-2GV|T;jo}w@a-Yb}Cm1@Ft-WjxmrCeMiGmrMQs%Cm zv*^kKf&M)m2NFehK5kr8xGAQ2@u{+~iB`9{3p#95L^pcxyuLtS=@dN+t;+PH>vpf( z;P~*AUhskqyBy3GTqxq!4VaO@?Xh<4Z!J@eR|&i#8egV)1-;Jje*d6iNp427(tp2Z zCBErPMG`u8tCl(huJ_DpTohHu%+FK!W41@YixNMNm2*?omTr4$a#vL1PRbu$2SLB& z?B;{n?V8NZlOAu_kx(F9e?ycb#NfwTw#E~GX3KL4RJ=WVUq`^^*6sAN0}6lp^^;}J z@BV!~nxU=c&HCb&$C00|efR8ryt20DyYsq&9ck73Gji3QdZ*bldsR8f4W+w=HIdZdhyl*E+;?lHW~n_2?0JKu0T5B>;Jef|D(VCkN^HZ z_WS>6Fgxb!|ERD3qrd(KGJq)Z+y5va0y4mCAUE<0SmX;>1R@S5A<95nfZBn|fCwTB zVSq(|YJh?fU@M@qKsM08@BeL&JJkW*WKa_17tFxQtIN(Qq9Nd~AT4nz!+LsaS-gvb z#p}n%=7oEzG#KyMF|lAtcXsl}+gmrSU0IV*%U;CKz`(e~)5S3);_%z+;eBfi1X>>! z9k?-L&a5j(&Sievzx#Ie4m1=T9)*Yu-K-o@mRSZB1zRR5EU`UwENq{= z5S#cT4+SRa6a5Yz{duaFy>s7nv1iVaH;g}gWYm#6~ zx{oHOl8nzGP9=$|h+Xfsn-c0Ss<%x1^Jl?5fnr^zrVVQEbRB2ThWk%@j*E=|!CY-c5He=z}X{o}FAvZ0Oo`3r&c&65}Zu{Fg*7I))e-v`Pc-cb!rv5IoF1bGUv|Hvk zjd$IDzg{W9@9@=YTYWFPEI%~K`SK2v_VxKcUKtm8^tRuAd%HH}na0VL2KjmI-(nR0 iS?AicZ27JIk8yvF#M4zv*iHfCn!(f6&t;ucLK6UcRboH@ literal 0 HcmV?d00001 diff --git a/OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_012.png b/OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_012.png new file mode 100755 index 0000000000000000000000000000000000000000..5f86bf3902349dbc8a5935f2fe1d0e64e548bdd9 GIT binary patch literal 690 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 IbxsLQ0MD*ZhyVZp literal 0 HcmV?d00001 diff --git a/OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_016.png b/OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_016.png new file mode 100755 index 0000000000000000000000000000000000000000..3b2f0eb470a385e200dd27318a57d36f93410fa0 GIT binary patch literal 653 zcmeAS@N?(olHy`uVBq!ia0vp^Q6S903?%u>HW~n_mH?j+S0Ekz^?%%#{|R6J$9(+{ zVt@S~31ol!ANB2j^!NX9-$2|bpde5LECo~({RJcl6agWyAd~^;LbO1nU}WqUkQES( zK*NEi0ZAY?tw%r^=nkEdAirP+J~j?vd2VBkI7!iUe!J5mf|YCXT~974w|sPAPNUO@ zSGT55(%0$l@UlI$#d~Rq76SugkEe@cNW|f{H@2^Pq9D@nu=yn0oZ>#=`~UxLyPIUX zEnWYT?vJb=tt=u8eUB|bsJOTNpj3Azzs&JMAes}e{gCsIzabyYmk$riJ%$gIYm+ej5z&LZ+%%%BHPoDTycJ0&c zP3-e8l+J6GsSQp$)7<}RY3^wWy~7+2n@z-a<(B$Aka80^T#ypc?bIHAn#ItfrB$y> z;f}4vY2|%NJm(%{eyGwvzd7;A?|n|{;fpqv3zP)Sk?iAKdd0m!tTX>$w0_%z!xK9_ zRvaprH+{*{Yq41`jz@asI0ZC46q>p`YI>@C@u7dUt^!YMZnL@;%#{Bgd$aWWtBsm0 z_wGkJnB1ISde+?Wf%J@Le=q62o)u>F?9TEN>Mg5W-keW7(Vl*`oHgFLG~{mn_TPKo zZ}w?3n&x(_Fz1Z&`ke|N;td`JMucY03Jaaqx^PNhiX8tu8JQiIr#oFa<`SslJB9zS qn#N(dKQcWtn2t&m{m8bg=d#Wzp$PzXs!PfM literal 0 HcmV?d00001 diff --git a/OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_017.png b/OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_017.png new file mode 100755 index 0000000000000000000000000000000000000000..42ba59b5e4e4bffb2c5b65ae5b34c84e3baf7b80 GIT binary patch literal 685 zcmeAS@N?(olHy`uVBq!ia0vp^Q6S903?%u>HW~n_-TUgbeElE$?SIs_|B*lvEEWCjKL~-vBftJfAfOsB7pM%V03i<61=J1^L6L$8 zg3Sl&iU4Z=_J3{i0ehf>^h<*Lf*DwN*f}kQqzvT5GQ#{!oYa;1C)K<>yn5b@r1)Fg zdRlBBoZ6%F;nI@wqP(erZqcpZbITYQ7#DcDIEF+VetZ3T*IfgV)`x3fDS5x!EBE`0 z(fj`u7h@GBJg}U}dvd}1YabqSD{eVZD03Ww9Njn+5_xoeB^LbrdHH|vt)FcxJ}`8y z(|12$I5m~uB5(O+7lxy&ZF)rlSPo}?U~mte*2K{DC*Ypyf*02|ePwLjA+wDmpyK-B zN;Z)kOPMfEjUN^~g6tySvoeGo5@#)ZrJ1nc@6S6D4imRMU!~B{c=Yuy&I2D;Tr*=3 zS+>&bDI=TE)zH6=jLp}3qd%uKDDKF6%=+>X->1Ty3Ac{#S@(Gc6Vs#frM8)!9~Y_p z+q(0~Tz7-Az^eS&?hh~TO+1%iF8MUq`ej1=j3TDrA5-g|?Cg5lXYiEAu9@|&jc==v zV!QoVo9W7lyTdfzwwDW> z|FZq|+jYC_%#NEpnK?yr>qQ0MNh-WKGleUJAFk}15)^ygJ?eEtM7P1d`Ylfll0TFm zI`X3bL{-+`s-xWk$EM}}&73SJelGuo`JaHq*FQFg RZULj2!PC{xWt~$(69DduVio`Z literal 0 HcmV?d00001 diff --git a/OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_018.png b/OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_018.png new file mode 100755 index 0000000000000000000000000000000000000000..7048cf4ac0e099cad900707851c0ad23b51e0910 GIT binary patch literal 673 zcmeAS@N?(olHy`uVBq!ia0vp^Q6S903?%u>HW~n_-T7S07q0TDIIqrWJ5?)E&N>5 zMS%{|FA4GsW?<#!6caF((v?ehQL+=dSmdRpI-xnt&)wqM!C74ud5ItPt(reI>hA_Z!c{xy5k_=dQpzOr!l_b{q@iP?frN6xP)pdUesbO z-sG3}Vb#G+I;SD%*K(%dzylMnZs#hvvwSnZ#k$KXjPAB`MHejiTJo^LDfawACXtgh z^CoVacKT`C7saBzcf1@PZk?{yw%Fj)@AfV7iG?x0PG7w$Z`s;BLI1kIwTTQOYHPx| zG%6&{$pm~b%bBpx|HX!vjP5sMg2e+)eA}g<>$EuSnn=JA@5yQnhkTz`A7nWCZ$~Lt zz>eF0^Eeiqknay;;M!iTBNZS}AG?h!px|#!n%sg3H;ZMN4>R&zWE9)h-$}8U=a~gao>QKs!aX2u?P^#o% z0n_ov8?RNFdo~Due^e+_tjzpF+Udb;m!wa&=egsx4xX4Fc}$`)U)kp4<3%0b_dRXQ z6Iuk^>^T)*yl$BTIJ`LjNIaZZa_@hgGit literal 0 HcmV?d00001 diff --git a/OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_019.png b/OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_019.png new file mode 100755 index 0000000000000000000000000000000000000000..c0cf67e8669bf40d83f03e15e372af9dc7a60513 GIT binary patch literal 661 zcmeAS@N?(olHy`uVBq!ia0vp^Q6S903?%u>HW~n_mH?j+S0Ekt<$v^-|MB1c$9x5$ zsIUKHzy6Q=`9JR4|LAZ3BY`47DG2);NERppM?fwFK}CQHz*<0Dm|ma)ps^q>L<+6| zY)UsWnlw`>8GC-?TpczzTY|5(Bo6|%jQLyx6LhC7e(ky9y_nzCXyZJAnU-?!7#cvGRB z6wq>a?S=&bcdf-2+&H`YhQq@@HAVa)i9Zu#?bJ_xmXrBv8_%k-=$&15z>&*$H3EJt z)3yodSfw3Sup~He*8+iM66Yh292CF%zh`f;TclUb%`+9Jlr9}Kua{izA@q$QB}?s^ zRN(;-3n~xkSnI#qaxL_@8mgY4HN_7p*nGcxCW(^>bP0l+XkKMS(|i literal 0 HcmV?d00001 diff --git a/OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_020.png b/OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_020.png new file mode 100755 index 0000000000000000000000000000000000000000..e1f1876d2192c6f80dfb5230770637b5601a0a3e GIT binary patch literal 671 zcmeAS@N?(olHy`uVBq!ia0vp^Q6S903?%u>HW~n__5hy{S0J7A?SK5Y|FPfy#{kK% z|6{-XkNWaI=F9)+um5Ad{*U_hKk^%h9SLN^NDu=k4&egT0}+@F5do4Ba1od?kQA5= zHRL-&d*qk@%&YP^fKJgZ3GxeO;9!;16XNEV)e!YIQ<@skoMpXd>(bN&O%w8m=lrMEAiI4bTo+1se>cX=*@>nFe43?dI} z&N&C{cx`?CLC0sC$qOz_=YG90bfUhZ#*y54$&6gJbFG=VX2*)_I|k};zjof0qiM79 zuDENOgW#Q8>r}RuUQgu`Ib<(a_`$wW|GR$mo2u^llOCP^q;^x!yKdewakt}7bVUKI>j0$@G6K!JG(dWN~?jkqKd>5uGweb|7N$^Bc6Xeu6Z#qdKo-j L{an^LB{Ts5G?7jR literal 0 HcmV?d00001 diff --git a/OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_021.png b/OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_021.png new file mode 100755 index 0000000000000000000000000000000000000000..fa1bdc528af1e02be468b6cd69500eee39194ff9 GIT binary patch literal 691 zcmeAS@N?(olHy`uVBq!ia0vp^Q6S903?%u>HW~n_-Tqklz&_VhoL4LsutO8sXQeu1@#o>;Ma>99PJ8J`NjUTR_t^0n-v_5Zl z&0ClDPfAUUd3JJhN5+xnCRZtO1_s7uo-U3d5r^Miaql~9Ai#1UO~6&_d4}h?o4@}* zU%OHN!@=4Jhf+1E=4S~TqSl7Ro97D``1r~-Ddx2=F>~zvI4qw!n=K`|77A zbR7TtcBR7tz4qHH4n8Q|F1?&j^vU|OVmw7wGE4>>cjY{syG_pfGx4OIIxZlRSgo(3 zq4)ip=c~mT*1TOgm;K~4e&v;LN*uY<+sM>xQGS<)tMr|jl!(?{8>N65k0MeQ7`*$@ z;h1>$iA_Mo%fl0Q`T5!VH975?Kjq3+d66}|j*&}jHF93eVQcq`O?8|&_Y#B5GugL| zhvMfgmymh*a}BG;qtljO922K;ug(c^4B!r!VYDJb+-rI&OJB~+NcqkzKI4FnipWet%=O WWZ<$@pDlrr&EVHW~n_nE^f_u0T5B$N%_m|6{)XkNyfG zBZ274|CsOpqrQPe;=cWl{rW%l)BnhCAgL&zESLdg0~N;s#esrg?I4XnDKG+xKoM9F zs0*k#<_Fktpa@tHY8T8jsId@@U;l^2uG0cK&bTDVFPMRqlUt?DSqi1zbvHq}wTdZg6b;KSYxOD6Z$B;|yZFFMJYBLqmwWF@R<_lr&9~%Qc%Ft)6h};Wz6$YOO7ikEGIXuZ>+Q=%Za$f2y5n*~yP} zHuF|-JUe^-O-8xYG0x-XHtl9-+IxD_w)}*7^7sAt*;x+$E7>%ejpgydMn=n z!E>9%9$Yvr)2Mu9i literal 0 HcmV?d00001 diff --git a/OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_023.png b/OCH/charter/passenger/src/main/res/drawable-nodpi/open_lock_023.png new file mode 100755 index 0000000000000000000000000000000000000000..a6c2645eb33936671eb135f6b49ec13012e8ed91 GIT binary patch literal 713 zcmeAS@N?(olHy`uVBq!ia0vp^Q6S903?%u>HW~n_X#qYVu0T5R^Z(dy|6{-i$cX&{ z;zoY`9}N@%vcLXM`2IioD~Jsggrg{+nlJyO;3D5Z>Vbkl5jY7H0V0qVAPHkc!F54I zzW$GZC;)4On9nh#_zloyMkPUh!3-?ylKfmeqB#btLabV{hbL5qSz9P}-ddmP<6<&1 zA;$j0qb&`^fgZ0etX#67<@CNw+n;|H1L|hn;OXKR5^?zLRr8`J4h+l=Jr6HbZ~n4m z%RTS^|L^41y;KnT&8Q(Fl<+zH#g6ZrwgqlW{=4Ys-gkQO@w-{YEFJ&n#NVHOTK(ti zsM|hz%f9?ho_=puo=1Z3+oikvzf7FZd|hyZTI8}X&(-%ncYb?7?YRBB`0LrPd!@=w zex9=LQuV__X4h{oe;*z0zQN~6`}gYmbKZvc{aN-m_p`(`&i@zQec#Od`_bXGwINL3 zRDb@R7ApAW^1a9ZbR@H9BvqL-H`WHu^u6iXyx`pO96rYd({)aZN*qg{b~J%w_cBXw zfezF9DlVQZyC+K-8dvnSw+36;JUt%Tp!lKBc=?u?{(A>Bb*;{OI|!bMOLW*+c30zI zLR%iE!@^%X!xwmTr4}4eXj-J}-{N@0$+y*0S;mAL(RhUDF)Zq|C|0+_zy}Y=Oko z6&xa$e5Ww;t)0Tw&U4p*slCwono>}^l!{xskjy1Rw}!`)WgDGcg19DdNH)50 - @@ -42,14 +42,33 @@ app:layout_constraintBottom_toTopOf="@+id/bb_boorombar" app:layout_constraintEnd_toEndOf="parent" /> - - + + + + + - \ No newline at end of file + \ No newline at end of file diff --git a/OCH/charter/passenger/src/main/res/values/arrays.xml b/OCH/charter/passenger/src/main/res/values/arrays.xml new file mode 100644 index 0000000000..75bc4c91eb --- /dev/null +++ b/OCH/charter/passenger/src/main/res/values/arrays.xml @@ -0,0 +1,31 @@ + + + + @drawable/open_lock_000 + @drawable/open_lock_001 + @drawable/open_lock_002 + @drawable/open_lock_003 + @drawable/open_lock_004 + @drawable/open_lock_005 + @drawable/open_lock_006 + @drawable/open_lock_007 + @drawable/open_lock_008 + @drawable/open_lock_009 + + @drawable/open_lock_010 + @drawable/open_lock_011 + @drawable/open_lock_012 + @drawable/open_lock_013 + @drawable/open_lock_014 + @drawable/open_lock_015 + @drawable/open_lock_016 + @drawable/open_lock_017 + @drawable/open_lock_018 + @drawable/open_lock_019 + + @drawable/open_lock_020 + @drawable/open_lock_021 + @drawable/open_lock_022 + @drawable/open_lock_023 + + \ No newline at end of file