From 455f699ba3206023dd50fd0f3e392f81fa126852 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Mon, 23 Dec 2024 19:10:04 +0800 Subject: [PATCH] =?UTF-8?q?[6.9.0]=20[fea]=20[=E7=A6=BB=E7=BA=BF=E6=B5=81?= =?UTF-8?q?=E7=A8=8B]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/src/main/res/values/colors.xml | 1 + .../com/mogo/och/data/db/bean/LineDataBean.kt | 2 +- .../mogo/och/offline/ShuttleDriverProvider.kt | 3 + .../com/mogo/och/offline/model/LineModel.kt | 6 +- .../offline/repository/RepositoryManager.kt | 5 +- .../repository/db/bean/TaskSiteDataBean.kt | 3 +- .../repository/db/repository/TaskDb.kt | 137 +++++++++++------- .../repository/db/repository/TaskSiteDb.kt | 1 + .../net/bean/BindLineListResponse.kt | 65 ++++++--- .../offline/ui/switchline/SwitchLineView.kt | 7 +- .../offline/ui/switchline/SwtichLineModel.kt | 26 ++++ .../drawable/offline_switch_line_selected.xml | 4 +- .../layout/offline_switch_line_list_item.xml | 14 +- 13 files changed, 180 insertions(+), 94 deletions(-) diff --git a/OCH/common/common/src/main/res/values/colors.xml b/OCH/common/common/src/main/res/values/colors.xml index 1cc590f1cb..d21dae923a 100644 --- a/OCH/common/common/src/main/res/values/colors.xml +++ b/OCH/common/common/src/main/res/values/colors.xml @@ -33,6 +33,7 @@ #19FF7F #2EACFF + #4D2EACFF #3B4577 #232A3F diff --git a/OCH/common/data/src/main/java/com/mogo/och/data/db/bean/LineDataBean.kt b/OCH/common/data/src/main/java/com/mogo/och/data/db/bean/LineDataBean.kt index f2398be509..f7dc4d69c3 100644 --- a/OCH/common/data/src/main/java/com/mogo/och/data/db/bean/LineDataBean.kt +++ b/OCH/common/data/src/main/java/com/mogo/och/data/db/bean/LineDataBean.kt @@ -21,7 +21,7 @@ data class LineDataBean( * 线路名称 */ @ColumnInfo(name = "line_name", typeAffinity = ColumnInfo.TEXT) - @SerializedName("name") + @SerializedName("name", alternate = ["lineName"]) var lineName: String? = null, /** diff --git a/OCH/offline/driver/src/main/java/com/mogo/och/offline/ShuttleDriverProvider.kt b/OCH/offline/driver/src/main/java/com/mogo/och/offline/ShuttleDriverProvider.kt index f17f98c9ca..1691cffb96 100644 --- a/OCH/offline/driver/src/main/java/com/mogo/och/offline/ShuttleDriverProvider.kt +++ b/OCH/offline/driver/src/main/java/com/mogo/och/offline/ShuttleDriverProvider.kt @@ -11,6 +11,7 @@ import com.mogo.och.common.module.constant.OchCommonConst import com.mogo.och.common.module.biz.provider.CommonServiceImpl import com.mogo.och.bridge.autopilot.autopilot.OchAutopilotAnalytics import com.mogo.och.bridge.ui.autopilot.AutopilotState +import com.mogo.och.offline.model.LineModel import com.mogo.och.offline.ui.bizswitch.SwitchBizView import com.mogo.och.offline.ui.fragment.OfflineFragment import com.mogo.och.offline.util.BusAnalyticsManager @@ -37,12 +38,14 @@ class ShuttleDriverProvider : CommonServiceImpl() { } OchAutopilotAnalytics.ochEventKey = BusAnalyticsManager.getInstance() OffLineTrajectoryManager.load() + LineModel.init() return busFragment!! } override fun resetFragment() { OchAutopilotAnalytics.ochEventKey = null OffLineTrajectoryManager.release() + LineModel.release() busFragment = null } diff --git a/OCH/offline/driver/src/main/java/com/mogo/och/offline/model/LineModel.kt b/OCH/offline/driver/src/main/java/com/mogo/och/offline/model/LineModel.kt index 3f70f3481e..6fff4fbb99 100644 --- a/OCH/offline/driver/src/main/java/com/mogo/och/offline/model/LineModel.kt +++ b/OCH/offline/driver/src/main/java/com/mogo/och/offline/model/LineModel.kt @@ -58,10 +58,10 @@ object LineModel { private val context = AbsMogoApplication.getApp() // 判断接口是否变化 - private const val EXECUTABLECHANGEMD5 = "EXECUTABLECHANGEMD5" + private const val EXECUTABLECHANGEMD5 = "EXECUTABLECHANGEMD5_offline" // 展示上一次刷新时间 - const val EXECUTABLECHANGETIME = "executablechangetime" + const val EXECUTABLECHANGETIME = "executablechangetime_offLine" var currentTask: TaskDataBean? = null @@ -208,7 +208,7 @@ object LineModel { fun commitSwitchLineId(task: TaskDataBean, line: LineDataBean) { RxUtils.disposeSubscribe(startTaskDisposable) line.getLineIdAndName { lineId, lineName -> - RepositoryManager.startTask(task.taskId?:0, lineId, lineName) + RepositoryManager.startTask(task, lineId, lineName) ?.subscribeOn(Schedulers.io()) ?.observeOn(AndroidSchedulers.mainThread()) ?.subscribe(object : Observer { diff --git a/OCH/offline/driver/src/main/java/com/mogo/och/offline/repository/RepositoryManager.kt b/OCH/offline/driver/src/main/java/com/mogo/och/offline/repository/RepositoryManager.kt index 7f4a1afcdd..f0bb9e89c0 100644 --- a/OCH/offline/driver/src/main/java/com/mogo/och/offline/repository/RepositoryManager.kt +++ b/OCH/offline/driver/src/main/java/com/mogo/och/offline/repository/RepositoryManager.kt @@ -15,6 +15,7 @@ import com.mogo.och.data.bean.SiteIntroduce import com.mogo.och.data.db.bean.LineDataBean import com.mogo.och.offline.model.LineModel import com.mogo.och.offline.model.LineModel.currentTask +import com.mogo.och.offline.repository.db.bean.TaskDataBean import com.mogo.och.offline.repository.db.bean.TaskSiteDataBean import com.mogo.och.offline.repository.db.repository.ContraiDb import com.mogo.och.offline.repository.db.repository.LineDb @@ -33,8 +34,8 @@ object RepositoryManager { return LineDb.queryCanUseLineRx() } - fun startTask(taskId:Long,lineId:Long,lineName:String): Observable? { - return TaskDb.startTask(taskId, lineId, lineName) + fun startTask(task: TaskDataBean, lineId:Long, lineName:String): Observable? { + return TaskDb.startTask(task, lineId, lineName) } fun queryCarExecutableTaskList(ochCommonServiceCallback: OchCommonServiceCallback) { diff --git a/OCH/offline/driver/src/main/java/com/mogo/och/offline/repository/db/bean/TaskSiteDataBean.kt b/OCH/offline/driver/src/main/java/com/mogo/och/offline/repository/db/bean/TaskSiteDataBean.kt index 4aed607ed7..8688ddcadf 100644 --- a/OCH/offline/driver/src/main/java/com/mogo/och/offline/repository/db/bean/TaskSiteDataBean.kt +++ b/OCH/offline/driver/src/main/java/com/mogo/och/offline/repository/db/bean/TaskSiteDataBean.kt @@ -129,11 +129,12 @@ data class TaskSiteDataBean( /** * 开始任务 并把第一站置为 2 当前站 */ - fun toTaskSiteDatas(querySites: List, lineName: String): MutableList { + fun toTaskSiteDatas(querySites: List,taskId:Long, lineName: String): MutableList { val result = mutableListOf() var temp: TaskSiteDataBean? querySites.forEach { temp = TaskSiteDataBean() + temp?.taskId = taskId temp?.lineId = it.lineId temp?.lineName = lineName temp?.siteId = it.siteId diff --git a/OCH/offline/driver/src/main/java/com/mogo/och/offline/repository/db/repository/TaskDb.kt b/OCH/offline/driver/src/main/java/com/mogo/och/offline/repository/db/repository/TaskDb.kt index 97e3c8d5f4..986833dd86 100644 --- a/OCH/offline/driver/src/main/java/com/mogo/och/offline/repository/db/repository/TaskDb.kt +++ b/OCH/offline/driver/src/main/java/com/mogo/och/offline/repository/db/repository/TaskDb.kt @@ -19,7 +19,7 @@ object TaskDb : IDbRepository { private var taskDataDao: TaskDataDao? = null get() { - if(field==null){ + if (field == null) { field = MyDataBase.instance?.taskDataDao register() } @@ -30,17 +30,17 @@ object TaskDb : IDbRepository { taskDataDao = null } - fun addOrUpdate(vararg lineDataBean: TaskDataBean){ + fun addOrUpdate(vararg lineDataBean: TaskDataBean) { // 从接口恢复数据 taskDataDao?.insert(*lineDataBean) } fun addOrUpdate(serverDateList: List, lineId: Long?) { - val runable = object :Runnable { + val runable = object : Runnable { override fun run() { taskDataDao?.let { taskDataDao -> val localTasks = taskDataDao.querySitesByLineId(lineId) - if(localTasks==null){ + if (localTasks == null) { taskDataDao.insert(*serverDateList.toTypedArray()) // TODO: Ui展示需要动态刷新UI去 return @@ -61,11 +61,11 @@ object TaskDb : IDbRepository { val needSaveTask = mutableListOf() // 删除任务 needMinusDatas.forEach { - if(it.status==TaskDataBean.useing||it.status==TaskDataBean.used){ + if (it.status == TaskDataBean.useing || it.status == TaskDataBean.used) { needSaveTask.add(it) } } - val failneedMinusDatas = needMinusDatas-needSaveTask + val failneedMinusDatas = needMinusDatas - needSaveTask taskDataDao.delete(*failneedMinusDatas.toTypedArray()) } } @@ -75,49 +75,84 @@ object TaskDb : IDbRepository { } - fun startTask(taskId: Long, lineId: Long,lineName:String): Observable? { - return Observable.just(taskId) + fun startTask(task: TaskDataBean, lineId: Long, lineName: String): Observable? { + return Observable.just(task) .flatMap { - var updateCount:Int? = 0 - var startTime = System.currentTimeMillis() - try { - // 更新task状态 - taskDataDao?.queryTaskByTaskIdOne(taskId)?.let { - it.startTime = System.currentTimeMillis() - it.status = TaskDataBean.useing - // 更新任务状态 - taskDataDao?.updateStatus(System.currentTimeMillis(),TaskDataBean.useing,it.id) - OchChainLogManager.writeChainLogDb("开始任务", "变更线路:${lineId}_${lineName}_task:${taskId} 为正在使用的状态") - } - CallerLogger.d(TAG,"更新任务状态用时:${System.currentTimeMillis()-startTime}") - startTime = System.currentTimeMillis() - updateCount = TaskSiteDb.startTask(taskId, lineId, lineName) - OchChainLogManager.writeChainLogDb("开始任务", "把正在使用的数据更新到RunningTask表格一共${updateCount}行数据") - CallerLogger.d(TAG,"插入正在运行的线路用时:${System.currentTimeMillis()-startTime}") - } catch (e: Exception) { - if (e is DbException) { - println("数据不全") - // 恢复数据 - taskDataDao?.queryTaskByTaskIdOne(taskId)?.let { + addOrUpdate(task) + val taskID = task.taskId?:0 + var updateCount: Int? = 0 + var startTime = System.currentTimeMillis() + try { + // 更新task状态 + taskDataDao?.queryTaskByTaskIdOne(taskID)?.let { it.startTime = System.currentTimeMillis() - it.status = TaskDataBean.unUse + it.status = TaskDataBean.useing // 更新任务状态 - taskDataDao?.updateStatus(System.currentTimeMillis(),TaskDataBean.unUse,it.id) - OchChainLogManager.writeChainLogDb("开始任务", "异常情况${lineId}_${lineName}_task:${taskId} 为未使用的状态 原因:${e.message}") + taskDataDao?.updateStatus( + System.currentTimeMillis(), + TaskDataBean.useing, + it.id + ) + OchChainLogManager.writeChainLogDb( + "开始任务", + "变更线路:${lineId}_${lineName}_task:${taskID} 为正在使用的状态" + ) + } + CallerLogger.d( + TAG, + "更新任务状态用时:${System.currentTimeMillis() - startTime}" + ) + startTime = System.currentTimeMillis() + updateCount = TaskSiteDb.startTask(taskID, lineId, lineName) + OchChainLogManager.writeChainLogDb( + "开始任务", + "把正在使用的数据更新到RunningTask表格一共${updateCount}行数据" + ) + CallerLogger.d( + TAG, + "插入正在运行的线路用时:${System.currentTimeMillis() - startTime}" + ) + } catch (e: Exception) { + if (e is DbException) { + println("数据不全") + // 恢复数据 + taskDataDao?.queryTaskByTaskIdOne(task.taskId ?: 0)?.let { + it.startTime = System.currentTimeMillis() + it.status = TaskDataBean.unUse + // 更新任务状态 + taskDataDao?.updateStatus( + System.currentTimeMillis(), + TaskDataBean.unUse, + it.id + ) + OchChainLogManager.writeChainLogDb( + "开始任务", + "异常情况${lineId}_${lineName}_task:${taskID} 为未使用的状态 原因:${e.message}" + ) + } + } + return@flatMap Observable.error( + DataException( + DataException.startTaskErrorCode, + e.message ?: "" + ) + ) + } + updateCount?.let { + if (it <= 0) { + // 插入失败 + return@flatMap Observable.error( + DataException( + DataException.startTaskErrorCode, + "未插入数据" + ) + ) + } else { + // 开始任务成功 + return@flatMap Observable.just(true) } } - return@flatMap Observable.error(DataException(DataException.startTaskErrorCode,e.message?:"")) } - updateCount?.let { - if(it<=0){ - // 插入失败 - return@flatMap Observable.error(DataException(DataException.startTaskErrorCode,"未插入数据")) - }else{ - // 开始任务成功 - return@flatMap Observable.just(true) - } - } - } } @@ -143,35 +178,35 @@ object TaskDb : IDbRepository { fun endTask(taskId: Long) { - BizLoopManager.runInIoThread{ + BizLoopManager.runInIoThread { taskDataDao?.endTask(taskId) } } - fun deleteObsoleteData(){ + fun deleteObsoleteData() { taskDataDao?.deleteObsoleteData()?.let { - OchChainLogManager.writeChainLogDb("删除临时数据","Task删除数量:${it}") + OchChainLogManager.writeChainLogDb("删除临时数据", "Task删除数量:${it}") } } fun saveRunningInfo(lineId: Int, taskId: Int, taskTime: Long) { val runningTask = taskDataDao?.queryTaskByTaskIdOne(taskId.toLong()) - if (runningTask==null) { + if (runningTask == null) { val taskDataBean = TaskDataBean() taskDataBean.taskId = taskId.toLong() taskDataBean.lineId = lineId.toLong() taskDataBean.status = TaskDataBean.useing taskDataDao?.insert(taskDataBean) - }else{ + } else { runningTask.status = TaskDataBean.useing taskDataDao?.insert(runningTask) } } fun endTaskByOther(taskId: Long) { - BizLoopManager.runInIoThread{ + BizLoopManager.runInIoThread { val taskInfo = taskDataDao?.queryTaskByTaskIdOne(taskId) - if(taskInfo!=null){ + if (taskInfo != null) { if (taskInfo.status == TaskDataBean.unUse) { taskDataDao?.endTask(taskId) } @@ -185,7 +220,7 @@ object TaskDb : IDbRepository { it.startTime = System.currentTimeMillis() it.status = TaskDataBean.useing // 更新任务状态 - taskDataDao?.updateStatus(System.currentTimeMillis(),TaskDataBean.useing,it.id) + taskDataDao?.updateStatus(System.currentTimeMillis(), TaskDataBean.useing, it.id) OchChainLogManager.writeChainLogDb("恢复任务", "线路任务改为正在执行的状态") } } diff --git a/OCH/offline/driver/src/main/java/com/mogo/och/offline/repository/db/repository/TaskSiteDb.kt b/OCH/offline/driver/src/main/java/com/mogo/och/offline/repository/db/repository/TaskSiteDb.kt index a833f02ad4..59fe4ec27e 100644 --- a/OCH/offline/driver/src/main/java/com/mogo/och/offline/repository/db/repository/TaskSiteDb.kt +++ b/OCH/offline/driver/src/main/java/com/mogo/och/offline/repository/db/repository/TaskSiteDb.kt @@ -45,6 +45,7 @@ object TaskSiteDb : IDbRepository { startTime = System.currentTimeMillis() val toTaskSiteDatas = TaskSiteDataBean.toTaskSiteDatas( querySites, + taskId, lineName ) CallerLogger.d(TAG, "数据转换用时:${System.currentTimeMillis() - startTime}") diff --git a/OCH/offline/driver/src/main/java/com/mogo/och/offline/repository/net/bean/BindLineListResponse.kt b/OCH/offline/driver/src/main/java/com/mogo/och/offline/repository/net/bean/BindLineListResponse.kt index ba501933bc..5db5f411f4 100644 --- a/OCH/offline/driver/src/main/java/com/mogo/och/offline/repository/net/bean/BindLineListResponse.kt +++ b/OCH/offline/driver/src/main/java/com/mogo/och/offline/repository/net/bean/BindLineListResponse.kt @@ -1,36 +1,63 @@ package com.mogo.och.offline.repository.net.bean import com.mogo.eagle.core.data.BaseData -import com.mogo.och.data.bean.BusRoutesResult -import com.mogo.och.data.bean.BusStationBean -import java.util.* - +import com.mogo.eagle.core.utilcode.util.GsonUtils +import com.mogo.och.data.bean.SiteIntroduce +import com.mogo.och.data.db.bean.ContrailDataBean +import com.mogo.och.data.db.bean.LineDataBean +import com.mogo.och.data.db.bean.SiteDataBean +import com.mogo.och.offline.repository.db.repository.ContraiDb +import com.mogo.och.offline.repository.db.repository.LineDb +import com.mogo.och.offline.repository.db.repository.SiteDb /** * */ data class BindLineListResponse(val data: List?) : BaseData(){ data class Result( - var line: LineInfo?, - var siteList: List?,//站点名称 - val contrail: Contrail?,//站点名称 + var line: LineDataBean?, + var siteList: List?,//站点名称 + val contrail: ContrailDataBean?,//站点名称 ) - data class LineInfo( - val lineId:Long?, - var lineName:String?, - ) - - data class Contrail( - val csvFileUrl:String?, - val csvFileMd5:String?, - val txtFileUrl:String?, - val txtFileMd5:String?, - val contrailSaveTime:Long?, - ) companion object{ fun save2Db(data: BindLineListResponse) { + val lineList = mutableListOf() + val contrailList = mutableListOf() + val siteList = mutableListOf() + data.data?.forEach { dataInfo-> + var lineId:Long?=null + dataInfo.line?.let { lineInfo-> + val tempLineInfo = LineDataBean() + lineId = lineInfo.lineId + tempLineInfo.lineId = lineInfo.lineId + tempLineInfo.lineName = lineInfo.lineName + tempLineInfo.endStationName = dataInfo.siteList?.last()?.name?:"" + lineList.add(tempLineInfo) + } + dataInfo.contrail?.let { contrailInfo-> + contrailInfo.lineId = lineId + contrailList.add(contrailInfo) + } + dataInfo.siteList?.let {siteListInfo-> + siteListInfo.forEach { + it.lineId = lineId + val videoInfoList = mutableListOf() + it.videoList?.forEach { videoInfoIt-> + videoInfoList.add(videoInfoIt) + } + if(videoInfoList.isNotEmpty()) { + it.videoListDB = GsonUtils.toJson(videoInfoList) + } + } + siteList.addAll(siteListInfo) + } + } + + LineDb.checkAndUpdate(lineList) + ContraiDb.addOrUpdate(contrailList) + SiteDb.addOrUpdate(siteList) } } } diff --git a/OCH/offline/driver/src/main/java/com/mogo/och/offline/ui/switchline/SwitchLineView.kt b/OCH/offline/driver/src/main/java/com/mogo/och/offline/ui/switchline/SwitchLineView.kt index 771d37d22d..85b7ed1501 100644 --- a/OCH/offline/driver/src/main/java/com/mogo/och/offline/ui/switchline/SwitchLineView.kt +++ b/OCH/offline/driver/src/main/java/com/mogo/och/offline/ui/switchline/SwitchLineView.kt @@ -76,7 +76,7 @@ class SwitchLineView: WindowRelativeLayout, SwtichLineModel.SwtichLineViewCallba mAdapter.setOnLineItemClickListener(object : SwitchLineAdapter.LineItemClickListener{ override fun onItemClick(data: LineDataBean) { CallerLogger.d(TAG,"选择线路 线路信息:${data}") - + viewModel?.changeLineStart(data) } }) @@ -95,7 +95,6 @@ class SwitchLineView: WindowRelativeLayout, SwtichLineModel.SwtichLineViewCallba override fun reload() { viewbizModel?.showSwitchLineInfo() } - } } @@ -105,6 +104,7 @@ class SwitchLineView: WindowRelativeLayout, SwtichLineModel.SwtichLineViewCallba fun loadingDatas() { CallerLogger.d(TAG,"加载线路去") viewModel?.queryBusLines(true) + viewModel?.setRefreshTime() } override fun onAttachedToWindow() { @@ -168,6 +168,9 @@ class SwitchLineView: WindowRelativeLayout, SwtichLineModel.SwtichLineViewCallba animator?.cancel() } },dex,UiThreadHandler.MODE.QUEUE,) + } + + override fun showLoading() { } diff --git a/OCH/offline/driver/src/main/java/com/mogo/och/offline/ui/switchline/SwtichLineModel.kt b/OCH/offline/driver/src/main/java/com/mogo/och/offline/ui/switchline/SwtichLineModel.kt index 6b99e9c8ce..f72b35848d 100644 --- a/OCH/offline/driver/src/main/java/com/mogo/och/offline/ui/switchline/SwtichLineModel.kt +++ b/OCH/offline/driver/src/main/java/com/mogo/och/offline/ui/switchline/SwtichLineModel.kt @@ -1,14 +1,18 @@ package com.mogo.och.offline.ui.switchline import androidx.lifecycle.ViewModel +import com.mogo.commons.storage.SharedPrefsMgr import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_BUS +import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.och.common.module.utils.DateTimeUtil import com.mogo.och.common.module.utils.RxUtils import com.mogo.och.data.db.bean.LineDataBean import com.mogo.och.offline.callback.IBusLinesCallback import com.mogo.och.offline.model.LineModel +import com.mogo.och.offline.model.LineModel.EXECUTABLECHANGETIME import com.mogo.och.offline.repository.RepositoryManager +import com.mogo.och.offline.repository.db.bean.TaskDataBean import io.reactivex.Observer import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.disposables.Disposable @@ -77,6 +81,28 @@ class SwtichLineModel : ViewModel(), IBusLinesCallback { fun onBusLinesChange(data: MutableList?, show:Boolean) fun refreshDate(formatLongToString: String?) fun onBusLinesChangeFaile() + fun showLoading() + } + + fun changeLineStart(checkTask:LineDataBean) { + if(checkTask==null){ + ToastUtils.showShort("请重新选择线路") + return + } + val newTask = TaskDataBean() + newTask.taskId = System.currentTimeMillis() + newTask.lineId = checkTask.lineId + newTask.startTime = System.currentTimeMillis() + newTask.status = TaskDataBean.unUse + newTask.taskgetTime = System.currentTimeMillis() + LineModel.commitSwitchLineId(newTask,checkTask) + } + + fun setRefreshTime() { + val lastUpdateTime = SharedPrefsMgr.getInstance().getLong(EXECUTABLECHANGETIME, -1) + if(lastUpdateTime>0){ + this.onRefreshSuccess(lastUpdateTime) + } } override fun onRefreshSuccess(currentTimeStamp: Long) { diff --git a/OCH/offline/driver/src/main/res/drawable/offline_switch_line_selected.xml b/OCH/offline/driver/src/main/res/drawable/offline_switch_line_selected.xml index c236e4a6e4..07ce82f3ab 100644 --- a/OCH/offline/driver/src/main/res/drawable/offline_switch_line_selected.xml +++ b/OCH/offline/driver/src/main/res/drawable/offline_switch_line_selected.xml @@ -1,8 +1,6 @@ - + \ No newline at end of file diff --git a/OCH/offline/driver/src/main/res/layout/offline_switch_line_list_item.xml b/OCH/offline/driver/src/main/res/layout/offline_switch_line_list_item.xml index dd6aa34bc6..cdb24cba27 100644 --- a/OCH/offline/driver/src/main/res/layout/offline_switch_line_list_item.xml +++ b/OCH/offline/driver/src/main/res/layout/offline_switch_line_list_item.xml @@ -17,16 +17,6 @@ android:layout_marginStart="@dimen/dp_30" android:layout_height="@dimen/dp_30"/> - - \ No newline at end of file